diff --git a/Gemfile b/Gemfile
index eb00d2363..fa5ba421f 100644
--- a/Gemfile
+++ b/Gemfile
@@ -9,18 +9,18 @@ NON_WINDOWS_PLATFORMS = [:ruby] # C Ruby (MRI), Rubinius or TruffleRuby, but NOT
group :development do
gem "bundler", "~> 2.4.2"
- gem "debug", "~> 1.8", require: false
- gem "minitest", "~> 5.20"
+ gem "debug", "~> 1.9", require: false
+ gem "minitest", "~> 5.22"
gem "minitest-reporters", "~> 1.6"
gem "mocha", "~> 2.1"
- gem "rake", "~> 13.0"
- gem "rubocop", "~> 1.56"
- gem "rubocop-shopify", "~> 2.14", require: false
- gem "rubocop-minitest", "~> 0.31.1", require: false
+ gem "rake", "~> 13.1"
+ gem "rubocop", "~> 1.60"
+ gem "rubocop-shopify", "~> 2.15", require: false
+ gem "rubocop-minitest", "~> 0.34.5", require: false
gem "rubocop-rake", "~> 0.6.0", require: false
gem "rubocop-sorbet", "~> 0.7", require: false
gem "sorbet-static-and-runtime", platforms: NON_WINDOWS_PLATFORMS
- gem "tapioca", "~> 0.11", require: false, platforms: NON_WINDOWS_PLATFORMS
+ gem "tapioca", "~> 0.12", require: false, platforms: NON_WINDOWS_PLATFORMS
gem "rdoc", require: false
gem "psych", "~> 5.1", require: false
end
diff --git a/Gemfile.lock b/Gemfile.lock
index cfd3b6fdc..bdfebfd25 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -12,20 +12,18 @@ GEM
specs:
ansi (1.5.0)
ast (2.4.2)
- base64 (0.1.1)
builder (3.2.4)
- debug (1.8.0)
- irb (>= 1.5.0)
- reline (>= 0.3.1)
- diff-lcs (1.5.0)
+ debug (1.9.1)
+ irb (~> 1.10)
+ reline (>= 0.3.8)
erubi (1.12.0)
- io-console (0.6.0)
- irb (1.8.0)
- rdoc (~> 6.5)
- reline (>= 0.3.6)
- json (2.6.3)
+ io-console (0.7.2)
+ irb (1.11.2)
+ rdoc
+ reline (>= 0.4.2)
+ json (2.7.1)
language_server-protocol (3.17.0.3)
- minitest (5.20.0)
+ minitest (5.22.2)
minitest-reporters (1.6.1)
ansi
builder
@@ -34,82 +32,77 @@ GEM
mocha (2.1.0)
ruby2_keywords (>= 0.0.5)
netrc (0.11.0)
- parallel (1.23.0)
- parser (3.2.2.3)
+ parallel (1.24.0)
+ parser (3.3.0.5)
ast (~> 2.4.1)
racc
prettier_print (1.2.1)
- psych (5.1.0)
+ prism (0.24.0)
+ psych (5.1.2)
stringio
- racc (1.7.1)
+ racc (1.7.3)
rainbow (3.1.1)
- rake (13.0.6)
- rbi (0.0.17)
- ast
- parser (>= 3.0.0)
+ rake (13.1.0)
+ rbi (0.1.9)
+ prism (>= 0.18.0, < 0.25)
sorbet-runtime (>= 0.5.9204)
- unparser (>= 0.5.6)
- rdoc (6.5.0)
+ rdoc (6.6.2)
psych (>= 4.0.0)
- regexp_parser (2.8.1)
- reline (0.3.8)
+ regexp_parser (2.9.0)
+ reline (0.4.2)
io-console (~> 0.5)
rexml (3.2.6)
- rubocop (1.56.2)
- base64 (~> 0.1.1)
+ rubocop (1.60.2)
json (~> 2.3)
language_server-protocol (>= 3.17.0)
parallel (~> 1.10)
- parser (>= 3.2.2.3)
+ parser (>= 3.3.0.2)
rainbow (>= 2.2.2, < 4.0)
regexp_parser (>= 1.8, < 3.0)
rexml (>= 3.2.5, < 4.0)
- rubocop-ast (>= 1.28.1, < 2.0)
+ rubocop-ast (>= 1.30.0, < 2.0)
ruby-progressbar (~> 1.7)
unicode-display_width (>= 2.4.0, < 3.0)
- rubocop-ast (1.29.0)
+ rubocop-ast (1.30.0)
parser (>= 3.2.1.0)
- rubocop-minitest (0.31.1)
+ rubocop-minitest (0.34.5)
rubocop (>= 1.39, < 2.0)
+ rubocop-ast (>= 1.30.0, < 2.0)
rubocop-rake (0.6.0)
rubocop (~> 1.0)
- rubocop-shopify (2.14.0)
+ rubocop-shopify (2.15.1)
rubocop (~> 1.51)
- rubocop-sorbet (0.7.3)
+ rubocop-sorbet (0.7.7)
rubocop (>= 0.90.0)
ruby-progressbar (1.13.0)
ruby2_keywords (0.0.5)
- sorbet (0.5.11011)
- sorbet-static (= 0.5.11011)
- sorbet-runtime (0.5.11011)
- sorbet-static (0.5.11011-universal-darwin)
- sorbet-static (0.5.11011-x86_64-linux)
- sorbet-static-and-runtime (0.5.11011)
- sorbet (= 0.5.11011)
- sorbet-runtime (= 0.5.11011)
- spoom (1.2.2)
+ sorbet (0.5.11262)
+ sorbet-static (= 0.5.11262)
+ sorbet-runtime (0.5.11262)
+ sorbet-static (0.5.11262-universal-darwin)
+ sorbet-static (0.5.11262-x86_64-linux)
+ sorbet-static-and-runtime (0.5.11262)
+ sorbet (= 0.5.11262)
+ sorbet-runtime (= 0.5.11262)
+ spoom (1.2.4)
erubi (>= 1.10.0)
- sorbet (>= 0.5.10187)
- sorbet-runtime (>= 0.5.9204)
+ sorbet-static-and-runtime (>= 0.5.10187)
syntax_tree (>= 6.1.1)
thor (>= 0.19.2)
- stringio (3.0.7)
- syntax_tree (6.1.1)
+ stringio (3.1.0)
+ syntax_tree (6.2.0)
prettier_print (>= 1.2.0)
- tapioca (0.11.8)
+ tapioca (0.12.0)
bundler (>= 2.2.25)
netrc (>= 0.11.0)
parallel (>= 1.21.0)
- rbi (~> 0.0.0, >= 0.0.16)
- sorbet-static-and-runtime (>= 0.5.10187)
+ rbi (>= 0.1.4, < 0.2)
+ sorbet-static-and-runtime (>= 0.5.10820)
spoom (~> 1.2.0, >= 1.2.0)
thor (>= 1.2.0)
yard-sorbet
- thor (1.2.2)
- unicode-display_width (2.4.2)
- unparser (0.6.8)
- diff-lcs (~> 1.3)
- parser (>= 3.2.0)
+ thor (1.3.0)
+ unicode-display_width (2.5.0)
yard (0.9.34)
yard-sorbet (0.8.1)
sorbet-runtime (>= 0.5)
@@ -118,28 +111,26 @@ GEM
PLATFORMS
arm64-darwin
- x64-mingw-ucrt
- x64-mingw32
x86_64-darwin
x86_64-linux
DEPENDENCIES
bundler (~> 2.4.2)
- debug (~> 1.8)
- minitest (~> 5.20)
+ debug (~> 1.9)
+ minitest (~> 5.22)
minitest-reporters (~> 1.6)
mocha (~> 2.1)
psych (~> 5.1)
- rake (~> 13.0)
+ rake (~> 13.1)
rdoc
- rubocop (~> 1.56)
- rubocop-minitest (~> 0.31.1)
+ rubocop (~> 1.60)
+ rubocop-minitest (~> 0.34.5)
rubocop-rake (~> 0.6.0)
- rubocop-shopify (~> 2.14)
+ rubocop-shopify (~> 2.15)
rubocop-sorbet (~> 0.7)
ruby-lsp!
sorbet-static-and-runtime
- tapioca (~> 0.11)
+ tapioca (~> 0.12)
BUNDLED WITH
2.4.10
diff --git a/sorbet/rbi/gems/.gitattributes b/sorbet/rbi/gems/.gitattributes
new file mode 100644
index 000000000..d9bb82a4d
--- /dev/null
+++ b/sorbet/rbi/gems/.gitattributes
@@ -0,0 +1 @@
+**/*.rbi linguist-generated=true
diff --git a/sorbet/rbi/gems/base64@0.1.1.rbi b/sorbet/rbi/gems/base64@0.1.1.rbi
deleted file mode 100644
index 58bcecc24..000000000
--- a/sorbet/rbi/gems/base64@0.1.1.rbi
+++ /dev/null
@@ -1,172 +0,0 @@
-# typed: true
-
-# DO NOT EDIT MANUALLY
-# This is an autogenerated file for types exported from the `base64` gem.
-# Please instead update this file by running `bin/tapioca gem base64`.
-
-# The Base64 module provides for the encoding (#encode64, #strict_encode64,
-# #urlsafe_encode64) and decoding (#decode64, #strict_decode64,
-# #urlsafe_decode64) of binary data using a Base64 representation.
-#
-# == Example
-#
-# A simple encoding and decoding.
-#
-# require "base64"
-#
-# enc = Base64.encode64('Send reinforcements')
-# # -> "U2VuZCByZWluZm9yY2VtZW50cw==\n"
-# plain = Base64.decode64(enc)
-# # -> "Send reinforcements"
-#
-# The purpose of using base64 to encode data is that it translates any
-# binary data into purely printable characters.
-module Base64
- private
-
- # Returns the Base64-decoded version of +str+.
- # This method complies with RFC 2045.
- # Characters outside the base alphabet are ignored.
- #
- # require 'base64'
- # str = 'VGhpcyBpcyBsaW5lIG9uZQpUaGlzIG' +
- # 'lzIGxpbmUgdHdvClRoaXMgaXMgbGlu' +
- # 'ZSB0aHJlZQpBbmQgc28gb24uLi4K'
- # puts Base64.decode64(str)
- #
- # Generates:
- #
- # This is line one
- # This is line two
- # This is line three
- # And so on...
- #
- # source://base64//base64.rb#58
- def decode64(str); end
-
- # Returns the Base64-encoded version of +bin+.
- # This method complies with RFC 2045.
- # Line feeds are added to every 60 encoded characters.
- #
- # require 'base64'
- # Base64.encode64("Now is the time for all good coders\nto learn Ruby")
- #
- # Generates:
- #
- # Tm93IGlzIHRoZSB0aW1lIGZvciBhbGwgZ29vZCBjb2RlcnMKdG8gbGVhcm4g
- # UnVieQ==
- #
- # source://base64//base64.rb#38
- def encode64(bin); end
-
- # Returns the Base64-decoded version of +str+.
- # This method complies with RFC 4648.
- # ArgumentError is raised if +str+ is incorrectly padded or contains
- # non-alphabet characters. Note that CR or LF are also rejected.
- #
- # source://base64//base64.rb#73
- def strict_decode64(str); end
-
- # Returns the Base64-encoded version of +bin+.
- # This method complies with RFC 4648.
- # No line feeds are added.
- #
- # source://base64//base64.rb#65
- def strict_encode64(bin); end
-
- # Returns the Base64-decoded version of +str+.
- # This method complies with ``Base 64 Encoding with URL and Filename Safe
- # Alphabet'' in RFC 4648.
- # The alphabet uses '-' instead of '+' and '_' instead of '/'.
- #
- # The padding character is optional.
- # This method accepts both correctly-padded and unpadded input.
- # Note that it still rejects incorrectly-padded input.
- #
- # source://base64//base64.rb#98
- def urlsafe_decode64(str); end
-
- # Returns the Base64-encoded version of +bin+.
- # This method complies with ``Base 64 Encoding with URL and Filename Safe
- # Alphabet'' in RFC 4648.
- # The alphabet uses '-' instead of '+' and '_' instead of '/'.
- # Note that the result can still contain '='.
- # You can remove the padding by setting +padding+ as false.
- #
- # source://base64//base64.rb#83
- def urlsafe_encode64(bin, padding: T.unsafe(nil)); end
-
- class << self
- # Returns the Base64-decoded version of +str+.
- # This method complies with RFC 2045.
- # Characters outside the base alphabet are ignored.
- #
- # require 'base64'
- # str = 'VGhpcyBpcyBsaW5lIG9uZQpUaGlzIG' +
- # 'lzIGxpbmUgdHdvClRoaXMgaXMgbGlu' +
- # 'ZSB0aHJlZQpBbmQgc28gb24uLi4K'
- # puts Base64.decode64(str)
- #
- # Generates:
- #
- # This is line one
- # This is line two
- # This is line three
- # And so on...
- #
- # source://base64//base64.rb#58
- def decode64(str); end
-
- # Returns the Base64-encoded version of +bin+.
- # This method complies with RFC 2045.
- # Line feeds are added to every 60 encoded characters.
- #
- # require 'base64'
- # Base64.encode64("Now is the time for all good coders\nto learn Ruby")
- #
- # Generates:
- #
- # Tm93IGlzIHRoZSB0aW1lIGZvciBhbGwgZ29vZCBjb2RlcnMKdG8gbGVhcm4g
- # UnVieQ==
- #
- # source://base64//base64.rb#38
- def encode64(bin); end
-
- # Returns the Base64-decoded version of +str+.
- # This method complies with RFC 4648.
- # ArgumentError is raised if +str+ is incorrectly padded or contains
- # non-alphabet characters. Note that CR or LF are also rejected.
- #
- # source://base64//base64.rb#73
- def strict_decode64(str); end
-
- # Returns the Base64-encoded version of +bin+.
- # This method complies with RFC 4648.
- # No line feeds are added.
- #
- # source://base64//base64.rb#65
- def strict_encode64(bin); end
-
- # Returns the Base64-decoded version of +str+.
- # This method complies with ``Base 64 Encoding with URL and Filename Safe
- # Alphabet'' in RFC 4648.
- # The alphabet uses '-' instead of '+' and '_' instead of '/'.
- #
- # The padding character is optional.
- # This method accepts both correctly-padded and unpadded input.
- # Note that it still rejects incorrectly-padded input.
- #
- # source://base64//base64.rb#98
- def urlsafe_decode64(str); end
-
- # Returns the Base64-encoded version of +bin+.
- # This method complies with ``Base 64 Encoding with URL and Filename Safe
- # Alphabet'' in RFC 4648.
- # The alphabet uses '-' instead of '+' and '_' instead of '/'.
- # Note that the result can still contain '='.
- # You can remove the padding by setting +padding+ as false.
- #
- # source://base64//base64.rb#83
- def urlsafe_encode64(bin, padding: T.unsafe(nil)); end
- end
-end
diff --git a/sorbet/rbi/gems/diff-lcs@1.5.0.rbi b/sorbet/rbi/gems/diff-lcs@1.5.0.rbi
deleted file mode 100644
index 4e1f79154..000000000
--- a/sorbet/rbi/gems/diff-lcs@1.5.0.rbi
+++ /dev/null
@@ -1,1083 +0,0 @@
-# typed: true
-
-# DO NOT EDIT MANUALLY
-# This is an autogenerated file for types exported from the `diff-lcs` gem.
-# Please instead update this file by running `bin/tapioca gem diff-lcs`.
-
-# source://diff-lcs//lib/diff/lcs.rb#3
-module Diff; end
-
-# source://diff-lcs//lib/diff/lcs.rb#51
-module Diff::LCS
- # Returns the difference set between +self+ and +other+. See Diff::LCS#diff.
- #
- # source://diff-lcs//lib/diff/lcs.rb#75
- def diff(other, callbacks = T.unsafe(nil), &block); end
-
- # Returns an Array containing the longest common subsequence(s) between
- # +self+ and +other+. See Diff::LCS#lcs.
- #
- # lcs = seq1.lcs(seq2)
- #
- # A note when using objects: Diff::LCS only works properly when each object
- # can be used as a key in a Hash, which typically means that the objects must
- # implement Object#eql? in a way that two identical values compare
- # identically for key purposes. That is:
- #
- # O.new('a').eql?(O.new('a')) == true
- #
- # source://diff-lcs//lib/diff/lcs.rb#70
- def lcs(other, &block); end
-
- # Attempts to patch +self+ with the provided +patchset+. A new sequence based
- # on +self+ and the +patchset+ will be created. See Diff::LCS#patch. Attempts
- # to autodiscover the direction of the patch.
- #
- # source://diff-lcs//lib/diff/lcs.rb#101
- def patch(patchset); end
-
- # Attempts to patch +self+ with the provided +patchset+. A new sequence based
- # on +self+ and the +patchset+ will be created. See Diff::LCS#patch. Does no
- # patch direction autodiscovery.
- #
- # source://diff-lcs//lib/diff/lcs.rb#109
- def patch!(patchset); end
-
- # Attempts to patch +self+ with the provided +patchset+, using #patch!. If
- # the sequence this is used on supports #replace, the value of +self+ will be
- # replaced. See Diff::LCS#patch. Does no patch direction autodiscovery.
- #
- # source://diff-lcs//lib/diff/lcs.rb#123
- def patch_me(patchset); end
-
- # Returns the balanced ("side-by-side") difference set between +self+ and
- # +other+. See Diff::LCS#sdiff.
- #
- # source://diff-lcs//lib/diff/lcs.rb#81
- def sdiff(other, callbacks = T.unsafe(nil), &block); end
-
- # Traverses the discovered longest common subsequences between +self+ and
- # +other+ using the alternate, balanced algorithm. See
- # Diff::LCS#traverse_balanced.
- #
- # source://diff-lcs//lib/diff/lcs.rb#94
- def traverse_balanced(other, callbacks = T.unsafe(nil), &block); end
-
- # Traverses the discovered longest common subsequences between +self+ and
- # +other+. See Diff::LCS#traverse_sequences.
- #
- # source://diff-lcs//lib/diff/lcs.rb#87
- def traverse_sequences(other, callbacks = T.unsafe(nil), &block); end
-
- # Attempts to patch +self+ with the provided +patchset+. A new sequence based
- # on +self+ and the +patchset+ will be created. See Diff::LCS#patch. Attempts
- # to autodiscover the direction of the patch.
- #
- # source://diff-lcs//lib/diff/lcs.rb#101
- def unpatch(patchset); end
-
- # Attempts to unpatch +self+ with the provided +patchset+. A new sequence
- # based on +self+ and the +patchset+ will be created. See Diff::LCS#unpatch.
- # Does no patch direction autodiscovery.
- #
- # source://diff-lcs//lib/diff/lcs.rb#116
- def unpatch!(patchset); end
-
- # Attempts to unpatch +self+ with the provided +patchset+, using #unpatch!.
- # If the sequence this is used on supports #replace, the value of +self+ will
- # be replaced. See Diff::LCS#unpatch. Does no patch direction autodiscovery.
- #
- # source://diff-lcs//lib/diff/lcs.rb#134
- def unpatch_me(patchset); end
-
- class << self
- # :yields seq1[i] for each matched:
- #
- # source://diff-lcs//lib/diff/lcs.rb#144
- def LCS(seq1, seq2, &block); end
-
- # source://diff-lcs//lib/diff/lcs/callbacks.rb#52
- def callbacks_for(callbacks); end
-
- # #diff computes the smallest set of additions and deletions necessary to
- # turn the first sequence into the second, and returns a description of these
- # changes.
- #
- # See Diff::LCS::DiffCallbacks for the default behaviour. An alternate
- # behaviour may be implemented with Diff::LCS::ContextDiffCallbacks. If a
- # Class argument is provided for +callbacks+, #diff will attempt to
- # initialise it. If the +callbacks+ object (possibly initialised) responds to
- # #finish, it will be called.
- #
- # source://diff-lcs//lib/diff/lcs.rb#168
- def diff(seq1, seq2, callbacks = T.unsafe(nil), &block); end
-
- # :yields seq1[i] for each matched:
- #
- # source://diff-lcs//lib/diff/lcs.rb#144
- def lcs(seq1, seq2, &block); end
-
- # Applies a +patchset+ to the sequence +src+ according to the +direction+
- # (:patch or :unpatch), producing a new sequence.
- #
- # If the +direction+ is not specified, Diff::LCS::patch will attempt to
- # discover the direction of the +patchset+.
- #
- # A +patchset+ can be considered to apply forward (:patch) if the
- # following expression is true:
- #
- # patch(s1, diff(s1, s2)) -> s2
- #
- # A +patchset+ can be considered to apply backward (:unpatch) if the
- # following expression is true:
- #
- # patch(s2, diff(s1, s2)) -> s1
- #
- # If the +patchset+ contains no changes, the +src+ value will be returned as
- # either src.dup or +src+. A +patchset+ can be deemed as having no
- # changes if the following predicate returns true:
- #
- # patchset.empty? or
- # patchset.flatten(1).all? { |change| change.unchanged? }
- #
- # === Patchsets
- #
- # A +patchset+ is always an enumerable sequence of changes, hunks of changes,
- # or a mix of the two. A hunk of changes is an enumerable sequence of
- # changes:
- #
- # [ # patchset
- # # change
- # [ # hunk
- # # change
- # ]
- # ]
- #
- # The +patch+ method accepts patchsets that are enumerable sequences
- # containing either Diff::LCS::Change objects (or a subclass) or the array
- # representations of those objects. Prior to application, array
- # representations of Diff::LCS::Change objects will be reified.
- #
- # source://diff-lcs//lib/diff/lcs.rb#624
- def patch(src, patchset, direction = T.unsafe(nil)); end
-
- # Given a set of patchset, convert the current version to the next version.
- # Does no auto-discovery.
- #
- # source://diff-lcs//lib/diff/lcs.rb#734
- def patch!(src, patchset); end
-
- # #sdiff computes all necessary components to show two sequences and their
- # minimized differences side by side, just like the Unix utility
- # sdiff does:
- #
- # old < -
- # same same
- # before | after
- # - > new
- #
- # See Diff::LCS::SDiffCallbacks for the default behaviour. An alternate
- # behaviour may be implemented with Diff::LCS::ContextDiffCallbacks. If a
- # Class argument is provided for +callbacks+, #diff will attempt to
- # initialise it. If the +callbacks+ object (possibly initialised) responds to
- # #finish, it will be called.
- #
- # Each element of a returned array is a Diff::LCS::ContextChange object,
- # which can be implicitly converted to an array.
- #
- # Diff::LCS.sdiff(a, b).each do |action, (old_pos, old_element), (new_pos, new_element)|
- # case action
- # when '!'
- # # replace
- # when '-'
- # # delete
- # when '+'
- # # insert
- # end
- # end
- #
- # source://diff-lcs//lib/diff/lcs.rb#200
- def sdiff(seq1, seq2, callbacks = T.unsafe(nil), &block); end
-
- # #traverse_balanced is an alternative to #traverse_sequences. It uses a
- # different algorithm to iterate through the entries in the computed longest
- # common subsequence. Instead of viewing the changes as insertions or
- # deletions from one of the sequences, #traverse_balanced will report
- # changes between the sequences.
- #
- # The arguments to #traverse_balanced are the two sequences to traverse and a
- # callback object, like this:
- #
- # traverse_balanced(seq1, seq2, Diff::LCS::ContextDiffCallbacks.new)
- #
- # #sdiff is implemented with #traverse_balanced.
- #
- # == Callback Methods
- #
- # Optional callback methods are emphasized.
- #
- # callbacks#match:: Called when +a+ and +b+ are pointing to
- # common elements in +A+ and +B+.
- # callbacks#discard_a:: Called when +a+ is pointing to an
- # element not in +B+.
- # callbacks#discard_b:: Called when +b+ is pointing to an
- # element not in +A+.
- # callbacks#change:: Called when +a+ and +b+ are pointing to
- # the same relative position, but
- # A[a] and B[b] are not
- # the same; a change has
- # occurred.
- #
- # #traverse_balanced might be a bit slower than #traverse_sequences,
- # noticable only while processing huge amounts of data.
- #
- # == Algorithm
- #
- # a---+
- # v
- # A = a b c e h j l m n p
- # B = b c d e f j k l m r s t
- # ^
- # b---+
- #
- # === Matches
- #
- # If there are two arrows (+a+ and +b+) pointing to elements of sequences +A+
- # and +B+, the arrows will initially point to the first elements of their
- # respective sequences. #traverse_sequences will advance the arrows through
- # the sequences one element at a time, calling a method on the user-specified
- # callback object before each advance. It will advance the arrows in such a
- # way that if there are elements A[i] and B[j] which are
- # both equal and part of the longest common subsequence, there will be some
- # moment during the execution of #traverse_sequences when arrow +a+ is
- # pointing to A[i] and arrow +b+ is pointing to B[j]. When
- # this happens, #traverse_sequences will call callbacks#match and
- # then it will advance both arrows.
- #
- # === Discards
- #
- # Otherwise, one of the arrows is pointing to an element of its sequence that
- # is not part of the longest common subsequence. #traverse_sequences will
- # advance that arrow and will call callbacks#discard_a or
- # callbacks#discard_b, depending on which arrow it advanced.
- #
- # === Changes
- #
- # If both +a+ and +b+ point to elements that are not part of the longest
- # common subsequence, then #traverse_sequences will try to call
- # callbacks#change and advance both arrows. If
- # callbacks#change is not implemented, then
- # callbacks#discard_a and callbacks#discard_b will be
- # called in turn.
- #
- # The methods for callbacks#match, callbacks#discard_a,
- # callbacks#discard_b, and callbacks#change are invoked
- # with an event comprising the action ("=", "+", "-", or "!", respectively),
- # the indicies +i+ and +j+, and the elements A[i] and B[j].
- # Return values are discarded by #traverse_balanced.
- #
- # === Context
- #
- # Note that +i+ and +j+ may not be the same index position, even if +a+ and
- # +b+ are considered to be pointing to matching or changed elements.
- #
- # source://diff-lcs//lib/diff/lcs.rb#475
- def traverse_balanced(seq1, seq2, callbacks = T.unsafe(nil)); end
-
- # #traverse_sequences is the most general facility provided by this module;
- # #diff and #lcs are implemented as calls to it.
- #
- # The arguments to #traverse_sequences are the two sequences to traverse, and
- # a callback object, like this:
- #
- # traverse_sequences(seq1, seq2, Diff::LCS::ContextDiffCallbacks.new)
- #
- # == Callback Methods
- #
- # Optional callback methods are emphasized.
- #
- # callbacks#match:: Called when +a+ and +b+ are pointing to
- # common elements in +A+ and +B+.
- # callbacks#discard_a:: Called when +a+ is pointing to an
- # element not in +B+.
- # callbacks#discard_b:: Called when +b+ is pointing to an
- # element not in +A+.
- # callbacks#finished_a:: Called when +a+ has reached the end of
- # sequence +A+.
- # callbacks#finished_b:: Called when +b+ has reached the end of
- # sequence +B+.
- #
- # == Algorithm
- #
- # a---+
- # v
- # A = a b c e h j l m n p
- # B = b c d e f j k l m r s t
- # ^
- # b---+
- #
- # If there are two arrows (+a+ and +b+) pointing to elements of sequences +A+
- # and +B+, the arrows will initially point to the first elements of their
- # respective sequences. #traverse_sequences will advance the arrows through
- # the sequences one element at a time, calling a method on the user-specified
- # callback object before each advance. It will advance the arrows in such a
- # way that if there are elements A[i] and B[j] which are
- # both equal and part of the longest common subsequence, there will be some
- # moment during the execution of #traverse_sequences when arrow +a+ is
- # pointing to A[i] and arrow +b+ is pointing to B[j]. When
- # this happens, #traverse_sequences will call callbacks#match and
- # then it will advance both arrows.
- #
- # Otherwise, one of the arrows is pointing to an element of its sequence that
- # is not part of the longest common subsequence. #traverse_sequences will
- # advance that arrow and will call callbacks#discard_a or
- # callbacks#discard_b, depending on which arrow it advanced. If both
- # arrows point to elements that are not part of the longest common
- # subsequence, then #traverse_sequences will advance arrow +a+ and call the
- # appropriate callback, then it will advance arrow +b+ and call the appropriate
- # callback.
- #
- # The methods for callbacks#match, callbacks#discard_a, and
- # callbacks#discard_b are invoked with an event comprising the
- # action ("=", "+", or "-", respectively), the indicies +i+ and +j+, and the
- # elements A[i] and B[j]. Return values are discarded by
- # #traverse_sequences.
- #
- # === End of Sequences
- #
- # If arrow +a+ reaches the end of its sequence before arrow +b+ does,
- # #traverse_sequence will try to call callbacks#finished_a with the
- # last index and element of +A+ (A[-1]) and the current index and
- # element of +B+ (B[j]). If callbacks#finished_a does not
- # exist, then callbacks#discard_b will be called on each element of
- # +B+ until the end of the sequence is reached (the call will be done with
- # A[-1] and B[j] for each element).
- #
- # If +b+ reaches the end of +B+ before +a+ reaches the end of +A+,
- # callbacks#finished_b will be called with the current index and
- # element of +A+ (A[i]) and the last index and element of +B+
- # (A[-1]). Again, if callbacks#finished_b does not exist on
- # the callback object, then callbacks#discard_a will be called on
- # each element of +A+ until the end of the sequence is reached (A[i]
- # and B[-1]).
- #
- # There is a chance that one additional callbacks#discard_a or
- # callbacks#discard_b will be called after the end of the sequence
- # is reached, if +a+ has not yet reached the end of +A+ or +b+ has not yet
- # reached the end of +B+.
- #
- # source://diff-lcs//lib/diff/lcs.rb#285
- def traverse_sequences(seq1, seq2, callbacks = T.unsafe(nil)); end
-
- # Given a set of patchset, convert the current version to the prior version.
- # Does no auto-discovery.
- #
- # source://diff-lcs//lib/diff/lcs.rb#728
- def unpatch!(src, patchset); end
-
- private
-
- # source://diff-lcs//lib/diff/lcs/internals.rb#4
- def diff_traversal(method, seq1, seq2, callbacks, &block); end
- end
-end
-
-# An alias for DefaultCallbacks that is used in
-# Diff::LCS#traverse_balanced.
-#
-# Diff::LCS.LCS(seq1, seq2, Diff::LCS::BalancedCallbacks)
-#
-# source://diff-lcs//lib/diff/lcs/callbacks.rb#50
-Diff::LCS::BalancedCallbacks = Diff::LCS::DefaultCallbacks
-
-# A block is an operation removing, adding, or changing a group of items.
-# Basically, this is just a list of changes, where each change adds or
-# deletes a single item. Used by bin/ldiff.
-#
-# source://diff-lcs//lib/diff/lcs/block.rb#6
-class Diff::LCS::Block
- # @return [Block] a new instance of Block
- #
- # source://diff-lcs//lib/diff/lcs/block.rb#9
- def initialize(chunk); end
-
- # Returns the value of attribute changes.
- #
- # source://diff-lcs//lib/diff/lcs/block.rb#7
- def changes; end
-
- # source://diff-lcs//lib/diff/lcs/block.rb#21
- def diff_size; end
-
- # Returns the value of attribute insert.
- #
- # source://diff-lcs//lib/diff/lcs/block.rb#7
- def insert; end
-
- # source://diff-lcs//lib/diff/lcs/block.rb#25
- def op; end
-
- # Returns the value of attribute remove.
- #
- # source://diff-lcs//lib/diff/lcs/block.rb#7
- def remove; end
-end
-
-# Represents a simplistic (non-contextual) change. Represents the removal or
-# addition of an element from either the old or the new sequenced
-# enumerable.
-#
-# source://diff-lcs//lib/diff/lcs/change.rb#6
-class Diff::LCS::Change
- include ::Comparable
-
- # @return [Change] a new instance of Change
- #
- # source://diff-lcs//lib/diff/lcs/change.rb#27
- def initialize(*args); end
-
- # source://diff-lcs//lib/diff/lcs/change.rb#65
- def <=>(other); end
-
- # source://diff-lcs//lib/diff/lcs/change.rb#58
- def ==(other); end
-
- # Returns the action this Change represents.
- #
- # source://diff-lcs//lib/diff/lcs/change.rb#20
- def action; end
-
- # @return [Boolean]
- #
- # source://diff-lcs//lib/diff/lcs/change.rb#72
- def adding?; end
-
- # @return [Boolean]
- #
- # source://diff-lcs//lib/diff/lcs/change.rb#84
- def changed?; end
-
- # @return [Boolean]
- #
- # source://diff-lcs//lib/diff/lcs/change.rb#76
- def deleting?; end
-
- # Returns the sequence element of the Change.
- #
- # source://diff-lcs//lib/diff/lcs/change.rb#25
- def element; end
-
- # @return [Boolean]
- #
- # source://diff-lcs//lib/diff/lcs/change.rb#88
- def finished_a?; end
-
- # @return [Boolean]
- #
- # source://diff-lcs//lib/diff/lcs/change.rb#92
- def finished_b?; end
-
- # source://diff-lcs//lib/diff/lcs/change.rb#34
- def inspect(*_args); end
-
- # Returns the position of the Change.
- #
- # source://diff-lcs//lib/diff/lcs/change.rb#23
- def position; end
-
- # source://diff-lcs//lib/diff/lcs/change.rb#38
- def to_a; end
-
- # source://diff-lcs//lib/diff/lcs/change.rb#38
- def to_ary; end
-
- # @return [Boolean]
- #
- # source://diff-lcs//lib/diff/lcs/change.rb#80
- def unchanged?; end
-
- class << self
- # source://diff-lcs//lib/diff/lcs/change.rb#44
- def from_a(arr); end
-
- # @return [Boolean]
- #
- # source://diff-lcs//lib/diff/lcs/change.rb#15
- def valid_action?(action); end
- end
-end
-
-# source://diff-lcs//lib/diff/lcs/change.rb#7
-Diff::LCS::Change::IntClass = Integer
-
-# The only actions valid for changes are '+' (add), '-' (delete), '='
-# (no change), '!' (changed), '<' (tail changes from first sequence), or
-# '>' (tail changes from second sequence). The last two ('<>') are only
-# found with Diff::LCS::diff and Diff::LCS::sdiff.
-#
-# source://diff-lcs//lib/diff/lcs/change.rb#13
-Diff::LCS::Change::VALID_ACTIONS = T.let(T.unsafe(nil), Array)
-
-# Represents a contextual change. Contains the position and values of the
-# elements in the old and the new sequenced enumerables as well as the action
-# taken.
-#
-# source://diff-lcs//lib/diff/lcs/change.rb#100
-class Diff::LCS::ContextChange < ::Diff::LCS::Change
- # @return [ContextChange] a new instance of ContextChange
- #
- # source://diff-lcs//lib/diff/lcs/change.rb#114
- def initialize(*args); end
-
- # source://diff-lcs//lib/diff/lcs/change.rb#166
- def <=>(other); end
-
- # source://diff-lcs//lib/diff/lcs/change.rb#157
- def ==(other); end
-
- # Returns the new element being changed.
- #
- # source://diff-lcs//lib/diff/lcs/change.rb#112
- def new_element; end
-
- # Returns the new position being changed.
- #
- # source://diff-lcs//lib/diff/lcs/change.rb#108
- def new_position; end
-
- # Returns the old element being changed.
- #
- # source://diff-lcs//lib/diff/lcs/change.rb#110
- def old_element; end
-
- # Returns the old position being changed.
- #
- # source://diff-lcs//lib/diff/lcs/change.rb#106
- def old_position; end
-
- # source://diff-lcs//lib/diff/lcs/change.rb#122
- def to_a; end
-
- # source://diff-lcs//lib/diff/lcs/change.rb#122
- def to_ary; end
-
- class << self
- # source://diff-lcs//lib/diff/lcs/change.rb#132
- def from_a(arr); end
-
- # Simplifies a context change for use in some diff callbacks. '<' actions
- # are converted to '-' and '>' actions are converted to '+'.
- #
- # source://diff-lcs//lib/diff/lcs/change.rb#138
- def simplify(event); end
- end
-end
-
-# This will produce a compound array of contextual diff change objects. Each
-# element in the #diffs array is a "hunk" array, where each element in each
-# "hunk" array is a single change. Each change is a Diff::LCS::ContextChange
-# that contains both the old index and new index values for the change. The
-# "hunk" provides the full context for the changes. Both old and new objects
-# will be presented for changed objects. +nil+ will be substituted for a
-# discarded object.
-#
-# seq1 = %w(a b c e h j l m n p)
-# seq2 = %w(b c d e f j k l m r s t)
-#
-# diffs = Diff::LCS.diff(seq1, seq2, Diff::LCS::ContextDiffCallbacks)
-# # This example shows a simplified array format.
-# # [ [ [ '-', [ 0, 'a' ], [ 0, nil ] ] ], # 1
-# # [ [ '+', [ 3, nil ], [ 2, 'd' ] ] ], # 2
-# # [ [ '-', [ 4, 'h' ], [ 4, nil ] ], # 3
-# # [ '+', [ 5, nil ], [ 4, 'f' ] ] ],
-# # [ [ '+', [ 6, nil ], [ 6, 'k' ] ] ], # 4
-# # [ [ '-', [ 8, 'n' ], [ 9, nil ] ], # 5
-# # [ '+', [ 9, nil ], [ 9, 'r' ] ],
-# # [ '-', [ 9, 'p' ], [ 10, nil ] ],
-# # [ '+', [ 10, nil ], [ 10, 's' ] ],
-# # [ '+', [ 10, nil ], [ 11, 't' ] ] ] ]
-#
-# The five hunks shown are comprised of individual changes; if there is a
-# related set of changes, they are still shown individually.
-#
-# This callback can also be used with Diff::LCS#sdiff, which will produce
-# results like:
-#
-# diffs = Diff::LCS.sdiff(seq1, seq2, Diff::LCS::ContextCallbacks)
-# # This example shows a simplified array format.
-# # [ [ [ "-", [ 0, "a" ], [ 0, nil ] ] ], # 1
-# # [ [ "+", [ 3, nil ], [ 2, "d" ] ] ], # 2
-# # [ [ "!", [ 4, "h" ], [ 4, "f" ] ] ], # 3
-# # [ [ "+", [ 6, nil ], [ 6, "k" ] ] ], # 4
-# # [ [ "!", [ 8, "n" ], [ 9, "r" ] ], # 5
-# # [ "!", [ 9, "p" ], [ 10, "s" ] ],
-# # [ "+", [ 10, nil ], [ 11, "t" ] ] ] ]
-#
-# The five hunks are still present, but are significantly shorter in total
-# presentation, because changed items are shown as changes ("!") instead of
-# potentially "mismatched" pairs of additions and deletions.
-#
-# The result of this operation is similar to that of
-# Diff::LCS::SDiffCallbacks. They may be compared as:
-#
-# s = Diff::LCS.sdiff(seq1, seq2).reject { |e| e.action == "=" }
-# c = Diff::LCS.sdiff(seq1, seq2, Diff::LCS::ContextDiffCallbacks).flatten(1)
-#
-# s == c # -> true
-#
-# === Use
-#
-# This callback object must be initialised and can be used by the
-# Diff::LCS#diff or Diff::LCS#sdiff methods.
-#
-# cbo = Diff::LCS::ContextDiffCallbacks.new
-# Diff::LCS.LCS(seq1, seq2, cbo)
-# cbo.finish
-#
-# Note that the call to #finish is absolutely necessary, or the last set of
-# changes will not be visible. Alternatively, can be used as:
-#
-# cbo = Diff::LCS::ContextDiffCallbacks.new { |tcbo| Diff::LCS.LCS(seq1, seq2, tcbo) }
-#
-# The necessary #finish call will be made.
-#
-# === Simplified Array Format
-#
-# The simplified array format used in the example above can be obtained
-# with:
-#
-# require 'pp'
-# pp diffs.map { |e| e.map { |f| f.to_a } }
-#
-# source://diff-lcs//lib/diff/lcs/callbacks.rb#223
-class Diff::LCS::ContextDiffCallbacks < ::Diff::LCS::DiffCallbacks
- # source://diff-lcs//lib/diff/lcs/callbacks.rb#232
- def change(event); end
-
- # source://diff-lcs//lib/diff/lcs/callbacks.rb#224
- def discard_a(event); end
-
- # source://diff-lcs//lib/diff/lcs/callbacks.rb#228
- def discard_b(event); end
-end
-
-# This callback object implements the default set of callback events,
-# which only returns the event itself. Note that #finished_a and
-# #finished_b are not implemented -- I haven't yet figured out where they
-# would be useful.
-#
-# Note that this is intended to be called as is, e.g.,
-#
-# Diff::LCS.LCS(seq1, seq2, Diff::LCS::DefaultCallbacks)
-#
-# source://diff-lcs//lib/diff/lcs/callbacks.rb#14
-class Diff::LCS::DefaultCallbacks
- class << self
- # Called when both the old and new values have changed.
- #
- # source://diff-lcs//lib/diff/lcs/callbacks.rb#32
- def change(event); end
-
- # Called when the old value is discarded in favour of the new value.
- #
- # source://diff-lcs//lib/diff/lcs/callbacks.rb#22
- def discard_a(event); end
-
- # Called when the new value is discarded in favour of the old value.
- #
- # source://diff-lcs//lib/diff/lcs/callbacks.rb#27
- def discard_b(event); end
-
- # Called when two items match.
- #
- # source://diff-lcs//lib/diff/lcs/callbacks.rb#17
- def match(event); end
-
- private
-
- def new(*_arg0); end
- end
-end
-
-# This will produce a compound array of simple diff change objects. Each
-# element in the #diffs array is a +hunk+ or +hunk+ array, where each
-# element in each +hunk+ array is a single Change object representing the
-# addition or removal of a single element from one of the two tested
-# sequences. The +hunk+ provides the full context for the changes.
-#
-# diffs = Diff::LCS.diff(seq1, seq2)
-# # This example shows a simplified array format.
-# # [ [ [ '-', 0, 'a' ] ], # 1
-# # [ [ '+', 2, 'd' ] ], # 2
-# # [ [ '-', 4, 'h' ], # 3
-# # [ '+', 4, 'f' ] ],
-# # [ [ '+', 6, 'k' ] ], # 4
-# # [ [ '-', 8, 'n' ], # 5
-# # [ '-', 9, 'p' ],
-# # [ '+', 9, 'r' ],
-# # [ '+', 10, 's' ],
-# # [ '+', 11, 't' ] ] ]
-#
-# There are five hunks here. The first hunk says that the +a+ at position 0
-# of the first sequence should be deleted ('-'). The second hunk
-# says that the +d+ at position 2 of the second sequence should be inserted
-# ('+'). The third hunk says that the +h+ at position 4 of the
-# first sequence should be removed and replaced with the +f+ from position 4
-# of the second sequence. The other two hunks are described similarly.
-#
-# === Use
-#
-# This callback object must be initialised and is used by the Diff::LCS#diff
-# method.
-#
-# cbo = Diff::LCS::DiffCallbacks.new
-# Diff::LCS.LCS(seq1, seq2, cbo)
-# cbo.finish
-#
-# Note that the call to #finish is absolutely necessary, or the last set of
-# changes will not be visible. Alternatively, can be used as:
-#
-# cbo = Diff::LCS::DiffCallbacks.new { |tcbo| Diff::LCS.LCS(seq1, seq2, tcbo) }
-#
-# The necessary #finish call will be made.
-#
-# === Simplified Array Format
-#
-# The simplified array format used in the example above can be obtained
-# with:
-#
-# require 'pp'
-# pp diffs.map { |e| e.map { |f| f.to_a } }
-#
-# source://diff-lcs//lib/diff/lcs/callbacks.rb#106
-class Diff::LCS::DiffCallbacks
- # :yields self:
- #
- # @return [DiffCallbacks] a new instance of DiffCallbacks
- #
- # source://diff-lcs//lib/diff/lcs/callbacks.rb#110
- def initialize; end
-
- # Returns the difference set collected during the diff process.
- #
- # source://diff-lcs//lib/diff/lcs/callbacks.rb#108
- def diffs; end
-
- # source://diff-lcs//lib/diff/lcs/callbacks.rb#133
- def discard_a(event); end
-
- # source://diff-lcs//lib/diff/lcs/callbacks.rb#137
- def discard_b(event); end
-
- # Finalizes the diff process. If an unprocessed hunk still exists, then it
- # is appended to the diff list.
- #
- # source://diff-lcs//lib/diff/lcs/callbacks.rb#125
- def finish; end
-
- # source://diff-lcs//lib/diff/lcs/callbacks.rb#129
- def match(_event); end
-
- private
-
- # source://diff-lcs//lib/diff/lcs/callbacks.rb#141
- def finish_hunk; end
-end
-
-# A Hunk is a group of Blocks which overlap because of the context surrounding
-# each block. (So if we're not using context, every hunk will contain one
-# block.) Used in the diff program (bin/ldiff).
-#
-# source://diff-lcs//lib/diff/lcs/hunk.rb#8
-class Diff::LCS::Hunk
- # Create a hunk using references to both the old and new data, as well as the
- # piece of data.
- #
- # @return [Hunk] a new instance of Hunk
- #
- # source://diff-lcs//lib/diff/lcs/hunk.rb#16
- def initialize(data_old, data_new, piece, flag_context, file_length_difference); end
-
- # Returns the value of attribute blocks.
- #
- # source://diff-lcs//lib/diff/lcs/hunk.rb#63
- def blocks; end
-
- # Returns a diff string based on a format.
- #
- # source://diff-lcs//lib/diff/lcs/hunk.rb#116
- def diff(format, last = T.unsafe(nil)); end
-
- # Returns the value of attribute end_new.
- #
- # source://diff-lcs//lib/diff/lcs/hunk.rb#65
- def end_new; end
-
- # Returns the value of attribute end_old.
- #
- # source://diff-lcs//lib/diff/lcs/hunk.rb#65
- def end_old; end
-
- # Returns the value of attribute file_length_difference.
- #
- # source://diff-lcs//lib/diff/lcs/hunk.rb#66
- def file_length_difference; end
-
- # Change the "start" and "end" fields to note that context should be added
- # to this hunk.
- #
- # source://diff-lcs//lib/diff/lcs/hunk.rb#70
- def flag_context; end
-
- # source://diff-lcs//lib/diff/lcs/hunk.rb#72
- def flag_context=(context); end
-
- # Merges this hunk and the provided hunk together if they overlap. Returns
- # a truthy value so that if there is no overlap, you can know the merge
- # was skipped.
- #
- # source://diff-lcs//lib/diff/lcs/hunk.rb#98
- def merge(hunk); end
-
- # @return [Boolean]
- #
- # source://diff-lcs//lib/diff/lcs/hunk.rb#326
- def missing_last_newline?(data); end
-
- # Determines whether there is an overlap between this hunk and the
- # provided hunk. This will be true if the difference between the two hunks
- # start or end positions is within one position of each other.
- #
- # @return [Boolean]
- #
- # source://diff-lcs//lib/diff/lcs/hunk.rb#110
- def overlaps?(hunk); end
-
- # Returns the value of attribute start_new.
- #
- # source://diff-lcs//lib/diff/lcs/hunk.rb#64
- def start_new; end
-
- # Returns the value of attribute start_old.
- #
- # source://diff-lcs//lib/diff/lcs/hunk.rb#64
- def start_old; end
-
- # Merges this hunk and the provided hunk together if they overlap. Returns
- # a truthy value so that if there is no overlap, you can know the merge
- # was skipped.
- #
- # source://diff-lcs//lib/diff/lcs/hunk.rb#98
- def unshift(hunk); end
-
- private
-
- # source://diff-lcs//lib/diff/lcs/hunk.rb#213
- def context_diff(last = T.unsafe(nil)); end
-
- # Generate a range of item numbers to print. Only print 1 number if the
- # range has only one item in it. Otherwise, it's 'start,end'
- #
- # source://diff-lcs//lib/diff/lcs/hunk.rb#293
- def context_range(mode, op, last = T.unsafe(nil)); end
-
- # source://diff-lcs//lib/diff/lcs/hunk.rb#271
- def ed_diff(format, _last = T.unsafe(nil)); end
-
- # source://diff-lcs//lib/diff/lcs/hunk.rb#339
- def encode(literal, target_encoding = T.unsafe(nil)); end
-
- # source://diff-lcs//lib/diff/lcs/hunk.rb#343
- def encode_as(string, *args); end
-
- # Note that an old diff can't have any context. Therefore, we know that
- # there's only one block in the hunk.
- #
- # source://diff-lcs//lib/diff/lcs/hunk.rb#135
- def old_diff(_last = T.unsafe(nil)); end
-
- # source://diff-lcs//lib/diff/lcs/hunk.rb#160
- def unified_diff(last = T.unsafe(nil)); end
-
- # Generate a range of item numbers to print for unified diff. Print number
- # where block starts, followed by number of lines in the block
- # (don't print number of lines if it's 1)
- #
- # source://diff-lcs//lib/diff/lcs/hunk.rb#311
- def unified_range(mode, last); end
-end
-
-# source://diff-lcs//lib/diff/lcs/hunk.rb#10
-Diff::LCS::Hunk::ED_DIFF_OP_ACTION = T.let(T.unsafe(nil), Hash)
-
-# source://diff-lcs//lib/diff/lcs/hunk.rb#9
-Diff::LCS::Hunk::OLD_DIFF_OP_ACTION = T.let(T.unsafe(nil), Hash)
-
-# source://diff-lcs//lib/diff/lcs/internals.rb#29
-module Diff::LCS::Internals
- class << self
- # This method will analyze the provided patchset to provide a single-pass
- # normalization (conversion of the array form of Diff::LCS::Change objects to
- # the object form of same) and detection of whether the patchset represents
- # changes to be made.
- #
- # source://diff-lcs//lib/diff/lcs/internals.rb#102
- def analyze_patchset(patchset, depth = T.unsafe(nil)); end
-
- # Examine the patchset and the source to see in which direction the
- # patch should be applied.
- #
- # WARNING: By default, this examines the whole patch, so this could take
- # some time. This also works better with Diff::LCS::ContextChange or
- # Diff::LCS::Change as its source, as an array will cause the creation
- # of one of the above.
- #
- # source://diff-lcs//lib/diff/lcs/internals.rb#147
- def intuit_diff_direction(src, patchset, limit = T.unsafe(nil)); end
-
- # Compute the longest common subsequence between the sequenced
- # Enumerables +a+ and +b+. The result is an array whose contents is such
- # that
- #
- # result = Diff::LCS::Internals.lcs(a, b)
- # result.each_with_index do |e, i|
- # assert_equal(a[i], b[e]) unless e.nil?
- # end
- #
- # source://diff-lcs//lib/diff/lcs/internals.rb#41
- def lcs(a, b); end
-
- private
-
- # If +vector+ maps the matching elements of another collection onto this
- # Enumerable, compute the inverse of +vector+ that maps this Enumerable
- # onto the collection. (Currently unused.)
- #
- # source://diff-lcs//lib/diff/lcs/internals.rb#286
- def inverse_vector(a, vector); end
-
- # Returns a hash mapping each element of an Enumerable to the set of
- # positions it occupies in the Enumerable, optionally restricted to the
- # elements specified in the range of indexes specified by +interval+.
- #
- # source://diff-lcs//lib/diff/lcs/internals.rb#298
- def position_hash(enum, interval); end
-
- # Find the place at which +value+ would normally be inserted into the
- # Enumerable. If that place is already occupied by +value+, do nothing
- # and return +nil+. If the place does not exist (i.e., it is off the end
- # of the Enumerable), add it to the end. Otherwise, replace the element
- # at that point with +value+. It is assumed that the Enumerable's values
- # are numeric.
- #
- # This operation preserves the sort order.
- #
- # source://diff-lcs//lib/diff/lcs/internals.rb#252
- def replace_next_larger(enum, value, last_index = T.unsafe(nil)); end
- end
-end
-
-# This will produce a simple array of diff change objects. Each element in
-# the #diffs array is a single ContextChange. In the set of #diffs provided
-# by SDiffCallbacks, both old and new objects will be presented for both
-# changed and unchanged objects. +nil+ will be substituted
-# for a discarded object.
-#
-# The diffset produced by this callback, when provided to Diff::LCS#sdiff,
-# will compute and display the necessary components to show two sequences
-# and their minimized differences side by side, just like the Unix utility
-# +sdiff+.
-#
-# same same
-# before | after
-# old < -
-# - > new
-#
-# seq1 = %w(a b c e h j l m n p)
-# seq2 = %w(b c d e f j k l m r s t)
-#
-# diffs = Diff::LCS.sdiff(seq1, seq2)
-# # This example shows a simplified array format.
-# # [ [ "-", [ 0, "a"], [ 0, nil ] ],
-# # [ "=", [ 1, "b"], [ 0, "b" ] ],
-# # [ "=", [ 2, "c"], [ 1, "c" ] ],
-# # [ "+", [ 3, nil], [ 2, "d" ] ],
-# # [ "=", [ 3, "e"], [ 3, "e" ] ],
-# # [ "!", [ 4, "h"], [ 4, "f" ] ],
-# # [ "=", [ 5, "j"], [ 5, "j" ] ],
-# # [ "+", [ 6, nil], [ 6, "k" ] ],
-# # [ "=", [ 6, "l"], [ 7, "l" ] ],
-# # [ "=", [ 7, "m"], [ 8, "m" ] ],
-# # [ "!", [ 8, "n"], [ 9, "r" ] ],
-# # [ "!", [ 9, "p"], [ 10, "s" ] ],
-# # [ "+", [ 10, nil], [ 11, "t" ] ] ]
-#
-# The result of this operation is similar to that of
-# Diff::LCS::ContextDiffCallbacks. They may be compared as:
-#
-# s = Diff::LCS.sdiff(seq1, seq2).reject { |e| e.action == "=" }
-# c = Diff::LCS.sdiff(seq1, seq2, Diff::LCS::ContextDiffCallbacks).flatten(1)
-#
-# s == c # -> true
-#
-# === Use
-#
-# This callback object must be initialised and is used by the Diff::LCS#sdiff
-# method.
-#
-# cbo = Diff::LCS::SDiffCallbacks.new
-# Diff::LCS.LCS(seq1, seq2, cbo)
-#
-# As with the other initialisable callback objects,
-# Diff::LCS::SDiffCallbacks can be initialised with a block. As there is no
-# "fininishing" to be done, this has no effect on the state of the object.
-#
-# cbo = Diff::LCS::SDiffCallbacks.new { |tcbo| Diff::LCS.LCS(seq1, seq2, tcbo) }
-#
-# === Simplified Array Format
-#
-# The simplified array format used in the example above can be obtained
-# with:
-#
-# require 'pp'
-# pp diffs.map { |e| e.to_a }
-#
-# source://diff-lcs//lib/diff/lcs/callbacks.rb#301
-class Diff::LCS::SDiffCallbacks
- # :yields self:
- #
- # @return [SDiffCallbacks] a new instance of SDiffCallbacks
- # @yield [_self]
- # @yieldparam _self [Diff::LCS::SDiffCallbacks] the object that the method was called on
- #
- # source://diff-lcs//lib/diff/lcs/callbacks.rb#305
- def initialize; end
-
- # source://diff-lcs//lib/diff/lcs/callbacks.rb#322
- def change(event); end
-
- # Returns the difference set collected during the diff process.
- #
- # source://diff-lcs//lib/diff/lcs/callbacks.rb#303
- def diffs; end
-
- # source://diff-lcs//lib/diff/lcs/callbacks.rb#314
- def discard_a(event); end
-
- # source://diff-lcs//lib/diff/lcs/callbacks.rb#318
- def discard_b(event); end
-
- # source://diff-lcs//lib/diff/lcs/callbacks.rb#310
- def match(event); end
-end
-
-# An alias for DefaultCallbacks that is used in
-# Diff::LCS#traverse_sequences.
-#
-# Diff::LCS.LCS(seq1, seq2, Diff::LCS::SequenceCallbacks)
-#
-# source://diff-lcs//lib/diff/lcs/callbacks.rb#44
-Diff::LCS::SequenceCallbacks = Diff::LCS::DefaultCallbacks
-
-# source://diff-lcs//lib/diff/lcs.rb#52
-Diff::LCS::VERSION = T.let(T.unsafe(nil), String)
diff --git a/sorbet/rbi/gems/io-console@0.6.0.rbi b/sorbet/rbi/gems/io-console@0.7.2.rbi
similarity index 100%
rename from sorbet/rbi/gems/io-console@0.6.0.rbi
rename to sorbet/rbi/gems/io-console@0.7.2.rbi
diff --git a/sorbet/rbi/gems/irb@1.7.0.rbi b/sorbet/rbi/gems/irb@1.7.0.rbi
deleted file mode 100644
index fb94d0d32..000000000
--- a/sorbet/rbi/gems/irb@1.7.0.rbi
+++ /dev/null
@@ -1,342 +0,0 @@
-# typed: true
-
-# DO NOT EDIT MANUALLY
-# This is an autogenerated file for types exported from the `irb` gem.
-# Please instead update this file by running `bin/tapioca gem irb`.
-
-# An output formatter used internally by the lexer.
-#
-# source://irb//lib/irb/notifier.rb#11
-module IRB::Notifier
- private
-
- # Define a new Notifier output source, returning a new CompositeNotifier
- # with the given +prefix+ and +output_method+.
- #
- # The optional +prefix+ will be appended to all objects being inspected
- # during output, using the given +output_method+ as the output source. If
- # no +output_method+ is given, StdioOutputMethod will be used, and all
- # expressions will be sent directly to STDOUT without any additional
- # formatting.
- #
- # source://irb//lib/irb/notifier.rb#31
- def def_notifier(prefix = T.unsafe(nil), output_method = T.unsafe(nil)); end
-
- class << self
- # Define a new Notifier output source, returning a new CompositeNotifier
- # with the given +prefix+ and +output_method+.
- #
- # The optional +prefix+ will be appended to all objects being inspected
- # during output, using the given +output_method+ as the output source. If
- # no +output_method+ is given, StdioOutputMethod will be used, and all
- # expressions will be sent directly to STDOUT without any additional
- # formatting.
- #
- # source://irb//lib/irb/notifier.rb#31
- def def_notifier(prefix = T.unsafe(nil), output_method = T.unsafe(nil)); end
- end
-end
-
-# An abstract class, or superclass, for CompositeNotifier and
-# LeveledNotifier to inherit. It provides several wrapper methods for the
-# OutputMethod object used by the Notifier.
-#
-# source://irb//lib/irb/notifier.rb#39
-class IRB::Notifier::AbstractNotifier
- # Creates a new Notifier object
- #
- # @return [AbstractNotifier] a new instance of AbstractNotifier
- #
- # source://irb//lib/irb/notifier.rb#41
- def initialize(prefix, base_notifier); end
-
- # Execute the given block if notifications are enabled.
- #
- # @yield [@base_notifier]
- #
- # source://irb//lib/irb/notifier.rb#99
- def exec_if; end
-
- # A wrapper method used to determine whether notifications are enabled.
- #
- # Defaults to +true+.
- #
- # @return [Boolean]
- #
- # source://irb//lib/irb/notifier.rb#53
- def notify?; end
-
- # Same as #ppx, except it uses the #prefix given during object
- # initialization.
- # See OutputMethod#ppx for more detail.
- #
- # source://irb//lib/irb/notifier.rb#82
- def pp(*objs); end
-
- # Same as #pp, except it concatenates the given +prefix+ with the #prefix
- # given during object initialization.
- #
- # See OutputMethod#ppx for more detail.
- #
- # source://irb//lib/irb/notifier.rb#92
- def ppx(prefix, *objs); end
-
- # The +prefix+ for this Notifier, which is appended to all objects being
- # inspected during output.
- #
- # source://irb//lib/irb/notifier.rb#48
- def prefix; end
-
- # See OutputMethod#print for more detail.
- #
- # source://irb//lib/irb/notifier.rb#58
- def print(*opts); end
-
- # See OutputMethod#printf for more detail.
- #
- # source://irb//lib/irb/notifier.rb#68
- def printf(format, *opts); end
-
- # See OutputMethod#printn for more detail.
- #
- # source://irb//lib/irb/notifier.rb#63
- def printn(*opts); end
-
- # See OutputMethod#puts for more detail.
- #
- # source://irb//lib/irb/notifier.rb#73
- def puts(*objs); end
-end
-
-# A class that can be used to create a group of notifier objects with the
-# intent of representing a leveled notification system for irb.
-#
-# This class will allow you to generate other notifiers, and assign them
-# the appropriate level for output.
-#
-# The Notifier class provides a class-method Notifier.def_notifier to
-# create a new composite notifier. Using the first composite notifier
-# object you create, sibling notifiers can be initialized with
-# #def_notifier.
-#
-# source://irb//lib/irb/notifier.rb#114
-class IRB::Notifier::CompositeNotifier < ::IRB::Notifier::AbstractNotifier
- # Create a new composite notifier object with the given +prefix+, and
- # +base_notifier+ to use for output.
- #
- # @return [CompositeNotifier] a new instance of CompositeNotifier
- #
- # source://irb//lib/irb/notifier.rb#117
- def initialize(prefix, base_notifier); end
-
- # Creates a new LeveledNotifier in the composite #notifiers group.
- #
- # The given +prefix+ will be assigned to the notifier, and +level+ will
- # be used as the index of the #notifiers Array.
- #
- # This method returns the newly created instance.
- #
- # source://irb//lib/irb/notifier.rb#133
- def def_notifier(level, prefix = T.unsafe(nil)); end
-
- # Returns the leveled notifier for this object
- #
- # source://irb//lib/irb/notifier.rb#140
- def level; end
-
- # Sets the leveled notifier for this object.
- #
- # When the given +value+ is an instance of AbstractNotifier,
- # #level_notifier is set to the given object.
- #
- # When an Integer is given, #level_notifier is set to the notifier at the
- # index +value+ in the #notifiers Array.
- #
- # If no notifier exists at the index +value+ in the #notifiers Array, an
- # ErrUndefinedNotifier exception is raised.
- #
- # An ErrUnrecognizedLevel exception is raised if the given +value+ is not
- # found in the existing #notifiers Array, or an instance of
- # AbstractNotifier
- #
- # source://irb//lib/irb/notifier.rb#157
- def level=(value); end
-
- # Returns the leveled notifier for this object
- #
- # source://irb//lib/irb/notifier.rb#140
- def level_notifier; end
-
- # Sets the leveled notifier for this object.
- #
- # When the given +value+ is an instance of AbstractNotifier,
- # #level_notifier is set to the given object.
- #
- # When an Integer is given, #level_notifier is set to the notifier at the
- # index +value+ in the #notifiers Array.
- #
- # If no notifier exists at the index +value+ in the #notifiers Array, an
- # ErrUndefinedNotifier exception is raised.
- #
- # An ErrUnrecognizedLevel exception is raised if the given +value+ is not
- # found in the existing #notifiers Array, or an instance of
- # AbstractNotifier
- #
- # source://irb//lib/irb/notifier.rb#157
- def level_notifier=(value); end
-
- # List of notifiers in the group
- #
- # source://irb//lib/irb/notifier.rb#125
- def notifiers; end
-end
-
-# source://irb//lib/irb/notifier.rb#12
-class IRB::Notifier::ErrUndefinedNotifier < ::StandardError
- # @return [ErrUndefinedNotifier] a new instance of ErrUndefinedNotifier
- #
- # source://irb//lib/irb/notifier.rb#13
- def initialize(val); end
-end
-
-# source://irb//lib/irb/notifier.rb#17
-class IRB::Notifier::ErrUnrecognizedLevel < ::StandardError
- # @return [ErrUnrecognizedLevel] a new instance of ErrUnrecognizedLevel
- #
- # source://irb//lib/irb/notifier.rb#18
- def initialize(val); end
-end
-
-# A leveled notifier is comparable to the composite group from
-# CompositeNotifier#notifiers.
-#
-# source://irb//lib/irb/notifier.rb#175
-class IRB::Notifier::LeveledNotifier < ::IRB::Notifier::AbstractNotifier
- include ::Comparable
-
- # Create a new leveled notifier with the given +base+, and +prefix+ to
- # send to AbstractNotifier.new
- #
- # The given +level+ is used to compare other leveled notifiers in the
- # CompositeNotifier group to determine whether or not to output
- # notifications.
- #
- # @return [LeveledNotifier] a new instance of LeveledNotifier
- #
- # source://irb//lib/irb/notifier.rb#184
- def initialize(base, level, prefix); end
-
- # Compares the level of this notifier object with the given +other+
- # notifier.
- #
- # See the Comparable module for more information.
- #
- # source://irb//lib/irb/notifier.rb#197
- def <=>(other); end
-
- # The current level of this notifier object
- #
- # source://irb//lib/irb/notifier.rb#191
- def level; end
-
- # Whether to output messages to the output method, depending on the level
- # of this notifier object.
- #
- # @return [Boolean]
- #
- # source://irb//lib/irb/notifier.rb#203
- def notify?; end
-end
-
-# NoMsgNotifier is a LeveledNotifier that's used as the default notifier
-# when creating a new CompositeNotifier.
-#
-# This notifier is used as the +zero+ index, or level +0+, for
-# CompositeNotifier#notifiers, and will not output messages of any sort.
-#
-# source://irb//lib/irb/notifier.rb#213
-class IRB::Notifier::NoMsgNotifier < ::IRB::Notifier::LeveledNotifier
- # Creates a new notifier that should not be used to output messages.
- #
- # @return [NoMsgNotifier] a new instance of NoMsgNotifier
- #
- # source://irb//lib/irb/notifier.rb#215
- def initialize; end
-
- # Ensures notifications are ignored, see AbstractNotifier#notify? for
- # more information.
- #
- # @return [Boolean]
- #
- # source://irb//lib/irb/notifier.rb#223
- def notify?; end
-end
-
-# An abstract output class for IO in irb. This is mainly used internally by
-# IRB::Notifier. You can define your own output method to use with Irb.new,
-# or Context.new
-#
-# source://irb//lib/irb/output-method.rb#11
-class IRB::OutputMethod
- # Returns an array of the given +format+ and +opts+ to be used by
- # Kernel#sprintf, if there was a successful Regexp match in the given
- # +format+ from #printf
- #
- # %
- # [#0- +]
- # (\*|\*[1-9][0-9]*\$|[1-9][0-9]*)
- # .(\*|\*[1-9][0-9]*\$|[1-9][0-9]*|)?
- # #(hh|h|l|ll|L|q|j|z|t)
- # [diouxXeEfgGcsb%]
- #
- # source://irb//lib/irb/output-method.rb#48
- def parse_printf_format(format, opts); end
-
- # Prints the given +objs+ calling Object#inspect on each.
- #
- # See #puts for more detail.
- #
- # source://irb//lib/irb/output-method.rb#64
- def pp(*objs); end
-
- # Prints the given +objs+ calling Object#inspect on each and appending the
- # given +prefix+.
- #
- # See #puts for more detail.
- #
- # source://irb//lib/irb/output-method.rb#72
- def ppx(prefix, *objs); end
-
- # Open this method to implement your own output method, raises a
- # NotImplementedError if you don't define #print in your own class.
- #
- # @raise [NotImplementedError]
- #
- # source://irb//lib/irb/output-method.rb#20
- def print(*opts); end
-
- # Extends IO#printf to format the given +opts+ for Kernel#sprintf using
- # #parse_printf_format
- #
- # source://irb//lib/irb/output-method.rb#31
- def printf(format, *opts); end
-
- # Prints the given +opts+, with a newline delimiter.
- #
- # source://irb//lib/irb/output-method.rb#25
- def printn(*opts); end
-
- # Calls #print on each element in the given +objs+, followed by a newline
- # character.
- #
- # source://irb//lib/irb/output-method.rb#54
- def puts(*objs); end
-end
-
-# source://irb//lib/irb/output-method.rb#12
-class IRB::OutputMethod::NotImplementedError < ::StandardError
- # @return [NotImplementedError] a new instance of NotImplementedError
- #
- # source://irb//lib/irb/output-method.rb#13
- def initialize(val); end
-end
diff --git a/sorbet/rbi/gems/json@2.6.3.rbi b/sorbet/rbi/gems/json@2.7.1.rbi
similarity index 92%
rename from sorbet/rbi/gems/json@2.6.3.rbi
rename to sorbet/rbi/gems/json@2.7.1.rbi
index 259116aa0..e22ce040e 100644
--- a/sorbet/rbi/gems/json@2.6.3.rbi
+++ b/sorbet/rbi/gems/json@2.7.1.rbi
@@ -1,10 +1,12 @@
-# typed: true
+# typed: false
# DO NOT EDIT MANUALLY
# This is an autogenerated file for types exported from the `json` gem.
# Please instead update this file by running `bin/tapioca gem json`.
# Extends any Class to include _json_creatable?_ method.
+#
+# source://json//lib/json/common.rb#689
class Class < ::Module
# Returns true if this class can be used to create an instance
# from a serialised JSON string. The class has to implement a class
@@ -13,7 +15,7 @@ class Class < ::Module
#
# @return [Boolean]
#
- # source://json//json/common.rb#700
+ # source://json//lib/json/common.rb#694
def json_creatable?; end
end
@@ -300,6 +302,15 @@ end
# # Raises JSON::NestingError (nesting of 2 is too deep):
# JSON.generate(obj, max_nesting: 2)
#
+# ====== Escaping Options
+#
+# Options +script_safe+ (boolean) specifies wether '\u2028', '\u2029'
+# and '/' should be escaped as to make the JSON object safe to interpolate in script
+# tags.
+#
+# Options +ascii_only+ (boolean) specifies wether all characters outside the ASCII range
+# should be escaped.
+#
# ====== Output Options
#
# The default formatting options generate the most compact
@@ -586,6 +597,8 @@ end
# Parsed JSON:
# Without custom addition: "#" (String)
# With custom addition: # (Foo)
+#
+# source://json//lib/json/version.rb#2
module JSON
private
@@ -617,8 +630,8 @@ module JSON
# Output:
# {"foo":[0,1],"bar":{"baz":2,"bat":3},"bam":"bad"}
#
- # source://json//json/common.rb#631
- def dump(obj, anIO = T.unsafe(nil), limit = T.unsafe(nil)); end
+ # source://json//lib/json/common.rb#614
+ def dump(obj, anIO = T.unsafe(nil), limit = T.unsafe(nil), kwargs = T.unsafe(nil)); end
# :call-seq:
# JSON.fast_generate(obj, opts) -> new_string
@@ -634,13 +647,13 @@ module JSON
# # Raises SystemStackError (stack level too deep):
# JSON.fast_generate(a)
#
- # source://json//json/common.rb#335
+ # source://json//lib/json/common.rb#328
def fast_generate(obj, opts = T.unsafe(nil)); end
# :stopdoc:
# I want to deprecate these later, so I'll first be silent about them, and later delete them.
#
- # source://json//json/common.rb#335
+ # source://json//lib/json/common.rb#328
def fast_unparse(obj, opts = T.unsafe(nil)); end
# :call-seq:
@@ -679,7 +692,7 @@ module JSON
# # Raises JSON::NestingError (nesting of 100 is too deep):
# JSON.generate(a)
#
- # source://json//json/common.rb#296
+ # source://json//lib/json/common.rb#299
def generate(obj, opts = T.unsafe(nil)); end
# :call-seq:
@@ -810,7 +823,7 @@ module JSON
# #"Admin", "password"=>"0wn3d"}>}
#
- # source://json//json/common.rb#557
+ # source://json//lib/json/common.rb#540
def load(source, proc = T.unsafe(nil), options = T.unsafe(nil)); end
# :call-seq:
@@ -821,7 +834,7 @@ module JSON
#
# See method #parse.
#
- # source://json//json/common.rb#245
+ # source://json//lib/json/common.rb#248
def load_file(filespec, opts = T.unsafe(nil)); end
# :call-seq:
@@ -832,9 +845,12 @@ module JSON
#
# See method #parse!
#
- # source://json//json/common.rb#256
+ # source://json//lib/json/common.rb#259
def load_file!(filespec, opts = T.unsafe(nil)); end
+ # source://json//lib/json/common.rb#642
+ def merge_dump_options(opts, strict: T.unsafe(nil)); end
+
# :call-seq:
# JSON.parse(source, opts) -> object
#
@@ -883,7 +899,7 @@ module JSON
# # Raises JSON::ParserError (783: unexpected token at ''):
# JSON.parse('')
#
- # source://json//json/common.rb#215
+ # source://json//lib/json/common.rb#218
def parse(source, opts = T.unsafe(nil)); end
# :call-seq:
@@ -898,7 +914,7 @@ module JSON
# which disables checking for nesting depth.
# - Option +allow_nan+, if not provided, defaults to +true+.
#
- # source://json//json/common.rb#230
+ # source://json//lib/json/common.rb#233
def parse!(source, opts = T.unsafe(nil)); end
# :call-seq:
@@ -931,28 +947,28 @@ module JSON
# }
# }
#
- # source://json//json/common.rb#390
+ # source://json//lib/json/common.rb#373
def pretty_generate(obj, opts = T.unsafe(nil)); end
# :stopdoc:
# I want to deprecate these later, so I'll first be silent about them, and later delete them.
#
- # source://json//json/common.rb#390
+ # source://json//lib/json/common.rb#373
def pretty_unparse(obj, opts = T.unsafe(nil)); end
# Recursively calls passed _Proc_ if the parsed data structure is an _Array_ or _Hash_
#
- # source://json//json/common.rb#575
+ # source://json//lib/json/common.rb#558
def recurse_proc(result, &proc); end
- # source://json//json/common.rb#557
+ # source://json//lib/json/common.rb#540
def restore(source, proc = T.unsafe(nil), options = T.unsafe(nil)); end
# :stopdoc:
# I want to deprecate these later, so I'll first be silent about them, and
# later delete them.
#
- # source://json//json/common.rb#296
+ # source://json//lib/json/common.rb#299
def unparse(obj, opts = T.unsafe(nil)); end
class << self
@@ -968,26 +984,26 @@ module JSON
# ruby = [0, 1, nil]
# JSON[ruby] # => '[0,1,null]'
#
- # source://json//json/common.rb#18
+ # source://json//lib/json/common.rb#21
def [](object, opts = T.unsafe(nil)); end
- # source://json//json/common.rb#81
+ # source://json//lib/json/common.rb#84
def create_fast_state; end
# Returns the current create identifier.
# See also JSON.create_id=.
#
- # source://json//json/common.rb#126
+ # source://json//lib/json/common.rb#129
def create_id; end
# Sets create identifier, which is used to decide if the _json_create_
# hook of a class should be called; initial value is +json_class+:
# JSON.create_id # => 'json_class'
#
- # source://json//json/common.rb#120
+ # source://json//lib/json/common.rb#123
def create_id=(new_value); end
- # source://json//json/common.rb#91
+ # source://json//lib/json/common.rb#94
def create_pretty_state; end
# Return the constant located at _path_. The format of _path_ has to be
@@ -995,7 +1011,7 @@ module JSON
# level (absolute namespace path?). If there doesn't exist a constant at
# the given path, an ArgumentError is raised.
#
- # source://json//json/common.rb#42
+ # source://json//lib/json/common.rb#45
def deep_const_get(path); end
# :call-seq:
@@ -1026,23 +1042,23 @@ module JSON
# Output:
# {"foo":[0,1],"bar":{"baz":2,"bat":3},"bam":"bad"}
#
- # source://json//json/common.rb#631
- def dump(obj, anIO = T.unsafe(nil), limit = T.unsafe(nil)); end
+ # source://json//lib/json/common.rb#614
+ def dump(obj, anIO = T.unsafe(nil), limit = T.unsafe(nil), kwargs = T.unsafe(nil)); end
# Sets or returns the default options for the JSON.dump method.
# Initially:
# opts = JSON.dump_default_options
- # opts # => {:max_nesting=>false, :allow_nan=>true, :escape_slash=>false}
+ # opts # => {:max_nesting=>false, :allow_nan=>true, :script_safe=>false}
#
- # source://json//json/common.rb#596
+ # source://json//lib/json/common.rb#579
def dump_default_options; end
# Sets or returns the default options for the JSON.dump method.
# Initially:
# opts = JSON.dump_default_options
- # opts # => {:max_nesting=>false, :allow_nan=>true, :escape_slash=>false}
+ # opts # => {:max_nesting=>false, :allow_nan=>true, :script_safe=>false}
#
- # source://json//json/common.rb#596
+ # source://json//lib/json/common.rb#579
def dump_default_options=(_arg0); end
# :call-seq:
@@ -1059,13 +1075,13 @@ module JSON
# # Raises SystemStackError (stack level too deep):
# JSON.fast_generate(a)
#
- # source://json//json/common.rb#335
+ # source://json//lib/json/common.rb#328
def fast_generate(obj, opts = T.unsafe(nil)); end
# :stopdoc:
# I want to deprecate these later, so I'll first be silent about them, and later delete them.
#
- # source://json//json/common.rb#335
+ # source://json//lib/json/common.rb#328
def fast_unparse(obj, opts = T.unsafe(nil)); end
# :call-seq:
@@ -1104,24 +1120,24 @@ module JSON
# # Raises JSON::NestingError (nesting of 100 is too deep):
# JSON.generate(a)
#
- # source://json//json/common.rb#296
+ # source://json//lib/json/common.rb#299
def generate(obj, opts = T.unsafe(nil)); end
# Returns the JSON generator module that is used by JSON. This is
# either JSON::Ext::Generator or JSON::Pure::Generator:
# JSON.generator # => JSON::Ext::Generator
#
- # source://json//json/common.rb#103
+ # source://json//lib/json/common.rb#106
def generator; end
# Set the module _generator_ to be used by JSON.
#
- # source://json//json/common.rb#58
+ # source://json//lib/json/common.rb#61
def generator=(generator); end
# Encodes string using String.encode.
#
- # source://json//json/common.rb#653
+ # source://json//lib/json/common.rb#638
def iconv(to, from, string); end
# :call-seq:
@@ -1252,7 +1268,7 @@ module JSON
# #"Admin", "password"=>"0wn3d"}>}
#
- # source://json//json/common.rb#557
+ # source://json//lib/json/common.rb#540
def load(source, proc = T.unsafe(nil), options = T.unsafe(nil)); end
# Sets or returns default options for the JSON.load method.
@@ -1260,7 +1276,7 @@ module JSON
# opts = JSON.load_default_options
# opts # => {:max_nesting=>false, :allow_nan=>true, :allow_blank=>true, :create_additions=>true}
#
- # source://json//json/common.rb#420
+ # source://json//lib/json/common.rb#403
def load_default_options; end
# Sets or returns default options for the JSON.load method.
@@ -1268,7 +1284,7 @@ module JSON
# opts = JSON.load_default_options
# opts # => {:max_nesting=>false, :allow_nan=>true, :allow_blank=>true, :create_additions=>true}
#
- # source://json//json/common.rb#420
+ # source://json//lib/json/common.rb#403
def load_default_options=(_arg0); end
# :call-seq:
@@ -1279,7 +1295,7 @@ module JSON
#
# See method #parse.
#
- # source://json//json/common.rb#245
+ # source://json//lib/json/common.rb#248
def load_file(filespec, opts = T.unsafe(nil)); end
# :call-seq:
@@ -1290,7 +1306,7 @@ module JSON
#
# See method #parse!
#
- # source://json//json/common.rb#256
+ # source://json//lib/json/common.rb#259
def load_file!(filespec, opts = T.unsafe(nil)); end
# :call-seq:
@@ -1341,7 +1357,7 @@ module JSON
# # Raises JSON::ParserError (783: unexpected token at ''):
# JSON.parse('')
#
- # source://json//json/common.rb#215
+ # source://json//lib/json/common.rb#218
def parse(source, opts = T.unsafe(nil)); end
# :call-seq:
@@ -1356,19 +1372,19 @@ module JSON
# which disables checking for nesting depth.
# - Option +allow_nan+, if not provided, defaults to +true+.
#
- # source://json//json/common.rb#230
+ # source://json//lib/json/common.rb#233
def parse!(source, opts = T.unsafe(nil)); end
# Returns the JSON parser class that is used by JSON. This is either
# JSON::Ext::Parser or JSON::Pure::Parser:
# JSON.parser # => JSON::Ext::Parser
#
- # source://json//json/common.rb#29
+ # source://json//lib/json/common.rb#32
def parser; end
# Set the JSON parser class _parser_ to be used by JSON.
#
- # source://json//json/common.rb#32
+ # source://json//lib/json/common.rb#35
def parser=(parser); end
# :call-seq:
@@ -1401,111 +1417,123 @@ module JSON
# }
# }
#
- # source://json//json/common.rb#390
+ # source://json//lib/json/common.rb#373
def pretty_generate(obj, opts = T.unsafe(nil)); end
# :stopdoc:
# I want to deprecate these later, so I'll first be silent about them, and later delete them.
#
- # source://json//json/common.rb#390
+ # source://json//lib/json/common.rb#373
def pretty_unparse(obj, opts = T.unsafe(nil)); end
# Recursively calls passed _Proc_ if the parsed data structure is an _Array_ or _Hash_
#
- # source://json//json/common.rb#575
+ # source://json//lib/json/common.rb#558
def recurse_proc(result, &proc); end
- # source://json//json/common.rb#557
+ # source://json//lib/json/common.rb#540
def restore(source, proc = T.unsafe(nil), options = T.unsafe(nil)); end
# Sets or Returns the JSON generator state class that is used by JSON. This is
# either JSON::Ext::Generator::State or JSON::Pure::Generator::State:
# JSON.state # => JSON::Ext::Generator::State
#
- # source://json//json/common.rb#108
+ # source://json//lib/json/common.rb#111
def state; end
# Sets or Returns the JSON generator state class that is used by JSON. This is
# either JSON::Ext::Generator::State or JSON::Pure::Generator::State:
# JSON.state # => JSON::Ext::Generator::State
#
- # source://json//json/common.rb#108
+ # source://json//lib/json/common.rb#111
def state=(_arg0); end
# :stopdoc:
# I want to deprecate these later, so I'll first be silent about them, and
# later delete them.
#
- # source://json//json/common.rb#296
+ # source://json//lib/json/common.rb#299
def unparse(obj, opts = T.unsafe(nil)); end
+
+ private
+
+ # source://json//lib/json/common.rb#642
+ def merge_dump_options(opts, strict: T.unsafe(nil)); end
end
end
-# source://json//json/common.rb#114
+# source://json//lib/json/common.rb#117
JSON::CREATE_ID_TLS_KEY = T.let(T.unsafe(nil), String)
-# source://json//json/common.rb#111
+# source://json//lib/json/common.rb#114
JSON::DEFAULT_CREATE_ID = T.let(T.unsafe(nil), String)
+# source://json//lib/json/generic_object.rb#5
class JSON::GenericObject < ::OpenStruct
- # source://json//json/generic_object.rb#63
+ # source://json//lib/json/generic_object.rb#63
def as_json(*_arg0); end
- # source://json//json/generic_object.rb#47
+ # source://json//lib/json/generic_object.rb#47
def to_hash; end
- # source://json//json/generic_object.rb#67
+ # source://json//lib/json/generic_object.rb#67
def to_json(*a); end
- # source://json//json/generic_object.rb#59
+ # source://json//lib/json/generic_object.rb#59
def |(other); end
class << self
- # source://json//json/generic_object.rb#41
+ # source://json//lib/json/generic_object.rb#41
def dump(obj, *args); end
- # source://json//json/generic_object.rb#21
+ # source://json//lib/json/generic_object.rb#21
def from_hash(object); end
# Sets the attribute json_creatable
#
# @param value the value to set the attribute json_creatable to.
#
- # source://json//json/generic_object.rb#13
+ # source://json//lib/json/generic_object.rb#13
def json_creatable=(_arg0); end
# @return [Boolean]
#
- # source://json//json/generic_object.rb#9
+ # source://json//lib/json/generic_object.rb#9
def json_creatable?; end
- # source://json//json/generic_object.rb#15
+ # source://json//lib/json/generic_object.rb#15
def json_create(data); end
- # source://json//json/generic_object.rb#36
+ # source://json//lib/json/generic_object.rb#36
def load(source, proc = T.unsafe(nil), opts = T.unsafe(nil)); end
end
end
# The base exception for JSON errors.
+#
+# source://json//lib/json/common.rb#140
class JSON::JSONError < ::StandardError
class << self
- # source://json//json/common.rb#138
+ # source://json//lib/json/common.rb#141
def wrap(exception); end
end
end
-# source://json//json/common.rb#35
+# source://json//lib/json/common.rb#6
+JSON::NOT_SET = T.let(T.unsafe(nil), Object)
+
+# source://json//lib/json/common.rb#38
JSON::Parser = JSON::Ext::Parser
-# source://json//json/common.rb#73
+# source://json//lib/json/common.rb#76
JSON::State = JSON::Ext::Generator::State
# For backwards compatibility
#
-# source://json//json/common.rb#159
+# source://json//lib/json/common.rb#162
JSON::UnparserError = JSON::GeneratorError
+# source://json//lib/json/common.rb#652
module Kernel
private
@@ -1516,18 +1544,18 @@ module Kernel
# The _opts_ argument is passed through to generate/parse respectively. See
# generate and parse for their documentation.
#
- # source://json//json/common.rb#685
+ # source://json//lib/json/common.rb#679
def JSON(object, *args); end
# Outputs _objs_ to STDOUT as JSON strings in the shortest form, that is in
# one line.
#
- # source://json//json/common.rb#663
+ # source://json//lib/json/common.rb#657
def j(*objs); end
# Outputs _objs_ to STDOUT as JSON strings in a pretty format, with
# indentation and over many lines.
#
- # source://json//json/common.rb#672
+ # source://json//lib/json/common.rb#666
def jj(*objs); end
end
diff --git a/sorbet/rbi/gems/minitest@5.19.0.rbi b/sorbet/rbi/gems/minitest@5.22.2.rbi
similarity index 76%
rename from sorbet/rbi/gems/minitest@5.19.0.rbi
rename to sorbet/rbi/gems/minitest@5.22.2.rbi
index cf760e917..0b564afcc 100644
--- a/sorbet/rbi/gems/minitest@5.19.0.rbi
+++ b/sorbet/rbi/gems/minitest@5.22.2.rbi
@@ -12,7 +12,7 @@ module Minitest
# Internal run method. Responsible for telling all Runnable
# sub-classes to run.
#
- # source://minitest//lib/minitest.rb#173
+ # source://minitest//lib/minitest.rb#197
def __run(reporter, options); end
# A simple hook allowing you to run a block of code after everything
@@ -20,12 +20,18 @@ module Minitest
#
# Minitest.after_run { p $debugging_info }
#
- # source://minitest//lib/minitest.rb#94
+ # source://minitest//lib/minitest.rb#97
def after_run(&block); end
+ # source://minitest//lib/minitest.rb#19
+ def allow_fork; end
+
+ # source://minitest//lib/minitest.rb#19
+ def allow_fork=(_arg0); end
+
# Registers Minitest to run at process exit
#
- # source://minitest//lib/minitest.rb#66
+ # source://minitest//lib/minitest.rb#69
def autorun; end
# source://minitest//lib/minitest.rb#19
@@ -37,16 +43,19 @@ module Minitest
# source://minitest//lib/minitest.rb#18
def cattr_accessor(name); end
- # source://minitest//lib/minitest.rb#1099
+ # source://minitest//lib/minitest.rb#1146
def clock_time; end
+ # source://minitest//lib/minitest.rb#177
+ def empty_run!(options); end
+
# source://minitest//lib/minitest.rb#19
def extensions; end
# source://minitest//lib/minitest.rb#19
def extensions=(_arg0); end
- # source://minitest//lib/minitest.rb#264
+ # source://minitest//lib/minitest.rb#292
def filter_backtrace(bt); end
# source://minitest//lib/minitest.rb#19
@@ -55,10 +64,10 @@ module Minitest
# source://minitest//lib/minitest.rb#19
def info_signal=(_arg0); end
- # source://minitest//lib/minitest.rb#98
+ # source://minitest//lib/minitest.rb#101
def init_plugins(options); end
- # source://minitest//lib/minitest.rb#105
+ # source://minitest//lib/minitest.rb#108
def load_plugins; end
# source://minitest//lib/minitest.rb#19
@@ -67,7 +76,7 @@ module Minitest
# source://minitest//lib/minitest.rb#19
def parallel_executor=(_arg0); end
- # source://minitest//lib/minitest.rb#186
+ # source://minitest//lib/minitest.rb#210
def process_args(args = T.unsafe(nil)); end
# source://minitest//lib/minitest.rb#19
@@ -86,16 +95,16 @@ module Minitest
# Minitest.run(args)
# Minitest.__run(reporter, options)
# Runnable.runnables.each
- # runnable.run(reporter, options)
+ # runnable_klass.run(reporter, options)
# self.runnable_methods.each
# self.run_one_method(self, runnable_method, reporter)
# Minitest.run_one_method(klass, runnable_method)
# klass.new(runnable_method).run
#
- # source://minitest//lib/minitest.rb#140
+ # source://minitest//lib/minitest.rb#143
def run(args = T.unsafe(nil)); end
- # source://minitest//lib/minitest.rb#1090
+ # source://minitest//lib/minitest.rb#1137
def run_one_method(klass, method_name); end
# source://minitest//lib/minitest.rb#19
@@ -109,27 +118,24 @@ end
# Defines the API for Reporters. Subclass this and override whatever
# you want. Go nuts.
#
-# source://minitest//lib/minitest.rb#618
+# source://minitest//lib/minitest.rb#638
class Minitest::AbstractReporter
- include ::Mutex_m
-
- # source://mutex_m/0.1.2/mutex_m.rb#93
- def lock; end
-
- # source://mutex_m/0.1.2/mutex_m.rb#83
- def locked?; end
+ # @return [AbstractReporter] a new instance of AbstractReporter
+ #
+ # source://minitest//lib/minitest.rb#640
+ def initialize; end
# Did this run pass?
#
# @return [Boolean]
#
- # source://minitest//lib/minitest.rb#652
+ # source://minitest//lib/minitest.rb#675
def passed?; end
# About to start running a test. This allows a reporter to show
# that it is starting or that we are in the middle of a test run.
#
- # source://minitest//lib/minitest.rb#631
+ # source://minitest//lib/minitest.rb#654
def prerecord(klass, name); end
# Output and record the result of the test. Call
@@ -137,48 +143,45 @@ class Minitest::AbstractReporter
# result character string. Stores the result of the run if the run
# did not pass.
#
- # source://minitest//lib/minitest.rb#640
+ # source://minitest//lib/minitest.rb#663
def record(result); end
# Outputs the summary of the run.
#
- # source://minitest//lib/minitest.rb#646
+ # source://minitest//lib/minitest.rb#669
def report; end
# Starts reporting on the run.
#
- # source://minitest//lib/minitest.rb#624
+ # source://minitest//lib/minitest.rb#647
def start; end
- # source://mutex_m/0.1.2/mutex_m.rb#78
+ # source://minitest//lib/minitest.rb#679
def synchronize(&block); end
-
- # source://mutex_m/0.1.2/mutex_m.rb#88
- def try_lock; end
-
- # source://mutex_m/0.1.2/mutex_m.rb#98
- def unlock; end
end
# Represents run failures.
#
-# source://minitest//lib/minitest.rb#935
+# source://minitest//lib/minitest.rb#962
class Minitest::Assertion < ::Exception
- # source://minitest//lib/minitest.rb#936
+ # source://minitest//lib/minitest.rb#965
def error; end
# Where was this run before an assertion was raised?
#
- # source://minitest//lib/minitest.rb#943
+ # source://minitest//lib/minitest.rb#972
def location; end
- # source://minitest//lib/minitest.rb#952
+ # source://minitest//lib/minitest.rb#980
def result_code; end
- # source://minitest//lib/minitest.rb#956
+ # source://minitest//lib/minitest.rb#984
def result_label; end
end
+# source://minitest//lib/minitest.rb#963
+Minitest::Assertion::RE = T.let(T.unsafe(nil), Regexp)
+
# Minitest Assertions. All assertion methods accept a +msg+ which is
# printed if the assertion fails.
#
@@ -193,6 +196,9 @@ module Minitest::Assertions
# source://minitest//lib/minitest/assertions.rb#188
def _synchronize; end
+ # source://minitest//lib/minitest/assertions.rb#201
+ def _where; end
+
# Fails unless +test+ is truthy.
#
# source://minitest//lib/minitest/assertions.rb#178
@@ -215,7 +221,7 @@ module Minitest::Assertions
#
# See also: Minitest::Assertions.diff
#
- # source://minitest//lib/minitest/assertions.rb#216
+ # source://minitest//lib/minitest/assertions.rb#221
def assert_equal(exp, act, msg = T.unsafe(nil)); end
# For comparing Floats. Fails unless +exp+ and +act+ are within +delta+
@@ -223,45 +229,45 @@ module Minitest::Assertions
#
# assert_in_delta Math::PI, (22.0 / 7.0), 0.01
#
- # source://minitest//lib/minitest/assertions.rb#240
+ # source://minitest//lib/minitest/assertions.rb#242
def assert_in_delta(exp, act, delta = T.unsafe(nil), msg = T.unsafe(nil)); end
# For comparing Floats. Fails unless +exp+ and +act+ have a relative
# error less than +epsilon+.
#
- # source://minitest//lib/minitest/assertions.rb#252
+ # source://minitest//lib/minitest/assertions.rb#254
def assert_in_epsilon(exp, act, epsilon = T.unsafe(nil), msg = T.unsafe(nil)); end
# Fails unless +collection+ includes +obj+.
#
- # source://minitest//lib/minitest/assertions.rb#259
+ # source://minitest//lib/minitest/assertions.rb#261
def assert_includes(collection, obj, msg = T.unsafe(nil)); end
# Fails unless +obj+ is an instance of +cls+.
#
- # source://minitest//lib/minitest/assertions.rb#270
+ # source://minitest//lib/minitest/assertions.rb#272
def assert_instance_of(cls, obj, msg = T.unsafe(nil)); end
# Fails unless +obj+ is a kind of +cls+.
#
- # source://minitest//lib/minitest/assertions.rb#281
+ # source://minitest//lib/minitest/assertions.rb#283
def assert_kind_of(cls, obj, msg = T.unsafe(nil)); end
# Fails unless +matcher+ =~ +obj+.
#
- # source://minitest//lib/minitest/assertions.rb#291
+ # source://minitest//lib/minitest/assertions.rb#293
def assert_match(matcher, obj, msg = T.unsafe(nil)); end
# Fails unless +obj+ is nil
#
- # source://minitest//lib/minitest/assertions.rb#303
+ # source://minitest//lib/minitest/assertions.rb#305
def assert_nil(obj, msg = T.unsafe(nil)); end
# For testing with binary operators. Eg:
#
# assert_operator 5, :<=, 4
#
- # source://minitest//lib/minitest/assertions.rb#313
+ # source://minitest//lib/minitest/assertions.rb#315
def assert_operator(o1, op, o2 = T.unsafe(nil), msg = T.unsafe(nil)); end
# Fails if stdout or stderr do not output the expected results.
@@ -275,12 +281,12 @@ module Minitest::Assertions
#
# See also: #assert_silent
#
- # source://minitest//lib/minitest/assertions.rb#331
+ # source://minitest//lib/minitest/assertions.rb#333
def assert_output(stdout = T.unsafe(nil), stderr = T.unsafe(nil)); end
# Fails unless +path+ exists.
#
- # source://minitest//lib/minitest/assertions.rb#355
+ # source://minitest//lib/minitest/assertions.rb#357
def assert_path_exists(path, msg = T.unsafe(nil)); end
# For testing with pattern matching (only supported with Ruby 3.0 and later)
@@ -298,7 +304,7 @@ module Minitest::Assertions
#
# @raise [NotImplementedError]
#
- # source://minitest//lib/minitest/assertions.rb#374
+ # source://minitest//lib/minitest/assertions.rb#376
def assert_pattern; end
# For testing with predicates. Eg:
@@ -309,7 +315,7 @@ module Minitest::Assertions
#
# str.must_be :empty?
#
- # source://minitest//lib/minitest/assertions.rb#395
+ # source://minitest//lib/minitest/assertions.rb#397
def assert_predicate(o1, op, msg = T.unsafe(nil)); end
# Fails unless the block raises one of +exp+. Returns the
@@ -333,36 +339,37 @@ module Minitest::Assertions
#
# assert_equal 'This is really bad', error.message
#
- # source://minitest//lib/minitest/assertions.rb#422
+ # source://minitest//lib/minitest/assertions.rb#424
def assert_raises(*exp); end
# Fails unless +obj+ responds to +meth+.
+ # include_all defaults to false to match Object#respond_to?
#
- # source://minitest//lib/minitest/assertions.rb#453
- def assert_respond_to(obj, meth, msg = T.unsafe(nil)); end
+ # source://minitest//lib/minitest/assertions.rb#456
+ def assert_respond_to(obj, meth, msg = T.unsafe(nil), include_all: T.unsafe(nil)); end
# Fails unless +exp+ and +act+ are #equal?
#
- # source://minitest//lib/minitest/assertions.rb#463
+ # source://minitest//lib/minitest/assertions.rb#466
def assert_same(exp, act, msg = T.unsafe(nil)); end
# +send_ary+ is a receiver, message and arguments.
#
# Fails unless the call returns a true value
#
- # source://minitest//lib/minitest/assertions.rb#476
+ # source://minitest//lib/minitest/assertions.rb#479
def assert_send(send_ary, m = T.unsafe(nil)); end
# Fails if the block outputs anything to stderr or stdout.
#
# See also: #assert_output
#
- # source://minitest//lib/minitest/assertions.rb#492
+ # source://minitest//lib/minitest/assertions.rb#493
def assert_silent; end
# Fails unless the block throws +sym+
#
- # source://minitest//lib/minitest/assertions.rb#501
+ # source://minitest//lib/minitest/assertions.rb#502
def assert_throws(sym, msg = T.unsafe(nil)); end
# Captures $stdout and $stderr into strings:
@@ -379,7 +386,7 @@ module Minitest::Assertions
# capture IO for subprocesses. Use #capture_subprocess_io for
# that.
#
- # source://minitest//lib/minitest/assertions.rb#542
+ # source://minitest//lib/minitest/assertions.rb#543
def capture_io; end
# Captures $stdout and $stderr into strings, using Tempfile to
@@ -396,7 +403,7 @@ module Minitest::Assertions
# NOTE: This method is approximately 10x slower than #capture_io so
# only use it when you need to test the output of a subprocess.
#
- # source://minitest//lib/minitest/assertions.rb#575
+ # source://minitest//lib/minitest/assertions.rb#576
def capture_subprocess_io; end
# Returns a diff between +exp+ and +act+. If there is no known
@@ -411,24 +418,24 @@ module Minitest::Assertions
# Returns details for exception +e+
#
- # source://minitest//lib/minitest/assertions.rb#607
+ # source://minitest//lib/minitest/assertions.rb#608
def exception_details(e, msg); end
# Fails after a given date (in the local time zone). This allows
# you to put time-bombs in your tests if you need to keep
# something around until a later date lest you forget about it.
#
- # source://minitest//lib/minitest/assertions.rb#623
+ # source://minitest//lib/minitest/assertions.rb#624
def fail_after(y, m, d, msg); end
# Fails with +msg+.
#
- # source://minitest//lib/minitest/assertions.rb#630
+ # source://minitest//lib/minitest/assertions.rb#631
def flunk(msg = T.unsafe(nil)); end
# Returns a proc that will output +msg+ along with the default message.
#
- # source://minitest//lib/minitest/assertions.rb#638
+ # source://minitest//lib/minitest/assertions.rb#639
def message(msg = T.unsafe(nil), ending = T.unsafe(nil), &default); end
# This returns a human-readable version of +obj+. By default
@@ -450,62 +457,62 @@ module Minitest::Assertions
# used for counting assertions
#
- # source://minitest//lib/minitest/assertions.rb#649
+ # source://minitest//lib/minitest/assertions.rb#650
def pass(_msg = T.unsafe(nil)); end
# Fails if +test+ is truthy.
#
- # source://minitest//lib/minitest/assertions.rb#656
+ # source://minitest//lib/minitest/assertions.rb#657
def refute(test, msg = T.unsafe(nil)); end
# Fails if +obj+ is empty.
#
- # source://minitest//lib/minitest/assertions.rb#664
+ # source://minitest//lib/minitest/assertions.rb#665
def refute_empty(obj, msg = T.unsafe(nil)); end
# Fails if exp == act.
#
# For floats use refute_in_delta.
#
- # source://minitest//lib/minitest/assertions.rb#675
+ # source://minitest//lib/minitest/assertions.rb#676
def refute_equal(exp, act, msg = T.unsafe(nil)); end
# For comparing Floats. Fails if +exp+ is within +delta+ of +act+.
#
# refute_in_delta Math::PI, (22.0 / 7.0)
#
- # source://minitest//lib/minitest/assertions.rb#687
+ # source://minitest//lib/minitest/assertions.rb#688
def refute_in_delta(exp, act, delta = T.unsafe(nil), msg = T.unsafe(nil)); end
# For comparing Floats. Fails if +exp+ and +act+ have a relative error
# less than +epsilon+.
#
- # source://minitest//lib/minitest/assertions.rb#699
+ # source://minitest//lib/minitest/assertions.rb#700
def refute_in_epsilon(a, b, epsilon = T.unsafe(nil), msg = T.unsafe(nil)); end
# Fails if +collection+ includes +obj+.
#
- # source://minitest//lib/minitest/assertions.rb#706
+ # source://minitest//lib/minitest/assertions.rb#707
def refute_includes(collection, obj, msg = T.unsafe(nil)); end
# Fails if +obj+ is an instance of +cls+.
#
- # source://minitest//lib/minitest/assertions.rb#717
+ # source://minitest//lib/minitest/assertions.rb#718
def refute_instance_of(cls, obj, msg = T.unsafe(nil)); end
# Fails if +obj+ is a kind of +cls+.
#
- # source://minitest//lib/minitest/assertions.rb#727
+ # source://minitest//lib/minitest/assertions.rb#728
def refute_kind_of(cls, obj, msg = T.unsafe(nil)); end
# Fails if +matcher+ =~ +obj+.
#
- # source://minitest//lib/minitest/assertions.rb#735
+ # source://minitest//lib/minitest/assertions.rb#736
def refute_match(matcher, obj, msg = T.unsafe(nil)); end
# Fails if +obj+ is nil.
#
- # source://minitest//lib/minitest/assertions.rb#745
+ # source://minitest//lib/minitest/assertions.rb#746
def refute_nil(obj, msg = T.unsafe(nil)); end
# Fails if +o1+ is not +op+ +o2+. Eg:
@@ -513,12 +520,12 @@ module Minitest::Assertions
# refute_operator 1, :>, 2 #=> pass
# refute_operator 1, :<, 2 #=> fail
#
- # source://minitest//lib/minitest/assertions.rb#780
+ # source://minitest//lib/minitest/assertions.rb#781
def refute_operator(o1, op, o2 = T.unsafe(nil), msg = T.unsafe(nil)); end
# Fails if +path+ exists.
#
- # source://minitest//lib/minitest/assertions.rb#789
+ # source://minitest//lib/minitest/assertions.rb#790
def refute_path_exists(path, msg = T.unsafe(nil)); end
# For testing with pattern matching (only supported with Ruby 3.0 and later)
@@ -534,7 +541,7 @@ module Minitest::Assertions
#
# @raise [NotImplementedError]
#
- # source://minitest//lib/minitest/assertions.rb#762
+ # source://minitest//lib/minitest/assertions.rb#763
def refute_pattern; end
# For testing with predicates.
@@ -545,17 +552,18 @@ module Minitest::Assertions
#
# str.wont_be :empty?
#
- # source://minitest//lib/minitest/assertions.rb#803
+ # source://minitest//lib/minitest/assertions.rb#804
def refute_predicate(o1, op, msg = T.unsafe(nil)); end
# Fails if +obj+ responds to the message +meth+.
+ # include_all defaults to false to match Object#respond_to?
#
- # source://minitest//lib/minitest/assertions.rb#811
- def refute_respond_to(obj, meth, msg = T.unsafe(nil)); end
+ # source://minitest//lib/minitest/assertions.rb#813
+ def refute_respond_to(obj, meth, msg = T.unsafe(nil), include_all: T.unsafe(nil)); end
# Fails if +exp+ is the same (by object identity) as +act+.
#
- # source://minitest//lib/minitest/assertions.rb#820
+ # source://minitest//lib/minitest/assertions.rb#822
def refute_same(exp, act, msg = T.unsafe(nil)); end
# Skips the current run. If run in verbose-mode, the skipped run
@@ -564,22 +572,22 @@ module Minitest::Assertions
#
# @raise [Minitest::Skip]
#
- # source://minitest//lib/minitest/assertions.rb#833
- def skip(msg = T.unsafe(nil), bt = T.unsafe(nil)); end
+ # source://minitest//lib/minitest/assertions.rb#835
+ def skip(msg = T.unsafe(nil), _ignored = T.unsafe(nil)); end
# Skips the current run until a given date (in the local time
# zone). This allows you to put some fixes on hold until a later
# date, but still holds you accountable and prevents you from
# forgetting it.
#
- # source://minitest//lib/minitest/assertions.rb#845
+ # source://minitest//lib/minitest/assertions.rb#847
def skip_until(y, m, d, msg); end
# Was this testcase skipped? Meant for #teardown.
#
# @return [Boolean]
#
- # source://minitest//lib/minitest/assertions.rb#854
+ # source://minitest//lib/minitest/assertions.rb#856
def skipped?; end
# Returns things to diff [expect, butwas], or [nil, nil] if nothing to diff.
@@ -608,7 +616,7 @@ module Minitest::Assertions
end
end
-# source://minitest//lib/minitest/assertions.rb#201
+# source://minitest//lib/minitest/assertions.rb#206
Minitest::Assertions::E = T.let(T.unsafe(nil), String)
# source://minitest//lib/minitest/assertions.rb#19
@@ -618,63 +626,91 @@ Minitest::Assertions::UNDEFINED = T.let(T.unsafe(nil), Object)
#
# See Minitest.backtrace_filter=.
#
-# source://minitest//lib/minitest.rb#1067
+# source://minitest//lib/minitest.rb#1108
class Minitest::BacktraceFilter
+ # @return [BacktraceFilter] a new instance of BacktraceFilter
+ #
+ # source://minitest//lib/minitest.rb#1114
+ def initialize(regexp = T.unsafe(nil)); end
+
# Filter +bt+ to something useful. Returns the whole thing if
# $DEBUG (ruby) or $MT_DEBUG (env).
#
- # source://minitest//lib/minitest.rb#1075
+ # source://minitest//lib/minitest.rb#1122
def filter(bt); end
+
+ # Returns the value of attribute regexp.
+ #
+ # source://minitest//lib/minitest.rb#1112
+ def regexp; end
+
+ # Sets the attribute regexp
+ #
+ # @param value the value to set the attribute regexp to.
+ #
+ # source://minitest//lib/minitest.rb#1112
+ def regexp=(_arg0); end
end
-# source://minitest//lib/minitest.rb#1069
+# source://minitest//lib/minitest.rb#1110
Minitest::BacktraceFilter::MT_RE = T.let(T.unsafe(nil), Regexp)
# Dispatch to multiple reporters as one.
#
-# source://minitest//lib/minitest.rb#884
+# source://minitest//lib/minitest.rb#911
class Minitest::CompositeReporter < ::Minitest::AbstractReporter
# @return [CompositeReporter] a new instance of CompositeReporter
#
- # source://minitest//lib/minitest.rb#890
+ # source://minitest//lib/minitest.rb#917
def initialize(*reporters); end
# Add another reporter to the mix.
#
- # source://minitest//lib/minitest.rb#902
+ # source://minitest//lib/minitest.rb#929
def <<(reporter); end
- # source://minitest//lib/minitest.rb#895
+ # source://minitest//lib/minitest.rb#922
def io; end
# @return [Boolean]
#
- # source://minitest//lib/minitest.rb#906
+ # source://minitest//lib/minitest.rb#933
def passed?; end
- # source://minitest//lib/minitest.rb#914
+ # source://minitest//lib/minitest.rb#941
def prerecord(klass, name); end
- # source://minitest//lib/minitest.rb#921
+ # source://minitest//lib/minitest.rb#948
def record(result); end
- # source://minitest//lib/minitest.rb#927
+ # source://minitest//lib/minitest.rb#954
def report; end
# The list of reporters to dispatch to.
#
- # source://minitest//lib/minitest.rb#888
+ # source://minitest//lib/minitest.rb#915
def reporters; end
# The list of reporters to dispatch to.
#
- # source://minitest//lib/minitest.rb#888
+ # source://minitest//lib/minitest.rb#915
def reporters=(_arg0); end
- # source://minitest//lib/minitest.rb#910
+ # source://minitest//lib/minitest.rb#937
def start; end
end
+# Compresses backtraces.
+#
+# source://minitest//lib/minitest/compress.rb#5
+module Minitest::Compress
+ # Takes a backtrace (array of strings) and compresses repeating
+ # cycles in it to make it more readable.
+ #
+ # source://minitest//lib/minitest/compress.rb#11
+ def compress(orig); end
+end
+
# Provides a simple set of guards that you can use in your tests
# to skip execution if it is not applicable. These methods are
# mixed into Test as both instance and class methods so you
@@ -689,48 +725,48 @@ end
# # ... lots of test methods ...
# end
#
-# source://minitest//lib/minitest.rb#1011
+# source://minitest//lib/minitest.rb#1052
module Minitest::Guard
# Is this running on jruby?
#
# @return [Boolean]
#
- # source://minitest//lib/minitest.rb#1016
+ # source://minitest//lib/minitest.rb#1057
def jruby?(platform = T.unsafe(nil)); end
# Is this running on maglev?
#
# @return [Boolean]
#
- # source://minitest//lib/minitest.rb#1023
+ # source://minitest//lib/minitest.rb#1064
def maglev?(platform = T.unsafe(nil)); end
# Is this running on mri?
#
# @return [Boolean]
#
- # source://minitest//lib/minitest.rb#1033
+ # source://minitest//lib/minitest.rb#1074
def mri?(platform = T.unsafe(nil)); end
# Is this running on macOS?
#
# @return [Boolean]
#
- # source://minitest//lib/minitest.rb#1040
+ # source://minitest//lib/minitest.rb#1081
def osx?(platform = T.unsafe(nil)); end
# Is this running on rubinius?
#
# @return [Boolean]
#
- # source://minitest//lib/minitest.rb#1047
+ # source://minitest//lib/minitest.rb#1088
def rubinius?(platform = T.unsafe(nil)); end
# Is this running on windows?
#
# @return [Boolean]
#
- # source://minitest//lib/minitest.rb#1057
+ # source://minitest//lib/minitest.rb#1098
def windows?(platform = T.unsafe(nil)); end
end
@@ -793,36 +829,36 @@ end
# plugin, pull this out of the composite and replace it with your
# own.
#
-# source://minitest//lib/minitest.rb#683
+# source://minitest//lib/minitest.rb#710
class Minitest::ProgressReporter < ::Minitest::Reporter
- # source://minitest//lib/minitest.rb#684
+ # source://minitest//lib/minitest.rb#711
def prerecord(klass, name); end
- # source://minitest//lib/minitest.rb#691
+ # source://minitest//lib/minitest.rb#718
def record(result); end
end
# Shared code for anything that can get passed to a Reporter. See
# Minitest::Test & Minitest::Result.
#
-# source://minitest//lib/minitest.rb#514
+# source://minitest//lib/minitest.rb#532
module Minitest::Reportable
# @raise [NotImplementedError]
#
- # source://minitest//lib/minitest.rb#534
+ # source://minitest//lib/minitest.rb#554
def class_name; end
# Did this run error?
#
# @return [Boolean]
#
- # source://minitest//lib/minitest.rb#555
+ # source://minitest//lib/minitest.rb#575
def error?; end
# The location identifier of this test. Depends on a method
# existing called class_name.
#
- # source://minitest//lib/minitest.rb#529
+ # source://minitest//lib/minitest.rb#549
def location; end
# Did this run pass?
@@ -832,47 +868,50 @@ module Minitest::Reportable
#
# @return [Boolean]
#
- # source://minitest//lib/minitest.rb#521
+ # source://minitest//lib/minitest.rb#539
def passed?; end
# Returns ".", "F", or "E" based on the result of the run.
#
- # source://minitest//lib/minitest.rb#541
+ # source://minitest//lib/minitest.rb#561
def result_code; end
# Was this run skipped?
#
# @return [Boolean]
#
- # source://minitest//lib/minitest.rb#548
+ # source://minitest//lib/minitest.rb#568
def skipped?; end
end
-# source://minitest//lib/minitest.rb#659
+# source://minitest//lib/minitest.rb#543
+Minitest::Reportable::BASE_DIR = T.let(T.unsafe(nil), String)
+
+# source://minitest//lib/minitest.rb#686
class Minitest::Reporter < ::Minitest::AbstractReporter
# @return [Reporter] a new instance of Reporter
#
- # source://minitest//lib/minitest.rb#668
+ # source://minitest//lib/minitest.rb#695
def initialize(io = T.unsafe(nil), options = T.unsafe(nil)); end
# The IO used to report.
#
- # source://minitest//lib/minitest.rb#661
+ # source://minitest//lib/minitest.rb#688
def io; end
# The IO used to report.
#
- # source://minitest//lib/minitest.rb#661
+ # source://minitest//lib/minitest.rb#688
def io=(_arg0); end
# Command-line options for this run.
#
- # source://minitest//lib/minitest.rb#666
+ # source://minitest//lib/minitest.rb#693
def options; end
# Command-line options for this run.
#
- # source://minitest//lib/minitest.rb#666
+ # source://minitest//lib/minitest.rb#693
def options=(_arg0); end
end
@@ -882,80 +921,80 @@ end
# blow up. By using Result.from(a_test) you can be reasonably sure
# that the test result can be marshalled.
#
-# source://minitest//lib/minitest.rb#567
+# source://minitest//lib/minitest.rb#587
class Minitest::Result < ::Minitest::Runnable
include ::Minitest::Reportable
- # source://minitest//lib/minitest.rb#601
+ # source://minitest//lib/minitest.rb#621
def class_name; end
# The class name of the test result.
#
- # source://minitest//lib/minitest.rb#576
+ # source://minitest//lib/minitest.rb#596
def klass; end
# The class name of the test result.
#
- # source://minitest//lib/minitest.rb#576
+ # source://minitest//lib/minitest.rb#596
def klass=(_arg0); end
# The location of the test method.
#
- # source://minitest//lib/minitest.rb#581
+ # source://minitest//lib/minitest.rb#601
def source_location; end
# The location of the test method.
#
- # source://minitest//lib/minitest.rb#581
+ # source://minitest//lib/minitest.rb#601
def source_location=(_arg0); end
- # source://minitest//lib/minitest.rb#605
+ # source://minitest//lib/minitest.rb#625
def to_s; end
class << self
# Create a new test result from a Runnable instance.
#
- # source://minitest//lib/minitest.rb#586
+ # source://minitest//lib/minitest.rb#606
def from(runnable); end
end
end
# re-open
#
-# source://minitest//lib/minitest.rb#277
+# source://minitest//lib/minitest.rb#305
class Minitest::Runnable
# @return [Runnable] a new instance of Runnable
#
- # source://minitest//lib/minitest.rb#445
+ # source://minitest//lib/minitest.rb#463
def initialize(name); end
# Number of assertions executed in this run.
#
- # source://minitest//lib/minitest.rb#281
+ # source://minitest//lib/minitest.rb#309
def assertions; end
# Number of assertions executed in this run.
#
- # source://minitest//lib/minitest.rb#281
+ # source://minitest//lib/minitest.rb#309
def assertions=(_arg0); end
- # source://minitest//lib/minitest.rb#441
+ # source://minitest//lib/minitest.rb#459
def failure; end
# An assertion raised during the run, if any.
#
- # source://minitest//lib/minitest.rb#286
+ # source://minitest//lib/minitest.rb#314
def failures; end
# An assertion raised during the run, if any.
#
- # source://minitest//lib/minitest.rb#286
+ # source://minitest//lib/minitest.rb#314
def failures=(_arg0); end
- # source://minitest//lib/minitest.rb#427
+ # source://minitest//lib/minitest.rb#445
def marshal_dump; end
- # source://minitest//lib/minitest.rb#437
+ # source://minitest//lib/minitest.rb#455
def marshal_load(ary); end
# Metadata you attach to the test results that get sent to the reporter.
@@ -965,29 +1004,29 @@ class Minitest::Runnable
# NOTE: this data *must* be plain (read: marshal-able) data!
# Hashes! Arrays! Strings!
#
- # source://minitest//lib/minitest.rb#460
+ # source://minitest//lib/minitest.rb#478
def metadata; end
# Sets metadata, mainly used for +Result.from+.
#
- # source://minitest//lib/minitest.rb#467
+ # source://minitest//lib/minitest.rb#485
def metadata=(_arg0); end
# Returns true if metadata exists.
#
# @return [Boolean]
#
- # source://minitest//lib/minitest.rb#472
+ # source://minitest//lib/minitest.rb#490
def metadata?; end
# Name of the run.
#
- # source://minitest//lib/minitest.rb#304
+ # source://minitest//lib/minitest.rb#332
def name; end
# Set the name of the run.
#
- # source://minitest//lib/minitest.rb#311
+ # source://minitest//lib/minitest.rb#339
def name=(o); end
# Did this run pass?
@@ -998,7 +1037,7 @@ class Minitest::Runnable
# @raise [NotImplementedError]
# @return [Boolean]
#
- # source://minitest//lib/minitest.rb#489
+ # source://minitest//lib/minitest.rb#507
def passed?; end
# Returns a single character string to print based on the result
@@ -1007,14 +1046,14 @@ class Minitest::Runnable
#
# @raise [NotImplementedError]
#
- # source://minitest//lib/minitest.rb#498
+ # source://minitest//lib/minitest.rb#516
def result_code; end
# Runs a single method. Needs to return self.
#
# @raise [NotImplementedError]
#
- # source://minitest//lib/minitest.rb#479
+ # source://minitest//lib/minitest.rb#497
def run; end
# Was this run skipped? See #passed? for more information.
@@ -1022,42 +1061,42 @@ class Minitest::Runnable
# @raise [NotImplementedError]
# @return [Boolean]
#
- # source://minitest//lib/minitest.rb#505
+ # source://minitest//lib/minitest.rb#523
def skipped?; end
# The time it took to run.
#
- # source://minitest//lib/minitest.rb#291
+ # source://minitest//lib/minitest.rb#319
def time; end
# The time it took to run.
#
- # source://minitest//lib/minitest.rb#291
+ # source://minitest//lib/minitest.rb#319
def time=(_arg0); end
- # source://minitest//lib/minitest.rb#293
+ # source://minitest//lib/minitest.rb#321
def time_it; end
class << self
- # source://minitest//lib/minitest.rb#1109
+ # source://minitest//lib/minitest.rb#1156
def inherited(klass); end
# Returns all instance methods matching the pattern +re+.
#
- # source://minitest//lib/minitest.rb#318
+ # source://minitest//lib/minitest.rb#346
def methods_matching(re); end
- # source://minitest//lib/minitest.rb#397
+ # source://minitest//lib/minitest.rb#415
def on_signal(name, action); end
- # source://minitest//lib/minitest.rb#322
+ # source://minitest//lib/minitest.rb#350
def reset; end
# Responsible for running all runnable methods in a given class,
# each in its own instance. Each instance is passed to the
# reporter to record.
#
- # source://minitest//lib/minitest.rb#333
+ # source://minitest//lib/minitest.rb#361
def run(reporter, options = T.unsafe(nil)); end
# Runs a single method and has the reporter record the result.
@@ -1065,7 +1104,7 @@ class Minitest::Runnable
# that subclasses can specialize the running of an individual
# test. See Minitest::ParallelTest::ClassMethods for an example.
#
- # source://minitest//lib/minitest.rb#369
+ # source://minitest//lib/minitest.rb#387
def run_one_method(klass, method_name, reporter); end
# Each subclass of Runnable is responsible for overriding this
@@ -1073,33 +1112,33 @@ class Minitest::Runnable
#
# @raise [NotImplementedError]
#
- # source://minitest//lib/minitest.rb#414
+ # source://minitest//lib/minitest.rb#432
def runnable_methods; end
# Returns all subclasses of Runnable.
#
- # source://minitest//lib/minitest.rb#421
+ # source://minitest//lib/minitest.rb#439
def runnables; end
# Defines the order to run tests (:random by default). Override
# this or use a convenience method to change it for your tests.
#
- # source://minitest//lib/minitest.rb#378
+ # source://minitest//lib/minitest.rb#396
def test_order; end
- # source://minitest//lib/minitest.rb#382
+ # source://minitest//lib/minitest.rb#400
def with_info_handler(reporter, &block); end
end
end
-# source://minitest//lib/minitest.rb#395
+# source://minitest//lib/minitest.rb#413
Minitest::Runnable::SIGNALS = T.let(T.unsafe(nil), Hash)
# Assertion raised when skipping a run.
#
-# source://minitest//lib/minitest.rb#964
+# source://minitest//lib/minitest.rb#992
class Minitest::Skip < ::Minitest::Assertion
- # source://minitest//lib/minitest.rb#965
+ # source://minitest//lib/minitest.rb#993
def result_label; end
end
@@ -1123,113 +1162,113 @@ end
# end
# end
#
-# source://minitest//lib/minitest.rb#719
+# source://minitest//lib/minitest.rb#746
class Minitest::StatisticsReporter < ::Minitest::Reporter
# @return [StatisticsReporter] a new instance of StatisticsReporter
#
- # source://minitest//lib/minitest.rb#763
+ # source://minitest//lib/minitest.rb#790
def initialize(io = T.unsafe(nil), options = T.unsafe(nil)); end
# Total number of assertions.
#
- # source://minitest//lib/minitest.rb#723
+ # source://minitest//lib/minitest.rb#750
def assertions; end
# Total number of assertions.
#
- # source://minitest//lib/minitest.rb#723
+ # source://minitest//lib/minitest.rb#750
def assertions=(_arg0); end
# Total number of test cases.
#
- # source://minitest//lib/minitest.rb#728
+ # source://minitest//lib/minitest.rb#755
def count; end
# Total number of test cases.
#
- # source://minitest//lib/minitest.rb#728
+ # source://minitest//lib/minitest.rb#755
def count=(_arg0); end
# Total number of tests that erred.
#
- # source://minitest//lib/minitest.rb#756
+ # source://minitest//lib/minitest.rb#783
def errors; end
# Total number of tests that erred.
#
- # source://minitest//lib/minitest.rb#756
+ # source://minitest//lib/minitest.rb#783
def errors=(_arg0); end
# Total number of tests that failed.
#
- # source://minitest//lib/minitest.rb#751
+ # source://minitest//lib/minitest.rb#778
def failures; end
# Total number of tests that failed.
#
- # source://minitest//lib/minitest.rb#751
+ # source://minitest//lib/minitest.rb#778
def failures=(_arg0); end
# @return [Boolean]
#
- # source://minitest//lib/minitest.rb#776
+ # source://minitest//lib/minitest.rb#803
def passed?; end
- # source://minitest//lib/minitest.rb#784
+ # source://minitest//lib/minitest.rb#811
def record(result); end
# Report on the tracked statistics.
#
- # source://minitest//lib/minitest.rb#794
+ # source://minitest//lib/minitest.rb#821
def report; end
# An +Array+ of test cases that failed or were skipped.
#
- # source://minitest//lib/minitest.rb#733
+ # source://minitest//lib/minitest.rb#760
def results; end
# An +Array+ of test cases that failed or were skipped.
#
- # source://minitest//lib/minitest.rb#733
+ # source://minitest//lib/minitest.rb#760
def results=(_arg0); end
# Total number of tests that where skipped.
#
- # source://minitest//lib/minitest.rb#761
+ # source://minitest//lib/minitest.rb#788
def skips; end
# Total number of tests that where skipped.
#
- # source://minitest//lib/minitest.rb#761
+ # source://minitest//lib/minitest.rb#788
def skips=(_arg0); end
- # source://minitest//lib/minitest.rb#780
+ # source://minitest//lib/minitest.rb#807
def start; end
# Time the test run started. If available, the monotonic clock is
# used and this is a +Float+, otherwise it's an instance of
# +Time+.
#
- # source://minitest//lib/minitest.rb#740
+ # source://minitest//lib/minitest.rb#767
def start_time; end
# Time the test run started. If available, the monotonic clock is
# used and this is a +Float+, otherwise it's an instance of
# +Time+.
#
- # source://minitest//lib/minitest.rb#740
+ # source://minitest//lib/minitest.rb#767
def start_time=(_arg0); end
# Test run time. If available, the monotonic clock is used and
# this is a +Float+, otherwise it's an instance of +Time+.
#
- # source://minitest//lib/minitest.rb#746
+ # source://minitest//lib/minitest.rb#773
def total_time; end
# Test run time. If available, the monotonic clock is used and
# this is a +Float+, otherwise it's an instance of +Time+.
#
- # source://minitest//lib/minitest.rb#746
+ # source://minitest//lib/minitest.rb#773
def total_time=(_arg0); end
end
@@ -1241,48 +1280,48 @@ end
# plugin, pull this out of the composite and replace it with your
# own.
#
-# source://minitest//lib/minitest.rb#814
+# source://minitest//lib/minitest.rb#841
class Minitest::SummaryReporter < ::Minitest::StatisticsReporter
- # source://minitest//lib/minitest.rb#849
+ # source://minitest//lib/minitest.rb#876
def aggregated_results(io); end
# Returns the value of attribute old_sync.
#
- # source://minitest//lib/minitest.rb#817
+ # source://minitest//lib/minitest.rb#844
def old_sync; end
# Sets the attribute old_sync
#
# @param value the value to set the attribute old_sync to.
#
- # source://minitest//lib/minitest.rb#817
+ # source://minitest//lib/minitest.rb#844
def old_sync=(_arg0); end
- # source://minitest//lib/minitest.rb#832
+ # source://minitest//lib/minitest.rb#859
def report; end
# :startdoc:
#
- # source://minitest//lib/minitest.rb#820
+ # source://minitest//lib/minitest.rb#847
def start; end
- # source://minitest//lib/minitest.rb#844
+ # source://minitest//lib/minitest.rb#871
def statistics; end
- # source://minitest//lib/minitest.rb#869
+ # source://minitest//lib/minitest.rb#896
def summary; end
# :stopdoc:
#
- # source://minitest//lib/minitest.rb#816
+ # source://minitest//lib/minitest.rb#843
def sync; end
# :stopdoc:
#
- # source://minitest//lib/minitest.rb#816
+ # source://minitest//lib/minitest.rb#843
def sync=(_arg0); end
- # source://minitest//lib/minitest.rb#865
+ # source://minitest//lib/minitest.rb#892
def to_s; end
end
@@ -1463,32 +1502,37 @@ Minitest::Test::TEARDOWN_METHODS = T.let(T.unsafe(nil), Array)
# Assertion wrapping an unexpected error that was raised during a run.
#
-# source://minitest//lib/minitest.rb#973
+# source://minitest//lib/minitest.rb#1001
class Minitest::UnexpectedError < ::Minitest::Assertion
+ include ::Minitest::Compress
+
# @return [UnexpectedError] a new instance of UnexpectedError
#
- # source://minitest//lib/minitest.rb#977
+ # source://minitest//lib/minitest.rb#1007
def initialize(error); end
- # source://minitest//lib/minitest.rb#982
+ # source://minitest//lib/minitest.rb#1020
def backtrace; end
# TODO: figure out how to use `cause` instead
#
- # source://minitest//lib/minitest.rb#975
+ # source://minitest//lib/minitest.rb#1005
def error; end
# TODO: figure out how to use `cause` instead
#
- # source://minitest//lib/minitest.rb#975
+ # source://minitest//lib/minitest.rb#1005
def error=(_arg0); end
- # source://minitest//lib/minitest.rb#986
+ # source://minitest//lib/minitest.rb#1026
def message; end
- # source://minitest//lib/minitest.rb#991
+ # source://minitest//lib/minitest.rb#1032
def result_label; end
end
+# source://minitest//lib/minitest.rb#1024
+Minitest::UnexpectedError::BASE_RE = T.let(T.unsafe(nil), Regexp)
+
# source://minitest//lib/minitest.rb#12
Minitest::VERSION = T.let(T.unsafe(nil), String)
diff --git a/sorbet/rbi/gems/parallel@1.23.0.rbi b/sorbet/rbi/gems/parallel@1.24.0.rbi
similarity index 95%
rename from sorbet/rbi/gems/parallel@1.23.0.rbi
rename to sorbet/rbi/gems/parallel@1.24.0.rbi
index c8b319a36..5dd73750f 100644
--- a/sorbet/rbi/gems/parallel@1.23.0.rbi
+++ b/sorbet/rbi/gems/parallel@1.24.0.rbi
@@ -78,7 +78,14 @@ module Parallel
# source://parallel//lib/parallel.rb#642
def instrument_finish(item, index, result, options); end
- # source://parallel//lib/parallel.rb#647
+ # yield results in the order of the input items
+ # needs to use `options` to store state between executions
+ # needs to use `done` index since a nil result would also be valid
+ #
+ # source://parallel//lib/parallel.rb#651
+ def instrument_finish_in_order(item, index, result, options); end
+
+ # source://parallel//lib/parallel.rb#671
def instrument_start(item, index, options); end
# source://parallel//lib/parallel.rb#590
diff --git a/sorbet/rbi/gems/parser@3.2.2.3.rbi b/sorbet/rbi/gems/parser@3.3.0.5.rbi
similarity index 69%
rename from sorbet/rbi/gems/parser@3.2.2.3.rbi
rename to sorbet/rbi/gems/parser@3.3.0.5.rbi
index 680c9da48..0acdc763d 100644
--- a/sorbet/rbi/gems/parser@3.2.2.3.rbi
+++ b/sorbet/rbi/gems/parser@3.3.0.5.rbi
@@ -7,14 +7,7 @@
# @api public
#
# source://parser//lib/parser.rb#19
-module Parser
- class << self
- private
-
- # source://parser//lib/parser/current.rb#5
- def warn_syntax_deviation(feature, version); end
- end
-end
+module Parser; end
# @api public
#
@@ -876,7 +869,7 @@ class Parser::Builders::Default
# source://parser//lib/parser/builders/default.rb#243
def initialize; end
- # source://parser//lib/parser/builders/default.rb#690
+ # source://parser//lib/parser/builders/default.rb#703
def __ENCODING__(__ENCODING__t); end
# source://parser//lib/parser/builders/default.rb#348
@@ -885,79 +878,79 @@ class Parser::Builders::Default
# source://parser//lib/parser/builders/default.rb#312
def __LINE__(__LINE__t); end
- # source://parser//lib/parser/builders/default.rb#616
+ # source://parser//lib/parser/builders/default.rb#622
def accessible(node); end
- # source://parser//lib/parser/builders/default.rb#865
+ # source://parser//lib/parser/builders/default.rb#878
def alias(alias_t, to, from); end
- # source://parser//lib/parser/builders/default.rb#904
+ # source://parser//lib/parser/builders/default.rb#917
def arg(name_t); end
- # source://parser//lib/parser/builders/default.rb#994
+ # source://parser//lib/parser/builders/default.rb#1007
def arg_expr(expr); end
- # source://parser//lib/parser/builders/default.rb#874
+ # source://parser//lib/parser/builders/default.rb#887
def args(begin_t, args, end_t, check_args = T.unsafe(nil)); end
# source://parser//lib/parser/builders/default.rb#440
def array(begin_t, elements, end_t); end
- # source://parser//lib/parser/builders/default.rb#1577
+ # source://parser//lib/parser/builders/default.rb#1590
def array_pattern(lbrack_t, elements, rbrack_t); end
- # source://parser//lib/parser/builders/default.rb#754
+ # source://parser//lib/parser/builders/default.rb#767
def assign(lhs, eql_t, rhs); end
- # source://parser//lib/parser/builders/default.rb#699
+ # source://parser//lib/parser/builders/default.rb#712
def assignable(node); end
# source://parser//lib/parser/builders/default.rb#540
def associate(begin_t, pairs, end_t); end
- # source://parser//lib/parser/builders/default.rb#1158
+ # source://parser//lib/parser/builders/default.rb#1171
def attr_asgn(receiver, dot_t, selector_t); end
- # source://parser//lib/parser/builders/default.rb#606
+ # source://parser//lib/parser/builders/default.rb#612
def back_ref(token); end
- # source://parser//lib/parser/builders/default.rb#1422
+ # source://parser//lib/parser/builders/default.rb#1435
def begin(begin_t, body, end_t); end
- # source://parser//lib/parser/builders/default.rb#1364
+ # source://parser//lib/parser/builders/default.rb#1377
def begin_body(compound_stmt, rescue_bodies = T.unsafe(nil), else_t = T.unsafe(nil), else_ = T.unsafe(nil), ensure_t = T.unsafe(nil), ensure_ = T.unsafe(nil)); end
- # source://parser//lib/parser/builders/default.rb#1440
+ # source://parser//lib/parser/builders/default.rb#1453
def begin_keyword(begin_t, body, end_t); end
- # source://parser//lib/parser/builders/default.rb#1192
+ # source://parser//lib/parser/builders/default.rb#1205
def binary_op(receiver, operator_t, arg); end
- # source://parser//lib/parser/builders/default.rb#1109
+ # source://parser//lib/parser/builders/default.rb#1122
def block(method_call, begin_t, args, body, end_t); end
- # source://parser//lib/parser/builders/default.rb#1144
+ # source://parser//lib/parser/builders/default.rb#1157
def block_pass(amper_t, arg); end
- # source://parser//lib/parser/builders/default.rb#969
+ # source://parser//lib/parser/builders/default.rb#982
def blockarg(amper_t, name_t); end
- # source://parser//lib/parser/builders/default.rb#1014
+ # source://parser//lib/parser/builders/default.rb#1027
def blockarg_expr(amper_t, expr); end
- # source://parser//lib/parser/builders/default.rb#1100
+ # source://parser//lib/parser/builders/default.rb#1113
def call_lambda(lambda_t); end
- # source://parser//lib/parser/builders/default.rb#1083
+ # source://parser//lib/parser/builders/default.rb#1096
def call_method(receiver, dot_t, selector_t, lparen_t = T.unsafe(nil), args = T.unsafe(nil), rparen_t = T.unsafe(nil)); end
- # source://parser//lib/parser/builders/default.rb#1055
+ # source://parser//lib/parser/builders/default.rb#1068
def call_type_for_dot(dot_t); end
- # source://parser//lib/parser/builders/default.rb#1297
+ # source://parser//lib/parser/builders/default.rb#1310
def case(case_t, expr, when_bodies, else_t, else_body, end_t); end
- # source://parser//lib/parser/builders/default.rb#1460
+ # source://parser//lib/parser/builders/default.rb#1473
def case_match(case_t, expr, in_bodies, else_t, else_body, end_t); end
# source://parser//lib/parser/builders/default.rb#343
@@ -966,55 +959,55 @@ class Parser::Builders::Default
# source://parser//lib/parser/builders/default.rb#284
def complex(complex_t); end
- # source://parser//lib/parser/builders/default.rb#1410
+ # source://parser//lib/parser/builders/default.rb#1423
def compstmt(statements); end
- # source://parser//lib/parser/builders/default.rb#1273
+ # source://parser//lib/parser/builders/default.rb#1286
def condition(cond_t, cond, then_t, if_true, else_t, if_false, end_t); end
- # source://parser//lib/parser/builders/default.rb#1279
+ # source://parser//lib/parser/builders/default.rb#1292
def condition_mod(if_true, if_false, cond_t, cond); end
- # source://parser//lib/parser/builders/default.rb#673
+ # source://parser//lib/parser/builders/default.rb#686
def const(name_t); end
- # source://parser//lib/parser/builders/default.rb#685
+ # source://parser//lib/parser/builders/default.rb#698
def const_fetch(scope, t_colon2, name_t); end
- # source://parser//lib/parser/builders/default.rb#678
+ # source://parser//lib/parser/builders/default.rb#691
def const_global(t_colon3, name_t); end
- # source://parser//lib/parser/builders/default.rb#750
+ # source://parser//lib/parser/builders/default.rb#763
def const_op_assignable(node); end
- # source://parser//lib/parser/builders/default.rb#1607
+ # source://parser//lib/parser/builders/default.rb#1620
def const_pattern(const, ldelim_t, pattern, rdelim_t); end
- # source://parser//lib/parser/builders/default.rb#601
+ # source://parser//lib/parser/builders/default.rb#607
def cvar(token); end
# source://parser//lib/parser/builders/default.rb#388
def dedent_string(node, dedent_level); end
- # source://parser//lib/parser/builders/default.rb#801
+ # source://parser//lib/parser/builders/default.rb#814
def def_class(class_t, name, lt_t, superclass, body, end_t); end
- # source://parser//lib/parser/builders/default.rb#832
+ # source://parser//lib/parser/builders/default.rb#845
def def_endless_method(def_t, name_t, args, assignment_t, body); end
- # source://parser//lib/parser/builders/default.rb#850
+ # source://parser//lib/parser/builders/default.rb#863
def def_endless_singleton(def_t, definee, dot_t, name_t, args, assignment_t, body); end
- # source://parser//lib/parser/builders/default.rb#824
+ # source://parser//lib/parser/builders/default.rb#837
def def_method(def_t, name_t, args, body, end_t); end
- # source://parser//lib/parser/builders/default.rb#814
+ # source://parser//lib/parser/builders/default.rb#827
def def_module(module_t, name, body, end_t); end
- # source://parser//lib/parser/builders/default.rb#808
+ # source://parser//lib/parser/builders/default.rb#821
def def_sclass(class_t, lshft_t, expr, body, end_t); end
- # source://parser//lib/parser/builders/default.rb#840
+ # source://parser//lib/parser/builders/default.rb#853
def def_singleton(def_t, definee, dot_t, name_t, args, body, end_t); end
# source://parser//lib/parser/builders/default.rb#237
@@ -1026,52 +1019,52 @@ class Parser::Builders::Default
# source://parser//lib/parser/builders/default.rb#265
def false(false_t); end
- # source://parser//lib/parser/builders/default.rb#1598
+ # source://parser//lib/parser/builders/default.rb#1611
def find_pattern(lbrack_t, elements, rbrack_t); end
# source://parser//lib/parser/builders/default.rb#276
def float(float_t); end
- # source://parser//lib/parser/builders/default.rb#1318
+ # source://parser//lib/parser/builders/default.rb#1331
def for(for_t, iterator, in_t, iteratee, do_t, body, end_t); end
- # source://parser//lib/parser/builders/default.rb#900
+ # source://parser//lib/parser/builders/default.rb#913
def forward_arg(dots_t); end
- # source://parser//lib/parser/builders/default.rb#890
+ # source://parser//lib/parser/builders/default.rb#903
def forward_only_args(begin_t, dots_t, end_t); end
- # source://parser//lib/parser/builders/default.rb#1071
+ # source://parser//lib/parser/builders/default.rb#1084
def forwarded_args(dots_t); end
- # source://parser//lib/parser/builders/default.rb#1079
+ # source://parser//lib/parser/builders/default.rb#1092
def forwarded_kwrestarg(dstar_t); end
- # source://parser//lib/parser/builders/default.rb#1075
+ # source://parser//lib/parser/builders/default.rb#1088
def forwarded_restarg(star_t); end
# source://parser//lib/parser/builders/default.rb#596
def gvar(token); end
- # source://parser//lib/parser/builders/default.rb#1571
+ # source://parser//lib/parser/builders/default.rb#1584
def hash_pattern(lbrace_t, kwargs, rbrace_t); end
# source://parser//lib/parser/builders/default.rb#586
def ident(token); end
- # source://parser//lib/parser/builders/default.rb#1487
+ # source://parser//lib/parser/builders/default.rb#1500
def if_guard(if_t, if_body); end
- # source://parser//lib/parser/builders/default.rb#1466
+ # source://parser//lib/parser/builders/default.rb#1479
def in_match(lhs, in_t, rhs); end
- # source://parser//lib/parser/builders/default.rb#1481
+ # source://parser//lib/parser/builders/default.rb#1494
def in_pattern(in_t, pattern, guard, then_t, body); end
- # source://parser//lib/parser/builders/default.rb#1167
+ # source://parser//lib/parser/builders/default.rb#1180
def index(receiver, lbrack_t, indexes, rbrack_t); end
- # source://parser//lib/parser/builders/default.rb#1181
+ # source://parser//lib/parser/builders/default.rb#1194
def index_asgn(receiver, lbrack_t, indexes, rbrack_t); end
# source://parser//lib/parser/builders/default.rb#272
@@ -1080,103 +1073,103 @@ class Parser::Builders::Default
# source://parser//lib/parser/builders/default.rb#591
def ivar(token); end
- # source://parser//lib/parser/builders/default.rb#1326
+ # source://parser//lib/parser/builders/default.rb#1339
def keyword_cmd(type, keyword_t, lparen_t = T.unsafe(nil), args = T.unsafe(nil), rparen_t = T.unsafe(nil)); end
- # source://parser//lib/parser/builders/default.rb#931
+ # source://parser//lib/parser/builders/default.rb#944
def kwarg(name_t); end
- # source://parser//lib/parser/builders/default.rb#957
+ # source://parser//lib/parser/builders/default.rb#970
def kwnilarg(dstar_t, nil_t); end
- # source://parser//lib/parser/builders/default.rb#938
+ # source://parser//lib/parser/builders/default.rb#951
def kwoptarg(name_t, value); end
- # source://parser//lib/parser/builders/default.rb#945
+ # source://parser//lib/parser/builders/default.rb#958
def kwrestarg(dstar_t, name_t = T.unsafe(nil)); end
# source://parser//lib/parser/builders/default.rb#535
def kwsplat(dstar_t, arg); end
- # source://parser//lib/parser/builders/default.rb#1266
+ # source://parser//lib/parser/builders/default.rb#1279
def logical_op(type, lhs, op_t, rhs); end
- # source://parser//lib/parser/builders/default.rb#1304
+ # source://parser//lib/parser/builders/default.rb#1317
def loop(type, keyword_t, cond, do_t, body, end_t); end
- # source://parser//lib/parser/builders/default.rb#1309
+ # source://parser//lib/parser/builders/default.rb#1322
def loop_mod(type, body, keyword_t, cond); end
- # source://parser//lib/parser/builders/default.rb#1621
+ # source://parser//lib/parser/builders/default.rb#1634
def match_alt(left, pipe_t, right); end
- # source://parser//lib/parser/builders/default.rb#1628
+ # source://parser//lib/parser/builders/default.rb#1641
def match_as(value, assoc_t, as); end
- # source://parser//lib/parser/builders/default.rb#1507
+ # source://parser//lib/parser/builders/default.rb#1520
def match_hash_var(name_t); end
- # source://parser//lib/parser/builders/default.rb#1521
+ # source://parser//lib/parser/builders/default.rb#1534
def match_hash_var_from_str(begin_t, strings, end_t); end
- # source://parser//lib/parser/builders/default.rb#1659
+ # source://parser//lib/parser/builders/default.rb#1672
def match_label(label_type, label); end
- # source://parser//lib/parser/builders/default.rb#1635
+ # source://parser//lib/parser/builders/default.rb#1648
def match_nil_pattern(dstar_t, nil_t); end
- # source://parser//lib/parser/builders/default.rb#1214
+ # source://parser//lib/parser/builders/default.rb#1227
def match_op(receiver, match_t, arg); end
- # source://parser//lib/parser/builders/default.rb#1640
+ # source://parser//lib/parser/builders/default.rb#1653
def match_pair(label_type, label, value); end
- # source://parser//lib/parser/builders/default.rb#1471
+ # source://parser//lib/parser/builders/default.rb#1484
def match_pattern(lhs, match_t, rhs); end
- # source://parser//lib/parser/builders/default.rb#1476
+ # source://parser//lib/parser/builders/default.rb#1489
def match_pattern_p(lhs, match_t, rhs); end
- # source://parser//lib/parser/builders/default.rb#1560
+ # source://parser//lib/parser/builders/default.rb#1573
def match_rest(star_t, name_t = T.unsafe(nil)); end
- # source://parser//lib/parser/builders/default.rb#1495
+ # source://parser//lib/parser/builders/default.rb#1508
def match_var(name_t); end
- # source://parser//lib/parser/builders/default.rb#1603
+ # source://parser//lib/parser/builders/default.rb#1616
def match_with_trailing_comma(match, comma_t); end
- # source://parser//lib/parser/builders/default.rb#792
+ # source://parser//lib/parser/builders/default.rb#805
def multi_assign(lhs, eql_t, rhs); end
- # source://parser//lib/parser/builders/default.rb#787
+ # source://parser//lib/parser/builders/default.rb#800
def multi_lhs(begin_t, items, end_t); end
# source://parser//lib/parser/builders/default.rb#255
def nil(nil_t); end
- # source://parser//lib/parser/builders/default.rb#1242
+ # source://parser//lib/parser/builders/default.rb#1255
def not_op(not_t, begin_t = T.unsafe(nil), receiver = T.unsafe(nil), end_t = T.unsafe(nil)); end
- # source://parser//lib/parser/builders/default.rb#611
+ # source://parser//lib/parser/builders/default.rb#617
def nth_ref(token); end
- # source://parser//lib/parser/builders/default.rb#886
+ # source://parser//lib/parser/builders/default.rb#899
def numargs(max_numparam); end
- # source://parser//lib/parser/builders/default.rb#1025
+ # source://parser//lib/parser/builders/default.rb#1038
def objc_kwarg(kwname_t, assoc_t, name_t); end
- # source://parser//lib/parser/builders/default.rb#1039
+ # source://parser//lib/parser/builders/default.rb#1052
def objc_restarg(star_t, name = T.unsafe(nil)); end
- # source://parser//lib/parser/builders/default.rb#1149
+ # source://parser//lib/parser/builders/default.rb#1162
def objc_varargs(pair, rest_of_varargs); end
- # source://parser//lib/parser/builders/default.rb#761
+ # source://parser//lib/parser/builders/default.rb#774
def op_assign(lhs, op_t, rhs); end
- # source://parser//lib/parser/builders/default.rb#911
+ # source://parser//lib/parser/builders/default.rb#924
def optarg(name_t, eql_t, value); end
# source://parser//lib/parser/builders/default.rb#488
@@ -1200,16 +1193,16 @@ class Parser::Builders::Default
# source://parser//lib/parser/builders/default.rb#225
def parser=(_arg0); end
- # source://parser//lib/parser/builders/default.rb#1616
+ # source://parser//lib/parser/builders/default.rb#1629
def pin(pin_t, var); end
- # source://parser//lib/parser/builders/default.rb#1349
+ # source://parser//lib/parser/builders/default.rb#1362
def postexe(postexe_t, lbrace_t, compstmt, rbrace_t); end
- # source://parser//lib/parser/builders/default.rb#1344
+ # source://parser//lib/parser/builders/default.rb#1357
def preexe(preexe_t, lbrace_t, compstmt, rbrace_t); end
- # source://parser//lib/parser/builders/default.rb#979
+ # source://parser//lib/parser/builders/default.rb#992
def procarg0(arg); end
# source://parser//lib/parser/builders/default.rb#572
@@ -1227,19 +1220,19 @@ class Parser::Builders::Default
# source://parser//lib/parser/builders/default.rb#417
def regexp_options(regopt_t); end
- # source://parser//lib/parser/builders/default.rb#1356
+ # source://parser//lib/parser/builders/default.rb#1369
def rescue_body(rescue_t, exc_list, assoc_t, exc_var, then_t, compound_stmt); end
- # source://parser//lib/parser/builders/default.rb#920
+ # source://parser//lib/parser/builders/default.rb#933
def restarg(star_t, name_t = T.unsafe(nil)); end
- # source://parser//lib/parser/builders/default.rb#1003
+ # source://parser//lib/parser/builders/default.rb#1016
def restarg_expr(star_t, expr = T.unsafe(nil)); end
# source://parser//lib/parser/builders/default.rb#581
def self(token); end
- # source://parser//lib/parser/builders/default.rb#962
+ # source://parser//lib/parser/builders/default.rb#975
def shadowarg(name_t); end
# source://parser//lib/parser/builders/default.rb#445
@@ -1266,7 +1259,7 @@ class Parser::Builders::Default
# source://parser//lib/parser/builders/default.rb#469
def symbols_compose(begin_t, parts, end_t); end
- # source://parser//lib/parser/builders/default.rb#1284
+ # source://parser//lib/parser/builders/default.rb#1297
def ternary(cond, question_t, if_true, colon_t, if_false); end
# source://parser//lib/parser/builders/default.rb#260
@@ -1275,16 +1268,16 @@ class Parser::Builders::Default
# source://parser//lib/parser/builders/default.rb#294
def unary_num(unary_t, numeric); end
- # source://parser//lib/parser/builders/default.rb#1230
+ # source://parser//lib/parser/builders/default.rb#1243
def unary_op(op_t, receiver); end
- # source://parser//lib/parser/builders/default.rb#860
+ # source://parser//lib/parser/builders/default.rb#873
def undef_method(undef_t, names); end
- # source://parser//lib/parser/builders/default.rb#1491
+ # source://parser//lib/parser/builders/default.rb#1504
def unless_guard(unless_t, unless_body); end
- # source://parser//lib/parser/builders/default.rb#1291
+ # source://parser//lib/parser/builders/default.rb#1304
def when(when_t, patterns, then_t, body); end
# source://parser//lib/parser/builders/default.rb#455
@@ -1298,184 +1291,184 @@ class Parser::Builders::Default
private
- # source://parser//lib/parser/builders/default.rb#1798
+ # source://parser//lib/parser/builders/default.rb#1821
def arg_name_collides?(this_name, that_name); end
- # source://parser//lib/parser/builders/default.rb#1994
+ # source://parser//lib/parser/builders/default.rb#2017
def arg_prefix_map(op_t, name_t = T.unsafe(nil)); end
- # source://parser//lib/parser/builders/default.rb#1968
+ # source://parser//lib/parser/builders/default.rb#1991
def binary_op_map(left_e, op_t, right_e); end
- # source://parser//lib/parser/builders/default.rb#2096
+ # source://parser//lib/parser/builders/default.rb#2119
def block_map(receiver_l, begin_t, end_t); end
- # source://parser//lib/parser/builders/default.rb#1773
+ # source://parser//lib/parser/builders/default.rb#1796
def check_assignment_to_numparam(name, loc); end
- # source://parser//lib/parser/builders/default.rb#1675
+ # source://parser//lib/parser/builders/default.rb#1688
def check_condition(cond); end
- # source://parser//lib/parser/builders/default.rb#1744
+ # source://parser//lib/parser/builders/default.rb#1767
def check_duplicate_arg(this_arg, map = T.unsafe(nil)); end
- # source://parser//lib/parser/builders/default.rb#1719
+ # source://parser//lib/parser/builders/default.rb#1742
def check_duplicate_args(args, map = T.unsafe(nil)); end
- # source://parser//lib/parser/builders/default.rb#1831
+ # source://parser//lib/parser/builders/default.rb#1854
def check_duplicate_pattern_key(name, loc); end
- # source://parser//lib/parser/builders/default.rb#1821
+ # source://parser//lib/parser/builders/default.rb#1844
def check_duplicate_pattern_variable(name, loc); end
- # source://parser//lib/parser/builders/default.rb#1813
+ # source://parser//lib/parser/builders/default.rb#1836
def check_lvar_name(name, loc); end
- # source://parser//lib/parser/builders/default.rb#1788
+ # source://parser//lib/parser/builders/default.rb#1811
def check_reserved_for_numparam(name, loc); end
- # source://parser//lib/parser/builders/default.rb#2253
+ # source://parser//lib/parser/builders/default.rb#2280
def collapse_string_parts?(parts); end
- # source://parser//lib/parser/builders/default.rb#1919
+ # source://parser//lib/parser/builders/default.rb#1942
def collection_map(begin_t, parts, end_t); end
- # source://parser//lib/parser/builders/default.rb#2123
+ # source://parser//lib/parser/builders/default.rb#2146
def condition_map(keyword_t, cond_e, begin_t, body_e, else_t, else_e, end_t); end
- # source://parser//lib/parser/builders/default.rb#1954
+ # source://parser//lib/parser/builders/default.rb#1977
def constant_map(scope, colon2_t, name_t); end
- # source://parser//lib/parser/builders/default.rb#2027
+ # source://parser//lib/parser/builders/default.rb#2050
def definition_map(keyword_t, operator_t, name_t, end_t); end
- # source://parser//lib/parser/builders/default.rb#1860
+ # source://parser//lib/parser/builders/default.rb#1883
def delimited_string_map(string_t); end
- # source://parser//lib/parser/builders/default.rb#2275
+ # source://parser//lib/parser/builders/default.rb#2302
def diagnostic(type, reason, arguments, location, highlights = T.unsafe(nil)); end
- # source://parser//lib/parser/builders/default.rb#2167
+ # source://parser//lib/parser/builders/default.rb#2190
def eh_keyword_map(compstmt_e, keyword_t, body_es, else_t, else_e); end
- # source://parser//lib/parser/builders/default.rb#2033
+ # source://parser//lib/parser/builders/default.rb#2056
def endless_definition_map(keyword_t, operator_t, name_t, assignment_t, body_e); end
- # source://parser//lib/parser/builders/default.rb#1915
+ # source://parser//lib/parser/builders/default.rb#1938
def expr_map(loc); end
- # source://parser//lib/parser/builders/default.rb#2148
+ # source://parser//lib/parser/builders/default.rb#2171
def for_map(keyword_t, in_t, begin_t, end_t); end
- # source://parser//lib/parser/builders/default.rb#2195
+ # source://parser//lib/parser/builders/default.rb#2218
def guard_map(keyword_t, guard_body_e); end
- # source://parser//lib/parser/builders/default.rb#2085
+ # source://parser//lib/parser/builders/default.rb#2108
def index_map(receiver_e, lbrack_t, rbrack_t); end
- # source://parser//lib/parser/builders/default.rb#1851
+ # source://parser//lib/parser/builders/default.rb#1874
def join_exprs(left_expr, right_expr); end
- # source://parser//lib/parser/builders/default.rb#2101
+ # source://parser//lib/parser/builders/default.rb#2124
def keyword_map(keyword_t, begin_t, args, end_t); end
- # source://parser//lib/parser/builders/default.rb#2118
+ # source://parser//lib/parser/builders/default.rb#2141
def keyword_mod_map(pre_e, keyword_t, post_e); end
- # source://parser//lib/parser/builders/default.rb#2004
+ # source://parser//lib/parser/builders/default.rb#2027
def kwarg_map(name_t, value_e = T.unsafe(nil)); end
- # source://parser//lib/parser/builders/default.rb#2306
+ # source://parser//lib/parser/builders/default.rb#2333
def kwargs?(node); end
- # source://parser//lib/parser/builders/default.rb#2270
+ # source://parser//lib/parser/builders/default.rb#2297
def loc(token); end
- # source://parser//lib/parser/builders/default.rb#2017
+ # source://parser//lib/parser/builders/default.rb#2040
def module_definition_map(keyword_t, name_e, operator_t, end_t); end
- # source://parser//lib/parser/builders/default.rb#1843
+ # source://parser//lib/parser/builders/default.rb#1866
def n(type, children, source_map); end
- # source://parser//lib/parser/builders/default.rb#1847
+ # source://parser//lib/parser/builders/default.rb#1870
def n0(type, source_map); end
# source://parser//lib/parser/builders/default.rb#288
def numeric(kind, token); end
- # source://parser//lib/parser/builders/default.rb#1885
+ # source://parser//lib/parser/builders/default.rb#1908
def pair_keyword_map(key_t, value_e); end
- # source://parser//lib/parser/builders/default.rb#1900
+ # source://parser//lib/parser/builders/default.rb#1923
def pair_quoted_map(begin_t, end_t, value_e); end
- # source://parser//lib/parser/builders/default.rb#1871
+ # source://parser//lib/parser/builders/default.rb#1894
def prefix_string_map(symbol); end
- # source://parser//lib/parser/builders/default.rb#1982
+ # source://parser//lib/parser/builders/default.rb#2005
def range_map(start_e, op_t, end_e); end
- # source://parser//lib/parser/builders/default.rb#1949
+ # source://parser//lib/parser/builders/default.rb#1972
def regexp_map(begin_t, end_t, options_e); end
- # source://parser//lib/parser/builders/default.rb#2154
+ # source://parser//lib/parser/builders/default.rb#2177
def rescue_body_map(keyword_t, exc_list_e, assoc_t, exc_var_e, then_t, compstmt_e); end
- # source://parser//lib/parser/builders/default.rb#2296
+ # source://parser//lib/parser/builders/default.rb#2323
def rewrite_hash_args_to_kwargs(args); end
- # source://parser//lib/parser/builders/default.rb#2067
+ # source://parser//lib/parser/builders/default.rb#2090
def send_binary_op_map(lhs_e, selector_t, rhs_e); end
- # source://parser//lib/parser/builders/default.rb#2090
+ # source://parser//lib/parser/builders/default.rb#2113
def send_index_map(receiver_e, lbrack_t, rbrack_t); end
- # source://parser//lib/parser/builders/default.rb#2041
+ # source://parser//lib/parser/builders/default.rb#2064
def send_map(receiver_e, dot_t, selector_t, begin_t = T.unsafe(nil), args = T.unsafe(nil), end_t = T.unsafe(nil)); end
- # source://parser//lib/parser/builders/default.rb#2073
+ # source://parser//lib/parser/builders/default.rb#2096
def send_unary_op_map(selector_t, arg_e); end
- # source://parser//lib/parser/builders/default.rb#2226
+ # source://parser//lib/parser/builders/default.rb#2249
def static_regexp(parts, options); end
- # source://parser//lib/parser/builders/default.rb#2246
+ # source://parser//lib/parser/builders/default.rb#2269
def static_regexp_node(node); end
- # source://parser//lib/parser/builders/default.rb#2209
+ # source://parser//lib/parser/builders/default.rb#2232
def static_string(nodes); end
- # source://parser//lib/parser/builders/default.rb#1935
+ # source://parser//lib/parser/builders/default.rb#1958
def string_map(begin_t, parts, end_t); end
- # source://parser//lib/parser/builders/default.rb#2262
+ # source://parser//lib/parser/builders/default.rb#2289
def string_value(token); end
- # source://parser//lib/parser/builders/default.rb#2143
+ # source://parser//lib/parser/builders/default.rb#2166
def ternary_map(begin_e, question_t, mid_e, colon_t, end_e); end
- # source://parser//lib/parser/builders/default.rb#1856
+ # source://parser//lib/parser/builders/default.rb#1879
def token_map(token); end
- # source://parser//lib/parser/builders/default.rb#1972
+ # source://parser//lib/parser/builders/default.rb#1995
def unary_op_map(op_t, arg_e = T.unsafe(nil)); end
- # source://parser//lib/parser/builders/default.rb#1880
+ # source://parser//lib/parser/builders/default.rb#1903
def unquoted_map(token); end
- # source://parser//lib/parser/builders/default.rb#2284
+ # source://parser//lib/parser/builders/default.rb#2311
def validate_definee(definee); end
- # source://parser//lib/parser/builders/default.rb#1758
+ # source://parser//lib/parser/builders/default.rb#1781
def validate_no_forward_arg_after_restarg(args); end
- # source://parser//lib/parser/builders/default.rb#2258
+ # source://parser//lib/parser/builders/default.rb#2285
def value(token); end
- # source://parser//lib/parser/builders/default.rb#2061
+ # source://parser//lib/parser/builders/default.rb#2084
def var_send_map(variable_e); end
- # source://parser//lib/parser/builders/default.rb#1964
+ # source://parser//lib/parser/builders/default.rb#1987
def variable_map(name_t); end
class << self
@@ -1671,9 +1664,6 @@ class Parser::CurrentArgStack
def top; end
end
-# source://parser//lib/parser/current.rb#111
-Parser::CurrentRuby = Parser::Ruby32
-
# @api private
#
# source://parser//lib/parser/deprecation.rb#7
@@ -2090,69 +2080,69 @@ class Parser::Lexer
protected
- # source://parser//lib/parser/lexer-F1.rb#14631
+ # source://parser//lib/parser/lexer-F1.rb#14692
def arg_or_cmdarg(cmd_state); end
- # source://parser//lib/parser/lexer-F1.rb#14693
+ # source://parser//lib/parser/lexer-F1.rb#14754
def check_ambiguous_slash(tm); end
- # source://parser//lib/parser/lexer-F1.rb#14655
+ # source://parser//lib/parser/lexer-F1.rb#14716
def diagnostic(type, reason, arguments = T.unsafe(nil), location = T.unsafe(nil), highlights = T.unsafe(nil)); end
- # source://parser//lib/parser/lexer-F1.rb#14661
+ # source://parser//lib/parser/lexer-F1.rb#14722
def e_lbrace; end
- # source://parser//lib/parser/lexer-F1.rb#14605
+ # source://parser//lib/parser/lexer-F1.rb#14666
def emit(type, value = T.unsafe(nil), s = T.unsafe(nil), e = T.unsafe(nil)); end
- # source://parser//lib/parser/lexer-F1.rb#14714
+ # source://parser//lib/parser/lexer-F1.rb#14775
def emit_class_var(ts = T.unsafe(nil), te = T.unsafe(nil)); end
- # source://parser//lib/parser/lexer-F1.rb#14742
+ # source://parser//lib/parser/lexer-F1.rb#14803
def emit_colon_with_digits(p, tm, diag_msg); end
- # source://parser//lib/parser/lexer-F1.rb#14639
+ # source://parser//lib/parser/lexer-F1.rb#14700
def emit_comment(s = T.unsafe(nil), e = T.unsafe(nil)); end
- # source://parser//lib/parser/lexer-F1.rb#14651
+ # source://parser//lib/parser/lexer-F1.rb#14712
def emit_comment_from_range(p, pe); end
- # source://parser//lib/parser/lexer-F1.rb#14621
+ # source://parser//lib/parser/lexer-F1.rb#14682
def emit_do(do_block = T.unsafe(nil)); end
- # source://parser//lib/parser/lexer-F1.rb#14704
+ # source://parser//lib/parser/lexer-F1.rb#14765
def emit_global_var(ts = T.unsafe(nil), te = T.unsafe(nil)); end
- # source://parser//lib/parser/lexer-F1.rb#14722
+ # source://parser//lib/parser/lexer-F1.rb#14783
def emit_instance_var(ts = T.unsafe(nil), te = T.unsafe(nil)); end
- # source://parser//lib/parser/lexer-F1.rb#14730
+ # source://parser//lib/parser/lexer-F1.rb#14791
def emit_rbrace_rparen_rbrack; end
- # source://parser//lib/parser/lexer-F1.rb#14752
+ # source://parser//lib/parser/lexer-F1.rb#14813
def emit_singleton_class; end
- # source://parser//lib/parser/lexer-F1.rb#14615
+ # source://parser//lib/parser/lexer-F1.rb#14676
def emit_table(table, s = T.unsafe(nil), e = T.unsafe(nil)); end
- # source://parser//lib/parser/lexer-F1.rb#14670
+ # source://parser//lib/parser/lexer-F1.rb#14731
def numeric_literal_int; end
- # source://parser//lib/parser/lexer-F1.rb#14689
+ # source://parser//lib/parser/lexer-F1.rb#14750
def on_newline(p); end
- # source://parser//lib/parser/lexer-F1.rb#14601
+ # source://parser//lib/parser/lexer-F1.rb#14662
def range(s = T.unsafe(nil), e = T.unsafe(nil)); end
- # source://parser//lib/parser/lexer-F1.rb#14592
+ # source://parser//lib/parser/lexer-F1.rb#14653
def stack_pop; end
- # source://parser//lib/parser/lexer-F1.rb#14597
+ # source://parser//lib/parser/lexer-F1.rb#14658
def tok(s = T.unsafe(nil), e = T.unsafe(nil)); end
# @return [Boolean]
#
- # source://parser//lib/parser/lexer-F1.rb#14588
+ # source://parser//lib/parser/lexer-F1.rb#14649
def version?(*versions); end
class << self
@@ -2499,13 +2489,13 @@ end
# source://parser//lib/parser/lexer/dedenter.rb#7
Parser::Lexer::Dedenter::TAB_WIDTH = T.let(T.unsafe(nil), Integer)
-# source://parser//lib/parser/lexer-F1.rb#14799
+# source://parser//lib/parser/lexer-F1.rb#14860
Parser::Lexer::ESCAPE_WHITESPACE = T.let(T.unsafe(nil), Hash)
-# source://parser//lib/parser/lexer-F1.rb#14785
+# source://parser//lib/parser/lexer-F1.rb#14846
Parser::Lexer::KEYWORDS = T.let(T.unsafe(nil), Hash)
-# source://parser//lib/parser/lexer-F1.rb#14792
+# source://parser//lib/parser/lexer-F1.rb#14853
Parser::Lexer::KEYWORDS_BEGIN = T.let(T.unsafe(nil), Hash)
# source://parser//lib/parser/lexer-F1.rb#8362
@@ -2513,108 +2503,114 @@ Parser::Lexer::LEX_STATES = T.let(T.unsafe(nil), Hash)
# source://parser//lib/parser/lexer/literal.rb#6
class Parser::Lexer::Literal
- # source://parser//lib/parser/lexer/literal.rb#40
+ # source://parser//lib/parser/lexer/literal.rb#42
def initialize(lexer, str_type, delimiter, str_s, heredoc_e = T.unsafe(nil), indent = T.unsafe(nil), dedent_body = T.unsafe(nil), label_allowed = T.unsafe(nil)); end
- # source://parser//lib/parser/lexer/literal.rb#114
+ # source://parser//lib/parser/lexer/literal.rb#116
def backslash_delimited?; end
- # source://parser//lib/parser/lexer/literal.rb#37
+ # source://parser//lib/parser/lexer/literal.rb#39
def dedent_level; end
- # source://parser//lib/parser/lexer/literal.rb#189
+ # source://parser//lib/parser/lexer/literal.rb#191
def end_interp_brace_and_try_closing; end
- # source://parser//lib/parser/lexer/literal.rb#216
+ # source://parser//lib/parser/lexer/literal.rb#218
def extend_content; end
- # source://parser//lib/parser/lexer/literal.rb#220
+ # source://parser//lib/parser/lexer/literal.rb#222
def extend_space(ts, te); end
- # source://parser//lib/parser/lexer/literal.rb#195
+ # source://parser//lib/parser/lexer/literal.rb#197
def extend_string(string, ts, te); end
- # source://parser//lib/parser/lexer/literal.rb#202
+ # source://parser//lib/parser/lexer/literal.rb#204
def flush_string; end
- # source://parser//lib/parser/lexer/literal.rb#102
+ # source://parser//lib/parser/lexer/literal.rb#104
def heredoc?; end
- # source://parser//lib/parser/lexer/literal.rb#37
+ # source://parser//lib/parser/lexer/literal.rb#39
def heredoc_e; end
- # source://parser//lib/parser/lexer/literal.rb#166
+ # source://parser//lib/parser/lexer/literal.rb#168
def infer_indent_level(line); end
- # source://parser//lib/parser/lexer/literal.rb#89
+ # source://parser//lib/parser/lexer/literal.rb#91
def interpolate?; end
- # source://parser//lib/parser/lexer/literal.rb#122
+ # source://parser//lib/parser/lexer/literal.rb#124
def munge_escape?(character); end
- # source://parser//lib/parser/lexer/literal.rb#132
+ # source://parser//lib/parser/lexer/literal.rb#134
def nest_and_try_closing(delimiter, ts, te, lookahead = T.unsafe(nil)); end
- # source://parser//lib/parser/lexer/literal.rb#106
+ # source://parser//lib/parser/lexer/literal.rb#108
def plain_heredoc?; end
- # source://parser//lib/parser/lexer/literal.rb#98
+ # source://parser//lib/parser/lexer/literal.rb#100
def regexp?; end
- # source://parser//lib/parser/lexer/literal.rb#38
+ # source://parser//lib/parser/lexer/literal.rb#40
def saved_herebody_s; end
- # source://parser//lib/parser/lexer/literal.rb#38
+ # source://parser//lib/parser/lexer/literal.rb#40
def saved_herebody_s=(_arg0); end
- # source://parser//lib/parser/lexer/literal.rb#110
+ # source://parser//lib/parser/lexer/literal.rb#112
def squiggly_heredoc?; end
- # source://parser//lib/parser/lexer/literal.rb#185
+ # source://parser//lib/parser/lexer/literal.rb#187
def start_interp_brace; end
- # source://parser//lib/parser/lexer/literal.rb#37
+ # source://parser//lib/parser/lexer/literal.rb#39
def str_s; end
- # source://parser//lib/parser/lexer/literal.rb#230
+ # source://parser//lib/parser/lexer/literal.rb#232
def supports_line_continuation_via_slash?; end
- # source://parser//lib/parser/lexer/literal.rb#118
+ # source://parser//lib/parser/lexer/literal.rb#120
def type; end
- # source://parser//lib/parser/lexer/literal.rb#93
+ # source://parser//lib/parser/lexer/literal.rb#95
def words?; end
protected
- # source://parser//lib/parser/lexer/literal.rb#248
+ # source://parser//lib/parser/lexer/literal.rb#263
def clear_buffer; end
- # source://parser//lib/parser/lexer/literal.rb#244
+ # source://parser//lib/parser/lexer/literal.rb#259
def coerce_encoding(string); end
- # source://parser//lib/parser/lexer/literal.rb#236
+ # source://parser//lib/parser/lexer/literal.rb#238
def delimiter?(delimiter); end
- # source://parser//lib/parser/lexer/literal.rb#264
+ # source://parser//lib/parser/lexer/literal.rb#279
def emit(token, type, s, e); end
- # source://parser//lib/parser/lexer/literal.rb#259
+ # source://parser//lib/parser/lexer/literal.rb#274
def emit_start_tok; end
end
# source://parser//lib/parser/lexer/literal.rb#7
Parser::Lexer::Literal::DELIMITERS = T.let(T.unsafe(nil), Hash)
+# source://parser//lib/parser/lexer/literal.rb#8
+Parser::Lexer::Literal::SPACE = T.let(T.unsafe(nil), Integer)
+
# source://parser//lib/parser/lexer/literal.rb#9
+Parser::Lexer::Literal::TAB = T.let(T.unsafe(nil), Integer)
+
+# source://parser//lib/parser/lexer/literal.rb#11
Parser::Lexer::Literal::TYPES = T.let(T.unsafe(nil), Hash)
# Mapping of strings to parser tokens.
#
-# source://parser//lib/parser/lexer-F1.rb#14759
+# source://parser//lib/parser/lexer-F1.rb#14820
Parser::Lexer::PUNCTUATION = T.let(T.unsafe(nil), Hash)
-# source://parser//lib/parser/lexer-F1.rb#14779
+# source://parser//lib/parser/lexer-F1.rb#14840
Parser::Lexer::PUNCTUATION_BEGIN = T.let(T.unsafe(nil), Hash)
# source://parser//lib/parser/lexer/stack_state.rb#5
@@ -3200,7 +3196,7 @@ Parser::MaxNumparamStack::ORDINARY_PARAMS = T.let(T.unsafe(nil), Integer)
# @api private
#
-# source://parser//lib/parser/messages.rb#107
+# source://parser//lib/parser/messages.rb#112
module Parser::Messages
class << self
# Formats the message, returns a raw template if there's nothing to interpolate
@@ -3210,7 +3206,7 @@ module Parser::Messages
#
# @api private
#
- # source://parser//lib/parser/messages.rb#114
+ # source://parser//lib/parser/messages.rb#119
def compile(reason, arguments); end
end
end
@@ -3315,2027 +3311,235 @@ end
# source://parser//lib/parser/rewriter.rb#91
Parser::Rewriter::DEPRECATION_WARNING = T.let(T.unsafe(nil), String)
-# source://parser//lib/parser/ruby32.rb#14
-class Parser::Ruby32 < ::Parser::Base
- # reduce 0 omitted
- #
- # source://parser//lib/parser/ruby32.rb#8421
- def _reduce_1(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#8475
- def _reduce_10(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9110
- def _reduce_100(val, _values, result); end
+# @api public
+#
+# source://parser//lib/parser.rb#30
+module Parser::Source; end
- # reduce 101 omitted
+# A buffer with source code. {Buffer} contains the source code itself,
+# associated location information (name and first line), and takes care
+# of encoding.
+#
+# A source buffer is immutable once populated.
+#
+# @api public
+#
+# source://parser//lib/parser/source/buffer.rb#25
+class Parser::Source::Buffer
+ # @api public
+ # @return [Buffer] a new instance of Buffer
#
- # source://parser//lib/parser/ruby32.rb#9119
- def _reduce_102(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9125
- def _reduce_103(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9131
- def _reduce_104(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9137
- def _reduce_105(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9143
- def _reduce_106(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9149
- def _reduce_107(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9155
- def _reduce_108(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9161
- def _reduce_109(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#8481
- def _reduce_11(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9167
- def _reduce_110(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9177
- def _reduce_111(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9183
- def _reduce_112(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9193
- def _reduce_113(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9200
- def _reduce_114(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9207
- def _reduce_115(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9213
- def _reduce_116(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9219
- def _reduce_117(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9225
- def _reduce_118(val, _values, result); end
+ # source://parser//lib/parser/source/buffer.rb#105
+ def initialize(name, first_line = T.unsafe(nil), source: T.unsafe(nil)); end
- # source://parser//lib/parser/ruby32.rb#9231
- def _reduce_119(val, _values, result); end
+ # Convert a character index into the source to a column number.
+ #
+ # @api private
+ # @param position [Integer]
+ # @return [Integer] column
+ #
+ # source://parser//lib/parser/source/buffer.rb#242
+ def column_for_position(position); end
- # source://parser//lib/parser/ruby32.rb#8498
- def _reduce_12(val, _values, result); end
+ # Convert a character index into the source to a `[line, column]` tuple.
+ #
+ # @api public
+ # @param position [Integer]
+ # @return [[Integer, Integer]] `[line, column]`
+ #
+ # source://parser//lib/parser/source/buffer.rb#217
+ def decompose_position(position); end
- # source://parser//lib/parser/ruby32.rb#9237
- def _reduce_120(val, _values, result); end
+ # First line of the buffer, 1 by default.
+ #
+ # @api public
+ # @return [Integer] first line
+ #
+ # source://parser//lib/parser/source/buffer.rb#26
+ def first_line; end
- # source://parser//lib/parser/ruby32.rb#9243
- def _reduce_121(val, _values, result); end
+ # @api public
+ #
+ # source://parser//lib/parser/source/buffer.rb#312
+ def freeze; end
- # source://parser//lib/parser/ruby32.rb#9249
- def _reduce_122(val, _values, result); end
+ # @api public
+ #
+ # source://parser//lib/parser/source/buffer.rb#318
+ def inspect; end
- # source://parser//lib/parser/ruby32.rb#9256
- def _reduce_123(val, _values, result); end
+ # Number of last line in the buffer
+ #
+ # @api public
+ # @return [Integer]
+ #
+ # source://parser//lib/parser/source/buffer.rb#307
+ def last_line; end
- # source://parser//lib/parser/ruby32.rb#9263
- def _reduce_124(val, _values, result); end
+ # Convert a character index into the source to a line number.
+ #
+ # @api private
+ # @param position [Integer]
+ # @return [Integer] line
+ #
+ # source://parser//lib/parser/source/buffer.rb#231
+ def line_for_position(position); end
- # source://parser//lib/parser/ruby32.rb#9269
- def _reduce_125(val, _values, result); end
+ # Extract line `lineno` as a new `Range`, taking `first_line` into account.
+ #
+ # @api public
+ # @param lineno [Integer]
+ # @raise [IndexError] if `lineno` is out of bounds
+ # @return [Range]
+ #
+ # source://parser//lib/parser/source/buffer.rb#284
+ def line_range(lineno); end
- # reduce 126 omitted
+ # Buffer name. If the buffer was created from a file, the name corresponds
+ # to relative path to the file.
#
- # source://parser//lib/parser/ruby32.rb#9277
- def _reduce_127(val, _values, result); end
+ # @api public
+ # @return [String] buffer name
+ #
+ # source://parser//lib/parser/source/buffer.rb#26
+ def name; end
- # source://parser//lib/parser/ruby32.rb#9283
- def _reduce_128(val, _values, result); end
+ # Populate this buffer from a string without encoding autodetection.
+ #
+ # @api public
+ # @param input [String]
+ # @raise [ArgumentError] if already populated
+ # @return [String]
+ #
+ # source://parser//lib/parser/source/buffer.rb#180
+ def raw_source=(input); end
- # source://parser//lib/parser/ruby32.rb#9289
- def _reduce_129(val, _values, result); end
+ # Populate this buffer from correspondingly named file.
+ #
+ # @api public
+ # @example
+ # Parser::Source::Buffer.new('foo/bar.rb').read
+ # @raise [ArgumentError] if already populated
+ # @return [Buffer] self
+ #
+ # source://parser//lib/parser/source/buffer.rb#131
+ def read; end
- # source://parser//lib/parser/ruby32.rb#8504
- def _reduce_13(val, _values, result); end
+ # @api public
+ #
+ # source://parser//lib/parser/source/buffer.rb#194
+ def slice(start, length = T.unsafe(nil)); end
- # reduce 134 omitted
+ # Source code contained in this buffer.
+ #
+ # @api public
+ # @raise [RuntimeError] if buffer is not populated yet
+ # @return [String] source code
#
- # source://parser//lib/parser/ruby32.rb#9305
- def _reduce_135(val, _values, result); end
+ # source://parser//lib/parser/source/buffer.rb#145
+ def source; end
- # reduce 136 omitted
+ # Populate this buffer from a string with encoding autodetection.
+ # `input` is mutated if not frozen.
+ #
+ # @api public
+ # @param input [String]
+ # @raise [ArgumentError] if already populated
+ # @raise [EncodingError] if `input` includes invalid byte sequence for the encoding
+ # @return [String]
#
- # source://parser//lib/parser/ruby32.rb#9313
- def _reduce_137(val, _values, result); end
+ # source://parser//lib/parser/source/buffer.rb#162
+ def source=(input); end
- # source://parser//lib/parser/ruby32.rb#9319
- def _reduce_138(val, _values, result); end
+ # Extract line `lineno` from source, taking `first_line` into account.
+ #
+ # @api public
+ # @param lineno [Integer]
+ # @raise [IndexError] if `lineno` is out of bounds
+ # @return [String]
+ #
+ # source://parser//lib/parser/source/buffer.rb#273
+ def source_line(lineno); end
- # source://parser//lib/parser/ruby32.rb#9325
- def _reduce_139(val, _values, result); end
+ # Return an `Array` of source code lines.
+ #
+ # @api public
+ # @return [Array]
+ #
+ # source://parser//lib/parser/source/buffer.rb#252
+ def source_lines; end
- # source://parser//lib/parser/ruby32.rb#8510
- def _reduce_14(val, _values, result); end
+ # @api public
+ # @return [Range] A range covering the whole source
+ #
+ # source://parser//lib/parser/source/buffer.rb#298
+ def source_range; end
- # source://parser//lib/parser/ruby32.rb#8516
- def _reduce_15(val, _values, result); end
+ private
- # source://parser//lib/parser/ruby32.rb#8522
- def _reduce_16(val, _values, result); end
+ # @api public
+ #
+ # source://parser//lib/parser/source/buffer.rb#348
+ def bsearch(line_begins, position); end
- # reduce 17 omitted
+ # @api public
#
- # source://parser//lib/parser/ruby32.rb#8530
- def _reduce_18(val, _values, result); end
+ # source://parser//lib/parser/source/buffer.rb#325
+ def line_begins; end
- # source://parser//lib/parser/ruby32.rb#8536
- def _reduce_19(val, _values, result); end
+ # @api public
+ #
+ # source://parser//lib/parser/source/buffer.rb#339
+ def line_index_for_position(position); end
- # source://parser//lib/parser/ruby32.rb#8428
- def _reduce_2(val, _values, result); end
+ class << self
+ # Try to recognize encoding of `string` as Ruby would, i.e. by looking for
+ # magic encoding comment or UTF-8 BOM. `string` can be in any encoding.
+ #
+ # @api public
+ # @param string [String]
+ # @return [String, nil] encoding name, if recognized
+ #
+ # source://parser//lib/parser/source/buffer.rb#51
+ def recognize_encoding(string); end
- # source://parser//lib/parser/ruby32.rb#8542
- def _reduce_20(val, _values, result); end
+ # Recognize encoding of `input` and process it so it could be lexed.
+ #
+ # * If `input` does not contain BOM or magic encoding comment, it is
+ # kept in the original encoding.
+ # * If the detected encoding is binary, `input` is kept in binary.
+ # * Otherwise, `input` is re-encoded into UTF-8 and returned as a
+ # new string.
+ #
+ # This method mutates the encoding of `input`, but not its content.
+ #
+ # @api public
+ # @param input [String]
+ # @raise [EncodingError]
+ # @return [String]
+ #
+ # source://parser//lib/parser/source/buffer.rb#90
+ def reencode_string(input); end
+ end
+end
- # source://parser//lib/parser/ruby32.rb#8548
- def _reduce_21(val, _values, result); end
+# @api private
+#
+# source://parser//lib/parser/source/buffer.rb#31
+Parser::Source::Buffer::ENCODING_RE = T.let(T.unsafe(nil), Regexp)
- # reduce 210 omitted
+# A comment in the source code.
+#
+# @api public
+#
+# source://parser//lib/parser/source/comment.rb#17
+class Parser::Source::Comment
+ # @api public
+ # @param range [Parser::Source::Range]
+ # @return [Comment] a new instance of Comment
#
- # source://parser//lib/parser/ruby32.rb#9473
- def _reduce_211(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9479
- def _reduce_212(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9485
- def _reduce_213(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9494
- def _reduce_214(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9503
- def _reduce_215(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9512
- def _reduce_216(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9521
- def _reduce_217(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9529
- def _reduce_218(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9537
- def _reduce_219(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#8556
- def _reduce_22(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9543
- def _reduce_220(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9549
- def _reduce_221(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9555
- def _reduce_222(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9561
- def _reduce_223(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9567
- def _reduce_224(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9573
- def _reduce_225(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9579
- def _reduce_226(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9585
- def _reduce_227(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9591
- def _reduce_228(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9597
- def _reduce_229(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#8564
- def _reduce_23(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9603
- def _reduce_230(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9609
- def _reduce_231(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9615
- def _reduce_232(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9623
- def _reduce_233(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9629
- def _reduce_234(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9635
- def _reduce_235(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9641
- def _reduce_236(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9647
- def _reduce_237(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9653
- def _reduce_238(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#8570
- def _reduce_24(val, _values, result); end
-
- # reduce 239 omitted
- #
- # source://parser//lib/parser/ruby32.rb#9661
- def _reduce_240(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9667
- def _reduce_241(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9673
- def _reduce_242(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9679
- def _reduce_243(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9685
- def _reduce_244(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9691
- def _reduce_245(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9697
- def _reduce_246(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9703
- def _reduce_247(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9709
- def _reduce_248(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9715
- def _reduce_249(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#8576
- def _reduce_25(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9721
- def _reduce_250(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9727
- def _reduce_251(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9733
- def _reduce_252(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9740
- def _reduce_253(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9747
- def _reduce_254(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9761
- def _reduce_255(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9781
- def _reduce_256(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9795
- def _reduce_257(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#8583
- def _reduce_26(val, _values, result); end
-
- # reduce 262 omitted
- #
- # source://parser//lib/parser/ruby32.rb#9825
- def _reduce_263(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9831
- def _reduce_264(val, _values, result); end
-
- # reduce 267 omitted
- #
- # source://parser//lib/parser/ruby32.rb#9843
- def _reduce_268(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9849
- def _reduce_269(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#8590
- def _reduce_27(val, _values, result); end
-
- # reduce 270 omitted
- #
- # source://parser//lib/parser/ruby32.rb#9857
- def _reduce_271(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9867
- def _reduce_272(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9873
- def _reduce_273(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9883
- def _reduce_274(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9893
- def _reduce_275(val, _values, result); end
-
- # reduce 276 omitted
- #
- # source://parser//lib/parser/ruby32.rb#9901
- def _reduce_277(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#8596
- def _reduce_28(val, _values, result); end
-
- # reduce 279 omitted
- #
- # source://parser//lib/parser/ruby32.rb#9911
- def _reduce_280(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9917
- def _reduce_281(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9923
- def _reduce_282(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9929
- def _reduce_283(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9935
- def _reduce_284(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9942
- def _reduce_285(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9950
- def _reduce_286(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9956
- def _reduce_287(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9983
- def _reduce_288(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10004
- def _reduce_289(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#8602
- def _reduce_29(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10010
- def _reduce_290(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10020
- def _reduce_291(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10026
- def _reduce_292(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10032
- def _reduce_293(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10038
- def _reduce_294(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10044
- def _reduce_295(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10054
- def _reduce_296(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10060
- def _reduce_297(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10066
- def _reduce_298(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10076
- def _reduce_299(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#8437
- def _reduce_3(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#8612
- def _reduce_30(val, _values, result); end
-
- # reduce 300 omitted
- #
- # source://parser//lib/parser/ruby32.rb#10084
- def _reduce_301(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10090
- def _reduce_302(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10096
- def _reduce_303(val, _values, result); end
-
- # reduce 313 omitted
- #
- # source://parser//lib/parser/ruby32.rb#10122
- def _reduce_314(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10128
- def _reduce_315(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10134
- def _reduce_316(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10142
- def _reduce_317(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10148
- def _reduce_318(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10154
- def _reduce_319(val, _values, result); end
-
- # reduce 31 omitted
- #
- # source://parser//lib/parser/ruby32.rb#8620
- def _reduce_32(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10160
- def _reduce_320(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10166
- def _reduce_321(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10172
- def _reduce_322(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10178
- def _reduce_323(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10184
- def _reduce_324(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10190
- def _reduce_325(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10196
- def _reduce_326(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10202
- def _reduce_327(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10208
- def _reduce_328(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10214
- def _reduce_329(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#8626
- def _reduce_33(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10220
- def _reduce_330(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10226
- def _reduce_331(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10234
- def _reduce_332(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10240
- def _reduce_333(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10246
- def _reduce_334(val, _values, result); end
-
- # reduce 335 omitted
- #
- # source://parser//lib/parser/ruby32.rb#10258
- def _reduce_336(val, _values, result); end
-
- # reduce 337 omitted
- #
- # source://parser//lib/parser/ruby32.rb#10268
- def _reduce_338(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10277
- def _reduce_339(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#8633
- def _reduce_34(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10286
- def _reduce_340(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10292
- def _reduce_341(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10298
- def _reduce_342(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10308
- def _reduce_343(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10318
- def _reduce_344(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10328
- def _reduce_345(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10334
- def _reduce_346(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10341
- def _reduce_347(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10357
- def _reduce_348(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10365
- def _reduce_349(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#8644
- def _reduce_35(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10377
- def _reduce_350(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10384
- def _reduce_351(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10398
- def _reduce_352(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10410
- def _reduce_353(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10422
- def _reduce_354(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10428
- def _reduce_355(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10434
- def _reduce_356(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10440
- def _reduce_357(val, _values, result); end
-
- # reduce 358 omitted
- #
- # source://parser//lib/parser/ruby32.rb#10448
- def _reduce_359(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10454
- def _reduce_360(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10460
- def _reduce_361(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10467
- def _reduce_362(val, _values, result); end
-
- # reduce 364 omitted
- #
- # source://parser//lib/parser/ruby32.rb#10479
- def _reduce_365(val, _values, result); end
-
- # reduce 368 omitted
- #
- # source://parser//lib/parser/ruby32.rb#10491
- def _reduce_369(val, _values, result); end
-
- # reduce 36 omitted
- #
- # source://parser//lib/parser/ruby32.rb#8652
- def _reduce_37(val, _values, result); end
-
- # reduce 370 omitted
- #
- # source://parser//lib/parser/ruby32.rb#10504
- def _reduce_371(val, _values, result); end
-
- # reduce 373 omitted
- #
- # source://parser//lib/parser/ruby32.rb#10514
- def _reduce_374(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10520
- def _reduce_375(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10526
- def _reduce_376(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10532
- def _reduce_377(val, _values, result); end
-
- # reduce 378 omitted
- #
- # source://parser//lib/parser/ruby32.rb#10540
- def _reduce_379(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#8658
- def _reduce_38(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10547
- def _reduce_380(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10555
- def _reduce_381(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10561
- def _reduce_382(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10567
- def _reduce_383(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10573
- def _reduce_384(val, _values, result); end
-
- # reduce 386 omitted
- #
- # source://parser//lib/parser/ruby32.rb#10583
- def _reduce_387(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10589
- def _reduce_388(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10595
- def _reduce_389(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#8664
- def _reduce_39(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10601
- def _reduce_390(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10607
- def _reduce_391(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10613
- def _reduce_392(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10619
- def _reduce_393(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10625
- def _reduce_394(val, _values, result); end
-
- # reduce 395 omitted
- #
- # source://parser//lib/parser/ruby32.rb#10633
- def _reduce_396(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10642
- def _reduce_397(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10652
- def _reduce_398(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10660
- def _reduce_399(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#8443
- def _reduce_4(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#8673
- def _reduce_40(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10669
- def _reduce_400(val, _values, result); end
-
- # reduce 401 omitted
- #
- # source://parser//lib/parser/ruby32.rb#10679
- def _reduce_402(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10688
- def _reduce_403(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10698
- def _reduce_404(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10706
- def _reduce_405(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10715
- def _reduce_406(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10722
- def _reduce_407(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10730
- def _reduce_408(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10737
- def _reduce_409(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#8682
- def _reduce_41(val, _values, result); end
-
- # reduce 410 omitted
- #
- # source://parser//lib/parser/ruby32.rb#10747
- def _reduce_411(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10753
- def _reduce_412(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10759
- def _reduce_413(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10768
- def _reduce_414(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10777
- def _reduce_415(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10783
- def _reduce_416(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10789
- def _reduce_417(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10795
- def _reduce_418(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10801
- def _reduce_419(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#8691
- def _reduce_42(val, _values, result); end
-
- # reduce 420 omitted
- #
- # source://parser//lib/parser/ruby32.rb#10810
- def _reduce_421(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10819
- def _reduce_422(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10825
- def _reduce_423(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10841
- def _reduce_424(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10849
- def _reduce_425(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10859
- def _reduce_426(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10866
- def _reduce_427(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10873
- def _reduce_428(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10880
- def _reduce_429(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#8699
- def _reduce_43(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10887
- def _reduce_430(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10894
- def _reduce_431(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10901
- def _reduce_432(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10909
- def _reduce_433(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10917
- def _reduce_434(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10929
- def _reduce_435(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10940
- def _reduce_436(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10948
- def _reduce_437(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10956
- def _reduce_438(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10964
- def _reduce_439(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#8708
- def _reduce_44(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10970
- def _reduce_440(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10978
- def _reduce_441(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10986
- def _reduce_442(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#10994
- def _reduce_443(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11000
- def _reduce_444(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11006
- def _reduce_445(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11013
- def _reduce_446(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11020
- def _reduce_447(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11027
- def _reduce_448(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11034
- def _reduce_449(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#8722
- def _reduce_45(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11041
- def _reduce_450(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11051
- def _reduce_451(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11058
- def _reduce_452(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11064
- def _reduce_453(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11075
- def _reduce_454(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11082
- def _reduce_455(val, _values, result); end
-
- # reduce 456 omitted
- #
- # source://parser//lib/parser/ruby32.rb#11090
- def _reduce_457(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11102
- def _reduce_458(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11110
- def _reduce_459(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#8742
- def _reduce_46(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11117
- def _reduce_460(val, _values, result); end
-
- # reduce 461 omitted
- #
- # source://parser//lib/parser/ruby32.rb#11125
- def _reduce_462(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11131
- def _reduce_463(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11137
- def _reduce_464(val, _values, result); end
-
- # reduce 465 omitted
- #
- # source://parser//lib/parser/ruby32.rb#11145
- def _reduce_466(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11155
- def _reduce_467(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11161
- def _reduce_468(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11167
- def _reduce_469(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#8756
- def _reduce_47(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11173
- def _reduce_470(val, _values, result); end
-
- # reduce 471 omitted
- #
- # source://parser//lib/parser/ruby32.rb#11181
- def _reduce_472(val, _values, result); end
-
- # reduce 473 omitted
- #
- # source://parser//lib/parser/ruby32.rb#11189
- def _reduce_474(val, _values, result); end
-
- # reduce 475 omitted
- #
- # source://parser//lib/parser/ruby32.rb#11197
- def _reduce_476(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11204
- def _reduce_477(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#8776
- def _reduce_48(val, _values, result); end
-
- # reduce 479 omitted
- #
- # source://parser//lib/parser/ruby32.rb#11215
- def _reduce_480(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11223
- def _reduce_481(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11231
- def _reduce_482(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11239
- def _reduce_483(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11246
- def _reduce_484(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11254
- def _reduce_485(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11262
- def _reduce_486(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11270
- def _reduce_487(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11277
- def _reduce_488(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11283
- def _reduce_489(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11289
- def _reduce_490(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11295
- def _reduce_491(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11303
- def _reduce_492(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11311
- def _reduce_493(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11317
- def _reduce_494(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11323
- def _reduce_495(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11330
- def _reduce_496(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11336
- def _reduce_497(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11342
- def _reduce_498(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11348
- def _reduce_499(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#8449
- def _reduce_5(val, _values, result); end
-
- # reduce 49 omitted
- #
- # source://parser//lib/parser/ruby32.rb#8784
- def _reduce_50(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11354
- def _reduce_500(val, _values, result); end
-
- # reduce 501 omitted
- #
- # source://parser//lib/parser/ruby32.rb#11362
- def _reduce_502(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11372
- def _reduce_503(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11382
- def _reduce_504(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11388
- def _reduce_505(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11394
- def _reduce_506(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11400
- def _reduce_507(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11406
- def _reduce_508(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11412
- def _reduce_509(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11418
- def _reduce_510(val, _values, result); end
-
- # reduce 511 omitted
- #
- # source://parser//lib/parser/ruby32.rb#11426
- def _reduce_512(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11432
- def _reduce_513(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11438
- def _reduce_514(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11444
- def _reduce_515(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11450
- def _reduce_516(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11456
- def _reduce_517(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11462
- def _reduce_518(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11468
- def _reduce_519(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11474
- def _reduce_520(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11480
- def _reduce_521(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11486
- def _reduce_522(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11492
- def _reduce_523(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11498
- def _reduce_524(val, _values, result); end
-
- # reduce 525 omitted
- #
- # source://parser//lib/parser/ruby32.rb#11506
- def _reduce_526(val, _values, result); end
-
- # reduce 527 omitted
- #
- # source://parser//lib/parser/ruby32.rb#11514
- def _reduce_528(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11520
- def _reduce_529(val, _values, result); end
-
- # reduce 52 omitted
- #
- # source://parser//lib/parser/ruby32.rb#8798
- def _reduce_53(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11526
- def _reduce_530(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11532
- def _reduce_531(val, _values, result); end
-
- # reduce 534 omitted
- #
- # source://parser//lib/parser/ruby32.rb#11544
- def _reduce_535(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11550
- def _reduce_536(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#8804
- def _reduce_54(val, _values, result); end
-
- # reduce 544 omitted
- #
- # source://parser//lib/parser/ruby32.rb#11572
- def _reduce_545(val, _values, result); end
-
- # reduce 546 omitted
- #
- # source://parser//lib/parser/ruby32.rb#11580
- def _reduce_547(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11586
- def _reduce_548(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11598
- def _reduce_549(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#8810
- def _reduce_55(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11605
- def _reduce_550(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11612
- def _reduce_551(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11618
- def _reduce_552(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11624
- def _reduce_553(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11630
- def _reduce_554(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11645
- def _reduce_555(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11651
- def _reduce_556(val, _values, result); end
-
- # reduce 558 omitted
- #
- # source://parser//lib/parser/ruby32.rb#11661
- def _reduce_559(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#8816
- def _reduce_56(val, _values, result); end
-
- # reduce 560 omitted
- #
- # source://parser//lib/parser/ruby32.rb#11669
- def _reduce_561(val, _values, result); end
-
- # reduce 564 omitted
- #
- # source://parser//lib/parser/ruby32.rb#11681
- def _reduce_565(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11687
- def _reduce_566(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11693
- def _reduce_567(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11699
- def _reduce_568(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11706
- def _reduce_569(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#8822
- def _reduce_57(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11713
- def _reduce_570(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11719
- def _reduce_571(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11726
- def _reduce_572(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11733
- def _reduce_573(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11739
- def _reduce_574(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11745
- def _reduce_575(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11751
- def _reduce_576(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11757
- def _reduce_577(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11763
- def _reduce_578(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11769
- def _reduce_579(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#8834
- def _reduce_58(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11775
- def _reduce_580(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11781
- def _reduce_581(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11787
- def _reduce_582(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11793
- def _reduce_583(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11799
- def _reduce_584(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11805
- def _reduce_585(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11811
- def _reduce_586(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11817
- def _reduce_587(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11823
- def _reduce_588(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11829
- def _reduce_589(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#8843
- def _reduce_59(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11835
- def _reduce_590(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11841
- def _reduce_591(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11847
- def _reduce_592(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11853
- def _reduce_593(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11859
- def _reduce_594(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11865
- def _reduce_595(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11872
- def _reduce_596(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11881
- def _reduce_597(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11887
- def _reduce_598(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11893
- def _reduce_599(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#8455
- def _reduce_6(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#8855
- def _reduce_60(val, _values, result); end
-
- # reduce 602 omitted
- #
- # source://parser//lib/parser/ruby32.rb#11905
- def _reduce_603(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11912
- def _reduce_604(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11919
- def _reduce_605(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11925
- def _reduce_606(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11936
- def _reduce_607(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11943
- def _reduce_608(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11950
- def _reduce_609(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11957
- def _reduce_610(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11964
- def _reduce_611(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11970
- def _reduce_612(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11976
- def _reduce_613(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11982
- def _reduce_614(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#11988
- def _reduce_615(val, _values, result); end
-
- # reduce 616 omitted
- #
- # source://parser//lib/parser/ruby32.rb#11996
- def _reduce_617(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#12002
- def _reduce_618(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#12008
- def _reduce_619(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#12014
- def _reduce_620(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#12020
- def _reduce_621(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#12026
- def _reduce_622(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#12032
- def _reduce_623(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#12038
- def _reduce_624(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#12044
- def _reduce_625(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#12050
- def _reduce_626(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#12056
- def _reduce_627(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#12062
- def _reduce_628(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#12068
- def _reduce_629(val, _values, result); end
-
- # reduce 62 omitted
- #
- # source://parser//lib/parser/ruby32.rb#8868
- def _reduce_63(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#12074
- def _reduce_630(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#12080
- def _reduce_631(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#12086
- def _reduce_632(val, _values, result); end
-
- # reduce 633 omitted
- #
- # source://parser//lib/parser/ruby32.rb#12094
- def _reduce_634(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#12101
- def _reduce_635(val, _values, result); end
-
- # reduce 636 omitted
- #
- # source://parser//lib/parser/ruby32.rb#12112
- def _reduce_637(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#12120
- def _reduce_638(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#12128
- def _reduce_639(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#8874
- def _reduce_64(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#12134
- def _reduce_640(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#12140
- def _reduce_641(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#12146
- def _reduce_642(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#12152
- def _reduce_643(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#12159
- def _reduce_644(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#12165
- def _reduce_645(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#12171
- def _reduce_646(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#12180
- def _reduce_647(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#12190
- def _reduce_648(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#12198
- def _reduce_649(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#8881
- def _reduce_65(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#12207
- def _reduce_650(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#12215
- def _reduce_651(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#12224
- def _reduce_652(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#12231
- def _reduce_653(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#12239
- def _reduce_654(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#12248
- def _reduce_655(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#12255
- def _reduce_656(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#12263
- def _reduce_657(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#12270
- def _reduce_658(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#12278
- def _reduce_659(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#8891
- def _reduce_66(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#12284
- def _reduce_660(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#12290
- def _reduce_661(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#12296
- def _reduce_662(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#12302
- def _reduce_663(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#12308
- def _reduce_664(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#12314
- def _reduce_665(val, _values, result); end
-
- # reduce 666 omitted
- #
- # source://parser//lib/parser/ruby32.rb#12322
- def _reduce_667(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#12332
- def _reduce_668(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#12339
- def _reduce_669(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#8897
- def _reduce_67(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#12346
- def _reduce_670(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#12352
- def _reduce_671(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#12358
- def _reduce_672(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#12364
- def _reduce_673(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#12379
- def _reduce_674(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#12387
- def _reduce_675(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#12395
- def _reduce_676(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#12402
- def _reduce_677(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#12409
- def _reduce_678(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#12415
- def _reduce_679(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#8904
- def _reduce_68(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#12421
- def _reduce_680(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#12427
- def _reduce_681(val, _values, result); end
-
- # reduce 683 omitted
- #
- # source://parser//lib/parser/ruby32.rb#12437
- def _reduce_684(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#12443
- def _reduce_685(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#12451
- def _reduce_686(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#12459
- def _reduce_687(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#12467
- def _reduce_688(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#12475
- def _reduce_689(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#12481
- def _reduce_690(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#12487
- def _reduce_691(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#12493
- def _reduce_692(val, _values, result); end
-
- # reduce 694 omitted
- #
- # source://parser//lib/parser/ruby32.rb#12503
- def _reduce_695(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#12511
- def _reduce_696(val, _values, result); end
-
- # reduce 698 omitted
- #
- # source://parser//lib/parser/ruby32.rb#12523
- def _reduce_699(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#8461
- def _reduce_7(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#12531
- def _reduce_700(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#12539
- def _reduce_701(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#12545
- def _reduce_702(val, _values, result); end
-
- # reduce 703 omitted
- #
- # source://parser//lib/parser/ruby32.rb#12553
- def _reduce_704(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#12559
- def _reduce_705(val, _values, result); end
-
- # reduce 706 omitted
- #
- # source://parser//lib/parser/ruby32.rb#12567
- def _reduce_707(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#12573
- def _reduce_708(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#12579
- def _reduce_709(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#12585
- def _reduce_710(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#12591
- def _reduce_711(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#12597
- def _reduce_712(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#12603
- def _reduce_713(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#12609
- def _reduce_714(val, _values, result); end
-
- # reduce 71 omitted
- #
- # source://parser//lib/parser/ruby32.rb#8916
- def _reduce_72(val, _values, result); end
-
- # reduce 724 omitted
- #
- # source://parser//lib/parser/ruby32.rb#12639
- def _reduce_725(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#12645
- def _reduce_726(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#8923
- def _reduce_73(val, _values, result); end
-
- # reduce 730 omitted
- #
- # source://parser//lib/parser/ruby32.rb#12659
- def _reduce_731(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#12665
- def _reduce_732(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#12671
- def _reduce_733(val, _values, result); end
-
- # reduce 735 omitted
- #
- # source://parser//lib/parser/ruby32.rb#12681
- def _reduce_736(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#8930
- def _reduce_74(val, _values, result); end
-
- # reduce 739 omitted
- #
- # source://parser//lib/parser/ruby32.rb#12693
- def _reduce_740(val, _values, result); end
-
- # reduce 75 omitted
- #
- # source://parser//lib/parser/ruby32.rb#8939
- def _reduce_76(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#8946
- def _reduce_77(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#8957
- def _reduce_78(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#8964
- def _reduce_79(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#8975
- def _reduce_80(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#8982
- def _reduce_81(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#8993
- def _reduce_82(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9000
- def _reduce_83(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9007
- def _reduce_84(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9014
- def _reduce_85(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9021
- def _reduce_86(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9028
- def _reduce_87(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9034
- def _reduce_88(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9040
- def _reduce_89(val, _values, result); end
-
- # reduce 8 omitted
- #
- # source://parser//lib/parser/ruby32.rb#8469
- def _reduce_9(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9046
- def _reduce_90(val, _values, result); end
-
- # reduce 91 omitted
- #
- # source://parser//lib/parser/ruby32.rb#9054
- def _reduce_92(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9061
- def _reduce_93(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9068
- def _reduce_94(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9076
- def _reduce_95(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9083
- def _reduce_96(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9091
- def _reduce_97(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9097
- def _reduce_98(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#9104
- def _reduce_99(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#12699
- def _reduce_none(val, _values, result); end
-
- # source://parser//lib/parser/ruby32.rb#21
- def default_encoding; end
-
- # source://parser//lib/parser/ruby32.rb#25
- def endless_method_name(name_t); end
-
- # source://parser//lib/parser/ruby32.rb#38
- def local_pop; end
-
- # source://parser//lib/parser/ruby32.rb#31
- def local_push; end
-
- # source://parser//lib/parser/ruby32.rb#45
- def try_declare_numparam(node); end
-
- # source://parser//lib/parser/ruby32.rb#17
- def version; end
-end
-
-# source://parser//lib/parser/ruby32.rb#8008
-Parser::Ruby32::Racc_arg = T.let(T.unsafe(nil), Array)
-
-# source://parser//lib/parser/ruby32.rb#8415
-Parser::Ruby32::Racc_debug_parser = T.let(T.unsafe(nil), FalseClass)
-
-# source://parser//lib/parser/ruby32.rb#8025
-Parser::Ruby32::Racc_token_to_s_table = T.let(T.unsafe(nil), Array)
-
-# @api public
-#
-# source://parser//lib/parser.rb#30
-module Parser::Source; end
-
-# A buffer with source code. {Buffer} contains the source code itself,
-# associated location information (name and first line), and takes care
-# of encoding.
-#
-# A source buffer is immutable once populated.
-#
-# @api public
-#
-# source://parser//lib/parser/source/buffer.rb#25
-class Parser::Source::Buffer
- # @api public
- # @return [Buffer] a new instance of Buffer
- #
- # source://parser//lib/parser/source/buffer.rb#105
- def initialize(name, first_line = T.unsafe(nil), source: T.unsafe(nil)); end
-
- # Convert a character index into the source to a column number.
- #
- # @api private
- # @param position [Integer]
- # @return [Integer] column
- #
- # source://parser//lib/parser/source/buffer.rb#242
- def column_for_position(position); end
-
- # Convert a character index into the source to a `[line, column]` tuple.
- #
- # @api public
- # @param position [Integer]
- # @return [[Integer, Integer]] `[line, column]`
- #
- # source://parser//lib/parser/source/buffer.rb#217
- def decompose_position(position); end
-
- # First line of the buffer, 1 by default.
- #
- # @api public
- # @return [Integer] first line
- #
- # source://parser//lib/parser/source/buffer.rb#26
- def first_line; end
-
- # @api public
- #
- # source://parser//lib/parser/source/buffer.rb#312
- def freeze; end
-
- # @api public
- #
- # source://parser//lib/parser/source/buffer.rb#318
- def inspect; end
-
- # Number of last line in the buffer
- #
- # @api public
- # @return [Integer]
- #
- # source://parser//lib/parser/source/buffer.rb#307
- def last_line; end
-
- # Convert a character index into the source to a line number.
- #
- # @api private
- # @param position [Integer]
- # @return [Integer] line
- #
- # source://parser//lib/parser/source/buffer.rb#231
- def line_for_position(position); end
-
- # Extract line `lineno` as a new `Range`, taking `first_line` into account.
- #
- # @api public
- # @param lineno [Integer]
- # @raise [IndexError] if `lineno` is out of bounds
- # @return [Range]
- #
- # source://parser//lib/parser/source/buffer.rb#284
- def line_range(lineno); end
-
- # Buffer name. If the buffer was created from a file, the name corresponds
- # to relative path to the file.
- #
- # @api public
- # @return [String] buffer name
- #
- # source://parser//lib/parser/source/buffer.rb#26
- def name; end
-
- # Populate this buffer from a string without encoding autodetection.
- #
- # @api public
- # @param input [String]
- # @raise [ArgumentError] if already populated
- # @return [String]
- #
- # source://parser//lib/parser/source/buffer.rb#180
- def raw_source=(input); end
-
- # Populate this buffer from correspondingly named file.
- #
- # @api public
- # @example
- # Parser::Source::Buffer.new('foo/bar.rb').read
- # @raise [ArgumentError] if already populated
- # @return [Buffer] self
- #
- # source://parser//lib/parser/source/buffer.rb#131
- def read; end
-
- # @api public
- #
- # source://parser//lib/parser/source/buffer.rb#194
- def slice(start, length = T.unsafe(nil)); end
-
- # Source code contained in this buffer.
- #
- # @api public
- # @raise [RuntimeError] if buffer is not populated yet
- # @return [String] source code
- #
- # source://parser//lib/parser/source/buffer.rb#145
- def source; end
-
- # Populate this buffer from a string with encoding autodetection.
- # `input` is mutated if not frozen.
- #
- # @api public
- # @param input [String]
- # @raise [ArgumentError] if already populated
- # @raise [EncodingError] if `input` includes invalid byte sequence for the encoding
- # @return [String]
- #
- # source://parser//lib/parser/source/buffer.rb#162
- def source=(input); end
-
- # Extract line `lineno` from source, taking `first_line` into account.
- #
- # @api public
- # @param lineno [Integer]
- # @raise [IndexError] if `lineno` is out of bounds
- # @return [String]
- #
- # source://parser//lib/parser/source/buffer.rb#273
- def source_line(lineno); end
-
- # Return an `Array` of source code lines.
- #
- # @api public
- # @return [Array]
- #
- # source://parser//lib/parser/source/buffer.rb#252
- def source_lines; end
-
- # @api public
- # @return [Range] A range covering the whole source
- #
- # source://parser//lib/parser/source/buffer.rb#298
- def source_range; end
-
- private
-
- # @api public
- #
- # source://parser//lib/parser/source/buffer.rb#348
- def bsearch(line_begins, position); end
-
- # @api public
- #
- # source://parser//lib/parser/source/buffer.rb#325
- def line_begins; end
-
- # @api public
- #
- # source://parser//lib/parser/source/buffer.rb#339
- def line_index_for_position(position); end
-
- class << self
- # Try to recognize encoding of `string` as Ruby would, i.e. by looking for
- # magic encoding comment or UTF-8 BOM. `string` can be in any encoding.
- #
- # @api public
- # @param string [String]
- # @return [String, nil] encoding name, if recognized
- #
- # source://parser//lib/parser/source/buffer.rb#51
- def recognize_encoding(string); end
-
- # Recognize encoding of `input` and process it so it could be lexed.
- #
- # * If `input` does not contain BOM or magic encoding comment, it is
- # kept in the original encoding.
- # * If the detected encoding is binary, `input` is kept in binary.
- # * Otherwise, `input` is re-encoded into UTF-8 and returned as a
- # new string.
- #
- # This method mutates the encoding of `input`, but not its content.
- #
- # @api public
- # @param input [String]
- # @raise [EncodingError]
- # @return [String]
- #
- # source://parser//lib/parser/source/buffer.rb#90
- def reencode_string(input); end
- end
-end
-
-# @api private
-#
-# source://parser//lib/parser/source/buffer.rb#31
-Parser::Source::Buffer::ENCODING_RE = T.let(T.unsafe(nil), Regexp)
-
-# A comment in the source code.
-#
-# @api public
-#
-# source://parser//lib/parser/source/comment.rb#17
-class Parser::Source::Comment
- # @api public
- # @param range [Parser::Source::Range]
- # @return [Comment] a new instance of Comment
- #
- # source://parser//lib/parser/source/comment.rb#67
- def initialize(range); end
+ # source://parser//lib/parser/source/comment.rb#67
+ def initialize(range); end
# Compares comments. Two comments are equal if they
# correspond to the same source range.
@@ -5452,7 +3656,7 @@ class Parser::Source::Comment::Associator
# source://parser//lib/parser/source/comment/associator.rb#115
def associate_by_identity; end
- # source://parser//lib/parser/source/comment/associator.rb#103
+ # source://parser//lib/parser/source/comment/associator.rb#104
def associate_locations; end
# source://parser//lib/parser/source/comment/associator.rb#46
@@ -7020,10 +5224,10 @@ class Parser::StaticEnvironment
# source://parser//lib/parser/static_environment.rb#58
def declare_anonymous_blockarg; end
- # source://parser//lib/parser/static_environment.rb#74
+ # source://parser//lib/parser/static_environment.rb#82
def declare_anonymous_kwrestarg; end
- # source://parser//lib/parser/static_environment.rb#66
+ # source://parser//lib/parser/static_environment.rb#70
def declare_anonymous_restarg; end
# source://parser//lib/parser/static_environment.rb#50
@@ -7041,12 +5245,12 @@ class Parser::StaticEnvironment
# @return [Boolean]
#
- # source://parser//lib/parser/static_environment.rb#78
+ # source://parser//lib/parser/static_environment.rb#86
def declared_anonymous_kwrestarg?; end
# @return [Boolean]
#
- # source://parser//lib/parser/static_environment.rb#70
+ # source://parser//lib/parser/static_environment.rb#74
def declared_anonymous_restarg?; end
# @return [Boolean]
@@ -7056,7 +5260,7 @@ class Parser::StaticEnvironment
# @return [Boolean]
#
- # source://parser//lib/parser/static_environment.rb#82
+ # source://parser//lib/parser/static_environment.rb#94
def empty?; end
# source://parser//lib/parser/static_environment.rb#27
@@ -7065,6 +5269,21 @@ class Parser::StaticEnvironment
# source://parser//lib/parser/static_environment.rb#20
def extend_static; end
+ # @return [Boolean]
+ #
+ # source://parser//lib/parser/static_environment.rb#66
+ def parent_has_anonymous_blockarg?; end
+
+ # @return [Boolean]
+ #
+ # source://parser//lib/parser/static_environment.rb#90
+ def parent_has_anonymous_kwrestarg?; end
+
+ # @return [Boolean]
+ #
+ # source://parser//lib/parser/static_environment.rb#78
+ def parent_has_anonymous_restarg?; end
+
# source://parser//lib/parser/static_environment.rb#15
def reset; end
diff --git a/sorbet/rbi/gems/prism@0.24.0.rbi b/sorbet/rbi/gems/prism@0.24.0.rbi
new file mode 100644
index 000000000..07688d12c
--- /dev/null
+++ b/sorbet/rbi/gems/prism@0.24.0.rbi
@@ -0,0 +1,31040 @@
+# typed: true
+
+# DO NOT EDIT MANUALLY
+# This is an autogenerated file for types exported from the `prism` gem.
+# Please instead update this file by running `bin/tapioca gem prism`.
+
+# =begin
+# This file is generated by the templates/template.rb script and should not be
+# modified manually. See templates/rbi/prism.rbi.erb
+# if you are looking to modify the template
+# =end
+
+# The Prism Ruby parser.
+#
+# "Parsing Ruby is suddenly manageable!"
+# - You, hopefully
+#
+# source://prism//lib/prism.rb#8
+module Prism
+ class << self
+ # Mirror the Prism.dump API by using the serialization API.
+ def dump(*_arg0); end
+
+ # Mirror the Prism.dump_file API by using the serialization API.
+ def dump_file(*_arg0); end
+
+ # Mirror the Prism.lex API by using the serialization API.
+ def lex(*_arg0); end
+
+ # :call-seq:
+ # Prism::lex_compat(source, **options) -> ParseResult
+ #
+ # Returns a parse result whose value is an array of tokens that closely
+ # resembles the return value of Ripper::lex. The main difference is that the
+ # `:on_sp` token is not emitted.
+ #
+ # For supported options, see Prism::parse.
+ #
+ # source://prism//lib/prism.rb#46
+ def lex_compat(source, **options); end
+
+ # Mirror the Prism.lex_file API by using the serialization API.
+ def lex_file(*_arg0); end
+
+ # :call-seq:
+ # Prism::lex_ripper(source) -> Array
+ #
+ # This lexes with the Ripper lex. It drops any space events but otherwise
+ # returns the same tokens. Raises SyntaxError if the syntax in source is
+ # invalid.
+ #
+ # source://prism//lib/prism.rb#56
+ def lex_ripper(source); end
+
+ # :call-seq:
+ # Prism::load(source, serialized) -> ParseResult
+ #
+ # Load the serialized AST using the source as a reference into a tree.
+ #
+ # source://prism//lib/prism.rb#64
+ def load(source, serialized); end
+
+ # Mirror the Prism.parse API by using the serialization API.
+ def parse(*_arg0); end
+
+ # Mirror the Prism.parse_comments API by using the serialization API.
+ def parse_comments(*_arg0); end
+
+ # :call-seq:
+ # Prism::parse_failure?(source, **options) -> bool
+ #
+ # Returns true if the source parses with errors.
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism.rb#72
+ def parse_failure?(source, **options); end
+
+ # Mirror the Prism.parse_file API by using the serialization API. This uses
+ # native strings instead of Ruby strings because it allows us to use mmap when
+ # it is available.
+ def parse_file(*_arg0); end
+
+ # Mirror the Prism.parse_file_comments API by using the serialization
+ # API. This uses native strings instead of Ruby strings because it allows us
+ # to use mmap when it is available.
+ def parse_file_comments(*_arg0); end
+
+ # :call-seq:
+ # Prism::parse_file_failure?(filepath, **options) -> bool
+ #
+ # Returns true if the file at filepath parses with errors.
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism.rb#80
+ def parse_file_failure?(filepath, **options); end
+
+ # Mirror the Prism.parse_file_success? API by using the serialization API.
+ #
+ # @return [Boolean]
+ def parse_file_success?(*_arg0); end
+
+ # Mirror the Prism.parse_lex API by using the serialization API.
+ def parse_lex(*_arg0); end
+
+ # Mirror the Prism.parse_lex_file API by using the serialization API.
+ def parse_lex_file(*_arg0); end
+
+ # Mirror the Prism.parse_success? API by using the serialization API.
+ #
+ # @return [Boolean]
+ def parse_success?(*_arg0); end
+ end
+end
+
+# Represents the use of the `alias` keyword to alias a global variable.
+#
+# alias $foo $bar
+# ^^^^^^^^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#97
+class Prism::AliasGlobalVariableNode < ::Prism::Node
+ # def initialize: (Node new_name, Node old_name, Location keyword_loc, Location location) -> void
+ #
+ # @return [AliasGlobalVariableNode] a new instance of AliasGlobalVariableNode
+ #
+ # source://prism//lib/prism/node.rb#99
+ def initialize(source, new_name, old_name, keyword_loc, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#109
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#114
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#124
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#119
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> AliasGlobalVariableNode
+ #
+ # source://prism//lib/prism/node.rb#129
+ sig { params(params: T.untyped).returns(Prism::AliasGlobalVariableNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#114
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { new_name: Node, old_name: Node, keyword_loc: Location, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#143
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#166
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # def keyword: () -> String
+ #
+ # source://prism//lib/prism/node.rb#161
+ sig { returns(String) }
+ def keyword; end
+
+ # attr_reader keyword_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#154
+ sig { returns(Prism::Location) }
+ def keyword_loc; end
+
+ # attr_reader new_name: Node
+ #
+ # source://prism//lib/prism/node.rb#148
+ sig { returns(Prism::Node) }
+ def new_name; end
+
+ # attr_reader old_name: Node
+ #
+ # source://prism//lib/prism/node.rb#151
+ sig { returns(Prism::Node) }
+ def old_name; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#190
+ def type; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#200
+ def type; end
+ end
+end
+
+# Represents the use of the `alias` keyword to alias a method.
+#
+# alias foo bar
+# ^^^^^^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#209
+class Prism::AliasMethodNode < ::Prism::Node
+ # def initialize: (Node new_name, Node old_name, Location keyword_loc, Location location) -> void
+ #
+ # @return [AliasMethodNode] a new instance of AliasMethodNode
+ #
+ # source://prism//lib/prism/node.rb#211
+ def initialize(source, new_name, old_name, keyword_loc, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#221
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#226
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#236
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#231
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> AliasMethodNode
+ #
+ # source://prism//lib/prism/node.rb#241
+ sig { params(params: T.untyped).returns(Prism::AliasMethodNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#226
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { new_name: Node, old_name: Node, keyword_loc: Location, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#255
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#278
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # def keyword: () -> String
+ #
+ # source://prism//lib/prism/node.rb#273
+ sig { returns(String) }
+ def keyword; end
+
+ # attr_reader keyword_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#266
+ sig { returns(Prism::Location) }
+ def keyword_loc; end
+
+ # attr_reader new_name: Node
+ #
+ # source://prism//lib/prism/node.rb#260
+ sig { returns(Prism::Node) }
+ def new_name; end
+
+ # attr_reader old_name: Node
+ #
+ # source://prism//lib/prism/node.rb#263
+ sig { returns(Prism::Node) }
+ def old_name; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#302
+ def type; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#312
+ def type; end
+ end
+end
+
+# Represents an alternation pattern in pattern matching.
+#
+# foo => bar | baz
+# ^^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#321
+class Prism::AlternationPatternNode < ::Prism::Node
+ # def initialize: (Node left, Node right, Location operator_loc, Location location) -> void
+ #
+ # @return [AlternationPatternNode] a new instance of AlternationPatternNode
+ #
+ # source://prism//lib/prism/node.rb#323
+ def initialize(source, left, right, operator_loc, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#333
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#338
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#348
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#343
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> AlternationPatternNode
+ #
+ # source://prism//lib/prism/node.rb#353
+ sig { params(params: T.untyped).returns(Prism::AlternationPatternNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#338
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { left: Node, right: Node, operator_loc: Location, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#367
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#390
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # attr_reader left: Node
+ #
+ # source://prism//lib/prism/node.rb#372
+ sig { returns(Prism::Node) }
+ def left; end
+
+ # def operator: () -> String
+ #
+ # source://prism//lib/prism/node.rb#385
+ sig { returns(String) }
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#378
+ sig { returns(Prism::Location) }
+ def operator_loc; end
+
+ # attr_reader right: Node
+ #
+ # source://prism//lib/prism/node.rb#375
+ sig { returns(Prism::Node) }
+ def right; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#414
+ def type; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#424
+ def type; end
+ end
+end
+
+# Represents the use of the `&&` operator or the `and` keyword.
+#
+# left and right
+# ^^^^^^^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#433
+class Prism::AndNode < ::Prism::Node
+ # def initialize: (Node left, Node right, Location operator_loc, Location location) -> void
+ #
+ # @return [AndNode] a new instance of AndNode
+ #
+ # source://prism//lib/prism/node.rb#435
+ def initialize(source, left, right, operator_loc, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#445
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#450
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#460
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#455
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> AndNode
+ #
+ # source://prism//lib/prism/node.rb#465
+ sig { params(params: T.untyped).returns(Prism::AndNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#450
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { left: Node, right: Node, operator_loc: Location, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#479
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#517
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # Represents the left side of the expression. It can be any [non-void expression](https://github.com/ruby/prism/blob/main/docs/parsing_rules.md#non-void-expression).
+ #
+ # left and right
+ # ^^^^
+ #
+ # 1 && 2
+ # ^
+ #
+ # source://prism//lib/prism/node.rb#490
+ sig { returns(Prism::Node) }
+ def left; end
+
+ # def operator: () -> String
+ #
+ # source://prism//lib/prism/node.rb#512
+ sig { returns(String) }
+ def operator; end
+
+ # The location of the `and` keyword or the `&&` operator.
+ #
+ # left and right
+ # ^^^
+ #
+ # source://prism//lib/prism/node.rb#505
+ sig { returns(Prism::Location) }
+ def operator_loc; end
+
+ # Represents the right side of the expression. It can be any [non-void expression](https://github.com/ruby/prism/blob/main/docs/parsing_rules.md#non-void-expression).
+ #
+ # left && right
+ # ^^^^^
+ #
+ # 1 and 2
+ # ^
+ #
+ # source://prism//lib/prism/node.rb#499
+ sig { returns(Prism::Node) }
+ def right; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#541
+ def type; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#551
+ def type; end
+ end
+end
+
+# Represents a set of arguments to a method or a keyword.
+#
+# return foo, bar, baz
+# ^^^^^^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#560
+class Prism::ArgumentsNode < ::Prism::Node
+ # def initialize: (Integer flags, Array[Node] arguments, Location location) -> void
+ #
+ # @return [ArgumentsNode] a new instance of ArgumentsNode
+ #
+ # source://prism//lib/prism/node.rb#562
+ def initialize(source, flags, arguments, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#571
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # attr_reader arguments: Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#613
+ sig { returns(T::Array[Prism::Node]) }
+ def arguments; end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#576
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#586
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#581
+ def compact_child_nodes; end
+
+ # def contains_keyword_splat?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#617
+ sig { returns(T::Boolean) }
+ def contains_keyword_splat?; end
+
+ # def copy: (**params) -> ArgumentsNode
+ #
+ # source://prism//lib/prism/node.rb#591
+ sig { params(params: T.untyped).returns(Prism::ArgumentsNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#576
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, arguments: Array[Node], location: Location }
+ #
+ # source://prism//lib/prism/node.rb#604
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#622
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#644
+ def type; end
+
+ private
+
+ # private attr_reader flags: Integer
+ #
+ # source://prism//lib/prism/node.rb#609
+ sig { returns(Integer) }
+ def flags; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#654
+ def type; end
+ end
+end
+
+# Flags for arguments nodes.
+#
+# source://prism//lib/prism/node.rb#19241
+module Prism::ArgumentsNodeFlags; end
+
+# if arguments contain keyword splat
+#
+# source://prism//lib/prism/node.rb#19243
+Prism::ArgumentsNodeFlags::CONTAINS_KEYWORD_SPLAT = T.let(T.unsafe(nil), Integer)
+
+# Represents an array literal. This can be a regular array using brackets or a special array using % like %w or %i.
+#
+# [1, 2, 3]
+# ^^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#663
+class Prism::ArrayNode < ::Prism::Node
+ # def initialize: (Integer flags, Array[Node] elements, Location? opening_loc, Location? closing_loc, Location location) -> void
+ #
+ # @return [ArrayNode] a new instance of ArrayNode
+ #
+ # source://prism//lib/prism/node.rb#665
+ def initialize(source, flags, elements, opening_loc, closing_loc, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#676
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#681
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def closing: () -> String?
+ #
+ # source://prism//lib/prism/node.rb#758
+ sig { returns(T.nilable(String)) }
+ def closing; end
+
+ # attr_reader closing_loc: Location?
+ #
+ # source://prism//lib/prism/node.rb#735
+ sig { returns(T.nilable(Prism::Location)) }
+ def closing_loc; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#691
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#686
+ def compact_child_nodes; end
+
+ # def contains_splat?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#748
+ sig { returns(T::Boolean) }
+ def contains_splat?; end
+
+ # def copy: (**params) -> ArrayNode
+ #
+ # source://prism//lib/prism/node.rb#696
+ sig { params(params: T.untyped).returns(Prism::ArrayNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#681
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, elements: Array[Node], opening_loc: Location?, closing_loc: Location?, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#711
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # attr_reader elements: Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#720
+ sig { returns(T::Array[Prism::Node]) }
+ def elements; end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#763
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # def opening: () -> String?
+ #
+ # source://prism//lib/prism/node.rb#753
+ sig { returns(T.nilable(String)) }
+ def opening; end
+
+ # attr_reader opening_loc: Location?
+ #
+ # source://prism//lib/prism/node.rb#723
+ sig { returns(T.nilable(Prism::Location)) }
+ def opening_loc; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#787
+ def type; end
+
+ private
+
+ # private attr_reader flags: Integer
+ #
+ # source://prism//lib/prism/node.rb#716
+ sig { returns(Integer) }
+ def flags; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#797
+ def type; end
+ end
+end
+
+# Flags for array nodes.
+#
+# source://prism//lib/prism/node.rb#19247
+module Prism::ArrayNodeFlags; end
+
+# if array contains splat nodes
+#
+# source://prism//lib/prism/node.rb#19249
+Prism::ArrayNodeFlags::CONTAINS_SPLAT = T.let(T.unsafe(nil), Integer)
+
+# Represents an array pattern in pattern matching.
+#
+# foo in 1, 2
+# ^^^^^^^^^^^
+#
+# foo in [1, 2]
+# ^^^^^^^^^^^^^
+#
+# foo in *1
+# ^^^^^^^^^
+#
+# foo in Bar[]
+# ^^^^^^^^^^^^
+#
+# foo in Bar[1, 2, 3]
+# ^^^^^^^^^^^^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#818
+class Prism::ArrayPatternNode < ::Prism::Node
+ # def initialize: (Node? constant, Array[Node] requireds, Node? rest, Array[Node] posts, Location? opening_loc, Location? closing_loc, Location location) -> void
+ #
+ # @return [ArrayPatternNode] a new instance of ArrayPatternNode
+ #
+ # source://prism//lib/prism/node.rb#820
+ def initialize(source, constant, requireds, rest, posts, opening_loc, closing_loc, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#833
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#838
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def closing: () -> String?
+ #
+ # source://prism//lib/prism/node.rb#922
+ sig { returns(T.nilable(String)) }
+ def closing; end
+
+ # attr_reader closing_loc: Location?
+ #
+ # source://prism//lib/prism/node.rb#904
+ sig { returns(T.nilable(Prism::Location)) }
+ def closing_loc; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#853
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#843
+ def compact_child_nodes; end
+
+ # attr_reader constant: Node?
+ #
+ # source://prism//lib/prism/node.rb#880
+ sig { returns(T.nilable(Prism::Node)) }
+ def constant; end
+
+ # def copy: (**params) -> ArrayPatternNode
+ #
+ # source://prism//lib/prism/node.rb#858
+ sig { params(params: T.untyped).returns(Prism::ArrayPatternNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#838
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { constant: Node?, requireds: Array[Node], rest: Node?, posts: Array[Node], opening_loc: Location?, closing_loc: Location?, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#875
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#927
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # def opening: () -> String?
+ #
+ # source://prism//lib/prism/node.rb#917
+ sig { returns(T.nilable(String)) }
+ def opening; end
+
+ # attr_reader opening_loc: Location?
+ #
+ # source://prism//lib/prism/node.rb#892
+ sig { returns(T.nilable(Prism::Location)) }
+ def opening_loc; end
+
+ # attr_reader posts: Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#889
+ sig { returns(T::Array[Prism::Node]) }
+ def posts; end
+
+ # attr_reader requireds: Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#883
+ sig { returns(T::Array[Prism::Node]) }
+ def requireds; end
+
+ # attr_reader rest: Node?
+ #
+ # source://prism//lib/prism/node.rb#886
+ sig { returns(T.nilable(Prism::Node)) }
+ def rest; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#962
+ def type; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#972
+ def type; end
+ end
+end
+
+# Represents a hash key/value pair.
+#
+# { a => b }
+# ^^^^^^
+#
+# source://prism//lib/prism/node.rb#981
+class Prism::AssocNode < ::Prism::Node
+ # def initialize: (Node key, Node value, Location? operator_loc, Location location) -> void
+ #
+ # @return [AssocNode] a new instance of AssocNode
+ #
+ # source://prism//lib/prism/node.rb#983
+ def initialize(source, key, value, operator_loc, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#993
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#998
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#1008
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#1003
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> AssocNode
+ #
+ # source://prism//lib/prism/node.rb#1013
+ sig { params(params: T.untyped).returns(Prism::AssocNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#998
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { key: Node, value: Node, operator_loc: Location?, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#1027
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#1074
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # The key of the association. This can be any [non-void expression](https://github.com/ruby/prism/blob/main/docs/parsing_rules.md#non-void-expression).
+ #
+ # { a: b }
+ # ^
+ #
+ # { foo => bar }
+ # ^^^
+ #
+ # { def a; end => 1 }
+ # ^^^^^^^^^^
+ #
+ # source://prism//lib/prism/node.rb#1041
+ sig { returns(Prism::Node) }
+ def key; end
+
+ # def operator: () -> String?
+ #
+ # source://prism//lib/prism/node.rb#1069
+ sig { returns(T.nilable(String)) }
+ def operator; end
+
+ # The location of the `=>` operator, if present.
+ #
+ # { foo => bar }
+ # ^^
+ #
+ # source://prism//lib/prism/node.rb#1056
+ sig { returns(T.nilable(Prism::Location)) }
+ def operator_loc; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#1098
+ def type; end
+
+ # The value of the association, if present. This can be any [non-void expression](https://github.com/ruby/prism/blob/main/docs/parsing_rules.md#non-void-expression).
+ #
+ # { foo => bar }
+ # ^^^
+ #
+ # { x: 1 }
+ # ^
+ #
+ # source://prism//lib/prism/node.rb#1050
+ sig { returns(Prism::Node) }
+ def value; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#1108
+ def type; end
+ end
+end
+
+# Represents a splat in a hash literal.
+#
+# { **foo }
+# ^^^^^
+#
+# source://prism//lib/prism/node.rb#1117
+class Prism::AssocSplatNode < ::Prism::Node
+ # def initialize: (Node? value, Location operator_loc, Location location) -> void
+ #
+ # @return [AssocSplatNode] a new instance of AssocSplatNode
+ #
+ # source://prism//lib/prism/node.rb#1119
+ def initialize(source, value, operator_loc, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#1128
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#1133
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#1145
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#1138
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> AssocSplatNode
+ #
+ # source://prism//lib/prism/node.rb#1150
+ sig { params(params: T.untyped).returns(Prism::AssocSplatNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#1133
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { value: Node?, operator_loc: Location, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#1163
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#1189
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # def operator: () -> String
+ #
+ # source://prism//lib/prism/node.rb#1184
+ sig { returns(String) }
+ def operator; end
+
+ # The location of the `**` operator.
+ #
+ # { **x }
+ # ^^
+ #
+ # source://prism//lib/prism/node.rb#1177
+ sig { returns(Prism::Location) }
+ def operator_loc; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#1215
+ def type; end
+
+ # The value to be splatted, if present. Will be missing when keyword rest argument forwarding is used.
+ #
+ # { **foo }
+ # ^^^
+ #
+ # source://prism//lib/prism/node.rb#1171
+ sig { returns(T.nilable(Prism::Node)) }
+ def value; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#1225
+ def type; end
+ end
+end
+
+Prism::BACKEND = T.let(T.unsafe(nil), Symbol)
+
+# Represents reading a reference to a field in the previous match.
+#
+# $'
+# ^^
+#
+# source://prism//lib/prism/node.rb#1234
+class Prism::BackReferenceReadNode < ::Prism::Node
+ # def initialize: (Symbol name, Location location) -> void
+ #
+ # @return [BackReferenceReadNode] a new instance of BackReferenceReadNode
+ #
+ # source://prism//lib/prism/node.rb#1236
+ def initialize(source, name, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#1244
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#1249
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#1259
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#1254
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> BackReferenceReadNode
+ #
+ # source://prism//lib/prism/node.rb#1264
+ sig { params(params: T.untyped).returns(Prism::BackReferenceReadNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#1249
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#1276
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#1289
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # The name of the back-reference variable, including the leading `$`.
+ #
+ # $& # name `:$&`
+ #
+ # $+ # name `:$+`
+ #
+ # source://prism//lib/prism/node.rb#1285
+ sig { returns(Symbol) }
+ def name; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#1309
+ def type; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#1319
+ def type; end
+ end
+end
+
+# A class that knows how to walk down the tree. None of the individual visit
+# methods are implemented on this visitor, so it forces the consumer to
+# implement each one that they need. For a default implementation that
+# continues walking the tree, see the Visitor class.
+#
+# source://prism//lib/prism/visitor.rb#13
+class Prism::BasicVisitor
+ # Calls `accept` on the given node if it is not `nil`, which in turn should
+ # call back into this visitor by calling the appropriate `visit_*` method.
+ #
+ # source://prism//lib/prism/visitor.rb#16
+ sig { params(node: T.nilable(Prism::Node)).void }
+ def visit(node); end
+
+ # Visits each node in `nodes` by calling `accept` on each one.
+ #
+ # source://prism//lib/prism/visitor.rb#21
+ sig { params(nodes: T::Array[T.nilable(Prism::Node)]).void }
+ def visit_all(nodes); end
+
+ # Visits the child nodes of `node` by calling `accept` on each one.
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::Node).void }
+ def visit_child_nodes(node); end
+end
+
+# Represents a begin statement.
+#
+# begin
+# foo
+# end
+# ^^^^^
+#
+# source://prism//lib/prism/node.rb#1330
+class Prism::BeginNode < ::Prism::Node
+ # def initialize: (Location? begin_keyword_loc, StatementsNode? statements, RescueNode? rescue_clause, ElseNode? else_clause, EnsureNode? ensure_clause, Location? end_keyword_loc, Location location) -> void
+ #
+ # @return [BeginNode] a new instance of BeginNode
+ #
+ # source://prism//lib/prism/node.rb#1332
+ def initialize(source, begin_keyword_loc, statements, rescue_clause, else_clause, ensure_clause, end_keyword_loc, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#1345
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def begin_keyword: () -> String?
+ #
+ # source://prism//lib/prism/node.rb#1433
+ sig { returns(T.nilable(String)) }
+ def begin_keyword; end
+
+ # attr_reader begin_keyword_loc: Location?
+ #
+ # source://prism//lib/prism/node.rb#1396
+ sig { returns(T.nilable(Prism::Location)) }
+ def begin_keyword_loc; end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#1354
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#1369
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#1359
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> BeginNode
+ #
+ # source://prism//lib/prism/node.rb#1374
+ sig { params(params: T.untyped).returns(Prism::BeginNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#1354
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { begin_keyword_loc: Location?, statements: StatementsNode?, rescue_clause: RescueNode?, else_clause: ElseNode?, ensure_clause: EnsureNode?, end_keyword_loc: Location?, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#1391
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # attr_reader else_clause: ElseNode?
+ #
+ # source://prism//lib/prism/node.rb#1414
+ sig { returns(T.nilable(Prism::ElseNode)) }
+ def else_clause; end
+
+ # def end_keyword: () -> String?
+ #
+ # source://prism//lib/prism/node.rb#1438
+ sig { returns(T.nilable(String)) }
+ def end_keyword; end
+
+ # attr_reader end_keyword_loc: Location?
+ #
+ # source://prism//lib/prism/node.rb#1420
+ sig { returns(T.nilable(Prism::Location)) }
+ def end_keyword_loc; end
+
+ # attr_reader ensure_clause: EnsureNode?
+ #
+ # source://prism//lib/prism/node.rb#1417
+ sig { returns(T.nilable(Prism::EnsureNode)) }
+ def ensure_clause; end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#1443
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # attr_reader rescue_clause: RescueNode?
+ #
+ # source://prism//lib/prism/node.rb#1411
+ sig { returns(T.nilable(Prism::RescueNode)) }
+ def rescue_clause; end
+
+ # source://prism//lib/prism/node.rb#1349
+ def set_newline_flag(newline_marked); end
+
+ # attr_reader statements: StatementsNode?
+ #
+ # source://prism//lib/prism/node.rb#1408
+ sig { returns(T.nilable(Prism::StatementsNode)) }
+ def statements; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#1488
+ def type; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#1498
+ def type; end
+ end
+end
+
+# Represents block method arguments.
+#
+# bar(&args)
+# ^^^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#1507
+class Prism::BlockArgumentNode < ::Prism::Node
+ # def initialize: (Node? expression, Location operator_loc, Location location) -> void
+ #
+ # @return [BlockArgumentNode] a new instance of BlockArgumentNode
+ #
+ # source://prism//lib/prism/node.rb#1509
+ def initialize(source, expression, operator_loc, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#1518
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#1523
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#1535
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#1528
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> BlockArgumentNode
+ #
+ # source://prism//lib/prism/node.rb#1540
+ sig { params(params: T.untyped).returns(Prism::BlockArgumentNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#1523
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { expression: Node?, operator_loc: Location, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#1553
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # attr_reader expression: Node?
+ #
+ # source://prism//lib/prism/node.rb#1558
+ sig { returns(T.nilable(Prism::Node)) }
+ def expression; end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#1573
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # def operator: () -> String
+ #
+ # source://prism//lib/prism/node.rb#1568
+ sig { returns(String) }
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#1561
+ sig { returns(Prism::Location) }
+ def operator_loc; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#1599
+ def type; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#1609
+ def type; end
+ end
+end
+
+# Represents a block local variable.
+#
+# a { |; b| }
+# ^
+#
+# source://prism//lib/prism/node.rb#1618
+class Prism::BlockLocalVariableNode < ::Prism::Node
+ # def initialize: (Integer flags, Symbol name, Location location) -> void
+ #
+ # @return [BlockLocalVariableNode] a new instance of BlockLocalVariableNode
+ #
+ # source://prism//lib/prism/node.rb#1620
+ def initialize(source, flags, name, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#1629
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#1634
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#1644
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#1639
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> BlockLocalVariableNode
+ #
+ # source://prism//lib/prism/node.rb#1649
+ sig { params(params: T.untyped).returns(Prism::BlockLocalVariableNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#1634
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, name: Symbol, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#1662
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#1680
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # attr_reader name: Symbol
+ #
+ # source://prism//lib/prism/node.rb#1671
+ sig { returns(Symbol) }
+ def name; end
+
+ # def repeated_parameter?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#1675
+ sig { returns(T::Boolean) }
+ def repeated_parameter?; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#1702
+ def type; end
+
+ private
+
+ # private attr_reader flags: Integer
+ #
+ # source://prism//lib/prism/node.rb#1667
+ sig { returns(Integer) }
+ def flags; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#1712
+ def type; end
+ end
+end
+
+# Represents a block of ruby code.
+#
+# [1, 2, 3].each { |i| puts x }
+# ^^^^^^^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#1721
+class Prism::BlockNode < ::Prism::Node
+ # def initialize: (Array[Symbol] locals, Node? parameters, Node? body, Location opening_loc, Location closing_loc, Location location) -> void
+ #
+ # @return [BlockNode] a new instance of BlockNode
+ #
+ # source://prism//lib/prism/node.rb#1723
+ def initialize(source, locals, parameters, body, opening_loc, closing_loc, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#1735
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # attr_reader body: Node?
+ #
+ # source://prism//lib/prism/node.rb#1785
+ sig { returns(T.nilable(Prism::Node)) }
+ def body; end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#1740
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def closing: () -> String
+ #
+ # source://prism//lib/prism/node.rb#1806
+ sig { returns(String) }
+ def closing; end
+
+ # attr_reader closing_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#1794
+ sig { returns(Prism::Location) }
+ def closing_loc; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#1753
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#1745
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> BlockNode
+ #
+ # source://prism//lib/prism/node.rb#1758
+ sig { params(params: T.untyped).returns(Prism::BlockNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#1740
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { locals: Array[Symbol], parameters: Node?, body: Node?, opening_loc: Location, closing_loc: Location, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#1774
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#1811
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # attr_reader locals: Array[Symbol]
+ #
+ # source://prism//lib/prism/node.rb#1779
+ sig { returns(T::Array[Symbol]) }
+ def locals; end
+
+ # def opening: () -> String
+ #
+ # source://prism//lib/prism/node.rb#1801
+ sig { returns(String) }
+ def opening; end
+
+ # attr_reader opening_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#1788
+ sig { returns(Prism::Location) }
+ def opening_loc; end
+
+ # attr_reader parameters: Node?
+ #
+ # source://prism//lib/prism/node.rb#1782
+ sig { returns(T.nilable(Prism::Node)) }
+ def parameters; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#1845
+ def type; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#1855
+ def type; end
+ end
+end
+
+# Represents a block parameter to a method, block, or lambda definition.
+#
+# def a(&b)
+# ^^
+# end
+#
+# source://prism//lib/prism/node.rb#1865
+class Prism::BlockParameterNode < ::Prism::Node
+ # def initialize: (Integer flags, Symbol? name, Location? name_loc, Location operator_loc, Location location) -> void
+ #
+ # @return [BlockParameterNode] a new instance of BlockParameterNode
+ #
+ # source://prism//lib/prism/node.rb#1867
+ def initialize(source, flags, name, name_loc, operator_loc, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#1878
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#1883
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#1893
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#1888
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> BlockParameterNode
+ #
+ # source://prism//lib/prism/node.rb#1898
+ sig { params(params: T.untyped).returns(Prism::BlockParameterNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#1883
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, name: Symbol?, name_loc: Location?, operator_loc: Location, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#1913
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#1954
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # attr_reader name: Symbol?
+ #
+ # source://prism//lib/prism/node.rb#1922
+ sig { returns(T.nilable(Symbol)) }
+ def name; end
+
+ # attr_reader name_loc: Location?
+ #
+ # source://prism//lib/prism/node.rb#1925
+ sig { returns(T.nilable(Prism::Location)) }
+ def name_loc; end
+
+ # def operator: () -> String
+ #
+ # source://prism//lib/prism/node.rb#1949
+ sig { returns(String) }
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#1937
+ sig { returns(Prism::Location) }
+ def operator_loc; end
+
+ # def repeated_parameter?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#1944
+ sig { returns(T::Boolean) }
+ def repeated_parameter?; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#1982
+ def type; end
+
+ private
+
+ # private attr_reader flags: Integer
+ #
+ # source://prism//lib/prism/node.rb#1918
+ sig { returns(Integer) }
+ def flags; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#1992
+ def type; end
+ end
+end
+
+# Represents a block's parameters declaration.
+#
+# -> (a, b = 1; local) { }
+# ^^^^^^^^^^^^^^^^^
+#
+# foo do |a, b = 1; local|
+# ^^^^^^^^^^^^^^^^^
+# end
+#
+# source://prism//lib/prism/node.rb#2005
+class Prism::BlockParametersNode < ::Prism::Node
+ # def initialize: (ParametersNode? parameters, Array[Node] locals, Location? opening_loc, Location? closing_loc, Location location) -> void
+ #
+ # @return [BlockParametersNode] a new instance of BlockParametersNode
+ #
+ # source://prism//lib/prism/node.rb#2007
+ def initialize(source, parameters, locals, opening_loc, closing_loc, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#2018
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#2023
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def closing: () -> String?
+ #
+ # source://prism//lib/prism/node.rb#2097
+ sig { returns(T.nilable(String)) }
+ def closing; end
+
+ # attr_reader closing_loc: Location?
+ #
+ # source://prism//lib/prism/node.rb#2079
+ sig { returns(T.nilable(Prism::Location)) }
+ def closing_loc; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#2036
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#2028
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> BlockParametersNode
+ #
+ # source://prism//lib/prism/node.rb#2041
+ sig { params(params: T.untyped).returns(Prism::BlockParametersNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#2023
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { parameters: ParametersNode?, locals: Array[Node], opening_loc: Location?, closing_loc: Location?, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#2056
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#2102
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # attr_reader locals: Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#2064
+ sig { returns(T::Array[Prism::Node]) }
+ def locals; end
+
+ # def opening: () -> String?
+ #
+ # source://prism//lib/prism/node.rb#2092
+ sig { returns(T.nilable(String)) }
+ def opening; end
+
+ # attr_reader opening_loc: Location?
+ #
+ # source://prism//lib/prism/node.rb#2067
+ sig { returns(T.nilable(Prism::Location)) }
+ def opening_loc; end
+
+ # attr_reader parameters: ParametersNode?
+ #
+ # source://prism//lib/prism/node.rb#2061
+ sig { returns(T.nilable(Prism::ParametersNode)) }
+ def parameters; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#2130
+ def type; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#2140
+ def type; end
+ end
+end
+
+# Represents the use of the `break` keyword.
+#
+# break foo
+# ^^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#2149
+class Prism::BreakNode < ::Prism::Node
+ # def initialize: (ArgumentsNode? arguments, Location keyword_loc, Location location) -> void
+ #
+ # @return [BreakNode] a new instance of BreakNode
+ #
+ # source://prism//lib/prism/node.rb#2151
+ def initialize(source, arguments, keyword_loc, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#2160
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # attr_reader arguments: ArgumentsNode?
+ #
+ # source://prism//lib/prism/node.rb#2200
+ sig { returns(T.nilable(Prism::ArgumentsNode)) }
+ def arguments; end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#2165
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#2177
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#2170
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> BreakNode
+ #
+ # source://prism//lib/prism/node.rb#2182
+ sig { params(params: T.untyped).returns(Prism::BreakNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#2165
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { arguments: ArgumentsNode?, keyword_loc: Location, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#2195
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#2215
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # def keyword: () -> String
+ #
+ # source://prism//lib/prism/node.rb#2210
+ sig { returns(String) }
+ def keyword; end
+
+ # attr_reader keyword_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#2203
+ sig { returns(Prism::Location) }
+ def keyword_loc; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#2241
+ def type; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#2251
+ def type; end
+ end
+end
+
+# Represents the use of the `&&=` operator on a call.
+#
+# foo.bar &&= value
+# ^^^^^^^^^^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#2260
+class Prism::CallAndWriteNode < ::Prism::Node
+ # def initialize: (Integer flags, Node? receiver, Location? call_operator_loc, Location? message_loc, Symbol read_name, Symbol write_name, Location operator_loc, Node value, Location location) -> void
+ #
+ # @return [CallAndWriteNode] a new instance of CallAndWriteNode
+ #
+ # source://prism//lib/prism/node.rb#2262
+ def initialize(source, flags, receiver, call_operator_loc, message_loc, read_name, write_name, operator_loc, value, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#2277
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def attribute_write?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#2381
+ sig { returns(T::Boolean) }
+ def attribute_write?; end
+
+ # def call_operator: () -> String?
+ #
+ # source://prism//lib/prism/node.rb#2391
+ sig { returns(T.nilable(String)) }
+ def call_operator; end
+
+ # attr_reader call_operator_loc: Location?
+ #
+ # source://prism//lib/prism/node.rb#2331
+ sig { returns(T.nilable(Prism::Location)) }
+ def call_operator_loc; end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#2282
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#2295
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#2287
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> CallAndWriteNode
+ #
+ # source://prism//lib/prism/node.rb#2300
+ sig { params(params: T.untyped).returns(Prism::CallAndWriteNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#2282
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, receiver: Node?, call_operator_loc: Location?, message_loc: Location?, read_name: Symbol, write_name: Symbol, operator_loc: Location, value: Node, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#2319
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def ignore_visibility?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#2386
+ sig { returns(T::Boolean) }
+ def ignore_visibility?; end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#2406
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # def message: () -> String?
+ #
+ # source://prism//lib/prism/node.rb#2396
+ sig { returns(T.nilable(String)) }
+ def message; end
+
+ # attr_reader message_loc: Location?
+ #
+ # source://prism//lib/prism/node.rb#2343
+ sig { returns(T.nilable(Prism::Location)) }
+ def message_loc; end
+
+ # def operator: () -> String
+ #
+ # source://prism//lib/prism/node.rb#2401
+ sig { returns(String) }
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#2361
+ sig { returns(Prism::Location) }
+ def operator_loc; end
+
+ # attr_reader read_name: Symbol
+ #
+ # source://prism//lib/prism/node.rb#2355
+ sig { returns(Symbol) }
+ def read_name; end
+
+ # attr_reader receiver: Node?
+ #
+ # source://prism//lib/prism/node.rb#2328
+ sig { returns(T.nilable(Prism::Node)) }
+ def receiver; end
+
+ # def safe_navigation?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#2371
+ sig { returns(T::Boolean) }
+ def safe_navigation?; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#2440
+ def type; end
+
+ # attr_reader value: Node
+ #
+ # source://prism//lib/prism/node.rb#2367
+ sig { returns(Prism::Node) }
+ def value; end
+
+ # def variable_call?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#2376
+ sig { returns(T::Boolean) }
+ def variable_call?; end
+
+ # attr_reader write_name: Symbol
+ #
+ # source://prism//lib/prism/node.rb#2358
+ sig { returns(Symbol) }
+ def write_name; end
+
+ private
+
+ # private attr_reader flags: Integer
+ #
+ # source://prism//lib/prism/node.rb#2324
+ sig { returns(Integer) }
+ def flags; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#2450
+ def type; end
+ end
+end
+
+# Represents a method call, in all of the various forms that can take.
+#
+# foo
+# ^^^
+#
+# foo()
+# ^^^^^
+#
+# +foo
+# ^^^^
+#
+# foo + bar
+# ^^^^^^^^^
+#
+# foo.bar
+# ^^^^^^^
+#
+# foo&.bar
+# ^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#2474
+class Prism::CallNode < ::Prism::Node
+ # def initialize: (Integer flags, Node? receiver, Location? call_operator_loc, Symbol name, Location? message_loc, Location? opening_loc, ArgumentsNode? arguments, Location? closing_loc, Node? block, Location location) -> void
+ #
+ # @return [CallNode] a new instance of CallNode
+ #
+ # source://prism//lib/prism/node.rb#2476
+ def initialize(source, flags, receiver, call_operator_loc, name, message_loc, opening_loc, arguments, closing_loc, block, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#2492
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # attr_reader arguments: ArgumentsNode?
+ #
+ # source://prism//lib/prism/node.rb#2596
+ sig { returns(T.nilable(Prism::ArgumentsNode)) }
+ def arguments; end
+
+ # def attribute_write?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#2625
+ sig { returns(T::Boolean) }
+ def attribute_write?; end
+
+ # attr_reader block: Node?
+ #
+ # source://prism//lib/prism/node.rb#2611
+ sig { returns(T.nilable(Prism::Node)) }
+ def block; end
+
+ # def call_operator: () -> String?
+ #
+ # source://prism//lib/prism/node.rb#2635
+ sig { returns(T.nilable(String)) }
+ def call_operator; end
+
+ # attr_reader call_operator_loc: Location?
+ #
+ # source://prism//lib/prism/node.rb#2557
+ sig { returns(T.nilable(Prism::Location)) }
+ def call_operator_loc; end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#2497
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def closing: () -> String?
+ #
+ # source://prism//lib/prism/node.rb#2650
+ sig { returns(T.nilable(String)) }
+ def closing; end
+
+ # attr_reader closing_loc: Location?
+ #
+ # source://prism//lib/prism/node.rb#2599
+ sig { returns(T.nilable(Prism::Location)) }
+ def closing_loc; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#2511
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#2502
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> CallNode
+ #
+ # source://prism//lib/prism/node.rb#2516
+ sig { params(params: T.untyped).returns(Prism::CallNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#2497
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, receiver: Node?, call_operator_loc: Location?, name: Symbol, message_loc: Location?, opening_loc: Location?, arguments: ArgumentsNode?, closing_loc: Location?, block: Node?, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#2536
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def ignore_visibility?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#2630
+ sig { returns(T::Boolean) }
+ def ignore_visibility?; end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#2655
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # def message: () -> String?
+ #
+ # source://prism//lib/prism/node.rb#2640
+ sig { returns(T.nilable(String)) }
+ def message; end
+
+ # attr_reader message_loc: Location?
+ #
+ # source://prism//lib/prism/node.rb#2572
+ sig { returns(T.nilable(Prism::Location)) }
+ def message_loc; end
+
+ # attr_reader name: Symbol
+ #
+ # source://prism//lib/prism/node.rb#2569
+ sig { returns(Symbol) }
+ def name; end
+
+ # def opening: () -> String?
+ #
+ # source://prism//lib/prism/node.rb#2645
+ sig { returns(T.nilable(String)) }
+ def opening; end
+
+ # attr_reader opening_loc: Location?
+ #
+ # source://prism//lib/prism/node.rb#2584
+ sig { returns(T.nilable(Prism::Location)) }
+ def opening_loc; end
+
+ # The object that the method is being called on. This can be either `nil` or any [non-void expression](https://github.com/ruby/prism/blob/main/docs/parsing_rules.md#non-void-expression).
+ #
+ # foo.bar
+ # ^^^
+ #
+ # +foo
+ # ^^^
+ #
+ # foo + bar
+ # ^^^
+ #
+ # source://prism//lib/prism/node.rb#2554
+ sig { returns(T.nilable(Prism::Node)) }
+ def receiver; end
+
+ # def safe_navigation?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#2615
+ sig { returns(T::Boolean) }
+ def safe_navigation?; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#2699
+ def type; end
+
+ # def variable_call?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#2620
+ sig { returns(T::Boolean) }
+ def variable_call?; end
+
+ private
+
+ # private attr_reader flags: Integer
+ #
+ # source://prism//lib/prism/node.rb#2541
+ sig { returns(Integer) }
+ def flags; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#2709
+ def type; end
+ end
+end
+
+# Flags for call nodes.
+#
+# source://prism//lib/prism/node.rb#19253
+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#19261
+Prism::CallNodeFlags::ATTRIBUTE_WRITE = T.let(T.unsafe(nil), Integer)
+
+# a call that ignores method visibility
+#
+# source://prism//lib/prism/node.rb#19264
+Prism::CallNodeFlags::IGNORE_VISIBILITY = T.let(T.unsafe(nil), Integer)
+
+# &. operator
+#
+# source://prism//lib/prism/node.rb#19255
+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#19258
+Prism::CallNodeFlags::VARIABLE_CALL = T.let(T.unsafe(nil), Integer)
+
+# Represents the use of an assignment operator on a call.
+#
+# foo.bar += baz
+# ^^^^^^^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#2718
+class Prism::CallOperatorWriteNode < ::Prism::Node
+ # def initialize: (Integer flags, Node? receiver, Location? call_operator_loc, Location? message_loc, Symbol read_name, Symbol write_name, Symbol operator, Location operator_loc, Node value, Location location) -> void
+ #
+ # @return [CallOperatorWriteNode] a new instance of CallOperatorWriteNode
+ #
+ # source://prism//lib/prism/node.rb#2720
+ def initialize(source, flags, receiver, call_operator_loc, message_loc, read_name, write_name, operator, operator_loc, value, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#2736
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def attribute_write?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#2844
+ sig { returns(T::Boolean) }
+ def attribute_write?; end
+
+ # def call_operator: () -> String?
+ #
+ # source://prism//lib/prism/node.rb#2854
+ sig { returns(T.nilable(String)) }
+ def call_operator; end
+
+ # attr_reader call_operator_loc: Location?
+ #
+ # source://prism//lib/prism/node.rb#2791
+ sig { returns(T.nilable(Prism::Location)) }
+ def call_operator_loc; end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#2741
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#2754
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#2746
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> CallOperatorWriteNode
+ #
+ # source://prism//lib/prism/node.rb#2759
+ sig { params(params: T.untyped).returns(Prism::CallOperatorWriteNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#2741
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, receiver: Node?, call_operator_loc: Location?, message_loc: Location?, read_name: Symbol, write_name: Symbol, operator: Symbol, operator_loc: Location, value: Node, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#2779
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def ignore_visibility?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#2849
+ sig { returns(T::Boolean) }
+ def ignore_visibility?; end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#2864
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # def message: () -> String?
+ #
+ # source://prism//lib/prism/node.rb#2859
+ sig { returns(T.nilable(String)) }
+ def message; end
+
+ # attr_reader message_loc: Location?
+ #
+ # source://prism//lib/prism/node.rb#2803
+ sig { returns(T.nilable(Prism::Location)) }
+ def message_loc; end
+
+ # attr_reader operator: Symbol
+ #
+ # source://prism//lib/prism/node.rb#2821
+ sig { returns(Symbol) }
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#2824
+ sig { returns(Prism::Location) }
+ def operator_loc; end
+
+ # attr_reader read_name: Symbol
+ #
+ # source://prism//lib/prism/node.rb#2815
+ sig { returns(Symbol) }
+ def read_name; end
+
+ # attr_reader receiver: Node?
+ #
+ # source://prism//lib/prism/node.rb#2788
+ sig { returns(T.nilable(Prism::Node)) }
+ def receiver; end
+
+ # def safe_navigation?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#2834
+ sig { returns(T::Boolean) }
+ def safe_navigation?; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#2899
+ def type; end
+
+ # attr_reader value: Node
+ #
+ # source://prism//lib/prism/node.rb#2830
+ sig { returns(Prism::Node) }
+ def value; end
+
+ # def variable_call?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#2839
+ sig { returns(T::Boolean) }
+ def variable_call?; end
+
+ # attr_reader write_name: Symbol
+ #
+ # source://prism//lib/prism/node.rb#2818
+ sig { returns(Symbol) }
+ def write_name; end
+
+ private
+
+ # private attr_reader flags: Integer
+ #
+ # source://prism//lib/prism/node.rb#2784
+ sig { returns(Integer) }
+ def flags; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#2909
+ def type; end
+ end
+end
+
+# Represents the use of the `||=` operator on a call.
+#
+# foo.bar ||= value
+# ^^^^^^^^^^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#2918
+class Prism::CallOrWriteNode < ::Prism::Node
+ # def initialize: (Integer flags, Node? receiver, Location? call_operator_loc, Location? message_loc, Symbol read_name, Symbol write_name, Location operator_loc, Node value, Location location) -> void
+ #
+ # @return [CallOrWriteNode] a new instance of CallOrWriteNode
+ #
+ # source://prism//lib/prism/node.rb#2920
+ def initialize(source, flags, receiver, call_operator_loc, message_loc, read_name, write_name, operator_loc, value, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#2935
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def attribute_write?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#3039
+ sig { returns(T::Boolean) }
+ def attribute_write?; end
+
+ # def call_operator: () -> String?
+ #
+ # source://prism//lib/prism/node.rb#3049
+ sig { returns(T.nilable(String)) }
+ def call_operator; end
+
+ # attr_reader call_operator_loc: Location?
+ #
+ # source://prism//lib/prism/node.rb#2989
+ sig { returns(T.nilable(Prism::Location)) }
+ def call_operator_loc; end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#2940
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#2953
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#2945
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> CallOrWriteNode
+ #
+ # source://prism//lib/prism/node.rb#2958
+ sig { params(params: T.untyped).returns(Prism::CallOrWriteNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#2940
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, receiver: Node?, call_operator_loc: Location?, message_loc: Location?, read_name: Symbol, write_name: Symbol, operator_loc: Location, value: Node, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#2977
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def ignore_visibility?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#3044
+ sig { returns(T::Boolean) }
+ def ignore_visibility?; end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#3064
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # def message: () -> String?
+ #
+ # source://prism//lib/prism/node.rb#3054
+ sig { returns(T.nilable(String)) }
+ def message; end
+
+ # attr_reader message_loc: Location?
+ #
+ # source://prism//lib/prism/node.rb#3001
+ sig { returns(T.nilable(Prism::Location)) }
+ def message_loc; end
+
+ # def operator: () -> String
+ #
+ # source://prism//lib/prism/node.rb#3059
+ sig { returns(String) }
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#3019
+ sig { returns(Prism::Location) }
+ def operator_loc; end
+
+ # attr_reader read_name: Symbol
+ #
+ # source://prism//lib/prism/node.rb#3013
+ sig { returns(Symbol) }
+ def read_name; end
+
+ # attr_reader receiver: Node?
+ #
+ # source://prism//lib/prism/node.rb#2986
+ sig { returns(T.nilable(Prism::Node)) }
+ def receiver; end
+
+ # def safe_navigation?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#3029
+ sig { returns(T::Boolean) }
+ def safe_navigation?; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#3098
+ def type; end
+
+ # attr_reader value: Node
+ #
+ # source://prism//lib/prism/node.rb#3025
+ sig { returns(Prism::Node) }
+ def value; end
+
+ # def variable_call?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#3034
+ sig { returns(T::Boolean) }
+ def variable_call?; end
+
+ # attr_reader write_name: Symbol
+ #
+ # source://prism//lib/prism/node.rb#3016
+ sig { returns(Symbol) }
+ def write_name; end
+
+ private
+
+ # private attr_reader flags: Integer
+ #
+ # source://prism//lib/prism/node.rb#2982
+ sig { returns(Integer) }
+ def flags; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#3108
+ def type; end
+ end
+end
+
+# Represents assigning to a method call.
+#
+# foo.bar, = 1
+# ^^^^^^^
+#
+# begin
+# rescue => foo.bar
+# ^^^^^^^
+# end
+#
+# for foo.bar in baz do end
+# ^^^^^^^
+#
+# source://prism//lib/prism/node.rb#3125
+class Prism::CallTargetNode < ::Prism::Node
+ # def initialize: (Integer flags, Node receiver, Location call_operator_loc, Symbol name, Location message_loc, Location location) -> void
+ #
+ # @return [CallTargetNode] a new instance of CallTargetNode
+ #
+ # source://prism//lib/prism/node.rb#3127
+ def initialize(source, flags, receiver, call_operator_loc, name, message_loc, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#3139
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def attribute_write?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#3213
+ sig { returns(T::Boolean) }
+ def attribute_write?; end
+
+ # def call_operator: () -> String
+ #
+ # source://prism//lib/prism/node.rb#3223
+ sig { returns(String) }
+ def call_operator; end
+
+ # attr_reader call_operator_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#3187
+ sig { returns(Prism::Location) }
+ def call_operator_loc; end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#3144
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#3154
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#3149
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> CallTargetNode
+ #
+ # source://prism//lib/prism/node.rb#3159
+ sig { params(params: T.untyped).returns(Prism::CallTargetNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#3144
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, receiver: Node, call_operator_loc: Location, name: Symbol, message_loc: Location, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#3175
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def ignore_visibility?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#3218
+ sig { returns(T::Boolean) }
+ def ignore_visibility?; end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#3233
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # def message: () -> String
+ #
+ # source://prism//lib/prism/node.rb#3228
+ sig { returns(String) }
+ def message; end
+
+ # attr_reader message_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#3196
+ sig { returns(Prism::Location) }
+ def message_loc; end
+
+ # attr_reader name: Symbol
+ #
+ # source://prism//lib/prism/node.rb#3193
+ sig { returns(Symbol) }
+ def name; end
+
+ # attr_reader receiver: Node
+ #
+ # source://prism//lib/prism/node.rb#3184
+ sig { returns(Prism::Node) }
+ def receiver; end
+
+ # def safe_navigation?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#3203
+ sig { returns(T::Boolean) }
+ def safe_navigation?; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#3259
+ def type; end
+
+ # def variable_call?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#3208
+ sig { returns(T::Boolean) }
+ def variable_call?; end
+
+ private
+
+ # private attr_reader flags: Integer
+ #
+ # source://prism//lib/prism/node.rb#3180
+ sig { returns(Integer) }
+ def flags; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#3269
+ def type; end
+ end
+end
+
+# Represents assigning to a local variable in pattern matching.
+#
+# foo => [bar => baz]
+# ^^^^^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#3278
+class Prism::CapturePatternNode < ::Prism::Node
+ # def initialize: (Node value, Node target, Location operator_loc, Location location) -> void
+ #
+ # @return [CapturePatternNode] a new instance of CapturePatternNode
+ #
+ # source://prism//lib/prism/node.rb#3280
+ def initialize(source, value, target, operator_loc, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#3290
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#3295
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#3305
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#3300
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> CapturePatternNode
+ #
+ # source://prism//lib/prism/node.rb#3310
+ sig { params(params: T.untyped).returns(Prism::CapturePatternNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#3295
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { value: Node, target: Node, operator_loc: Location, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#3324
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#3347
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # def operator: () -> String
+ #
+ # source://prism//lib/prism/node.rb#3342
+ sig { returns(String) }
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#3335
+ sig { returns(Prism::Location) }
+ def operator_loc; end
+
+ # attr_reader target: Node
+ #
+ # source://prism//lib/prism/node.rb#3332
+ sig { returns(Prism::Node) }
+ def target; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#3371
+ def type; end
+
+ # attr_reader value: Node
+ #
+ # source://prism//lib/prism/node.rb#3329
+ sig { returns(Prism::Node) }
+ def value; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#3381
+ def type; end
+ end
+end
+
+# Represents the use of a case statement for pattern matching.
+#
+# case true
+# in false
+# end
+# ^^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#3392
+class Prism::CaseMatchNode < ::Prism::Node
+ # def initialize: (Node? predicate, Array[Node] conditions, ElseNode? consequent, Location case_keyword_loc, Location end_keyword_loc, Location location) -> void
+ #
+ # @return [CaseMatchNode] a new instance of CaseMatchNode
+ #
+ # source://prism//lib/prism/node.rb#3394
+ def initialize(source, predicate, conditions, consequent, case_keyword_loc, end_keyword_loc, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#3406
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def case_keyword: () -> String
+ #
+ # source://prism//lib/prism/node.rb#3473
+ sig { returns(String) }
+ def case_keyword; end
+
+ # attr_reader case_keyword_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#3460
+ sig { returns(Prism::Location) }
+ def case_keyword_loc; end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#3411
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#3425
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#3416
+ def compact_child_nodes; end
+
+ # attr_reader conditions: Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#3454
+ sig { returns(T::Array[Prism::Node]) }
+ def conditions; end
+
+ # attr_reader consequent: ElseNode?
+ #
+ # source://prism//lib/prism/node.rb#3457
+ sig { returns(T.nilable(Prism::ElseNode)) }
+ def consequent; end
+
+ # def copy: (**params) -> CaseMatchNode
+ #
+ # source://prism//lib/prism/node.rb#3430
+ sig { params(params: T.untyped).returns(Prism::CaseMatchNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#3411
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { predicate: Node?, conditions: Array[Node], consequent: ElseNode?, case_keyword_loc: Location, end_keyword_loc: Location, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#3446
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def end_keyword: () -> String
+ #
+ # source://prism//lib/prism/node.rb#3478
+ sig { returns(String) }
+ def end_keyword; end
+
+ # attr_reader end_keyword_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#3466
+ sig { returns(Prism::Location) }
+ def end_keyword_loc; end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#3483
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # attr_reader predicate: Node?
+ #
+ # source://prism//lib/prism/node.rb#3451
+ sig { returns(T.nilable(Prism::Node)) }
+ def predicate; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#3517
+ def type; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#3527
+ def type; end
+ end
+end
+
+# Represents the use of a case statement.
+#
+# case true
+# when false
+# end
+# ^^^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#3538
+class Prism::CaseNode < ::Prism::Node
+ # def initialize: (Node? predicate, Array[Node] conditions, ElseNode? consequent, Location case_keyword_loc, Location end_keyword_loc, Location location) -> void
+ #
+ # @return [CaseNode] a new instance of CaseNode
+ #
+ # source://prism//lib/prism/node.rb#3540
+ def initialize(source, predicate, conditions, consequent, case_keyword_loc, end_keyword_loc, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#3552
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def case_keyword: () -> String
+ #
+ # source://prism//lib/prism/node.rb#3619
+ sig { returns(String) }
+ def case_keyword; end
+
+ # attr_reader case_keyword_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#3606
+ sig { returns(Prism::Location) }
+ def case_keyword_loc; end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#3557
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#3571
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#3562
+ def compact_child_nodes; end
+
+ # attr_reader conditions: Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#3600
+ sig { returns(T::Array[Prism::Node]) }
+ def conditions; end
+
+ # attr_reader consequent: ElseNode?
+ #
+ # source://prism//lib/prism/node.rb#3603
+ sig { returns(T.nilable(Prism::ElseNode)) }
+ def consequent; end
+
+ # def copy: (**params) -> CaseNode
+ #
+ # source://prism//lib/prism/node.rb#3576
+ sig { params(params: T.untyped).returns(Prism::CaseNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#3557
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { predicate: Node?, conditions: Array[Node], consequent: ElseNode?, case_keyword_loc: Location, end_keyword_loc: Location, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#3592
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def end_keyword: () -> String
+ #
+ # source://prism//lib/prism/node.rb#3624
+ sig { returns(String) }
+ def end_keyword; end
+
+ # attr_reader end_keyword_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#3612
+ sig { returns(Prism::Location) }
+ def end_keyword_loc; end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#3629
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # attr_reader predicate: Node?
+ #
+ # source://prism//lib/prism/node.rb#3597
+ sig { returns(T.nilable(Prism::Node)) }
+ def predicate; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#3663
+ def type; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#3673
+ def type; end
+ end
+end
+
+# Represents a class declaration involving the `class` keyword.
+#
+# class Foo end
+# ^^^^^^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#3682
+class Prism::ClassNode < ::Prism::Node
+ # def initialize: (Array[Symbol] locals, Location class_keyword_loc, Node constant_path, Location? inheritance_operator_loc, Node? superclass, Node? body, Location end_keyword_loc, Symbol name, Location location) -> void
+ #
+ # @return [ClassNode] a new instance of ClassNode
+ #
+ # source://prism//lib/prism/node.rb#3684
+ def initialize(source, locals, class_keyword_loc, constant_path, inheritance_operator_loc, superclass, body, end_keyword_loc, name, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#3699
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # attr_reader body: Node?
+ #
+ # source://prism//lib/prism/node.rb#3774
+ sig { returns(T.nilable(Prism::Node)) }
+ def body; end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#3704
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def class_keyword: () -> String
+ #
+ # source://prism//lib/prism/node.rb#3787
+ sig { returns(String) }
+ def class_keyword; end
+
+ # attr_reader class_keyword_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#3750
+ sig { returns(Prism::Location) }
+ def class_keyword_loc; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#3718
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#3709
+ def compact_child_nodes; end
+
+ # attr_reader constant_path: Node
+ #
+ # source://prism//lib/prism/node.rb#3756
+ sig { returns(Prism::Node) }
+ def constant_path; end
+
+ # def copy: (**params) -> ClassNode
+ #
+ # source://prism//lib/prism/node.rb#3723
+ sig { params(params: T.untyped).returns(Prism::ClassNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#3704
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { locals: Array[Symbol], class_keyword_loc: Location, constant_path: Node, inheritance_operator_loc: Location?, superclass: Node?, body: Node?, end_keyword_loc: Location, name: Symbol, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#3742
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def end_keyword: () -> String
+ #
+ # source://prism//lib/prism/node.rb#3797
+ sig { returns(String) }
+ def end_keyword; end
+
+ # attr_reader end_keyword_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#3777
+ sig { returns(Prism::Location) }
+ def end_keyword_loc; end
+
+ # def inheritance_operator: () -> String?
+ #
+ # source://prism//lib/prism/node.rb#3792
+ sig { returns(T.nilable(String)) }
+ def inheritance_operator; end
+
+ # attr_reader inheritance_operator_loc: Location?
+ #
+ # source://prism//lib/prism/node.rb#3759
+ sig { returns(T.nilable(Prism::Location)) }
+ def inheritance_operator_loc; end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#3802
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # attr_reader locals: Array[Symbol]
+ #
+ # source://prism//lib/prism/node.rb#3747
+ sig { returns(T::Array[Symbol]) }
+ def locals; end
+
+ # attr_reader name: Symbol
+ #
+ # source://prism//lib/prism/node.rb#3783
+ sig { returns(Symbol) }
+ def name; end
+
+ # attr_reader superclass: Node?
+ #
+ # source://prism//lib/prism/node.rb#3771
+ sig { returns(T.nilable(Prism::Node)) }
+ def superclass; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#3840
+ def type; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#3850
+ def type; end
+ end
+end
+
+# Represents the use of the `&&=` operator for assignment to a class variable.
+#
+# @@target &&= value
+# ^^^^^^^^^^^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#3859
+class Prism::ClassVariableAndWriteNode < ::Prism::Node
+ # def initialize: (Symbol name, Location name_loc, Location operator_loc, Node value, Location location) -> void
+ #
+ # @return [ClassVariableAndWriteNode] a new instance of ClassVariableAndWriteNode
+ #
+ # source://prism//lib/prism/node.rb#3861
+ def initialize(source, name, name_loc, operator_loc, value, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#3872
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#3877
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#3887
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#3882
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> ClassVariableAndWriteNode
+ #
+ # source://prism//lib/prism/node.rb#3892
+ sig { params(params: T.untyped).returns(Prism::ClassVariableAndWriteNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#3877
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, name_loc: Location, operator_loc: Location, value: Node, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#3907
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # source://prism//lib/prism/desugar_compiler.rb#125
+ def desugar; end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#3936
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # attr_reader name: Symbol
+ #
+ # source://prism//lib/prism/node.rb#3912
+ sig { returns(Symbol) }
+ def name; end
+
+ # attr_reader name_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#3915
+ sig { returns(Prism::Location) }
+ def name_loc; end
+
+ # def operator: () -> String
+ #
+ # source://prism//lib/prism/node.rb#3931
+ sig { returns(String) }
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#3921
+ sig { returns(Prism::Location) }
+ def operator_loc; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#3960
+ def type; end
+
+ # attr_reader value: Node
+ #
+ # source://prism//lib/prism/node.rb#3927
+ sig { returns(Prism::Node) }
+ def value; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#3970
+ def type; end
+ end
+end
+
+# Represents assigning to a class variable using an operator that isn't `=`.
+#
+# @@target += value
+# ^^^^^^^^^^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#3979
+class Prism::ClassVariableOperatorWriteNode < ::Prism::Node
+ # def initialize: (Symbol name, Location name_loc, Location operator_loc, Node value, Symbol operator, Location location) -> void
+ #
+ # @return [ClassVariableOperatorWriteNode] a new instance of ClassVariableOperatorWriteNode
+ #
+ # source://prism//lib/prism/node.rb#3981
+ def initialize(source, name, name_loc, operator_loc, value, operator, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#3993
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#3998
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#4008
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#4003
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> ClassVariableOperatorWriteNode
+ #
+ # source://prism//lib/prism/node.rb#4013
+ sig { params(params: T.untyped).returns(Prism::ClassVariableOperatorWriteNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#3998
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, name_loc: Location, operator_loc: Location, value: Node, operator: Symbol, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#4029
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # source://prism//lib/prism/desugar_compiler.rb#137
+ def desugar; end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#4056
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # attr_reader name: Symbol
+ #
+ # source://prism//lib/prism/node.rb#4034
+ sig { returns(Symbol) }
+ def name; end
+
+ # attr_reader name_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#4037
+ sig { returns(Prism::Location) }
+ def name_loc; end
+
+ # attr_reader operator: Symbol
+ #
+ # source://prism//lib/prism/node.rb#4052
+ sig { returns(Symbol) }
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#4043
+ sig { returns(Prism::Location) }
+ def operator_loc; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#4081
+ def type; end
+
+ # attr_reader value: Node
+ #
+ # source://prism//lib/prism/node.rb#4049
+ sig { returns(Prism::Node) }
+ def value; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#4091
+ def type; end
+ end
+end
+
+# Represents the use of the `||=` operator for assignment to a class variable.
+#
+# @@target ||= value
+# ^^^^^^^^^^^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#4100
+class Prism::ClassVariableOrWriteNode < ::Prism::Node
+ # def initialize: (Symbol name, Location name_loc, Location operator_loc, Node value, Location location) -> void
+ #
+ # @return [ClassVariableOrWriteNode] a new instance of ClassVariableOrWriteNode
+ #
+ # source://prism//lib/prism/node.rb#4102
+ def initialize(source, name, name_loc, operator_loc, value, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#4113
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#4118
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#4128
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#4123
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> ClassVariableOrWriteNode
+ #
+ # source://prism//lib/prism/node.rb#4133
+ sig { params(params: T.untyped).returns(Prism::ClassVariableOrWriteNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#4118
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, name_loc: Location, operator_loc: Location, value: Node, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#4148
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # source://prism//lib/prism/desugar_compiler.rb#131
+ def desugar; end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#4177
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # attr_reader name: Symbol
+ #
+ # source://prism//lib/prism/node.rb#4153
+ sig { returns(Symbol) }
+ def name; end
+
+ # attr_reader name_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#4156
+ sig { returns(Prism::Location) }
+ def name_loc; end
+
+ # def operator: () -> String
+ #
+ # source://prism//lib/prism/node.rb#4172
+ sig { returns(String) }
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#4162
+ sig { returns(Prism::Location) }
+ def operator_loc; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#4201
+ def type; end
+
+ # attr_reader value: Node
+ #
+ # source://prism//lib/prism/node.rb#4168
+ sig { returns(Prism::Node) }
+ def value; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#4211
+ def type; end
+ end
+end
+
+# Represents referencing a class variable.
+#
+# @@foo
+# ^^^^^
+#
+# source://prism//lib/prism/node.rb#4220
+class Prism::ClassVariableReadNode < ::Prism::Node
+ # def initialize: (Symbol name, Location location) -> void
+ #
+ # @return [ClassVariableReadNode] a new instance of ClassVariableReadNode
+ #
+ # source://prism//lib/prism/node.rb#4222
+ def initialize(source, name, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#4230
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#4235
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#4245
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#4240
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> ClassVariableReadNode
+ #
+ # source://prism//lib/prism/node.rb#4250
+ sig { params(params: T.untyped).returns(Prism::ClassVariableReadNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#4235
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#4262
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#4275
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # The name of the class variable, which is a `@@` followed by an [identifier](https://github.com/ruby/prism/blob/main/docs/parsing_rules.md#identifiers).
+ #
+ # @@abc # name `:@@abc`
+ #
+ # @@_test # name `:@@_test`
+ #
+ # source://prism//lib/prism/node.rb#4271
+ sig { returns(Symbol) }
+ def name; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#4295
+ def type; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#4305
+ def type; end
+ end
+end
+
+# Represents writing to a class variable in a context that doesn't have an explicit value.
+#
+# @@foo, @@bar = baz
+# ^^^^^ ^^^^^
+#
+# source://prism//lib/prism/node.rb#4314
+class Prism::ClassVariableTargetNode < ::Prism::Node
+ # def initialize: (Symbol name, Location location) -> void
+ #
+ # @return [ClassVariableTargetNode] a new instance of ClassVariableTargetNode
+ #
+ # source://prism//lib/prism/node.rb#4316
+ def initialize(source, name, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#4324
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#4329
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#4339
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#4334
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> ClassVariableTargetNode
+ #
+ # source://prism//lib/prism/node.rb#4344
+ sig { params(params: T.untyped).returns(Prism::ClassVariableTargetNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#4329
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#4356
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#4365
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # attr_reader name: Symbol
+ #
+ # source://prism//lib/prism/node.rb#4361
+ sig { returns(Symbol) }
+ def name; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#4385
+ def type; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#4395
+ def type; end
+ end
+end
+
+# Represents writing to a class variable.
+#
+# @@foo = 1
+# ^^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#4404
+class Prism::ClassVariableWriteNode < ::Prism::Node
+ # def initialize: (Symbol name, Location name_loc, Node value, Location? operator_loc, Location location) -> void
+ #
+ # @return [ClassVariableWriteNode] a new instance of ClassVariableWriteNode
+ #
+ # source://prism//lib/prism/node.rb#4406
+ def initialize(source, name, name_loc, value, operator_loc, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#4417
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#4422
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#4432
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#4427
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> ClassVariableWriteNode
+ #
+ # source://prism//lib/prism/node.rb#4437
+ sig { params(params: T.untyped).returns(Prism::ClassVariableWriteNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#4422
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, name_loc: Location, value: Node, operator_loc: Location?, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#4452
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#4487
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # attr_reader name: Symbol
+ #
+ # source://prism//lib/prism/node.rb#4457
+ sig { returns(Symbol) }
+ def name; end
+
+ # attr_reader name_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#4460
+ sig { returns(Prism::Location) }
+ def name_loc; end
+
+ # def operator: () -> String?
+ #
+ # source://prism//lib/prism/node.rb#4482
+ sig { returns(T.nilable(String)) }
+ def operator; end
+
+ # attr_reader operator_loc: Location?
+ #
+ # source://prism//lib/prism/node.rb#4469
+ sig { returns(T.nilable(Prism::Location)) }
+ def operator_loc; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#4511
+ def type; end
+
+ # attr_reader value: Node
+ #
+ # source://prism//lib/prism/node.rb#4466
+ sig { returns(Prism::Node) }
+ def value; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#4521
+ def type; end
+ end
+end
+
+# This represents a comment that was encountered during parsing. It is the
+# base class for all comment types.
+#
+# source://prism//lib/prism/parse_result.rb#258
+class Prism::Comment
+ # Create a new comment object with the given location.
+ #
+ # @return [Comment] a new instance of Comment
+ #
+ # source://prism//lib/prism/parse_result.rb#263
+ def initialize(location); end
+
+ # Implement the hash pattern matching interface for Comment.
+ #
+ # source://prism//lib/prism/parse_result.rb#268
+ def deconstruct_keys(keys); end
+
+ # The location of this comment in the source.
+ #
+ # source://prism//lib/prism/parse_result.rb#260
+ sig { returns(Prism::Location) }
+ def location; end
+
+ sig { returns(T::Boolean) }
+ def trailing?; end
+end
+
+# A compiler is a visitor that returns the value of each node as it visits.
+# This is as opposed to a visitor which will only walk the tree. This can be
+# useful when you are trying to compile a tree into a different format.
+#
+# For example, to build a representation of the tree as s-expressions, you
+# could write:
+#
+# class SExpressions < Prism::Compiler
+# def visit_arguments_node(node) = [:arguments, super]
+# def visit_call_node(node) = [:call, super]
+# def visit_integer_node(node) = [:integer]
+# def visit_program_node(node) = [:program, super]
+# end
+#
+# Prism.parse("1 + 2").value.accept(SExpressions.new)
+# # => [:program, [[[:call, [[:integer], [:arguments, [[:integer]]]]]]]]
+#
+# source://prism//lib/prism/compiler.rb#26
+class Prism::Compiler
+ # Visit an individual node.
+ #
+ # source://prism//lib/prism/compiler.rb#28
+ def visit(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a AliasGlobalVariableNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_alias_global_variable_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a AliasMethodNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_alias_method_node(node); end
+
+ # Visit a list of nodes.
+ #
+ # source://prism//lib/prism/compiler.rb#33
+ def visit_all(nodes); end
+
+ # Visit the child nodes of the given node.
+ # Compile a AlternationPatternNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_alternation_pattern_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a AndNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_and_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a ArgumentsNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_arguments_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a ArrayNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_array_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a ArrayPatternNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_array_pattern_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a AssocNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_assoc_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a AssocSplatNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_assoc_splat_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a BackReferenceReadNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_back_reference_read_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a BeginNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_begin_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a BlockArgumentNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_block_argument_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a BlockLocalVariableNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_block_local_variable_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a BlockNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_block_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a BlockParameterNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_block_parameter_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a BlockParametersNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_block_parameters_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a BreakNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_break_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a CallAndWriteNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_call_and_write_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a CallNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_call_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a CallOperatorWriteNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_call_operator_write_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a CallOrWriteNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_call_or_write_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a CallTargetNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_call_target_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a CapturePatternNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_capture_pattern_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a CaseMatchNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_case_match_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a CaseNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_case_node(node); end
+
+ # Visit the child nodes of the given node.
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_child_nodes(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a ClassNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_class_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a ClassVariableAndWriteNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_class_variable_and_write_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a ClassVariableOperatorWriteNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_class_variable_operator_write_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a ClassVariableOrWriteNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_class_variable_or_write_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a ClassVariableReadNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_class_variable_read_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a ClassVariableTargetNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_class_variable_target_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a ClassVariableWriteNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_class_variable_write_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a ConstantAndWriteNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_constant_and_write_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a ConstantOperatorWriteNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_constant_operator_write_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a ConstantOrWriteNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_constant_or_write_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a ConstantPathAndWriteNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_constant_path_and_write_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a ConstantPathNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_constant_path_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a ConstantPathOperatorWriteNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_constant_path_operator_write_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a ConstantPathOrWriteNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_constant_path_or_write_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a ConstantPathTargetNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_constant_path_target_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a ConstantPathWriteNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_constant_path_write_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a ConstantReadNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_constant_read_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a ConstantTargetNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_constant_target_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a ConstantWriteNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_constant_write_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a DefNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_def_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a DefinedNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_defined_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a ElseNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_else_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a EmbeddedStatementsNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_embedded_statements_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a EmbeddedVariableNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_embedded_variable_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a EnsureNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_ensure_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a FalseNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_false_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a FindPatternNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_find_pattern_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a FlipFlopNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_flip_flop_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a FloatNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_float_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a ForNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_for_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a ForwardingArgumentsNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_forwarding_arguments_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a ForwardingParameterNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_forwarding_parameter_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a ForwardingSuperNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_forwarding_super_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a GlobalVariableAndWriteNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_global_variable_and_write_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a GlobalVariableOperatorWriteNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_global_variable_operator_write_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a GlobalVariableOrWriteNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_global_variable_or_write_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a GlobalVariableReadNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_global_variable_read_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a GlobalVariableTargetNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_global_variable_target_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a GlobalVariableWriteNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_global_variable_write_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a HashNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_hash_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a HashPatternNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_hash_pattern_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a IfNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_if_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a ImaginaryNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_imaginary_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a ImplicitNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_implicit_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a ImplicitRestNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_implicit_rest_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a InNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_in_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a IndexAndWriteNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_index_and_write_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a IndexOperatorWriteNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_index_operator_write_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a IndexOrWriteNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_index_or_write_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a IndexTargetNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_index_target_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a InstanceVariableAndWriteNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_instance_variable_and_write_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a InstanceVariableOperatorWriteNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_instance_variable_operator_write_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a InstanceVariableOrWriteNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_instance_variable_or_write_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a InstanceVariableReadNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_instance_variable_read_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a InstanceVariableTargetNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_instance_variable_target_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a InstanceVariableWriteNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_instance_variable_write_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a IntegerNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_integer_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a InterpolatedMatchLastLineNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_interpolated_match_last_line_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a InterpolatedRegularExpressionNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_interpolated_regular_expression_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a InterpolatedStringNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_interpolated_string_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a InterpolatedSymbolNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_interpolated_symbol_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a InterpolatedXStringNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_interpolated_x_string_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a KeywordHashNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_keyword_hash_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a KeywordRestParameterNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_keyword_rest_parameter_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a LambdaNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_lambda_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a LocalVariableAndWriteNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_local_variable_and_write_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a LocalVariableOperatorWriteNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_local_variable_operator_write_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a LocalVariableOrWriteNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_local_variable_or_write_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a LocalVariableReadNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_local_variable_read_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a LocalVariableTargetNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_local_variable_target_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a LocalVariableWriteNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_local_variable_write_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a MatchLastLineNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_match_last_line_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a MatchPredicateNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_match_predicate_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a MatchRequiredNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_match_required_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a MatchWriteNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_match_write_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a MissingNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_missing_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a ModuleNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_module_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a MultiTargetNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_multi_target_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a MultiWriteNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_multi_write_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a NextNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_next_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a NilNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_nil_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a NoKeywordsParameterNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_no_keywords_parameter_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a NumberedParametersNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_numbered_parameters_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a NumberedReferenceReadNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_numbered_reference_read_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a OptionalKeywordParameterNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_optional_keyword_parameter_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a OptionalParameterNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_optional_parameter_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a OrNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_or_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a ParametersNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_parameters_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a ParenthesesNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_parentheses_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a PinnedExpressionNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_pinned_expression_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a PinnedVariableNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_pinned_variable_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a PostExecutionNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_post_execution_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a PreExecutionNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_pre_execution_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a ProgramNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_program_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a RangeNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_range_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a RationalNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_rational_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a RedoNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_redo_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a RegularExpressionNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_regular_expression_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a RequiredKeywordParameterNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_required_keyword_parameter_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a RequiredParameterNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_required_parameter_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a RescueModifierNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_rescue_modifier_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a RescueNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_rescue_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a RestParameterNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_rest_parameter_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a RetryNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_retry_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a ReturnNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_return_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a SelfNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_self_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a SingletonClassNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_singleton_class_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a SourceEncodingNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_source_encoding_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a SourceFileNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_source_file_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a SourceLineNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_source_line_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a SplatNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_splat_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a StatementsNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_statements_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a StringNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_string_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a SuperNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_super_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a SymbolNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_symbol_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a TrueNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_true_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a UndefNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_undef_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a UnlessNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_unless_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a UntilNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_until_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a WhenNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_when_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a WhileNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_while_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a XStringNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_x_string_node(node); end
+
+ # Visit the child nodes of the given node.
+ # Compile a YieldNode node
+ #
+ # source://prism//lib/prism/compiler.rb#38
+ def visit_yield_node(node); end
+end
+
+# Represents the use of the `&&=` operator for assignment to a constant.
+#
+# Target &&= value
+# ^^^^^^^^^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#4530
+class Prism::ConstantAndWriteNode < ::Prism::Node
+ # def initialize: (Symbol name, Location name_loc, Location operator_loc, Node value, Location location) -> void
+ #
+ # @return [ConstantAndWriteNode] a new instance of ConstantAndWriteNode
+ #
+ # source://prism//lib/prism/node.rb#4532
+ def initialize(source, name, name_loc, operator_loc, value, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#4543
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#4548
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#4558
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#4553
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> ConstantAndWriteNode
+ #
+ # source://prism//lib/prism/node.rb#4563
+ sig { params(params: T.untyped).returns(Prism::ConstantAndWriteNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#4548
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, name_loc: Location, operator_loc: Location, value: Node, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#4578
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # source://prism//lib/prism/desugar_compiler.rb#143
+ def desugar; end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#4607
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # attr_reader name: Symbol
+ #
+ # source://prism//lib/prism/node.rb#4583
+ sig { returns(Symbol) }
+ def name; end
+
+ # attr_reader name_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#4586
+ sig { returns(Prism::Location) }
+ def name_loc; end
+
+ # def operator: () -> String
+ #
+ # source://prism//lib/prism/node.rb#4602
+ sig { returns(String) }
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#4592
+ sig { returns(Prism::Location) }
+ def operator_loc; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#4631
+ def type; end
+
+ # attr_reader value: Node
+ #
+ # source://prism//lib/prism/node.rb#4598
+ sig { returns(Prism::Node) }
+ def value; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#4641
+ def type; end
+ end
+end
+
+# Represents assigning to a constant using an operator that isn't `=`.
+#
+# Target += value
+# ^^^^^^^^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#4650
+class Prism::ConstantOperatorWriteNode < ::Prism::Node
+ # def initialize: (Symbol name, Location name_loc, Location operator_loc, Node value, Symbol operator, Location location) -> void
+ #
+ # @return [ConstantOperatorWriteNode] a new instance of ConstantOperatorWriteNode
+ #
+ # source://prism//lib/prism/node.rb#4652
+ def initialize(source, name, name_loc, operator_loc, value, operator, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#4664
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#4669
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#4679
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#4674
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> ConstantOperatorWriteNode
+ #
+ # source://prism//lib/prism/node.rb#4684
+ sig { params(params: T.untyped).returns(Prism::ConstantOperatorWriteNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#4669
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, name_loc: Location, operator_loc: Location, value: Node, operator: Symbol, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#4700
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # source://prism//lib/prism/desugar_compiler.rb#155
+ def desugar; end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#4727
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # attr_reader name: Symbol
+ #
+ # source://prism//lib/prism/node.rb#4705
+ sig { returns(Symbol) }
+ def name; end
+
+ # attr_reader name_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#4708
+ sig { returns(Prism::Location) }
+ def name_loc; end
+
+ # attr_reader operator: Symbol
+ #
+ # source://prism//lib/prism/node.rb#4723
+ sig { returns(Symbol) }
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#4714
+ sig { returns(Prism::Location) }
+ def operator_loc; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#4752
+ def type; end
+
+ # attr_reader value: Node
+ #
+ # source://prism//lib/prism/node.rb#4720
+ sig { returns(Prism::Node) }
+ def value; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#4762
+ def type; end
+ end
+end
+
+# Represents the use of the `||=` operator for assignment to a constant.
+#
+# Target ||= value
+# ^^^^^^^^^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#4771
+class Prism::ConstantOrWriteNode < ::Prism::Node
+ # def initialize: (Symbol name, Location name_loc, Location operator_loc, Node value, Location location) -> void
+ #
+ # @return [ConstantOrWriteNode] a new instance of ConstantOrWriteNode
+ #
+ # source://prism//lib/prism/node.rb#4773
+ def initialize(source, name, name_loc, operator_loc, value, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#4784
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#4789
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#4799
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#4794
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> ConstantOrWriteNode
+ #
+ # source://prism//lib/prism/node.rb#4804
+ sig { params(params: T.untyped).returns(Prism::ConstantOrWriteNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#4789
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, name_loc: Location, operator_loc: Location, value: Node, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#4819
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # source://prism//lib/prism/desugar_compiler.rb#149
+ def desugar; end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#4848
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # attr_reader name: Symbol
+ #
+ # source://prism//lib/prism/node.rb#4824
+ sig { returns(Symbol) }
+ def name; end
+
+ # attr_reader name_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#4827
+ sig { returns(Prism::Location) }
+ def name_loc; end
+
+ # def operator: () -> String
+ #
+ # source://prism//lib/prism/node.rb#4843
+ sig { returns(String) }
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#4833
+ sig { returns(Prism::Location) }
+ def operator_loc; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#4872
+ def type; end
+
+ # attr_reader value: Node
+ #
+ # source://prism//lib/prism/node.rb#4839
+ sig { returns(Prism::Node) }
+ def value; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#4882
+ def type; end
+ end
+end
+
+# Represents the use of the `&&=` operator for assignment to a constant path.
+#
+# Parent::Child &&= value
+# ^^^^^^^^^^^^^^^^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#4891
+class Prism::ConstantPathAndWriteNode < ::Prism::Node
+ # def initialize: (ConstantPathNode target, Location operator_loc, Node value, Location location) -> void
+ #
+ # @return [ConstantPathAndWriteNode] a new instance of ConstantPathAndWriteNode
+ #
+ # source://prism//lib/prism/node.rb#4893
+ def initialize(source, target, operator_loc, value, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#4903
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#4908
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#4918
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#4913
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> ConstantPathAndWriteNode
+ #
+ # source://prism//lib/prism/node.rb#4923
+ sig { params(params: T.untyped).returns(Prism::ConstantPathAndWriteNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#4908
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { target: ConstantPathNode, operator_loc: Location, value: Node, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#4937
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#4960
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # def operator: () -> String
+ #
+ # source://prism//lib/prism/node.rb#4955
+ sig { returns(String) }
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#4945
+ sig { returns(Prism::Location) }
+ def operator_loc; end
+
+ # attr_reader target: ConstantPathNode
+ #
+ # source://prism//lib/prism/node.rb#4942
+ sig { returns(Prism::ConstantPathNode) }
+ def target; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#4984
+ def type; end
+
+ # attr_reader value: Node
+ #
+ # source://prism//lib/prism/node.rb#4951
+ sig { returns(Prism::Node) }
+ def value; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#4994
+ def type; end
+ end
+end
+
+# Represents accessing a constant through a path of `::` operators.
+#
+# Foo::Bar
+# ^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#5003
+class Prism::ConstantPathNode < ::Prism::Node
+ # def initialize: (Node? parent, Node child, Location delimiter_loc, Location location) -> void
+ #
+ # @return [ConstantPathNode] a new instance of ConstantPathNode
+ #
+ # source://prism//lib/prism/node.rb#5005
+ def initialize(source, parent, child, delimiter_loc, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#5015
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # attr_reader child: Node
+ #
+ # source://prism//lib/prism/node.rb#5060
+ sig { returns(Prism::Node) }
+ def child; end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#5020
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#5033
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#5025
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> ConstantPathNode
+ #
+ # source://prism//lib/prism/node.rb#5038
+ sig { params(params: T.untyped).returns(Prism::ConstantPathNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#5020
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { parent: Node?, child: Node, delimiter_loc: Location, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#5052
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def delimiter: () -> String
+ #
+ # source://prism//lib/prism/node.rb#5070
+ sig { returns(String) }
+ def delimiter; end
+
+ # attr_reader delimiter_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#5063
+ sig { returns(Prism::Location) }
+ def delimiter_loc; end
+
+ # Returns the full name of this constant path. For example: "Foo::Bar"
+ #
+ # source://prism//lib/prism/node_ext.rb#129
+ def full_name; end
+
+ # Returns the list of parts for the full name of this constant path.
+ # For example: [:Foo, :Bar]
+ #
+ # source://prism//lib/prism/node_ext.rb#112
+ def full_name_parts; end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#5075
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # attr_reader parent: Node?
+ #
+ # source://prism//lib/prism/node.rb#5057
+ sig { returns(T.nilable(Prism::Node)) }
+ def parent; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#5103
+ def type; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#5113
+ def type; end
+ end
+end
+
+# An error class raised when dynamic parts are found while computing a
+# constant path's full name. For example:
+# Foo::Bar::Baz -> does not raise because all parts of the constant path are
+# simple constants
+# var::Bar::Baz -> raises because the first part of the constant path is a
+# local variable
+#
+# source://prism//lib/prism/node_ext.rb#108
+class Prism::ConstantPathNode::DynamicPartsInConstantPathError < ::StandardError; end
+
+# Represents assigning to a constant path using an operator that isn't `=`.
+#
+# Parent::Child += value
+# ^^^^^^^^^^^^^^^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#5122
+class Prism::ConstantPathOperatorWriteNode < ::Prism::Node
+ # def initialize: (ConstantPathNode target, Location operator_loc, Node value, Symbol operator, Location location) -> void
+ #
+ # @return [ConstantPathOperatorWriteNode] a new instance of ConstantPathOperatorWriteNode
+ #
+ # source://prism//lib/prism/node.rb#5124
+ def initialize(source, target, operator_loc, value, operator, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#5135
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#5140
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#5150
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#5145
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> ConstantPathOperatorWriteNode
+ #
+ # source://prism//lib/prism/node.rb#5155
+ sig { params(params: T.untyped).returns(Prism::ConstantPathOperatorWriteNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#5140
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { target: ConstantPathNode, operator_loc: Location, value: Node, operator: Symbol, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#5170
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#5191
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # attr_reader operator: Symbol
+ #
+ # source://prism//lib/prism/node.rb#5187
+ sig { returns(Symbol) }
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#5178
+ sig { returns(Prism::Location) }
+ def operator_loc; end
+
+ # attr_reader target: ConstantPathNode
+ #
+ # source://prism//lib/prism/node.rb#5175
+ sig { returns(Prism::ConstantPathNode) }
+ def target; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#5216
+ def type; end
+
+ # attr_reader value: Node
+ #
+ # source://prism//lib/prism/node.rb#5184
+ sig { returns(Prism::Node) }
+ def value; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#5226
+ def type; end
+ end
+end
+
+# Represents the use of the `||=` operator for assignment to a constant path.
+#
+# Parent::Child ||= value
+# ^^^^^^^^^^^^^^^^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#5235
+class Prism::ConstantPathOrWriteNode < ::Prism::Node
+ # def initialize: (ConstantPathNode target, Location operator_loc, Node value, Location location) -> void
+ #
+ # @return [ConstantPathOrWriteNode] a new instance of ConstantPathOrWriteNode
+ #
+ # source://prism//lib/prism/node.rb#5237
+ def initialize(source, target, operator_loc, value, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#5247
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#5252
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#5262
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#5257
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> ConstantPathOrWriteNode
+ #
+ # source://prism//lib/prism/node.rb#5267
+ sig { params(params: T.untyped).returns(Prism::ConstantPathOrWriteNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#5252
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { target: ConstantPathNode, operator_loc: Location, value: Node, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#5281
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#5304
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # def operator: () -> String
+ #
+ # source://prism//lib/prism/node.rb#5299
+ sig { returns(String) }
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#5289
+ sig { returns(Prism::Location) }
+ def operator_loc; end
+
+ # attr_reader target: ConstantPathNode
+ #
+ # source://prism//lib/prism/node.rb#5286
+ sig { returns(Prism::ConstantPathNode) }
+ def target; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#5328
+ def type; end
+
+ # attr_reader value: Node
+ #
+ # source://prism//lib/prism/node.rb#5295
+ sig { returns(Prism::Node) }
+ def value; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#5338
+ def type; end
+ end
+end
+
+# Represents writing to a constant path in a context that doesn't have an explicit value.
+#
+# Foo::Foo, Bar::Bar = baz
+# ^^^^^^^^ ^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#5347
+class Prism::ConstantPathTargetNode < ::Prism::Node
+ # def initialize: (Node? parent, Node child, Location delimiter_loc, Location location) -> void
+ #
+ # @return [ConstantPathTargetNode] a new instance of ConstantPathTargetNode
+ #
+ # source://prism//lib/prism/node.rb#5349
+ def initialize(source, parent, child, delimiter_loc, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#5359
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # attr_reader child: Node
+ #
+ # source://prism//lib/prism/node.rb#5404
+ sig { returns(Prism::Node) }
+ def child; end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#5364
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#5377
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#5369
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> ConstantPathTargetNode
+ #
+ # source://prism//lib/prism/node.rb#5382
+ sig { params(params: T.untyped).returns(Prism::ConstantPathTargetNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#5364
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { parent: Node?, child: Node, delimiter_loc: Location, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#5396
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def delimiter: () -> String
+ #
+ # source://prism//lib/prism/node.rb#5414
+ sig { returns(String) }
+ def delimiter; end
+
+ # attr_reader delimiter_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#5407
+ sig { returns(Prism::Location) }
+ def delimiter_loc; end
+
+ # Returns the full name of this constant path. For example: "Foo::Bar"
+ #
+ # source://prism//lib/prism/node_ext.rb#152
+ def full_name; end
+
+ # Returns the list of parts for the full name of this constant path.
+ # For example: [:Foo, :Bar]
+ #
+ # source://prism//lib/prism/node_ext.rb#137
+ def full_name_parts; end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#5419
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # attr_reader parent: Node?
+ #
+ # source://prism//lib/prism/node.rb#5401
+ sig { returns(T.nilable(Prism::Node)) }
+ def parent; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#5447
+ def type; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#5457
+ def type; end
+ end
+end
+
+# Represents writing to a constant path.
+#
+# ::Foo = 1
+# ^^^^^^^^^
+#
+# Foo::Bar = 1
+# ^^^^^^^^^^^^
+#
+# ::Foo::Bar = 1
+# ^^^^^^^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#5472
+class Prism::ConstantPathWriteNode < ::Prism::Node
+ # def initialize: (ConstantPathNode target, Location operator_loc, Node value, Location location) -> void
+ #
+ # @return [ConstantPathWriteNode] a new instance of ConstantPathWriteNode
+ #
+ # source://prism//lib/prism/node.rb#5474
+ def initialize(source, target, operator_loc, value, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#5484
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#5489
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#5499
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#5494
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> ConstantPathWriteNode
+ #
+ # source://prism//lib/prism/node.rb#5504
+ sig { params(params: T.untyped).returns(Prism::ConstantPathWriteNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#5489
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { target: ConstantPathNode, operator_loc: Location, value: Node, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#5518
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#5541
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # def operator: () -> String
+ #
+ # source://prism//lib/prism/node.rb#5536
+ sig { returns(String) }
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#5526
+ sig { returns(Prism::Location) }
+ def operator_loc; end
+
+ # attr_reader target: ConstantPathNode
+ #
+ # source://prism//lib/prism/node.rb#5523
+ sig { returns(Prism::ConstantPathNode) }
+ def target; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#5565
+ def type; end
+
+ # attr_reader value: Node
+ #
+ # source://prism//lib/prism/node.rb#5532
+ sig { returns(Prism::Node) }
+ def value; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#5575
+ def type; end
+ end
+end
+
+# Represents referencing a constant.
+#
+# Foo
+# ^^^
+#
+# source://prism//lib/prism/node.rb#5584
+class Prism::ConstantReadNode < ::Prism::Node
+ # def initialize: (Symbol name, Location location) -> void
+ #
+ # @return [ConstantReadNode] a new instance of ConstantReadNode
+ #
+ # source://prism//lib/prism/node.rb#5586
+ def initialize(source, name, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#5594
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#5599
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#5609
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#5604
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> ConstantReadNode
+ #
+ # source://prism//lib/prism/node.rb#5614
+ sig { params(params: T.untyped).returns(Prism::ConstantReadNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#5599
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#5626
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # Returns the full name of this constant. For example: "Foo"
+ #
+ # source://prism//lib/prism/node_ext.rb#96
+ def full_name; end
+
+ # Returns the list of parts for the full name of this constant.
+ # For example: [:Foo]
+ #
+ # source://prism//lib/prism/node_ext.rb#91
+ def full_name_parts; end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#5639
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # The name of the [constant](https://github.com/ruby/prism/blob/main/docs/parsing_rules.md#constants).
+ #
+ # X # name `:X`
+ #
+ # SOME_CONSTANT # name `:SOME_CONSTANT`
+ #
+ # source://prism//lib/prism/node.rb#5635
+ sig { returns(Symbol) }
+ def name; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#5659
+ def type; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#5669
+ def type; end
+ end
+end
+
+# Represents writing to a constant in a context that doesn't have an explicit value.
+#
+# Foo, Bar = baz
+# ^^^ ^^^
+#
+# source://prism//lib/prism/node.rb#5678
+class Prism::ConstantTargetNode < ::Prism::Node
+ # def initialize: (Symbol name, Location location) -> void
+ #
+ # @return [ConstantTargetNode] a new instance of ConstantTargetNode
+ #
+ # source://prism//lib/prism/node.rb#5680
+ def initialize(source, name, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#5688
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#5693
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#5703
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#5698
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> ConstantTargetNode
+ #
+ # source://prism//lib/prism/node.rb#5708
+ sig { params(params: T.untyped).returns(Prism::ConstantTargetNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#5693
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#5720
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # Returns the full name of this constant. For example: "Foo"
+ #
+ # source://prism//lib/prism/node_ext.rb#165
+ def full_name; end
+
+ # Returns the list of parts for the full name of this constant.
+ # For example: [:Foo]
+ #
+ # source://prism//lib/prism/node_ext.rb#160
+ def full_name_parts; end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#5729
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # attr_reader name: Symbol
+ #
+ # source://prism//lib/prism/node.rb#5725
+ sig { returns(Symbol) }
+ def name; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#5749
+ def type; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#5759
+ def type; end
+ end
+end
+
+# Represents writing to a constant.
+#
+# Foo = 1
+# ^^^^^^^
+#
+# source://prism//lib/prism/node.rb#5768
+class Prism::ConstantWriteNode < ::Prism::Node
+ # def initialize: (Symbol name, Location name_loc, Node value, Location operator_loc, Location location) -> void
+ #
+ # @return [ConstantWriteNode] a new instance of ConstantWriteNode
+ #
+ # source://prism//lib/prism/node.rb#5770
+ def initialize(source, name, name_loc, value, operator_loc, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#5781
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#5786
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#5796
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#5791
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> ConstantWriteNode
+ #
+ # source://prism//lib/prism/node.rb#5801
+ sig { params(params: T.untyped).returns(Prism::ConstantWriteNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#5786
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, name_loc: Location, value: Node, operator_loc: Location, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#5816
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#5845
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # attr_reader name: Symbol
+ #
+ # source://prism//lib/prism/node.rb#5821
+ sig { returns(Symbol) }
+ def name; end
+
+ # attr_reader name_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#5824
+ sig { returns(Prism::Location) }
+ def name_loc; end
+
+ # def operator: () -> String
+ #
+ # source://prism//lib/prism/node.rb#5840
+ sig { returns(String) }
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#5833
+ sig { returns(Prism::Location) }
+ def operator_loc; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#5869
+ def type; end
+
+ # attr_reader value: Node
+ #
+ # source://prism//lib/prism/node.rb#5830
+ sig { returns(Prism::Node) }
+ def value; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#5879
+ def type; end
+ end
+end
+
+class Prism::DATAComment < Prism::Comment; end
+
+# The DSL module provides a set of methods that can be used to create prism
+# nodes in a more concise manner. For example, instead of writing:
+#
+# source = Prism::Source.new("[1]")
+#
+# Prism::ArrayNode.new(
+# [
+# Prism::IntegerNode.new(
+# Prism::IntegerBaseFlags::DECIMAL,
+# Prism::Location.new(source, 1, 1),
+# source
+# )
+# ],
+# Prism::Location.new(source, 0, 1),
+# Prism::Location.new(source, 2, 1),
+# source
+# )
+#
+# you could instead write:
+#
+# source = Prism::Source.new("[1]")
+#
+# ArrayNode(
+# IntegerNode(Prism::IntegerBaseFlags::DECIMAL, Location(source, 1, 1)), source),
+# Location(source, 0, 1),
+# Location(source, 2, 1),
+# source
+# )
+#
+# This is mostly helpful in the context of writing tests, but can also be used
+# to generate trees programmatically.
+#
+# source://prism//lib/prism/dsl.rb#40
+module Prism::DSL
+ private
+
+ # Create a new AliasGlobalVariableNode node
+ #
+ # source://prism//lib/prism/dsl.rb#49
+ def AliasGlobalVariableNode(new_name, old_name, keyword_loc, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new AliasMethodNode node
+ #
+ # source://prism//lib/prism/dsl.rb#54
+ def AliasMethodNode(new_name, old_name, keyword_loc, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new AlternationPatternNode node
+ #
+ # source://prism//lib/prism/dsl.rb#59
+ def AlternationPatternNode(left, right, operator_loc, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new AndNode node
+ #
+ # source://prism//lib/prism/dsl.rb#64
+ def AndNode(left, right, operator_loc, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new ArgumentsNode node
+ #
+ # source://prism//lib/prism/dsl.rb#69
+ def ArgumentsNode(flags, arguments, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new ArrayNode node
+ #
+ # source://prism//lib/prism/dsl.rb#74
+ def ArrayNode(flags, elements, opening_loc, closing_loc, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new ArrayPatternNode node
+ #
+ # source://prism//lib/prism/dsl.rb#79
+ def ArrayPatternNode(constant, requireds, rest, posts, opening_loc, closing_loc, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new AssocNode node
+ #
+ # source://prism//lib/prism/dsl.rb#84
+ def AssocNode(key, value, operator_loc, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new AssocSplatNode node
+ #
+ # source://prism//lib/prism/dsl.rb#89
+ def AssocSplatNode(value, operator_loc, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new BackReferenceReadNode node
+ #
+ # source://prism//lib/prism/dsl.rb#94
+ def BackReferenceReadNode(name, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new BeginNode node
+ #
+ # source://prism//lib/prism/dsl.rb#99
+ def BeginNode(begin_keyword_loc, statements, rescue_clause, else_clause, ensure_clause, end_keyword_loc, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new BlockArgumentNode node
+ #
+ # source://prism//lib/prism/dsl.rb#104
+ def BlockArgumentNode(expression, operator_loc, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new BlockLocalVariableNode node
+ #
+ # source://prism//lib/prism/dsl.rb#109
+ def BlockLocalVariableNode(flags, name, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new BlockNode node
+ #
+ # source://prism//lib/prism/dsl.rb#114
+ def BlockNode(locals, parameters, body, opening_loc, closing_loc, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new BlockParameterNode node
+ #
+ # source://prism//lib/prism/dsl.rb#119
+ def BlockParameterNode(flags, name, name_loc, operator_loc, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new BlockParametersNode node
+ #
+ # source://prism//lib/prism/dsl.rb#124
+ def BlockParametersNode(parameters, locals, opening_loc, closing_loc, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new BreakNode node
+ #
+ # source://prism//lib/prism/dsl.rb#129
+ def BreakNode(arguments, keyword_loc, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new CallAndWriteNode node
+ #
+ # source://prism//lib/prism/dsl.rb#134
+ def CallAndWriteNode(flags, receiver, call_operator_loc, message_loc, read_name, write_name, operator_loc, value, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new CallNode node
+ #
+ # source://prism//lib/prism/dsl.rb#139
+ def CallNode(flags, receiver, call_operator_loc, name, message_loc, opening_loc, arguments, closing_loc, block, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new CallOperatorWriteNode node
+ #
+ # source://prism//lib/prism/dsl.rb#144
+ def CallOperatorWriteNode(flags, receiver, call_operator_loc, message_loc, read_name, write_name, operator, operator_loc, value, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new CallOrWriteNode node
+ #
+ # source://prism//lib/prism/dsl.rb#149
+ def CallOrWriteNode(flags, receiver, call_operator_loc, message_loc, read_name, write_name, operator_loc, value, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new CallTargetNode node
+ #
+ # source://prism//lib/prism/dsl.rb#154
+ def CallTargetNode(flags, receiver, call_operator_loc, name, message_loc, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new CapturePatternNode node
+ #
+ # source://prism//lib/prism/dsl.rb#159
+ def CapturePatternNode(value, target, operator_loc, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new CaseMatchNode node
+ #
+ # source://prism//lib/prism/dsl.rb#164
+ def CaseMatchNode(predicate, conditions, consequent, case_keyword_loc, end_keyword_loc, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new CaseNode node
+ #
+ # source://prism//lib/prism/dsl.rb#169
+ def CaseNode(predicate, conditions, consequent, case_keyword_loc, end_keyword_loc, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new ClassNode node
+ #
+ # source://prism//lib/prism/dsl.rb#174
+ def ClassNode(locals, class_keyword_loc, constant_path, inheritance_operator_loc, superclass, body, end_keyword_loc, name, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new ClassVariableAndWriteNode node
+ #
+ # source://prism//lib/prism/dsl.rb#179
+ def ClassVariableAndWriteNode(name, name_loc, operator_loc, value, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new ClassVariableOperatorWriteNode node
+ #
+ # source://prism//lib/prism/dsl.rb#184
+ def ClassVariableOperatorWriteNode(name, name_loc, operator_loc, value, operator, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new ClassVariableOrWriteNode node
+ #
+ # source://prism//lib/prism/dsl.rb#189
+ def ClassVariableOrWriteNode(name, name_loc, operator_loc, value, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new ClassVariableReadNode node
+ #
+ # source://prism//lib/prism/dsl.rb#194
+ def ClassVariableReadNode(name, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new ClassVariableTargetNode node
+ #
+ # source://prism//lib/prism/dsl.rb#199
+ def ClassVariableTargetNode(name, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new ClassVariableWriteNode node
+ #
+ # source://prism//lib/prism/dsl.rb#204
+ def ClassVariableWriteNode(name, name_loc, value, operator_loc, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new ConstantAndWriteNode node
+ #
+ # source://prism//lib/prism/dsl.rb#209
+ def ConstantAndWriteNode(name, name_loc, operator_loc, value, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new ConstantOperatorWriteNode node
+ #
+ # source://prism//lib/prism/dsl.rb#214
+ def ConstantOperatorWriteNode(name, name_loc, operator_loc, value, operator, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new ConstantOrWriteNode node
+ #
+ # source://prism//lib/prism/dsl.rb#219
+ def ConstantOrWriteNode(name, name_loc, operator_loc, value, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new ConstantPathAndWriteNode node
+ #
+ # source://prism//lib/prism/dsl.rb#224
+ def ConstantPathAndWriteNode(target, operator_loc, value, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new ConstantPathNode node
+ #
+ # source://prism//lib/prism/dsl.rb#229
+ def ConstantPathNode(parent, child, delimiter_loc, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new ConstantPathOperatorWriteNode node
+ #
+ # source://prism//lib/prism/dsl.rb#234
+ def ConstantPathOperatorWriteNode(target, operator_loc, value, operator, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new ConstantPathOrWriteNode node
+ #
+ # source://prism//lib/prism/dsl.rb#239
+ def ConstantPathOrWriteNode(target, operator_loc, value, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new ConstantPathTargetNode node
+ #
+ # source://prism//lib/prism/dsl.rb#244
+ def ConstantPathTargetNode(parent, child, delimiter_loc, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new ConstantPathWriteNode node
+ #
+ # source://prism//lib/prism/dsl.rb#249
+ def ConstantPathWriteNode(target, operator_loc, value, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new ConstantReadNode node
+ #
+ # source://prism//lib/prism/dsl.rb#254
+ def ConstantReadNode(name, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new ConstantTargetNode node
+ #
+ # source://prism//lib/prism/dsl.rb#259
+ def ConstantTargetNode(name, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new ConstantWriteNode node
+ #
+ # source://prism//lib/prism/dsl.rb#264
+ def ConstantWriteNode(name, name_loc, value, operator_loc, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new DefNode node
+ #
+ # source://prism//lib/prism/dsl.rb#269
+ def DefNode(name, name_loc, receiver, parameters, body, locals, def_keyword_loc, operator_loc, lparen_loc, rparen_loc, equal_loc, end_keyword_loc, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new DefinedNode node
+ #
+ # source://prism//lib/prism/dsl.rb#274
+ def DefinedNode(lparen_loc, value, rparen_loc, keyword_loc, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new ElseNode node
+ #
+ # source://prism//lib/prism/dsl.rb#279
+ def ElseNode(else_keyword_loc, statements, end_keyword_loc, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new EmbeddedStatementsNode node
+ #
+ # source://prism//lib/prism/dsl.rb#284
+ def EmbeddedStatementsNode(opening_loc, statements, closing_loc, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new EmbeddedVariableNode node
+ #
+ # source://prism//lib/prism/dsl.rb#289
+ def EmbeddedVariableNode(operator_loc, variable, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new EnsureNode node
+ #
+ # source://prism//lib/prism/dsl.rb#294
+ def EnsureNode(ensure_keyword_loc, statements, end_keyword_loc, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new FalseNode node
+ #
+ # source://prism//lib/prism/dsl.rb#299
+ def FalseNode(source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new FindPatternNode node
+ #
+ # source://prism//lib/prism/dsl.rb#304
+ def FindPatternNode(constant, left, requireds, right, opening_loc, closing_loc, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new FlipFlopNode node
+ #
+ # source://prism//lib/prism/dsl.rb#309
+ def FlipFlopNode(flags, left, right, operator_loc, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new FloatNode node
+ #
+ # source://prism//lib/prism/dsl.rb#314
+ def FloatNode(source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new ForNode node
+ #
+ # source://prism//lib/prism/dsl.rb#319
+ def ForNode(index, collection, statements, for_keyword_loc, in_keyword_loc, do_keyword_loc, end_keyword_loc, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new ForwardingArgumentsNode node
+ #
+ # source://prism//lib/prism/dsl.rb#324
+ def ForwardingArgumentsNode(source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new ForwardingParameterNode node
+ #
+ # source://prism//lib/prism/dsl.rb#329
+ def ForwardingParameterNode(source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new ForwardingSuperNode node
+ #
+ # source://prism//lib/prism/dsl.rb#334
+ def ForwardingSuperNode(block, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new GlobalVariableAndWriteNode node
+ #
+ # source://prism//lib/prism/dsl.rb#339
+ def GlobalVariableAndWriteNode(name, name_loc, operator_loc, value, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new GlobalVariableOperatorWriteNode node
+ #
+ # source://prism//lib/prism/dsl.rb#344
+ def GlobalVariableOperatorWriteNode(name, name_loc, operator_loc, value, operator, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new GlobalVariableOrWriteNode node
+ #
+ # source://prism//lib/prism/dsl.rb#349
+ def GlobalVariableOrWriteNode(name, name_loc, operator_loc, value, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new GlobalVariableReadNode node
+ #
+ # source://prism//lib/prism/dsl.rb#354
+ def GlobalVariableReadNode(name, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new GlobalVariableTargetNode node
+ #
+ # source://prism//lib/prism/dsl.rb#359
+ def GlobalVariableTargetNode(name, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new GlobalVariableWriteNode node
+ #
+ # source://prism//lib/prism/dsl.rb#364
+ def GlobalVariableWriteNode(name, name_loc, value, operator_loc, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new HashNode node
+ #
+ # source://prism//lib/prism/dsl.rb#369
+ def HashNode(opening_loc, elements, closing_loc, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new HashPatternNode node
+ #
+ # source://prism//lib/prism/dsl.rb#374
+ def HashPatternNode(constant, elements, rest, opening_loc, closing_loc, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new IfNode node
+ #
+ # source://prism//lib/prism/dsl.rb#379
+ def IfNode(if_keyword_loc, predicate, then_keyword_loc, statements, consequent, end_keyword_loc, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new ImaginaryNode node
+ #
+ # source://prism//lib/prism/dsl.rb#384
+ def ImaginaryNode(numeric, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new ImplicitNode node
+ #
+ # source://prism//lib/prism/dsl.rb#389
+ def ImplicitNode(value, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new ImplicitRestNode node
+ #
+ # source://prism//lib/prism/dsl.rb#394
+ def ImplicitRestNode(source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new InNode node
+ #
+ # source://prism//lib/prism/dsl.rb#399
+ def InNode(pattern, statements, in_loc, then_loc, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new IndexAndWriteNode node
+ #
+ # source://prism//lib/prism/dsl.rb#404
+ def IndexAndWriteNode(flags, receiver, call_operator_loc, opening_loc, arguments, closing_loc, block, operator_loc, value, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new IndexOperatorWriteNode node
+ #
+ # source://prism//lib/prism/dsl.rb#409
+ def IndexOperatorWriteNode(flags, receiver, call_operator_loc, opening_loc, arguments, closing_loc, block, operator, operator_loc, value, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new IndexOrWriteNode node
+ #
+ # source://prism//lib/prism/dsl.rb#414
+ def IndexOrWriteNode(flags, receiver, call_operator_loc, opening_loc, arguments, closing_loc, block, operator_loc, value, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new IndexTargetNode node
+ #
+ # source://prism//lib/prism/dsl.rb#419
+ def IndexTargetNode(flags, receiver, opening_loc, arguments, closing_loc, block, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new InstanceVariableAndWriteNode node
+ #
+ # source://prism//lib/prism/dsl.rb#424
+ def InstanceVariableAndWriteNode(name, name_loc, operator_loc, value, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new InstanceVariableOperatorWriteNode node
+ #
+ # source://prism//lib/prism/dsl.rb#429
+ def InstanceVariableOperatorWriteNode(name, name_loc, operator_loc, value, operator, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new InstanceVariableOrWriteNode node
+ #
+ # source://prism//lib/prism/dsl.rb#434
+ def InstanceVariableOrWriteNode(name, name_loc, operator_loc, value, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new InstanceVariableReadNode node
+ #
+ # source://prism//lib/prism/dsl.rb#439
+ def InstanceVariableReadNode(name, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new InstanceVariableTargetNode node
+ #
+ # source://prism//lib/prism/dsl.rb#444
+ def InstanceVariableTargetNode(name, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new InstanceVariableWriteNode node
+ #
+ # source://prism//lib/prism/dsl.rb#449
+ def InstanceVariableWriteNode(name, name_loc, value, operator_loc, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new IntegerNode node
+ #
+ # source://prism//lib/prism/dsl.rb#454
+ def IntegerNode(flags, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new InterpolatedMatchLastLineNode node
+ #
+ # source://prism//lib/prism/dsl.rb#459
+ def InterpolatedMatchLastLineNode(flags, opening_loc, parts, closing_loc, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new InterpolatedRegularExpressionNode node
+ #
+ # source://prism//lib/prism/dsl.rb#464
+ def InterpolatedRegularExpressionNode(flags, opening_loc, parts, closing_loc, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new InterpolatedStringNode node
+ #
+ # source://prism//lib/prism/dsl.rb#469
+ def InterpolatedStringNode(opening_loc, parts, closing_loc, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new InterpolatedSymbolNode node
+ #
+ # source://prism//lib/prism/dsl.rb#474
+ def InterpolatedSymbolNode(opening_loc, parts, closing_loc, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new InterpolatedXStringNode node
+ #
+ # source://prism//lib/prism/dsl.rb#479
+ def InterpolatedXStringNode(opening_loc, parts, closing_loc, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new KeywordHashNode node
+ #
+ # source://prism//lib/prism/dsl.rb#484
+ def KeywordHashNode(flags, elements, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new KeywordRestParameterNode node
+ #
+ # source://prism//lib/prism/dsl.rb#489
+ def KeywordRestParameterNode(flags, name, name_loc, operator_loc, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new LambdaNode node
+ #
+ # source://prism//lib/prism/dsl.rb#494
+ def LambdaNode(locals, operator_loc, opening_loc, closing_loc, parameters, body, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new LocalVariableAndWriteNode node
+ #
+ # source://prism//lib/prism/dsl.rb#499
+ def LocalVariableAndWriteNode(name_loc, operator_loc, value, name, depth, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new LocalVariableOperatorWriteNode node
+ #
+ # source://prism//lib/prism/dsl.rb#504
+ def LocalVariableOperatorWriteNode(name_loc, operator_loc, value, name, operator, depth, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new LocalVariableOrWriteNode node
+ #
+ # source://prism//lib/prism/dsl.rb#509
+ def LocalVariableOrWriteNode(name_loc, operator_loc, value, name, depth, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new LocalVariableReadNode node
+ #
+ # source://prism//lib/prism/dsl.rb#514
+ def LocalVariableReadNode(name, depth, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new LocalVariableTargetNode node
+ #
+ # source://prism//lib/prism/dsl.rb#519
+ def LocalVariableTargetNode(name, depth, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new LocalVariableWriteNode node
+ #
+ # source://prism//lib/prism/dsl.rb#524
+ def LocalVariableWriteNode(name, depth, name_loc, value, operator_loc, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new Location object
+ #
+ # source://prism//lib/prism/dsl.rb#44
+ def Location(source = T.unsafe(nil), start_offset = T.unsafe(nil), length = T.unsafe(nil)); end
+
+ # Create a new MatchLastLineNode node
+ #
+ # source://prism//lib/prism/dsl.rb#529
+ def MatchLastLineNode(flags, opening_loc, content_loc, closing_loc, unescaped, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new MatchPredicateNode node
+ #
+ # source://prism//lib/prism/dsl.rb#534
+ def MatchPredicateNode(value, pattern, operator_loc, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new MatchRequiredNode node
+ #
+ # source://prism//lib/prism/dsl.rb#539
+ def MatchRequiredNode(value, pattern, operator_loc, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new MatchWriteNode node
+ #
+ # source://prism//lib/prism/dsl.rb#544
+ def MatchWriteNode(call, targets, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new MissingNode node
+ #
+ # source://prism//lib/prism/dsl.rb#549
+ def MissingNode(source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new ModuleNode node
+ #
+ # source://prism//lib/prism/dsl.rb#554
+ def ModuleNode(locals, module_keyword_loc, constant_path, body, end_keyword_loc, name, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new MultiTargetNode node
+ #
+ # source://prism//lib/prism/dsl.rb#559
+ def MultiTargetNode(lefts, rest, rights, lparen_loc, rparen_loc, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new MultiWriteNode node
+ #
+ # source://prism//lib/prism/dsl.rb#564
+ def MultiWriteNode(lefts, rest, rights, lparen_loc, rparen_loc, operator_loc, value, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new NextNode node
+ #
+ # source://prism//lib/prism/dsl.rb#569
+ def NextNode(arguments, keyword_loc, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new NilNode node
+ #
+ # source://prism//lib/prism/dsl.rb#574
+ def NilNode(source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new NoKeywordsParameterNode node
+ #
+ # source://prism//lib/prism/dsl.rb#579
+ def NoKeywordsParameterNode(operator_loc, keyword_loc, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new NumberedParametersNode node
+ #
+ # source://prism//lib/prism/dsl.rb#584
+ def NumberedParametersNode(maximum, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new NumberedReferenceReadNode node
+ #
+ # source://prism//lib/prism/dsl.rb#589
+ def NumberedReferenceReadNode(number, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new OptionalKeywordParameterNode node
+ #
+ # source://prism//lib/prism/dsl.rb#594
+ def OptionalKeywordParameterNode(flags, name, name_loc, value, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new OptionalParameterNode node
+ #
+ # source://prism//lib/prism/dsl.rb#599
+ def OptionalParameterNode(flags, name, name_loc, operator_loc, value, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new OrNode node
+ #
+ # source://prism//lib/prism/dsl.rb#604
+ def OrNode(left, right, operator_loc, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new ParametersNode node
+ #
+ # source://prism//lib/prism/dsl.rb#609
+ def ParametersNode(requireds, optionals, rest, posts, keywords, keyword_rest, block, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new ParenthesesNode node
+ #
+ # source://prism//lib/prism/dsl.rb#614
+ def ParenthesesNode(body, opening_loc, closing_loc, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new PinnedExpressionNode node
+ #
+ # source://prism//lib/prism/dsl.rb#619
+ def PinnedExpressionNode(expression, operator_loc, lparen_loc, rparen_loc, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new PinnedVariableNode node
+ #
+ # source://prism//lib/prism/dsl.rb#624
+ def PinnedVariableNode(variable, operator_loc, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new PostExecutionNode node
+ #
+ # source://prism//lib/prism/dsl.rb#629
+ def PostExecutionNode(statements, keyword_loc, opening_loc, closing_loc, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new PreExecutionNode node
+ #
+ # source://prism//lib/prism/dsl.rb#634
+ def PreExecutionNode(statements, keyword_loc, opening_loc, closing_loc, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new ProgramNode node
+ #
+ # source://prism//lib/prism/dsl.rb#639
+ def ProgramNode(locals, statements, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new RangeNode node
+ #
+ # source://prism//lib/prism/dsl.rb#644
+ def RangeNode(flags, left, right, operator_loc, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new RationalNode node
+ #
+ # source://prism//lib/prism/dsl.rb#649
+ def RationalNode(numeric, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new RedoNode node
+ #
+ # source://prism//lib/prism/dsl.rb#654
+ def RedoNode(source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new RegularExpressionNode node
+ #
+ # source://prism//lib/prism/dsl.rb#659
+ def RegularExpressionNode(flags, opening_loc, content_loc, closing_loc, unescaped, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new RequiredKeywordParameterNode node
+ #
+ # source://prism//lib/prism/dsl.rb#664
+ def RequiredKeywordParameterNode(flags, name, name_loc, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new RequiredParameterNode node
+ #
+ # source://prism//lib/prism/dsl.rb#669
+ def RequiredParameterNode(flags, name, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new RescueModifierNode node
+ #
+ # source://prism//lib/prism/dsl.rb#674
+ def RescueModifierNode(expression, keyword_loc, rescue_expression, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new RescueNode node
+ #
+ # source://prism//lib/prism/dsl.rb#679
+ def RescueNode(keyword_loc, exceptions, operator_loc, reference, statements, consequent, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new RestParameterNode node
+ #
+ # source://prism//lib/prism/dsl.rb#684
+ def RestParameterNode(flags, name, name_loc, operator_loc, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new RetryNode node
+ #
+ # source://prism//lib/prism/dsl.rb#689
+ def RetryNode(source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new ReturnNode node
+ #
+ # source://prism//lib/prism/dsl.rb#694
+ def ReturnNode(keyword_loc, arguments, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new SelfNode node
+ #
+ # source://prism//lib/prism/dsl.rb#699
+ def SelfNode(source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new SingletonClassNode node
+ #
+ # source://prism//lib/prism/dsl.rb#704
+ def SingletonClassNode(locals, class_keyword_loc, operator_loc, expression, body, end_keyword_loc, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new SourceEncodingNode node
+ #
+ # source://prism//lib/prism/dsl.rb#709
+ def SourceEncodingNode(source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new SourceFileNode node
+ #
+ # source://prism//lib/prism/dsl.rb#714
+ def SourceFileNode(filepath, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new SourceLineNode node
+ #
+ # source://prism//lib/prism/dsl.rb#719
+ def SourceLineNode(source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new SplatNode node
+ #
+ # source://prism//lib/prism/dsl.rb#724
+ def SplatNode(operator_loc, expression, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new StatementsNode node
+ #
+ # source://prism//lib/prism/dsl.rb#729
+ def StatementsNode(body, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new StringNode node
+ #
+ # source://prism//lib/prism/dsl.rb#734
+ def StringNode(flags, opening_loc, content_loc, closing_loc, unescaped, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new SuperNode node
+ #
+ # source://prism//lib/prism/dsl.rb#739
+ def SuperNode(keyword_loc, lparen_loc, arguments, rparen_loc, block, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new SymbolNode node
+ #
+ # source://prism//lib/prism/dsl.rb#744
+ def SymbolNode(flags, opening_loc, value_loc, closing_loc, unescaped, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new TrueNode node
+ #
+ # source://prism//lib/prism/dsl.rb#749
+ def TrueNode(source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new UndefNode node
+ #
+ # source://prism//lib/prism/dsl.rb#754
+ def UndefNode(names, keyword_loc, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new UnlessNode node
+ #
+ # source://prism//lib/prism/dsl.rb#759
+ def UnlessNode(keyword_loc, predicate, then_keyword_loc, statements, consequent, end_keyword_loc, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new UntilNode node
+ #
+ # source://prism//lib/prism/dsl.rb#764
+ def UntilNode(flags, keyword_loc, closing_loc, predicate, statements, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new WhenNode node
+ #
+ # source://prism//lib/prism/dsl.rb#769
+ def WhenNode(keyword_loc, conditions, statements, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new WhileNode node
+ #
+ # source://prism//lib/prism/dsl.rb#774
+ def WhileNode(flags, keyword_loc, closing_loc, predicate, statements, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new XStringNode node
+ #
+ # source://prism//lib/prism/dsl.rb#779
+ def XStringNode(flags, opening_loc, content_loc, closing_loc, unescaped, source = T.unsafe(nil), location = T.unsafe(nil)); end
+
+ # Create a new YieldNode node
+ #
+ # source://prism//lib/prism/dsl.rb#784
+ def YieldNode(keyword_loc, lparen_loc, arguments, rparen_loc, source = T.unsafe(nil), location = T.unsafe(nil)); end
+end
+
+# This module is used for testing and debugging and is not meant to be used by
+# consumers of this library.
+#
+# source://prism//lib/prism/debug.rb#6
+module Prism::Debug
+ class << self
+ # :call-seq:
+ # Debug::cruby_locals(source) -> Array
+ #
+ # For the given source, compiles with CRuby and returns a list of all of the
+ # sets of local variables that were encountered.
+ #
+ # source://prism//lib/prism/debug.rb#54
+ def cruby_locals(source); end
+
+ def format_errors(_arg0, _arg1); end
+ def inspect_node(_arg0); end
+ def memsize(_arg0); end
+ def named_captures(_arg0); end
+
+ # :call-seq:
+ # Debug::newlines(source) -> Array
+ #
+ # For the given source string, return the byte offsets of every newline in
+ # the source.
+ #
+ # source://prism//lib/prism/debug.rb#202
+ def newlines(source); end
+
+ # :call-seq:
+ # Debug::prism_locals(source) -> Array
+ #
+ # For the given source, parses with prism and returns a list of all of the
+ # sets of local variables that were encountered.
+ #
+ # source://prism//lib/prism/debug.rb#98
+ def prism_locals(source); end
+
+ def profile_file(_arg0); end
+ end
+end
+
+# Used to hold the place of a local that will be in the local table but
+# cannot be accessed directly from the source code. For example, the
+# iteration variable in a for loop or the positional parameter on a method
+# definition that is destructured.
+#
+# source://prism//lib/prism/debug.rb#90
+Prism::Debug::AnonymousLocal = T.let(T.unsafe(nil), Object)
+
+# A wrapper around a RubyVM::InstructionSequence that provides a more
+# convenient interface for accessing parts of the iseq.
+#
+# source://prism//lib/prism/debug.rb#9
+class Prism::Debug::ISeq
+ # @return [ISeq] a new instance of ISeq
+ #
+ # source://prism//lib/prism/debug.rb#12
+ def initialize(parts); end
+
+ # source://prism//lib/prism/debug.rb#28
+ def each_child; end
+
+ # source://prism//lib/prism/debug.rb#24
+ def instructions; end
+
+ # source://prism//lib/prism/debug.rb#20
+ def local_table; end
+
+ # source://prism//lib/prism/debug.rb#10
+ def parts; end
+
+ # source://prism//lib/prism/debug.rb#16
+ def type; end
+end
+
+# Represents a method definition.
+#
+# def method
+# end
+# ^^^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#5889
+class Prism::DefNode < ::Prism::Node
+ # def initialize: (Symbol name, Location name_loc, Node? receiver, ParametersNode? parameters, Node? body, Array[Symbol] locals, Location def_keyword_loc, Location? operator_loc, Location? lparen_loc, Location? rparen_loc, Location? equal_loc, Location? end_keyword_loc, Location location) -> void
+ #
+ # @return [DefNode] a new instance of DefNode
+ #
+ # source://prism//lib/prism/node.rb#5891
+ def initialize(source, name, name_loc, receiver, parameters, body, locals, def_keyword_loc, operator_loc, lparen_loc, rparen_loc, equal_loc, end_keyword_loc, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#5910
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # attr_reader body: Node?
+ #
+ # source://prism//lib/prism/node.rb#5977
+ sig { returns(T.nilable(Prism::Node)) }
+ def body; end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#5915
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#5929
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#5920
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> DefNode
+ #
+ # source://prism//lib/prism/node.rb#5934
+ sig { params(params: T.untyped).returns(Prism::DefNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#5915
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, name_loc: Location, receiver: Node?, parameters: ParametersNode?, body: Node?, locals: Array[Symbol], def_keyword_loc: Location, operator_loc: Location?, lparen_loc: Location?, rparen_loc: Location?, equal_loc: Location?, end_keyword_loc: Location?, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#5957
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def def_keyword: () -> String
+ #
+ # source://prism//lib/prism/node.rb#6050
+ sig { returns(String) }
+ def def_keyword; end
+
+ # attr_reader def_keyword_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#5983
+ sig { returns(Prism::Location) }
+ def def_keyword_loc; end
+
+ # def end_keyword: () -> String?
+ #
+ # source://prism//lib/prism/node.rb#6075
+ sig { returns(T.nilable(String)) }
+ def end_keyword; end
+
+ # attr_reader end_keyword_loc: Location?
+ #
+ # source://prism//lib/prism/node.rb#6037
+ sig { returns(T.nilable(Prism::Location)) }
+ def end_keyword_loc; end
+
+ # def equal: () -> String?
+ #
+ # source://prism//lib/prism/node.rb#6070
+ sig { returns(T.nilable(String)) }
+ def equal; end
+
+ # attr_reader equal_loc: Location?
+ #
+ # source://prism//lib/prism/node.rb#6025
+ sig { returns(T.nilable(Prism::Location)) }
+ def equal_loc; end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#6080
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # attr_reader locals: Array[Symbol]
+ #
+ # source://prism//lib/prism/node.rb#5980
+ sig { returns(T::Array[Symbol]) }
+ def locals; end
+
+ # def lparen: () -> String?
+ #
+ # source://prism//lib/prism/node.rb#6060
+ sig { returns(T.nilable(String)) }
+ def lparen; end
+
+ # attr_reader lparen_loc: Location?
+ #
+ # source://prism//lib/prism/node.rb#6001
+ sig { returns(T.nilable(Prism::Location)) }
+ def lparen_loc; end
+
+ # attr_reader name: Symbol
+ #
+ # source://prism//lib/prism/node.rb#5962
+ sig { returns(Symbol) }
+ def name; end
+
+ # attr_reader name_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#5965
+ sig { returns(Prism::Location) }
+ def name_loc; end
+
+ # def operator: () -> String?
+ #
+ # source://prism//lib/prism/node.rb#6055
+ sig { returns(T.nilable(String)) }
+ def operator; end
+
+ # attr_reader operator_loc: Location?
+ #
+ # source://prism//lib/prism/node.rb#5989
+ sig { returns(T.nilable(Prism::Location)) }
+ def operator_loc; end
+
+ # attr_reader parameters: ParametersNode?
+ #
+ # source://prism//lib/prism/node.rb#5974
+ sig { returns(T.nilable(Prism::ParametersNode)) }
+ def parameters; end
+
+ # attr_reader receiver: Node?
+ #
+ # source://prism//lib/prism/node.rb#5971
+ sig { returns(T.nilable(Prism::Node)) }
+ def receiver; end
+
+ # def rparen: () -> String?
+ #
+ # source://prism//lib/prism/node.rb#6065
+ sig { returns(T.nilable(String)) }
+ def rparen; end
+
+ # attr_reader rparen_loc: Location?
+ #
+ # source://prism//lib/prism/node.rb#6013
+ sig { returns(T.nilable(Prism::Location)) }
+ def rparen_loc; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#6126
+ def type; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#6136
+ def type; end
+ end
+end
+
+# Represents the use of the `defined?` keyword.
+#
+# defined?(a)
+# ^^^^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#6145
+class Prism::DefinedNode < ::Prism::Node
+ # def initialize: (Location? lparen_loc, Node value, Location? rparen_loc, Location keyword_loc, Location location) -> void
+ #
+ # @return [DefinedNode] a new instance of DefinedNode
+ #
+ # source://prism//lib/prism/node.rb#6147
+ def initialize(source, lparen_loc, value, rparen_loc, keyword_loc, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#6158
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#6163
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#6173
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#6168
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> DefinedNode
+ #
+ # source://prism//lib/prism/node.rb#6178
+ sig { params(params: T.untyped).returns(Prism::DefinedNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#6163
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { lparen_loc: Location?, value: Node, rparen_loc: Location?, keyword_loc: Location, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#6193
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#6247
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # def keyword: () -> String
+ #
+ # source://prism//lib/prism/node.rb#6242
+ sig { returns(String) }
+ def keyword; end
+
+ # attr_reader keyword_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#6225
+ sig { returns(Prism::Location) }
+ def keyword_loc; end
+
+ # def lparen: () -> String?
+ #
+ # source://prism//lib/prism/node.rb#6232
+ sig { returns(T.nilable(String)) }
+ def lparen; end
+
+ # attr_reader lparen_loc: Location?
+ #
+ # source://prism//lib/prism/node.rb#6198
+ sig { returns(T.nilable(Prism::Location)) }
+ def lparen_loc; end
+
+ # def rparen: () -> String?
+ #
+ # source://prism//lib/prism/node.rb#6237
+ sig { returns(T.nilable(String)) }
+ def rparen; end
+
+ # attr_reader rparen_loc: Location?
+ #
+ # source://prism//lib/prism/node.rb#6213
+ sig { returns(T.nilable(Prism::Location)) }
+ def rparen_loc; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#6271
+ def type; end
+
+ # attr_reader value: Node
+ #
+ # source://prism//lib/prism/node.rb#6210
+ sig { returns(Prism::Node) }
+ def value; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#6281
+ def type; end
+ end
+end
+
+# source://prism//lib/prism/desugar_compiler.rb#4
+class Prism::DesugarAndWriteNode
+ # @return [DesugarAndWriteNode] a new instance of DesugarAndWriteNode
+ #
+ # source://prism//lib/prism/desugar_compiler.rb#7
+ def initialize(node, source, read_class, write_class, *arguments); end
+
+ # Returns the value of attribute arguments.
+ #
+ # source://prism//lib/prism/desugar_compiler.rb#5
+ def arguments; end
+
+ # Desugar `x &&= y` to `x && x = y`
+ #
+ # source://prism//lib/prism/desugar_compiler.rb#16
+ def compile; end
+
+ # Returns the value of attribute node.
+ #
+ # source://prism//lib/prism/desugar_compiler.rb#5
+ def node; end
+
+ # Returns the value of attribute read_class.
+ #
+ # source://prism//lib/prism/desugar_compiler.rb#5
+ def read_class; end
+
+ # Returns the value of attribute source.
+ #
+ # source://prism//lib/prism/desugar_compiler.rb#5
+ def source; end
+
+ # Returns the value of attribute write_class.
+ #
+ # source://prism//lib/prism/desugar_compiler.rb#5
+ def write_class; end
+end
+
+# DesugarCompiler is a compiler that desugars Ruby code into a more primitive
+# form. This is useful for consumers that want to deal with fewer node types.
+#
+# source://prism//lib/prism/desugar_compiler.rb#216
+class Prism::DesugarCompiler < ::Prism::MutationCompiler
+ # @@foo &&= bar
+ #
+ # becomes
+ #
+ # @@foo && @@foo = bar
+ #
+ # source://prism//lib/prism/desugar_compiler.rb#222
+ def visit_class_variable_and_write_node(node); end
+
+ # @@foo += bar
+ #
+ # becomes
+ #
+ # @@foo = @@foo + bar
+ #
+ # source://prism//lib/prism/desugar_compiler.rb#240
+ def visit_class_variable_operator_write_node(node); end
+
+ # @@foo ||= bar
+ #
+ # becomes
+ #
+ # defined?(@@foo) ? @@foo : @@foo = bar
+ #
+ # source://prism//lib/prism/desugar_compiler.rb#231
+ def visit_class_variable_or_write_node(node); end
+
+ # Foo &&= bar
+ #
+ # becomes
+ #
+ # Foo && Foo = bar
+ #
+ # source://prism//lib/prism/desugar_compiler.rb#249
+ def visit_constant_and_write_node(node); end
+
+ # Foo += bar
+ #
+ # becomes
+ #
+ # Foo = Foo + bar
+ #
+ # source://prism//lib/prism/desugar_compiler.rb#267
+ def visit_constant_operator_write_node(node); end
+
+ # Foo ||= bar
+ #
+ # becomes
+ #
+ # defined?(Foo) ? Foo : Foo = bar
+ #
+ # source://prism//lib/prism/desugar_compiler.rb#258
+ def visit_constant_or_write_node(node); end
+
+ # $foo &&= bar
+ #
+ # becomes
+ #
+ # $foo && $foo = bar
+ #
+ # source://prism//lib/prism/desugar_compiler.rb#276
+ def visit_global_variable_and_write_node(node); end
+
+ # $foo += bar
+ #
+ # becomes
+ #
+ # $foo = $foo + bar
+ #
+ # source://prism//lib/prism/desugar_compiler.rb#294
+ def visit_global_variable_operator_write_node(node); end
+
+ # $foo ||= bar
+ #
+ # becomes
+ #
+ # defined?($foo) ? $foo : $foo = bar
+ #
+ # source://prism//lib/prism/desugar_compiler.rb#285
+ def visit_global_variable_or_write_node(node); end
+
+ # becomes
+ #
+ # source://prism//lib/prism/desugar_compiler.rb#303
+ def visit_instance_variable_and_write_node(node); end
+
+ # becomes
+ #
+ # source://prism//lib/prism/desugar_compiler.rb#321
+ def visit_instance_variable_operator_write_node(node); end
+
+ # becomes
+ #
+ # source://prism//lib/prism/desugar_compiler.rb#312
+ def visit_instance_variable_or_write_node(node); end
+
+ # foo &&= bar
+ #
+ # becomes
+ #
+ # foo && foo = bar
+ #
+ # source://prism//lib/prism/desugar_compiler.rb#330
+ def visit_local_variable_and_write_node(node); end
+
+ # foo += bar
+ #
+ # becomes
+ #
+ # foo = foo + bar
+ #
+ # source://prism//lib/prism/desugar_compiler.rb#348
+ def visit_local_variable_operator_write_node(node); end
+
+ # foo ||= bar
+ #
+ # becomes
+ #
+ # foo || foo = bar
+ #
+ # source://prism//lib/prism/desugar_compiler.rb#339
+ def visit_local_variable_or_write_node(node); end
+end
+
+# source://prism//lib/prism/desugar_compiler.rb#63
+class Prism::DesugarOperatorWriteNode
+ # @return [DesugarOperatorWriteNode] a new instance of DesugarOperatorWriteNode
+ #
+ # source://prism//lib/prism/desugar_compiler.rb#66
+ def initialize(node, source, read_class, write_class, *arguments); end
+
+ # Returns the value of attribute arguments.
+ #
+ # source://prism//lib/prism/desugar_compiler.rb#64
+ def arguments; end
+
+ # Desugar `x += y` to `x = x + y`
+ #
+ # source://prism//lib/prism/desugar_compiler.rb#75
+ def compile; end
+
+ # Returns the value of attribute node.
+ #
+ # source://prism//lib/prism/desugar_compiler.rb#64
+ def node; end
+
+ # Returns the value of attribute read_class.
+ #
+ # source://prism//lib/prism/desugar_compiler.rb#64
+ def read_class; end
+
+ # Returns the value of attribute source.
+ #
+ # source://prism//lib/prism/desugar_compiler.rb#64
+ def source; end
+
+ # Returns the value of attribute write_class.
+ #
+ # source://prism//lib/prism/desugar_compiler.rb#64
+ def write_class; end
+end
+
+# source://prism//lib/prism/desugar_compiler.rb#27
+class Prism::DesugarOrWriteDefinedNode
+ # @return [DesugarOrWriteDefinedNode] a new instance of DesugarOrWriteDefinedNode
+ #
+ # source://prism//lib/prism/desugar_compiler.rb#30
+ def initialize(node, source, read_class, write_class, *arguments); end
+
+ # Returns the value of attribute arguments.
+ #
+ # source://prism//lib/prism/desugar_compiler.rb#28
+ def arguments; end
+
+ # Desugar `x ||= y` to `defined?(x) ? x : x = y`
+ #
+ # source://prism//lib/prism/desugar_compiler.rb#39
+ def compile; end
+
+ # Returns the value of attribute node.
+ #
+ # source://prism//lib/prism/desugar_compiler.rb#28
+ def node; end
+
+ # Returns the value of attribute read_class.
+ #
+ # source://prism//lib/prism/desugar_compiler.rb#28
+ def read_class; end
+
+ # Returns the value of attribute source.
+ #
+ # source://prism//lib/prism/desugar_compiler.rb#28
+ def source; end
+
+ # Returns the value of attribute write_class.
+ #
+ # source://prism//lib/prism/desugar_compiler.rb#28
+ def write_class; end
+end
+
+# source://prism//lib/prism/desugar_compiler.rb#99
+class Prism::DesugarOrWriteNode
+ # @return [DesugarOrWriteNode] a new instance of DesugarOrWriteNode
+ #
+ # source://prism//lib/prism/desugar_compiler.rb#102
+ def initialize(node, source, read_class, write_class, *arguments); end
+
+ # Returns the value of attribute arguments.
+ #
+ # source://prism//lib/prism/desugar_compiler.rb#100
+ def arguments; end
+
+ # Desugar `x ||= y` to `x || x = y`
+ #
+ # source://prism//lib/prism/desugar_compiler.rb#111
+ def compile; end
+
+ # Returns the value of attribute node.
+ #
+ # source://prism//lib/prism/desugar_compiler.rb#100
+ def node; end
+
+ # Returns the value of attribute read_class.
+ #
+ # source://prism//lib/prism/desugar_compiler.rb#100
+ def read_class; end
+
+ # Returns the value of attribute source.
+ #
+ # source://prism//lib/prism/desugar_compiler.rb#100
+ def source; end
+
+ # Returns the value of attribute write_class.
+ #
+ # source://prism//lib/prism/desugar_compiler.rb#100
+ def write_class; end
+end
+
+# The dispatcher class fires events for nodes that are found while walking an
+# AST to all registered listeners. It's useful for performing different types
+# of analysis on the AST while only having to walk the tree once.
+#
+# To use the dispatcher, you would first instantiate it and register listeners
+# for the events you're interested in:
+#
+# class OctalListener
+# def on_integer_node_enter(node)
+# if node.octal? && !node.slice.start_with?("0o")
+# warn("Octal integers should be written with the 0o prefix")
+# end
+# end
+# end
+#
+# dispatcher = Dispatcher.new
+# dispatcher.register(listener, :on_integer_node_enter)
+#
+# Then, you can walk any number of trees and dispatch events to the listeners:
+#
+# result = Prism.parse("001 + 002 + 003")
+# dispatcher.dispatch(result.value)
+#
+# Optionally, you can also use `#dispatch_once` to dispatch enter and leave
+# events for a single node without recursing further down the tree. This can
+# be useful in circumstances where you want to reuse the listeners you already
+# have registers but want to stop walking the tree at a certain point.
+#
+# integer = result.value.statements.body.first.receiver.receiver
+# dispatcher.dispatch_once(integer)
+#
+# source://prism//lib/prism/dispatcher.rb#40
+class Prism::Dispatcher < ::Prism::Visitor
+ # Initialize a new dispatcher.
+ #
+ # @return [Dispatcher] a new instance of Dispatcher
+ #
+ # source://prism//lib/prism/dispatcher.rb#45
+ def initialize; end
+
+ # Walks `root` dispatching events to all registered listeners.
+ #
+ # def dispatch: (Node) -> void
+ #
+ # source://prism//lib/prism/visitor.rb#16
+ def dispatch(node); end
+
+ # Dispatches a single event for `node` to all registered listeners.
+ #
+ # def dispatch_once: (Node) -> void
+ #
+ # source://prism//lib/prism/dispatcher.rb#64
+ def dispatch_once(node); end
+
+ # attr_reader listeners: Hash[Symbol, Array[Listener]]
+ #
+ # source://prism//lib/prism/dispatcher.rb#42
+ def listeners; end
+
+ # Register a listener for one or more events.
+ #
+ # def register: (Listener, *Symbol) -> void
+ #
+ # source://prism//lib/prism/dispatcher.rb#52
+ def register(listener, *events); end
+
+ # Dispatch enter and leave events for AliasGlobalVariableNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#70
+ def visit_alias_global_variable_node(node); end
+
+ # Dispatch enter and leave events for AliasMethodNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#78
+ def visit_alias_method_node(node); end
+
+ # Dispatch enter and leave events for AlternationPatternNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#86
+ def visit_alternation_pattern_node(node); end
+
+ # Dispatch enter and leave events for AndNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#94
+ def visit_and_node(node); end
+
+ # Dispatch enter and leave events for ArgumentsNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#102
+ def visit_arguments_node(node); end
+
+ # Dispatch enter and leave events for ArrayNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#110
+ def visit_array_node(node); end
+
+ # Dispatch enter and leave events for ArrayPatternNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#118
+ def visit_array_pattern_node(node); end
+
+ # Dispatch enter and leave events for AssocNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#126
+ def visit_assoc_node(node); end
+
+ # Dispatch enter and leave events for AssocSplatNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#134
+ def visit_assoc_splat_node(node); end
+
+ # Dispatch enter and leave events for BackReferenceReadNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#142
+ def visit_back_reference_read_node(node); end
+
+ # Dispatch enter and leave events for BeginNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#150
+ def visit_begin_node(node); end
+
+ # Dispatch enter and leave events for BlockArgumentNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#158
+ def visit_block_argument_node(node); end
+
+ # Dispatch enter and leave events for BlockLocalVariableNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#166
+ def visit_block_local_variable_node(node); end
+
+ # Dispatch enter and leave events for BlockNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#174
+ def visit_block_node(node); end
+
+ # Dispatch enter and leave events for BlockParameterNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#182
+ def visit_block_parameter_node(node); end
+
+ # Dispatch enter and leave events for BlockParametersNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#190
+ def visit_block_parameters_node(node); end
+
+ # Dispatch enter and leave events for BreakNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#198
+ def visit_break_node(node); end
+
+ # Dispatch enter and leave events for CallAndWriteNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#206
+ def visit_call_and_write_node(node); end
+
+ # Dispatch enter and leave events for CallNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#214
+ def visit_call_node(node); end
+
+ # Dispatch enter and leave events for CallOperatorWriteNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#222
+ def visit_call_operator_write_node(node); end
+
+ # Dispatch enter and leave events for CallOrWriteNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#230
+ def visit_call_or_write_node(node); end
+
+ # Dispatch enter and leave events for CallTargetNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#238
+ def visit_call_target_node(node); end
+
+ # Dispatch enter and leave events for CapturePatternNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#246
+ def visit_capture_pattern_node(node); end
+
+ # Dispatch enter and leave events for CaseMatchNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#254
+ def visit_case_match_node(node); end
+
+ # Dispatch enter and leave events for CaseNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#262
+ def visit_case_node(node); end
+
+ # Dispatch enter and leave events for ClassNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#270
+ def visit_class_node(node); end
+
+ # Dispatch enter and leave events for ClassVariableAndWriteNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#278
+ def visit_class_variable_and_write_node(node); end
+
+ # Dispatch enter and leave events for ClassVariableOperatorWriteNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#286
+ def visit_class_variable_operator_write_node(node); end
+
+ # Dispatch enter and leave events for ClassVariableOrWriteNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#294
+ def visit_class_variable_or_write_node(node); end
+
+ # Dispatch enter and leave events for ClassVariableReadNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#302
+ def visit_class_variable_read_node(node); end
+
+ # Dispatch enter and leave events for ClassVariableTargetNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#310
+ def visit_class_variable_target_node(node); end
+
+ # Dispatch enter and leave events for ClassVariableWriteNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#318
+ def visit_class_variable_write_node(node); end
+
+ # Dispatch enter and leave events for ConstantAndWriteNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#326
+ def visit_constant_and_write_node(node); end
+
+ # Dispatch enter and leave events for ConstantOperatorWriteNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#334
+ def visit_constant_operator_write_node(node); end
+
+ # Dispatch enter and leave events for ConstantOrWriteNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#342
+ def visit_constant_or_write_node(node); end
+
+ # Dispatch enter and leave events for ConstantPathAndWriteNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#350
+ def visit_constant_path_and_write_node(node); end
+
+ # Dispatch enter and leave events for ConstantPathNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#358
+ def visit_constant_path_node(node); end
+
+ # Dispatch enter and leave events for ConstantPathOperatorWriteNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#366
+ def visit_constant_path_operator_write_node(node); end
+
+ # Dispatch enter and leave events for ConstantPathOrWriteNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#374
+ def visit_constant_path_or_write_node(node); end
+
+ # Dispatch enter and leave events for ConstantPathTargetNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#382
+ def visit_constant_path_target_node(node); end
+
+ # Dispatch enter and leave events for ConstantPathWriteNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#390
+ def visit_constant_path_write_node(node); end
+
+ # Dispatch enter and leave events for ConstantReadNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#398
+ def visit_constant_read_node(node); end
+
+ # Dispatch enter and leave events for ConstantTargetNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#406
+ def visit_constant_target_node(node); end
+
+ # Dispatch enter and leave events for ConstantWriteNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#414
+ def visit_constant_write_node(node); end
+
+ # Dispatch enter and leave events for DefNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#422
+ def visit_def_node(node); end
+
+ # Dispatch enter and leave events for DefinedNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#430
+ def visit_defined_node(node); end
+
+ # Dispatch enter and leave events for ElseNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#438
+ def visit_else_node(node); end
+
+ # Dispatch enter and leave events for EmbeddedStatementsNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#446
+ def visit_embedded_statements_node(node); end
+
+ # Dispatch enter and leave events for EmbeddedVariableNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#454
+ def visit_embedded_variable_node(node); end
+
+ # Dispatch enter and leave events for EnsureNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#462
+ def visit_ensure_node(node); end
+
+ # Dispatch enter and leave events for FalseNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#470
+ def visit_false_node(node); end
+
+ # Dispatch enter and leave events for FindPatternNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#478
+ def visit_find_pattern_node(node); end
+
+ # Dispatch enter and leave events for FlipFlopNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#486
+ def visit_flip_flop_node(node); end
+
+ # Dispatch enter and leave events for FloatNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#494
+ def visit_float_node(node); end
+
+ # Dispatch enter and leave events for ForNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#502
+ def visit_for_node(node); end
+
+ # Dispatch enter and leave events for ForwardingArgumentsNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#510
+ def visit_forwarding_arguments_node(node); end
+
+ # Dispatch enter and leave events for ForwardingParameterNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#518
+ def visit_forwarding_parameter_node(node); end
+
+ # Dispatch enter and leave events for ForwardingSuperNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#526
+ def visit_forwarding_super_node(node); end
+
+ # Dispatch enter and leave events for GlobalVariableAndWriteNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#534
+ def visit_global_variable_and_write_node(node); end
+
+ # Dispatch enter and leave events for GlobalVariableOperatorWriteNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#542
+ def visit_global_variable_operator_write_node(node); end
+
+ # Dispatch enter and leave events for GlobalVariableOrWriteNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#550
+ def visit_global_variable_or_write_node(node); end
+
+ # Dispatch enter and leave events for GlobalVariableReadNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#558
+ def visit_global_variable_read_node(node); end
+
+ # Dispatch enter and leave events for GlobalVariableTargetNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#566
+ def visit_global_variable_target_node(node); end
+
+ # Dispatch enter and leave events for GlobalVariableWriteNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#574
+ def visit_global_variable_write_node(node); end
+
+ # Dispatch enter and leave events for HashNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#582
+ def visit_hash_node(node); end
+
+ # Dispatch enter and leave events for HashPatternNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#590
+ def visit_hash_pattern_node(node); end
+
+ # Dispatch enter and leave events for IfNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#598
+ def visit_if_node(node); end
+
+ # Dispatch enter and leave events for ImaginaryNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#606
+ def visit_imaginary_node(node); end
+
+ # Dispatch enter and leave events for ImplicitNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#614
+ def visit_implicit_node(node); end
+
+ # Dispatch enter and leave events for ImplicitRestNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#622
+ def visit_implicit_rest_node(node); end
+
+ # Dispatch enter and leave events for InNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#630
+ def visit_in_node(node); end
+
+ # Dispatch enter and leave events for IndexAndWriteNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#638
+ def visit_index_and_write_node(node); end
+
+ # Dispatch enter and leave events for IndexOperatorWriteNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#646
+ def visit_index_operator_write_node(node); end
+
+ # Dispatch enter and leave events for IndexOrWriteNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#654
+ def visit_index_or_write_node(node); end
+
+ # Dispatch enter and leave events for IndexTargetNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#662
+ def visit_index_target_node(node); end
+
+ # Dispatch enter and leave events for InstanceVariableAndWriteNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#670
+ def visit_instance_variable_and_write_node(node); end
+
+ # Dispatch enter and leave events for InstanceVariableOperatorWriteNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#678
+ def visit_instance_variable_operator_write_node(node); end
+
+ # Dispatch enter and leave events for InstanceVariableOrWriteNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#686
+ def visit_instance_variable_or_write_node(node); end
+
+ # Dispatch enter and leave events for InstanceVariableReadNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#694
+ def visit_instance_variable_read_node(node); end
+
+ # Dispatch enter and leave events for InstanceVariableTargetNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#702
+ def visit_instance_variable_target_node(node); end
+
+ # Dispatch enter and leave events for InstanceVariableWriteNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#710
+ def visit_instance_variable_write_node(node); end
+
+ # Dispatch enter and leave events for IntegerNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#718
+ def visit_integer_node(node); end
+
+ # Dispatch enter and leave events for InterpolatedMatchLastLineNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#726
+ def visit_interpolated_match_last_line_node(node); end
+
+ # Dispatch enter and leave events for InterpolatedRegularExpressionNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#734
+ def visit_interpolated_regular_expression_node(node); end
+
+ # Dispatch enter and leave events for InterpolatedStringNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#742
+ def visit_interpolated_string_node(node); end
+
+ # Dispatch enter and leave events for InterpolatedSymbolNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#750
+ def visit_interpolated_symbol_node(node); end
+
+ # Dispatch enter and leave events for InterpolatedXStringNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#758
+ def visit_interpolated_x_string_node(node); end
+
+ # Dispatch enter and leave events for KeywordHashNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#766
+ def visit_keyword_hash_node(node); end
+
+ # Dispatch enter and leave events for KeywordRestParameterNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#774
+ def visit_keyword_rest_parameter_node(node); end
+
+ # Dispatch enter and leave events for LambdaNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#782
+ def visit_lambda_node(node); end
+
+ # Dispatch enter and leave events for LocalVariableAndWriteNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#790
+ def visit_local_variable_and_write_node(node); end
+
+ # Dispatch enter and leave events for LocalVariableOperatorWriteNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#798
+ def visit_local_variable_operator_write_node(node); end
+
+ # Dispatch enter and leave events for LocalVariableOrWriteNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#806
+ def visit_local_variable_or_write_node(node); end
+
+ # Dispatch enter and leave events for LocalVariableReadNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#814
+ def visit_local_variable_read_node(node); end
+
+ # Dispatch enter and leave events for LocalVariableTargetNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#822
+ def visit_local_variable_target_node(node); end
+
+ # Dispatch enter and leave events for LocalVariableWriteNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#830
+ def visit_local_variable_write_node(node); end
+
+ # Dispatch enter and leave events for MatchLastLineNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#838
+ def visit_match_last_line_node(node); end
+
+ # Dispatch enter and leave events for MatchPredicateNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#846
+ def visit_match_predicate_node(node); end
+
+ # Dispatch enter and leave events for MatchRequiredNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#854
+ def visit_match_required_node(node); end
+
+ # Dispatch enter and leave events for MatchWriteNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#862
+ def visit_match_write_node(node); end
+
+ # Dispatch enter and leave events for MissingNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#870
+ def visit_missing_node(node); end
+
+ # Dispatch enter and leave events for ModuleNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#878
+ def visit_module_node(node); end
+
+ # Dispatch enter and leave events for MultiTargetNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#886
+ def visit_multi_target_node(node); end
+
+ # Dispatch enter and leave events for MultiWriteNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#894
+ def visit_multi_write_node(node); end
+
+ # Dispatch enter and leave events for NextNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#902
+ def visit_next_node(node); end
+
+ # Dispatch enter and leave events for NilNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#910
+ def visit_nil_node(node); end
+
+ # Dispatch enter and leave events for NoKeywordsParameterNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#918
+ def visit_no_keywords_parameter_node(node); end
+
+ # Dispatch enter and leave events for NumberedParametersNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#926
+ def visit_numbered_parameters_node(node); end
+
+ # Dispatch enter and leave events for NumberedReferenceReadNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#934
+ def visit_numbered_reference_read_node(node); end
+
+ # Dispatch enter and leave events for OptionalKeywordParameterNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#942
+ def visit_optional_keyword_parameter_node(node); end
+
+ # Dispatch enter and leave events for OptionalParameterNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#950
+ def visit_optional_parameter_node(node); end
+
+ # Dispatch enter and leave events for OrNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#958
+ def visit_or_node(node); end
+
+ # Dispatch enter and leave events for ParametersNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#966
+ def visit_parameters_node(node); end
+
+ # Dispatch enter and leave events for ParenthesesNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#974
+ def visit_parentheses_node(node); end
+
+ # Dispatch enter and leave events for PinnedExpressionNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#982
+ def visit_pinned_expression_node(node); end
+
+ # Dispatch enter and leave events for PinnedVariableNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#990
+ def visit_pinned_variable_node(node); end
+
+ # Dispatch enter and leave events for PostExecutionNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#998
+ def visit_post_execution_node(node); end
+
+ # Dispatch enter and leave events for PreExecutionNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1006
+ def visit_pre_execution_node(node); end
+
+ # Dispatch enter and leave events for ProgramNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1014
+ def visit_program_node(node); end
+
+ # Dispatch enter and leave events for RangeNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1022
+ def visit_range_node(node); end
+
+ # Dispatch enter and leave events for RationalNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1030
+ def visit_rational_node(node); end
+
+ # Dispatch enter and leave events for RedoNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1038
+ def visit_redo_node(node); end
+
+ # Dispatch enter and leave events for RegularExpressionNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1046
+ def visit_regular_expression_node(node); end
+
+ # Dispatch enter and leave events for RequiredKeywordParameterNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1054
+ def visit_required_keyword_parameter_node(node); end
+
+ # Dispatch enter and leave events for RequiredParameterNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1062
+ def visit_required_parameter_node(node); end
+
+ # Dispatch enter and leave events for RescueModifierNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1070
+ def visit_rescue_modifier_node(node); end
+
+ # Dispatch enter and leave events for RescueNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1078
+ def visit_rescue_node(node); end
+
+ # Dispatch enter and leave events for RestParameterNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1086
+ def visit_rest_parameter_node(node); end
+
+ # Dispatch enter and leave events for RetryNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1094
+ def visit_retry_node(node); end
+
+ # Dispatch enter and leave events for ReturnNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1102
+ def visit_return_node(node); end
+
+ # Dispatch enter and leave events for SelfNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1110
+ def visit_self_node(node); end
+
+ # Dispatch enter and leave events for SingletonClassNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1118
+ def visit_singleton_class_node(node); end
+
+ # Dispatch enter and leave events for SourceEncodingNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1126
+ def visit_source_encoding_node(node); end
+
+ # Dispatch enter and leave events for SourceFileNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1134
+ def visit_source_file_node(node); end
+
+ # Dispatch enter and leave events for SourceLineNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1142
+ def visit_source_line_node(node); end
+
+ # Dispatch enter and leave events for SplatNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1150
+ def visit_splat_node(node); end
+
+ # Dispatch enter and leave events for StatementsNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1158
+ def visit_statements_node(node); end
+
+ # Dispatch enter and leave events for StringNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1166
+ def visit_string_node(node); end
+
+ # Dispatch enter and leave events for SuperNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1174
+ def visit_super_node(node); end
+
+ # Dispatch enter and leave events for SymbolNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1182
+ def visit_symbol_node(node); end
+
+ # Dispatch enter and leave events for TrueNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1190
+ def visit_true_node(node); end
+
+ # Dispatch enter and leave events for UndefNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1198
+ def visit_undef_node(node); end
+
+ # Dispatch enter and leave events for UnlessNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1206
+ def visit_unless_node(node); end
+
+ # Dispatch enter and leave events for UntilNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1214
+ def visit_until_node(node); end
+
+ # Dispatch enter and leave events for WhenNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1222
+ def visit_when_node(node); end
+
+ # Dispatch enter and leave events for WhileNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1230
+ def visit_while_node(node); end
+
+ # Dispatch enter and leave events for XStringNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1238
+ def visit_x_string_node(node); end
+
+ # Dispatch enter and leave events for YieldNode nodes and continue
+ # walking the tree.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1246
+ def visit_yield_node(node); end
+end
+
+# source://prism//lib/prism/dispatcher.rb#1252
+class Prism::Dispatcher::DispatchOnce < ::Prism::Visitor
+ # @return [DispatchOnce] a new instance of DispatchOnce
+ #
+ # source://prism//lib/prism/dispatcher.rb#1255
+ def initialize(listeners); end
+
+ # Returns the value of attribute listeners.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1253
+ def listeners; end
+
+ # Dispatch enter and leave events for AliasGlobalVariableNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1260
+ def visit_alias_global_variable_node(node); end
+
+ # Dispatch enter and leave events for AliasMethodNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1266
+ def visit_alias_method_node(node); end
+
+ # Dispatch enter and leave events for AlternationPatternNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1272
+ def visit_alternation_pattern_node(node); end
+
+ # Dispatch enter and leave events for AndNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1278
+ def visit_and_node(node); end
+
+ # Dispatch enter and leave events for ArgumentsNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1284
+ def visit_arguments_node(node); end
+
+ # Dispatch enter and leave events for ArrayNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1290
+ def visit_array_node(node); end
+
+ # Dispatch enter and leave events for ArrayPatternNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1296
+ def visit_array_pattern_node(node); end
+
+ # Dispatch enter and leave events for AssocNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1302
+ def visit_assoc_node(node); end
+
+ # Dispatch enter and leave events for AssocSplatNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1308
+ def visit_assoc_splat_node(node); end
+
+ # Dispatch enter and leave events for BackReferenceReadNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1314
+ def visit_back_reference_read_node(node); end
+
+ # Dispatch enter and leave events for BeginNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1320
+ def visit_begin_node(node); end
+
+ # Dispatch enter and leave events for BlockArgumentNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1326
+ def visit_block_argument_node(node); end
+
+ # Dispatch enter and leave events for BlockLocalVariableNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1332
+ def visit_block_local_variable_node(node); end
+
+ # Dispatch enter and leave events for BlockNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1338
+ def visit_block_node(node); end
+
+ # Dispatch enter and leave events for BlockParameterNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1344
+ def visit_block_parameter_node(node); end
+
+ # Dispatch enter and leave events for BlockParametersNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1350
+ def visit_block_parameters_node(node); end
+
+ # Dispatch enter and leave events for BreakNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1356
+ def visit_break_node(node); end
+
+ # Dispatch enter and leave events for CallAndWriteNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1362
+ def visit_call_and_write_node(node); end
+
+ # Dispatch enter and leave events for CallNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1368
+ def visit_call_node(node); end
+
+ # Dispatch enter and leave events for CallOperatorWriteNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1374
+ def visit_call_operator_write_node(node); end
+
+ # Dispatch enter and leave events for CallOrWriteNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1380
+ def visit_call_or_write_node(node); end
+
+ # Dispatch enter and leave events for CallTargetNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1386
+ def visit_call_target_node(node); end
+
+ # Dispatch enter and leave events for CapturePatternNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1392
+ def visit_capture_pattern_node(node); end
+
+ # Dispatch enter and leave events for CaseMatchNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1398
+ def visit_case_match_node(node); end
+
+ # Dispatch enter and leave events for CaseNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1404
+ def visit_case_node(node); end
+
+ # Dispatch enter and leave events for ClassNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1410
+ def visit_class_node(node); end
+
+ # Dispatch enter and leave events for ClassVariableAndWriteNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1416
+ def visit_class_variable_and_write_node(node); end
+
+ # Dispatch enter and leave events for ClassVariableOperatorWriteNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1422
+ def visit_class_variable_operator_write_node(node); end
+
+ # Dispatch enter and leave events for ClassVariableOrWriteNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1428
+ def visit_class_variable_or_write_node(node); end
+
+ # Dispatch enter and leave events for ClassVariableReadNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1434
+ def visit_class_variable_read_node(node); end
+
+ # Dispatch enter and leave events for ClassVariableTargetNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1440
+ def visit_class_variable_target_node(node); end
+
+ # Dispatch enter and leave events for ClassVariableWriteNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1446
+ def visit_class_variable_write_node(node); end
+
+ # Dispatch enter and leave events for ConstantAndWriteNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1452
+ def visit_constant_and_write_node(node); end
+
+ # Dispatch enter and leave events for ConstantOperatorWriteNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1458
+ def visit_constant_operator_write_node(node); end
+
+ # Dispatch enter and leave events for ConstantOrWriteNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1464
+ def visit_constant_or_write_node(node); end
+
+ # Dispatch enter and leave events for ConstantPathAndWriteNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1470
+ def visit_constant_path_and_write_node(node); end
+
+ # Dispatch enter and leave events for ConstantPathNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1476
+ def visit_constant_path_node(node); end
+
+ # Dispatch enter and leave events for ConstantPathOperatorWriteNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1482
+ def visit_constant_path_operator_write_node(node); end
+
+ # Dispatch enter and leave events for ConstantPathOrWriteNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1488
+ def visit_constant_path_or_write_node(node); end
+
+ # Dispatch enter and leave events for ConstantPathTargetNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1494
+ def visit_constant_path_target_node(node); end
+
+ # Dispatch enter and leave events for ConstantPathWriteNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1500
+ def visit_constant_path_write_node(node); end
+
+ # Dispatch enter and leave events for ConstantReadNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1506
+ def visit_constant_read_node(node); end
+
+ # Dispatch enter and leave events for ConstantTargetNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1512
+ def visit_constant_target_node(node); end
+
+ # Dispatch enter and leave events for ConstantWriteNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1518
+ def visit_constant_write_node(node); end
+
+ # Dispatch enter and leave events for DefNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1524
+ def visit_def_node(node); end
+
+ # Dispatch enter and leave events for DefinedNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1530
+ def visit_defined_node(node); end
+
+ # Dispatch enter and leave events for ElseNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1536
+ def visit_else_node(node); end
+
+ # Dispatch enter and leave events for EmbeddedStatementsNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1542
+ def visit_embedded_statements_node(node); end
+
+ # Dispatch enter and leave events for EmbeddedVariableNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1548
+ def visit_embedded_variable_node(node); end
+
+ # Dispatch enter and leave events for EnsureNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1554
+ def visit_ensure_node(node); end
+
+ # Dispatch enter and leave events for FalseNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1560
+ def visit_false_node(node); end
+
+ # Dispatch enter and leave events for FindPatternNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1566
+ def visit_find_pattern_node(node); end
+
+ # Dispatch enter and leave events for FlipFlopNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1572
+ def visit_flip_flop_node(node); end
+
+ # Dispatch enter and leave events for FloatNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1578
+ def visit_float_node(node); end
+
+ # Dispatch enter and leave events for ForNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1584
+ def visit_for_node(node); end
+
+ # Dispatch enter and leave events for ForwardingArgumentsNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1590
+ def visit_forwarding_arguments_node(node); end
+
+ # Dispatch enter and leave events for ForwardingParameterNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1596
+ def visit_forwarding_parameter_node(node); end
+
+ # Dispatch enter and leave events for ForwardingSuperNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1602
+ def visit_forwarding_super_node(node); end
+
+ # Dispatch enter and leave events for GlobalVariableAndWriteNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1608
+ def visit_global_variable_and_write_node(node); end
+
+ # Dispatch enter and leave events for GlobalVariableOperatorWriteNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1614
+ def visit_global_variable_operator_write_node(node); end
+
+ # Dispatch enter and leave events for GlobalVariableOrWriteNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1620
+ def visit_global_variable_or_write_node(node); end
+
+ # Dispatch enter and leave events for GlobalVariableReadNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1626
+ def visit_global_variable_read_node(node); end
+
+ # Dispatch enter and leave events for GlobalVariableTargetNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1632
+ def visit_global_variable_target_node(node); end
+
+ # Dispatch enter and leave events for GlobalVariableWriteNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1638
+ def visit_global_variable_write_node(node); end
+
+ # Dispatch enter and leave events for HashNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1644
+ def visit_hash_node(node); end
+
+ # Dispatch enter and leave events for HashPatternNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1650
+ def visit_hash_pattern_node(node); end
+
+ # Dispatch enter and leave events for IfNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1656
+ def visit_if_node(node); end
+
+ # Dispatch enter and leave events for ImaginaryNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1662
+ def visit_imaginary_node(node); end
+
+ # Dispatch enter and leave events for ImplicitNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1668
+ def visit_implicit_node(node); end
+
+ # Dispatch enter and leave events for ImplicitRestNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1674
+ def visit_implicit_rest_node(node); end
+
+ # Dispatch enter and leave events for InNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1680
+ def visit_in_node(node); end
+
+ # Dispatch enter and leave events for IndexAndWriteNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1686
+ def visit_index_and_write_node(node); end
+
+ # Dispatch enter and leave events for IndexOperatorWriteNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1692
+ def visit_index_operator_write_node(node); end
+
+ # Dispatch enter and leave events for IndexOrWriteNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1698
+ def visit_index_or_write_node(node); end
+
+ # Dispatch enter and leave events for IndexTargetNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1704
+ def visit_index_target_node(node); end
+
+ # Dispatch enter and leave events for InstanceVariableAndWriteNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1710
+ def visit_instance_variable_and_write_node(node); end
+
+ # Dispatch enter and leave events for InstanceVariableOperatorWriteNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1716
+ def visit_instance_variable_operator_write_node(node); end
+
+ # Dispatch enter and leave events for InstanceVariableOrWriteNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1722
+ def visit_instance_variable_or_write_node(node); end
+
+ # Dispatch enter and leave events for InstanceVariableReadNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1728
+ def visit_instance_variable_read_node(node); end
+
+ # Dispatch enter and leave events for InstanceVariableTargetNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1734
+ def visit_instance_variable_target_node(node); end
+
+ # Dispatch enter and leave events for InstanceVariableWriteNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1740
+ def visit_instance_variable_write_node(node); end
+
+ # Dispatch enter and leave events for IntegerNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1746
+ def visit_integer_node(node); end
+
+ # Dispatch enter and leave events for InterpolatedMatchLastLineNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1752
+ def visit_interpolated_match_last_line_node(node); end
+
+ # Dispatch enter and leave events for InterpolatedRegularExpressionNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1758
+ def visit_interpolated_regular_expression_node(node); end
+
+ # Dispatch enter and leave events for InterpolatedStringNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1764
+ def visit_interpolated_string_node(node); end
+
+ # Dispatch enter and leave events for InterpolatedSymbolNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1770
+ def visit_interpolated_symbol_node(node); end
+
+ # Dispatch enter and leave events for InterpolatedXStringNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1776
+ def visit_interpolated_x_string_node(node); end
+
+ # Dispatch enter and leave events for KeywordHashNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1782
+ def visit_keyword_hash_node(node); end
+
+ # Dispatch enter and leave events for KeywordRestParameterNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1788
+ def visit_keyword_rest_parameter_node(node); end
+
+ # Dispatch enter and leave events for LambdaNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1794
+ def visit_lambda_node(node); end
+
+ # Dispatch enter and leave events for LocalVariableAndWriteNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1800
+ def visit_local_variable_and_write_node(node); end
+
+ # Dispatch enter and leave events for LocalVariableOperatorWriteNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1806
+ def visit_local_variable_operator_write_node(node); end
+
+ # Dispatch enter and leave events for LocalVariableOrWriteNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1812
+ def visit_local_variable_or_write_node(node); end
+
+ # Dispatch enter and leave events for LocalVariableReadNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1818
+ def visit_local_variable_read_node(node); end
+
+ # Dispatch enter and leave events for LocalVariableTargetNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1824
+ def visit_local_variable_target_node(node); end
+
+ # Dispatch enter and leave events for LocalVariableWriteNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1830
+ def visit_local_variable_write_node(node); end
+
+ # Dispatch enter and leave events for MatchLastLineNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1836
+ def visit_match_last_line_node(node); end
+
+ # Dispatch enter and leave events for MatchPredicateNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1842
+ def visit_match_predicate_node(node); end
+
+ # Dispatch enter and leave events for MatchRequiredNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1848
+ def visit_match_required_node(node); end
+
+ # Dispatch enter and leave events for MatchWriteNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1854
+ def visit_match_write_node(node); end
+
+ # Dispatch enter and leave events for MissingNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1860
+ def visit_missing_node(node); end
+
+ # Dispatch enter and leave events for ModuleNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1866
+ def visit_module_node(node); end
+
+ # Dispatch enter and leave events for MultiTargetNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1872
+ def visit_multi_target_node(node); end
+
+ # Dispatch enter and leave events for MultiWriteNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1878
+ def visit_multi_write_node(node); end
+
+ # Dispatch enter and leave events for NextNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1884
+ def visit_next_node(node); end
+
+ # Dispatch enter and leave events for NilNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1890
+ def visit_nil_node(node); end
+
+ # Dispatch enter and leave events for NoKeywordsParameterNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1896
+ def visit_no_keywords_parameter_node(node); end
+
+ # Dispatch enter and leave events for NumberedParametersNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1902
+ def visit_numbered_parameters_node(node); end
+
+ # Dispatch enter and leave events for NumberedReferenceReadNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1908
+ def visit_numbered_reference_read_node(node); end
+
+ # Dispatch enter and leave events for OptionalKeywordParameterNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1914
+ def visit_optional_keyword_parameter_node(node); end
+
+ # Dispatch enter and leave events for OptionalParameterNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1920
+ def visit_optional_parameter_node(node); end
+
+ # Dispatch enter and leave events for OrNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1926
+ def visit_or_node(node); end
+
+ # Dispatch enter and leave events for ParametersNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1932
+ def visit_parameters_node(node); end
+
+ # Dispatch enter and leave events for ParenthesesNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1938
+ def visit_parentheses_node(node); end
+
+ # Dispatch enter and leave events for PinnedExpressionNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1944
+ def visit_pinned_expression_node(node); end
+
+ # Dispatch enter and leave events for PinnedVariableNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1950
+ def visit_pinned_variable_node(node); end
+
+ # Dispatch enter and leave events for PostExecutionNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1956
+ def visit_post_execution_node(node); end
+
+ # Dispatch enter and leave events for PreExecutionNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1962
+ def visit_pre_execution_node(node); end
+
+ # Dispatch enter and leave events for ProgramNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1968
+ def visit_program_node(node); end
+
+ # Dispatch enter and leave events for RangeNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1974
+ def visit_range_node(node); end
+
+ # Dispatch enter and leave events for RationalNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1980
+ def visit_rational_node(node); end
+
+ # Dispatch enter and leave events for RedoNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1986
+ def visit_redo_node(node); end
+
+ # Dispatch enter and leave events for RegularExpressionNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1992
+ def visit_regular_expression_node(node); end
+
+ # Dispatch enter and leave events for RequiredKeywordParameterNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#1998
+ def visit_required_keyword_parameter_node(node); end
+
+ # Dispatch enter and leave events for RequiredParameterNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#2004
+ def visit_required_parameter_node(node); end
+
+ # Dispatch enter and leave events for RescueModifierNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#2010
+ def visit_rescue_modifier_node(node); end
+
+ # Dispatch enter and leave events for RescueNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#2016
+ def visit_rescue_node(node); end
+
+ # Dispatch enter and leave events for RestParameterNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#2022
+ def visit_rest_parameter_node(node); end
+
+ # Dispatch enter and leave events for RetryNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#2028
+ def visit_retry_node(node); end
+
+ # Dispatch enter and leave events for ReturnNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#2034
+ def visit_return_node(node); end
+
+ # Dispatch enter and leave events for SelfNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#2040
+ def visit_self_node(node); end
+
+ # Dispatch enter and leave events for SingletonClassNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#2046
+ def visit_singleton_class_node(node); end
+
+ # Dispatch enter and leave events for SourceEncodingNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#2052
+ def visit_source_encoding_node(node); end
+
+ # Dispatch enter and leave events for SourceFileNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#2058
+ def visit_source_file_node(node); end
+
+ # Dispatch enter and leave events for SourceLineNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#2064
+ def visit_source_line_node(node); end
+
+ # Dispatch enter and leave events for SplatNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#2070
+ def visit_splat_node(node); end
+
+ # Dispatch enter and leave events for StatementsNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#2076
+ def visit_statements_node(node); end
+
+ # Dispatch enter and leave events for StringNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#2082
+ def visit_string_node(node); end
+
+ # Dispatch enter and leave events for SuperNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#2088
+ def visit_super_node(node); end
+
+ # Dispatch enter and leave events for SymbolNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#2094
+ def visit_symbol_node(node); end
+
+ # Dispatch enter and leave events for TrueNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#2100
+ def visit_true_node(node); end
+
+ # Dispatch enter and leave events for UndefNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#2106
+ def visit_undef_node(node); end
+
+ # Dispatch enter and leave events for UnlessNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#2112
+ def visit_unless_node(node); end
+
+ # Dispatch enter and leave events for UntilNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#2118
+ def visit_until_node(node); end
+
+ # Dispatch enter and leave events for WhenNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#2124
+ def visit_when_node(node); end
+
+ # Dispatch enter and leave events for WhileNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#2130
+ def visit_while_node(node); end
+
+ # Dispatch enter and leave events for XStringNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#2136
+ def visit_x_string_node(node); end
+
+ # Dispatch enter and leave events for YieldNode nodes.
+ #
+ # source://prism//lib/prism/dispatcher.rb#2142
+ def visit_yield_node(node); end
+end
+
+# This visitor provides the ability to call Node#to_dot, which converts a
+# subtree into a graphviz dot graph.
+#
+# source://prism//lib/prism/dot_visitor.rb#13
+class Prism::DotVisitor < ::Prism::Visitor
+ # Initialize a new dot visitor.
+ #
+ # @return [DotVisitor] a new instance of DotVisitor
+ #
+ # source://prism//lib/prism/dot_visitor.rb#105
+ def initialize; end
+
+ # The digraph that is being built.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#102
+ def digraph; end
+
+ # Convert this visitor into a graphviz dot graph string.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#110
+ def to_dot; end
+
+ # Visit a AliasGlobalVariableNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#115
+ def visit_alias_global_variable_node(node); end
+
+ # Visit a AliasMethodNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#140
+ def visit_alias_method_node(node); end
+
+ # Visit a AlternationPatternNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#165
+ def visit_alternation_pattern_node(node); end
+
+ # Visit a AndNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#190
+ def visit_and_node(node); end
+
+ # Visit a ArgumentsNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#215
+ def visit_arguments_node(node); end
+
+ # Visit a ArrayNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#245
+ def visit_array_node(node); end
+
+ # Visit a ArrayPatternNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#285
+ def visit_array_pattern_node(node); end
+
+ # Visit a AssocNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#347
+ def visit_assoc_node(node); end
+
+ # Visit a AssocSplatNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#374
+ def visit_assoc_splat_node(node); end
+
+ # Visit a BackReferenceReadNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#397
+ def visit_back_reference_read_node(node); end
+
+ # Visit a BeginNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#414
+ def visit_begin_node(node); end
+
+ # Visit a BlockArgumentNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#462
+ def visit_block_argument_node(node); end
+
+ # Visit a BlockLocalVariableNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#485
+ def visit_block_local_variable_node(node); end
+
+ # Visit a BlockNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#505
+ def visit_block_node(node); end
+
+ # Visit a BlockParameterNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#540
+ def visit_block_parameter_node(node); end
+
+ # Visit a BlockParametersNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#568
+ def visit_block_parameters_node(node); end
+
+ # Visit a BreakNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#611
+ def visit_break_node(node); end
+
+ # Visit a CallAndWriteNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#634
+ def visit_call_and_write_node(node); end
+
+ # Visit a CallNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#680
+ def visit_call_node(node); end
+
+ # Visit a CallOperatorWriteNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#738
+ def visit_call_operator_write_node(node); end
+
+ # Visit a CallOrWriteNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#787
+ def visit_call_or_write_node(node); end
+
+ # Visit a CallTargetNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#833
+ def visit_call_target_node(node); end
+
+ # Visit a CapturePatternNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#863
+ def visit_capture_pattern_node(node); end
+
+ # Visit a CaseMatchNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#888
+ def visit_case_match_node(node); end
+
+ # Visit a CaseNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#933
+ def visit_case_node(node); end
+
+ # Visit a ClassNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#978
+ def visit_class_node(node); end
+
+ # Visit a ClassVariableAndWriteNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#1025
+ def visit_class_variable_and_write_node(node); end
+
+ # Visit a ClassVariableOperatorWriteNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#1052
+ def visit_class_variable_operator_write_node(node); end
+
+ # Visit a ClassVariableOrWriteNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#1082
+ def visit_class_variable_or_write_node(node); end
+
+ # Visit a ClassVariableReadNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#1109
+ def visit_class_variable_read_node(node); end
+
+ # Visit a ClassVariableTargetNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#1126
+ def visit_class_variable_target_node(node); end
+
+ # Visit a ClassVariableWriteNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#1143
+ def visit_class_variable_write_node(node); end
+
+ # Visit a ConstantAndWriteNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#1172
+ def visit_constant_and_write_node(node); end
+
+ # Visit a ConstantOperatorWriteNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#1199
+ def visit_constant_operator_write_node(node); end
+
+ # Visit a ConstantOrWriteNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#1229
+ def visit_constant_or_write_node(node); end
+
+ # Visit a ConstantPathAndWriteNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#1256
+ def visit_constant_path_and_write_node(node); end
+
+ # Visit a ConstantPathNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#1281
+ def visit_constant_path_node(node); end
+
+ # Visit a ConstantPathOperatorWriteNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#1308
+ def visit_constant_path_operator_write_node(node); end
+
+ # Visit a ConstantPathOrWriteNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#1336
+ def visit_constant_path_or_write_node(node); end
+
+ # Visit a ConstantPathTargetNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#1361
+ def visit_constant_path_target_node(node); end
+
+ # Visit a ConstantPathWriteNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#1388
+ def visit_constant_path_write_node(node); end
+
+ # Visit a ConstantReadNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#1413
+ def visit_constant_read_node(node); end
+
+ # Visit a ConstantTargetNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#1430
+ def visit_constant_target_node(node); end
+
+ # Visit a ConstantWriteNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#1447
+ def visit_constant_write_node(node); end
+
+ # Visit a DefNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#1474
+ def visit_def_node(node); end
+
+ # Visit a DefinedNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#1543
+ def visit_defined_node(node); end
+
+ # Visit a ElseNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#1574
+ def visit_else_node(node); end
+
+ # Visit a EmbeddedStatementsNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#1602
+ def visit_embedded_statements_node(node); end
+
+ # Visit a EmbeddedVariableNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#1628
+ def visit_embedded_variable_node(node); end
+
+ # Visit a EnsureNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#1649
+ def visit_ensure_node(node); end
+
+ # Visit a FalseNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#1675
+ def visit_false_node(node); end
+
+ # Visit a FindPatternNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#1689
+ def visit_find_pattern_node(node); end
+
+ # Visit a FlipFlopNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#1740
+ def visit_flip_flop_node(node); end
+
+ # Visit a FloatNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#1772
+ def visit_float_node(node); end
+
+ # Visit a ForNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#1786
+ def visit_for_node(node); end
+
+ # Visit a ForwardingArgumentsNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#1828
+ def visit_forwarding_arguments_node(node); end
+
+ # Visit a ForwardingParameterNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#1842
+ def visit_forwarding_parameter_node(node); end
+
+ # Visit a ForwardingSuperNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#1856
+ def visit_forwarding_super_node(node); end
+
+ # Visit a GlobalVariableAndWriteNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#1876
+ def visit_global_variable_and_write_node(node); end
+
+ # Visit a GlobalVariableOperatorWriteNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#1903
+ def visit_global_variable_operator_write_node(node); end
+
+ # Visit a GlobalVariableOrWriteNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#1933
+ def visit_global_variable_or_write_node(node); end
+
+ # Visit a GlobalVariableReadNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#1960
+ def visit_global_variable_read_node(node); end
+
+ # Visit a GlobalVariableTargetNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#1977
+ def visit_global_variable_target_node(node); end
+
+ # Visit a GlobalVariableWriteNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#1994
+ def visit_global_variable_write_node(node); end
+
+ # Visit a HashNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#2021
+ def visit_hash_node(node); end
+
+ # Visit a HashPatternNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#2054
+ def visit_hash_pattern_node(node); end
+
+ # Visit a IfNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#2103
+ def visit_if_node(node); end
+
+ # Visit a ImaginaryNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#2148
+ def visit_imaginary_node(node); end
+
+ # Visit a ImplicitNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#2166
+ def visit_implicit_node(node); end
+
+ # Visit a ImplicitRestNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#2184
+ def visit_implicit_rest_node(node); end
+
+ # Visit a InNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#2198
+ def visit_in_node(node); end
+
+ # Visit a IndexAndWriteNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#2230
+ def visit_index_and_write_node(node); end
+
+ # Visit a IndexOperatorWriteNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#2283
+ def visit_index_operator_write_node(node); end
+
+ # Visit a IndexOrWriteNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#2339
+ def visit_index_or_write_node(node); end
+
+ # Visit a IndexTargetNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#2392
+ def visit_index_target_node(node); end
+
+ # Visit a InstanceVariableAndWriteNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#2431
+ def visit_instance_variable_and_write_node(node); end
+
+ # Visit a InstanceVariableOperatorWriteNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#2458
+ def visit_instance_variable_operator_write_node(node); end
+
+ # Visit a InstanceVariableOrWriteNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#2488
+ def visit_instance_variable_or_write_node(node); end
+
+ # Visit a InstanceVariableReadNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#2515
+ def visit_instance_variable_read_node(node); end
+
+ # Visit a InstanceVariableTargetNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#2532
+ def visit_instance_variable_target_node(node); end
+
+ # Visit a InstanceVariableWriteNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#2549
+ def visit_instance_variable_write_node(node); end
+
+ # Visit a IntegerNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#2576
+ def visit_integer_node(node); end
+
+ # Visit a InterpolatedMatchLastLineNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#2593
+ def visit_interpolated_match_last_line_node(node); end
+
+ # Visit a InterpolatedRegularExpressionNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#2629
+ def visit_interpolated_regular_expression_node(node); end
+
+ # Visit a InterpolatedStringNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#2665
+ def visit_interpolated_string_node(node); end
+
+ # Visit a InterpolatedSymbolNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#2702
+ def visit_interpolated_symbol_node(node); end
+
+ # Visit a InterpolatedXStringNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#2739
+ def visit_interpolated_x_string_node(node); end
+
+ # Visit a KeywordHashNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#2772
+ def visit_keyword_hash_node(node); end
+
+ # Visit a KeywordRestParameterNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#2802
+ def visit_keyword_rest_parameter_node(node); end
+
+ # Visit a LambdaNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#2830
+ def visit_lambda_node(node); end
+
+ # Visit a LocalVariableAndWriteNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#2868
+ def visit_local_variable_and_write_node(node); end
+
+ # Visit a LocalVariableOperatorWriteNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#2898
+ def visit_local_variable_operator_write_node(node); end
+
+ # Visit a LocalVariableOrWriteNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#2931
+ def visit_local_variable_or_write_node(node); end
+
+ # Visit a LocalVariableReadNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#2961
+ def visit_local_variable_read_node(node); end
+
+ # Visit a LocalVariableTargetNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#2981
+ def visit_local_variable_target_node(node); end
+
+ # Visit a LocalVariableWriteNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#3001
+ def visit_local_variable_write_node(node); end
+
+ # Visit a MatchLastLineNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#3031
+ def visit_match_last_line_node(node); end
+
+ # Visit a MatchPredicateNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#3060
+ def visit_match_predicate_node(node); end
+
+ # Visit a MatchRequiredNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#3085
+ def visit_match_required_node(node); end
+
+ # Visit a MatchWriteNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#3110
+ def visit_match_write_node(node); end
+
+ # Visit a MissingNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#3141
+ def visit_missing_node(node); end
+
+ # Visit a ModuleNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#3155
+ def visit_module_node(node); end
+
+ # Visit a MultiTargetNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#3191
+ def visit_multi_target_node(node); end
+
+ # Visit a MultiWriteNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#3247
+ def visit_multi_write_node(node); end
+
+ # Visit a NextNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#3310
+ def visit_next_node(node); end
+
+ # Visit a NilNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#3333
+ def visit_nil_node(node); end
+
+ # Visit a NoKeywordsParameterNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#3347
+ def visit_no_keywords_parameter_node(node); end
+
+ # Visit a NumberedParametersNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#3367
+ def visit_numbered_parameters_node(node); end
+
+ # Visit a NumberedReferenceReadNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#3384
+ def visit_numbered_reference_read_node(node); end
+
+ # Visit a OptionalKeywordParameterNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#3401
+ def visit_optional_keyword_parameter_node(node); end
+
+ # Visit a OptionalParameterNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#3428
+ def visit_optional_parameter_node(node); end
+
+ # Visit a OrNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#3458
+ def visit_or_node(node); end
+
+ # Visit a ParametersNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#3483
+ def visit_parameters_node(node); end
+
+ # Visit a ParenthesesNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#3567
+ def visit_parentheses_node(node); end
+
+ # Visit a PinnedExpressionNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#3593
+ def visit_pinned_expression_node(node); end
+
+ # Visit a PinnedVariableNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#3620
+ def visit_pinned_variable_node(node); end
+
+ # Visit a PostExecutionNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#3641
+ def visit_post_execution_node(node); end
+
+ # Visit a PreExecutionNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#3670
+ def visit_pre_execution_node(node); end
+
+ # Visit a ProgramNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#3699
+ def visit_program_node(node); end
+
+ # Visit a RangeNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#3720
+ def visit_range_node(node); end
+
+ # Visit a RationalNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#3752
+ def visit_rational_node(node); end
+
+ # Visit a RedoNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#3770
+ def visit_redo_node(node); end
+
+ # Visit a RegularExpressionNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#3784
+ def visit_regular_expression_node(node); end
+
+ # Visit a RequiredKeywordParameterNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#3813
+ def visit_required_keyword_parameter_node(node); end
+
+ # Visit a RequiredParameterNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#3836
+ def visit_required_parameter_node(node); end
+
+ # Visit a RescueModifierNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#3856
+ def visit_rescue_modifier_node(node); end
+
+ # Visit a RescueNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#3881
+ def visit_rescue_node(node); end
+
+ # Visit a RestParameterNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#3934
+ def visit_rest_parameter_node(node); end
+
+ # Visit a RetryNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#3962
+ def visit_retry_node(node); end
+
+ # Visit a ReturnNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#3976
+ def visit_return_node(node); end
+
+ # Visit a SelfNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#3999
+ def visit_self_node(node); end
+
+ # Visit a SingletonClassNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#4013
+ def visit_singleton_class_node(node); end
+
+ # Visit a SourceEncodingNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#4049
+ def visit_source_encoding_node(node); end
+
+ # Visit a SourceFileNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#4063
+ def visit_source_file_node(node); end
+
+ # Visit a SourceLineNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#4080
+ def visit_source_line_node(node); end
+
+ # Visit a SplatNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#4094
+ def visit_splat_node(node); end
+
+ # Visit a StatementsNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#4117
+ def visit_statements_node(node); end
+
+ # Visit a StringNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#4144
+ def visit_string_node(node); end
+
+ # Visit a SuperNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#4177
+ def visit_super_node(node); end
+
+ # Visit a SymbolNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#4216
+ def visit_symbol_node(node); end
+
+ # Visit a TrueNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#4251
+ def visit_true_node(node); end
+
+ # Visit a UndefNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#4265
+ def visit_undef_node(node); end
+
+ # Visit a UnlessNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#4295
+ def visit_unless_node(node); end
+
+ # Visit a UntilNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#4338
+ def visit_until_node(node); end
+
+ # Visit a WhenNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#4373
+ def visit_when_node(node); end
+
+ # Visit a WhileNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#4409
+ def visit_while_node(node); end
+
+ # Visit a XStringNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#4444
+ def visit_x_string_node(node); end
+
+ # Visit a YieldNode node.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#4473
+ def visit_yield_node(node); end
+
+ private
+
+ # Inspect a node that has arguments_node_flags flags to display the flags as a
+ # comma-separated list.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#4519
+ 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#4527
+ 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#4535
+ 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#4546
+ 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#4555
+ def integer_base_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#4566
+ 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#4513
+ 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#4574
+ def loop_flags_inspect(node); end
+
+ # Generate a unique node ID for a node throughout the digraph.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#4508
+ 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#4582
+ def parameter_flags_inspect(node); end
+
+ # Inspect a node that has range_flags flags to display the flags as a
+ # comma-separated list.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#4590
+ 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#4598
+ def regular_expression_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#4616
+ 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#4626
+ def symbol_flags_inspect(node); end
+end
+
+# source://prism//lib/prism/dot_visitor.rb#58
+class Prism::DotVisitor::Digraph
+ # @return [Digraph] a new instance of Digraph
+ #
+ # source://prism//lib/prism/dot_visitor.rb#61
+ def initialize; end
+
+ # source://prism//lib/prism/dot_visitor.rb#75
+ def edge(value); end
+
+ # Returns the value of attribute edges.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#59
+ def edges; end
+
+ # source://prism//lib/prism/dot_visitor.rb#67
+ def node(value); end
+
+ # Returns the value of attribute nodes.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#59
+ def nodes; end
+
+ # source://prism//lib/prism/dot_visitor.rb#79
+ def to_dot; end
+
+ # source://prism//lib/prism/dot_visitor.rb#71
+ def waypoint(value); end
+
+ # Returns the value of attribute waypoints.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#59
+ def waypoints; end
+end
+
+# source://prism//lib/prism/dot_visitor.rb#14
+class Prism::DotVisitor::Field
+ # @return [Field] a new instance of Field
+ #
+ # source://prism//lib/prism/dot_visitor.rb#17
+ def initialize(name, value, port); end
+
+ # Returns the value of attribute name.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#15
+ def name; end
+
+ # Returns the value of attribute port.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#15
+ def port; end
+
+ # source://prism//lib/prism/dot_visitor.rb#23
+ def to_dot; end
+
+ # Returns the value of attribute value.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#15
+ def value; end
+end
+
+# source://prism//lib/prism/dot_visitor.rb#32
+class Prism::DotVisitor::Table
+ # @return [Table] a new instance of Table
+ #
+ # source://prism//lib/prism/dot_visitor.rb#35
+ def initialize(name); end
+
+ # source://prism//lib/prism/dot_visitor.rb#40
+ def field(name, value = T.unsafe(nil), port: T.unsafe(nil)); end
+
+ # Returns the value of attribute fields.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#33
+ def fields; end
+
+ # Returns the value of attribute name.
+ #
+ # source://prism//lib/prism/dot_visitor.rb#33
+ def name; end
+
+ # source://prism//lib/prism/dot_visitor.rb#44
+ def to_dot; end
+end
+
+# Represents an `else` clause in a `case`, `if`, or `unless` statement.
+#
+# if a then b else c end
+# ^^^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#6290
+class Prism::ElseNode < ::Prism::Node
+ # def initialize: (Location else_keyword_loc, StatementsNode? statements, Location? end_keyword_loc, Location location) -> void
+ #
+ # @return [ElseNode] a new instance of ElseNode
+ #
+ # source://prism//lib/prism/node.rb#6292
+ def initialize(source, else_keyword_loc, statements, end_keyword_loc, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#6302
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#6307
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#6319
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#6312
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> ElseNode
+ #
+ # source://prism//lib/prism/node.rb#6324
+ sig { params(params: T.untyped).returns(Prism::ElseNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#6307
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { else_keyword_loc: Location, statements: StatementsNode?, end_keyword_loc: Location?, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#6338
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def else_keyword: () -> String
+ #
+ # source://prism//lib/prism/node.rb#6365
+ sig { returns(String) }
+ def else_keyword; end
+
+ # attr_reader else_keyword_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#6343
+ sig { returns(Prism::Location) }
+ def else_keyword_loc; end
+
+ # def end_keyword: () -> String?
+ #
+ # source://prism//lib/prism/node.rb#6370
+ sig { returns(T.nilable(String)) }
+ def end_keyword; end
+
+ # attr_reader end_keyword_loc: Location?
+ #
+ # source://prism//lib/prism/node.rb#6352
+ sig { returns(T.nilable(Prism::Location)) }
+ def end_keyword_loc; end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#6375
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # attr_reader statements: StatementsNode?
+ #
+ # source://prism//lib/prism/node.rb#6349
+ sig { returns(T.nilable(Prism::StatementsNode)) }
+ def statements; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#6402
+ def type; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#6412
+ def type; end
+ end
+end
+
+# EmbDocComment objects correspond to comments that are surrounded by =begin
+# and =end.
+#
+# source://prism//lib/prism/parse_result.rb#290
+class Prism::EmbDocComment < ::Prism::Comment
+ # Returns a string representation of this comment.
+ #
+ # source://prism//lib/prism/parse_result.rb#297
+ def inspect; end
+
+ # This can only be true for inline comments.
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/parse_result.rb#292
+ def trailing?; end
+end
+
+# Represents an interpolated set of statements.
+#
+# "foo #{bar}"
+# ^^^^^^
+#
+# source://prism//lib/prism/node.rb#6421
+class Prism::EmbeddedStatementsNode < ::Prism::Node
+ # def initialize: (Location opening_loc, StatementsNode? statements, Location closing_loc, Location location) -> void
+ #
+ # @return [EmbeddedStatementsNode] a new instance of EmbeddedStatementsNode
+ #
+ # source://prism//lib/prism/node.rb#6423
+ def initialize(source, opening_loc, statements, closing_loc, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#6433
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#6438
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def closing: () -> String
+ #
+ # source://prism//lib/prism/node.rb#6495
+ sig { returns(String) }
+ def closing; end
+
+ # attr_reader closing_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#6483
+ sig { returns(Prism::Location) }
+ def closing_loc; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#6450
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#6443
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> EmbeddedStatementsNode
+ #
+ # source://prism//lib/prism/node.rb#6455
+ sig { params(params: T.untyped).returns(Prism::EmbeddedStatementsNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#6438
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { opening_loc: Location, statements: StatementsNode?, closing_loc: Location, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#6469
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#6500
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # def opening: () -> String
+ #
+ # source://prism//lib/prism/node.rb#6490
+ sig { returns(String) }
+ def opening; end
+
+ # attr_reader opening_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#6474
+ sig { returns(Prism::Location) }
+ def opening_loc; end
+
+ # attr_reader statements: StatementsNode?
+ #
+ # source://prism//lib/prism/node.rb#6480
+ sig { returns(T.nilable(Prism::StatementsNode)) }
+ def statements; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#6527
+ def type; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#6537
+ def type; end
+ end
+end
+
+# Represents an interpolated variable.
+#
+# "foo #@bar"
+# ^^^^^
+#
+# source://prism//lib/prism/node.rb#6546
+class Prism::EmbeddedVariableNode < ::Prism::Node
+ # def initialize: (Location operator_loc, Node variable, Location location) -> void
+ #
+ # @return [EmbeddedVariableNode] a new instance of EmbeddedVariableNode
+ #
+ # source://prism//lib/prism/node.rb#6548
+ def initialize(source, operator_loc, variable, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#6557
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#6562
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#6572
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#6567
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> EmbeddedVariableNode
+ #
+ # source://prism//lib/prism/node.rb#6577
+ sig { params(params: T.untyped).returns(Prism::EmbeddedVariableNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#6562
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { operator_loc: Location, variable: Node, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#6590
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#6610
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # def operator: () -> String
+ #
+ # source://prism//lib/prism/node.rb#6605
+ sig { returns(String) }
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#6595
+ sig { returns(Prism::Location) }
+ def operator_loc; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#6632
+ def type; end
+
+ # attr_reader variable: Node
+ #
+ # source://prism//lib/prism/node.rb#6601
+ sig { returns(Prism::Node) }
+ def variable; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#6642
+ def type; end
+ end
+end
+
+# Flags for nodes that have unescaped content.
+#
+# source://prism//lib/prism/node.rb#19268
+module Prism::EncodingFlags; end
+
+# internal bytes forced the encoding to binary
+#
+# source://prism//lib/prism/node.rb#19273
+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#19270
+Prism::EncodingFlags::FORCED_UTF8_ENCODING = T.let(T.unsafe(nil), Integer)
+
+# Represents an `ensure` clause in a `begin` statement.
+#
+# begin
+# foo
+# ensure
+# ^^^^^^
+# bar
+# end
+#
+# source://prism//lib/prism/node.rb#6655
+class Prism::EnsureNode < ::Prism::Node
+ # def initialize: (Location ensure_keyword_loc, StatementsNode? statements, Location end_keyword_loc, Location location) -> void
+ #
+ # @return [EnsureNode] a new instance of EnsureNode
+ #
+ # source://prism//lib/prism/node.rb#6657
+ def initialize(source, ensure_keyword_loc, statements, end_keyword_loc, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#6667
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#6672
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#6684
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#6677
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> EnsureNode
+ #
+ # source://prism//lib/prism/node.rb#6689
+ sig { params(params: T.untyped).returns(Prism::EnsureNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#6672
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { ensure_keyword_loc: Location, statements: StatementsNode?, end_keyword_loc: Location, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#6703
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def end_keyword: () -> String
+ #
+ # source://prism//lib/prism/node.rb#6729
+ sig { returns(String) }
+ def end_keyword; end
+
+ # attr_reader end_keyword_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#6717
+ sig { returns(Prism::Location) }
+ def end_keyword_loc; end
+
+ # def ensure_keyword: () -> String
+ #
+ # source://prism//lib/prism/node.rb#6724
+ sig { returns(String) }
+ def ensure_keyword; end
+
+ # attr_reader ensure_keyword_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#6708
+ sig { returns(Prism::Location) }
+ def ensure_keyword_loc; end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#6734
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # attr_reader statements: StatementsNode?
+ #
+ # source://prism//lib/prism/node.rb#6714
+ sig { returns(T.nilable(Prism::StatementsNode)) }
+ def statements; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#6761
+ def type; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#6771
+ def type; end
+ end
+end
+
+# Represents the use of the literal `false` keyword.
+#
+# false
+# ^^^^^
+#
+# source://prism//lib/prism/node.rb#6780
+class Prism::FalseNode < ::Prism::Node
+ # def initialize: (Location location) -> void
+ #
+ # @return [FalseNode] a new instance of FalseNode
+ #
+ # source://prism//lib/prism/node.rb#6782
+ def initialize(source, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#6789
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#6794
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#6804
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#6799
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> FalseNode
+ #
+ # source://prism//lib/prism/node.rb#6809
+ sig { params(params: T.untyped).returns(Prism::FalseNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#6794
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { location: Location }
+ #
+ # source://prism//lib/prism/node.rb#6820
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#6826
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#6845
+ def type; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#6855
+ def type; end
+ end
+end
+
+# Represents a find pattern in pattern matching.
+#
+# foo in *bar, baz, *qux
+# ^^^^^^^^^^^^^^^
+#
+# foo in [*bar, baz, *qux]
+# ^^^^^^^^^^^^^^^^^
+#
+# foo in Foo(*bar, baz, *qux)
+# ^^^^^^^^^^^^^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#6870
+class Prism::FindPatternNode < ::Prism::Node
+ # def initialize: (Node? constant, Node left, Array[Node] requireds, Node right, Location? opening_loc, Location? closing_loc, Location location) -> void
+ #
+ # @return [FindPatternNode] a new instance of FindPatternNode
+ #
+ # source://prism//lib/prism/node.rb#6872
+ def initialize(source, constant, left, requireds, right, opening_loc, closing_loc, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#6885
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#6890
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def closing: () -> String?
+ #
+ # source://prism//lib/prism/node.rb#6974
+ sig { returns(T.nilable(String)) }
+ def closing; end
+
+ # attr_reader closing_loc: Location?
+ #
+ # source://prism//lib/prism/node.rb#6956
+ sig { returns(T.nilable(Prism::Location)) }
+ def closing_loc; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#6905
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#6895
+ def compact_child_nodes; end
+
+ # attr_reader constant: Node?
+ #
+ # source://prism//lib/prism/node.rb#6932
+ sig { returns(T.nilable(Prism::Node)) }
+ def constant; end
+
+ # def copy: (**params) -> FindPatternNode
+ #
+ # source://prism//lib/prism/node.rb#6910
+ sig { params(params: T.untyped).returns(Prism::FindPatternNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#6890
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { constant: Node?, left: Node, requireds: Array[Node], right: Node, opening_loc: Location?, closing_loc: Location?, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#6927
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#6979
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # attr_reader left: Node
+ #
+ # source://prism//lib/prism/node.rb#6935
+ sig { returns(Prism::Node) }
+ def left; end
+
+ # def opening: () -> String?
+ #
+ # source://prism//lib/prism/node.rb#6969
+ sig { returns(T.nilable(String)) }
+ def opening; end
+
+ # attr_reader opening_loc: Location?
+ #
+ # source://prism//lib/prism/node.rb#6944
+ sig { returns(T.nilable(Prism::Location)) }
+ def opening_loc; end
+
+ # attr_reader requireds: Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#6938
+ sig { returns(T::Array[Prism::Node]) }
+ def requireds; end
+
+ # attr_reader right: Node
+ #
+ # source://prism//lib/prism/node.rb#6941
+ sig { returns(Prism::Node) }
+ def right; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#7011
+ def type; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#7021
+ def type; end
+ end
+end
+
+# Represents the use of the `..` or `...` operators to create flip flops.
+#
+# baz if foo .. bar
+# ^^^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#7030
+class Prism::FlipFlopNode < ::Prism::Node
+ # def initialize: (Integer flags, Node? left, Node? right, Location operator_loc, Location location) -> void
+ #
+ # @return [FlipFlopNode] a new instance of FlipFlopNode
+ #
+ # source://prism//lib/prism/node.rb#7032
+ def initialize(source, flags, left, right, operator_loc, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#7043
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#7048
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#7061
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#7053
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> FlipFlopNode
+ #
+ # source://prism//lib/prism/node.rb#7066
+ sig { params(params: T.untyped).returns(Prism::FlipFlopNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#7048
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, left: Node?, right: Node?, operator_loc: Location, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#7081
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def exclude_end?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#7103
+ sig { returns(T::Boolean) }
+ def exclude_end?; end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#7113
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # attr_reader left: Node?
+ #
+ # source://prism//lib/prism/node.rb#7090
+ sig { returns(T.nilable(Prism::Node)) }
+ def left; end
+
+ # def operator: () -> String
+ #
+ # source://prism//lib/prism/node.rb#7108
+ sig { returns(String) }
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#7096
+ sig { returns(Prism::Location) }
+ def operator_loc; end
+
+ # attr_reader right: Node?
+ #
+ # source://prism//lib/prism/node.rb#7093
+ sig { returns(T.nilable(Prism::Node)) }
+ def right; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#7147
+ def type; end
+
+ private
+
+ # private attr_reader flags: Integer
+ #
+ # source://prism//lib/prism/node.rb#7086
+ sig { returns(Integer) }
+ def flags; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#7157
+ def type; end
+ end
+end
+
+# Represents a floating point number literal.
+#
+# 1.0
+# ^^^
+#
+# source://prism//lib/prism/node.rb#7166
+class Prism::FloatNode < ::Prism::Node
+ # def initialize: (Location location) -> void
+ #
+ # @return [FloatNode] a new instance of FloatNode
+ #
+ # source://prism//lib/prism/node.rb#7168
+ def initialize(source, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#7175
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#7180
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#7190
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#7185
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> FloatNode
+ #
+ # source://prism//lib/prism/node.rb#7195
+ sig { params(params: T.untyped).returns(Prism::FloatNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#7180
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { location: Location }
+ #
+ # source://prism//lib/prism/node.rb#7206
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#7212
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#7231
+ def type; end
+
+ # Returns the value of the node as a Ruby Float.
+ #
+ # source://prism//lib/prism/node_ext.rb#62
+ def value; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#7241
+ def type; end
+ end
+end
+
+# Represents the use of the `for` keyword.
+#
+# for i in a end
+# ^^^^^^^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#7250
+class Prism::ForNode < ::Prism::Node
+ # def initialize: (Node index, Node collection, StatementsNode? statements, Location for_keyword_loc, Location in_keyword_loc, Location? do_keyword_loc, Location end_keyword_loc, Location location) -> void
+ #
+ # @return [ForNode] a new instance of ForNode
+ #
+ # source://prism//lib/prism/node.rb#7252
+ def initialize(source, index, collection, statements, for_keyword_loc, in_keyword_loc, do_keyword_loc, end_keyword_loc, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#7266
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#7271
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # attr_reader collection: Node
+ #
+ # source://prism//lib/prism/node.rb#7316
+ sig { returns(Prism::Node) }
+ def collection; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#7285
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#7276
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> ForNode
+ #
+ # source://prism//lib/prism/node.rb#7290
+ sig { params(params: T.untyped).returns(Prism::ForNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#7271
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { index: Node, collection: Node, statements: StatementsNode?, for_keyword_loc: Location, in_keyword_loc: Location, do_keyword_loc: Location?, end_keyword_loc: Location, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#7308
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def do_keyword: () -> String?
+ #
+ # source://prism//lib/prism/node.rb#7363
+ sig { returns(T.nilable(String)) }
+ def do_keyword; end
+
+ # attr_reader do_keyword_loc: Location?
+ #
+ # source://prism//lib/prism/node.rb#7334
+ sig { returns(T.nilable(Prism::Location)) }
+ def do_keyword_loc; end
+
+ # def end_keyword: () -> String
+ #
+ # source://prism//lib/prism/node.rb#7368
+ sig { returns(String) }
+ def end_keyword; end
+
+ # attr_reader end_keyword_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#7346
+ sig { returns(Prism::Location) }
+ def end_keyword_loc; end
+
+ # def for_keyword: () -> String
+ #
+ # source://prism//lib/prism/node.rb#7353
+ sig { returns(String) }
+ def for_keyword; end
+
+ # attr_reader for_keyword_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#7322
+ sig { returns(Prism::Location) }
+ def for_keyword_loc; end
+
+ # def in_keyword: () -> String
+ #
+ # source://prism//lib/prism/node.rb#7358
+ sig { returns(String) }
+ def in_keyword; end
+
+ # attr_reader in_keyword_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#7328
+ sig { returns(Prism::Location) }
+ def in_keyword_loc; end
+
+ # attr_reader index: Node
+ #
+ # source://prism//lib/prism/node.rb#7313
+ sig { returns(Prism::Node) }
+ def index; end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#7373
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # attr_reader statements: StatementsNode?
+ #
+ # source://prism//lib/prism/node.rb#7319
+ sig { returns(T.nilable(Prism::StatementsNode)) }
+ def statements; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#7406
+ def type; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#7416
+ def type; end
+ end
+end
+
+# Represents forwarding all arguments to this method to another method.
+#
+# def foo(...)
+# bar(...)
+# ^^^
+# end
+#
+# source://prism//lib/prism/node.rb#7427
+class Prism::ForwardingArgumentsNode < ::Prism::Node
+ # def initialize: (Location location) -> void
+ #
+ # @return [ForwardingArgumentsNode] a new instance of ForwardingArgumentsNode
+ #
+ # source://prism//lib/prism/node.rb#7429
+ def initialize(source, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#7436
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#7441
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#7451
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#7446
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> ForwardingArgumentsNode
+ #
+ # source://prism//lib/prism/node.rb#7456
+ sig { params(params: T.untyped).returns(Prism::ForwardingArgumentsNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#7441
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { location: Location }
+ #
+ # source://prism//lib/prism/node.rb#7467
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#7473
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#7492
+ def type; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#7502
+ def type; end
+ end
+end
+
+# Represents the use of the forwarding parameter in a method, block, or lambda declaration.
+#
+# def foo(...)
+# ^^^
+# end
+#
+# source://prism//lib/prism/node.rb#7512
+class Prism::ForwardingParameterNode < ::Prism::Node
+ # def initialize: (Location location) -> void
+ #
+ # @return [ForwardingParameterNode] a new instance of ForwardingParameterNode
+ #
+ # source://prism//lib/prism/node.rb#7514
+ def initialize(source, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#7521
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#7526
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#7536
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#7531
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> ForwardingParameterNode
+ #
+ # source://prism//lib/prism/node.rb#7541
+ sig { params(params: T.untyped).returns(Prism::ForwardingParameterNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#7526
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { location: Location }
+ #
+ # source://prism//lib/prism/node.rb#7552
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#7558
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#7577
+ def type; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#7587
+ def type; end
+ end
+end
+
+# Represents the use of the `super` keyword without parentheses or arguments.
+#
+# super
+# ^^^^^
+#
+# source://prism//lib/prism/node.rb#7596
+class Prism::ForwardingSuperNode < ::Prism::Node
+ # def initialize: (BlockNode? block, Location location) -> void
+ #
+ # @return [ForwardingSuperNode] a new instance of ForwardingSuperNode
+ #
+ # source://prism//lib/prism/node.rb#7598
+ def initialize(source, block, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#7606
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # attr_reader block: BlockNode?
+ #
+ # source://prism//lib/prism/node.rb#7645
+ sig { returns(T.nilable(Prism::BlockNode)) }
+ def block; end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#7611
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#7623
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#7616
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> ForwardingSuperNode
+ #
+ # source://prism//lib/prism/node.rb#7628
+ sig { params(params: T.untyped).returns(Prism::ForwardingSuperNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#7611
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { block: BlockNode?, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#7640
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#7649
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#7674
+ def type; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#7684
+ def type; end
+ end
+end
+
+# Represents the use of the `&&=` operator for assignment to a global variable.
+#
+# $target &&= value
+# ^^^^^^^^^^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#7693
+class Prism::GlobalVariableAndWriteNode < ::Prism::Node
+ # def initialize: (Symbol name, Location name_loc, Location operator_loc, Node value, Location location) -> void
+ #
+ # @return [GlobalVariableAndWriteNode] a new instance of GlobalVariableAndWriteNode
+ #
+ # source://prism//lib/prism/node.rb#7695
+ def initialize(source, name, name_loc, operator_loc, value, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#7706
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#7711
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#7721
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#7716
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> GlobalVariableAndWriteNode
+ #
+ # source://prism//lib/prism/node.rb#7726
+ sig { params(params: T.untyped).returns(Prism::GlobalVariableAndWriteNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#7711
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, name_loc: Location, operator_loc: Location, value: Node, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#7741
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # source://prism//lib/prism/desugar_compiler.rb#161
+ def desugar; end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#7770
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # attr_reader name: Symbol
+ #
+ # source://prism//lib/prism/node.rb#7746
+ sig { returns(Symbol) }
+ def name; end
+
+ # attr_reader name_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#7749
+ sig { returns(Prism::Location) }
+ def name_loc; end
+
+ # def operator: () -> String
+ #
+ # source://prism//lib/prism/node.rb#7765
+ sig { returns(String) }
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#7755
+ sig { returns(Prism::Location) }
+ def operator_loc; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#7794
+ def type; end
+
+ # attr_reader value: Node
+ #
+ # source://prism//lib/prism/node.rb#7761
+ sig { returns(Prism::Node) }
+ def value; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#7804
+ def type; end
+ end
+end
+
+# Represents assigning to a global variable using an operator that isn't `=`.
+#
+# $target += value
+# ^^^^^^^^^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#7813
+class Prism::GlobalVariableOperatorWriteNode < ::Prism::Node
+ # def initialize: (Symbol name, Location name_loc, Location operator_loc, Node value, Symbol operator, Location location) -> void
+ #
+ # @return [GlobalVariableOperatorWriteNode] a new instance of GlobalVariableOperatorWriteNode
+ #
+ # source://prism//lib/prism/node.rb#7815
+ def initialize(source, name, name_loc, operator_loc, value, operator, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#7827
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#7832
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#7842
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#7837
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> GlobalVariableOperatorWriteNode
+ #
+ # source://prism//lib/prism/node.rb#7847
+ sig { params(params: T.untyped).returns(Prism::GlobalVariableOperatorWriteNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#7832
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, name_loc: Location, operator_loc: Location, value: Node, operator: Symbol, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#7863
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # source://prism//lib/prism/desugar_compiler.rb#173
+ def desugar; end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#7890
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # attr_reader name: Symbol
+ #
+ # source://prism//lib/prism/node.rb#7868
+ sig { returns(Symbol) }
+ def name; end
+
+ # attr_reader name_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#7871
+ sig { returns(Prism::Location) }
+ def name_loc; end
+
+ # attr_reader operator: Symbol
+ #
+ # source://prism//lib/prism/node.rb#7886
+ sig { returns(Symbol) }
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#7877
+ sig { returns(Prism::Location) }
+ def operator_loc; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#7915
+ def type; end
+
+ # attr_reader value: Node
+ #
+ # source://prism//lib/prism/node.rb#7883
+ sig { returns(Prism::Node) }
+ def value; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#7925
+ def type; end
+ end
+end
+
+# Represents the use of the `||=` operator for assignment to a global variable.
+#
+# $target ||= value
+# ^^^^^^^^^^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#7934
+class Prism::GlobalVariableOrWriteNode < ::Prism::Node
+ # def initialize: (Symbol name, Location name_loc, Location operator_loc, Node value, Location location) -> void
+ #
+ # @return [GlobalVariableOrWriteNode] a new instance of GlobalVariableOrWriteNode
+ #
+ # source://prism//lib/prism/node.rb#7936
+ def initialize(source, name, name_loc, operator_loc, value, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#7947
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#7952
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#7962
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#7957
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> GlobalVariableOrWriteNode
+ #
+ # source://prism//lib/prism/node.rb#7967
+ sig { params(params: T.untyped).returns(Prism::GlobalVariableOrWriteNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#7952
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, name_loc: Location, operator_loc: Location, value: Node, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#7982
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # source://prism//lib/prism/desugar_compiler.rb#167
+ def desugar; end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#8011
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # attr_reader name: Symbol
+ #
+ # source://prism//lib/prism/node.rb#7987
+ sig { returns(Symbol) }
+ def name; end
+
+ # attr_reader name_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#7990
+ sig { returns(Prism::Location) }
+ def name_loc; end
+
+ # def operator: () -> String
+ #
+ # source://prism//lib/prism/node.rb#8006
+ sig { returns(String) }
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#7996
+ sig { returns(Prism::Location) }
+ def operator_loc; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#8035
+ def type; end
+
+ # attr_reader value: Node
+ #
+ # source://prism//lib/prism/node.rb#8002
+ sig { returns(Prism::Node) }
+ def value; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#8045
+ def type; end
+ end
+end
+
+# Represents referencing a global variable.
+#
+# $foo
+# ^^^^
+#
+# source://prism//lib/prism/node.rb#8054
+class Prism::GlobalVariableReadNode < ::Prism::Node
+ # def initialize: (Symbol name, Location location) -> void
+ #
+ # @return [GlobalVariableReadNode] a new instance of GlobalVariableReadNode
+ #
+ # source://prism//lib/prism/node.rb#8056
+ def initialize(source, name, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#8064
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#8069
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#8079
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#8074
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> GlobalVariableReadNode
+ #
+ # source://prism//lib/prism/node.rb#8084
+ sig { params(params: T.untyped).returns(Prism::GlobalVariableReadNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#8069
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#8096
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#8109
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # The name of the global variable, which is a `$` followed by an [identifier](https://github.com/ruby/prism/blob/main/docs/parsing_rules.md#identifier). Alternatively, it can be one of the special global variables designated by a symbol.
+ #
+ # $foo # name `:$foo`
+ #
+ # $_Test # name `:$_Test`
+ #
+ # source://prism//lib/prism/node.rb#8105
+ sig { returns(Symbol) }
+ def name; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#8129
+ def type; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#8139
+ def type; end
+ end
+end
+
+# Represents writing to a global variable in a context that doesn't have an explicit value.
+#
+# $foo, $bar = baz
+# ^^^^ ^^^^
+#
+# source://prism//lib/prism/node.rb#8148
+class Prism::GlobalVariableTargetNode < ::Prism::Node
+ # def initialize: (Symbol name, Location location) -> void
+ #
+ # @return [GlobalVariableTargetNode] a new instance of GlobalVariableTargetNode
+ #
+ # source://prism//lib/prism/node.rb#8150
+ def initialize(source, name, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#8158
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#8163
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#8173
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#8168
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> GlobalVariableTargetNode
+ #
+ # source://prism//lib/prism/node.rb#8178
+ sig { params(params: T.untyped).returns(Prism::GlobalVariableTargetNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#8163
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#8190
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#8199
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # attr_reader name: Symbol
+ #
+ # source://prism//lib/prism/node.rb#8195
+ sig { returns(Symbol) }
+ def name; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#8219
+ def type; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#8229
+ def type; end
+ end
+end
+
+# Represents writing to a global variable.
+#
+# $foo = 1
+# ^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#8238
+class Prism::GlobalVariableWriteNode < ::Prism::Node
+ # def initialize: (Symbol name, Location name_loc, Node value, Location operator_loc, Location location) -> void
+ #
+ # @return [GlobalVariableWriteNode] a new instance of GlobalVariableWriteNode
+ #
+ # source://prism//lib/prism/node.rb#8240
+ def initialize(source, name, name_loc, value, operator_loc, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#8251
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#8256
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#8266
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#8261
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> GlobalVariableWriteNode
+ #
+ # source://prism//lib/prism/node.rb#8271
+ sig { params(params: T.untyped).returns(Prism::GlobalVariableWriteNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#8256
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, name_loc: Location, value: Node, operator_loc: Location, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#8286
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#8315
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # attr_reader name: Symbol
+ #
+ # source://prism//lib/prism/node.rb#8291
+ sig { returns(Symbol) }
+ def name; end
+
+ # attr_reader name_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#8294
+ sig { returns(Prism::Location) }
+ def name_loc; end
+
+ # def operator: () -> String
+ #
+ # source://prism//lib/prism/node.rb#8310
+ sig { returns(String) }
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#8303
+ sig { returns(Prism::Location) }
+ def operator_loc; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#8339
+ def type; end
+
+ # attr_reader value: Node
+ #
+ # source://prism//lib/prism/node.rb#8300
+ sig { returns(Prism::Node) }
+ def value; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#8349
+ def type; end
+ end
+end
+
+# Represents a hash literal.
+#
+# { a => b }
+# ^^^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#8358
+class Prism::HashNode < ::Prism::Node
+ # def initialize: (Location opening_loc, Array[Node] elements, Location closing_loc, Location location) -> void
+ #
+ # @return [HashNode] a new instance of HashNode
+ #
+ # source://prism//lib/prism/node.rb#8360
+ def initialize(source, opening_loc, elements, closing_loc, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#8370
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#8375
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def closing: () -> String
+ #
+ # source://prism//lib/prism/node.rb#8442
+ sig { returns(String) }
+ def closing; end
+
+ # The location of the closing brace.
+ #
+ # { a => b }
+ # ^
+ #
+ # source://prism//lib/prism/node.rb#8430
+ sig { returns(Prism::Location) }
+ def closing_loc; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#8385
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#8380
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> HashNode
+ #
+ # source://prism//lib/prism/node.rb#8390
+ sig { params(params: T.untyped).returns(Prism::HashNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#8375
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { opening_loc: Location, elements: Array[Node], closing_loc: Location, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#8404
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # The elements of the hash. These can be either `AssocNode`s or `AssocSplatNode`s.
+ #
+ # { a: b }
+ # ^^^^
+ #
+ # { **foo }
+ # ^^^^^
+ #
+ # source://prism//lib/prism/node.rb#8424
+ sig { returns(T::Array[Prism::Node]) }
+ def elements; end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#8447
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # def opening: () -> String
+ #
+ # source://prism//lib/prism/node.rb#8437
+ sig { returns(String) }
+ def opening; end
+
+ # The location of the opening brace.
+ #
+ # { a => b }
+ # ^
+ #
+ # source://prism//lib/prism/node.rb#8412
+ sig { returns(Prism::Location) }
+ def opening_loc; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#8469
+ def type; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#8479
+ def type; end
+ end
+end
+
+# Represents a hash pattern in pattern matching.
+#
+# foo => { a: 1, b: 2 }
+# ^^^^^^^^^^^^^^
+#
+# foo => { a: 1, b: 2, **c }
+# ^^^^^^^^^^^^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#8491
+class Prism::HashPatternNode < ::Prism::Node
+ # def initialize: (Node? constant, Array[Node] elements, Node? rest, Location? opening_loc, Location? closing_loc, Location location) -> void
+ #
+ # @return [HashPatternNode] a new instance of HashPatternNode
+ #
+ # source://prism//lib/prism/node.rb#8493
+ def initialize(source, constant, elements, rest, opening_loc, closing_loc, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#8505
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#8510
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def closing: () -> String?
+ #
+ # source://prism//lib/prism/node.rb#8589
+ sig { returns(T.nilable(String)) }
+ def closing; end
+
+ # attr_reader closing_loc: Location?
+ #
+ # source://prism//lib/prism/node.rb#8571
+ sig { returns(T.nilable(Prism::Location)) }
+ def closing_loc; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#8524
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#8515
+ def compact_child_nodes; end
+
+ # attr_reader constant: Node?
+ #
+ # source://prism//lib/prism/node.rb#8550
+ sig { returns(T.nilable(Prism::Node)) }
+ def constant; end
+
+ # def copy: (**params) -> HashPatternNode
+ #
+ # source://prism//lib/prism/node.rb#8529
+ sig { params(params: T.untyped).returns(Prism::HashPatternNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#8510
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { constant: Node?, elements: Array[Node], rest: Node?, opening_loc: Location?, closing_loc: Location?, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#8545
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # attr_reader elements: Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#8553
+ sig { returns(T::Array[Prism::Node]) }
+ def elements; end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#8594
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # def opening: () -> String?
+ #
+ # source://prism//lib/prism/node.rb#8584
+ sig { returns(T.nilable(String)) }
+ def opening; end
+
+ # attr_reader opening_loc: Location?
+ #
+ # source://prism//lib/prism/node.rb#8559
+ sig { returns(T.nilable(Prism::Location)) }
+ def opening_loc; end
+
+ # attr_reader rest: Node?
+ #
+ # source://prism//lib/prism/node.rb#8556
+ sig { returns(T.nilable(Prism::Node)) }
+ def rest; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#8628
+ def type; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#8638
+ def type; end
+ end
+end
+
+# source://prism//lib/prism/node_ext.rb#35
+module Prism::HeredocQuery
+ # Returns true if this node was represented as a heredoc in the source code.
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node_ext.rb#37
+ def heredoc?; end
+end
+
+# Represents the use of the `if` keyword, either in the block form or the modifier form.
+#
+# bar if foo
+# ^^^^^^^^^^
+#
+# if foo then bar end
+# ^^^^^^^^^^^^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#8650
+class Prism::IfNode < ::Prism::Node
+ # def initialize: (Location? if_keyword_loc, Node predicate, Location? then_keyword_loc, StatementsNode? statements, Node? consequent, Location? end_keyword_loc, Location location) -> void
+ #
+ # @return [IfNode] a new instance of IfNode
+ #
+ # source://prism//lib/prism/node.rb#8652
+ def initialize(source, if_keyword_loc, predicate, then_keyword_loc, statements, consequent, end_keyword_loc, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#8665
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#8674
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#8688
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#8679
+ def compact_child_nodes; end
+
+ # attr_reader consequent: Node?
+ #
+ # source://prism//lib/prism/node.rb#8745
+ sig { returns(T.nilable(Prism::Node)) }
+ def consequent; end
+
+ # def copy: (**params) -> IfNode
+ #
+ # source://prism//lib/prism/node.rb#8693
+ sig { params(params: T.untyped).returns(Prism::IfNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#8674
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { if_keyword_loc: Location?, predicate: Node, then_keyword_loc: Location?, statements: StatementsNode?, consequent: Node?, end_keyword_loc: Location?, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#8710
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def end_keyword: () -> String?
+ #
+ # source://prism//lib/prism/node.rb#8771
+ sig { returns(T.nilable(String)) }
+ def end_keyword; end
+
+ # attr_reader end_keyword_loc: Location?
+ #
+ # source://prism//lib/prism/node.rb#8748
+ sig { returns(T.nilable(Prism::Location)) }
+ def end_keyword_loc; end
+
+ # def if_keyword: () -> String?
+ #
+ # source://prism//lib/prism/node.rb#8761
+ sig { returns(T.nilable(String)) }
+ def if_keyword; end
+
+ # attr_reader if_keyword_loc: Location?
+ #
+ # source://prism//lib/prism/node.rb#8715
+ sig { returns(T.nilable(Prism::Location)) }
+ def if_keyword_loc; end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#8776
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # attr_reader predicate: Node
+ #
+ # source://prism//lib/prism/node.rb#8727
+ sig { returns(Prism::Node) }
+ def predicate; end
+
+ # source://prism//lib/prism/node.rb#8669
+ def set_newline_flag(newline_marked); end
+
+ # attr_reader statements: StatementsNode?
+ #
+ # source://prism//lib/prism/node.rb#8742
+ sig { returns(T.nilable(Prism::StatementsNode)) }
+ def statements; end
+
+ # def then_keyword: () -> String?
+ #
+ # source://prism//lib/prism/node.rb#8766
+ sig { returns(T.nilable(String)) }
+ def then_keyword; end
+
+ # attr_reader then_keyword_loc: Location?
+ #
+ # source://prism//lib/prism/node.rb#8730
+ sig { returns(T.nilable(Prism::Location)) }
+ def then_keyword_loc; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#8812
+ def type; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#8822
+ def type; end
+ end
+end
+
+# Represents an imaginary number literal.
+#
+# 1.0i
+# ^^^^
+#
+# source://prism//lib/prism/node.rb#8831
+class Prism::ImaginaryNode < ::Prism::Node
+ # def initialize: (Node numeric, Location location) -> void
+ #
+ # @return [ImaginaryNode] a new instance of ImaginaryNode
+ #
+ # source://prism//lib/prism/node.rb#8833
+ def initialize(source, numeric, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#8841
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#8846
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#8856
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#8851
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> ImaginaryNode
+ #
+ # source://prism//lib/prism/node.rb#8861
+ sig { params(params: T.untyped).returns(Prism::ImaginaryNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#8846
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { numeric: Node, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#8873
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#8882
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # attr_reader numeric: Node
+ #
+ # source://prism//lib/prism/node.rb#8878
+ sig { returns(Prism::Node) }
+ def numeric; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#8903
+ def type; end
+
+ # Returns the value of the node as a Ruby Complex.
+ #
+ # source://prism//lib/prism/node_ext.rb#69
+ def value; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#8913
+ def type; end
+ end
+end
+
+# Represents a node that is implicitly being added to the tree but doesn't correspond directly to a node in the source.
+#
+# { foo: }
+# ^^^^
+#
+# { Foo: }
+# ^^^^
+#
+# foo in { bar: }
+# ^^^^
+#
+# source://prism//lib/prism/node.rb#8928
+class Prism::ImplicitNode < ::Prism::Node
+ # def initialize: (Node value, Location location) -> void
+ #
+ # @return [ImplicitNode] a new instance of ImplicitNode
+ #
+ # source://prism//lib/prism/node.rb#8930
+ def initialize(source, value, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#8938
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#8943
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#8953
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#8948
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> ImplicitNode
+ #
+ # source://prism//lib/prism/node.rb#8958
+ sig { params(params: T.untyped).returns(Prism::ImplicitNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#8943
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { value: Node, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#8970
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#8979
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#9000
+ def type; end
+
+ # attr_reader value: Node
+ #
+ # source://prism//lib/prism/node.rb#8975
+ sig { returns(Prism::Node) }
+ def value; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#9010
+ def type; end
+ end
+end
+
+# Represents using a trailing comma to indicate an implicit rest parameter.
+#
+# foo { |bar,| }
+# ^
+#
+# foo in [bar,]
+# ^
+#
+# for foo, in bar do end
+# ^
+#
+# foo, = bar
+# ^
+#
+# source://prism//lib/prism/node.rb#9028
+class Prism::ImplicitRestNode < ::Prism::Node
+ # def initialize: (Location location) -> void
+ #
+ # @return [ImplicitRestNode] a new instance of ImplicitRestNode
+ #
+ # source://prism//lib/prism/node.rb#9030
+ def initialize(source, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#9037
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#9042
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#9052
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#9047
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> ImplicitRestNode
+ #
+ # source://prism//lib/prism/node.rb#9057
+ sig { params(params: T.untyped).returns(Prism::ImplicitRestNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#9042
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { location: Location }
+ #
+ # source://prism//lib/prism/node.rb#9068
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#9074
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#9093
+ def type; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#9103
+ def type; end
+ end
+end
+
+# Represents the use of the `in` keyword in a case statement.
+#
+# case a; in b then c end
+# ^^^^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#9112
+class Prism::InNode < ::Prism::Node
+ # def initialize: (Node pattern, StatementsNode? statements, Location in_loc, Location? then_loc, Location location) -> void
+ #
+ # @return [InNode] a new instance of InNode
+ #
+ # source://prism//lib/prism/node.rb#9114
+ def initialize(source, pattern, statements, in_loc, then_loc, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#9125
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#9130
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#9143
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#9135
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> InNode
+ #
+ # source://prism//lib/prism/node.rb#9148
+ sig { params(params: T.untyped).returns(Prism::InNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#9130
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { pattern: Node, statements: StatementsNode?, in_loc: Location, then_loc: Location?, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#9163
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def in: () -> String
+ #
+ # source://prism//lib/prism/node.rb#9193
+ sig { returns(String) }
+ def in; end
+
+ # attr_reader in_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#9174
+ sig { returns(Prism::Location) }
+ def in_loc; end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#9203
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # attr_reader pattern: Node
+ #
+ # source://prism//lib/prism/node.rb#9168
+ sig { returns(Prism::Node) }
+ def pattern; end
+
+ # attr_reader statements: StatementsNode?
+ #
+ # source://prism//lib/prism/node.rb#9171
+ sig { returns(T.nilable(Prism::StatementsNode)) }
+ def statements; end
+
+ # def then: () -> String?
+ #
+ # source://prism//lib/prism/node.rb#9198
+ sig { returns(T.nilable(String)) }
+ def then; end
+
+ # attr_reader then_loc: Location?
+ #
+ # source://prism//lib/prism/node.rb#9180
+ sig { returns(T.nilable(Prism::Location)) }
+ def then_loc; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#9232
+ def type; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#9242
+ def type; end
+ end
+end
+
+# Represents the use of the `&&=` operator on a call to the `[]` method.
+#
+# foo.bar[baz] &&= value
+# ^^^^^^^^^^^^^^^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#9251
+class Prism::IndexAndWriteNode < ::Prism::Node
+ # def initialize: (Integer flags, Node? receiver, Location? call_operator_loc, Location opening_loc, ArgumentsNode? arguments, Location closing_loc, Node? block, Location operator_loc, Node value, Location location) -> void
+ #
+ # @return [IndexAndWriteNode] a new instance of IndexAndWriteNode
+ #
+ # source://prism//lib/prism/node.rb#9253
+ def initialize(source, flags, receiver, call_operator_loc, opening_loc, arguments, closing_loc, block, operator_loc, value, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#9269
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # attr_reader arguments: ArgumentsNode?
+ #
+ # source://prism//lib/prism/node.rb#9344
+ sig { returns(T.nilable(Prism::ArgumentsNode)) }
+ def arguments; end
+
+ # def attribute_write?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#9376
+ sig { returns(T::Boolean) }
+ def attribute_write?; end
+
+ # attr_reader block: Node?
+ #
+ # source://prism//lib/prism/node.rb#9353
+ sig { returns(T.nilable(Prism::Node)) }
+ def block; end
+
+ # def call_operator: () -> String?
+ #
+ # source://prism//lib/prism/node.rb#9386
+ sig { returns(T.nilable(String)) }
+ def call_operator; end
+
+ # attr_reader call_operator_loc: Location?
+ #
+ # source://prism//lib/prism/node.rb#9326
+ sig { returns(T.nilable(Prism::Location)) }
+ def call_operator_loc; end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#9274
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def closing: () -> String
+ #
+ # source://prism//lib/prism/node.rb#9396
+ sig { returns(String) }
+ def closing; end
+
+ # attr_reader closing_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#9347
+ sig { returns(Prism::Location) }
+ def closing_loc; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#9289
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#9279
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> IndexAndWriteNode
+ #
+ # source://prism//lib/prism/node.rb#9294
+ sig { params(params: T.untyped).returns(Prism::IndexAndWriteNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#9274
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, receiver: Node?, call_operator_loc: Location?, opening_loc: Location, arguments: ArgumentsNode?, closing_loc: Location, block: Node?, operator_loc: Location, value: Node, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#9314
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def ignore_visibility?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#9381
+ sig { returns(T::Boolean) }
+ def ignore_visibility?; end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#9406
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # def opening: () -> String
+ #
+ # source://prism//lib/prism/node.rb#9391
+ sig { returns(String) }
+ def opening; end
+
+ # attr_reader opening_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#9338
+ sig { returns(Prism::Location) }
+ def opening_loc; end
+
+ # def operator: () -> String
+ #
+ # source://prism//lib/prism/node.rb#9401
+ sig { returns(String) }
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#9356
+ sig { returns(Prism::Location) }
+ def operator_loc; end
+
+ # attr_reader receiver: Node?
+ #
+ # source://prism//lib/prism/node.rb#9323
+ sig { returns(T.nilable(Prism::Node)) }
+ def receiver; end
+
+ # def safe_navigation?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#9366
+ sig { returns(T::Boolean) }
+ def safe_navigation?; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#9451
+ def type; end
+
+ # attr_reader value: Node
+ #
+ # source://prism//lib/prism/node.rb#9362
+ sig { returns(Prism::Node) }
+ def value; end
+
+ # def variable_call?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#9371
+ sig { returns(T::Boolean) }
+ def variable_call?; end
+
+ private
+
+ # private attr_reader flags: Integer
+ #
+ # source://prism//lib/prism/node.rb#9319
+ sig { returns(Integer) }
+ def flags; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#9461
+ def type; end
+ end
+end
+
+# Represents the use of an assignment operator on a call to `[]`.
+#
+# foo.bar[baz] += value
+# ^^^^^^^^^^^^^^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#9470
+class Prism::IndexOperatorWriteNode < ::Prism::Node
+ # def initialize: (Integer flags, Node? receiver, Location? call_operator_loc, Location opening_loc, ArgumentsNode? arguments, Location closing_loc, Node? block, Symbol operator, Location operator_loc, Node value, Location location) -> void
+ #
+ # @return [IndexOperatorWriteNode] a new instance of IndexOperatorWriteNode
+ #
+ # source://prism//lib/prism/node.rb#9472
+ def initialize(source, flags, receiver, call_operator_loc, opening_loc, arguments, closing_loc, block, operator, operator_loc, value, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#9489
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # attr_reader arguments: ArgumentsNode?
+ #
+ # source://prism//lib/prism/node.rb#9565
+ sig { returns(T.nilable(Prism::ArgumentsNode)) }
+ def arguments; end
+
+ # def attribute_write?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#9600
+ sig { returns(T::Boolean) }
+ def attribute_write?; end
+
+ # attr_reader block: Node?
+ #
+ # source://prism//lib/prism/node.rb#9574
+ sig { returns(T.nilable(Prism::Node)) }
+ def block; end
+
+ # def call_operator: () -> String?
+ #
+ # source://prism//lib/prism/node.rb#9610
+ sig { returns(T.nilable(String)) }
+ def call_operator; end
+
+ # attr_reader call_operator_loc: Location?
+ #
+ # source://prism//lib/prism/node.rb#9547
+ sig { returns(T.nilable(Prism::Location)) }
+ def call_operator_loc; end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#9494
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def closing: () -> String
+ #
+ # source://prism//lib/prism/node.rb#9620
+ sig { returns(String) }
+ def closing; end
+
+ # attr_reader closing_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#9568
+ sig { returns(Prism::Location) }
+ def closing_loc; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#9509
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#9499
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> IndexOperatorWriteNode
+ #
+ # source://prism//lib/prism/node.rb#9514
+ sig { params(params: T.untyped).returns(Prism::IndexOperatorWriteNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#9494
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, receiver: Node?, call_operator_loc: Location?, opening_loc: Location, arguments: ArgumentsNode?, closing_loc: Location, block: Node?, operator: Symbol, operator_loc: Location, value: Node, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#9535
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def ignore_visibility?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#9605
+ sig { returns(T::Boolean) }
+ def ignore_visibility?; end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#9625
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # def opening: () -> String
+ #
+ # source://prism//lib/prism/node.rb#9615
+ sig { returns(String) }
+ def opening; end
+
+ # attr_reader opening_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#9559
+ sig { returns(Prism::Location) }
+ def opening_loc; end
+
+ # attr_reader operator: Symbol
+ #
+ # source://prism//lib/prism/node.rb#9577
+ sig { returns(Symbol) }
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#9580
+ sig { returns(Prism::Location) }
+ def operator_loc; end
+
+ # attr_reader receiver: Node?
+ #
+ # source://prism//lib/prism/node.rb#9544
+ sig { returns(T.nilable(Prism::Node)) }
+ def receiver; end
+
+ # def safe_navigation?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#9590
+ sig { returns(T::Boolean) }
+ def safe_navigation?; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#9671
+ def type; end
+
+ # attr_reader value: Node
+ #
+ # source://prism//lib/prism/node.rb#9586
+ sig { returns(Prism::Node) }
+ def value; end
+
+ # def variable_call?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#9595
+ sig { returns(T::Boolean) }
+ def variable_call?; end
+
+ private
+
+ # private attr_reader flags: Integer
+ #
+ # source://prism//lib/prism/node.rb#9540
+ sig { returns(Integer) }
+ def flags; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#9681
+ def type; end
+ end
+end
+
+# Represents the use of the `||=` operator on a call to `[]`.
+#
+# foo.bar[baz] ||= value
+# ^^^^^^^^^^^^^^^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#9690
+class Prism::IndexOrWriteNode < ::Prism::Node
+ # def initialize: (Integer flags, Node? receiver, Location? call_operator_loc, Location opening_loc, ArgumentsNode? arguments, Location closing_loc, Node? block, Location operator_loc, Node value, Location location) -> void
+ #
+ # @return [IndexOrWriteNode] a new instance of IndexOrWriteNode
+ #
+ # source://prism//lib/prism/node.rb#9692
+ def initialize(source, flags, receiver, call_operator_loc, opening_loc, arguments, closing_loc, block, operator_loc, value, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#9708
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # attr_reader arguments: ArgumentsNode?
+ #
+ # source://prism//lib/prism/node.rb#9783
+ sig { returns(T.nilable(Prism::ArgumentsNode)) }
+ def arguments; end
+
+ # def attribute_write?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#9815
+ sig { returns(T::Boolean) }
+ def attribute_write?; end
+
+ # attr_reader block: Node?
+ #
+ # source://prism//lib/prism/node.rb#9792
+ sig { returns(T.nilable(Prism::Node)) }
+ def block; end
+
+ # def call_operator: () -> String?
+ #
+ # source://prism//lib/prism/node.rb#9825
+ sig { returns(T.nilable(String)) }
+ def call_operator; end
+
+ # attr_reader call_operator_loc: Location?
+ #
+ # source://prism//lib/prism/node.rb#9765
+ sig { returns(T.nilable(Prism::Location)) }
+ def call_operator_loc; end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#9713
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def closing: () -> String
+ #
+ # source://prism//lib/prism/node.rb#9835
+ sig { returns(String) }
+ def closing; end
+
+ # attr_reader closing_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#9786
+ sig { returns(Prism::Location) }
+ def closing_loc; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#9728
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#9718
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> IndexOrWriteNode
+ #
+ # source://prism//lib/prism/node.rb#9733
+ sig { params(params: T.untyped).returns(Prism::IndexOrWriteNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#9713
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, receiver: Node?, call_operator_loc: Location?, opening_loc: Location, arguments: ArgumentsNode?, closing_loc: Location, block: Node?, operator_loc: Location, value: Node, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#9753
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def ignore_visibility?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#9820
+ sig { returns(T::Boolean) }
+ def ignore_visibility?; end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#9845
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # def opening: () -> String
+ #
+ # source://prism//lib/prism/node.rb#9830
+ sig { returns(String) }
+ def opening; end
+
+ # attr_reader opening_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#9777
+ sig { returns(Prism::Location) }
+ def opening_loc; end
+
+ # def operator: () -> String
+ #
+ # source://prism//lib/prism/node.rb#9840
+ sig { returns(String) }
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#9795
+ sig { returns(Prism::Location) }
+ def operator_loc; end
+
+ # attr_reader receiver: Node?
+ #
+ # source://prism//lib/prism/node.rb#9762
+ sig { returns(T.nilable(Prism::Node)) }
+ def receiver; end
+
+ # def safe_navigation?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#9805
+ sig { returns(T::Boolean) }
+ def safe_navigation?; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#9890
+ def type; end
+
+ # attr_reader value: Node
+ #
+ # source://prism//lib/prism/node.rb#9801
+ sig { returns(Prism::Node) }
+ def value; end
+
+ # def variable_call?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#9810
+ sig { returns(T::Boolean) }
+ def variable_call?; end
+
+ private
+
+ # private attr_reader flags: Integer
+ #
+ # source://prism//lib/prism/node.rb#9758
+ sig { returns(Integer) }
+ def flags; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#9900
+ def type; end
+ end
+end
+
+# Represents assigning to an index.
+#
+# foo[bar], = 1
+# ^^^^^^^^
+#
+# begin
+# rescue => foo[bar]
+# ^^^^^^^^
+# end
+#
+# for foo[bar] in baz do end
+# ^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#9917
+class Prism::IndexTargetNode < ::Prism::Node
+ # def initialize: (Integer flags, Node receiver, Location opening_loc, ArgumentsNode? arguments, Location closing_loc, Node? block, Location location) -> void
+ #
+ # @return [IndexTargetNode] a new instance of IndexTargetNode
+ #
+ # source://prism//lib/prism/node.rb#9919
+ def initialize(source, flags, receiver, opening_loc, arguments, closing_loc, block, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#9932
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # attr_reader arguments: ArgumentsNode?
+ #
+ # source://prism//lib/prism/node.rb#9991
+ sig { returns(T.nilable(Prism::ArgumentsNode)) }
+ def arguments; end
+
+ # def attribute_write?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#10014
+ sig { returns(T::Boolean) }
+ def attribute_write?; end
+
+ # attr_reader block: Node?
+ #
+ # source://prism//lib/prism/node.rb#10000
+ sig { returns(T.nilable(Prism::Node)) }
+ def block; end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#9937
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def closing: () -> String
+ #
+ # source://prism//lib/prism/node.rb#10029
+ sig { returns(String) }
+ def closing; end
+
+ # attr_reader closing_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#9994
+ sig { returns(Prism::Location) }
+ def closing_loc; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#9951
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#9942
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> IndexTargetNode
+ #
+ # source://prism//lib/prism/node.rb#9956
+ sig { params(params: T.untyped).returns(Prism::IndexTargetNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#9937
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, receiver: Node, opening_loc: Location, arguments: ArgumentsNode?, closing_loc: Location, block: Node?, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#9973
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def ignore_visibility?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#10019
+ sig { returns(T::Boolean) }
+ def ignore_visibility?; end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#10034
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # def opening: () -> String
+ #
+ # source://prism//lib/prism/node.rb#10024
+ sig { returns(String) }
+ def opening; end
+
+ # attr_reader opening_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#9985
+ sig { returns(Prism::Location) }
+ def opening_loc; end
+
+ # attr_reader receiver: Node
+ #
+ # source://prism//lib/prism/node.rb#9982
+ sig { returns(Prism::Node) }
+ def receiver; end
+
+ # def safe_navigation?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#10004
+ sig { returns(T::Boolean) }
+ def safe_navigation?; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#10071
+ def type; end
+
+ # def variable_call?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#10009
+ sig { returns(T::Boolean) }
+ def variable_call?; end
+
+ private
+
+ # private attr_reader flags: Integer
+ #
+ # source://prism//lib/prism/node.rb#9978
+ sig { returns(Integer) }
+ def flags; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#10081
+ def type; end
+ end
+end
+
+# InlineComment objects are the most common. They correspond to comments in
+# the source file like this one that start with #.
+#
+# source://prism//lib/prism/parse_result.rb#275
+class Prism::InlineComment < ::Prism::Comment
+ # Returns a string representation of this comment.
+ #
+ # source://prism//lib/prism/parse_result.rb#283
+ def inspect; end
+
+ # Returns true if this comment happens on the same line as other code and
+ # false if the comment is by itself.
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/parse_result.rb#278
+ sig { override.returns(T::Boolean) }
+ def trailing?; end
+end
+
+# Represents the use of the `&&=` operator for assignment to an instance variable.
+#
+# @target &&= value
+# ^^^^^^^^^^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#10090
+class Prism::InstanceVariableAndWriteNode < ::Prism::Node
+ # def initialize: (Symbol name, Location name_loc, Location operator_loc, Node value, Location location) -> void
+ #
+ # @return [InstanceVariableAndWriteNode] a new instance of InstanceVariableAndWriteNode
+ #
+ # source://prism//lib/prism/node.rb#10092
+ def initialize(source, name, name_loc, operator_loc, value, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#10103
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#10108
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#10118
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#10113
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> InstanceVariableAndWriteNode
+ #
+ # source://prism//lib/prism/node.rb#10123
+ sig { params(params: T.untyped).returns(Prism::InstanceVariableAndWriteNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#10108
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, name_loc: Location, operator_loc: Location, value: Node, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#10138
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # source://prism//lib/prism/desugar_compiler.rb#179
+ def desugar; end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#10167
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # attr_reader name: Symbol
+ #
+ # source://prism//lib/prism/node.rb#10143
+ sig { returns(Symbol) }
+ def name; end
+
+ # attr_reader name_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#10146
+ sig { returns(Prism::Location) }
+ def name_loc; end
+
+ # def operator: () -> String
+ #
+ # source://prism//lib/prism/node.rb#10162
+ sig { returns(String) }
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#10152
+ sig { returns(Prism::Location) }
+ def operator_loc; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#10191
+ def type; end
+
+ # attr_reader value: Node
+ #
+ # source://prism//lib/prism/node.rb#10158
+ sig { returns(Prism::Node) }
+ def value; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#10201
+ def type; end
+ end
+end
+
+# Represents assigning to an instance variable using an operator that isn't `=`.
+#
+# @target += value
+# ^^^^^^^^^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#10210
+class Prism::InstanceVariableOperatorWriteNode < ::Prism::Node
+ # def initialize: (Symbol name, Location name_loc, Location operator_loc, Node value, Symbol operator, Location location) -> void
+ #
+ # @return [InstanceVariableOperatorWriteNode] a new instance of InstanceVariableOperatorWriteNode
+ #
+ # source://prism//lib/prism/node.rb#10212
+ def initialize(source, name, name_loc, operator_loc, value, operator, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#10224
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#10229
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#10239
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#10234
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> InstanceVariableOperatorWriteNode
+ #
+ # source://prism//lib/prism/node.rb#10244
+ sig { params(params: T.untyped).returns(Prism::InstanceVariableOperatorWriteNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#10229
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, name_loc: Location, operator_loc: Location, value: Node, operator: Symbol, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#10260
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # source://prism//lib/prism/desugar_compiler.rb#191
+ def desugar; end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#10287
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # attr_reader name: Symbol
+ #
+ # source://prism//lib/prism/node.rb#10265
+ sig { returns(Symbol) }
+ def name; end
+
+ # attr_reader name_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#10268
+ sig { returns(Prism::Location) }
+ def name_loc; end
+
+ # attr_reader operator: Symbol
+ #
+ # source://prism//lib/prism/node.rb#10283
+ sig { returns(Symbol) }
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#10274
+ sig { returns(Prism::Location) }
+ def operator_loc; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#10312
+ def type; end
+
+ # attr_reader value: Node
+ #
+ # source://prism//lib/prism/node.rb#10280
+ sig { returns(Prism::Node) }
+ def value; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#10322
+ def type; end
+ end
+end
+
+# Represents the use of the `||=` operator for assignment to an instance variable.
+#
+# @target ||= value
+# ^^^^^^^^^^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#10331
+class Prism::InstanceVariableOrWriteNode < ::Prism::Node
+ # def initialize: (Symbol name, Location name_loc, Location operator_loc, Node value, Location location) -> void
+ #
+ # @return [InstanceVariableOrWriteNode] a new instance of InstanceVariableOrWriteNode
+ #
+ # source://prism//lib/prism/node.rb#10333
+ def initialize(source, name, name_loc, operator_loc, value, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#10344
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#10349
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#10359
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#10354
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> InstanceVariableOrWriteNode
+ #
+ # source://prism//lib/prism/node.rb#10364
+ sig { params(params: T.untyped).returns(Prism::InstanceVariableOrWriteNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#10349
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, name_loc: Location, operator_loc: Location, value: Node, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#10379
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # source://prism//lib/prism/desugar_compiler.rb#185
+ def desugar; end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#10408
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # attr_reader name: Symbol
+ #
+ # source://prism//lib/prism/node.rb#10384
+ sig { returns(Symbol) }
+ def name; end
+
+ # attr_reader name_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#10387
+ sig { returns(Prism::Location) }
+ def name_loc; end
+
+ # def operator: () -> String
+ #
+ # source://prism//lib/prism/node.rb#10403
+ sig { returns(String) }
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#10393
+ sig { returns(Prism::Location) }
+ def operator_loc; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#10432
+ def type; end
+
+ # attr_reader value: Node
+ #
+ # source://prism//lib/prism/node.rb#10399
+ sig { returns(Prism::Node) }
+ def value; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#10442
+ def type; end
+ end
+end
+
+# Represents referencing an instance variable.
+#
+# @foo
+# ^^^^
+#
+# source://prism//lib/prism/node.rb#10451
+class Prism::InstanceVariableReadNode < ::Prism::Node
+ # def initialize: (Symbol name, Location location) -> void
+ #
+ # @return [InstanceVariableReadNode] a new instance of InstanceVariableReadNode
+ #
+ # source://prism//lib/prism/node.rb#10453
+ def initialize(source, name, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#10461
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#10466
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#10476
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#10471
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> InstanceVariableReadNode
+ #
+ # source://prism//lib/prism/node.rb#10481
+ sig { params(params: T.untyped).returns(Prism::InstanceVariableReadNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#10466
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#10493
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#10506
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # The name of the instance variable, which is a `@` followed by an [identifier](https://github.com/ruby/prism/blob/main/docs/parsing_rules.md#identifiers).
+ #
+ # @x # name `:@x`
+ #
+ # @_test # name `:@_test`
+ #
+ # source://prism//lib/prism/node.rb#10502
+ sig { returns(Symbol) }
+ def name; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#10526
+ def type; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#10536
+ def type; end
+ end
+end
+
+# Represents writing to an instance variable in a context that doesn't have an explicit value.
+#
+# @foo, @bar = baz
+# ^^^^ ^^^^
+#
+# source://prism//lib/prism/node.rb#10545
+class Prism::InstanceVariableTargetNode < ::Prism::Node
+ # def initialize: (Symbol name, Location location) -> void
+ #
+ # @return [InstanceVariableTargetNode] a new instance of InstanceVariableTargetNode
+ #
+ # source://prism//lib/prism/node.rb#10547
+ def initialize(source, name, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#10555
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#10560
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#10570
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#10565
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> InstanceVariableTargetNode
+ #
+ # source://prism//lib/prism/node.rb#10575
+ sig { params(params: T.untyped).returns(Prism::InstanceVariableTargetNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#10560
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#10587
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#10596
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # attr_reader name: Symbol
+ #
+ # source://prism//lib/prism/node.rb#10592
+ sig { returns(Symbol) }
+ def name; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#10616
+ def type; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#10626
+ def type; end
+ end
+end
+
+# Represents writing to an instance variable.
+#
+# @foo = 1
+# ^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#10635
+class Prism::InstanceVariableWriteNode < ::Prism::Node
+ # def initialize: (Symbol name, Location name_loc, Node value, Location operator_loc, Location location) -> void
+ #
+ # @return [InstanceVariableWriteNode] a new instance of InstanceVariableWriteNode
+ #
+ # source://prism//lib/prism/node.rb#10637
+ def initialize(source, name, name_loc, value, operator_loc, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#10648
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#10653
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#10663
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#10658
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> InstanceVariableWriteNode
+ #
+ # source://prism//lib/prism/node.rb#10668
+ sig { params(params: T.untyped).returns(Prism::InstanceVariableWriteNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#10653
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, name_loc: Location, value: Node, operator_loc: Location, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#10683
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#10712
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # attr_reader name: Symbol
+ #
+ # source://prism//lib/prism/node.rb#10688
+ sig { returns(Symbol) }
+ def name; end
+
+ # attr_reader name_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#10691
+ sig { returns(Prism::Location) }
+ def name_loc; end
+
+ # def operator: () -> String
+ #
+ # source://prism//lib/prism/node.rb#10707
+ sig { returns(String) }
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#10700
+ sig { returns(Prism::Location) }
+ def operator_loc; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#10736
+ def type; end
+
+ # attr_reader value: Node
+ #
+ # source://prism//lib/prism/node.rb#10697
+ sig { returns(Prism::Node) }
+ def value; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#10746
+ def type; end
+ end
+end
+
+# Flags for integer nodes that correspond to the base of the integer.
+#
+# source://prism//lib/prism/node.rb#19277
+module Prism::IntegerBaseFlags; end
+
+# 0b prefix
+#
+# source://prism//lib/prism/node.rb#19279
+Prism::IntegerBaseFlags::BINARY = T.let(T.unsafe(nil), Integer)
+
+# 0d or no prefix
+#
+# source://prism//lib/prism/node.rb#19282
+Prism::IntegerBaseFlags::DECIMAL = T.let(T.unsafe(nil), Integer)
+
+# 0x prefix
+#
+# source://prism//lib/prism/node.rb#19288
+Prism::IntegerBaseFlags::HEXADECIMAL = T.let(T.unsafe(nil), Integer)
+
+# 0o or 0 prefix
+#
+# source://prism//lib/prism/node.rb#19285
+Prism::IntegerBaseFlags::OCTAL = T.let(T.unsafe(nil), Integer)
+
+# Represents an integer number literal.
+#
+# 1
+# ^
+#
+# source://prism//lib/prism/node.rb#10755
+class Prism::IntegerNode < ::Prism::Node
+ # def initialize: (Integer flags, Location location) -> void
+ #
+ # @return [IntegerNode] a new instance of IntegerNode
+ #
+ # source://prism//lib/prism/node.rb#10757
+ def initialize(source, flags, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#10765
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def binary?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#10807
+ sig { returns(T::Boolean) }
+ def binary?; end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#10770
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#10780
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#10775
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> IntegerNode
+ #
+ # source://prism//lib/prism/node.rb#10785
+ sig { params(params: T.untyped).returns(Prism::IntegerNode) }
+ def copy(**params); end
+
+ # def decimal?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#10812
+ sig { returns(T::Boolean) }
+ def decimal?; end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#10770
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#10797
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def hexadecimal?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#10822
+ sig { returns(T::Boolean) }
+ def hexadecimal?; end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#10827
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # def octal?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#10817
+ sig { returns(T::Boolean) }
+ def octal?; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#10848
+ def type; end
+
+ # Returns the value of the node as a Ruby Integer.
+ #
+ # source://prism//lib/prism/node_ext.rb#76
+ def value; end
+
+ private
+
+ # private attr_reader flags: Integer
+ #
+ # source://prism//lib/prism/node.rb#10802
+ sig { returns(Integer) }
+ def flags; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#10858
+ def type; end
+ end
+end
+
+# Represents a regular expression literal that contains interpolation that is being used in the predicate of a conditional to implicitly match against the last line read by an IO object.
+#
+# if /foo #{bar} baz/ then end
+# ^^^^^^^^^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#10867
+class Prism::InterpolatedMatchLastLineNode < ::Prism::Node
+ include ::Prism::RegularExpressionOptions
+
+ # def initialize: (Integer flags, Location opening_loc, Array[Node] parts, Location closing_loc, Location location) -> void
+ #
+ # @return [InterpolatedMatchLastLineNode] a new instance of InterpolatedMatchLastLineNode
+ #
+ # source://prism//lib/prism/node.rb#10869
+ def initialize(source, flags, opening_loc, parts, closing_loc, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#10880
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def ascii_8bit?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#10970
+ sig { returns(T::Boolean) }
+ def ascii_8bit?; end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#10890
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def closing: () -> String
+ #
+ # source://prism//lib/prism/node.rb#11005
+ sig { returns(String) }
+ def closing; end
+
+ # attr_reader closing_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#10938
+ sig { returns(Prism::Location) }
+ def closing_loc; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#10900
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#10895
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> InterpolatedMatchLastLineNode
+ #
+ # source://prism//lib/prism/node.rb#10905
+ sig { params(params: T.untyped).returns(Prism::InterpolatedMatchLastLineNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#10890
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, opening_loc: Location, parts: Array[Node], closing_loc: Location, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#10920
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def euc_jp?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#10965
+ sig { returns(T::Boolean) }
+ def euc_jp?; end
+
+ # def extended?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#10950
+ sig { returns(T::Boolean) }
+ def extended?; end
+
+ # def forced_binary_encoding?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#10990
+ sig { returns(T::Boolean) }
+ def forced_binary_encoding?; end
+
+ # def forced_us_ascii_encoding?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#10995
+ sig { returns(T::Boolean) }
+ def forced_us_ascii_encoding?; end
+
+ # def forced_utf8_encoding?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#10985
+ sig { returns(T::Boolean) }
+ def forced_utf8_encoding?; end
+
+ # def ignore_case?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#10945
+ sig { returns(T::Boolean) }
+ def ignore_case?; end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#11010
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # def multi_line?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#10955
+ sig { returns(T::Boolean) }
+ def multi_line?; end
+
+ # def once?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#10960
+ sig { returns(T::Boolean) }
+ def once?; end
+
+ # def opening: () -> String
+ #
+ # source://prism//lib/prism/node.rb#11000
+ sig { returns(String) }
+ def opening; end
+
+ # attr_reader opening_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#10929
+ sig { returns(Prism::Location) }
+ def opening_loc; end
+
+ # attr_reader parts: Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#10935
+ sig { returns(T::Array[Prism::Node]) }
+ def parts; end
+
+ # source://prism//lib/prism/node.rb#10884
+ def set_newline_flag(newline_marked); end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#11034
+ def type; end
+
+ # def utf_8?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#10980
+ sig { returns(T::Boolean) }
+ def utf_8?; end
+
+ # def windows_31j?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#10975
+ sig { returns(T::Boolean) }
+ def windows_31j?; end
+
+ private
+
+ # private attr_reader flags: Integer
+ #
+ # source://prism//lib/prism/node.rb#10925
+ sig { returns(Integer) }
+ def flags; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#11044
+ def type; end
+ end
+end
+
+# Represents a regular expression literal that contains interpolation.
+#
+# /foo #{bar} baz/
+# ^^^^^^^^^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#11053
+class Prism::InterpolatedRegularExpressionNode < ::Prism::Node
+ include ::Prism::RegularExpressionOptions
+
+ # def initialize: (Integer flags, Location opening_loc, Array[Node] parts, Location closing_loc, Location location) -> void
+ #
+ # @return [InterpolatedRegularExpressionNode] a new instance of InterpolatedRegularExpressionNode
+ #
+ # source://prism//lib/prism/node.rb#11055
+ def initialize(source, flags, opening_loc, parts, closing_loc, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#11066
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def ascii_8bit?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#11156
+ sig { returns(T::Boolean) }
+ def ascii_8bit?; end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#11076
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def closing: () -> String
+ #
+ # source://prism//lib/prism/node.rb#11191
+ sig { returns(String) }
+ def closing; end
+
+ # attr_reader closing_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#11124
+ sig { returns(Prism::Location) }
+ def closing_loc; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#11086
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#11081
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> InterpolatedRegularExpressionNode
+ #
+ # source://prism//lib/prism/node.rb#11091
+ sig { params(params: T.untyped).returns(Prism::InterpolatedRegularExpressionNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#11076
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, opening_loc: Location, parts: Array[Node], closing_loc: Location, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#11106
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def euc_jp?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#11151
+ sig { returns(T::Boolean) }
+ def euc_jp?; end
+
+ # def extended?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#11136
+ sig { returns(T::Boolean) }
+ def extended?; end
+
+ # def forced_binary_encoding?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#11176
+ sig { returns(T::Boolean) }
+ def forced_binary_encoding?; end
+
+ # def forced_us_ascii_encoding?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#11181
+ sig { returns(T::Boolean) }
+ def forced_us_ascii_encoding?; end
+
+ # def forced_utf8_encoding?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#11171
+ sig { returns(T::Boolean) }
+ def forced_utf8_encoding?; end
+
+ # def ignore_case?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#11131
+ sig { returns(T::Boolean) }
+ def ignore_case?; end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#11196
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # def multi_line?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#11141
+ sig { returns(T::Boolean) }
+ def multi_line?; end
+
+ # def once?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#11146
+ sig { returns(T::Boolean) }
+ def once?; end
+
+ # def opening: () -> String
+ #
+ # source://prism//lib/prism/node.rb#11186
+ sig { returns(String) }
+ def opening; end
+
+ # attr_reader opening_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#11115
+ sig { returns(Prism::Location) }
+ def opening_loc; end
+
+ # attr_reader parts: Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#11121
+ sig { returns(T::Array[Prism::Node]) }
+ def parts; end
+
+ # source://prism//lib/prism/node.rb#11070
+ def set_newline_flag(newline_marked); end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#11220
+ def type; end
+
+ # def utf_8?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#11166
+ sig { returns(T::Boolean) }
+ def utf_8?; end
+
+ # def windows_31j?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#11161
+ sig { returns(T::Boolean) }
+ def windows_31j?; end
+
+ private
+
+ # private attr_reader flags: Integer
+ #
+ # source://prism//lib/prism/node.rb#11111
+ sig { returns(Integer) }
+ def flags; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#11230
+ def type; end
+ end
+end
+
+# Represents a string literal that contains interpolation.
+#
+# "foo #{bar} baz"
+# ^^^^^^^^^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#11239
+class Prism::InterpolatedStringNode < ::Prism::Node
+ include ::Prism::HeredocQuery
+
+ # def initialize: (Location? opening_loc, Array[Node] parts, Location? closing_loc, Location location) -> void
+ #
+ # @return [InterpolatedStringNode] a new instance of InterpolatedStringNode
+ #
+ # source://prism//lib/prism/node.rb#11241
+ def initialize(source, opening_loc, parts, closing_loc, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#11251
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#11261
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def closing: () -> String?
+ #
+ # source://prism//lib/prism/node.rb#11328
+ sig { returns(T.nilable(String)) }
+ def closing; end
+
+ # attr_reader closing_loc: Location?
+ #
+ # source://prism//lib/prism/node.rb#11310
+ sig { returns(T.nilable(Prism::Location)) }
+ def closing_loc; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#11271
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#11266
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> InterpolatedStringNode
+ #
+ # source://prism//lib/prism/node.rb#11276
+ sig { params(params: T.untyped).returns(Prism::InterpolatedStringNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#11261
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { opening_loc: Location?, parts: Array[Node], closing_loc: Location?, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#11290
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#11333
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # def opening: () -> String?
+ #
+ # source://prism//lib/prism/node.rb#11323
+ sig { returns(T.nilable(String)) }
+ def opening; end
+
+ # attr_reader opening_loc: Location?
+ #
+ # source://prism//lib/prism/node.rb#11295
+ sig { returns(T.nilable(Prism::Location)) }
+ def opening_loc; end
+
+ # attr_reader parts: Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#11307
+ sig { returns(T::Array[Prism::Node]) }
+ def parts; end
+
+ # source://prism//lib/prism/node.rb#11255
+ def set_newline_flag(newline_marked); end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#11355
+ def type; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#11365
+ def type; end
+ end
+end
+
+# Represents a symbol literal that contains interpolation.
+#
+# :"foo #{bar} baz"
+# ^^^^^^^^^^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#11374
+class Prism::InterpolatedSymbolNode < ::Prism::Node
+ # def initialize: (Location? opening_loc, Array[Node] parts, Location? closing_loc, Location location) -> void
+ #
+ # @return [InterpolatedSymbolNode] a new instance of InterpolatedSymbolNode
+ #
+ # source://prism//lib/prism/node.rb#11376
+ def initialize(source, opening_loc, parts, closing_loc, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#11386
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#11396
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def closing: () -> String?
+ #
+ # source://prism//lib/prism/node.rb#11463
+ sig { returns(T.nilable(String)) }
+ def closing; end
+
+ # attr_reader closing_loc: Location?
+ #
+ # source://prism//lib/prism/node.rb#11445
+ sig { returns(T.nilable(Prism::Location)) }
+ def closing_loc; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#11406
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#11401
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> InterpolatedSymbolNode
+ #
+ # source://prism//lib/prism/node.rb#11411
+ sig { params(params: T.untyped).returns(Prism::InterpolatedSymbolNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#11396
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { opening_loc: Location?, parts: Array[Node], closing_loc: Location?, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#11425
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#11468
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # def opening: () -> String?
+ #
+ # source://prism//lib/prism/node.rb#11458
+ sig { returns(T.nilable(String)) }
+ def opening; end
+
+ # attr_reader opening_loc: Location?
+ #
+ # source://prism//lib/prism/node.rb#11430
+ sig { returns(T.nilable(Prism::Location)) }
+ def opening_loc; end
+
+ # attr_reader parts: Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#11442
+ sig { returns(T::Array[Prism::Node]) }
+ def parts; end
+
+ # source://prism//lib/prism/node.rb#11390
+ def set_newline_flag(newline_marked); end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#11490
+ def type; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#11500
+ def type; end
+ end
+end
+
+# Represents an xstring literal that contains interpolation.
+#
+# `foo #{bar} baz`
+# ^^^^^^^^^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#11509
+class Prism::InterpolatedXStringNode < ::Prism::Node
+ include ::Prism::HeredocQuery
+
+ # def initialize: (Location opening_loc, Array[Node] parts, Location closing_loc, Location location) -> void
+ #
+ # @return [InterpolatedXStringNode] a new instance of InterpolatedXStringNode
+ #
+ # source://prism//lib/prism/node.rb#11511
+ def initialize(source, opening_loc, parts, closing_loc, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#11521
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#11531
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def closing: () -> String
+ #
+ # source://prism//lib/prism/node.rb#11586
+ sig { returns(String) }
+ def closing; end
+
+ # attr_reader closing_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#11574
+ sig { returns(Prism::Location) }
+ def closing_loc; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#11541
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#11536
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> InterpolatedXStringNode
+ #
+ # source://prism//lib/prism/node.rb#11546
+ sig { params(params: T.untyped).returns(Prism::InterpolatedXStringNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#11531
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { opening_loc: Location, parts: Array[Node], closing_loc: Location, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#11560
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#11591
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # def opening: () -> String
+ #
+ # source://prism//lib/prism/node.rb#11581
+ sig { returns(String) }
+ def opening; end
+
+ # attr_reader opening_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#11565
+ sig { returns(Prism::Location) }
+ def opening_loc; end
+
+ # attr_reader parts: Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#11571
+ sig { returns(T::Array[Prism::Node]) }
+ def parts; end
+
+ # source://prism//lib/prism/node.rb#11525
+ def set_newline_flag(newline_marked); end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#11613
+ def type; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#11623
+ def type; end
+ end
+end
+
+# Represents a hash literal without opening and closing braces.
+#
+# foo(a: b)
+# ^^^^
+#
+# source://prism//lib/prism/node.rb#11632
+class Prism::KeywordHashNode < ::Prism::Node
+ # def initialize: (Integer flags, Array[Node] elements, Location location) -> void
+ #
+ # @return [KeywordHashNode] a new instance of KeywordHashNode
+ #
+ # source://prism//lib/prism/node.rb#11634
+ def initialize(source, flags, elements, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#11643
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#11648
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#11658
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#11653
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> KeywordHashNode
+ #
+ # source://prism//lib/prism/node.rb#11663
+ sig { params(params: T.untyped).returns(Prism::KeywordHashNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#11648
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, elements: Array[Node], location: Location }
+ #
+ # source://prism//lib/prism/node.rb#11676
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # attr_reader elements: Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#11685
+ sig { returns(T::Array[Prism::Node]) }
+ def elements; end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#11694
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # def symbol_keys?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#11689
+ sig { returns(T::Boolean) }
+ def symbol_keys?; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#11716
+ def type; end
+
+ private
+
+ # private attr_reader flags: Integer
+ #
+ # source://prism//lib/prism/node.rb#11681
+ sig { returns(Integer) }
+ def flags; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#11726
+ def type; end
+ end
+end
+
+# Flags for keyword hash nodes.
+#
+# source://prism//lib/prism/node.rb#19292
+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#19294
+Prism::KeywordHashNodeFlags::SYMBOL_KEYS = T.let(T.unsafe(nil), Integer)
+
+# Represents a keyword rest parameter to a method, block, or lambda definition.
+#
+# def a(**b)
+# ^^^
+# end
+#
+# source://prism//lib/prism/node.rb#11736
+class Prism::KeywordRestParameterNode < ::Prism::Node
+ # def initialize: (Integer flags, Symbol? name, Location? name_loc, Location operator_loc, Location location) -> void
+ #
+ # @return [KeywordRestParameterNode] a new instance of KeywordRestParameterNode
+ #
+ # source://prism//lib/prism/node.rb#11738
+ def initialize(source, flags, name, name_loc, operator_loc, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#11749
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#11754
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#11764
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#11759
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> KeywordRestParameterNode
+ #
+ # source://prism//lib/prism/node.rb#11769
+ sig { params(params: T.untyped).returns(Prism::KeywordRestParameterNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#11754
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, name: Symbol?, name_loc: Location?, operator_loc: Location, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#11784
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#11825
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # attr_reader name: Symbol?
+ #
+ # source://prism//lib/prism/node.rb#11793
+ sig { returns(T.nilable(Symbol)) }
+ def name; end
+
+ # attr_reader name_loc: Location?
+ #
+ # source://prism//lib/prism/node.rb#11796
+ sig { returns(T.nilable(Prism::Location)) }
+ def name_loc; end
+
+ # def operator: () -> String
+ #
+ # source://prism//lib/prism/node.rb#11820
+ sig { returns(String) }
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#11808
+ sig { returns(Prism::Location) }
+ def operator_loc; end
+
+ # def repeated_parameter?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#11815
+ sig { returns(T::Boolean) }
+ def repeated_parameter?; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#11853
+ def type; end
+
+ private
+
+ # private attr_reader flags: Integer
+ #
+ # source://prism//lib/prism/node.rb#11789
+ sig { returns(Integer) }
+ def flags; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#11863
+ def type; end
+ end
+end
+
+# Represents using a lambda literal (not the lambda method call).
+#
+# ->(value) { value * 2 }
+# ^^^^^^^^^^^^^^^^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#11872
+class Prism::LambdaNode < ::Prism::Node
+ # def initialize: (Array[Symbol] locals, Location operator_loc, Location opening_loc, Location closing_loc, Node? parameters, Node? body, Location location) -> void
+ #
+ # @return [LambdaNode] a new instance of LambdaNode
+ #
+ # source://prism//lib/prism/node.rb#11874
+ def initialize(source, locals, operator_loc, opening_loc, closing_loc, parameters, body, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#11887
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # attr_reader body: Node?
+ #
+ # source://prism//lib/prism/node.rb#11956
+ sig { returns(T.nilable(Prism::Node)) }
+ def body; end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#11892
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def closing: () -> String
+ #
+ # source://prism//lib/prism/node.rb#11970
+ sig { returns(String) }
+ def closing; end
+
+ # attr_reader closing_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#11947
+ sig { returns(Prism::Location) }
+ def closing_loc; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#11905
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#11897
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> LambdaNode
+ #
+ # source://prism//lib/prism/node.rb#11910
+ sig { params(params: T.untyped).returns(Prism::LambdaNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#11892
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { locals: Array[Symbol], operator_loc: Location, opening_loc: Location, closing_loc: Location, parameters: Node?, body: Node?, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#11927
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#11975
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # attr_reader locals: Array[Symbol]
+ #
+ # source://prism//lib/prism/node.rb#11932
+ sig { returns(T::Array[Symbol]) }
+ def locals; end
+
+ # def opening: () -> String
+ #
+ # source://prism//lib/prism/node.rb#11965
+ sig { returns(String) }
+ def opening; end
+
+ # attr_reader opening_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#11941
+ sig { returns(Prism::Location) }
+ def opening_loc; end
+
+ # def operator: () -> String
+ #
+ # source://prism//lib/prism/node.rb#11960
+ sig { returns(String) }
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#11935
+ sig { returns(Prism::Location) }
+ def operator_loc; end
+
+ # attr_reader parameters: Node?
+ #
+ # source://prism//lib/prism/node.rb#11953
+ sig { returns(T.nilable(Prism::Node)) }
+ def parameters; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#12010
+ def type; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#12020
+ def type; end
+ end
+end
+
+# This class is responsible for lexing the source using prism and then
+# converting those tokens to be compatible with Ripper. In the vast majority
+# of cases, this is a one-to-one mapping of the token type. Everything else
+# generally lines up. However, there are a few cases that require special
+# handling.
+#
+# source://prism//lib/prism/lex_compat.rb#12
+class Prism::LexCompat
+ # @return [LexCompat] a new instance of LexCompat
+ #
+ # source://prism//lib/prism/lex_compat.rb#600
+ def initialize(source, **options); end
+
+ # Returns the value of attribute options.
+ #
+ # source://prism//lib/prism/lex_compat.rb#598
+ def options; end
+
+ # source://prism//lib/prism/lex_compat.rb#605
+ def result; end
+
+ # Returns the value of attribute source.
+ #
+ # source://prism//lib/prism/lex_compat.rb#598
+ def source; end
+end
+
+# Ripper doesn't include the rest of the token in the event, so we need to
+# trim it down to just the content on the first line when comparing.
+#
+# source://prism//lib/prism/lex_compat.rb#211
+class Prism::LexCompat::EndContentToken < ::Prism::LexCompat::Token
+ # source://prism//lib/prism/lex_compat.rb#212
+ def ==(other); end
+end
+
+# A heredoc in this case is a list of tokens that belong to the body of the
+# heredoc that should be appended onto the list of tokens when the heredoc
+# closes.
+#
+# source://prism//lib/prism/lex_compat.rb#272
+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#584
+ def build(opening); end
+ end
+end
+
+# Dash heredocs are a little more complicated. They are a list of tokens
+# that need to be split on "\\\n" to mimic Ripper's behavior. We also need
+# to keep track of the state that the heredoc was opened in.
+#
+# source://prism//lib/prism/lex_compat.rb#296
+class Prism::LexCompat::Heredoc::DashHeredoc
+ # @return [DashHeredoc] a new instance of DashHeredoc
+ #
+ # source://prism//lib/prism/lex_compat.rb#299
+ def initialize(split); end
+
+ # source://prism//lib/prism/lex_compat.rb#304
+ def <<(token); end
+
+ # source://prism//lib/prism/lex_compat.rb#297
+ def split; end
+
+ # source://prism//lib/prism/lex_compat.rb#308
+ def to_a; end
+
+ # source://prism//lib/prism/lex_compat.rb#297
+ def tokens; end
+end
+
+# Heredocs that are dedenting heredocs are a little more complicated.
+# Ripper outputs on_ignored_sp tokens for the whitespace that is being
+# removed from the output. prism only modifies the node itself and keeps
+# the token the same. This simplifies prism, but makes comparing against
+# Ripper much harder because there is a length mismatch.
+#
+# Fortunately, we already have to pull out the heredoc tokens in order to
+# insert them into the stream in the correct order. As such, we can do
+# some extra manipulation on the tokens to make them match Ripper's
+# output by mirroring the dedent logic that Ripper uses.
+#
+# source://prism//lib/prism/lex_compat.rb#355
+class Prism::LexCompat::Heredoc::DedentingHeredoc
+ # @return [DedentingHeredoc] a new instance of DedentingHeredoc
+ #
+ # source://prism//lib/prism/lex_compat.rb#360
+ 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#371
+ def <<(token); end
+
+ # Returns the value of attribute dedent.
+ #
+ # source://prism//lib/prism/lex_compat.rb#358
+ def dedent; end
+
+ # Returns the value of attribute dedent_next.
+ #
+ # source://prism//lib/prism/lex_compat.rb#358
+ def dedent_next; end
+
+ # Returns the value of attribute embexpr_balance.
+ #
+ # source://prism//lib/prism/lex_compat.rb#358
+ def embexpr_balance; end
+
+ # source://prism//lib/prism/lex_compat.rb#408
+ def to_a; end
+
+ # Returns the value of attribute tokens.
+ #
+ # source://prism//lib/prism/lex_compat.rb#358
+ def tokens; end
+end
+
+# source://prism//lib/prism/lex_compat.rb#356
+Prism::LexCompat::Heredoc::DedentingHeredoc::TAB_WIDTH = T.let(T.unsafe(nil), Integer)
+
+# Heredocs that are no dash or tilde heredocs are just a list of tokens.
+# We need to keep them around so that we can insert them in the correct
+# order back into the token stream and set the state of the last token to
+# the state that the heredoc was opened in.
+#
+# source://prism//lib/prism/lex_compat.rb#277
+class Prism::LexCompat::Heredoc::PlainHeredoc
+ # @return [PlainHeredoc] a new instance of PlainHeredoc
+ #
+ # source://prism//lib/prism/lex_compat.rb#280
+ def initialize; end
+
+ # source://prism//lib/prism/lex_compat.rb#284
+ def <<(token); end
+
+ # source://prism//lib/prism/lex_compat.rb#288
+ def to_a; end
+
+ # source://prism//lib/prism/lex_compat.rb#278
+ def tokens; end
+end
+
+# Ident tokens for the most part are exactly the same, except sometimes we
+# know an ident is a local when ripper doesn't (when they are introduced
+# through named captures in regular expressions). In that case we don't
+# compare the state.
+#
+# source://prism//lib/prism/lex_compat.rb#229
+class Prism::LexCompat::IdentToken < ::Prism::LexCompat::Token
+ # source://prism//lib/prism/lex_compat.rb#230
+ 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#219
+class Prism::LexCompat::IgnoreStateToken < ::Prism::LexCompat::Token
+ # source://prism//lib/prism/lex_compat.rb#220
+ 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#240
+class Prism::LexCompat::IgnoredNewlineToken < ::Prism::LexCompat::Token
+ # source://prism//lib/prism/lex_compat.rb#241
+ def ==(other); end
+end
+
+# If we have an identifier that follows a method name like:
+#
+# def foo bar
+#
+# then Ripper will mark bar as END|LABEL if there is a local in a parent
+# scope named bar because it hasn't pushed the local table yet. We do this
+# more accurately, so we need to allow comparing against both END and
+# END|LABEL.
+#
+# source://prism//lib/prism/lex_compat.rb#260
+class Prism::LexCompat::ParamToken < ::Prism::LexCompat::Token
+ # source://prism//lib/prism/lex_compat.rb#261
+ def ==(other); end
+end
+
+# This is a mapping of prism token types to Ripper token types. This is a
+# many-to-one mapping because we split up our token types, whereas Ripper
+# tends to group them.
+#
+# source://prism//lib/prism/lex_compat.rb#16
+Prism::LexCompat::RIPPER = T.let(T.unsafe(nil), Hash)
+
+# When we produce tokens, we produce the same arrays that Ripper does.
+# However, we add a couple of convenience methods onto them to make them a
+# little easier to work with. We delegate all other methods to the array.
+#
+# source://prism//lib/prism/lex_compat.rb#187
+class Prism::LexCompat::Token < ::SimpleDelegator
+ # The type of the token.
+ #
+ # source://prism//lib/prism/lex_compat.rb#194
+ def event; end
+
+ # The location of the token in the source.
+ #
+ # source://prism//lib/prism/lex_compat.rb#189
+ def location; end
+
+ # The state of the lexer when this token was produced.
+ #
+ # source://prism//lib/prism/lex_compat.rb#204
+ def state; end
+
+ # The slice of the source that this token represents.
+ #
+ # source://prism//lib/prism/lex_compat.rb#199
+ def value; end
+end
+
+# This is a class that wraps the Ripper lexer to produce almost exactly the
+# same tokens.
+#
+# source://prism//lib/prism/lex_compat.rb#853
+class Prism::LexRipper
+ # @return [LexRipper] a new instance of LexRipper
+ #
+ # source://prism//lib/prism/lex_compat.rb#856
+ def initialize(source); end
+
+ # source://prism//lib/prism/lex_compat.rb#860
+ def result; end
+
+ # source://prism//lib/prism/lex_compat.rb#854
+ def source; end
+
+ private
+
+ # source://prism//lib/prism/lex_compat.rb#894
+ def lex(source); end
+end
+
+# Represents the use of the `&&=` operator for assignment to a local variable.
+#
+# target &&= value
+# ^^^^^^^^^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#12029
+class Prism::LocalVariableAndWriteNode < ::Prism::Node
+ # def initialize: (Location name_loc, Location operator_loc, Node value, Symbol name, Integer depth, Location location) -> void
+ #
+ # @return [LocalVariableAndWriteNode] a new instance of LocalVariableAndWriteNode
+ #
+ # source://prism//lib/prism/node.rb#12031
+ def initialize(source, name_loc, operator_loc, value, name, depth, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#12043
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#12048
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#12058
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#12053
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> LocalVariableAndWriteNode
+ #
+ # source://prism//lib/prism/node.rb#12063
+ sig { params(params: T.untyped).returns(Prism::LocalVariableAndWriteNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#12048
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { name_loc: Location, operator_loc: Location, value: Node, name: Symbol, depth: Integer, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#12079
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # attr_reader depth: Integer
+ #
+ # source://prism//lib/prism/node.rb#12102
+ sig { returns(Integer) }
+ def depth; end
+
+ # source://prism//lib/prism/desugar_compiler.rb#197
+ def desugar; end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#12111
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # attr_reader name: Symbol
+ #
+ # source://prism//lib/prism/node.rb#12099
+ sig { returns(Symbol) }
+ def name; end
+
+ # attr_reader name_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#12084
+ sig { returns(Prism::Location) }
+ def name_loc; end
+
+ # def operator: () -> String
+ #
+ # source://prism//lib/prism/node.rb#12106
+ sig { returns(String) }
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#12090
+ sig { returns(Prism::Location) }
+ def operator_loc; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#12136
+ def type; end
+
+ # attr_reader value: Node
+ #
+ # source://prism//lib/prism/node.rb#12096
+ sig { returns(Prism::Node) }
+ def value; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#12146
+ def type; end
+ end
+end
+
+# Represents assigning to a local variable using an operator that isn't `=`.
+#
+# target += value
+# ^^^^^^^^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#12155
+class Prism::LocalVariableOperatorWriteNode < ::Prism::Node
+ # def initialize: (Location name_loc, Location operator_loc, Node value, Symbol name, Symbol operator, Integer depth, Location location) -> void
+ #
+ # @return [LocalVariableOperatorWriteNode] a new instance of LocalVariableOperatorWriteNode
+ #
+ # source://prism//lib/prism/node.rb#12157
+ def initialize(source, name_loc, operator_loc, value, name, operator, depth, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#12170
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#12175
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#12185
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#12180
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> LocalVariableOperatorWriteNode
+ #
+ # source://prism//lib/prism/node.rb#12190
+ sig { params(params: T.untyped).returns(Prism::LocalVariableOperatorWriteNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#12175
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { name_loc: Location, operator_loc: Location, value: Node, name: Symbol, operator: Symbol, depth: Integer, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#12207
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # attr_reader depth: Integer
+ #
+ # source://prism//lib/prism/node.rb#12233
+ sig { returns(Integer) }
+ def depth; end
+
+ # source://prism//lib/prism/desugar_compiler.rb#209
+ def desugar; end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#12237
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # attr_reader name: Symbol
+ #
+ # source://prism//lib/prism/node.rb#12227
+ sig { returns(Symbol) }
+ def name; end
+
+ # attr_reader name_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#12212
+ sig { returns(Prism::Location) }
+ def name_loc; end
+
+ # attr_reader operator: Symbol
+ #
+ # source://prism//lib/prism/node.rb#12230
+ sig { returns(Symbol) }
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#12218
+ sig { returns(Prism::Location) }
+ def operator_loc; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#12263
+ def type; end
+
+ # attr_reader value: Node
+ #
+ # source://prism//lib/prism/node.rb#12224
+ sig { returns(Prism::Node) }
+ def value; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#12273
+ def type; end
+ end
+end
+
+# Represents the use of the `||=` operator for assignment to a local variable.
+#
+# target ||= value
+# ^^^^^^^^^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#12282
+class Prism::LocalVariableOrWriteNode < ::Prism::Node
+ # def initialize: (Location name_loc, Location operator_loc, Node value, Symbol name, Integer depth, Location location) -> void
+ #
+ # @return [LocalVariableOrWriteNode] a new instance of LocalVariableOrWriteNode
+ #
+ # source://prism//lib/prism/node.rb#12284
+ def initialize(source, name_loc, operator_loc, value, name, depth, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#12296
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#12301
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#12311
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#12306
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> LocalVariableOrWriteNode
+ #
+ # source://prism//lib/prism/node.rb#12316
+ sig { params(params: T.untyped).returns(Prism::LocalVariableOrWriteNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#12301
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { name_loc: Location, operator_loc: Location, value: Node, name: Symbol, depth: Integer, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#12332
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # attr_reader depth: Integer
+ #
+ # source://prism//lib/prism/node.rb#12355
+ sig { returns(Integer) }
+ def depth; end
+
+ # source://prism//lib/prism/desugar_compiler.rb#203
+ def desugar; end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#12364
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # attr_reader name: Symbol
+ #
+ # source://prism//lib/prism/node.rb#12352
+ sig { returns(Symbol) }
+ def name; end
+
+ # attr_reader name_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#12337
+ sig { returns(Prism::Location) }
+ def name_loc; end
+
+ # def operator: () -> String
+ #
+ # source://prism//lib/prism/node.rb#12359
+ sig { returns(String) }
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#12343
+ sig { returns(Prism::Location) }
+ def operator_loc; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#12389
+ def type; end
+
+ # attr_reader value: Node
+ #
+ # source://prism//lib/prism/node.rb#12349
+ sig { returns(Prism::Node) }
+ def value; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#12399
+ def type; end
+ end
+end
+
+# Represents reading a local variable. Note that this requires that a local variable of the same name has already been written to in the same scope, otherwise it is parsed as a method call.
+#
+# foo
+# ^^^
+#
+# source://prism//lib/prism/node.rb#12408
+class Prism::LocalVariableReadNode < ::Prism::Node
+ # def initialize: (Symbol name, Integer depth, Location location) -> void
+ #
+ # @return [LocalVariableReadNode] a new instance of LocalVariableReadNode
+ #
+ # source://prism//lib/prism/node.rb#12410
+ def initialize(source, name, depth, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#12419
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#12424
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#12434
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#12429
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> LocalVariableReadNode
+ #
+ # source://prism//lib/prism/node.rb#12439
+ sig { params(params: T.untyped).returns(Prism::LocalVariableReadNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#12424
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, depth: Integer, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#12452
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # The number of visible scopes that should be searched to find the origin of this local variable.
+ #
+ # foo = 1; foo # depth 0
+ #
+ # bar = 2; tap { bar } # depth 1
+ #
+ # The specific rules for calculating the depth may differ from individual Ruby implementations, as they are not specified by the language. For more information, see [the Prism documentation](https://github.com/ruby/prism/blob/main/docs/local_variable_depth.md).
+ #
+ # source://prism//lib/prism/node.rb#12478
+ sig { returns(Integer) }
+ def depth; end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#12482
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # The name of the local variable, which is an [identifier](https://github.com/ruby/prism/blob/main/docs/parsing_rules.md#identifiers).
+ #
+ # x # name `:x`
+ #
+ # _Test # name `:_Test`
+ #
+ # Note that this can also be an underscore followed by a number for the default block parameters.
+ #
+ # _1 # name `:_1`
+ #
+ # Finally, for the default `it` block parameter, the name is `0it`. This is to distinguish it from an `it` local variable that is explicitly declared.
+ #
+ # it # name `:0it`
+ #
+ # source://prism//lib/prism/node.rb#12469
+ sig { returns(Symbol) }
+ def name; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#12503
+ def type; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#12513
+ def type; end
+ end
+end
+
+# Represents writing to a local variable in a context that doesn't have an explicit value.
+#
+# foo, bar = baz
+# ^^^ ^^^
+#
+# source://prism//lib/prism/node.rb#12522
+class Prism::LocalVariableTargetNode < ::Prism::Node
+ # def initialize: (Symbol name, Integer depth, Location location) -> void
+ #
+ # @return [LocalVariableTargetNode] a new instance of LocalVariableTargetNode
+ #
+ # source://prism//lib/prism/node.rb#12524
+ def initialize(source, name, depth, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#12533
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#12538
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#12548
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#12543
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> LocalVariableTargetNode
+ #
+ # source://prism//lib/prism/node.rb#12553
+ sig { params(params: T.untyped).returns(Prism::LocalVariableTargetNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#12538
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, depth: Integer, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#12566
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # attr_reader depth: Integer
+ #
+ # source://prism//lib/prism/node.rb#12574
+ sig { returns(Integer) }
+ def depth; end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#12578
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # attr_reader name: Symbol
+ #
+ # source://prism//lib/prism/node.rb#12571
+ sig { returns(Symbol) }
+ def name; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#12599
+ def type; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#12609
+ def type; end
+ end
+end
+
+# Represents writing to a local variable.
+#
+# foo = 1
+# ^^^^^^^
+#
+# source://prism//lib/prism/node.rb#12618
+class Prism::LocalVariableWriteNode < ::Prism::Node
+ # def initialize: (Symbol name, Integer depth, Location name_loc, Node value, Location operator_loc, Location location) -> void
+ #
+ # @return [LocalVariableWriteNode] a new instance of LocalVariableWriteNode
+ #
+ # source://prism//lib/prism/node.rb#12620
+ def initialize(source, name, depth, name_loc, value, operator_loc, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#12632
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#12637
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#12647
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#12642
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> LocalVariableWriteNode
+ #
+ # source://prism//lib/prism/node.rb#12652
+ sig { params(params: T.untyped).returns(Prism::LocalVariableWriteNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#12637
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, depth: Integer, name_loc: Location, value: Node, operator_loc: Location, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#12668
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # attr_reader depth: Integer
+ #
+ # source://prism//lib/prism/node.rb#12676
+ sig { returns(Integer) }
+ def depth; end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#12700
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # attr_reader name: Symbol
+ #
+ # source://prism//lib/prism/node.rb#12673
+ sig { returns(Symbol) }
+ def name; end
+
+ # attr_reader name_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#12679
+ sig { returns(Prism::Location) }
+ def name_loc; end
+
+ # def operator: () -> String
+ #
+ # source://prism//lib/prism/node.rb#12695
+ sig { returns(String) }
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#12688
+ sig { returns(Prism::Location) }
+ def operator_loc; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#12725
+ def type; end
+
+ # attr_reader value: Node
+ #
+ # source://prism//lib/prism/node.rb#12685
+ sig { returns(Prism::Node) }
+ def value; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#12735
+ def type; end
+ end
+end
+
+# This represents a location in the source.
+#
+# source://prism//lib/prism/parse_result.rb#98
+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#116
+ 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#232
+ def ==(other); end
+
+ # The list of comments attached to this location
+ #
+ # source://prism//lib/prism/parse_result.rb#112
+ 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#124
+ sig { params(options: T.untyped).returns(Prism::Location) }
+ def copy(**options); end
+
+ # Implement the hash pattern matching interface for Location.
+ #
+ # source://prism//lib/prism/parse_result.rb#222
+ 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#211
+ 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#160
+ 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#217
+ 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#165
+ 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#205
+ sig { returns(Integer) }
+ def end_column; end
+
+ # The line number where this location ends.
+ #
+ # source://prism//lib/prism/parse_result.rb#181
+ 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#154
+ sig { returns(Integer) }
+ def end_offset; end
+
+ # Returns a string representation of this location.
+ #
+ # source://prism//lib/prism/parse_result.rb#133
+ def inspect; end
+
+ # Returns a new location that stretches from this location to the given
+ # other location. Raises an error if this location is not before the other
+ # location or if they don't share the same source.
+ #
+ # source://prism//lib/prism/parse_result.rb#241
+ def join(other); end
+
+ # The length of this location in bytes.
+ #
+ # source://prism//lib/prism/parse_result.rb#109
+ def length; end
+
+ # Implement the pretty print interface for Location.
+ #
+ # source://prism//lib/prism/parse_result.rb#227
+ def pretty_print(q); end
+
+ # The source code that this location represents.
+ #
+ # source://prism//lib/prism/parse_result.rb#138
+ sig { returns(String) }
+ def slice; end
+
+ # The column number in characters where this location ends from the start of
+ # the line.
+ #
+ # source://prism//lib/prism/parse_result.rb#193
+ 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#144
+ 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#199
+ 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#149
+ 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#187
+ sig { returns(Integer) }
+ def start_column; end
+
+ # The line number where this location starts.
+ #
+ # source://prism//lib/prism/parse_result.rb#170
+ 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#175
+ 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#106
+ sig { returns(Integer) }
+ def start_offset; end
+
+ protected
+
+ # A Source object that is used to determine more information from the given
+ # offset and length.
+ #
+ # source://prism//lib/prism/parse_result.rb#101
+ def source; end
+
+ class << self
+ # Returns a null location that does not correspond to a source and points to
+ # the beginning of the file. Useful for when you want a location object but
+ # do not care where it points.
+ #
+ # source://prism//lib/prism/parse_result.rb#251
+ def null; end
+ end
+end
+
+# Flags for while and until loop nodes.
+#
+# source://prism//lib/prism/node.rb#19298
+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#19300
+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#303
+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#311
+ def initialize(key_loc, value_loc); end
+
+ # Implement the hash pattern matching interface for MagicComment.
+ #
+ # source://prism//lib/prism/parse_result.rb#327
+ def deconstruct_keys(keys); end
+
+ # Returns a string representation of this magic comment.
+ #
+ # source://prism//lib/prism/parse_result.rb#332
+ def inspect; end
+
+ # Returns the key of the magic comment by slicing it from the source code.
+ #
+ # source://prism//lib/prism/parse_result.rb#317
+ def key; end
+
+ # A Location object representing the location of the key in the source.
+ #
+ # source://prism//lib/prism/parse_result.rb#305
+ 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#322
+ def value; end
+
+ # A Location object representing the location of the value in the source.
+ #
+ # source://prism//lib/prism/parse_result.rb#308
+ def value_loc; end
+end
+
+# Represents a regular expression literal used in the predicate of a conditional to implicitly match against the last line read by an IO object.
+#
+# if /foo/i then end
+# ^^^^^^
+#
+# source://prism//lib/prism/node.rb#12744
+class Prism::MatchLastLineNode < ::Prism::Node
+ include ::Prism::RegularExpressionOptions
+
+ # def initialize: (Integer flags, Location opening_loc, Location content_loc, Location closing_loc, String unescaped, Location location) -> void
+ #
+ # @return [MatchLastLineNode] a new instance of MatchLastLineNode
+ #
+ # source://prism//lib/prism/node.rb#12746
+ def initialize(source, flags, opening_loc, content_loc, closing_loc, unescaped, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#12758
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def ascii_8bit?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#12850
+ sig { returns(T::Boolean) }
+ def ascii_8bit?; end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#12763
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def closing: () -> String
+ #
+ # source://prism//lib/prism/node.rb#12890
+ sig { returns(String) }
+ def closing; end
+
+ # attr_reader closing_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#12815
+ sig { returns(Prism::Location) }
+ def closing_loc; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#12773
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#12768
+ def compact_child_nodes; end
+
+ # def content: () -> String
+ #
+ # source://prism//lib/prism/node.rb#12885
+ sig { returns(String) }
+ def content; end
+
+ # attr_reader content_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#12809
+ sig { returns(Prism::Location) }
+ def content_loc; end
+
+ # def copy: (**params) -> MatchLastLineNode
+ #
+ # source://prism//lib/prism/node.rb#12778
+ sig { params(params: T.untyped).returns(Prism::MatchLastLineNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#12763
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, opening_loc: Location, content_loc: Location, closing_loc: Location, unescaped: String, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#12794
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def euc_jp?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#12845
+ sig { returns(T::Boolean) }
+ def euc_jp?; end
+
+ # def extended?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#12830
+ sig { returns(T::Boolean) }
+ def extended?; end
+
+ # def forced_binary_encoding?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#12870
+ sig { returns(T::Boolean) }
+ def forced_binary_encoding?; end
+
+ # def forced_us_ascii_encoding?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#12875
+ sig { returns(T::Boolean) }
+ def forced_us_ascii_encoding?; end
+
+ # def forced_utf8_encoding?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#12865
+ sig { returns(T::Boolean) }
+ def forced_utf8_encoding?; end
+
+ # def ignore_case?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#12825
+ sig { returns(T::Boolean) }
+ def ignore_case?; end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#12895
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # def multi_line?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#12835
+ sig { returns(T::Boolean) }
+ def multi_line?; end
+
+ # def once?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#12840
+ sig { returns(T::Boolean) }
+ def once?; end
+
+ # def opening: () -> String
+ #
+ # source://prism//lib/prism/node.rb#12880
+ sig { returns(String) }
+ def opening; end
+
+ # attr_reader opening_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#12803
+ sig { returns(Prism::Location) }
+ def opening_loc; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#12920
+ def type; end
+
+ # attr_reader unescaped: String
+ #
+ # source://prism//lib/prism/node.rb#12821
+ sig { returns(String) }
+ def unescaped; end
+
+ # def utf_8?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#12860
+ sig { returns(T::Boolean) }
+ def utf_8?; end
+
+ # def windows_31j?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#12855
+ sig { returns(T::Boolean) }
+ def windows_31j?; end
+
+ private
+
+ # private attr_reader flags: Integer
+ #
+ # source://prism//lib/prism/node.rb#12799
+ sig { returns(Integer) }
+ def flags; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#12930
+ def type; end
+ end
+end
+
+# Represents the use of the modifier `in` operator.
+#
+# foo in bar
+# ^^^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#12939
+class Prism::MatchPredicateNode < ::Prism::Node
+ # def initialize: (Node value, Node pattern, Location operator_loc, Location location) -> void
+ #
+ # @return [MatchPredicateNode] a new instance of MatchPredicateNode
+ #
+ # source://prism//lib/prism/node.rb#12941
+ def initialize(source, value, pattern, operator_loc, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#12951
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#12956
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#12966
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#12961
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> MatchPredicateNode
+ #
+ # source://prism//lib/prism/node.rb#12971
+ sig { params(params: T.untyped).returns(Prism::MatchPredicateNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#12956
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { value: Node, pattern: Node, operator_loc: Location, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#12985
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#13008
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # def operator: () -> String
+ #
+ # source://prism//lib/prism/node.rb#13003
+ sig { returns(String) }
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#12996
+ sig { returns(Prism::Location) }
+ def operator_loc; end
+
+ # attr_reader pattern: Node
+ #
+ # source://prism//lib/prism/node.rb#12993
+ sig { returns(Prism::Node) }
+ def pattern; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#13032
+ def type; end
+
+ # attr_reader value: Node
+ #
+ # source://prism//lib/prism/node.rb#12990
+ sig { returns(Prism::Node) }
+ def value; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#13042
+ def type; end
+ end
+end
+
+# Represents the use of the `=>` operator.
+#
+# foo => bar
+# ^^^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#13051
+class Prism::MatchRequiredNode < ::Prism::Node
+ # def initialize: (Node value, Node pattern, Location operator_loc, Location location) -> void
+ #
+ # @return [MatchRequiredNode] a new instance of MatchRequiredNode
+ #
+ # source://prism//lib/prism/node.rb#13053
+ def initialize(source, value, pattern, operator_loc, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#13063
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#13068
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#13078
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#13073
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> MatchRequiredNode
+ #
+ # source://prism//lib/prism/node.rb#13083
+ sig { params(params: T.untyped).returns(Prism::MatchRequiredNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#13068
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { value: Node, pattern: Node, operator_loc: Location, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#13097
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#13120
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # def operator: () -> String
+ #
+ # source://prism//lib/prism/node.rb#13115
+ sig { returns(String) }
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#13108
+ sig { returns(Prism::Location) }
+ def operator_loc; end
+
+ # attr_reader pattern: Node
+ #
+ # source://prism//lib/prism/node.rb#13105
+ sig { returns(Prism::Node) }
+ def pattern; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#13144
+ def type; end
+
+ # attr_reader value: Node
+ #
+ # source://prism//lib/prism/node.rb#13102
+ sig { returns(Prism::Node) }
+ def value; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#13154
+ def type; end
+ end
+end
+
+# Represents writing local variables using a regular expression match with named capture groups.
+#
+# /(?bar)/ =~ baz
+# ^^^^^^^^^^^^^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#13163
+class Prism::MatchWriteNode < ::Prism::Node
+ # def initialize: (CallNode call, Array[Node] targets, Location location) -> void
+ #
+ # @return [MatchWriteNode] a new instance of MatchWriteNode
+ #
+ # source://prism//lib/prism/node.rb#13165
+ def initialize(source, call, targets, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#13174
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # attr_reader call: CallNode
+ #
+ # source://prism//lib/prism/node.rb#13212
+ sig { returns(Prism::CallNode) }
+ def call; end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#13179
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#13189
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#13184
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> MatchWriteNode
+ #
+ # source://prism//lib/prism/node.rb#13194
+ sig { params(params: T.untyped).returns(Prism::MatchWriteNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#13179
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { call: CallNode, targets: Array[Node], location: Location }
+ #
+ # source://prism//lib/prism/node.rb#13207
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#13219
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # attr_reader targets: Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#13215
+ sig { returns(T::Array[Prism::Node]) }
+ def targets; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#13241
+ def type; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#13251
+ 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#13257
+class Prism::MissingNode < ::Prism::Node
+ # def initialize: (Location location) -> void
+ #
+ # @return [MissingNode] a new instance of MissingNode
+ #
+ # source://prism//lib/prism/node.rb#13259
+ def initialize(source, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#13266
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#13271
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#13281
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#13276
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> MissingNode
+ #
+ # source://prism//lib/prism/node.rb#13286
+ sig { params(params: T.untyped).returns(Prism::MissingNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#13271
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { location: Location }
+ #
+ # source://prism//lib/prism/node.rb#13297
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#13303
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#13322
+ def type; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#13332
+ def type; end
+ end
+end
+
+# Represents a module declaration involving the `module` keyword.
+#
+# module Foo end
+# ^^^^^^^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#13341
+class Prism::ModuleNode < ::Prism::Node
+ # def initialize: (Array[Symbol] locals, Location module_keyword_loc, Node constant_path, Node? body, Location end_keyword_loc, Symbol name, Location location) -> void
+ #
+ # @return [ModuleNode] a new instance of ModuleNode
+ #
+ # source://prism//lib/prism/node.rb#13343
+ def initialize(source, locals, module_keyword_loc, constant_path, body, end_keyword_loc, name, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#13356
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # attr_reader body: Node?
+ #
+ # source://prism//lib/prism/node.rb#13413
+ sig { returns(T.nilable(Prism::Node)) }
+ def body; end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#13361
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#13374
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#13366
+ def compact_child_nodes; end
+
+ # attr_reader constant_path: Node
+ #
+ # source://prism//lib/prism/node.rb#13410
+ sig { returns(Prism::Node) }
+ def constant_path; end
+
+ # def copy: (**params) -> ModuleNode
+ #
+ # source://prism//lib/prism/node.rb#13379
+ sig { params(params: T.untyped).returns(Prism::ModuleNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#13361
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { locals: Array[Symbol], module_keyword_loc: Location, constant_path: Node, body: Node?, end_keyword_loc: Location, name: Symbol, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#13396
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def end_keyword: () -> String
+ #
+ # source://prism//lib/prism/node.rb#13431
+ sig { returns(String) }
+ def end_keyword; end
+
+ # attr_reader end_keyword_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#13416
+ sig { returns(Prism::Location) }
+ def end_keyword_loc; end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#13436
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # attr_reader locals: Array[Symbol]
+ #
+ # source://prism//lib/prism/node.rb#13401
+ sig { returns(T::Array[Symbol]) }
+ def locals; end
+
+ # def module_keyword: () -> String
+ #
+ # source://prism//lib/prism/node.rb#13426
+ sig { returns(String) }
+ def module_keyword; end
+
+ # attr_reader module_keyword_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#13404
+ sig { returns(Prism::Location) }
+ def module_keyword_loc; end
+
+ # attr_reader name: Symbol
+ #
+ # source://prism//lib/prism/node.rb#13422
+ sig { returns(Symbol) }
+ def name; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#13467
+ def type; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#13477
+ def type; end
+ end
+end
+
+# Represents a multi-target expression.
+#
+# a, (b, c) = 1, 2, 3
+# ^^^^^^
+#
+# source://prism//lib/prism/node.rb#13486
+class Prism::MultiTargetNode < ::Prism::Node
+ # def initialize: (Array[Node] lefts, Node? rest, Array[Node] rights, Location? lparen_loc, Location? rparen_loc, Location location) -> void
+ #
+ # @return [MultiTargetNode] a new instance of MultiTargetNode
+ #
+ # source://prism//lib/prism/node.rb#13488
+ def initialize(source, lefts, rest, rights, lparen_loc, rparen_loc, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#13500
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#13505
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#13519
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#13510
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> MultiTargetNode
+ #
+ # source://prism//lib/prism/node.rb#13524
+ sig { params(params: T.untyped).returns(Prism::MultiTargetNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#13505
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { lefts: Array[Node], rest: Node?, rights: Array[Node], lparen_loc: Location?, rparen_loc: Location?, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#13540
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#13589
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # attr_reader lefts: Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#13545
+ sig { returns(T::Array[Prism::Node]) }
+ def lefts; end
+
+ # def lparen: () -> String?
+ #
+ # source://prism//lib/prism/node.rb#13579
+ sig { returns(T.nilable(String)) }
+ def lparen; end
+
+ # attr_reader lparen_loc: Location?
+ #
+ # source://prism//lib/prism/node.rb#13554
+ sig { returns(T.nilable(Prism::Location)) }
+ def lparen_loc; end
+
+ # attr_reader rest: Node?
+ #
+ # source://prism//lib/prism/node.rb#13548
+ sig { returns(T.nilable(Prism::Node)) }
+ def rest; end
+
+ # attr_reader rights: Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#13551
+ sig { returns(T::Array[Prism::Node]) }
+ def rights; end
+
+ # def rparen: () -> String?
+ #
+ # source://prism//lib/prism/node.rb#13584
+ sig { returns(T.nilable(String)) }
+ def rparen; end
+
+ # attr_reader rparen_loc: Location?
+ #
+ # source://prism//lib/prism/node.rb#13566
+ sig { returns(T.nilable(Prism::Location)) }
+ def rparen_loc; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#13618
+ def type; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#13628
+ def type; end
+ end
+end
+
+# Represents a write to a multi-target expression.
+#
+# a, b, c = 1, 2, 3
+# ^^^^^^^^^^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#13637
+class Prism::MultiWriteNode < ::Prism::Node
+ # def initialize: (Array[Node] lefts, Node? rest, Array[Node] rights, Location? lparen_loc, Location? rparen_loc, Location operator_loc, Node value, Location location) -> void
+ #
+ # @return [MultiWriteNode] a new instance of MultiWriteNode
+ #
+ # source://prism//lib/prism/node.rb#13639
+ def initialize(source, lefts, rest, rights, lparen_loc, rparen_loc, operator_loc, value, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#13653
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#13658
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#13673
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#13663
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> MultiWriteNode
+ #
+ # source://prism//lib/prism/node.rb#13678
+ sig { params(params: T.untyped).returns(Prism::MultiWriteNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#13658
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { lefts: Array[Node], rest: Node?, rights: Array[Node], lparen_loc: Location?, rparen_loc: Location?, operator_loc: Location, value: Node, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#13696
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#13759
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # attr_reader lefts: Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#13701
+ sig { returns(T::Array[Prism::Node]) }
+ def lefts; end
+
+ # def lparen: () -> String?
+ #
+ # source://prism//lib/prism/node.rb#13744
+ sig { returns(T.nilable(String)) }
+ def lparen; end
+
+ # attr_reader lparen_loc: Location?
+ #
+ # source://prism//lib/prism/node.rb#13710
+ sig { returns(T.nilable(Prism::Location)) }
+ def lparen_loc; end
+
+ # def operator: () -> String
+ #
+ # source://prism//lib/prism/node.rb#13754
+ sig { returns(String) }
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#13734
+ sig { returns(Prism::Location) }
+ def operator_loc; end
+
+ # attr_reader rest: Node?
+ #
+ # source://prism//lib/prism/node.rb#13704
+ sig { returns(T.nilable(Prism::Node)) }
+ def rest; end
+
+ # attr_reader rights: Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#13707
+ sig { returns(T::Array[Prism::Node]) }
+ def rights; end
+
+ # def rparen: () -> String?
+ #
+ # source://prism//lib/prism/node.rb#13749
+ sig { returns(T.nilable(String)) }
+ def rparen; end
+
+ # attr_reader rparen_loc: Location?
+ #
+ # source://prism//lib/prism/node.rb#13722
+ sig { returns(T.nilable(Prism::Location)) }
+ def rparen_loc; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#13791
+ def type; end
+
+ # attr_reader value: Node
+ #
+ # source://prism//lib/prism/node.rb#13740
+ sig { returns(Prism::Node) }
+ def value; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#13801
+ def type; end
+ end
+end
+
+# This visitor walks through the tree and copies each node as it is being
+# visited. This is useful for consumers that want to mutate the tree, as you
+# can change subtrees in place without effecting the rest of the tree.
+#
+# source://prism//lib/prism/mutation_compiler.rb#12
+class Prism::MutationCompiler < ::Prism::Compiler
+ # Copy a AliasGlobalVariableNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#14
+ def visit_alias_global_variable_node(node); end
+
+ # Copy a AliasMethodNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#19
+ def visit_alias_method_node(node); end
+
+ # Copy a AlternationPatternNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#24
+ def visit_alternation_pattern_node(node); end
+
+ # Copy a AndNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#29
+ def visit_and_node(node); end
+
+ # Copy a ArgumentsNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#34
+ def visit_arguments_node(node); end
+
+ # Copy a ArrayNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#39
+ def visit_array_node(node); end
+
+ # Copy a ArrayPatternNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#44
+ def visit_array_pattern_node(node); end
+
+ # Copy a AssocNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#49
+ def visit_assoc_node(node); end
+
+ # Copy a AssocSplatNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#54
+ def visit_assoc_splat_node(node); end
+
+ # Copy a BackReferenceReadNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#59
+ def visit_back_reference_read_node(node); end
+
+ # Copy a BeginNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#64
+ def visit_begin_node(node); end
+
+ # Copy a BlockArgumentNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#69
+ def visit_block_argument_node(node); end
+
+ # Copy a BlockLocalVariableNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#74
+ def visit_block_local_variable_node(node); end
+
+ # Copy a BlockNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#79
+ def visit_block_node(node); end
+
+ # Copy a BlockParameterNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#84
+ def visit_block_parameter_node(node); end
+
+ # Copy a BlockParametersNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#89
+ def visit_block_parameters_node(node); end
+
+ # Copy a BreakNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#94
+ def visit_break_node(node); end
+
+ # Copy a CallAndWriteNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#99
+ def visit_call_and_write_node(node); end
+
+ # Copy a CallNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#104
+ def visit_call_node(node); end
+
+ # Copy a CallOperatorWriteNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#109
+ def visit_call_operator_write_node(node); end
+
+ # Copy a CallOrWriteNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#114
+ def visit_call_or_write_node(node); end
+
+ # Copy a CallTargetNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#119
+ def visit_call_target_node(node); end
+
+ # Copy a CapturePatternNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#124
+ def visit_capture_pattern_node(node); end
+
+ # Copy a CaseMatchNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#129
+ def visit_case_match_node(node); end
+
+ # Copy a CaseNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#134
+ def visit_case_node(node); end
+
+ # Copy a ClassNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#139
+ def visit_class_node(node); end
+
+ # Copy a ClassVariableAndWriteNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#144
+ def visit_class_variable_and_write_node(node); end
+
+ # Copy a ClassVariableOperatorWriteNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#149
+ def visit_class_variable_operator_write_node(node); end
+
+ # Copy a ClassVariableOrWriteNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#154
+ def visit_class_variable_or_write_node(node); end
+
+ # Copy a ClassVariableReadNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#159
+ def visit_class_variable_read_node(node); end
+
+ # Copy a ClassVariableTargetNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#164
+ def visit_class_variable_target_node(node); end
+
+ # Copy a ClassVariableWriteNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#169
+ def visit_class_variable_write_node(node); end
+
+ # Copy a ConstantAndWriteNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#174
+ def visit_constant_and_write_node(node); end
+
+ # Copy a ConstantOperatorWriteNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#179
+ def visit_constant_operator_write_node(node); end
+
+ # Copy a ConstantOrWriteNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#184
+ def visit_constant_or_write_node(node); end
+
+ # Copy a ConstantPathAndWriteNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#189
+ def visit_constant_path_and_write_node(node); end
+
+ # Copy a ConstantPathNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#194
+ def visit_constant_path_node(node); end
+
+ # Copy a ConstantPathOperatorWriteNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#199
+ def visit_constant_path_operator_write_node(node); end
+
+ # Copy a ConstantPathOrWriteNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#204
+ def visit_constant_path_or_write_node(node); end
+
+ # Copy a ConstantPathTargetNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#209
+ def visit_constant_path_target_node(node); end
+
+ # Copy a ConstantPathWriteNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#214
+ def visit_constant_path_write_node(node); end
+
+ # Copy a ConstantReadNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#219
+ def visit_constant_read_node(node); end
+
+ # Copy a ConstantTargetNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#224
+ def visit_constant_target_node(node); end
+
+ # Copy a ConstantWriteNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#229
+ def visit_constant_write_node(node); end
+
+ # Copy a DefNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#234
+ def visit_def_node(node); end
+
+ # Copy a DefinedNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#239
+ def visit_defined_node(node); end
+
+ # Copy a ElseNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#244
+ def visit_else_node(node); end
+
+ # Copy a EmbeddedStatementsNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#249
+ def visit_embedded_statements_node(node); end
+
+ # Copy a EmbeddedVariableNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#254
+ def visit_embedded_variable_node(node); end
+
+ # Copy a EnsureNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#259
+ def visit_ensure_node(node); end
+
+ # Copy a FalseNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#264
+ def visit_false_node(node); end
+
+ # Copy a FindPatternNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#269
+ def visit_find_pattern_node(node); end
+
+ # Copy a FlipFlopNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#274
+ def visit_flip_flop_node(node); end
+
+ # Copy a FloatNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#279
+ def visit_float_node(node); end
+
+ # Copy a ForNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#284
+ def visit_for_node(node); end
+
+ # Copy a ForwardingArgumentsNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#289
+ def visit_forwarding_arguments_node(node); end
+
+ # Copy a ForwardingParameterNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#294
+ def visit_forwarding_parameter_node(node); end
+
+ # Copy a ForwardingSuperNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#299
+ def visit_forwarding_super_node(node); end
+
+ # Copy a GlobalVariableAndWriteNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#304
+ def visit_global_variable_and_write_node(node); end
+
+ # Copy a GlobalVariableOperatorWriteNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#309
+ def visit_global_variable_operator_write_node(node); end
+
+ # Copy a GlobalVariableOrWriteNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#314
+ def visit_global_variable_or_write_node(node); end
+
+ # Copy a GlobalVariableReadNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#319
+ def visit_global_variable_read_node(node); end
+
+ # Copy a GlobalVariableTargetNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#324
+ def visit_global_variable_target_node(node); end
+
+ # Copy a GlobalVariableWriteNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#329
+ def visit_global_variable_write_node(node); end
+
+ # Copy a HashNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#334
+ def visit_hash_node(node); end
+
+ # Copy a HashPatternNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#339
+ def visit_hash_pattern_node(node); end
+
+ # Copy a IfNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#344
+ def visit_if_node(node); end
+
+ # Copy a ImaginaryNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#349
+ def visit_imaginary_node(node); end
+
+ # Copy a ImplicitNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#354
+ def visit_implicit_node(node); end
+
+ # Copy a ImplicitRestNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#359
+ def visit_implicit_rest_node(node); end
+
+ # Copy a InNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#364
+ def visit_in_node(node); end
+
+ # Copy a IndexAndWriteNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#369
+ def visit_index_and_write_node(node); end
+
+ # Copy a IndexOperatorWriteNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#374
+ def visit_index_operator_write_node(node); end
+
+ # Copy a IndexOrWriteNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#379
+ def visit_index_or_write_node(node); end
+
+ # Copy a IndexTargetNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#384
+ def visit_index_target_node(node); end
+
+ # Copy a InstanceVariableAndWriteNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#389
+ def visit_instance_variable_and_write_node(node); end
+
+ # Copy a InstanceVariableOperatorWriteNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#394
+ def visit_instance_variable_operator_write_node(node); end
+
+ # Copy a InstanceVariableOrWriteNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#399
+ def visit_instance_variable_or_write_node(node); end
+
+ # Copy a InstanceVariableReadNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#404
+ def visit_instance_variable_read_node(node); end
+
+ # Copy a InstanceVariableTargetNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#409
+ def visit_instance_variable_target_node(node); end
+
+ # Copy a InstanceVariableWriteNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#414
+ def visit_instance_variable_write_node(node); end
+
+ # Copy a IntegerNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#419
+ def visit_integer_node(node); end
+
+ # Copy a InterpolatedMatchLastLineNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#424
+ def visit_interpolated_match_last_line_node(node); end
+
+ # Copy a InterpolatedRegularExpressionNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#429
+ def visit_interpolated_regular_expression_node(node); end
+
+ # Copy a InterpolatedStringNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#434
+ def visit_interpolated_string_node(node); end
+
+ # Copy a InterpolatedSymbolNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#439
+ def visit_interpolated_symbol_node(node); end
+
+ # Copy a InterpolatedXStringNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#444
+ def visit_interpolated_x_string_node(node); end
+
+ # Copy a KeywordHashNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#449
+ def visit_keyword_hash_node(node); end
+
+ # Copy a KeywordRestParameterNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#454
+ def visit_keyword_rest_parameter_node(node); end
+
+ # Copy a LambdaNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#459
+ def visit_lambda_node(node); end
+
+ # Copy a LocalVariableAndWriteNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#464
+ def visit_local_variable_and_write_node(node); end
+
+ # Copy a LocalVariableOperatorWriteNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#469
+ def visit_local_variable_operator_write_node(node); end
+
+ # Copy a LocalVariableOrWriteNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#474
+ def visit_local_variable_or_write_node(node); end
+
+ # Copy a LocalVariableReadNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#479
+ def visit_local_variable_read_node(node); end
+
+ # Copy a LocalVariableTargetNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#484
+ def visit_local_variable_target_node(node); end
+
+ # Copy a LocalVariableWriteNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#489
+ def visit_local_variable_write_node(node); end
+
+ # Copy a MatchLastLineNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#494
+ def visit_match_last_line_node(node); end
+
+ # Copy a MatchPredicateNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#499
+ def visit_match_predicate_node(node); end
+
+ # Copy a MatchRequiredNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#504
+ def visit_match_required_node(node); end
+
+ # Copy a MatchWriteNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#509
+ def visit_match_write_node(node); end
+
+ # Copy a MissingNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#514
+ def visit_missing_node(node); end
+
+ # Copy a ModuleNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#519
+ def visit_module_node(node); end
+
+ # Copy a MultiTargetNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#524
+ def visit_multi_target_node(node); end
+
+ # Copy a MultiWriteNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#529
+ def visit_multi_write_node(node); end
+
+ # Copy a NextNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#534
+ def visit_next_node(node); end
+
+ # Copy a NilNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#539
+ def visit_nil_node(node); end
+
+ # Copy a NoKeywordsParameterNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#544
+ def visit_no_keywords_parameter_node(node); end
+
+ # Copy a NumberedParametersNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#549
+ def visit_numbered_parameters_node(node); end
+
+ # Copy a NumberedReferenceReadNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#554
+ def visit_numbered_reference_read_node(node); end
+
+ # Copy a OptionalKeywordParameterNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#559
+ def visit_optional_keyword_parameter_node(node); end
+
+ # Copy a OptionalParameterNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#564
+ def visit_optional_parameter_node(node); end
+
+ # Copy a OrNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#569
+ def visit_or_node(node); end
+
+ # Copy a ParametersNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#574
+ def visit_parameters_node(node); end
+
+ # Copy a ParenthesesNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#579
+ def visit_parentheses_node(node); end
+
+ # Copy a PinnedExpressionNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#584
+ def visit_pinned_expression_node(node); end
+
+ # Copy a PinnedVariableNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#589
+ def visit_pinned_variable_node(node); end
+
+ # Copy a PostExecutionNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#594
+ def visit_post_execution_node(node); end
+
+ # Copy a PreExecutionNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#599
+ def visit_pre_execution_node(node); end
+
+ # Copy a ProgramNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#604
+ def visit_program_node(node); end
+
+ # Copy a RangeNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#609
+ def visit_range_node(node); end
+
+ # Copy a RationalNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#614
+ def visit_rational_node(node); end
+
+ # Copy a RedoNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#619
+ def visit_redo_node(node); end
+
+ # Copy a RegularExpressionNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#624
+ def visit_regular_expression_node(node); end
+
+ # Copy a RequiredKeywordParameterNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#629
+ def visit_required_keyword_parameter_node(node); end
+
+ # Copy a RequiredParameterNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#634
+ def visit_required_parameter_node(node); end
+
+ # Copy a RescueModifierNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#639
+ def visit_rescue_modifier_node(node); end
+
+ # Copy a RescueNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#644
+ def visit_rescue_node(node); end
+
+ # Copy a RestParameterNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#649
+ def visit_rest_parameter_node(node); end
+
+ # Copy a RetryNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#654
+ def visit_retry_node(node); end
+
+ # Copy a ReturnNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#659
+ def visit_return_node(node); end
+
+ # Copy a SelfNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#664
+ def visit_self_node(node); end
+
+ # Copy a SingletonClassNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#669
+ def visit_singleton_class_node(node); end
+
+ # Copy a SourceEncodingNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#674
+ def visit_source_encoding_node(node); end
+
+ # Copy a SourceFileNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#679
+ def visit_source_file_node(node); end
+
+ # Copy a SourceLineNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#684
+ def visit_source_line_node(node); end
+
+ # Copy a SplatNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#689
+ def visit_splat_node(node); end
+
+ # Copy a StatementsNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#694
+ def visit_statements_node(node); end
+
+ # Copy a StringNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#699
+ def visit_string_node(node); end
+
+ # Copy a SuperNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#704
+ def visit_super_node(node); end
+
+ # Copy a SymbolNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#709
+ def visit_symbol_node(node); end
+
+ # Copy a TrueNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#714
+ def visit_true_node(node); end
+
+ # Copy a UndefNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#719
+ def visit_undef_node(node); end
+
+ # Copy a UnlessNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#724
+ def visit_unless_node(node); end
+
+ # Copy a UntilNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#729
+ def visit_until_node(node); end
+
+ # Copy a WhenNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#734
+ def visit_when_node(node); end
+
+ # Copy a WhileNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#739
+ def visit_while_node(node); end
+
+ # Copy a XStringNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#744
+ def visit_x_string_node(node); end
+
+ # Copy a YieldNode node
+ #
+ # source://prism//lib/prism/mutation_compiler.rb#749
+ def visit_yield_node(node); end
+end
+
+# Represents the use of the `next` keyword.
+#
+# next 1
+# ^^^^^^
+#
+# source://prism//lib/prism/node.rb#13810
+class Prism::NextNode < ::Prism::Node
+ # def initialize: (ArgumentsNode? arguments, Location keyword_loc, Location location) -> void
+ #
+ # @return [NextNode] a new instance of NextNode
+ #
+ # source://prism//lib/prism/node.rb#13812
+ def initialize(source, arguments, keyword_loc, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#13821
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # attr_reader arguments: ArgumentsNode?
+ #
+ # source://prism//lib/prism/node.rb#13861
+ sig { returns(T.nilable(Prism::ArgumentsNode)) }
+ def arguments; end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#13826
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#13838
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#13831
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> NextNode
+ #
+ # source://prism//lib/prism/node.rb#13843
+ sig { params(params: T.untyped).returns(Prism::NextNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#13826
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { arguments: ArgumentsNode?, keyword_loc: Location, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#13856
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#13876
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # def keyword: () -> String
+ #
+ # source://prism//lib/prism/node.rb#13871
+ sig { returns(String) }
+ def keyword; end
+
+ # attr_reader keyword_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#13864
+ sig { returns(Prism::Location) }
+ def keyword_loc; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#13902
+ def type; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#13912
+ def type; end
+ end
+end
+
+# Represents the use of the `nil` keyword.
+#
+# nil
+# ^^^
+#
+# source://prism//lib/prism/node.rb#13921
+class Prism::NilNode < ::Prism::Node
+ # def initialize: (Location location) -> void
+ #
+ # @return [NilNode] a new instance of NilNode
+ #
+ # source://prism//lib/prism/node.rb#13923
+ def initialize(source, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#13930
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#13935
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#13945
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#13940
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> NilNode
+ #
+ # source://prism//lib/prism/node.rb#13950
+ sig { params(params: T.untyped).returns(Prism::NilNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#13935
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { location: Location }
+ #
+ # source://prism//lib/prism/node.rb#13961
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#13967
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#13986
+ def type; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#13996
+ def type; end
+ end
+end
+
+# Represents the use of `**nil` inside method arguments.
+#
+# def a(**nil)
+# ^^^^^
+# end
+#
+# source://prism//lib/prism/node.rb#14006
+class Prism::NoKeywordsParameterNode < ::Prism::Node
+ # def initialize: (Location operator_loc, Location keyword_loc, Location location) -> void
+ #
+ # @return [NoKeywordsParameterNode] a new instance of NoKeywordsParameterNode
+ #
+ # source://prism//lib/prism/node.rb#14008
+ def initialize(source, operator_loc, keyword_loc, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#14017
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#14022
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#14032
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#14027
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> NoKeywordsParameterNode
+ #
+ # source://prism//lib/prism/node.rb#14037
+ sig { params(params: T.untyped).returns(Prism::NoKeywordsParameterNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#14022
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { operator_loc: Location, keyword_loc: Location, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#14050
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#14078
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # def keyword: () -> String
+ #
+ # source://prism//lib/prism/node.rb#14073
+ sig { returns(String) }
+ def keyword; end
+
+ # attr_reader keyword_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#14061
+ sig { returns(Prism::Location) }
+ def keyword_loc; end
+
+ # def operator: () -> String
+ #
+ # source://prism//lib/prism/node.rb#14068
+ sig { returns(String) }
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#14055
+ sig { returns(Prism::Location) }
+ def operator_loc; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#14099
+ def type; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#14109
+ def type; end
+ end
+end
+
+# This represents a node in the tree. It is the parent class of all of the
+# various node types.
+#
+# source://prism//lib/prism/node.rb#11
+class Prism::Node
+ # Accepts a visitor and calls back into the specialized visit function.
+ #
+ # @raise [NoMethodError]
+ #
+ # source://prism//lib/prism/node.rb#62
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # Returns an array of child nodes, including `nil`s in the place of optional
+ # nodes that were not present.
+ #
+ # @raise [NoMethodError]
+ #
+ # source://prism//lib/prism/node.rb#68
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # Returns an array of child nodes and locations that could potentially have
+ # comments attached to them.
+ #
+ # @raise [NoMethodError]
+ #
+ # source://prism//lib/prism/node.rb#82
+ def comment_targets; end
+
+ # Returns an array of child nodes, excluding any `nil`s in the place of
+ # optional nodes that were not present.
+ #
+ # @raise [NoMethodError]
+ #
+ # source://prism//lib/prism/node.rb#76
+ sig { returns(T::Array[Prism::Node]) }
+ def compact_child_nodes; end
+
+ # Returns an array of child nodes, including `nil`s in the place of optional
+ # nodes that were not present.
+ #
+ # @raise [NoMethodError]
+ #
+ # source://prism//lib/prism/node.rb#68
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # A Location instance that represents the location of this node in the
+ # source.
+ #
+ # source://prism//lib/prism/node.rb#18
+ sig { returns(Prism::Location) }
+ def location; end
+
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#23
+ def newline?; end
+
+ # Similar to inspect, but respects the current level of indentation given by
+ # the pretty print object.
+ #
+ # source://prism//lib/prism/node.rb#42
+ def pretty_print(q); end
+
+ # source://prism//lib/prism/node.rb#27
+ def set_newline_flag(newline_marked); end
+
+ # Slice the location of the node from the source.
+ #
+ # source://prism//lib/prism/node.rb#36
+ sig { returns(String) }
+ def slice; end
+
+ # Convert this node into a graphviz dot graph string.
+ #
+ # source://prism//lib/prism/node.rb#50
+ sig { returns(String) }
+ def to_dot; end
+
+ # Returns a symbol symbolizing the type of node that this represents. This
+ # is particularly useful for case statements and array comparisons.
+ #
+ # @raise [NoMethodError]
+ #
+ # source://prism//lib/prism/node.rb#88
+ sig { returns(Symbol) }
+ def type; end
+
+ private
+
+ # A pointer to the source that this node was created from.
+ #
+ # source://prism//lib/prism/node.rb#13
+ def source; end
+end
+
+# This object is responsible for generating the output for the inspect method
+# implementations of child nodes.
+#
+# source://prism//lib/prism/node_inspector.rb#6
+class Prism::NodeInspector
+ # @return [NodeInspector] a new instance of NodeInspector
+ #
+ # source://prism//lib/prism/node_inspector.rb#9
+ def initialize(prefix = T.unsafe(nil)); end
+
+ # Appends a line to the output with the current prefix.
+ #
+ # source://prism//lib/prism/node_inspector.rb#15
+ sig { params(line: String).void }
+ def <<(line); end
+
+ # Returns a new inspector that can be used to inspect a child node.
+ #
+ # source://prism//lib/prism/node_inspector.rb#59
+ sig { params(append: String).returns(Prism::NodeInspector) }
+ def child_inspector(append); end
+
+ # Generates a string that represents a child node.
+ #
+ # source://prism//lib/prism/node_inspector.rb#54
+ sig { params(node: Prism::Node, append: String).returns(String) }
+ def child_node(node, append); end
+
+ # This generates a string that is used as the header of the inspect output
+ # for any given node.
+ #
+ # source://prism//lib/prism/node_inspector.rb#21
+ # This generates a string that is used as the header of the inspect output
+ sig { params(node: Prism::Node).returns(String) }
+ def header(node); end
+
+ # Generates a string that represents a list of nodes. It handles properly
+ # using the box drawing characters to make the output look nice.
+ #
+ # source://prism//lib/prism/node_inspector.rb#31
+ # Generates a string that represents a list of nodes. It handles properly
+ sig { params(prefix: String, nodes: T::Array[Prism::Node]).returns(String) }
+ def list(prefix, nodes); end
+
+ # Generates a string that represents a location field on a node.
+ #
+ # source://prism//lib/prism/node_inspector.rb#45
+ sig { params(value: Prism::Location).returns(String) }
+ def location(value); end
+
+ # source://prism//lib/prism/node_inspector.rb#7
+ sig { returns(String) }
+ def output; end
+
+ # source://prism//lib/prism/node_inspector.rb#7
+ sig { returns(String) }
+ def prefix; end
+
+ # Returns the output as a string.
+ #
+ # source://prism//lib/prism/node_inspector.rb#64
+ sig { returns(String) }
+ def to_str; end
+end
+
+# Represents an implicit set of parameters through the use of numbered parameters within a block or lambda.
+#
+# -> { _1 + _2 }
+# ^^^^^^^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#14118
+class Prism::NumberedParametersNode < ::Prism::Node
+ # def initialize: (Integer maximum, Location location) -> void
+ #
+ # @return [NumberedParametersNode] a new instance of NumberedParametersNode
+ #
+ # source://prism//lib/prism/node.rb#14120
+ def initialize(source, maximum, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#14128
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#14133
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#14143
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#14138
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> NumberedParametersNode
+ #
+ # source://prism//lib/prism/node.rb#14148
+ sig { params(params: T.untyped).returns(Prism::NumberedParametersNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#14133
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { maximum: Integer, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#14160
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#14169
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # attr_reader maximum: Integer
+ #
+ # source://prism//lib/prism/node.rb#14165
+ sig { returns(Integer) }
+ def maximum; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#14189
+ def type; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#14199
+ def type; end
+ end
+end
+
+# Represents reading a numbered reference to a capture in the previous match.
+#
+# $1
+# ^^
+#
+# source://prism//lib/prism/node.rb#14208
+class Prism::NumberedReferenceReadNode < ::Prism::Node
+ # def initialize: (Integer number, Location location) -> void
+ #
+ # @return [NumberedReferenceReadNode] a new instance of NumberedReferenceReadNode
+ #
+ # source://prism//lib/prism/node.rb#14210
+ def initialize(source, number, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#14218
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#14223
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#14233
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#14228
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> NumberedReferenceReadNode
+ #
+ # source://prism//lib/prism/node.rb#14238
+ sig { params(params: T.untyped).returns(Prism::NumberedReferenceReadNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#14223
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { number: Integer, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#14250
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#14265
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # The (1-indexed, from the left) number of the capture group. Numbered references that would overflow a `uint32` result in a `number` of exactly `2**32 - 1`.
+ #
+ # $1 # number `1`
+ #
+ # $5432 # number `5432`
+ #
+ # $4294967296 # number `4294967295`
+ #
+ # source://prism//lib/prism/node.rb#14261
+ sig { returns(Integer) }
+ def number; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#14285
+ def type; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#14295
+ def type; end
+ end
+end
+
+# Represents an optional keyword parameter to a method, block, or lambda definition.
+#
+# def a(b: 1)
+# ^^^^
+# end
+#
+# source://prism//lib/prism/node.rb#14305
+class Prism::OptionalKeywordParameterNode < ::Prism::Node
+ # def initialize: (Integer flags, Symbol name, Location name_loc, Node value, Location location) -> void
+ #
+ # @return [OptionalKeywordParameterNode] a new instance of OptionalKeywordParameterNode
+ #
+ # source://prism//lib/prism/node.rb#14307
+ def initialize(source, flags, name, name_loc, value, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#14318
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#14323
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#14333
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#14328
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> OptionalKeywordParameterNode
+ #
+ # source://prism//lib/prism/node.rb#14338
+ sig { params(params: T.untyped).returns(Prism::OptionalKeywordParameterNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#14323
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, name: Symbol, name_loc: Location, value: Node, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#14353
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#14380
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # attr_reader name: Symbol
+ #
+ # source://prism//lib/prism/node.rb#14362
+ sig { returns(Symbol) }
+ def name; end
+
+ # attr_reader name_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#14365
+ sig { returns(Prism::Location) }
+ def name_loc; end
+
+ # def repeated_parameter?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#14375
+ sig { returns(T::Boolean) }
+ def repeated_parameter?; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#14405
+ def type; end
+
+ # attr_reader value: Node
+ #
+ # source://prism//lib/prism/node.rb#14371
+ sig { returns(Prism::Node) }
+ def value; end
+
+ private
+
+ # private attr_reader flags: Integer
+ #
+ # source://prism//lib/prism/node.rb#14358
+ sig { returns(Integer) }
+ def flags; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#14415
+ def type; end
+ end
+end
+
+# Represents an optional parameter to a method, block, or lambda definition.
+#
+# def a(b = 1)
+# ^^^^^
+# end
+#
+# source://prism//lib/prism/node.rb#14425
+class Prism::OptionalParameterNode < ::Prism::Node
+ # def initialize: (Integer flags, Symbol name, Location name_loc, Location operator_loc, Node value, Location location) -> void
+ #
+ # @return [OptionalParameterNode] a new instance of OptionalParameterNode
+ #
+ # source://prism//lib/prism/node.rb#14427
+ def initialize(source, flags, name, name_loc, operator_loc, value, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#14439
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#14444
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#14454
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#14449
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> OptionalParameterNode
+ #
+ # source://prism//lib/prism/node.rb#14459
+ sig { params(params: T.untyped).returns(Prism::OptionalParameterNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#14444
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, name: Symbol, name_loc: Location, operator_loc: Location, value: Node, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#14475
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#14513
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # attr_reader name: Symbol
+ #
+ # source://prism//lib/prism/node.rb#14484
+ sig { returns(Symbol) }
+ def name; end
+
+ # attr_reader name_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#14487
+ sig { returns(Prism::Location) }
+ def name_loc; end
+
+ # def operator: () -> String
+ #
+ # source://prism//lib/prism/node.rb#14508
+ sig { returns(String) }
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#14493
+ sig { returns(Prism::Location) }
+ def operator_loc; end
+
+ # def repeated_parameter?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#14503
+ sig { returns(T::Boolean) }
+ def repeated_parameter?; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#14539
+ def type; end
+
+ # attr_reader value: Node
+ #
+ # source://prism//lib/prism/node.rb#14499
+ sig { returns(Prism::Node) }
+ def value; end
+
+ private
+
+ # private attr_reader flags: Integer
+ #
+ # source://prism//lib/prism/node.rb#14480
+ sig { returns(Integer) }
+ def flags; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#14549
+ def type; end
+ end
+end
+
+# Represents the use of the `||` operator or the `or` keyword.
+#
+# left or right
+# ^^^^^^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#14558
+class Prism::OrNode < ::Prism::Node
+ # def initialize: (Node left, Node right, Location operator_loc, Location location) -> void
+ #
+ # @return [OrNode] a new instance of OrNode
+ #
+ # source://prism//lib/prism/node.rb#14560
+ def initialize(source, left, right, operator_loc, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#14570
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#14575
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#14585
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#14580
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> OrNode
+ #
+ # source://prism//lib/prism/node.rb#14590
+ sig { params(params: T.untyped).returns(Prism::OrNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#14575
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { left: Node, right: Node, operator_loc: Location, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#14604
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#14642
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # Represents the left side of the expression. It can be any [non-void expression](https://github.com/ruby/prism/blob/main/docs/parsing_rules.md#non-void-expression).
+ #
+ # left or right
+ # ^^^^
+ #
+ # 1 || 2
+ # ^
+ #
+ # source://prism//lib/prism/node.rb#14615
+ sig { returns(Prism::Node) }
+ def left; end
+
+ # def operator: () -> String
+ #
+ # source://prism//lib/prism/node.rb#14637
+ sig { returns(String) }
+ def operator; end
+
+ # The location of the `or` keyword or the `||` operator.
+ #
+ # left or right
+ # ^^
+ #
+ # source://prism//lib/prism/node.rb#14630
+ sig { returns(Prism::Location) }
+ def operator_loc; end
+
+ # Represents the right side of the expression. It can be any [non-void expression](https://github.com/ruby/prism/blob/main/docs/parsing_rules.md#non-void-expression).
+ #
+ # left || right
+ # ^^^^^
+ #
+ # 1 or 2
+ # ^
+ #
+ # source://prism//lib/prism/node.rb#14624
+ sig { returns(Prism::Node) }
+ def right; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#14666
+ def type; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#14676
+ def type; end
+ end
+end
+
+# A parser for the pack template language.
+#
+# source://prism//lib/prism/pack.rb#5
+module Prism::Pack
+ class << self
+ def parse(_arg0, _arg1, _arg2); end
+ end
+end
+
+# source://prism//lib/prism/pack.rb#55
+Prism::Pack::AGNOSTIC_ENDIAN = T.let(T.unsafe(nil), Symbol)
+
+# source://prism//lib/prism/pack.rb#55
+Prism::Pack::BACK = T.let(T.unsafe(nil), Symbol)
+
+# source://prism//lib/prism/pack.rb#55
+Prism::Pack::BER = T.let(T.unsafe(nil), Symbol)
+
+# source://prism//lib/prism/pack.rb#55
+Prism::Pack::BIG_ENDIAN = T.let(T.unsafe(nil), Symbol)
+
+# source://prism//lib/prism/pack.rb#55
+Prism::Pack::COMMENT = T.let(T.unsafe(nil), Symbol)
+
+# A directive in the pack template language.
+#
+# source://prism//lib/prism/pack.rb#59
+class Prism::Pack::Directive
+ # Initialize a new directive with the given values.
+ #
+ # @return [Directive] a new instance of Directive
+ #
+ # source://prism//lib/prism/pack.rb#88
+ def initialize(version, variant, source, type, signed, endian, size, length_type, length); end
+
+ # Provide a human-readable description of the directive.
+ #
+ # source://prism//lib/prism/pack.rb#130
+ def describe; end
+
+ # The type of endianness of the directive.
+ #
+ # source://prism//lib/prism/pack.rb#76
+ def endian; end
+
+ # The length of this directive (used for integers).
+ #
+ # source://prism//lib/prism/pack.rb#85
+ def length; end
+
+ # The length type of this directive (used for integers).
+ #
+ # source://prism//lib/prism/pack.rb#82
+ def length_type; end
+
+ # The type of signedness of the directive.
+ #
+ # source://prism//lib/prism/pack.rb#73
+ def signed; end
+
+ # The size of the directive.
+ #
+ # source://prism//lib/prism/pack.rb#79
+ def size; end
+
+ # A byteslice of the source string that this directive represents.
+ #
+ # source://prism//lib/prism/pack.rb#67
+ def source; end
+
+ # The type of the directive.
+ #
+ # source://prism//lib/prism/pack.rb#70
+ def type; end
+
+ # A symbol representing whether or not we are packing or unpacking.
+ #
+ # source://prism//lib/prism/pack.rb#64
+ def variant; end
+
+ # A symbol representing the version of Ruby.
+ #
+ # source://prism//lib/prism/pack.rb#61
+ def version; end
+end
+
+# The descriptions of the various types of endianness.
+#
+# source://prism//lib/prism/pack.rb#101
+Prism::Pack::Directive::ENDIAN_DESCRIPTIONS = T.let(T.unsafe(nil), Hash)
+
+# The descriptions of the various types of signedness.
+#
+# source://prism//lib/prism/pack.rb#110
+Prism::Pack::Directive::SIGNED_DESCRIPTIONS = T.let(T.unsafe(nil), Hash)
+
+# The descriptions of the various types of sizes.
+#
+# source://prism//lib/prism/pack.rb#117
+Prism::Pack::Directive::SIZE_DESCRIPTIONS = T.let(T.unsafe(nil), Hash)
+
+# source://prism//lib/prism/pack.rb#55
+Prism::Pack::ENDIAN_NA = T.let(T.unsafe(nil), Symbol)
+
+# source://prism//lib/prism/pack.rb#55
+Prism::Pack::FLOAT = T.let(T.unsafe(nil), Symbol)
+
+# The result of parsing a pack template.
+#
+# source://prism//lib/prism/pack.rb#195
+class Prism::Pack::Format
+ # Create a new Format with the given directives and encoding.
+ #
+ # @return [Format] a new instance of Format
+ #
+ # source://prism//lib/prism/pack.rb#203
+ def initialize(directives, encoding); end
+
+ # Provide a human-readable description of the format.
+ #
+ # source://prism//lib/prism/pack.rb#209
+ def describe; end
+
+ # A list of the directives in the template.
+ #
+ # source://prism//lib/prism/pack.rb#197
+ def directives; end
+
+ # The encoding of the template.
+ #
+ # source://prism//lib/prism/pack.rb#200
+ def encoding; end
+end
+
+# source://prism//lib/prism/pack.rb#55
+Prism::Pack::INTEGER = T.let(T.unsafe(nil), Symbol)
+
+# source://prism//lib/prism/pack.rb#55
+Prism::Pack::LENGTH_FIXED = T.let(T.unsafe(nil), Symbol)
+
+# source://prism//lib/prism/pack.rb#55
+Prism::Pack::LENGTH_MAX = T.let(T.unsafe(nil), Symbol)
+
+# source://prism//lib/prism/pack.rb#55
+Prism::Pack::LENGTH_NA = T.let(T.unsafe(nil), Symbol)
+
+# source://prism//lib/prism/pack.rb#55
+Prism::Pack::LENGTH_RELATIVE = T.let(T.unsafe(nil), Symbol)
+
+# source://prism//lib/prism/pack.rb#55
+Prism::Pack::LITTLE_ENDIAN = T.let(T.unsafe(nil), Symbol)
+
+# source://prism//lib/prism/pack.rb#55
+Prism::Pack::MOVE = T.let(T.unsafe(nil), Symbol)
+
+# source://prism//lib/prism/pack.rb#55
+Prism::Pack::NATIVE_ENDIAN = T.let(T.unsafe(nil), Symbol)
+
+# source://prism//lib/prism/pack.rb#55
+Prism::Pack::NULL = T.let(T.unsafe(nil), Symbol)
+
+# source://prism//lib/prism/pack.rb#55
+Prism::Pack::SIGNED = T.let(T.unsafe(nil), Symbol)
+
+# source://prism//lib/prism/pack.rb#55
+Prism::Pack::SIGNED_NA = T.let(T.unsafe(nil), Symbol)
+
+# source://prism//lib/prism/pack.rb#55
+Prism::Pack::SIZE_16 = T.let(T.unsafe(nil), Symbol)
+
+# source://prism//lib/prism/pack.rb#55
+Prism::Pack::SIZE_32 = T.let(T.unsafe(nil), Symbol)
+
+# source://prism//lib/prism/pack.rb#55
+Prism::Pack::SIZE_64 = T.let(T.unsafe(nil), Symbol)
+
+# source://prism//lib/prism/pack.rb#55
+Prism::Pack::SIZE_8 = T.let(T.unsafe(nil), Symbol)
+
+# source://prism//lib/prism/pack.rb#55
+Prism::Pack::SIZE_INT = T.let(T.unsafe(nil), Symbol)
+
+# source://prism//lib/prism/pack.rb#55
+Prism::Pack::SIZE_LONG = T.let(T.unsafe(nil), Symbol)
+
+# source://prism//lib/prism/pack.rb#55
+Prism::Pack::SIZE_LONG_LONG = T.let(T.unsafe(nil), Symbol)
+
+# source://prism//lib/prism/pack.rb#55
+Prism::Pack::SIZE_NA = T.let(T.unsafe(nil), Symbol)
+
+# source://prism//lib/prism/pack.rb#55
+Prism::Pack::SIZE_P = T.let(T.unsafe(nil), Symbol)
+
+# source://prism//lib/prism/pack.rb#55
+Prism::Pack::SIZE_SHORT = T.let(T.unsafe(nil), Symbol)
+
+# source://prism//lib/prism/pack.rb#55
+Prism::Pack::SPACE = T.let(T.unsafe(nil), Symbol)
+
+# source://prism//lib/prism/pack.rb#55
+Prism::Pack::STRING_BASE64 = T.let(T.unsafe(nil), Symbol)
+
+# source://prism//lib/prism/pack.rb#55
+Prism::Pack::STRING_FIXED = T.let(T.unsafe(nil), Symbol)
+
+# source://prism//lib/prism/pack.rb#55
+Prism::Pack::STRING_HEX_HIGH = T.let(T.unsafe(nil), Symbol)
+
+# source://prism//lib/prism/pack.rb#55
+Prism::Pack::STRING_HEX_LOW = T.let(T.unsafe(nil), Symbol)
+
+# source://prism//lib/prism/pack.rb#55
+Prism::Pack::STRING_LSB = T.let(T.unsafe(nil), Symbol)
+
+# source://prism//lib/prism/pack.rb#55
+Prism::Pack::STRING_MIME = T.let(T.unsafe(nil), Symbol)
+
+# source://prism//lib/prism/pack.rb#55
+Prism::Pack::STRING_MSB = T.let(T.unsafe(nil), Symbol)
+
+# source://prism//lib/prism/pack.rb#55
+Prism::Pack::STRING_NULL_PADDED = T.let(T.unsafe(nil), Symbol)
+
+# source://prism//lib/prism/pack.rb#55
+Prism::Pack::STRING_NULL_TERMINATED = T.let(T.unsafe(nil), Symbol)
+
+# source://prism//lib/prism/pack.rb#55
+Prism::Pack::STRING_POINTER = T.let(T.unsafe(nil), Symbol)
+
+# source://prism//lib/prism/pack.rb#55
+Prism::Pack::STRING_SPACE_PADDED = T.let(T.unsafe(nil), Symbol)
+
+# source://prism//lib/prism/pack.rb#55
+Prism::Pack::STRING_UU = T.let(T.unsafe(nil), Symbol)
+
+# source://prism//lib/prism/pack.rb#55
+Prism::Pack::UNSIGNED = T.let(T.unsafe(nil), Symbol)
+
+# source://prism//lib/prism/pack.rb#55
+Prism::Pack::UTF8 = T.let(T.unsafe(nil), Symbol)
+
+# Flags for parameter nodes.
+#
+# source://prism//lib/prism/node.rb#19304
+module Prism::ParameterFlags; end
+
+# a parameter name that has been repeated in the method signature
+#
+# source://prism//lib/prism/node.rb#19306
+Prism::ParameterFlags::REPEATED_PARAMETER = T.let(T.unsafe(nil), Integer)
+
+# Represents the list of parameters on a method, block, or lambda definition.
+#
+# def a(b, c, d)
+# ^^^^^^^
+# end
+#
+# source://prism//lib/prism/node.rb#14686
+class Prism::ParametersNode < ::Prism::Node
+ # def initialize: (Array[Node] requireds, Array[Node] optionals, Node? rest, Array[Node] posts, Array[Node] keywords, Node? keyword_rest, BlockParameterNode? block, Location location) -> void
+ #
+ # @return [ParametersNode] a new instance of ParametersNode
+ #
+ # source://prism//lib/prism/node.rb#14688
+ def initialize(source, requireds, optionals, rest, posts, keywords, keyword_rest, block, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#14702
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # attr_reader block: BlockParameterNode?
+ #
+ # source://prism//lib/prism/node.rb#14771
+ sig { returns(T.nilable(Prism::BlockParameterNode)) }
+ def block; end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#14707
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#14725
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#14712
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> ParametersNode
+ #
+ # source://prism//lib/prism/node.rb#14730
+ sig { params(params: T.untyped).returns(Prism::ParametersNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#14707
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { requireds: Array[Node], optionals: Array[Node], rest: Node?, posts: Array[Node], keywords: Array[Node], keyword_rest: Node?, block: BlockParameterNode?, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#14748
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#14775
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # attr_reader keyword_rest: Node?
+ #
+ # source://prism//lib/prism/node.rb#14768
+ sig { returns(T.nilable(Prism::Node)) }
+ def keyword_rest; end
+
+ # attr_reader keywords: Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#14765
+ sig { returns(T::Array[Prism::Node]) }
+ def keywords; end
+
+ # attr_reader optionals: Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#14756
+ sig { returns(T::Array[Prism::Node]) }
+ def optionals; end
+
+ # attr_reader posts: Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#14762
+ sig { returns(T::Array[Prism::Node]) }
+ def posts; end
+
+ # attr_reader requireds: Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#14753
+ sig { returns(T::Array[Prism::Node]) }
+ def requireds; end
+
+ # attr_reader rest: Node?
+ #
+ # source://prism//lib/prism/node.rb#14759
+ sig { returns(T.nilable(Prism::Node)) }
+ def rest; end
+
+ # Mirrors the Method#parameters method.
+ #
+ # source://prism//lib/prism/node_ext.rb#172
+ def signature; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#14816
+ def type; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#14826
+ def type; end
+ end
+end
+
+# Represents a parenthesized expression
+#
+# (10 + 34)
+# ^^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#14835
+class Prism::ParenthesesNode < ::Prism::Node
+ # def initialize: (Node? body, Location opening_loc, Location closing_loc, Location location) -> void
+ #
+ # @return [ParenthesesNode] a new instance of ParenthesesNode
+ #
+ # source://prism//lib/prism/node.rb#14837
+ def initialize(source, body, opening_loc, closing_loc, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#14847
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # attr_reader body: Node?
+ #
+ # source://prism//lib/prism/node.rb#14892
+ sig { returns(T.nilable(Prism::Node)) }
+ def body; end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#14856
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def closing: () -> String
+ #
+ # source://prism//lib/prism/node.rb#14913
+ sig { returns(String) }
+ def closing; end
+
+ # attr_reader closing_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#14901
+ sig { returns(Prism::Location) }
+ def closing_loc; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#14868
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#14861
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> ParenthesesNode
+ #
+ # source://prism//lib/prism/node.rb#14873
+ sig { params(params: T.untyped).returns(Prism::ParenthesesNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#14856
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { body: Node?, opening_loc: Location, closing_loc: Location, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#14887
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#14918
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # def opening: () -> String
+ #
+ # source://prism//lib/prism/node.rb#14908
+ sig { returns(String) }
+ def opening; end
+
+ # attr_reader opening_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#14895
+ sig { returns(Prism::Location) }
+ def opening_loc; end
+
+ # source://prism//lib/prism/node.rb#14851
+ def set_newline_flag(newline_marked); end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#14945
+ def type; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#14955
+ def type; end
+ end
+end
+
+# This represents an error that was encountered during parsing.
+#
+# source://prism//lib/prism/parse_result.rb#338
+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#349
+ def initialize(message, location, level); end
+
+ # Implement the hash pattern matching interface for ParseError.
+ #
+ # source://prism//lib/prism/parse_result.rb#356
+ def deconstruct_keys(keys); end
+
+ # Returns a string representation of this error.
+ #
+ # source://prism//lib/prism/parse_result.rb#361
+ def inspect; end
+
+ # The level of this error.
+ #
+ # source://prism//lib/prism/parse_result.rb#346
+ def level; end
+
+ # A Location object representing the location of this error in the source.
+ #
+ # source://prism//lib/prism/parse_result.rb#343
+ sig { returns(Prism::Location) }
+ def location; end
+
+ # The message associated with this error.
+ #
+ # source://prism//lib/prism/parse_result.rb#340
+ sig { returns(String) }
+ def message; end
+end
+
+# This represents the result of a call to ::parse or ::parse_file. It contains
+# the AST, any comments that were encounters, and any errors that were
+# encountered.
+#
+# source://prism//lib/prism/parse_result.rb#398
+class Prism::ParseResult
+ # Create a new parse result object with the given values.
+ #
+ # @return [ParseResult] a new instance of ParseResult
+ #
+ # source://prism//lib/prism/parse_result.rb#425
+ def initialize(value, comments, magic_comments, data_loc, errors, warnings, source); end
+
+ # Attach the list of comments to their respective locations in the tree.
+ #
+ # source://prism//lib/prism/parse_result/comments.rb#173
+ def attach_comments!; end
+
+ # The list of comments that were encountered during parsing.
+ #
+ # source://prism//lib/prism/parse_result.rb#405
+ sig { returns(T::Array[Prism::Comment]) }
+ def comments; end
+
+ # An optional location that represents the location of the __END__ marker
+ # and the rest of the content of the file. This content is loaded into the
+ # DATA constant when the file being parsed is the main file being executed.
+ #
+ # source://prism//lib/prism/parse_result.rb#413
+ def data_loc; end
+
+ # Implement the hash pattern matching interface for ParseResult.
+ #
+ # source://prism//lib/prism/parse_result.rb#436
+ def deconstruct_keys(keys); end
+
+ # The list of errors that were generated during parsing.
+ #
+ # source://prism//lib/prism/parse_result.rb#416
+ sig { returns(T::Array[Prism::ParseError]) }
+ def errors; end
+
+ # Returns true if there were errors during parsing and false if there were
+ # not.
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/parse_result.rb#448
+ def failure?; end
+
+ # The list of magic comments that were encountered during parsing.
+ #
+ # source://prism//lib/prism/parse_result.rb#408
+ def magic_comments; end
+
+ # Walk the tree and mark nodes that are on a new line.
+ #
+ # source://prism//lib/prism/parse_result/newlines.rb#60
+ def mark_newlines!; end
+
+ # A Source instance that represents the source code that was parsed.
+ #
+ # source://prism//lib/prism/parse_result.rb#422
+ sig { returns(Prism::Source) }
+ def source; end
+
+ # Returns true if there were no errors during parsing and false if there
+ # were.
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/parse_result.rb#442
+ def success?; end
+
+ # The value that was generated by parsing. Normally this holds the AST, but
+ # it can sometimes how a list of tokens or other results passed back from
+ # the parser.
+ #
+ # source://prism//lib/prism/parse_result.rb#402
+ sig { returns(Prism::ProgramNode) }
+ def value; end
+
+ # The list of warnings that were generated during parsing.
+ #
+ # source://prism//lib/prism/parse_result.rb#419
+ sig { returns(T::Array[Prism::ParseWarning]) }
+ def warnings; end
+end
+
+# When we've parsed the source, we have both the syntax tree and the list of
+# comments that we found in the source. This class is responsible for
+# walking the tree and finding the nearest location to attach each comment.
+#
+# It does this by first finding the nearest locations to each comment.
+# Locations can either come from nodes directly or from location fields on
+# nodes. For example, a `ClassNode` has an overall location encompassing the
+# entire class, but it also has a location for the `class` keyword.
+#
+# Once the nearest locations are found, it determines which one to attach
+# to. If it's a trailing comment (a comment on the same line as other source
+# code), it will favor attaching to the nearest location that occurs before
+# the comment. Otherwise it will favor attaching to the nearest location
+# that is after the comment.
+#
+# source://prism//lib/prism/parse_result/comments.rb#19
+class Prism::ParseResult::Comments
+ # Create a new Comments object that will attach comments to the given
+ # parse result.
+ #
+ # @return [Comments] a new instance of Comments
+ #
+ # source://prism//lib/prism/parse_result/comments.rb#78
+ def initialize(parse_result); end
+
+ # Attach the comments to their respective locations in the tree by
+ # mutating the parse result.
+ #
+ # source://prism//lib/prism/parse_result/comments.rb#84
+ def attach!; end
+
+ # The parse result that we are attaching comments to.
+ #
+ # source://prism//lib/prism/parse_result/comments.rb#74
+ def parse_result; end
+
+ private
+
+ # Responsible for finding the nearest targets to the given comment within
+ # the context of the given encapsulating node.
+ #
+ # source://prism//lib/prism/parse_result/comments.rb#103
+ def nearest_targets(node, comment); end
+end
+
+# A target for attaching comments that is based on a location field on a
+# node. For example, the `end` token of a ClassNode.
+#
+# source://prism//lib/prism/parse_result/comments.rb#49
+class Prism::ParseResult::Comments::LocationTarget
+ # @return [LocationTarget] a new instance of LocationTarget
+ #
+ # source://prism//lib/prism/parse_result/comments.rb#52
+ def initialize(location); end
+
+ # source://prism//lib/prism/parse_result/comments.rb#68
+ def <<(comment); end
+
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/parse_result/comments.rb#64
+ def encloses?(comment); end
+
+ # source://prism//lib/prism/parse_result/comments.rb#60
+ def end_offset; end
+
+ # source://prism//lib/prism/parse_result/comments.rb#50
+ def location; end
+
+ # source://prism//lib/prism/parse_result/comments.rb#56
+ def start_offset; end
+end
+
+# A target for attaching comments that is based on a specific node's
+# location.
+#
+# source://prism//lib/prism/parse_result/comments.rb#22
+class Prism::ParseResult::Comments::NodeTarget
+ # @return [NodeTarget] a new instance of NodeTarget
+ #
+ # source://prism//lib/prism/parse_result/comments.rb#25
+ def initialize(node); end
+
+ # source://prism//lib/prism/parse_result/comments.rb#42
+ def <<(comment); end
+
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/parse_result/comments.rb#37
+ def encloses?(comment); end
+
+ # source://prism//lib/prism/parse_result/comments.rb#33
+ def end_offset; end
+
+ # source://prism//lib/prism/parse_result/comments.rb#23
+ def node; end
+
+ # source://prism//lib/prism/parse_result/comments.rb#29
+ def start_offset; end
+end
+
+# The :line tracepoint event gets fired whenever the Ruby VM encounters an
+# expression on a new line. The types of expressions that can trigger this
+# event are:
+#
+# * if statements
+# * unless statements
+# * nodes that are children of statements lists
+#
+# In order to keep track of the newlines, we have a list of offsets that
+# come back from the parser. We assign these offsets to the first nodes that
+# we find in the tree that are on those lines.
+#
+# Note that the logic in this file should be kept in sync with the Java
+# MarkNewlinesVisitor, since that visitor is responsible for marking the
+# newlines for JRuby/TruffleRuby.
+#
+# source://prism//lib/prism/parse_result/newlines.rb#20
+class Prism::ParseResult::Newlines < ::Prism::Visitor
+ # Create a new Newlines visitor with the given newline offsets.
+ #
+ # @return [Newlines] a new instance of Newlines
+ #
+ # source://prism//lib/prism/parse_result/newlines.rb#22
+ def initialize(newline_marked); end
+
+ # Permit block/lambda nodes to mark newlines within themselves.
+ #
+ # source://prism//lib/prism/parse_result/newlines.rb#27
+ def visit_block_node(node); end
+
+ # Mark if/unless nodes as newlines.
+ #
+ # source://prism//lib/prism/parse_result/newlines.rb#41
+ def visit_if_node(node); end
+
+ # Permit block/lambda nodes to mark newlines within themselves.
+ #
+ # source://prism//lib/prism/parse_result/newlines.rb#27
+ def visit_lambda_node(node); end
+
+ # Permit statements lists to mark newlines within themselves.
+ #
+ # source://prism//lib/prism/parse_result/newlines.rb#49
+ def visit_statements_node(node); end
+
+ # Mark if/unless nodes as newlines.
+ #
+ # source://prism//lib/prism/parse_result/newlines.rb#41
+ def visit_unless_node(node); end
+end
+
+# This represents a warning that was encountered during parsing.
+#
+# source://prism//lib/prism/parse_result.rb#367
+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#378
+ def initialize(message, location, level); end
+
+ # Implement the hash pattern matching interface for ParseWarning.
+ #
+ # source://prism//lib/prism/parse_result.rb#385
+ def deconstruct_keys(keys); end
+
+ # Returns a string representation of this warning.
+ #
+ # source://prism//lib/prism/parse_result.rb#390
+ def inspect; end
+
+ # The level of this warning.
+ #
+ # source://prism//lib/prism/parse_result.rb#375
+ def level; end
+
+ # A Location object representing the location of this warning in the source.
+ #
+ # source://prism//lib/prism/parse_result.rb#372
+ sig { returns(Prism::Location) }
+ def location; end
+
+ # The message associated with this warning.
+ #
+ # source://prism//lib/prism/parse_result.rb#369
+ sig { returns(String) }
+ def message; end
+end
+
+# A pattern is an object that wraps a Ruby pattern matching expression. The
+# expression would normally be passed to an `in` clause within a `case`
+# expression or a rightward assignment expression. For example, in the
+# following snippet:
+#
+# case node
+# in ConstantPathNode[ConstantReadNode[name: :Prism], ConstantReadNode[name: :Pattern]]
+# end
+#
+# the pattern is the ConstantPathNode[...] expression.
+#
+# The pattern gets compiled into an object that responds to #call by running
+# the #compile method. This method itself will run back through Prism to
+# parse the expression into a tree, then walk the tree to generate the
+# necessary callable objects. For example, if you wanted to compile the
+# expression above into a callable, you would:
+#
+# callable = Prism::Pattern.new("ConstantPathNode[ConstantReadNode[name: :Prism], ConstantReadNode[name: :Pattern]]").compile
+# callable.call(node)
+#
+# The callable object returned by #compile is guaranteed to respond to #call
+# with a single argument, which is the node to match against. It also is
+# guaranteed to respond to #===, which means it itself can be used in a `case`
+# expression, as in:
+#
+# case node
+# when callable
+# end
+#
+# If the query given to the initializer cannot be compiled into a valid
+# matcher (either because of a syntax error or because it is using syntax we
+# do not yet support) then a Prism::Pattern::CompilationError will be
+# raised.
+#
+# source://prism//lib/prism/pattern.rb#37
+class Prism::Pattern
+ # Create a new pattern with the given query. The query should be a string
+ # containing a Ruby pattern matching expression.
+ #
+ # @return [Pattern] a new instance of Pattern
+ #
+ # source://prism//lib/prism/pattern.rb#63
+ def initialize(query); end
+
+ # Compile the query into a callable object that can be used to match against
+ # nodes.
+ #
+ # source://prism//lib/prism/pattern.rb#70
+ def compile; end
+
+ # The query that this pattern was initialized with.
+ #
+ # source://prism//lib/prism/pattern.rb#59
+ def query; end
+
+ # Scan the given node and all of its children for nodes that match the
+ # pattern. If a block is given, it will be called with each node that
+ # matches the pattern. If no block is given, an enumerator will be returned
+ # that will yield each node that matches the pattern.
+ #
+ # source://prism//lib/prism/pattern.rb#79
+ def scan(root); end
+
+ private
+
+ # Shortcut for combining two procs into one that returns true if both return
+ # true.
+ #
+ # source://prism//lib/prism/pattern.rb#95
+ def combine_and(left, right); end
+
+ # Shortcut for combining two procs into one that returns true if either
+ # returns true.
+ #
+ # source://prism//lib/prism/pattern.rb#101
+ def combine_or(left, right); end
+
+ # in foo | bar
+ #
+ # source://prism//lib/prism/pattern.rb#136
+ def compile_alternation_pattern_node(node); end
+
+ # in [foo, bar, baz]
+ #
+ # source://prism//lib/prism/pattern.rb#111
+ def compile_array_pattern_node(node); end
+
+ # in Prism::ConstantReadNode
+ #
+ # source://prism//lib/prism/pattern.rb#141
+ def compile_constant_path_node(node); end
+
+ # in ConstantReadNode
+ # in String
+ #
+ # source://prism//lib/prism/pattern.rb#153
+ def compile_constant_read_node(node); end
+
+ # Raise an error because the given node is not supported.
+ #
+ # @raise [CompilationError]
+ #
+ # source://prism//lib/prism/pattern.rb#106
+ def compile_error(node); end
+
+ # in InstanceVariableReadNode[name: Symbol]
+ # in { name: Symbol }
+ #
+ # source://prism//lib/prism/pattern.rb#171
+ def compile_hash_pattern_node(node); end
+
+ # in nil
+ #
+ # source://prism//lib/prism/pattern.rb#196
+ def compile_nil_node(node); end
+
+ # Compile any kind of node. Dispatch out to the individual compilation
+ # methods based on the type of node.
+ #
+ # source://prism//lib/prism/pattern.rb#225
+ def compile_node(node); end
+
+ # in /foo/
+ #
+ # source://prism//lib/prism/pattern.rb#201
+ def compile_regular_expression_node(node); end
+
+ # in ""
+ # in "foo"
+ #
+ # source://prism//lib/prism/pattern.rb#209
+ def compile_string_node(node); end
+
+ # in :+
+ # in :foo
+ #
+ # source://prism//lib/prism/pattern.rb#217
+ def compile_symbol_node(node); end
+end
+
+# Raised when the query given to a pattern is either invalid Ruby syntax or
+# is using syntax that we don't yet support.
+#
+# source://prism//lib/prism/pattern.rb#40
+class Prism::Pattern::CompilationError < ::StandardError
+ # Create a new CompilationError with the given representation of the node
+ # that caused the error.
+ #
+ # @return [CompilationError] a new instance of CompilationError
+ #
+ # source://prism//lib/prism/pattern.rb#43
+ def initialize(repr); end
+end
+
+# Represents the use of the `^` operator for pinning an expression in a pattern matching expression.
+#
+# foo in ^(bar)
+# ^^^^^^
+#
+# source://prism//lib/prism/node.rb#14964
+class Prism::PinnedExpressionNode < ::Prism::Node
+ # def initialize: (Node expression, Location operator_loc, Location lparen_loc, Location rparen_loc, Location location) -> void
+ #
+ # @return [PinnedExpressionNode] a new instance of PinnedExpressionNode
+ #
+ # source://prism//lib/prism/node.rb#14966
+ def initialize(source, expression, operator_loc, lparen_loc, rparen_loc, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#14977
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#14982
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#14992
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#14987
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> PinnedExpressionNode
+ #
+ # source://prism//lib/prism/node.rb#14997
+ sig { params(params: T.untyped).returns(Prism::PinnedExpressionNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#14982
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { expression: Node, operator_loc: Location, lparen_loc: Location, rparen_loc: Location, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#15012
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # attr_reader expression: Node
+ #
+ # source://prism//lib/prism/node.rb#15017
+ sig { returns(Prism::Node) }
+ def expression; end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#15054
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # def lparen: () -> String
+ #
+ # source://prism//lib/prism/node.rb#15044
+ sig { returns(String) }
+ def lparen; end
+
+ # attr_reader lparen_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#15026
+ sig { returns(Prism::Location) }
+ def lparen_loc; end
+
+ # def operator: () -> String
+ #
+ # source://prism//lib/prism/node.rb#15039
+ sig { returns(String) }
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#15020
+ sig { returns(Prism::Location) }
+ def operator_loc; end
+
+ # def rparen: () -> String
+ #
+ # source://prism//lib/prism/node.rb#15049
+ sig { returns(String) }
+ def rparen; end
+
+ # attr_reader rparen_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#15032
+ sig { returns(Prism::Location) }
+ def rparen_loc; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#15078
+ def type; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#15088
+ def type; end
+ end
+end
+
+# Represents the use of the `^` operator for pinning a variable in a pattern matching expression.
+#
+# foo in ^bar
+# ^^^^
+#
+# source://prism//lib/prism/node.rb#15097
+class Prism::PinnedVariableNode < ::Prism::Node
+ # def initialize: (Node variable, Location operator_loc, Location location) -> void
+ #
+ # @return [PinnedVariableNode] a new instance of PinnedVariableNode
+ #
+ # source://prism//lib/prism/node.rb#15099
+ def initialize(source, variable, operator_loc, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#15108
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#15113
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#15123
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#15118
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> PinnedVariableNode
+ #
+ # source://prism//lib/prism/node.rb#15128
+ sig { params(params: T.untyped).returns(Prism::PinnedVariableNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#15113
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { variable: Node, operator_loc: Location, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#15141
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#15161
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # def operator: () -> String
+ #
+ # source://prism//lib/prism/node.rb#15156
+ sig { returns(String) }
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#15149
+ sig { returns(Prism::Location) }
+ def operator_loc; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#15183
+ def type; end
+
+ # attr_reader variable: Node
+ #
+ # source://prism//lib/prism/node.rb#15146
+ sig { returns(Prism::Node) }
+ def variable; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#15193
+ def type; end
+ end
+end
+
+# Represents the use of the `END` keyword.
+#
+# END { foo }
+# ^^^^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#15202
+class Prism::PostExecutionNode < ::Prism::Node
+ # def initialize: (StatementsNode? statements, Location keyword_loc, Location opening_loc, Location closing_loc, Location location) -> void
+ #
+ # @return [PostExecutionNode] a new instance of PostExecutionNode
+ #
+ # source://prism//lib/prism/node.rb#15204
+ def initialize(source, statements, keyword_loc, opening_loc, closing_loc, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#15215
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#15220
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def closing: () -> String
+ #
+ # source://prism//lib/prism/node.rb#15289
+ sig { returns(String) }
+ def closing; end
+
+ # attr_reader closing_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#15272
+ sig { returns(Prism::Location) }
+ def closing_loc; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#15232
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#15225
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> PostExecutionNode
+ #
+ # source://prism//lib/prism/node.rb#15237
+ sig { params(params: T.untyped).returns(Prism::PostExecutionNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#15220
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { statements: StatementsNode?, keyword_loc: Location, opening_loc: Location, closing_loc: Location, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#15252
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#15294
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # def keyword: () -> String
+ #
+ # source://prism//lib/prism/node.rb#15279
+ sig { returns(String) }
+ def keyword; end
+
+ # attr_reader keyword_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#15260
+ sig { returns(Prism::Location) }
+ def keyword_loc; end
+
+ # def opening: () -> String
+ #
+ # source://prism//lib/prism/node.rb#15284
+ sig { returns(String) }
+ def opening; end
+
+ # attr_reader opening_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#15266
+ sig { returns(Prism::Location) }
+ def opening_loc; end
+
+ # attr_reader statements: StatementsNode?
+ #
+ # source://prism//lib/prism/node.rb#15257
+ sig { returns(T.nilable(Prism::StatementsNode)) }
+ def statements; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#15322
+ def type; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#15332
+ def type; end
+ end
+end
+
+# Represents the use of the `BEGIN` keyword.
+#
+# BEGIN { foo }
+# ^^^^^^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#15341
+class Prism::PreExecutionNode < ::Prism::Node
+ # def initialize: (StatementsNode? statements, Location keyword_loc, Location opening_loc, Location closing_loc, Location location) -> void
+ #
+ # @return [PreExecutionNode] a new instance of PreExecutionNode
+ #
+ # source://prism//lib/prism/node.rb#15343
+ def initialize(source, statements, keyword_loc, opening_loc, closing_loc, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#15354
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#15359
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def closing: () -> String
+ #
+ # source://prism//lib/prism/node.rb#15428
+ sig { returns(String) }
+ def closing; end
+
+ # attr_reader closing_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#15411
+ sig { returns(Prism::Location) }
+ def closing_loc; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#15371
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#15364
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> PreExecutionNode
+ #
+ # source://prism//lib/prism/node.rb#15376
+ sig { params(params: T.untyped).returns(Prism::PreExecutionNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#15359
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { statements: StatementsNode?, keyword_loc: Location, opening_loc: Location, closing_loc: Location, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#15391
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#15433
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # def keyword: () -> String
+ #
+ # source://prism//lib/prism/node.rb#15418
+ sig { returns(String) }
+ def keyword; end
+
+ # attr_reader keyword_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#15399
+ sig { returns(Prism::Location) }
+ def keyword_loc; end
+
+ # def opening: () -> String
+ #
+ # source://prism//lib/prism/node.rb#15423
+ sig { returns(String) }
+ def opening; end
+
+ # attr_reader opening_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#15405
+ sig { returns(Prism::Location) }
+ def opening_loc; end
+
+ # attr_reader statements: StatementsNode?
+ #
+ # source://prism//lib/prism/node.rb#15396
+ sig { returns(T.nilable(Prism::StatementsNode)) }
+ def statements; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#15461
+ def type; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#15471
+ def type; end
+ end
+end
+
+# The top level node of any parse tree.
+#
+# source://prism//lib/prism/node.rb#15477
+class Prism::ProgramNode < ::Prism::Node
+ # def initialize: (Array[Symbol] locals, StatementsNode statements, Location location) -> void
+ #
+ # @return [ProgramNode] a new instance of ProgramNode
+ #
+ # source://prism//lib/prism/node.rb#15479
+ def initialize(source, locals, statements, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#15488
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#15493
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#15503
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#15498
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> ProgramNode
+ #
+ # source://prism//lib/prism/node.rb#15508
+ sig { params(params: T.untyped).returns(Prism::ProgramNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#15493
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { locals: Array[Symbol], statements: StatementsNode, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#15521
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#15533
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # attr_reader locals: Array[Symbol]
+ #
+ # source://prism//lib/prism/node.rb#15526
+ sig { returns(T::Array[Symbol]) }
+ def locals; end
+
+ # attr_reader statements: StatementsNode
+ #
+ # source://prism//lib/prism/node.rb#15529
+ sig { returns(Prism::StatementsNode) }
+ def statements; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#15555
+ def type; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#15565
+ def type; end
+ end
+end
+
+# Flags for range and flip-flop nodes.
+#
+# source://prism//lib/prism/node.rb#19310
+module Prism::RangeFlags; end
+
+# ... operator
+#
+# source://prism//lib/prism/node.rb#19312
+Prism::RangeFlags::EXCLUDE_END = T.let(T.unsafe(nil), Integer)
+
+# Represents the use of the `..` or `...` operators.
+#
+# 1..2
+# ^^^^
+#
+# c if a =~ /left/ ... b =~ /right/
+# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#15577
+class Prism::RangeNode < ::Prism::Node
+ # def initialize: (Integer flags, Node? left, Node? right, Location operator_loc, Location location) -> void
+ #
+ # @return [RangeNode] a new instance of RangeNode
+ #
+ # source://prism//lib/prism/node.rb#15579
+ def initialize(source, flags, left, right, operator_loc, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#15590
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#15595
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#15608
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#15600
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> RangeNode
+ #
+ # source://prism//lib/prism/node.rb#15613
+ sig { params(params: T.untyped).returns(Prism::RangeNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#15595
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, left: Node?, right: Node?, operator_loc: Location, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#15628
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def exclude_end?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#15663
+ sig { returns(T::Boolean) }
+ def exclude_end?; end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#15673
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # The left-hand side of the range, if present. It can be either `nil` or any [non-void expression](https://github.com/ruby/prism/blob/main/docs/parsing_rules.md#non-void-expression).
+ #
+ # 1...
+ # ^
+ #
+ # hello...goodbye
+ # ^^^^^
+ #
+ # source://prism//lib/prism/node.rb#15643
+ sig { returns(T.nilable(Prism::Node)) }
+ def left; end
+
+ # def operator: () -> String
+ #
+ # source://prism//lib/prism/node.rb#15668
+ sig { returns(String) }
+ def operator; end
+
+ # The location of the `..` or `...` operator.
+ #
+ # source://prism//lib/prism/node.rb#15656
+ sig { returns(Prism::Location) }
+ def operator_loc; end
+
+ # The right-hand side of the range, if present. It can be either `nil` or any [non-void expression](https://github.com/ruby/prism/blob/main/docs/parsing_rules.md#non-void-expression).
+ #
+ # ..5
+ # ^
+ #
+ # 1...foo
+ # ^^^
+ # If neither right-hand or left-hand side was included, this will be a MissingNode.
+ #
+ # source://prism//lib/prism/node.rb#15653
+ sig { returns(T.nilable(Prism::Node)) }
+ def right; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#15707
+ def type; end
+
+ private
+
+ # private attr_reader flags: Integer
+ #
+ # source://prism//lib/prism/node.rb#15633
+ sig { returns(Integer) }
+ def flags; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#15717
+ def type; end
+ end
+end
+
+# Represents a rational number literal.
+#
+# 1.0r
+# ^^^^
+#
+# source://prism//lib/prism/node.rb#15726
+class Prism::RationalNode < ::Prism::Node
+ # def initialize: (Node numeric, Location location) -> void
+ #
+ # @return [RationalNode] a new instance of RationalNode
+ #
+ # source://prism//lib/prism/node.rb#15728
+ def initialize(source, numeric, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#15736
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#15741
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#15751
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#15746
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> RationalNode
+ #
+ # source://prism//lib/prism/node.rb#15756
+ sig { params(params: T.untyped).returns(Prism::RationalNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#15741
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { numeric: Node, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#15768
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#15777
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # attr_reader numeric: Node
+ #
+ # source://prism//lib/prism/node.rb#15773
+ sig { returns(Prism::Node) }
+ def numeric; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#15798
+ def type; end
+
+ # Returns the value of the node as a Ruby Rational.
+ #
+ # source://prism//lib/prism/node_ext.rb#83
+ def value; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#15808
+ def type; end
+ end
+end
+
+# Represents the use of the `redo` keyword.
+#
+# redo
+# ^^^^
+#
+# source://prism//lib/prism/node.rb#15817
+class Prism::RedoNode < ::Prism::Node
+ # def initialize: (Location location) -> void
+ #
+ # @return [RedoNode] a new instance of RedoNode
+ #
+ # source://prism//lib/prism/node.rb#15819
+ def initialize(source, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#15826
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#15831
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#15841
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#15836
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> RedoNode
+ #
+ # source://prism//lib/prism/node.rb#15846
+ sig { params(params: T.untyped).returns(Prism::RedoNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#15831
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { location: Location }
+ #
+ # source://prism//lib/prism/node.rb#15857
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#15863
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#15882
+ def type; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#15892
+ def type; end
+ end
+end
+
+# Flags for regular expression and match last line nodes.
+#
+# source://prism//lib/prism/node.rb#19316
+module Prism::RegularExpressionFlags; end
+
+# n - forces the ASCII-8BIT encoding
+#
+# source://prism//lib/prism/node.rb#19333
+Prism::RegularExpressionFlags::ASCII_8BIT = T.let(T.unsafe(nil), Integer)
+
+# e - forces the EUC-JP encoding
+#
+# source://prism//lib/prism/node.rb#19330
+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#19321
+Prism::RegularExpressionFlags::EXTENDED = T.let(T.unsafe(nil), Integer)
+
+# internal bytes forced the encoding to binary
+#
+# source://prism//lib/prism/node.rb#19345
+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#19348
+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#19342
+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#19318
+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#19324
+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#19327
+Prism::RegularExpressionFlags::ONCE = T.let(T.unsafe(nil), Integer)
+
+# u - forces the UTF-8 encoding
+#
+# source://prism//lib/prism/node.rb#19339
+Prism::RegularExpressionFlags::UTF_8 = T.let(T.unsafe(nil), Integer)
+
+# s - forces the Windows-31J encoding
+#
+# source://prism//lib/prism/node.rb#19336
+Prism::RegularExpressionFlags::WINDOWS_31J = T.let(T.unsafe(nil), Integer)
+
+# Represents a regular expression literal with no interpolation.
+#
+# /foo/i
+# ^^^^^^
+#
+# source://prism//lib/prism/node.rb#15901
+class Prism::RegularExpressionNode < ::Prism::Node
+ include ::Prism::RegularExpressionOptions
+
+ # def initialize: (Integer flags, Location opening_loc, Location content_loc, Location closing_loc, String unescaped, Location location) -> void
+ #
+ # @return [RegularExpressionNode] a new instance of RegularExpressionNode
+ #
+ # source://prism//lib/prism/node.rb#15903
+ def initialize(source, flags, opening_loc, content_loc, closing_loc, unescaped, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#15915
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def ascii_8bit?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#16007
+ sig { returns(T::Boolean) }
+ def ascii_8bit?; end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#15920
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def closing: () -> String
+ #
+ # source://prism//lib/prism/node.rb#16047
+ sig { returns(String) }
+ def closing; end
+
+ # attr_reader closing_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#15972
+ sig { returns(Prism::Location) }
+ def closing_loc; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#15930
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#15925
+ def compact_child_nodes; end
+
+ # def content: () -> String
+ #
+ # source://prism//lib/prism/node.rb#16042
+ sig { returns(String) }
+ def content; end
+
+ # attr_reader content_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#15966
+ sig { returns(Prism::Location) }
+ def content_loc; end
+
+ # def copy: (**params) -> RegularExpressionNode
+ #
+ # source://prism//lib/prism/node.rb#15935
+ sig { params(params: T.untyped).returns(Prism::RegularExpressionNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#15920
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, opening_loc: Location, content_loc: Location, closing_loc: Location, unescaped: String, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#15951
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def euc_jp?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#16002
+ sig { returns(T::Boolean) }
+ def euc_jp?; end
+
+ # def extended?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#15987
+ sig { returns(T::Boolean) }
+ def extended?; end
+
+ # def forced_binary_encoding?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#16027
+ sig { returns(T::Boolean) }
+ def forced_binary_encoding?; end
+
+ # def forced_us_ascii_encoding?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#16032
+ sig { returns(T::Boolean) }
+ def forced_us_ascii_encoding?; end
+
+ # def forced_utf8_encoding?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#16022
+ sig { returns(T::Boolean) }
+ def forced_utf8_encoding?; end
+
+ # def ignore_case?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#15982
+ sig { returns(T::Boolean) }
+ def ignore_case?; end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#16052
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # def multi_line?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#15992
+ sig { returns(T::Boolean) }
+ def multi_line?; end
+
+ # def once?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#15997
+ sig { returns(T::Boolean) }
+ def once?; end
+
+ # def opening: () -> String
+ #
+ # source://prism//lib/prism/node.rb#16037
+ sig { returns(String) }
+ def opening; end
+
+ # attr_reader opening_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#15960
+ sig { returns(Prism::Location) }
+ def opening_loc; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#16077
+ def type; end
+
+ # attr_reader unescaped: String
+ #
+ # source://prism//lib/prism/node.rb#15978
+ sig { returns(String) }
+ def unescaped; end
+
+ # def utf_8?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#16017
+ sig { returns(T::Boolean) }
+ def utf_8?; end
+
+ # def windows_31j?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#16012
+ sig { returns(T::Boolean) }
+ def windows_31j?; end
+
+ private
+
+ # private attr_reader flags: Integer
+ #
+ # source://prism//lib/prism/node.rb#15956
+ sig { returns(Integer) }
+ def flags; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#16087
+ def type; end
+ end
+end
+
+# source://prism//lib/prism/node_ext.rb#6
+module Prism::RegularExpressionOptions
+ # Returns a numeric value that represents the flags that were used to create
+ # the regular expression.
+ #
+ # source://prism//lib/prism/node_ext.rb#9
+ def options; end
+end
+
+# Represents a required keyword parameter to a method, block, or lambda definition.
+#
+# def a(b: )
+# ^^
+# end
+#
+# source://prism//lib/prism/node.rb#16097
+class Prism::RequiredKeywordParameterNode < ::Prism::Node
+ # def initialize: (Integer flags, Symbol name, Location name_loc, Location location) -> void
+ #
+ # @return [RequiredKeywordParameterNode] a new instance of RequiredKeywordParameterNode
+ #
+ # source://prism//lib/prism/node.rb#16099
+ def initialize(source, flags, name, name_loc, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#16109
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#16114
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#16124
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#16119
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> RequiredKeywordParameterNode
+ #
+ # source://prism//lib/prism/node.rb#16129
+ sig { params(params: T.untyped).returns(Prism::RequiredKeywordParameterNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#16114
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, name: Symbol, name_loc: Location, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#16143
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#16167
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # attr_reader name: Symbol
+ #
+ # source://prism//lib/prism/node.rb#16152
+ sig { returns(Symbol) }
+ def name; end
+
+ # attr_reader name_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#16155
+ sig { returns(Prism::Location) }
+ def name_loc; end
+
+ # def repeated_parameter?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#16162
+ sig { returns(T::Boolean) }
+ def repeated_parameter?; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#16190
+ def type; end
+
+ private
+
+ # private attr_reader flags: Integer
+ #
+ # source://prism//lib/prism/node.rb#16148
+ sig { returns(Integer) }
+ def flags; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#16200
+ def type; end
+ end
+end
+
+# Represents a required parameter to a method, block, or lambda definition.
+#
+# def a(b)
+# ^
+# end
+#
+# source://prism//lib/prism/node.rb#16210
+class Prism::RequiredParameterNode < ::Prism::Node
+ # def initialize: (Integer flags, Symbol name, Location location) -> void
+ #
+ # @return [RequiredParameterNode] a new instance of RequiredParameterNode
+ #
+ # source://prism//lib/prism/node.rb#16212
+ def initialize(source, flags, name, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#16221
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#16226
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#16236
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#16231
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> RequiredParameterNode
+ #
+ # source://prism//lib/prism/node.rb#16241
+ sig { params(params: T.untyped).returns(Prism::RequiredParameterNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#16226
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, name: Symbol, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#16254
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#16272
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # attr_reader name: Symbol
+ #
+ # source://prism//lib/prism/node.rb#16263
+ sig { returns(Symbol) }
+ def name; end
+
+ # def repeated_parameter?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#16267
+ sig { returns(T::Boolean) }
+ def repeated_parameter?; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#16294
+ def type; end
+
+ private
+
+ # private attr_reader flags: Integer
+ #
+ # source://prism//lib/prism/node.rb#16259
+ sig { returns(Integer) }
+ def flags; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#16304
+ def type; end
+ end
+end
+
+# Represents an expression modified with a rescue.
+#
+# foo rescue nil
+# ^^^^^^^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#16313
+class Prism::RescueModifierNode < ::Prism::Node
+ # def initialize: (Node expression, Location keyword_loc, Node rescue_expression, Location location) -> void
+ #
+ # @return [RescueModifierNode] a new instance of RescueModifierNode
+ #
+ # source://prism//lib/prism/node.rb#16315
+ def initialize(source, expression, keyword_loc, rescue_expression, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#16325
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#16334
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#16344
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#16339
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> RescueModifierNode
+ #
+ # source://prism//lib/prism/node.rb#16349
+ sig { params(params: T.untyped).returns(Prism::RescueModifierNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#16334
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { expression: Node, keyword_loc: Location, rescue_expression: Node, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#16363
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # attr_reader expression: Node
+ #
+ # source://prism//lib/prism/node.rb#16368
+ sig { returns(Prism::Node) }
+ def expression; end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#16386
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # def keyword: () -> String
+ #
+ # source://prism//lib/prism/node.rb#16381
+ sig { returns(String) }
+ def keyword; end
+
+ # attr_reader keyword_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#16371
+ sig { returns(Prism::Location) }
+ def keyword_loc; end
+
+ # attr_reader rescue_expression: Node
+ #
+ # source://prism//lib/prism/node.rb#16377
+ sig { returns(Prism::Node) }
+ def rescue_expression; end
+
+ # source://prism//lib/prism/node.rb#16329
+ def set_newline_flag(newline_marked); end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#16410
+ def type; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#16420
+ def type; end
+ end
+end
+
+# Represents a rescue statement.
+#
+# begin
+# rescue Foo, *splat, Bar => ex
+# foo
+# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+# end
+#
+# `Foo, *splat, Bar` are in the `exceptions` field. `ex` is in the `exception` field.
+#
+# source://prism//lib/prism/node.rb#16434
+class Prism::RescueNode < ::Prism::Node
+ # def initialize: (Location keyword_loc, Array[Node] exceptions, Location? operator_loc, Node? reference, StatementsNode? statements, RescueNode? consequent, Location location) -> void
+ #
+ # @return [RescueNode] a new instance of RescueNode
+ #
+ # source://prism//lib/prism/node.rb#16436
+ def initialize(source, keyword_loc, exceptions, operator_loc, reference, statements, consequent, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#16449
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#16454
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#16469
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#16459
+ def compact_child_nodes; end
+
+ # attr_reader consequent: RescueNode?
+ #
+ # source://prism//lib/prism/node.rb#16523
+ sig { returns(T.nilable(Prism::RescueNode)) }
+ def consequent; end
+
+ # def copy: (**params) -> RescueNode
+ #
+ # source://prism//lib/prism/node.rb#16474
+ sig { params(params: T.untyped).returns(Prism::RescueNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#16454
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { keyword_loc: Location, exceptions: Array[Node], operator_loc: Location?, reference: Node?, statements: StatementsNode?, consequent: RescueNode?, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#16491
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # attr_reader exceptions: Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#16502
+ sig { returns(T::Array[Prism::Node]) }
+ def exceptions; end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#16537
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # def keyword: () -> String
+ #
+ # source://prism//lib/prism/node.rb#16527
+ sig { returns(String) }
+ def keyword; end
+
+ # attr_reader keyword_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#16496
+ sig { returns(Prism::Location) }
+ def keyword_loc; end
+
+ # def operator: () -> String?
+ #
+ # source://prism//lib/prism/node.rb#16532
+ sig { returns(T.nilable(String)) }
+ def operator; end
+
+ # attr_reader operator_loc: Location?
+ #
+ # source://prism//lib/prism/node.rb#16505
+ sig { returns(T.nilable(Prism::Location)) }
+ def operator_loc; end
+
+ # attr_reader reference: Node?
+ #
+ # source://prism//lib/prism/node.rb#16517
+ sig { returns(T.nilable(Prism::Node)) }
+ def reference; end
+
+ # attr_reader statements: StatementsNode?
+ #
+ # source://prism//lib/prism/node.rb#16520
+ sig { returns(T.nilable(Prism::StatementsNode)) }
+ def statements; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#16577
+ def type; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#16587
+ def type; end
+ end
+end
+
+# Represents a rest parameter to a method, block, or lambda definition.
+#
+# def a(*b)
+# ^^
+# end
+#
+# source://prism//lib/prism/node.rb#16597
+class Prism::RestParameterNode < ::Prism::Node
+ # def initialize: (Integer flags, Symbol? name, Location? name_loc, Location operator_loc, Location location) -> void
+ #
+ # @return [RestParameterNode] a new instance of RestParameterNode
+ #
+ # source://prism//lib/prism/node.rb#16599
+ def initialize(source, flags, name, name_loc, operator_loc, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#16610
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#16615
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#16625
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#16620
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> RestParameterNode
+ #
+ # source://prism//lib/prism/node.rb#16630
+ sig { params(params: T.untyped).returns(Prism::RestParameterNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#16615
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, name: Symbol?, name_loc: Location?, operator_loc: Location, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#16645
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#16686
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # attr_reader name: Symbol?
+ #
+ # source://prism//lib/prism/node.rb#16654
+ sig { returns(T.nilable(Symbol)) }
+ def name; end
+
+ # attr_reader name_loc: Location?
+ #
+ # source://prism//lib/prism/node.rb#16657
+ sig { returns(T.nilable(Prism::Location)) }
+ def name_loc; end
+
+ # def operator: () -> String
+ #
+ # source://prism//lib/prism/node.rb#16681
+ sig { returns(String) }
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#16669
+ sig { returns(Prism::Location) }
+ def operator_loc; end
+
+ # def repeated_parameter?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#16676
+ sig { returns(T::Boolean) }
+ def repeated_parameter?; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#16714
+ def type; end
+
+ private
+
+ # private attr_reader flags: Integer
+ #
+ # source://prism//lib/prism/node.rb#16650
+ sig { returns(Integer) }
+ def flags; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#16724
+ def type; end
+ end
+end
+
+# Represents the use of the `retry` keyword.
+#
+# retry
+# ^^^^^
+#
+# source://prism//lib/prism/node.rb#16733
+class Prism::RetryNode < ::Prism::Node
+ # def initialize: (Location location) -> void
+ #
+ # @return [RetryNode] a new instance of RetryNode
+ #
+ # source://prism//lib/prism/node.rb#16735
+ def initialize(source, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#16742
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#16747
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#16757
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#16752
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> RetryNode
+ #
+ # source://prism//lib/prism/node.rb#16762
+ sig { params(params: T.untyped).returns(Prism::RetryNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#16747
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { location: Location }
+ #
+ # source://prism//lib/prism/node.rb#16773
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#16779
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#16798
+ def type; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#16808
+ def type; end
+ end
+end
+
+# Represents the use of the `return` keyword.
+#
+# return 1
+# ^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#16817
+class Prism::ReturnNode < ::Prism::Node
+ # def initialize: (Location keyword_loc, ArgumentsNode? arguments, Location location) -> void
+ #
+ # @return [ReturnNode] a new instance of ReturnNode
+ #
+ # source://prism//lib/prism/node.rb#16819
+ def initialize(source, keyword_loc, arguments, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#16828
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # attr_reader arguments: ArgumentsNode?
+ #
+ # source://prism//lib/prism/node.rb#16874
+ sig { returns(T.nilable(Prism::ArgumentsNode)) }
+ def arguments; end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#16833
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#16845
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#16838
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> ReturnNode
+ #
+ # source://prism//lib/prism/node.rb#16850
+ sig { params(params: T.untyped).returns(Prism::ReturnNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#16833
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { keyword_loc: Location, arguments: ArgumentsNode?, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#16863
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#16883
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # def keyword: () -> String
+ #
+ # source://prism//lib/prism/node.rb#16878
+ sig { returns(String) }
+ def keyword; end
+
+ # attr_reader keyword_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#16868
+ sig { returns(Prism::Location) }
+ def keyword_loc; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#16909
+ def type; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#16919
+ def type; end
+ end
+end
+
+# Represents the `self` keyword.
+#
+# self
+# ^^^^
+#
+# source://prism//lib/prism/node.rb#16928
+class Prism::SelfNode < ::Prism::Node
+ # def initialize: (Location location) -> void
+ #
+ # @return [SelfNode] a new instance of SelfNode
+ #
+ # source://prism//lib/prism/node.rb#16930
+ def initialize(source, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#16937
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#16942
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#16952
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#16947
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> SelfNode
+ #
+ # source://prism//lib/prism/node.rb#16957
+ sig { params(params: T.untyped).returns(Prism::SelfNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#16942
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { location: Location }
+ #
+ # source://prism//lib/prism/node.rb#16968
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#16974
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#16993
+ def type; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#17003
+ def type; end
+ end
+end
+
+# A module responsible for deserializing parse results.
+#
+# source://prism//lib/prism/serialize.rb#23
+module Prism::Serialize
+ class << self
+ # Deserialize the AST represented by the given string into a parse result.
+ #
+ # source://prism//lib/prism/serialize.rb#37
+ def load(input, serialized); end
+
+ # Deserialize the tokens represented by the given string into a parse
+ # result.
+ #
+ # source://prism//lib/prism/serialize.rb#49
+ def load_tokens(source, serialized); end
+ end
+end
+
+# source://prism//lib/prism/serialize.rb#53
+class Prism::Serialize::Loader
+ # @return [Loader] a new instance of Loader
+ #
+ # source://prism//lib/prism/serialize.rb#58
+ def initialize(source, serialized); end
+
+ # Returns the value of attribute constant_pool.
+ #
+ # source://prism//lib/prism/serialize.rb#55
+ def constant_pool; end
+
+ # Returns the value of attribute constant_pool_offset.
+ #
+ # source://prism//lib/prism/serialize.rb#55
+ def constant_pool_offset; end
+
+ # Returns the value of attribute encoding.
+ #
+ # source://prism//lib/prism/serialize.rb#54
+ def encoding; end
+
+ # Returns the value of attribute input.
+ #
+ # source://prism//lib/prism/serialize.rb#54
+ def input; end
+
+ # Returns the value of attribute io.
+ #
+ # source://prism//lib/prism/serialize.rb#54
+ def io; end
+
+ # source://prism//lib/prism/serialize.rb#96
+ def load_comments; end
+
+ # source://prism//lib/prism/serialize.rb#82
+ def load_encoding; end
+
+ # source://prism//lib/prism/serialize.rb#73
+ def load_header; end
+
+ # source://prism//lib/prism/serialize.rb#92
+ def load_line_offsets; end
+
+ # source://prism//lib/prism/serialize.rb#106
+ def load_metadata; end
+
+ # source://prism//lib/prism/serialize.rb#140
+ def load_nodes; end
+
+ # source://prism//lib/prism/serialize.rb#154
+ def load_result; end
+
+ # source://prism//lib/prism/serialize.rb#88
+ def load_start_line; end
+
+ # source://prism//lib/prism/serialize.rb#115
+ def load_tokens; end
+
+ # source://prism//lib/prism/serialize.rb#128
+ def load_tokens_result; end
+
+ # Returns the value of attribute serialized.
+ #
+ # source://prism//lib/prism/serialize.rb#54
+ def serialized; end
+
+ # Returns the value of attribute source.
+ #
+ # source://prism//lib/prism/serialize.rb#55
+ def source; end
+
+ # Returns the value of attribute start_line.
+ #
+ # source://prism//lib/prism/serialize.rb#56
+ def start_line; end
+
+ private
+
+ # source://prism//lib/prism/serialize.rb#217
+ def load_constant(index); end
+
+ # source://prism//lib/prism/serialize.rb#193
+ def load_embedded_string; end
+
+ # source://prism//lib/prism/serialize.rb#247
+ def load_error_level; end
+
+ # source://prism//lib/prism/serialize.rb#209
+ def load_location; end
+
+ # source://prism//lib/prism/serialize.rb#274
+ def load_node; end
+
+ # source://prism//lib/prism/serialize.rb#242
+ def load_optional_constant; end
+
+ # source://prism//lib/prism/serialize.rb#213
+ def load_optional_location; end
+
+ # source://prism//lib/prism/serialize.rb#186
+ def load_optional_node; end
+
+ # source://prism//lib/prism/serialize.rb#238
+ def load_required_constant; end
+
+ # source://prism//lib/prism/serialize.rb#182
+ def load_serialized_length; end
+
+ # source://prism//lib/prism/serialize.rb#197
+ def load_string; end
+
+ # source://prism//lib/prism/serialize.rb#177
+ 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#163
+ def load_varuint; end
+
+ # source://prism//lib/prism/serialize.rb#260
+ def load_warning_level; end
+end
+
+# The major version of prism that we are expecting to find in the serialized
+# strings.
+#
+# source://prism//lib/prism/serialize.rb#26
+Prism::Serialize::MAJOR_VERSION = T.let(T.unsafe(nil), Integer)
+
+# The minor version of prism that we are expecting to find in the serialized
+# strings.
+#
+# source://prism//lib/prism/serialize.rb#30
+Prism::Serialize::MINOR_VERSION = T.let(T.unsafe(nil), Integer)
+
+# The patch version of prism that we are expecting to find in the serialized
+# strings.
+#
+# source://prism//lib/prism/serialize.rb#34
+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#1482
+Prism::Serialize::TOKEN_TYPES = T.let(T.unsafe(nil), Array)
+
+# Represents a singleton class declaration involving the `class` keyword.
+#
+# class << self end
+# ^^^^^^^^^^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#17012
+class Prism::SingletonClassNode < ::Prism::Node
+ # def initialize: (Array[Symbol] locals, Location class_keyword_loc, Location operator_loc, Node expression, Node? body, Location end_keyword_loc, Location location) -> void
+ #
+ # @return [SingletonClassNode] a new instance of SingletonClassNode
+ #
+ # source://prism//lib/prism/node.rb#17014
+ def initialize(source, locals, class_keyword_loc, operator_loc, expression, body, end_keyword_loc, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#17027
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # attr_reader body: Node?
+ #
+ # source://prism//lib/prism/node.rb#17090
+ sig { returns(T.nilable(Prism::Node)) }
+ def body; end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#17032
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def class_keyword: () -> String
+ #
+ # source://prism//lib/prism/node.rb#17100
+ sig { returns(String) }
+ def class_keyword; end
+
+ # attr_reader class_keyword_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#17075
+ sig { returns(Prism::Location) }
+ def class_keyword_loc; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#17045
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#17037
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> SingletonClassNode
+ #
+ # source://prism//lib/prism/node.rb#17050
+ sig { params(params: T.untyped).returns(Prism::SingletonClassNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#17032
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { locals: Array[Symbol], class_keyword_loc: Location, operator_loc: Location, expression: Node, body: Node?, end_keyword_loc: Location, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#17067
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def end_keyword: () -> String
+ #
+ # source://prism//lib/prism/node.rb#17110
+ sig { returns(String) }
+ def end_keyword; end
+
+ # attr_reader end_keyword_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#17093
+ sig { returns(Prism::Location) }
+ def end_keyword_loc; end
+
+ # attr_reader expression: Node
+ #
+ # source://prism//lib/prism/node.rb#17087
+ sig { returns(Prism::Node) }
+ def expression; end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#17115
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # attr_reader locals: Array[Symbol]
+ #
+ # source://prism//lib/prism/node.rb#17072
+ sig { returns(T::Array[Symbol]) }
+ def locals; end
+
+ # def operator: () -> String
+ #
+ # source://prism//lib/prism/node.rb#17105
+ sig { returns(String) }
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#17081
+ sig { returns(Prism::Location) }
+ def operator_loc; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#17146
+ def type; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#17156
+ def type; end
+ end
+end
+
+# This represents a source of Ruby code that has been parsed. It is used in
+# conjunction with locations to allow them to resolve line numbers and source
+# ranges.
+#
+# source://prism//lib/prism/parse_result.rb#7
+class Prism::Source
+ # Create a new source object with the given source code.
+ #
+ # @return [Source] a new instance of Source
+ #
+ # source://prism//lib/prism/parse_result.rb#18
+ def initialize(source, start_line = T.unsafe(nil), offsets = T.unsafe(nil)); end
+
+ # Return the column number in characters for the given byte offset.
+ #
+ # source://prism//lib/prism/parse_result.rb#53
+ def character_column(byte_offset); end
+
+ # Return the character offset for the given byte offset.
+ #
+ # source://prism//lib/prism/parse_result.rb#48
+ def character_offset(byte_offset); end
+
+ # Returns the column number in code units for the given encoding for the
+ # given byte offset.
+ #
+ # source://prism//lib/prism/parse_result.rb#70
+ def code_units_column(byte_offset, encoding); end
+
+ # Returns the offset from the start of the file for the given byte offset
+ # counting in code units for the given encoding.
+ #
+ # This method is tested with UTF-8, UTF-16, and UTF-32. If there is the
+ # concept of code units that differs from the number of characters in other
+ # encodings, it is not captured here.
+ #
+ # source://prism//lib/prism/parse_result.rb#63
+ def code_units_offset(byte_offset, encoding); end
+
+ # Return the column number for the given byte offset.
+ #
+ # source://prism//lib/prism/parse_result.rb#43
+ def column(byte_offset); end
+
+ # Binary search through the offsets to find the line number for the given
+ # byte offset.
+ #
+ # source://prism//lib/prism/parse_result.rb#32
+ def line(byte_offset); end
+
+ sig { params(value: Integer).returns(Integer) }
+ def line_offset(value); end
+
+ # Return the byte offset of the start of the line corresponding to the given
+ # byte offset.
+ #
+ # source://prism//lib/prism/parse_result.rb#38
+ def line_start(byte_offset); end
+
+ # The list of newline byte offsets in the source code.
+ #
+ # source://prism//lib/prism/parse_result.rb#15
+ sig { returns(T::Array[Integer]) }
+ def offsets; end
+
+ # Perform a byteslice on the source code using the given byte offset and
+ # byte length.
+ #
+ # source://prism//lib/prism/parse_result.rb#26
+ def slice(byte_offset, length); end
+
+ # The source code that this source object represents.
+ #
+ # source://prism//lib/prism/parse_result.rb#9
+ sig { returns(String) }
+ def source; end
+
+ # The line number where this source starts.
+ #
+ # source://prism//lib/prism/parse_result.rb#12
+ def start_line; end
+
+ private
+
+ # Binary search through the offsets to find the line number for the given
+ # byte offset.
+ #
+ # source://prism//lib/prism/parse_result.rb#78
+ def find_line(byte_offset); end
+end
+
+# Represents the use of the `__ENCODING__` keyword.
+#
+# __ENCODING__
+# ^^^^^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#17165
+class Prism::SourceEncodingNode < ::Prism::Node
+ # def initialize: (Location location) -> void
+ #
+ # @return [SourceEncodingNode] a new instance of SourceEncodingNode
+ #
+ # source://prism//lib/prism/node.rb#17167
+ def initialize(source, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#17174
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#17179
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#17189
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#17184
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> SourceEncodingNode
+ #
+ # source://prism//lib/prism/node.rb#17194
+ sig { params(params: T.untyped).returns(Prism::SourceEncodingNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#17179
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { location: Location }
+ #
+ # source://prism//lib/prism/node.rb#17205
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#17211
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#17230
+ def type; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#17240
+ def type; end
+ end
+end
+
+# Represents the use of the `__FILE__` keyword.
+#
+# __FILE__
+# ^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#17249
+class Prism::SourceFileNode < ::Prism::Node
+ # def initialize: (String filepath, Location location) -> void
+ #
+ # @return [SourceFileNode] a new instance of SourceFileNode
+ #
+ # source://prism//lib/prism/node.rb#17251
+ def initialize(source, filepath, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#17259
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#17264
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#17274
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#17269
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> SourceFileNode
+ #
+ # source://prism//lib/prism/node.rb#17279
+ sig { params(params: T.untyped).returns(Prism::SourceFileNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#17264
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { filepath: String, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#17291
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # attr_reader filepath: String
+ #
+ # source://prism//lib/prism/node.rb#17296
+ sig { returns(String) }
+ def filepath; end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#17300
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#17320
+ def type; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#17330
+ def type; end
+ end
+end
+
+# Represents the use of the `__LINE__` keyword.
+#
+# __LINE__
+# ^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#17339
+class Prism::SourceLineNode < ::Prism::Node
+ # def initialize: (Location location) -> void
+ #
+ # @return [SourceLineNode] a new instance of SourceLineNode
+ #
+ # source://prism//lib/prism/node.rb#17341
+ def initialize(source, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#17348
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#17353
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#17363
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#17358
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> SourceLineNode
+ #
+ # source://prism//lib/prism/node.rb#17368
+ sig { params(params: T.untyped).returns(Prism::SourceLineNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#17353
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { location: Location }
+ #
+ # source://prism//lib/prism/node.rb#17379
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#17385
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#17404
+ def type; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#17414
+ def type; end
+ end
+end
+
+# Represents the use of the splat operator.
+#
+# [*a]
+# ^^
+#
+# source://prism//lib/prism/node.rb#17423
+class Prism::SplatNode < ::Prism::Node
+ # def initialize: (Location operator_loc, Node? expression, Location location) -> void
+ #
+ # @return [SplatNode] a new instance of SplatNode
+ #
+ # source://prism//lib/prism/node.rb#17425
+ def initialize(source, operator_loc, expression, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#17434
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#17439
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#17451
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#17444
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> SplatNode
+ #
+ # source://prism//lib/prism/node.rb#17456
+ sig { params(params: T.untyped).returns(Prism::SplatNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#17439
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { operator_loc: Location, expression: Node?, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#17469
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # attr_reader expression: Node?
+ #
+ # source://prism//lib/prism/node.rb#17480
+ sig { returns(T.nilable(Prism::Node)) }
+ def expression; end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#17489
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # def operator: () -> String
+ #
+ # source://prism//lib/prism/node.rb#17484
+ sig { returns(String) }
+ def operator; end
+
+ # attr_reader operator_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#17474
+ sig { returns(Prism::Location) }
+ def operator_loc; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#17515
+ def type; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#17525
+ def type; end
+ end
+end
+
+# Represents a set of statements contained within some scope.
+#
+# foo; bar; baz
+# ^^^^^^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#17534
+class Prism::StatementsNode < ::Prism::Node
+ # def initialize: (Array[Node] body, Location location) -> void
+ #
+ # @return [StatementsNode] a new instance of StatementsNode
+ #
+ # source://prism//lib/prism/node.rb#17536
+ def initialize(source, body, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#17544
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # attr_reader body: Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#17581
+ sig { returns(T::Array[Prism::Node]) }
+ def body; end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#17549
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#17559
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#17554
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> StatementsNode
+ #
+ # source://prism//lib/prism/node.rb#17564
+ sig { params(params: T.untyped).returns(Prism::StatementsNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#17549
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { body: Array[Node], location: Location }
+ #
+ # source://prism//lib/prism/node.rb#17576
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#17585
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#17605
+ def type; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#17615
+ def type; end
+ end
+end
+
+# Flags for string nodes.
+#
+# source://prism//lib/prism/node.rb#19352
+module Prism::StringFlags; end
+
+# internal bytes forced the encoding to binary
+#
+# source://prism//lib/prism/node.rb#19357
+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#19354
+Prism::StringFlags::FORCED_UTF8_ENCODING = T.let(T.unsafe(nil), Integer)
+
+# frozen by virtue of a `frozen_string_literal` comment
+#
+# source://prism//lib/prism/node.rb#19360
+Prism::StringFlags::FROZEN = T.let(T.unsafe(nil), Integer)
+
+# Represents a string literal, a string contained within a `%w` list, or plain string content within an interpolated string.
+#
+# "foo"
+# ^^^^^
+#
+# %w[foo]
+# ^^^
+#
+# "foo #{bar} baz"
+# ^^^^ ^^^^
+#
+# source://prism//lib/prism/node.rb#17630
+class Prism::StringNode < ::Prism::Node
+ include ::Prism::HeredocQuery
+
+ # def initialize: (Integer flags, Location? opening_loc, Location content_loc, Location? closing_loc, String unescaped, Location location) -> void
+ #
+ # @return [StringNode] a new instance of StringNode
+ #
+ # source://prism//lib/prism/node.rb#17632
+ def initialize(source, flags, opening_loc, content_loc, closing_loc, unescaped, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#17644
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#17649
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def closing: () -> String?
+ #
+ # source://prism//lib/prism/node.rb#17748
+ sig { returns(T.nilable(String)) }
+ def closing; end
+
+ # attr_reader closing_loc: Location?
+ #
+ # source://prism//lib/prism/node.rb#17707
+ sig { returns(T.nilable(Prism::Location)) }
+ def closing_loc; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#17659
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#17654
+ def compact_child_nodes; end
+
+ # def content: () -> String
+ #
+ # source://prism//lib/prism/node.rb#17743
+ sig { returns(String) }
+ def content; end
+
+ # attr_reader content_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#17701
+ sig { returns(Prism::Location) }
+ def content_loc; end
+
+ # def copy: (**params) -> StringNode
+ #
+ # source://prism//lib/prism/node.rb#17664
+ sig { params(params: T.untyped).returns(Prism::StringNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#17649
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, opening_loc: Location?, content_loc: Location, closing_loc: Location?, unescaped: String, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#17680
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def forced_binary_encoding?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#17728
+ sig { returns(T::Boolean) }
+ def forced_binary_encoding?; end
+
+ # def forced_utf8_encoding?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#17723
+ sig { returns(T::Boolean) }
+ def forced_utf8_encoding?; end
+
+ # def frozen?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#17733
+ sig { returns(T::Boolean) }
+ def frozen?; end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#17753
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # def opening: () -> String?
+ #
+ # source://prism//lib/prism/node.rb#17738
+ sig { returns(T.nilable(String)) }
+ def opening; end
+
+ # attr_reader opening_loc: Location?
+ #
+ # source://prism//lib/prism/node.rb#17689
+ sig { returns(T.nilable(Prism::Location)) }
+ def opening_loc; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#17778
+ def type; end
+
+ # attr_reader unescaped: String
+ #
+ # source://prism//lib/prism/node.rb#17719
+ sig { returns(String) }
+ def unescaped; end
+
+ private
+
+ # private attr_reader flags: Integer
+ #
+ # source://prism//lib/prism/node.rb#17685
+ sig { returns(Integer) }
+ def flags; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#17788
+ def type; end
+ end
+end
+
+# Represents the use of the `super` keyword with parentheses or arguments.
+#
+# super()
+# ^^^^^^^
+#
+# super foo, bar
+# ^^^^^^^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#17800
+class Prism::SuperNode < ::Prism::Node
+ # def initialize: (Location keyword_loc, Location? lparen_loc, ArgumentsNode? arguments, Location? rparen_loc, Node? block, Location location) -> void
+ #
+ # @return [SuperNode] a new instance of SuperNode
+ #
+ # source://prism//lib/prism/node.rb#17802
+ def initialize(source, keyword_loc, lparen_loc, arguments, rparen_loc, block, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#17814
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # attr_reader arguments: ArgumentsNode?
+ #
+ # source://prism//lib/prism/node.rb#17876
+ sig { returns(T.nilable(Prism::ArgumentsNode)) }
+ def arguments; end
+
+ # attr_reader block: Node?
+ #
+ # source://prism//lib/prism/node.rb#17891
+ sig { returns(T.nilable(Prism::Node)) }
+ def block; end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#17819
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#17832
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#17824
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> SuperNode
+ #
+ # source://prism//lib/prism/node.rb#17837
+ sig { params(params: T.untyped).returns(Prism::SuperNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#17819
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { keyword_loc: Location, lparen_loc: Location?, arguments: ArgumentsNode?, rparen_loc: Location?, block: Node?, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#17853
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#17910
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # def keyword: () -> String
+ #
+ # source://prism//lib/prism/node.rb#17895
+ sig { returns(String) }
+ def keyword; end
+
+ # attr_reader keyword_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#17858
+ sig { returns(Prism::Location) }
+ def keyword_loc; end
+
+ # def lparen: () -> String?
+ #
+ # source://prism//lib/prism/node.rb#17900
+ sig { returns(T.nilable(String)) }
+ def lparen; end
+
+ # attr_reader lparen_loc: Location?
+ #
+ # source://prism//lib/prism/node.rb#17864
+ sig { returns(T.nilable(Prism::Location)) }
+ def lparen_loc; end
+
+ # def rparen: () -> String?
+ #
+ # source://prism//lib/prism/node.rb#17905
+ sig { returns(T.nilable(String)) }
+ def rparen; end
+
+ # attr_reader rparen_loc: Location?
+ #
+ # source://prism//lib/prism/node.rb#17879
+ sig { returns(T.nilable(Prism::Location)) }
+ def rparen_loc; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#17944
+ def type; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#17954
+ def type; end
+ end
+end
+
+# Flags for symbol nodes.
+#
+# source://prism//lib/prism/node.rb#19364
+module Prism::SymbolFlags; end
+
+# internal bytes forced the encoding to binary
+#
+# source://prism//lib/prism/node.rb#19369
+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#19372
+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#19366
+Prism::SymbolFlags::FORCED_UTF8_ENCODING = T.let(T.unsafe(nil), Integer)
+
+# Represents a symbol literal or a symbol contained within a `%i` list.
+#
+# :foo
+# ^^^^
+#
+# %i[foo]
+# ^^^
+#
+# source://prism//lib/prism/node.rb#17966
+class Prism::SymbolNode < ::Prism::Node
+ # def initialize: (Integer flags, Location? opening_loc, Location? value_loc, Location? closing_loc, String unescaped, Location location) -> void
+ #
+ # @return [SymbolNode] a new instance of SymbolNode
+ #
+ # source://prism//lib/prism/node.rb#17968
+ def initialize(source, flags, opening_loc, value_loc, closing_loc, unescaped, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#17980
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#17985
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def closing: () -> String?
+ #
+ # source://prism//lib/prism/node.rb#18090
+ sig { returns(T.nilable(String)) }
+ def closing; end
+
+ # attr_reader closing_loc: Location?
+ #
+ # source://prism//lib/prism/node.rb#18049
+ sig { returns(T.nilable(Prism::Location)) }
+ def closing_loc; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#17995
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#17990
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> SymbolNode
+ #
+ # source://prism//lib/prism/node.rb#18000
+ sig { params(params: T.untyped).returns(Prism::SymbolNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#17985
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, opening_loc: Location?, value_loc: Location?, closing_loc: Location?, unescaped: String, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#18016
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def forced_binary_encoding?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#18070
+ sig { returns(T::Boolean) }
+ def forced_binary_encoding?; end
+
+ # def forced_us_ascii_encoding?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#18075
+ sig { returns(T::Boolean) }
+ def forced_us_ascii_encoding?; end
+
+ # def forced_utf8_encoding?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#18065
+ sig { returns(T::Boolean) }
+ def forced_utf8_encoding?; end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#18095
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # def opening: () -> String?
+ #
+ # source://prism//lib/prism/node.rb#18080
+ sig { returns(T.nilable(String)) }
+ def opening; end
+
+ # attr_reader opening_loc: Location?
+ #
+ # source://prism//lib/prism/node.rb#18025
+ sig { returns(T.nilable(Prism::Location)) }
+ def opening_loc; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#18120
+ def type; end
+
+ # attr_reader unescaped: String
+ #
+ # source://prism//lib/prism/node.rb#18061
+ sig { returns(String) }
+ def unescaped; end
+
+ # def value: () -> String?
+ #
+ # source://prism//lib/prism/node.rb#18085
+ sig { returns(T.nilable(String)) }
+ def value; end
+
+ # attr_reader value_loc: Location?
+ #
+ # source://prism//lib/prism/node.rb#18037
+ sig { returns(T.nilable(Prism::Location)) }
+ def value_loc; end
+
+ private
+
+ # private attr_reader flags: Integer
+ #
+ # source://prism//lib/prism/node.rb#18021
+ sig { returns(Integer) }
+ def flags; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#18130
+ def type; end
+ end
+end
+
+# This represents a token from the Ruby source.
+#
+# source://prism//lib/prism/parse_result.rb#454
+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#466
+ 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#500
+ 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#474
+ sig { params(keys: T.untyped).returns(T.untyped) }
+ def deconstruct_keys(keys); end
+
+ # A Location object representing the location of this token in the source.
+ #
+ # source://prism//lib/prism/parse_result.rb#479
+ sig { returns(Prism::Location) }
+ def location; end
+
+ # Implement the pretty print interface for Token.
+ #
+ # source://prism//lib/prism/parse_result.rb#485
+ sig { params(q: T.untyped).returns(T.untyped) }
+ def pretty_print(q); end
+
+ # The type of token that this token is.
+ #
+ # source://prism//lib/prism/parse_result.rb#460
+ sig { returns(T.untyped) }
+ def type; end
+
+ # A byteslice of the source that this token represents.
+ #
+ # source://prism//lib/prism/parse_result.rb#463
+ sig { returns(String) }
+ def value; end
+
+ private
+
+ # The Source object that represents the source this token came from.
+ #
+ # source://prism//lib/prism/parse_result.rb#456
+ def source; end
+end
+
+# This module is responsible for converting the prism syntax tree into other
+# syntax trees.
+#
+# source://prism//lib/prism/translation.rb#6
+module Prism::Translation; end
+
+# This class is the entry-point for converting a prism syntax tree into the
+# whitequark/parser gem's syntax tree. It inherits from the base parser for
+# the parser gem, and overrides the parse* methods to parse with prism and
+# then translate.
+#
+# source://prism//lib/prism/translation/parser.rb#11
+class Prism::Translation::Parser < ::Parser::Base
+ # The default encoding for Ruby files is UTF-8.
+ #
+ # source://prism//lib/prism/translation/parser.rb#33
+ def default_encoding; end
+
+ # Parses a source buffer and returns the AST.
+ #
+ # source://prism//lib/prism/translation/parser.rb#41
+ def parse(source_buffer); end
+
+ # Parses a source buffer and returns the AST and the source code comments.
+ #
+ # source://prism//lib/prism/translation/parser.rb#54
+ def parse_with_comments(source_buffer); end
+
+ # Parses a source buffer and returns the AST, the source code comments,
+ # and the tokens emitted by the lexer.
+ #
+ # source://prism//lib/prism/translation/parser.rb#71
+ def tokenize(source_buffer, recover = T.unsafe(nil)); end
+
+ # Since prism resolves num params for us, we don't need to support this
+ # kind of logic here.
+ #
+ # source://prism//lib/prism/translation/parser.rb#97
+ def try_declare_numparam(node); end
+
+ # source://prism//lib/prism/translation/parser.rb#28
+ def version; end
+
+ # source://prism//lib/prism/translation/parser.rb#37
+ def yyerror; end
+
+ private
+
+ # Build the parser gem AST from the prism AST.
+ #
+ # source://prism//lib/prism/translation/parser.rb#146
+ def build_ast(program, offset_cache); end
+
+ # Build the parser gem comments from the prism comments.
+ #
+ # source://prism//lib/prism/translation/parser.rb#151
+ def build_comments(comments, offset_cache); end
+
+ # Prism deals with offsets in bytes, while the parser gem deals with
+ # offsets in characters. We need to handle this conversion in order to
+ # build the parser gem AST.
+ #
+ # If the bytesize of the source is the same as the length, then we can
+ # just use the offset directly. Otherwise, we build an array where the
+ # index is the byte offset and the value is the character offset.
+ #
+ # source://prism//lib/prism/translation/parser.rb#129
+ def build_offset_cache(source); end
+
+ # Build a range from a prism location.
+ #
+ # source://prism//lib/prism/translation/parser.rb#163
+ def build_range(location, offset_cache); end
+
+ # Build the parser gem tokens from the prism tokens.
+ #
+ # source://prism//lib/prism/translation/parser.rb#158
+ def build_tokens(tokens, offset_cache); end
+
+ # Converts the version format handled by Parser to the format handled by Prism.
+ #
+ # source://prism//lib/prism/translation/parser.rb#172
+ def convert_for_prism(version); end
+
+ # If there was a error generated during the parse, then raise an
+ # appropriate syntax error. Otherwise return the result.
+ #
+ # source://prism//lib/prism/translation/parser.rb#111
+ def unwrap(result, offset_cache); end
+
+ # This is a hook to allow consumers to disable some errors if they don't
+ # want them to block creating the syntax tree.
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/translation/parser.rb#105
+ def valid_error?(error); end
+end
+
+# A visitor that knows how to convert a prism syntax tree into the
+# whitequark/parser gem's syntax tree.
+#
+# source://prism//lib/prism/translation/parser/compiler.rb#8
+class Prism::Translation::Parser::Compiler < ::Prism::Compiler
+ # Initialize a new compiler with the given parser, offset cache, and
+ # options.
+ #
+ # @return [Compiler] a new instance of Compiler
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#39
+ def initialize(parser, offset_cache, forwarding: T.unsafe(nil), in_destructure: T.unsafe(nil), in_pattern: T.unsafe(nil)); end
+
+ # The Parser::Builders::Default instance that is being used to build the
+ # AST.
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#18
+ def builder; end
+
+ # The types of values that can be forwarded in the current scope.
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#29
+ def forwarding; end
+
+ # Whether or not the current node is in a destructure.
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#32
+ def in_destructure; end
+
+ # Whether or not the current node is in a pattern.
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#35
+ def in_pattern; end
+
+ # The offset cache that is used to map between byte and character
+ # offsets in the file.
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#26
+ def offset_cache; end
+
+ # The Parser::Base instance that is being used to build the AST.
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#14
+ def parser; end
+
+ # The Parser::Source::Buffer instance that is holding a reference to the
+ # source code.
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#22
+ def source_buffer; end
+
+ # alias $foo $bar
+ # ^^^^^^^^^^^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#58
+ def visit_alias_global_variable_node(node); end
+
+ # alias foo bar
+ # ^^^^^^^^^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#52
+ def visit_alias_method_node(node); end
+
+ # foo => bar | baz
+ # ^^^^^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#64
+ def visit_alternation_pattern_node(node); end
+
+ # a and b
+ # ^^^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#70
+ def visit_and_node(node); end
+
+ # foo(bar)
+ # ^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#101
+ def visit_arguments_node(node); end
+
+ # []
+ # ^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#76
+ def visit_array_node(node); end
+
+ # foo => [bar]
+ # ^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#82
+ def visit_array_pattern_node(node); end
+
+ # { a: 1 }
+ # ^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#107
+ def visit_assoc_node(node); end
+
+ # def foo(**); bar(**); end
+ # ^^
+ #
+ # { **foo }
+ # ^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#141
+ def visit_assoc_splat_node(node); end
+
+ # $+
+ # ^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#151
+ def visit_back_reference_read_node(node); end
+
+ # begin end
+ # ^^^^^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#157
+ def visit_begin_node(node); end
+
+ # foo(&bar)
+ # ^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#195
+ def visit_block_argument_node(node); end
+
+ # foo { |; bar| }
+ # ^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#201
+ def visit_block_local_variable_node(node); end
+
+ # A block on a keyword or method call.
+ #
+ # @raise [CompilationError]
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#206
+ def visit_block_node(node); end
+
+ # def foo(&bar); end
+ # ^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#212
+ def visit_block_parameter_node(node); end
+
+ # A block's parameters.
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#217
+ def visit_block_parameters_node(node); end
+
+ # break
+ # ^^^^^
+ #
+ # break foo
+ # ^^^^^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#226
+ def visit_break_node(node); end
+
+ # foo.bar += baz
+ # ^^^^^^^^^^^^^^^
+ # foo.bar &&= baz
+ # ^^^^^^^^^^^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#300
+ def visit_call_and_write_node(node); end
+
+ # foo
+ # ^^^
+ #
+ # foo.bar
+ # ^^^^^^^
+ #
+ # foo.bar() {}
+ # ^^^^^^^^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#238
+ def visit_call_node(node); end
+
+ # foo.bar += baz
+ # ^^^^^^^^^^^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#300
+ def visit_call_operator_write_node(node); end
+
+ # foo.bar += baz
+ # ^^^^^^^^^^^^^^^
+ # foo.bar ||= baz
+ # ^^^^^^^^^^^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#300
+ def visit_call_or_write_node(node); end
+
+ # foo.bar, = 1
+ # ^^^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#327
+ def visit_call_target_node(node); end
+
+ # foo => bar => baz
+ # ^^^^^^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#339
+ def visit_capture_pattern_node(node); end
+
+ # case foo; in bar; end
+ # ^^^^^^^^^^^^^^^^^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#358
+ def visit_case_match_node(node); end
+
+ # case foo; when bar; end
+ # ^^^^^^^^^^^^^^^^^^^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#345
+ def visit_case_node(node); end
+
+ # class Foo; end
+ # ^^^^^^^^^^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#371
+ def visit_class_node(node); end
+
+ # @@foo += bar
+ # ^^^^^^^^^^^^
+ # @@foo &&= bar
+ # ^^^^^^^^^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#403
+ def visit_class_variable_and_write_node(node); end
+
+ # @@foo += bar
+ # ^^^^^^^^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#403
+ def visit_class_variable_operator_write_node(node); end
+
+ # @@foo += bar
+ # ^^^^^^^^^^^^
+ # @@foo ||= bar
+ # ^^^^^^^^^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#403
+ def visit_class_variable_or_write_node(node); end
+
+ # @@foo
+ # ^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#384
+ def visit_class_variable_read_node(node); end
+
+ # @@foo, = bar
+ # ^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#421
+ def visit_class_variable_target_node(node); end
+
+ # @@foo = 1
+ # ^^^^^^^^^
+ #
+ # @@foo, @@bar = 1
+ # ^^^^^ ^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#393
+ def visit_class_variable_write_node(node); end
+
+ # Foo += bar
+ # ^^^^^^^^^^^
+ # Foo &&= bar
+ # ^^^^^^^^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#442
+ def visit_constant_and_write_node(node); end
+
+ # Foo += bar
+ # ^^^^^^^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#442
+ def visit_constant_operator_write_node(node); end
+
+ # Foo += bar
+ # ^^^^^^^^^^^
+ # Foo ||= bar
+ # ^^^^^^^^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#442
+ def visit_constant_or_write_node(node); end
+
+ # Foo::Bar += baz
+ # ^^^^^^^^^^^^^^^
+ # Foo::Bar &&= baz
+ # ^^^^^^^^^^^^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#496
+ def visit_constant_path_and_write_node(node); end
+
+ # Foo::Bar
+ # ^^^^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#466
+ def visit_constant_path_node(node); end
+
+ # Foo::Bar += baz
+ # ^^^^^^^^^^^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#496
+ def visit_constant_path_operator_write_node(node); end
+
+ # Foo::Bar += baz
+ # ^^^^^^^^^^^^^^^
+ # Foo::Bar ||= baz
+ # ^^^^^^^^^^^^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#496
+ def visit_constant_path_or_write_node(node); end
+
+ # Foo::Bar, = baz
+ # ^^^^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#514
+ def visit_constant_path_target_node(node); end
+
+ # Foo::Bar = 1
+ # ^^^^^^^^^^^^
+ #
+ # Foo::Foo, Bar::Bar = 1
+ # ^^^^^^^^ ^^^^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#486
+ def visit_constant_path_write_node(node); end
+
+ # Foo
+ # ^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#427
+ def visit_constant_read_node(node); end
+
+ # Foo, = bar
+ # ^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#460
+ def visit_constant_target_node(node); end
+
+ # Foo = 1
+ # ^^^^^^^
+ #
+ # Foo, Bar = 1
+ # ^^^ ^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#436
+ def visit_constant_write_node(node); end
+
+ # def foo; end
+ # ^^^^^^^^^^^^
+ #
+ # def self.foo; end
+ # ^^^^^^^^^^^^^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#523
+ def visit_def_node(node); end
+
+ # defined? a
+ # ^^^^^^^^^^
+ #
+ # defined?(a)
+ # ^^^^^^^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#570
+ def visit_defined_node(node); end
+
+ # if foo then bar else baz end
+ # ^^^^^^^^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#582
+ def visit_else_node(node); end
+
+ # "foo #{bar}"
+ # ^^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#588
+ def visit_embedded_statements_node(node); end
+
+ # "foo #@bar"
+ # ^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#598
+ def visit_embedded_variable_node(node); end
+
+ # begin; foo; ensure; bar; end
+ # ^^^^^^^^^^^^
+ #
+ # @raise [CompilationError]
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#604
+ def visit_ensure_node(node); end
+
+ # false
+ # ^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#610
+ def visit_false_node(node); end
+
+ # foo => [*, bar, *]
+ # ^^^^^^^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#616
+ def visit_find_pattern_node(node); end
+
+ # 0..5
+ # ^^^^
+ # if foo .. bar; end
+ # ^^^^^^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#1302
+ def visit_flip_flop_node(node); end
+
+ # 1.0
+ # ^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#628
+ def visit_float_node(node); end
+
+ # for foo in bar do end
+ # ^^^^^^^^^^^^^^^^^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#634
+ def visit_for_node(node); end
+
+ # def foo(...); bar(...); end
+ # ^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#652
+ def visit_forwarding_arguments_node(node); end
+
+ # def foo(...); end
+ # ^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#658
+ def visit_forwarding_parameter_node(node); end
+
+ # super
+ # ^^^^^
+ #
+ # super {}
+ # ^^^^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#667
+ def visit_forwarding_super_node(node); end
+
+ # $foo += bar
+ # ^^^^^^^^^^^
+ # $foo &&= bar
+ # ^^^^^^^^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#698
+ def visit_global_variable_and_write_node(node); end
+
+ # $foo += bar
+ # ^^^^^^^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#698
+ def visit_global_variable_operator_write_node(node); end
+
+ # $foo += bar
+ # ^^^^^^^^^^^
+ # $foo ||= bar
+ # ^^^^^^^^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#698
+ def visit_global_variable_or_write_node(node); end
+
+ # $foo
+ # ^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#679
+ def visit_global_variable_read_node(node); end
+
+ # $foo, = bar
+ # ^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#716
+ def visit_global_variable_target_node(node); end
+
+ # $foo = 1
+ # ^^^^^^^^
+ #
+ # $foo, $bar = 1
+ # ^^^^ ^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#688
+ def visit_global_variable_write_node(node); end
+
+ # {}
+ # ^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#722
+ def visit_hash_node(node); end
+
+ # foo => {}
+ # ^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#732
+ def visit_hash_pattern_node(node); end
+
+ # if foo then bar end
+ # ^^^^^^^^^^^^^^^^^^^
+ #
+ # bar if foo
+ # ^^^^^^^^^^
+ #
+ # foo ? bar : baz
+ # ^^^^^^^^^^^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#750
+ def visit_if_node(node); end
+
+ # 1i
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#791
+ def visit_imaginary_node(node); end
+
+ # { foo: }
+ # ^^^^
+ #
+ # @raise [CompilationError]
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#797
+ def visit_implicit_node(node); end
+
+ # foo { |bar,| }
+ # ^
+ #
+ # @raise [CompilationError]
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#803
+ def visit_implicit_rest_node(node); end
+
+ # case foo; in bar; end
+ # ^^^^^^^^^^^^^^^^^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#809
+ def visit_in_node(node); end
+
+ # foo[bar] += baz
+ # ^^^^^^^^^^^^^^^
+ # foo[bar] &&= baz
+ # ^^^^^^^^^^^^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#835
+ def visit_index_and_write_node(node); end
+
+ # foo[bar] += baz
+ # ^^^^^^^^^^^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#835
+ def visit_index_operator_write_node(node); end
+
+ # foo[bar] += baz
+ # ^^^^^^^^^^^^^^^
+ # foo[bar] ||= baz
+ # ^^^^^^^^^^^^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#835
+ def visit_index_or_write_node(node); end
+
+ # foo[bar], = 1
+ # ^^^^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#861
+ def visit_index_target_node(node); end
+
+ # ^^^^^^^^^^^
+ # ^^^^^^^^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#891
+ def visit_instance_variable_and_write_node(node); end
+
+ # ^^^^^^^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#891
+ def visit_instance_variable_operator_write_node(node); end
+
+ # ^^^^^^^^^^^
+ # ^^^^^^^^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#891
+ def visit_instance_variable_or_write_node(node); end
+
+ # ^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#872
+ def visit_instance_variable_read_node(node); end
+
+ # @foo, = bar
+ # ^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#909
+ def visit_instance_variable_target_node(node); end
+
+ # ^^^^^^^^
+ #
+ # @foo, @bar = 1
+ # ^^^^ ^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#881
+ def visit_instance_variable_write_node(node); end
+
+ # 1
+ # ^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#915
+ def visit_integer_node(node); end
+
+ # /foo #{bar}/
+ # ^^^^^^^^^^^^
+ # if /foo #{bar}/ then end
+ # ^^^^^^^^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#921
+ def visit_interpolated_match_last_line_node(node); end
+
+ # /foo #{bar}/
+ # ^^^^^^^^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#921
+ def visit_interpolated_regular_expression_node(node); end
+
+ # "foo #{bar}"
+ # ^^^^^^^^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#936
+ def visit_interpolated_string_node(node); end
+
+ # :"foo #{bar}"
+ # ^^^^^^^^^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#951
+ def visit_interpolated_symbol_node(node); end
+
+ # `foo #{bar}`
+ # ^^^^^^^^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#961
+ def visit_interpolated_x_string_node(node); end
+
+ # foo(bar: baz)
+ # ^^^^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#976
+ def visit_keyword_hash_node(node); end
+
+ # def foo(**bar); end
+ # ^^^^^
+ #
+ # def foo(**); end
+ # ^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#985
+ def visit_keyword_rest_parameter_node(node); end
+
+ # -> {}
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#993
+ def visit_lambda_node(node); end
+
+ # foo += bar
+ # ^^^^^^^^^^
+ # foo &&= bar
+ # ^^^^^^^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#1037
+ def visit_local_variable_and_write_node(node); end
+
+ # foo += bar
+ # ^^^^^^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#1037
+ def visit_local_variable_operator_write_node(node); end
+
+ # foo += bar
+ # ^^^^^^^^^^
+ # foo ||= bar
+ # ^^^^^^^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#1037
+ def visit_local_variable_or_write_node(node); end
+
+ # foo
+ # ^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#1018
+ def visit_local_variable_read_node(node); end
+
+ # foo, = bar
+ # ^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#1055
+ def visit_local_variable_target_node(node); end
+
+ # foo = 1
+ # ^^^^^^^
+ #
+ # foo, bar = 1
+ # ^^^ ^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#1027
+ def visit_local_variable_write_node(node); end
+
+ # /foo/
+ # ^^^^^
+ # if /foo/ then end
+ # ^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#1336
+ def visit_match_last_line_node(node); end
+
+ # source://prism//lib/prism/translation/parser/compiler.rb#1066
+ def visit_match_predicate_node(node); end
+
+ # foo => bar
+ # ^^^^^^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#1085
+ def visit_match_required_node(node); end
+
+ # /(?foo)/ =~ bar
+ # ^^^^^^^^^^^^^^^^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#1095
+ 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/parser/compiler.rb#1106
+ def visit_missing_node(node); end
+
+ # module Foo; end
+ # ^^^^^^^^^^^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#1112
+ def visit_module_node(node); end
+
+ # foo, bar = baz
+ # ^^^^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#1123
+ def visit_multi_target_node(node); end
+
+ # foo, bar = baz
+ # ^^^^^^^^^^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#1137
+ def visit_multi_write_node(node); end
+
+ # next
+ # ^^^^
+ #
+ # next foo
+ # ^^^^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#1158
+ def visit_next_node(node); end
+
+ # nil
+ # ^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#1170
+ def visit_nil_node(node); end
+
+ # def foo(**nil); end
+ # ^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#1176
+ def visit_no_keywords_parameter_node(node); end
+
+ # -> { _1 + _2 }
+ # ^^^^^^^^^^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#1186
+ def visit_numbered_parameters_node(node); end
+
+ # $1
+ # ^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#1192
+ def visit_numbered_reference_read_node(node); end
+
+ # def foo(bar: baz); end
+ # ^^^^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#1198
+ def visit_optional_keyword_parameter_node(node); end
+
+ # def foo(bar = 1); end
+ # ^^^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#1204
+ def visit_optional_parameter_node(node); end
+
+ # a or b
+ # ^^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#1210
+ def visit_or_node(node); end
+
+ # def foo(bar, *baz); end
+ # ^^^^^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#1216
+ def visit_parameters_node(node); end
+
+ # ()
+ # ^^
+ #
+ # (1)
+ # ^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#1255
+ def visit_parentheses_node(node); end
+
+ # foo => ^(bar)
+ # ^^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#1265
+ def visit_pinned_expression_node(node); end
+
+ # foo = 1 and bar => ^foo
+ # ^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#1271
+ def visit_pinned_variable_node(node); end
+
+ # END {}
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#1276
+ def visit_post_execution_node(node); end
+
+ # BEGIN {}
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#1286
+ def visit_pre_execution_node(node); end
+
+ # The top-level program node.
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#1296
+ def visit_program_node(node); end
+
+ # 0..5
+ # ^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#1302
+ def visit_range_node(node); end
+
+ # 1r
+ # ^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#1324
+ def visit_rational_node(node); end
+
+ # redo
+ # ^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#1330
+ def visit_redo_node(node); end
+
+ # /foo/
+ # ^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#1336
+ def visit_regular_expression_node(node); end
+
+ # def foo(bar:); end
+ # ^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#1351
+ def visit_required_keyword_parameter_node(node); end
+
+ # def foo(bar); end
+ # ^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#1357
+ def visit_required_parameter_node(node); end
+
+ # foo rescue bar
+ # ^^^^^^^^^^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#1363
+ def visit_rescue_modifier_node(node); end
+
+ # begin; rescue; end
+ # ^^^^^^^
+ #
+ # @raise [CompilationError]
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#1381
+ def visit_rescue_node(node); end
+
+ # def foo(*bar); end
+ # ^^^^
+ #
+ # def foo(*); end
+ # ^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#1390
+ def visit_rest_parameter_node(node); end
+
+ # retry
+ # ^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#1396
+ def visit_retry_node(node); end
+
+ # return
+ # ^^^^^^
+ #
+ # return 1
+ # ^^^^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#1405
+ def visit_return_node(node); end
+
+ # self
+ # ^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#1417
+ def visit_self_node(node); end
+
+ # class << self; end
+ # ^^^^^^^^^^^^^^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#1423
+ def visit_singleton_class_node(node); end
+
+ # __ENCODING__
+ # ^^^^^^^^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#1435
+ def visit_source_encoding_node(node); end
+
+ # __FILE__
+ # ^^^^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#1441
+ def visit_source_file_node(node); end
+
+ # __LINE__
+ # ^^^^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#1447
+ def visit_source_line_node(node); end
+
+ # foo(*bar)
+ # ^^^^
+ #
+ # def foo((bar, *baz)); end
+ # ^^^^
+ #
+ # def foo(*); bar(*); end
+ # ^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#1459
+ def visit_splat_node(node); end
+
+ # A list of statements.
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#1472
+ def visit_statements_node(node); end
+
+ # "foo"
+ # ^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#1478
+ def visit_string_node(node); end
+
+ # super(foo)
+ # ^^^^^^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#1495
+ def visit_super_node(node); end
+
+ # :foo
+ # ^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#1518
+ def visit_symbol_node(node); end
+
+ # true
+ # ^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#1536
+ def visit_true_node(node); end
+
+ # undef foo
+ # ^^^^^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#1542
+ def visit_undef_node(node); end
+
+ # unless foo; bar end
+ # ^^^^^^^^^^^^^^^^^^^
+ #
+ # bar unless foo
+ # ^^^^^^^^^^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#1551
+ def visit_unless_node(node); end
+
+ # until foo; bar end
+ # ^^^^^^^^^^^^^^^^^
+ #
+ # bar until foo
+ # ^^^^^^^^^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#1581
+ def visit_until_node(node); end
+
+ # case foo; when bar; end
+ # ^^^^^^^^^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#1603
+ def visit_when_node(node); end
+
+ # while foo; bar end
+ # ^^^^^^^^^^^^^^^^^^
+ #
+ # bar while foo
+ # ^^^^^^^^^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#1617
+ def visit_while_node(node); end
+
+ # `foo`
+ # ^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#1639
+ def visit_x_string_node(node); end
+
+ # yield
+ # ^^^^^
+ #
+ # yield 1
+ # ^^^^^^^
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#1657
+ def visit_yield_node(node); end
+
+ private
+
+ # Initialize a new compiler with the given option overrides, used to
+ # visit a subtree with the given options.
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#1671
+ def copy_compiler(forwarding: T.unsafe(nil), in_destructure: T.unsafe(nil), in_pattern: T.unsafe(nil)); end
+
+ # When *, **, &, or ... are used as an argument in a method call, we
+ # check if they were allowed by the current context. To determine that
+ # we build this lookup table.
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#1678
+ def find_forwarding(node); end
+
+ # Blocks can have a special set of parameters that automatically expand
+ # when given arrays if they have a single required parameter and no
+ # other parameters.
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#1693
+ def procarg0?(parameters); end
+
+ # Constructs a new source range from the given start and end offsets.
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#1710
+ def srange(location); end
+
+ # Constructs a new source range by finding the given tokens between the
+ # given start offset and end offset. If the needle is not found, it
+ # returns nil.
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#1722
+ def srange_find(start_offset, end_offset, tokens); end
+
+ # Constructs a new source range from the given start and end offsets.
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#1715
+ def srange_offsets(start_offset, end_offset); end
+
+ # Transform a location into a token that the parser gem expects.
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#1731
+ def token(location); end
+
+ # Visit a block node on a call.
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#1736
+ def visit_block(call, block); end
+
+ # Visit a heredoc that can be either a string or an xstring.
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#1769
+ def visit_heredoc(node); end
+
+ # Visit a numeric node and account for the optional sign.
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#1815
+ def visit_numeric(node, value); end
+
+ # Within the given block, track that we're within a pattern.
+ #
+ # source://prism//lib/prism/translation/parser/compiler.rb#1827
+ def within_pattern; end
+end
+
+# Raised when the tree is malformed or there is a bug in the compiler.
+#
+# source://prism//lib/prism/translation/parser/compiler.rb#10
+class Prism::Translation::Parser::Compiler::CompilationError < ::StandardError; end
+
+# Locations in the parser gem AST are generated using this class. We
+# store a reference to its constant to make it slightly faster to look
+# up.
+#
+# source://prism//lib/prism/translation/parser/compiler.rb#1707
+Prism::Translation::Parser::Compiler::Range = Parser::Source::Range
+
+# The parser gem has a list of diagnostics with a hard-coded set of error
+# messages. We create our own diagnostic class in order to set our own
+# error messages.
+#
+# source://prism//lib/prism/translation/parser.rb#15
+class Prism::Translation::Parser::Diagnostic < ::Parser::Diagnostic
+ # Initialize a new diagnostic with the given message and location.
+ #
+ # @return [Diagnostic] a new instance of Diagnostic
+ #
+ # source://prism//lib/prism/translation/parser.rb#20
+ def initialize(message, location); end
+
+ # The message generated by prism.
+ #
+ # source://prism//lib/prism/translation/parser.rb#17
+ def message; end
+end
+
+# Accepts a list of prism tokens and converts them into the expected
+# format for the parser gem.
+#
+# source://prism//lib/prism/translation/parser/lexer.rb#8
+class Prism::Translation::Parser::Lexer
+ # Initialize the lexer with the given source buffer, prism tokens, and
+ # offset cache.
+ #
+ # @return [Lexer] a new instance of Lexer
+ #
+ # source://prism//lib/prism/translation/parser/lexer.rb#193
+ def initialize(source_buffer, lexed, offset_cache); end
+
+ # An array of prism tokens that we lexed.
+ #
+ # source://prism//lib/prism/translation/parser/lexer.rb#186
+ def lexed; end
+
+ # A hash that maps offsets in bytes to offsets in characters.
+ #
+ # source://prism//lib/prism/translation/parser/lexer.rb#189
+ def offset_cache; end
+
+ # The Parser::Source::Buffer that the tokens were lexed from.
+ #
+ # source://prism//lib/prism/translation/parser/lexer.rb#183
+ def source_buffer; end
+
+ # Convert the prism tokens into the expected format for the parser gem.
+ #
+ # source://prism//lib/prism/translation/parser/lexer.rb#203
+ def to_a; end
+
+ private
+
+ # Parse a complex from the string representation.
+ #
+ # source://prism//lib/prism/translation/parser/lexer.rb#310
+ def parse_complex(value); end
+
+ # Parse a rational from the string representation.
+ #
+ # source://prism//lib/prism/translation/parser/lexer.rb#323
+ def parse_rational(value); end
+end
+
+# source://prism//lib/prism/translation/parser/lexer.rb#199
+Prism::Translation::Parser::Lexer::Range = Parser::Source::Range
+
+# The direct translating of types between the two lexers.
+#
+# source://prism//lib/prism/translation/parser/lexer.rb#10
+Prism::Translation::Parser::Lexer::TYPES = T.let(T.unsafe(nil), Hash)
+
+# source://prism//lib/prism/translation/parser.rb#26
+Prism::Translation::Parser::Racc_debug_parser = T.let(T.unsafe(nil), FalseClass)
+
+# Note: This integration is not finished, and therefore still has many
+# inconsistencies with Ripper. If you'd like to help out, pull requests would
+# be greatly appreciated!
+#
+# This class is meant to provide a compatibility layer between prism and
+# Ripper. It functions by parsing the entire tree first and then walking it
+# and executing each of the Ripper callbacks as it goes.
+#
+# This class is going to necessarily be slower than the native Ripper API. It
+# is meant as a stopgap until developers migrate to using prism. It is also
+# meant as a test harness for the prism parser.
+#
+# To use this class, you treat `Prism::Translation::Ripper` effectively as you would
+# treat the `Ripper` class.
+#
+# source://prism//lib/prism/translation/ripper.rb#21
+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#75
+ def initialize(source); end
+
+ # The current column number of the parser.
+ #
+ # source://prism//lib/prism/translation/ripper.rb#72
+ def column; end
+
+ # True if the parser encountered an error during parsing.
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/translation/ripper.rb#87
+ def error?; end
+
+ # The current line number of the parser.
+ #
+ # source://prism//lib/prism/translation/ripper.rb#69
+ def lineno; end
+
+ # Parse the source and return the result.
+ #
+ # source://prism//lib/prism/translation/ripper.rb#92
+ def parse; end
+
+ # The source that is being parsed.
+ #
+ # source://prism//lib/prism/translation/ripper.rb#66
+ def source; end
+
+ # Visit an AliasGlobalVariableNode.
+ #
+ # source://prism//lib/prism/translation/ripper.rb#247
+ def visit_alias_global_variable_node(node); end
+
+ # Visit an AliasMethodNode.
+ #
+ # source://prism//lib/prism/translation/ripper.rb#226
+ def visit_alias_method_node(node); end
+
+ # Visit an AndNode.
+ #
+ # source://prism//lib/prism/translation/ripper.rb#264
+ def visit_and_node(node); end
+
+ # Visit an ArrayNode node.
+ #
+ # source://prism//lib/prism/translation/ripper.rb#113
+ def visit_array_node(node); end
+
+ # Visit a BackReferenceReadNode.
+ #
+ # source://prism//lib/prism/translation/ripper.rb#258
+ def visit_back_reference_read_node(node); end
+
+ # Visit a BeginNode node.
+ # This is not at all bulletproof against different structures of begin/rescue/else/ensure/end.
+ #
+ # source://prism//lib/prism/translation/ripper.rb#315
+ def visit_begin_node(node); end
+
+ # Visit a BlockNode.
+ #
+ # source://prism//lib/prism/translation/ripper.rb#191
+ def visit_block_node(node); end
+
+ # Visit a BlockParametersNode.
+ #
+ # source://prism//lib/prism/translation/ripper.rb#200
+ def visit_block_parameters_node(node); end
+
+ # Visit a BreakNode.
+ #
+ # source://prism//lib/prism/translation/ripper.rb#218
+ def visit_break_node(node); end
+
+ # Visit a CallNode node.
+ # Ripper distinguishes between many different method-call
+ # nodes -- unary and binary operators, "command" calls with
+ # no parentheses, and call/fcall/vcall.
+ #
+ # source://prism//lib/prism/translation/ripper.rb#123
+ def visit_call_node(node); end
+
+ # Visit an EmbeddedStatementsNode node.
+ #
+ # source://prism//lib/prism/translation/ripper.rb#371
+ def visit_embedded_statements_node(node); end
+
+ # Visit a FalseNode.
+ #
+ # source://prism//lib/prism/translation/ripper.rb#280
+ def visit_false_node(node); end
+
+ # Visit a FloatNode node.
+ #
+ # source://prism//lib/prism/translation/ripper.rb#286
+ def visit_float_node(node); end
+
+ # Visit a GlobalVariableReadNode.
+ #
+ # source://prism//lib/prism/translation/ripper.rb#252
+ def visit_global_variable_read_node(node); end
+
+ # Visit a ImaginaryNode node.
+ #
+ # source://prism//lib/prism/translation/ripper.rb#291
+ def visit_imaginary_node(node); end
+
+ # Visit an IntegerNode node.
+ #
+ # source://prism//lib/prism/translation/ripper.rb#296
+ def visit_integer_node(node); end
+
+ # Visit an InterpolatedStringNode node.
+ #
+ # source://prism//lib/prism/translation/ripper.rb#366
+ def visit_interpolated_string_node(node); end
+
+ # Visit an InterpolatedSymbolNode node.
+ #
+ # source://prism//lib/prism/translation/ripper.rb#381
+ def visit_interpolated_symbol_node(node); end
+
+ # Visit a LocalVariableAndWriteNode.
+ #
+ # source://prism//lib/prism/translation/ripper.rb#168
+ def visit_local_variable_and_write_node(node); end
+
+ # Visit nodes for +=, *=, -=, etc., called LocalVariableOperatorWriteNodes.
+ #
+ # source://prism//lib/prism/translation/ripper.rb#178
+ def visit_local_variable_operator_write_node(node); end
+
+ # Visit a LocalVariableOrWriteNode.
+ #
+ # source://prism//lib/prism/translation/ripper.rb#173
+ def visit_local_variable_or_write_node(node); end
+
+ # Visit a LocalVariableReadNode.
+ #
+ # source://prism//lib/prism/translation/ripper.rb#183
+ def visit_local_variable_read_node(node); end
+
+ # Visit a LocalVariableWriteNode.
+ #
+ # source://prism//lib/prism/translation/ripper.rb#161
+ def visit_local_variable_write_node(node); end
+
+ # Visit an OrNode.
+ #
+ # source://prism//lib/prism/translation/ripper.rb#269
+ def visit_or_node(node); end
+
+ # Visit a ParametersNode.
+ # This will require expanding as we support more kinds of parameters.
+ #
+ # source://prism//lib/prism/translation/ripper.rb#206
+ def visit_parameters_node(node); end
+
+ # Visit a ParenthesesNode node.
+ #
+ # source://prism//lib/prism/translation/ripper.rb#301
+ def visit_parentheses_node(node); end
+
+ # Visit a ProgramNode node.
+ #
+ # source://prism//lib/prism/translation/ripper.rb#327
+ def visit_program_node(node); end
+
+ # Visit a RangeNode node.
+ #
+ # source://prism//lib/prism/translation/ripper.rb#334
+ def visit_range_node(node); end
+
+ # Visit a RationalNode node.
+ #
+ # source://prism//lib/prism/translation/ripper.rb#347
+ def visit_rational_node(node); end
+
+ # Visit a RequiredParameterNode.
+ #
+ # source://prism//lib/prism/translation/ripper.rb#212
+ def visit_required_parameter_node(node); end
+
+ # Visit a RescueNode node.
+ #
+ # source://prism//lib/prism/translation/ripper.rb#322
+ def visit_rescue_node(node); end
+
+ # Visit a StatementsNode node.
+ #
+ # source://prism//lib/prism/translation/ripper.rb#386
+ def visit_statements_node(node); end
+
+ # Visit a StringNode node.
+ #
+ # source://prism//lib/prism/translation/ripper.rb#352
+ def visit_string_node(node); end
+
+ # Visit a SymbolNode node.
+ #
+ # source://prism//lib/prism/translation/ripper.rb#376
+ def visit_symbol_node(node); end
+
+ # Visit a TrueNode.
+ #
+ # source://prism//lib/prism/translation/ripper.rb#274
+ def visit_true_node(node); end
+
+ # Visit an XStringNode node.
+ #
+ # source://prism//lib/prism/translation/ripper.rb#359
+ def visit_x_string_node(node); end
+
+ private
+
+ # source://prism//lib/prism/translation/ripper.rb#680
+ def _dispatch0; end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def _dispatch1(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#682
+ def _dispatch2(_, _); end
+
+ # source://prism//lib/prism/translation/ripper.rb#683
+ def _dispatch3(_, _, _); end
+
+ # source://prism//lib/prism/translation/ripper.rb#684
+ def _dispatch4(_, _, _, _); end
+
+ # source://prism//lib/prism/translation/ripper.rb#685
+ def _dispatch5(_, _, _, _, _); end
+
+ # source://prism//lib/prism/translation/ripper.rb#686
+ def _dispatch7(_, _, _, _, _, _, _); end
+
+ # This method is responsible for updating lineno and column information
+ # to reflect the current node.
+ #
+ # This method could be drastically improved with some caching on the start
+ # of every line, but for now it's good enough.
+ #
+ # source://prism//lib/prism/translation/ripper.rb#663
+ def bounds(location); end
+
+ # If we need to do something unusual, we can directly update the line number
+ # and column to reflect the current node.
+ #
+ # source://prism//lib/prism/translation/ripper.rb#670
+ def bounds_values(lineno, column); end
+
+ # For CRuby et al, "no block" in an on_block_var is false
+ #
+ # source://prism//lib/prism/translation/ripper.rb#646
+ def no_block_value; end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_BEGIN(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_CHAR(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_END(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on___end__(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#682
+ def on_alias(_, _); end
+
+ # source://prism//lib/prism/translation/ripper.rb#682
+ def on_alias_error(_, _); end
+
+ # source://prism//lib/prism/translation/ripper.rb#682
+ def on_aref(_, _); end
+
+ # source://prism//lib/prism/translation/ripper.rb#682
+ def on_aref_field(_, _); end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_arg_ambiguous(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_arg_paren(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#682
+ def on_args_add(_, _); end
+
+ # source://prism//lib/prism/translation/ripper.rb#682
+ def on_args_add_block(_, _); end
+
+ # source://prism//lib/prism/translation/ripper.rb#682
+ def on_args_add_star(_, _); end
+
+ # source://prism//lib/prism/translation/ripper.rb#680
+ def on_args_forward; end
+
+ # source://prism//lib/prism/translation/ripper.rb#680
+ def on_args_new; end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_array(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#684
+ def on_aryptn(_, _, _, _); end
+
+ # source://prism//lib/prism/translation/ripper.rb#682
+ def on_assign(_, _); end
+
+ # source://prism//lib/prism/translation/ripper.rb#682
+ def on_assign_error(_, _); end
+
+ # source://prism//lib/prism/translation/ripper.rb#682
+ def on_assoc_new(_, _); end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_assoc_splat(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_assoclist_from_args(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_backref(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_backtick(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_bare_assoc_hash(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_begin(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#683
+ def on_binary(_, _, _); end
+
+ # source://prism//lib/prism/translation/ripper.rb#682
+ def on_block_var(_, _); end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_blockarg(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#684
+ def on_bodystmt(_, _, _, _); end
+
+ # source://prism//lib/prism/translation/ripper.rb#682
+ def on_brace_block(_, _); end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_break(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#683
+ def on_call(_, _, _); end
+
+ # source://prism//lib/prism/translation/ripper.rb#682
+ def on_case(_, _); end
+
+ # source://prism//lib/prism/translation/ripper.rb#683
+ def on_class(_, _, _); end
+
+ # source://prism//lib/prism/translation/ripper.rb#682
+ def on_class_name_error(_, _); end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_comma(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#682
+ def on_command(_, _); end
+
+ # source://prism//lib/prism/translation/ripper.rb#684
+ def on_command_call(_, _, _, _); end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_comment(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_const(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#682
+ def on_const_path_field(_, _); end
+
+ # source://prism//lib/prism/translation/ripper.rb#682
+ def on_const_path_ref(_, _); end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_const_ref(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_cvar(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#683
+ def on_def(_, _, _); end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_defined(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#685
+ def on_defs(_, _, _, _, _); end
+
+ # source://prism//lib/prism/translation/ripper.rb#682
+ def on_do_block(_, _); end
+
+ # source://prism//lib/prism/translation/ripper.rb#682
+ def on_dot2(_, _); end
+
+ # source://prism//lib/prism/translation/ripper.rb#682
+ def on_dot3(_, _); end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_dyna_symbol(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_else(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#683
+ def on_elsif(_, _, _); end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_embdoc(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_embdoc_beg(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_embdoc_end(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_embexpr_beg(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_embexpr_end(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_embvar(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_ensure(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#680
+ def on_excessed_comma; end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_fcall(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#683
+ def on_field(_, _, _); end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_float(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#684
+ def on_fndptn(_, _, _, _); end
+
+ # source://prism//lib/prism/translation/ripper.rb#683
+ def on_for(_, _, _); end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_gvar(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_hash(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_heredoc_beg(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#682
+ def on_heredoc_dedent(_, _); end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_heredoc_end(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#683
+ def on_hshptn(_, _, _); end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_ident(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#683
+ def on_if(_, _, _); end
+
+ # source://prism//lib/prism/translation/ripper.rb#682
+ def on_if_mod(_, _); end
+
+ # source://prism//lib/prism/translation/ripper.rb#683
+ def on_ifop(_, _, _); end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_ignored_nl(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_ignored_sp(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_imaginary(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#683
+ def on_in(_, _, _); end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_int(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_ivar(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_kw(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_kwrest_param(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_label(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_label_end(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#682
+ def on_lambda(_, _); end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_lbrace(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_lbracket(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_lparen(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#682
+ def on_magic_comment(_, _); end
+
+ # source://prism//lib/prism/translation/ripper.rb#682
+ def on_massign(_, _); end
+
+ # source://prism//lib/prism/translation/ripper.rb#682
+ def on_method_add_arg(_, _); end
+
+ # source://prism//lib/prism/translation/ripper.rb#682
+ def on_method_add_block(_, _); end
+
+ # source://prism//lib/prism/translation/ripper.rb#682
+ def on_mlhs_add(_, _); end
+
+ # source://prism//lib/prism/translation/ripper.rb#682
+ def on_mlhs_add_post(_, _); end
+
+ # source://prism//lib/prism/translation/ripper.rb#682
+ def on_mlhs_add_star(_, _); end
+
+ # source://prism//lib/prism/translation/ripper.rb#680
+ def on_mlhs_new; end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_mlhs_paren(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#682
+ def on_module(_, _); end
+
+ # source://prism//lib/prism/translation/ripper.rb#682
+ def on_mrhs_add(_, _); end
+
+ # source://prism//lib/prism/translation/ripper.rb#682
+ def on_mrhs_add_star(_, _); end
+
+ # source://prism//lib/prism/translation/ripper.rb#680
+ def on_mrhs_new; end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_mrhs_new_from_args(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_next(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_nl(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_nokw_param(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_op(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#683
+ def on_opassign(_, _, _); end
+
+ # source://prism//lib/prism/translation/ripper.rb#682
+ def on_operator_ambiguous(_, _); end
+
+ # source://prism//lib/prism/translation/ripper.rb#682
+ def on_param_error(_, _); end
+
+ # source://prism//lib/prism/translation/ripper.rb#686
+ def on_params(_, _, _, _, _, _, _); end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_paren(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_parse_error(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_period(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_program(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#682
+ def on_qsymbols_add(_, _); end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_qsymbols_beg(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#680
+ def on_qsymbols_new; end
+
+ # source://prism//lib/prism/translation/ripper.rb#682
+ def on_qwords_add(_, _); end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_qwords_beg(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#680
+ def on_qwords_new; end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_rational(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_rbrace(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_rbracket(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#680
+ def on_redo; end
+
+ # source://prism//lib/prism/translation/ripper.rb#682
+ def on_regexp_add(_, _); end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_regexp_beg(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_regexp_end(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#682
+ def on_regexp_literal(_, _); end
+
+ # source://prism//lib/prism/translation/ripper.rb#680
+ def on_regexp_new; end
+
+ # source://prism//lib/prism/translation/ripper.rb#684
+ def on_rescue(_, _, _, _); end
+
+ # source://prism//lib/prism/translation/ripper.rb#682
+ def on_rescue_mod(_, _); end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_rest_param(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#680
+ def on_retry; end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_return(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#680
+ def on_return0; end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_rparen(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#682
+ def on_sclass(_, _); end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_semicolon(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_sp(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#682
+ def on_stmts_add(_, _); end
+
+ # source://prism//lib/prism/translation/ripper.rb#680
+ def on_stmts_new; end
+
+ # source://prism//lib/prism/translation/ripper.rb#682
+ def on_string_add(_, _); end
+
+ # source://prism//lib/prism/translation/ripper.rb#682
+ def on_string_concat(_, _); end
+
+ # source://prism//lib/prism/translation/ripper.rb#680
+ def on_string_content; end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_string_dvar(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_string_embexpr(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_string_literal(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_super(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_symbeg(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_symbol(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_symbol_literal(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#682
+ def on_symbols_add(_, _); end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_symbols_beg(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#680
+ def on_symbols_new; end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_tlambda(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_tlambeg(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_top_const_field(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_top_const_ref(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_tstring_beg(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_tstring_content(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_tstring_end(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#682
+ def on_unary(_, _); end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_undef(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#683
+ def on_unless(_, _, _); end
+
+ # source://prism//lib/prism/translation/ripper.rb#682
+ def on_unless_mod(_, _); end
+
+ # source://prism//lib/prism/translation/ripper.rb#682
+ def on_until(_, _); end
+
+ # source://prism//lib/prism/translation/ripper.rb#682
+ def on_until_mod(_, _); end
+
+ # source://prism//lib/prism/translation/ripper.rb#682
+ def on_var_alias(_, _); end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_var_field(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_var_ref(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_vcall(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#680
+ def on_void_stmt; end
+
+ # source://prism//lib/prism/translation/ripper.rb#683
+ def on_when(_, _, _); end
+
+ # source://prism//lib/prism/translation/ripper.rb#682
+ def on_while(_, _); end
+
+ # source://prism//lib/prism/translation/ripper.rb#682
+ def on_while_mod(_, _); end
+
+ # source://prism//lib/prism/translation/ripper.rb#682
+ def on_word_add(_, _); end
+
+ # source://prism//lib/prism/translation/ripper.rb#680
+ def on_word_new; end
+
+ # source://prism//lib/prism/translation/ripper.rb#682
+ def on_words_add(_, _); end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_words_beg(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#680
+ def on_words_new; end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_words_sep(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#682
+ def on_xstring_add(_, _); end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_xstring_literal(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#680
+ def on_xstring_new; end
+
+ # source://prism//lib/prism/translation/ripper.rb#681
+ def on_yield(_); end
+
+ # source://prism//lib/prism/translation/ripper.rb#680
+ def on_yield0; end
+
+ # source://prism//lib/prism/translation/ripper.rb#680
+ def on_zsuper; end
+
+ # Lazily initialize the parse result.
+ #
+ # source://prism//lib/prism/translation/ripper.rb#676
+ def result; end
+
+ # In Prism this is a CallNode with :[]= as the operator.
+ # In Ripper it's an :aref_field.
+ #
+ # source://prism//lib/prism/translation/ripper.rb#521
+ def visit_aref_field_node(node); end
+
+ # In Prism this is a CallNode with :[] as the operator.
+ # In Ripper it's an :aref.
+ #
+ # source://prism//lib/prism/translation/ripper.rb#513
+ def visit_aref_node(node); end
+
+ # Visit an operation-and-assign node, such as +=.
+ #
+ # source://prism//lib/prism/translation/ripper.rb#501
+ def visit_binary_op_assign(node, operator: T.unsafe(nil)); end
+
+ # Visit a binary operator node like an AndNode or OrNode
+ #
+ # source://prism//lib/prism/translation/ripper.rb#652
+ def visit_binary_operator(node); end
+
+ # Visit a list of elements, like the elements of an array or arguments.
+ #
+ # source://prism//lib/prism/translation/ripper.rb#474
+ def visit_elements(elements); end
+
+ # Visit an InterpolatedStringNode or an InterpolatedSymbolNode node.
+ #
+ # source://prism//lib/prism/translation/ripper.rb#482
+ def visit_enumerated_node(node); end
+
+ # Generate Ripper events for a CallNode with no opening_loc
+ #
+ # source://prism//lib/prism/translation/ripper.rb#410
+ def visit_no_paren_call(node); end
+
+ # Visit a node that represents a number. We need to explicitly handle the
+ # unary - operator.
+ #
+ # source://prism//lib/prism/translation/ripper.rb#611
+ def visit_number(node); end
+
+ # Ripper has several methods of emitting a symbol literal. Inside an alias
+ # sometimes it suppresses the [:symbol] wrapper around ident. If the symbol
+ # is also the name of a keyword (e.g. :if) it will emit a :@kw wrapper, not
+ # an :@ident wrapper, with similar treatment for constants and operators.
+ #
+ # source://prism//lib/prism/translation/ripper.rb#580
+ def visit_symbol_literal_node(node, no_symbol_wrapper: T.unsafe(nil)); end
+
+ # For most Rubies and JRuby after 9.4.6.0 this is a no-op.
+ #
+ # source://prism//lib/prism/translation/ripper.rb#634
+ def visit_unary_operator(value); end
+
+ class << self
+ # This is a convenience method that runs the SexpBuilderPP subclass parser.
+ #
+ # source://prism//lib/prism/translation/ripper.rb#403
+ def sexp(source); end
+
+ # This is a convenience method that runs the SexpBuilder subclass parser.
+ #
+ # source://prism//lib/prism/translation/ripper.rb#398
+ def sexp_raw(source); end
+ end
+end
+
+# In an alias statement Ripper will emit @kw instead of @ident if the object
+# being aliased is a Ruby keyword. For instance, in the line "alias :foo :if",
+# the :if is treated as a lexer keyword. So we need to know what symbols are
+# also keywords.
+#
+# source://prism//lib/prism/translation/ripper.rb#532
+Prism::Translation::Ripper::RUBY_KEYWORDS = T.let(T.unsafe(nil), Array)
+
+# This class mirrors the ::Ripper::SexpBuilder subclass of ::Ripper that
+# returns the arrays of [type, *children].
+#
+# source://prism//lib/prism/translation/ripper.rb#24
+class Prism::Translation::Ripper::SexpBuilder < ::Prism::Translation::Ripper
+ private
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_BEGIN(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#34
+ def on_CHAR(value); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_END(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#34
+ def on___end__(value); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_alias(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_alias_error(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_aref(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_aref_field(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_arg_ambiguous(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_arg_paren(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_args_add(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_args_add_block(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_args_add_star(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_args_forward(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_args_new(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_array(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_aryptn(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_assign(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_assign_error(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_assoc_new(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_assoc_splat(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_assoclist_from_args(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#34
+ def on_backref(value); end
+
+ # source://prism//lib/prism/translation/ripper.rb#34
+ def on_backtick(value); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_bare_assoc_hash(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_begin(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_binary(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_block_var(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_blockarg(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_bodystmt(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_brace_block(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_break(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_call(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_case(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_class(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_class_name_error(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#34
+ def on_comma(value); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_command(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_command_call(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#34
+ def on_comment(value); end
+
+ # source://prism//lib/prism/translation/ripper.rb#34
+ def on_const(value); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_const_path_field(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_const_path_ref(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_const_ref(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#34
+ def on_cvar(value); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_def(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_defined(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_defs(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_do_block(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_dot2(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_dot3(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_dyna_symbol(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_else(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_elsif(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#34
+ def on_embdoc(value); end
+
+ # source://prism//lib/prism/translation/ripper.rb#34
+ def on_embdoc_beg(value); end
+
+ # source://prism//lib/prism/translation/ripper.rb#34
+ def on_embdoc_end(value); end
+
+ # source://prism//lib/prism/translation/ripper.rb#34
+ def on_embexpr_beg(value); end
+
+ # source://prism//lib/prism/translation/ripper.rb#34
+ def on_embexpr_end(value); end
+
+ # source://prism//lib/prism/translation/ripper.rb#34
+ def on_embvar(value); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_ensure(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_excessed_comma(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_fcall(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_field(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#34
+ def on_float(value); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_fndptn(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_for(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#34
+ def on_gvar(value); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_hash(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#34
+ def on_heredoc_beg(value); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_heredoc_dedent(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#34
+ def on_heredoc_end(value); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_hshptn(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#34
+ def on_ident(value); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_if(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_if_mod(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_ifop(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#34
+ def on_ignored_nl(value); end
+
+ # source://prism//lib/prism/translation/ripper.rb#34
+ def on_ignored_sp(value); end
+
+ # source://prism//lib/prism/translation/ripper.rb#34
+ def on_imaginary(value); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_in(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#34
+ def on_int(value); end
+
+ # source://prism//lib/prism/translation/ripper.rb#34
+ def on_ivar(value); end
+
+ # source://prism//lib/prism/translation/ripper.rb#34
+ def on_kw(value); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_kwrest_param(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#34
+ def on_label(value); end
+
+ # source://prism//lib/prism/translation/ripper.rb#34
+ def on_label_end(value); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_lambda(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#34
+ def on_lbrace(value); end
+
+ # source://prism//lib/prism/translation/ripper.rb#34
+ def on_lbracket(value); end
+
+ # source://prism//lib/prism/translation/ripper.rb#34
+ def on_lparen(value); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_magic_comment(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_massign(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_method_add_arg(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_method_add_block(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_mlhs_add(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_mlhs_add_post(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_mlhs_add_star(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_mlhs_new(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_mlhs_paren(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_module(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_mrhs_add(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_mrhs_add_star(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_mrhs_new(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_mrhs_new_from_args(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_next(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#34
+ def on_nl(value); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_nokw_param(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#34
+ def on_op(value); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_opassign(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_operator_ambiguous(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_param_error(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_params(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_paren(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_parse_error(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#34
+ def on_period(value); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_program(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_qsymbols_add(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#34
+ def on_qsymbols_beg(value); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_qsymbols_new(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_qwords_add(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#34
+ def on_qwords_beg(value); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_qwords_new(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#34
+ def on_rational(value); end
+
+ # source://prism//lib/prism/translation/ripper.rb#34
+ def on_rbrace(value); end
+
+ # source://prism//lib/prism/translation/ripper.rb#34
+ def on_rbracket(value); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_redo(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_regexp_add(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#34
+ def on_regexp_beg(value); end
+
+ # source://prism//lib/prism/translation/ripper.rb#34
+ def on_regexp_end(value); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_regexp_literal(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_regexp_new(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_rescue(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_rescue_mod(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_rest_param(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_retry(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_return(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_return0(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#34
+ def on_rparen(value); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_sclass(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#34
+ def on_semicolon(value); end
+
+ # source://prism//lib/prism/translation/ripper.rb#34
+ def on_sp(value); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_stmts_add(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_stmts_new(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_string_add(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_string_concat(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_string_content(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_string_dvar(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_string_embexpr(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_string_literal(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_super(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#34
+ def on_symbeg(value); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_symbol(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_symbol_literal(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_symbols_add(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#34
+ def on_symbols_beg(value); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_symbols_new(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#34
+ def on_tlambda(value); end
+
+ # source://prism//lib/prism/translation/ripper.rb#34
+ def on_tlambeg(value); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_top_const_field(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_top_const_ref(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#34
+ def on_tstring_beg(value); end
+
+ # source://prism//lib/prism/translation/ripper.rb#34
+ def on_tstring_content(value); end
+
+ # source://prism//lib/prism/translation/ripper.rb#34
+ def on_tstring_end(value); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_unary(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_undef(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_unless(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_unless_mod(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_until(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_until_mod(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_var_alias(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_var_field(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_var_ref(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_vcall(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_void_stmt(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_when(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_while(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_while_mod(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_word_add(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_word_new(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_words_add(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#34
+ def on_words_beg(value); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_words_new(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#34
+ def on_words_sep(value); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_xstring_add(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_xstring_literal(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_xstring_new(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_yield(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_yield0(*args); end
+
+ # source://prism//lib/prism/translation/ripper.rb#28
+ def on_zsuper(*args); end
+end
+
+# This class mirrors the ::Ripper::SexpBuilderPP subclass of ::Ripper that
+# returns the same values as ::Ripper::SexpBuilder except with a couple of
+# niceties that flatten linked lists into arrays.
+#
+# source://prism//lib/prism/translation/ripper.rb#43
+class Prism::Translation::Ripper::SexpBuilderPP < ::Prism::Translation::Ripper::SexpBuilder
+ private
+
+ # source://prism//lib/prism/translation/ripper.rb#46
+ def _dispatch_event_new; end
+
+ # source://prism//lib/prism/translation/ripper.rb#50
+ def _dispatch_event_push(list, item); end
+
+ # source://prism//lib/prism/translation/ripper.rb#50
+ def on_args_add(list, item); end
+
+ # source://prism//lib/prism/translation/ripper.rb#46
+ def on_args_new; end
+
+ # source://prism//lib/prism/translation/ripper.rb#50
+ def on_mlhs_add(list, item); end
+
+ # source://prism//lib/prism/translation/ripper.rb#46
+ def on_mlhs_new; end
+
+ # source://prism//lib/prism/translation/ripper.rb#50
+ def on_mrhs_add(list, item); end
+
+ # source://prism//lib/prism/translation/ripper.rb#46
+ def on_mrhs_new; end
+
+ # source://prism//lib/prism/translation/ripper.rb#50
+ def on_qsymbols_add(list, item); end
+
+ # source://prism//lib/prism/translation/ripper.rb#46
+ def on_qsymbols_new; end
+
+ # source://prism//lib/prism/translation/ripper.rb#50
+ def on_qwords_add(list, item); end
+
+ # source://prism//lib/prism/translation/ripper.rb#46
+ def on_qwords_new; end
+
+ # source://prism//lib/prism/translation/ripper.rb#50
+ def on_regexp_add(list, item); end
+
+ # source://prism//lib/prism/translation/ripper.rb#46
+ def on_regexp_new; end
+
+ # source://prism//lib/prism/translation/ripper.rb#50
+ def on_stmts_add(list, item); end
+
+ # source://prism//lib/prism/translation/ripper.rb#46
+ def on_stmts_new; end
+
+ # source://prism//lib/prism/translation/ripper.rb#50
+ def on_string_add(list, item); end
+
+ # source://prism//lib/prism/translation/ripper.rb#50
+ def on_symbols_add(list, item); end
+
+ # source://prism//lib/prism/translation/ripper.rb#46
+ def on_symbols_new; end
+
+ # source://prism//lib/prism/translation/ripper.rb#50
+ def on_word_add(list, item); end
+
+ # source://prism//lib/prism/translation/ripper.rb#46
+ def on_word_new; end
+
+ # source://prism//lib/prism/translation/ripper.rb#50
+ def on_words_add(list, item); end
+
+ # source://prism//lib/prism/translation/ripper.rb#46
+ def on_words_new; end
+
+ # source://prism//lib/prism/translation/ripper.rb#50
+ def on_xstring_add(list, item); end
+
+ # source://prism//lib/prism/translation/ripper.rb#46
+ def on_xstring_new; end
+end
+
+# Represents the use of the literal `true` keyword.
+#
+# true
+# ^^^^
+#
+# source://prism//lib/prism/node.rb#18139
+class Prism::TrueNode < ::Prism::Node
+ # def initialize: (Location location) -> void
+ #
+ # @return [TrueNode] a new instance of TrueNode
+ #
+ # source://prism//lib/prism/node.rb#18141
+ def initialize(source, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#18148
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#18153
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#18163
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#18158
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> TrueNode
+ #
+ # source://prism//lib/prism/node.rb#18168
+ sig { params(params: T.untyped).returns(Prism::TrueNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#18153
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { location: Location }
+ #
+ # source://prism//lib/prism/node.rb#18179
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#18185
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#18204
+ def type; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#18214
+ def type; end
+ end
+end
+
+# Represents the use of the `undef` keyword.
+#
+# undef :foo, :bar, :baz
+# ^^^^^^^^^^^^^^^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#18223
+class Prism::UndefNode < ::Prism::Node
+ # def initialize: (Array[Node] names, Location keyword_loc, Location location) -> void
+ #
+ # @return [UndefNode] a new instance of UndefNode
+ #
+ # source://prism//lib/prism/node.rb#18225
+ def initialize(source, names, keyword_loc, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#18234
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#18239
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#18249
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#18244
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> UndefNode
+ #
+ # source://prism//lib/prism/node.rb#18254
+ sig { params(params: T.untyped).returns(Prism::UndefNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#18239
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { names: Array[Node], keyword_loc: Location, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#18267
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#18287
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # def keyword: () -> String
+ #
+ # source://prism//lib/prism/node.rb#18282
+ sig { returns(String) }
+ def keyword; end
+
+ # attr_reader keyword_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#18275
+ sig { returns(Prism::Location) }
+ def keyword_loc; end
+
+ # attr_reader names: Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#18272
+ sig { returns(T::Array[Prism::Node]) }
+ def names; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#18308
+ def type; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#18318
+ def type; end
+ end
+end
+
+# Represents the use of the `unless` keyword, either in the block form or the modifier form.
+#
+# bar unless foo
+# ^^^^^^^^^^^^^^
+#
+# unless foo then bar end
+# ^^^^^^^^^^^^^^^^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#18330
+class Prism::UnlessNode < ::Prism::Node
+ # def initialize: (Location keyword_loc, Node predicate, Location? then_keyword_loc, StatementsNode? statements, ElseNode? consequent, Location? end_keyword_loc, Location location) -> void
+ #
+ # @return [UnlessNode] a new instance of UnlessNode
+ #
+ # source://prism//lib/prism/node.rb#18332
+ def initialize(source, keyword_loc, predicate, then_keyword_loc, statements, consequent, end_keyword_loc, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#18345
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#18354
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#18368
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#18359
+ def compact_child_nodes; end
+
+ # attr_reader consequent: ElseNode?
+ #
+ # source://prism//lib/prism/node.rb#18419
+ sig { returns(T.nilable(Prism::ElseNode)) }
+ def consequent; end
+
+ # def copy: (**params) -> UnlessNode
+ #
+ # source://prism//lib/prism/node.rb#18373
+ sig { params(params: T.untyped).returns(Prism::UnlessNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#18354
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { keyword_loc: Location, predicate: Node, then_keyword_loc: Location?, statements: StatementsNode?, consequent: ElseNode?, end_keyword_loc: Location?, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#18390
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def end_keyword: () -> String?
+ #
+ # source://prism//lib/prism/node.rb#18445
+ sig { returns(T.nilable(String)) }
+ def end_keyword; end
+
+ # attr_reader end_keyword_loc: Location?
+ #
+ # source://prism//lib/prism/node.rb#18422
+ sig { returns(T.nilable(Prism::Location)) }
+ def end_keyword_loc; end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#18450
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # def keyword: () -> String
+ #
+ # source://prism//lib/prism/node.rb#18435
+ sig { returns(String) }
+ def keyword; end
+
+ # attr_reader keyword_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#18395
+ sig { returns(Prism::Location) }
+ def keyword_loc; end
+
+ # attr_reader predicate: Node
+ #
+ # source://prism//lib/prism/node.rb#18401
+ sig { returns(Prism::Node) }
+ def predicate; end
+
+ # source://prism//lib/prism/node.rb#18349
+ def set_newline_flag(newline_marked); end
+
+ # attr_reader statements: StatementsNode?
+ #
+ # source://prism//lib/prism/node.rb#18416
+ sig { returns(T.nilable(Prism::StatementsNode)) }
+ def statements; end
+
+ # def then_keyword: () -> String?
+ #
+ # source://prism//lib/prism/node.rb#18440
+ sig { returns(T.nilable(String)) }
+ def then_keyword; end
+
+ # attr_reader then_keyword_loc: Location?
+ #
+ # source://prism//lib/prism/node.rb#18404
+ sig { returns(T.nilable(Prism::Location)) }
+ def then_keyword_loc; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#18486
+ def type; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#18496
+ def type; end
+ end
+end
+
+# Represents the use of the `until` keyword, either in the block form or the modifier form.
+#
+# bar until foo
+# ^^^^^^^^^^^^^
+#
+# until foo do bar end
+# ^^^^^^^^^^^^^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#18508
+class Prism::UntilNode < ::Prism::Node
+ # def initialize: (Integer flags, Location keyword_loc, Location? closing_loc, Node predicate, StatementsNode? statements, Location location) -> void
+ #
+ # @return [UntilNode] a new instance of UntilNode
+ #
+ # source://prism//lib/prism/node.rb#18510
+ def initialize(source, flags, keyword_loc, closing_loc, predicate, statements, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#18522
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def begin_modifier?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#18599
+ sig { returns(T::Boolean) }
+ def begin_modifier?; end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#18531
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def closing: () -> String?
+ #
+ # source://prism//lib/prism/node.rb#18609
+ sig { returns(T.nilable(String)) }
+ def closing; end
+
+ # attr_reader closing_loc: Location?
+ #
+ # source://prism//lib/prism/node.rb#18580
+ sig { returns(T.nilable(Prism::Location)) }
+ def closing_loc; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#18544
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#18536
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> UntilNode
+ #
+ # source://prism//lib/prism/node.rb#18549
+ sig { params(params: T.untyped).returns(Prism::UntilNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#18531
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, keyword_loc: Location, closing_loc: Location?, predicate: Node, statements: StatementsNode?, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#18565
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#18614
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # def keyword: () -> String
+ #
+ # source://prism//lib/prism/node.rb#18604
+ sig { returns(String) }
+ def keyword; end
+
+ # attr_reader keyword_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#18574
+ sig { returns(Prism::Location) }
+ def keyword_loc; end
+
+ # attr_reader predicate: Node
+ #
+ # source://prism//lib/prism/node.rb#18592
+ sig { returns(Prism::Node) }
+ def predicate; end
+
+ # source://prism//lib/prism/node.rb#18526
+ def set_newline_flag(newline_marked); end
+
+ # attr_reader statements: StatementsNode?
+ #
+ # source://prism//lib/prism/node.rb#18595
+ sig { returns(T.nilable(Prism::StatementsNode)) }
+ def statements; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#18645
+ def type; end
+
+ private
+
+ # private attr_reader flags: Integer
+ #
+ # source://prism//lib/prism/node.rb#18570
+ sig { returns(Integer) }
+ def flags; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#18655
+ def type; end
+ end
+end
+
+# The version constant is set by reading the result of calling pm_version.
+Prism::VERSION = T.let(T.unsafe(nil), String)
+
+# A visitor is a class that provides a default implementation for every accept
+# method defined on the nodes. This means it can walk a tree without the
+# caller needing to define any special handling. This allows you to handle a
+# subset of the tree, while still walking the whole tree.
+#
+# For example, to find all of the method calls that call the `foo` method, you
+# could write:
+#
+# class FooCalls < Prism::Visitor
+# def visit_call_node(node)
+# if node.name == "foo"
+# # Do something with the node
+# end
+#
+# # Call super so that the visitor continues walking the tree
+# super
+# end
+# end
+#
+# source://prism//lib/prism/visitor.rb#50
+class Prism::Visitor < ::Prism::BasicVisitor
+ # Visit a AliasGlobalVariableNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::AliasGlobalVariableNode).void }
+ def visit_alias_global_variable_node(node); end
+
+ # Visit a AliasMethodNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::AliasMethodNode).void }
+ def visit_alias_method_node(node); end
+
+ # Visit a AlternationPatternNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::AlternationPatternNode).void }
+ def visit_alternation_pattern_node(node); end
+
+ # Visit a AndNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::AndNode).void }
+ def visit_and_node(node); end
+
+ # Visit a ArgumentsNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::ArgumentsNode).void }
+ def visit_arguments_node(node); end
+
+ # Visit a ArrayNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::ArrayNode).void }
+ def visit_array_node(node); end
+
+ # Visit a ArrayPatternNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::ArrayPatternNode).void }
+ def visit_array_pattern_node(node); end
+
+ # Visit a AssocNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::AssocNode).void }
+ def visit_assoc_node(node); end
+
+ # Visit a AssocSplatNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::AssocSplatNode).void }
+ def visit_assoc_splat_node(node); end
+
+ # Visit a BackReferenceReadNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::BackReferenceReadNode).void }
+ def visit_back_reference_read_node(node); end
+
+ # Visit a BeginNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::BeginNode).void }
+ def visit_begin_node(node); end
+
+ # Visit a BlockArgumentNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::BlockArgumentNode).void }
+ def visit_block_argument_node(node); end
+
+ # Visit a BlockLocalVariableNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::BlockLocalVariableNode).void }
+ def visit_block_local_variable_node(node); end
+
+ # Visit a BlockNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::BlockNode).void }
+ def visit_block_node(node); end
+
+ # Visit a BlockParameterNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::BlockParameterNode).void }
+ def visit_block_parameter_node(node); end
+
+ # Visit a BlockParametersNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::BlockParametersNode).void }
+ def visit_block_parameters_node(node); end
+
+ # Visit a BreakNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::BreakNode).void }
+ def visit_break_node(node); end
+
+ # Visit a CallAndWriteNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::CallAndWriteNode).void }
+ def visit_call_and_write_node(node); end
+
+ # Visit a CallNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::CallNode).void }
+ def visit_call_node(node); end
+
+ # Visit a CallOperatorWriteNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::CallOperatorWriteNode).void }
+ def visit_call_operator_write_node(node); end
+
+ # Visit a CallOrWriteNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::CallOrWriteNode).void }
+ def visit_call_or_write_node(node); end
+
+ # Visit a CallTargetNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::CallTargetNode).void }
+ def visit_call_target_node(node); end
+
+ # Visit a CapturePatternNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::CapturePatternNode).void }
+ def visit_capture_pattern_node(node); end
+
+ # Visit a CaseMatchNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::CaseMatchNode).void }
+ def visit_case_match_node(node); end
+
+ # Visit a CaseNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::CaseNode).void }
+ def visit_case_node(node); end
+
+ # Visit a ClassNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::ClassNode).void }
+ def visit_class_node(node); end
+
+ # Visit a ClassVariableAndWriteNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::ClassVariableAndWriteNode).void }
+ def visit_class_variable_and_write_node(node); end
+
+ # Visit a ClassVariableOperatorWriteNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::ClassVariableOperatorWriteNode).void }
+ def visit_class_variable_operator_write_node(node); end
+
+ # Visit a ClassVariableOrWriteNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::ClassVariableOrWriteNode).void }
+ def visit_class_variable_or_write_node(node); end
+
+ # Visit a ClassVariableReadNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::ClassVariableReadNode).void }
+ def visit_class_variable_read_node(node); end
+
+ # Visit a ClassVariableTargetNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::ClassVariableTargetNode).void }
+ def visit_class_variable_target_node(node); end
+
+ # Visit a ClassVariableWriteNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::ClassVariableWriteNode).void }
+ def visit_class_variable_write_node(node); end
+
+ # Visit a ConstantAndWriteNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::ConstantAndWriteNode).void }
+ def visit_constant_and_write_node(node); end
+
+ # Visit a ConstantOperatorWriteNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::ConstantOperatorWriteNode).void }
+ def visit_constant_operator_write_node(node); end
+
+ # Visit a ConstantOrWriteNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::ConstantOrWriteNode).void }
+ def visit_constant_or_write_node(node); end
+
+ # Visit a ConstantPathAndWriteNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::ConstantPathAndWriteNode).void }
+ def visit_constant_path_and_write_node(node); end
+
+ # Visit a ConstantPathNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::ConstantPathNode).void }
+ def visit_constant_path_node(node); end
+
+ # Visit a ConstantPathOperatorWriteNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::ConstantPathOperatorWriteNode).void }
+ def visit_constant_path_operator_write_node(node); end
+
+ # Visit a ConstantPathOrWriteNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::ConstantPathOrWriteNode).void }
+ def visit_constant_path_or_write_node(node); end
+
+ # Visit a ConstantPathTargetNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::ConstantPathTargetNode).void }
+ def visit_constant_path_target_node(node); end
+
+ # Visit a ConstantPathWriteNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::ConstantPathWriteNode).void }
+ def visit_constant_path_write_node(node); end
+
+ # Visit a ConstantReadNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::ConstantReadNode).void }
+ def visit_constant_read_node(node); end
+
+ # Visit a ConstantTargetNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::ConstantTargetNode).void }
+ def visit_constant_target_node(node); end
+
+ # Visit a ConstantWriteNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::ConstantWriteNode).void }
+ def visit_constant_write_node(node); end
+
+ # Visit a DefNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::DefNode).void }
+ def visit_def_node(node); end
+
+ # Visit a DefinedNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::DefinedNode).void }
+ def visit_defined_node(node); end
+
+ # Visit a ElseNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::ElseNode).void }
+ def visit_else_node(node); end
+
+ # Visit a EmbeddedStatementsNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::EmbeddedStatementsNode).void }
+ def visit_embedded_statements_node(node); end
+
+ # Visit a EmbeddedVariableNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::EmbeddedVariableNode).void }
+ def visit_embedded_variable_node(node); end
+
+ # Visit a EnsureNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::EnsureNode).void }
+ def visit_ensure_node(node); end
+
+ # Visit a FalseNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::FalseNode).void }
+ def visit_false_node(node); end
+
+ # Visit a FindPatternNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::FindPatternNode).void }
+ def visit_find_pattern_node(node); end
+
+ # Visit a FlipFlopNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::FlipFlopNode).void }
+ def visit_flip_flop_node(node); end
+
+ # Visit a FloatNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::FloatNode).void }
+ def visit_float_node(node); end
+
+ # Visit a ForNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::ForNode).void }
+ def visit_for_node(node); end
+
+ # Visit a ForwardingArgumentsNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::ForwardingArgumentsNode).void }
+ def visit_forwarding_arguments_node(node); end
+
+ # Visit a ForwardingParameterNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::ForwardingParameterNode).void }
+ def visit_forwarding_parameter_node(node); end
+
+ # Visit a ForwardingSuperNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::ForwardingSuperNode).void }
+ def visit_forwarding_super_node(node); end
+
+ # Visit a GlobalVariableAndWriteNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::GlobalVariableAndWriteNode).void }
+ def visit_global_variable_and_write_node(node); end
+
+ # Visit a GlobalVariableOperatorWriteNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::GlobalVariableOperatorWriteNode).void }
+ def visit_global_variable_operator_write_node(node); end
+
+ # Visit a GlobalVariableOrWriteNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::GlobalVariableOrWriteNode).void }
+ def visit_global_variable_or_write_node(node); end
+
+ # Visit a GlobalVariableReadNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::GlobalVariableReadNode).void }
+ def visit_global_variable_read_node(node); end
+
+ # Visit a GlobalVariableTargetNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::GlobalVariableTargetNode).void }
+ def visit_global_variable_target_node(node); end
+
+ # Visit a GlobalVariableWriteNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::GlobalVariableWriteNode).void }
+ def visit_global_variable_write_node(node); end
+
+ # Visit a HashNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::HashNode).void }
+ def visit_hash_node(node); end
+
+ # Visit a HashPatternNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::HashPatternNode).void }
+ def visit_hash_pattern_node(node); end
+
+ # Visit a IfNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::IfNode).void }
+ def visit_if_node(node); end
+
+ # Visit a ImaginaryNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::ImaginaryNode).void }
+ def visit_imaginary_node(node); end
+
+ # Visit a ImplicitNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::ImplicitNode).void }
+ def visit_implicit_node(node); end
+
+ # Visit a ImplicitRestNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::ImplicitRestNode).void }
+ def visit_implicit_rest_node(node); end
+
+ # Visit a InNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::InNode).void }
+ def visit_in_node(node); end
+
+ # Visit a IndexAndWriteNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::IndexAndWriteNode).void }
+ def visit_index_and_write_node(node); end
+
+ # Visit a IndexOperatorWriteNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::IndexOperatorWriteNode).void }
+ def visit_index_operator_write_node(node); end
+
+ # Visit a IndexOrWriteNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::IndexOrWriteNode).void }
+ def visit_index_or_write_node(node); end
+
+ # Visit a IndexTargetNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::IndexTargetNode).void }
+ def visit_index_target_node(node); end
+
+ # Visit a InstanceVariableAndWriteNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::InstanceVariableAndWriteNode).void }
+ def visit_instance_variable_and_write_node(node); end
+
+ # Visit a InstanceVariableOperatorWriteNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::InstanceVariableOperatorWriteNode).void }
+ def visit_instance_variable_operator_write_node(node); end
+
+ # Visit a InstanceVariableOrWriteNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::InstanceVariableOrWriteNode).void }
+ def visit_instance_variable_or_write_node(node); end
+
+ # Visit a InstanceVariableReadNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::InstanceVariableReadNode).void }
+ def visit_instance_variable_read_node(node); end
+
+ # Visit a InstanceVariableTargetNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::InstanceVariableTargetNode).void }
+ def visit_instance_variable_target_node(node); end
+
+ # Visit a InstanceVariableWriteNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::InstanceVariableWriteNode).void }
+ def visit_instance_variable_write_node(node); end
+
+ # Visit a IntegerNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::IntegerNode).void }
+ def visit_integer_node(node); end
+
+ # Visit a InterpolatedMatchLastLineNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::InterpolatedMatchLastLineNode).void }
+ def visit_interpolated_match_last_line_node(node); end
+
+ # Visit a InterpolatedRegularExpressionNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::InterpolatedRegularExpressionNode).void }
+ def visit_interpolated_regular_expression_node(node); end
+
+ # Visit a InterpolatedStringNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::InterpolatedStringNode).void }
+ def visit_interpolated_string_node(node); end
+
+ # Visit a InterpolatedSymbolNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::InterpolatedSymbolNode).void }
+ def visit_interpolated_symbol_node(node); end
+
+ # Visit a InterpolatedXStringNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::InterpolatedXStringNode).void }
+ def visit_interpolated_x_string_node(node); end
+
+ # Visit a KeywordHashNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::KeywordHashNode).void }
+ def visit_keyword_hash_node(node); end
+
+ # Visit a KeywordRestParameterNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::KeywordRestParameterNode).void }
+ def visit_keyword_rest_parameter_node(node); end
+
+ # Visit a LambdaNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::LambdaNode).void }
+ def visit_lambda_node(node); end
+
+ # Visit a LocalVariableAndWriteNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::LocalVariableAndWriteNode).void }
+ def visit_local_variable_and_write_node(node); end
+
+ # Visit a LocalVariableOperatorWriteNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::LocalVariableOperatorWriteNode).void }
+ def visit_local_variable_operator_write_node(node); end
+
+ # Visit a LocalVariableOrWriteNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::LocalVariableOrWriteNode).void }
+ def visit_local_variable_or_write_node(node); end
+
+ # Visit a LocalVariableReadNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::LocalVariableReadNode).void }
+ def visit_local_variable_read_node(node); end
+
+ # Visit a LocalVariableTargetNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::LocalVariableTargetNode).void }
+ def visit_local_variable_target_node(node); end
+
+ # Visit a LocalVariableWriteNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::LocalVariableWriteNode).void }
+ def visit_local_variable_write_node(node); end
+
+ # Visit a MatchLastLineNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::MatchLastLineNode).void }
+ def visit_match_last_line_node(node); end
+
+ # Visit a MatchPredicateNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::MatchPredicateNode).void }
+ def visit_match_predicate_node(node); end
+
+ # Visit a MatchRequiredNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::MatchRequiredNode).void }
+ def visit_match_required_node(node); end
+
+ # Visit a MatchWriteNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::MatchWriteNode).void }
+ def visit_match_write_node(node); end
+
+ # Visit a MissingNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::MissingNode).void }
+ def visit_missing_node(node); end
+
+ # Visit a ModuleNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::ModuleNode).void }
+ def visit_module_node(node); end
+
+ # Visit a MultiTargetNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::MultiTargetNode).void }
+ def visit_multi_target_node(node); end
+
+ # Visit a MultiWriteNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::MultiWriteNode).void }
+ def visit_multi_write_node(node); end
+
+ # Visit a NextNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::NextNode).void }
+ def visit_next_node(node); end
+
+ # Visit a NilNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::NilNode).void }
+ def visit_nil_node(node); end
+
+ # Visit a NoKeywordsParameterNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::NoKeywordsParameterNode).void }
+ def visit_no_keywords_parameter_node(node); end
+
+ # Visit a NumberedParametersNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::NumberedParametersNode).void }
+ def visit_numbered_parameters_node(node); end
+
+ # Visit a NumberedReferenceReadNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::NumberedReferenceReadNode).void }
+ def visit_numbered_reference_read_node(node); end
+
+ # Visit a OptionalKeywordParameterNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::OptionalKeywordParameterNode).void }
+ def visit_optional_keyword_parameter_node(node); end
+
+ # Visit a OptionalParameterNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::OptionalParameterNode).void }
+ def visit_optional_parameter_node(node); end
+
+ # Visit a OrNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::OrNode).void }
+ def visit_or_node(node); end
+
+ # Visit a ParametersNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::ParametersNode).void }
+ def visit_parameters_node(node); end
+
+ # Visit a ParenthesesNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::ParenthesesNode).void }
+ def visit_parentheses_node(node); end
+
+ # Visit a PinnedExpressionNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::PinnedExpressionNode).void }
+ def visit_pinned_expression_node(node); end
+
+ # Visit a PinnedVariableNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::PinnedVariableNode).void }
+ def visit_pinned_variable_node(node); end
+
+ # Visit a PostExecutionNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::PostExecutionNode).void }
+ def visit_post_execution_node(node); end
+
+ # Visit a PreExecutionNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::PreExecutionNode).void }
+ def visit_pre_execution_node(node); end
+
+ # Visit a ProgramNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::ProgramNode).void }
+ def visit_program_node(node); end
+
+ # Visit a RangeNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::RangeNode).void }
+ def visit_range_node(node); end
+
+ # Visit a RationalNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::RationalNode).void }
+ def visit_rational_node(node); end
+
+ # Visit a RedoNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::RedoNode).void }
+ def visit_redo_node(node); end
+
+ # Visit a RegularExpressionNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::RegularExpressionNode).void }
+ def visit_regular_expression_node(node); end
+
+ # Visit a RequiredKeywordParameterNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::RequiredKeywordParameterNode).void }
+ def visit_required_keyword_parameter_node(node); end
+
+ # Visit a RequiredParameterNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::RequiredParameterNode).void }
+ def visit_required_parameter_node(node); end
+
+ # Visit a RescueModifierNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::RescueModifierNode).void }
+ def visit_rescue_modifier_node(node); end
+
+ # Visit a RescueNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::RescueNode).void }
+ def visit_rescue_node(node); end
+
+ # Visit a RestParameterNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::RestParameterNode).void }
+ def visit_rest_parameter_node(node); end
+
+ # Visit a RetryNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::RetryNode).void }
+ def visit_retry_node(node); end
+
+ # Visit a ReturnNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::ReturnNode).void }
+ def visit_return_node(node); end
+
+ # Visit a SelfNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::SelfNode).void }
+ def visit_self_node(node); end
+
+ # Visit a SingletonClassNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::SingletonClassNode).void }
+ def visit_singleton_class_node(node); end
+
+ # Visit a SourceEncodingNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::SourceEncodingNode).void }
+ def visit_source_encoding_node(node); end
+
+ # Visit a SourceFileNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::SourceFileNode).void }
+ def visit_source_file_node(node); end
+
+ # Visit a SourceLineNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::SourceLineNode).void }
+ def visit_source_line_node(node); end
+
+ # Visit a SplatNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::SplatNode).void }
+ def visit_splat_node(node); end
+
+ # Visit a StatementsNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::StatementsNode).void }
+ def visit_statements_node(node); end
+
+ # Visit a StringNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::StringNode).void }
+ def visit_string_node(node); end
+
+ # Visit a SuperNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::SuperNode).void }
+ def visit_super_node(node); end
+
+ # Visit a SymbolNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::SymbolNode).void }
+ def visit_symbol_node(node); end
+
+ # Visit a TrueNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::TrueNode).void }
+ def visit_true_node(node); end
+
+ # Visit a UndefNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::UndefNode).void }
+ def visit_undef_node(node); end
+
+ # Visit a UnlessNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::UnlessNode).void }
+ def visit_unless_node(node); end
+
+ # Visit a UntilNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::UntilNode).void }
+ def visit_until_node(node); end
+
+ # Visit a WhenNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::WhenNode).void }
+ def visit_when_node(node); end
+
+ # Visit a WhileNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::WhileNode).void }
+ def visit_while_node(node); end
+
+ # Visit a XStringNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::XStringNode).void }
+ def visit_x_string_node(node); end
+
+ # Visit a YieldNode node
+ #
+ # source://prism//lib/prism/visitor.rb#26
+ sig { params(node: Prism::YieldNode).void }
+ def visit_yield_node(node); end
+end
+
+# Represents the use of the `when` keyword within a case statement.
+#
+# case true
+# when true
+# ^^^^^^^^^
+# end
+#
+# source://prism//lib/prism/node.rb#18666
+class Prism::WhenNode < ::Prism::Node
+ # def initialize: (Location keyword_loc, Array[Node] conditions, StatementsNode? statements, Location location) -> void
+ #
+ # @return [WhenNode] a new instance of WhenNode
+ #
+ # source://prism//lib/prism/node.rb#18668
+ def initialize(source, keyword_loc, conditions, statements, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#18678
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#18683
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#18696
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#18688
+ def compact_child_nodes; end
+
+ # attr_reader conditions: Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#18726
+ sig { returns(T::Array[Prism::Node]) }
+ def conditions; end
+
+ # def copy: (**params) -> WhenNode
+ #
+ # source://prism//lib/prism/node.rb#18701
+ sig { params(params: T.untyped).returns(Prism::WhenNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#18683
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { keyword_loc: Location, conditions: Array[Node], statements: StatementsNode?, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#18715
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#18738
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # def keyword: () -> String
+ #
+ # source://prism//lib/prism/node.rb#18733
+ sig { returns(String) }
+ def keyword; end
+
+ # attr_reader keyword_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#18720
+ sig { returns(Prism::Location) }
+ def keyword_loc; end
+
+ # attr_reader statements: StatementsNode?
+ #
+ # source://prism//lib/prism/node.rb#18729
+ sig { returns(T.nilable(Prism::StatementsNode)) }
+ def statements; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#18765
+ def type; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#18775
+ def type; end
+ end
+end
+
+# Represents the use of the `while` keyword, either in the block form or the modifier form.
+#
+# bar while foo
+# ^^^^^^^^^^^^^
+#
+# while foo do bar end
+# ^^^^^^^^^^^^^^^^^^^^
+#
+# source://prism//lib/prism/node.rb#18787
+class Prism::WhileNode < ::Prism::Node
+ # def initialize: (Integer flags, Location keyword_loc, Location? closing_loc, Node predicate, StatementsNode? statements, Location location) -> void
+ #
+ # @return [WhileNode] a new instance of WhileNode
+ #
+ # source://prism//lib/prism/node.rb#18789
+ def initialize(source, flags, keyword_loc, closing_loc, predicate, statements, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#18801
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def begin_modifier?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#18878
+ sig { returns(T::Boolean) }
+ def begin_modifier?; end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#18810
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def closing: () -> String?
+ #
+ # source://prism//lib/prism/node.rb#18888
+ sig { returns(T.nilable(String)) }
+ def closing; end
+
+ # attr_reader closing_loc: Location?
+ #
+ # source://prism//lib/prism/node.rb#18859
+ sig { returns(T.nilable(Prism::Location)) }
+ def closing_loc; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#18823
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#18815
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> WhileNode
+ #
+ # source://prism//lib/prism/node.rb#18828
+ sig { params(params: T.untyped).returns(Prism::WhileNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#18810
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, keyword_loc: Location, closing_loc: Location?, predicate: Node, statements: StatementsNode?, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#18844
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#18893
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # def keyword: () -> String
+ #
+ # source://prism//lib/prism/node.rb#18883
+ sig { returns(String) }
+ def keyword; end
+
+ # attr_reader keyword_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#18853
+ sig { returns(Prism::Location) }
+ def keyword_loc; end
+
+ # attr_reader predicate: Node
+ #
+ # source://prism//lib/prism/node.rb#18871
+ sig { returns(Prism::Node) }
+ def predicate; end
+
+ # source://prism//lib/prism/node.rb#18805
+ def set_newline_flag(newline_marked); end
+
+ # attr_reader statements: StatementsNode?
+ #
+ # source://prism//lib/prism/node.rb#18874
+ sig { returns(T.nilable(Prism::StatementsNode)) }
+ def statements; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#18924
+ def type; end
+
+ private
+
+ # private attr_reader flags: Integer
+ #
+ # source://prism//lib/prism/node.rb#18849
+ sig { returns(Integer) }
+ def flags; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#18934
+ def type; end
+ end
+end
+
+# Represents an xstring literal with no interpolation.
+#
+# `foo`
+# ^^^^^
+#
+# source://prism//lib/prism/node.rb#18943
+class Prism::XStringNode < ::Prism::Node
+ include ::Prism::HeredocQuery
+
+ # def initialize: (Integer flags, Location opening_loc, Location content_loc, Location closing_loc, String unescaped, Location location) -> void
+ #
+ # @return [XStringNode] a new instance of XStringNode
+ #
+ # source://prism//lib/prism/node.rb#18945
+ def initialize(source, flags, opening_loc, content_loc, closing_loc, unescaped, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#18957
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#18962
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def closing: () -> String
+ #
+ # source://prism//lib/prism/node.rb#19044
+ sig { returns(String) }
+ def closing; end
+
+ # attr_reader closing_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#19014
+ sig { returns(Prism::Location) }
+ def closing_loc; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#18972
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#18967
+ def compact_child_nodes; end
+
+ # def content: () -> String
+ #
+ # source://prism//lib/prism/node.rb#19039
+ sig { returns(String) }
+ def content; end
+
+ # attr_reader content_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#19008
+ sig { returns(Prism::Location) }
+ def content_loc; end
+
+ # def copy: (**params) -> XStringNode
+ #
+ # source://prism//lib/prism/node.rb#18977
+ sig { params(params: T.untyped).returns(Prism::XStringNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#18962
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, opening_loc: Location, content_loc: Location, closing_loc: Location, unescaped: String, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#18993
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def forced_binary_encoding?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#19029
+ sig { returns(T::Boolean) }
+ def forced_binary_encoding?; end
+
+ # def forced_utf8_encoding?: () -> bool
+ #
+ # @return [Boolean]
+ #
+ # source://prism//lib/prism/node.rb#19024
+ sig { returns(T::Boolean) }
+ def forced_utf8_encoding?; end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#19049
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # def opening: () -> String
+ #
+ # source://prism//lib/prism/node.rb#19034
+ sig { returns(String) }
+ def opening; end
+
+ # attr_reader opening_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#19002
+ sig { returns(Prism::Location) }
+ def opening_loc; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#19074
+ def type; end
+
+ # attr_reader unescaped: String
+ #
+ # source://prism//lib/prism/node.rb#19020
+ sig { returns(String) }
+ def unescaped; end
+
+ private
+
+ # private attr_reader flags: Integer
+ #
+ # source://prism//lib/prism/node.rb#18998
+ sig { returns(Integer) }
+ def flags; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#19084
+ def type; end
+ end
+end
+
+# Represents the use of the `yield` keyword.
+#
+# yield 1
+# ^^^^^^^
+#
+# source://prism//lib/prism/node.rb#19093
+class Prism::YieldNode < ::Prism::Node
+ # def initialize: (Location keyword_loc, Location? lparen_loc, ArgumentsNode? arguments, Location? rparen_loc, Location location) -> void
+ #
+ # @return [YieldNode] a new instance of YieldNode
+ #
+ # source://prism//lib/prism/node.rb#19095
+ def initialize(source, keyword_loc, lparen_loc, arguments, rparen_loc, location); end
+
+ # def accept: (Visitor visitor) -> void
+ #
+ # source://prism//lib/prism/node.rb#19106
+ sig { params(visitor: Prism::Visitor).void }
+ def accept(visitor); end
+
+ # attr_reader arguments: ArgumentsNode?
+ #
+ # source://prism//lib/prism/node.rb#19166
+ sig { returns(T.nilable(Prism::ArgumentsNode)) }
+ def arguments; end
+
+ # def child_nodes: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#19111
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def child_nodes; end
+
+ # def comment_targets: () -> Array[Node | Location]
+ #
+ # source://prism//lib/prism/node.rb#19123
+ def comment_targets; end
+
+ # def compact_child_nodes: () -> Array[Node]
+ #
+ # source://prism//lib/prism/node.rb#19116
+ def compact_child_nodes; end
+
+ # def copy: (**params) -> YieldNode
+ #
+ # source://prism//lib/prism/node.rb#19128
+ sig { params(params: T.untyped).returns(Prism::YieldNode) }
+ def copy(**params); end
+
+ # def child_nodes: () -> Array[nil | Node]
+ # def deconstruct: () -> Array[nil | Node]
+ #
+ # source://prism//lib/prism/node.rb#19111
+ sig { returns(T::Array[T.nilable(Prism::Node)]) }
+ def deconstruct; end
+
+ # def deconstruct_keys: (Array[Symbol] keys) -> { keyword_loc: Location, lparen_loc: Location?, arguments: ArgumentsNode?, rparen_loc: Location?, location: Location }
+ #
+ # source://prism//lib/prism/node.rb#19143
+ sig do
+ params(
+ keys: T::Array[Symbol]
+ ).returns(T::Hash[Symbol, T.nilable(T.any(Prism::Node, T::Array[Prism::Node], String, Prism::Token, T::Array[Prism::Token], Prism::Location))])
+ end
+ def deconstruct_keys(keys); end
+
+ # def inspect(NodeInspector inspector) -> String
+ #
+ # source://prism//lib/prism/node.rb#19197
+ def inspect(inspector = T.unsafe(nil)); end
+
+ # def keyword: () -> String
+ #
+ # source://prism//lib/prism/node.rb#19182
+ sig { returns(String) }
+ def keyword; end
+
+ # attr_reader keyword_loc: Location
+ #
+ # source://prism//lib/prism/node.rb#19148
+ sig { returns(Prism::Location) }
+ def keyword_loc; end
+
+ # def lparen: () -> String?
+ #
+ # source://prism//lib/prism/node.rb#19187
+ sig { returns(T.nilable(String)) }
+ def lparen; end
+
+ # attr_reader lparen_loc: Location?
+ #
+ # source://prism//lib/prism/node.rb#19154
+ sig { returns(T.nilable(Prism::Location)) }
+ def lparen_loc; end
+
+ # def rparen: () -> String?
+ #
+ # source://prism//lib/prism/node.rb#19192
+ sig { returns(T.nilable(String)) }
+ def rparen; end
+
+ # attr_reader rparen_loc: Location?
+ #
+ # source://prism//lib/prism/node.rb#19169
+ sig { returns(T.nilable(Prism::Location)) }
+ def rparen_loc; end
+
+ # Sometimes you want to check an instance of a node against a list of
+ # classes to see what kind of behavior to perform. Usually this is done by
+ # calling `[cls1, cls2].include?(node.class)` or putting the node into a
+ # case statement and doing `case node; when cls1; when cls2; end`. Both of
+ # these approaches are relatively slow because of the constant lookups,
+ # method calls, and/or array allocations.
+ #
+ # Instead, you can call #type, which will return to you a symbol that you
+ # can use for comparison. This is faster than the other approaches because
+ # it uses a single integer comparison, but also because if you're on CRuby
+ # you can take advantage of the fact that case statements with all symbol
+ # keys will use a jump table.
+ #
+ # def type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#19225
+ def type; end
+
+ class << self
+ # Similar to #type, this method returns a symbol that you can use for
+ # splitting on the type of the node without having to do a long === chain.
+ # Note that like #type, it will still be slower than using == for a single
+ # class, but should be faster in a case statement or an array comparison.
+ #
+ # def self.type: () -> Symbol
+ #
+ # source://prism//lib/prism/node.rb#19235
+ def type; end
+ end
+end
diff --git a/sorbet/rbi/gems/psych@5.1.0.rbi b/sorbet/rbi/gems/psych@5.1.2.rbi
similarity index 88%
rename from sorbet/rbi/gems/psych@5.1.0.rbi
rename to sorbet/rbi/gems/psych@5.1.2.rbi
index ee6befbf9..3a4c5a6ec 100644
--- a/sorbet/rbi/gems/psych@5.1.0.rbi
+++ b/sorbet/rbi/gems/psych@5.1.2.rbi
@@ -239,9 +239,15 @@ module Psych
# source://psych//lib/psych.rb#692
def add_tag(tag, klass); end
- # source://psych//lib/psych.rb#726
+ # source://psych//lib/psych.rb#708
def config; end
+ # source://psych//lib/psych.rb#720
+ def domain_types; end
+
+ # source://psych//lib/psych.rb#732
+ def domain_types=(value); end
+
# call-seq:
# Psych.dump(o) -> string of yaml
# Psych.dump(o, options) -> string of yaml
@@ -296,6 +302,12 @@ module Psych
# source://psych//lib/psych.rb#595
def dump_stream(*objects); end
+ # source://psych//lib/psych.rb#716
+ def dump_tags; end
+
+ # source://psych//lib/psych.rb#728
+ def dump_tags=(value); end
+
# Load +yaml+ in to a Ruby data structure. If multiple documents are
# provided, the object contained in the first document will be returned.
# +filename+ will be used in the exception message if any exception
@@ -353,6 +365,12 @@ module Psych
# source://psych//lib/psych.rb#626
def load_stream(yaml, filename: T.unsafe(nil), fallback: T.unsafe(nil), **kwargs); end
+ # source://psych//lib/psych.rb#712
+ def load_tags; end
+
+ # source://psych//lib/psych.rb#724
+ def load_tags=(value); end
+
# Parse a YAML string in +yaml+. Returns the Psych::Nodes::Document.
# +filename+ is used in the exception message if a Psych::SyntaxError is
# raised.
@@ -592,16 +610,6 @@ module Psych
#
# source://psych//lib/psych.rb#647
def unsafe_load_file(filename, **kwargs); end
-
- private
-
- # source://psych//lib/psych.rb#703
- def parse_caller(at); end
-
- # Workaround for emulating `warn '...', uplevel: 1` in Ruby 2.4 or lower.
- #
- # source://psych//lib/psych.rb#698
- def warn_with_uplevel(message, uplevel: T.unsafe(nil)); end
end
end
@@ -1113,135 +1121,6 @@ class Psych::JSON::Stream < ::Psych::Visitors::JSONTree
extend ::Psych::Streaming::ClassMethods
end
-# The base class for any Node in a YAML parse tree. This class should
-# never be instantiated.
-#
-# source://psych//lib/psych/nodes/node.rb#11
-class Psych::Nodes::Node
- include ::Enumerable
-
- # Create a new Psych::Nodes::Node
- #
- # @return [Node] a new instance of Node
- #
- # source://psych//lib/psych/nodes/node.rb#33
- def initialize; end
-
- # @return [Boolean]
- #
- # source://psych//lib/psych/nodes/node.rb#67
- def alias?; end
-
- # The children of this node
- #
- # source://psych//lib/psych/nodes/node.rb#15
- def children; end
-
- # @return [Boolean]
- #
- # source://psych//lib/psych/nodes/node.rb#68
- def document?; end
-
- # Iterate over each node in the tree. Yields each node to +block+ depth
- # first.
- #
- # source://psych//lib/psych/nodes/node.rb#40
- def each(&block); end
-
- # The column number where this node ends
- #
- # source://psych//lib/psych/nodes/node.rb#30
- def end_column; end
-
- # The column number where this node ends
- #
- # source://psych//lib/psych/nodes/node.rb#30
- def end_column=(_arg0); end
-
- # The line number where this node ends
- #
- # source://psych//lib/psych/nodes/node.rb#27
- def end_line; end
-
- # The line number where this node ends
- #
- # source://psych//lib/psych/nodes/node.rb#27
- def end_line=(_arg0); end
-
- # @return [Boolean]
- #
- # source://psych//lib/psych/nodes/node.rb#69
- def mapping?; end
-
- # @return [Boolean]
- #
- # source://psych//lib/psych/nodes/node.rb#70
- def scalar?; end
-
- # @return [Boolean]
- #
- # source://psych//lib/psych/nodes/node.rb#71
- def sequence?; end
-
- # The column number where this node start
- #
- # source://psych//lib/psych/nodes/node.rb#24
- def start_column; end
-
- # The column number where this node start
- #
- # source://psych//lib/psych/nodes/node.rb#24
- def start_column=(_arg0); end
-
- # The line number where this node start
- #
- # source://psych//lib/psych/nodes/node.rb#21
- def start_line; end
-
- # The line number where this node start
- #
- # source://psych//lib/psych/nodes/node.rb#21
- def start_line=(_arg0); end
-
- # @return [Boolean]
- #
- # source://psych//lib/psych/nodes/node.rb#72
- def stream?; end
-
- # An associated tag
- #
- # source://psych//lib/psych/nodes/node.rb#18
- def tag; end
-
- # Convert this node to Ruby.
- #
- # See also Psych::Visitors::ToRuby
- #
- # source://psych//lib/psych/nodes/node.rb#49
- def to_ruby(symbolize_names: T.unsafe(nil), freeze: T.unsafe(nil), strict_integer: T.unsafe(nil)); end
-
- # Convert this node to YAML.
- #
- # See also Psych::Visitors::Emitter
- #
- # source://psych//lib/psych/nodes/node.rb#58
- def to_yaml(io = T.unsafe(nil), options = T.unsafe(nil)); end
-
- # Convert this node to Ruby.
- #
- # See also Psych::Visitors::ToRuby
- #
- # source://psych//lib/psych/nodes/node.rb#49
- def transform(symbolize_names: T.unsafe(nil), freeze: T.unsafe(nil), strict_integer: T.unsafe(nil)); end
-
- # Convert this node to YAML.
- #
- # See also Psych::Visitors::Emitter
- #
- # source://psych//lib/psych/nodes/node.rb#58
- def yaml(io = T.unsafe(nil), options = T.unsafe(nil)); end
-end
-
# YAML event parser class. This class parses a YAML document and calls
# events on the handler that is passed to the constructor. The events can
# be used for things such as constructing a YAML AST or deserializing YAML
@@ -1574,21 +1453,21 @@ class Psych::Visitors::DepthFirst < ::Psych::Visitors::Visitor
def visit_Psych_Nodes_Stream(o); end
end
-# source://psych//lib/psych/visitors/yaml_tree.rb#541
+# source://psych//lib/psych/visitors/yaml_tree.rb#540
class Psych::Visitors::RestrictedYAMLTree < ::Psych::Visitors::YAMLTree
# @return [RestrictedYAMLTree] a new instance of RestrictedYAMLTree
#
- # source://psych//lib/psych/visitors/yaml_tree.rb#553
+ # source://psych//lib/psych/visitors/yaml_tree.rb#552
def initialize(emitter, ss, options); end
- # source://psych//lib/psych/visitors/yaml_tree.rb#566
+ # source://psych//lib/psych/visitors/yaml_tree.rb#565
def accept(target); end
- # source://psych//lib/psych/visitors/yaml_tree.rb#578
+ # source://psych//lib/psych/visitors/yaml_tree.rb#577
def visit_Symbol(sym); end
end
-# source://psych//lib/psych/visitors/yaml_tree.rb#542
+# source://psych//lib/psych/visitors/yaml_tree.rb#541
Psych::Visitors::RestrictedYAMLTree::DEFAULT_PERMITTED_CLASSES = T.let(T.unsafe(nil), Hash)
# This class walks a YAML AST, converting each node to Ruby
@@ -1694,174 +1573,174 @@ end
class Psych::Visitors::YAMLTree < ::Psych::Visitors::Visitor
# @return [YAMLTree] a new instance of YAMLTree
#
- # source://psych//lib/psych/visitors/yaml_tree.rb#56
+ # source://psych//lib/psych/visitors/yaml_tree.rb#55
def initialize(emitter, ss, options); end
- # source://psych//lib/psych/visitors/yaml_tree.rb#103
+ # source://psych//lib/psych/visitors/yaml_tree.rb#102
def <<(object); end
- # source://psych//lib/psych/visitors/yaml_tree.rb#123
+ # source://psych//lib/psych/visitors/yaml_tree.rb#122
def accept(target); end
- # source://psych//lib/psych/visitors/yaml_tree.rb#92
+ # source://psych//lib/psych/visitors/yaml_tree.rb#91
def finish; end
# Returns the value of attribute finished.
#
- # source://psych//lib/psych/visitors/yaml_tree.rb#45
+ # source://psych//lib/psych/visitors/yaml_tree.rb#44
def finished; end
# Returns the value of attribute finished.
#
- # source://psych//lib/psych/visitors/yaml_tree.rb#45
+ # source://psych//lib/psych/visitors/yaml_tree.rb#44
def finished?; end
- # source://psych//lib/psych/visitors/yaml_tree.rb#103
+ # source://psych//lib/psych/visitors/yaml_tree.rb#102
def push(object); end
- # source://psych//lib/psych/visitors/yaml_tree.rb#86
+ # source://psych//lib/psych/visitors/yaml_tree.rb#85
def start(encoding = T.unsafe(nil)); end
# Returns the value of attribute started.
#
- # source://psych//lib/psych/visitors/yaml_tree.rb#45
+ # source://psych//lib/psych/visitors/yaml_tree.rb#44
def started; end
# Returns the value of attribute started.
#
- # source://psych//lib/psych/visitors/yaml_tree.rb#45
+ # source://psych//lib/psych/visitors/yaml_tree.rb#44
def started?; end
- # source://psych//lib/psych/visitors/yaml_tree.rb#98
+ # source://psych//lib/psych/visitors/yaml_tree.rb#97
def tree; end
- # source://psych//lib/psych/visitors/yaml_tree.rb#351
+ # source://psych//lib/psych/visitors/yaml_tree.rb#350
def visit_Array(o); end
- # source://psych//lib/psych/visitors/yaml_tree.rb#377
+ # source://psych//lib/psych/visitors/yaml_tree.rb#376
def visit_BasicObject(o); end
- # source://psych//lib/psych/visitors/yaml_tree.rb#251
+ # source://psych//lib/psych/visitors/yaml_tree.rb#250
def visit_BigDecimal(o); end
# @raise [TypeError]
#
- # source://psych//lib/psych/visitors/yaml_tree.rb#314
+ # source://psych//lib/psych/visitors/yaml_tree.rb#313
def visit_Class(o); end
- # source://psych//lib/psych/visitors/yaml_tree.rb#224
+ # source://psych//lib/psych/visitors/yaml_tree.rb#223
def visit_Complex(o); end
- # source://psych//lib/psych/visitors/yaml_tree.rb#195
+ # source://psych//lib/psych/visitors/yaml_tree.rb#194
def visit_Date(o); end
- # source://psych//lib/psych/visitors/yaml_tree.rb#199
+ # source://psych//lib/psych/visitors/yaml_tree.rb#198
def visit_DateTime(o); end
- # source://psych//lib/psych/visitors/yaml_tree.rb#153
+ # source://psych//lib/psych/visitors/yaml_tree.rb#152
def visit_Delegator(o); end
- # source://psych//lib/psych/visitors/yaml_tree.rb#148
+ # source://psych//lib/psych/visitors/yaml_tree.rb#147
def visit_Encoding(o); end
- # source://psych//lib/psych/visitors/yaml_tree.rb#359
+ # source://psych//lib/psych/visitors/yaml_tree.rb#358
def visit_Enumerator(o); end
- # source://psych//lib/psych/visitors/yaml_tree.rb#183
+ # source://psych//lib/psych/visitors/yaml_tree.rb#182
def visit_Exception(o); end
- # source://psych//lib/psych/visitors/yaml_tree.rb#234
+ # source://psych//lib/psych/visitors/yaml_tree.rb#233
def visit_FalseClass(o); end
- # source://psych//lib/psych/visitors/yaml_tree.rb#240
+ # source://psych//lib/psych/visitors/yaml_tree.rb#239
def visit_Float(o); end
- # source://psych//lib/psych/visitors/yaml_tree.rb#327
+ # source://psych//lib/psych/visitors/yaml_tree.rb#326
def visit_Hash(o); end
- # source://psych//lib/psych/visitors/yaml_tree.rb#234
+ # source://psych//lib/psych/visitors/yaml_tree.rb#233
def visit_Integer(o); end
# @raise [TypeError]
#
- # source://psych//lib/psych/visitors/yaml_tree.rb#309
+ # source://psych//lib/psych/visitors/yaml_tree.rb#308
def visit_Module(o); end
- # source://psych//lib/psych/visitors/yaml_tree.rb#187
+ # source://psych//lib/psych/visitors/yaml_tree.rb#186
def visit_NameError(o); end
- # source://psych//lib/psych/visitors/yaml_tree.rb#365
+ # source://psych//lib/psych/visitors/yaml_tree.rb#364
def visit_NilClass(o); end
- # source://psych//lib/psych/visitors/yaml_tree.rb#153
+ # source://psych//lib/psych/visitors/yaml_tree.rb#152
def visit_Object(o); end
- # source://psych//lib/psych/visitors/yaml_tree.rb#140
+ # source://psych//lib/psych/visitors/yaml_tree.rb#139
def visit_Psych_Omap(o); end
- # source://psych//lib/psych/visitors/yaml_tree.rb#340
+ # source://psych//lib/psych/visitors/yaml_tree.rb#339
def visit_Psych_Set(o); end
- # source://psych//lib/psych/visitors/yaml_tree.rb#319
+ # source://psych//lib/psych/visitors/yaml_tree.rb#318
def visit_Range(o); end
- # source://psych//lib/psych/visitors/yaml_tree.rb#211
+ # source://psych//lib/psych/visitors/yaml_tree.rb#210
def visit_Rational(o); end
- # source://psych//lib/psych/visitors/yaml_tree.rb#191
+ # source://psych//lib/psych/visitors/yaml_tree.rb#190
def visit_Regexp(o); end
- # source://psych//lib/psych/visitors/yaml_tree.rb#255
+ # source://psych//lib/psych/visitors/yaml_tree.rb#254
def visit_String(o); end
- # source://psych//lib/psych/visitors/yaml_tree.rb#169
+ # source://psych//lib/psych/visitors/yaml_tree.rb#168
def visit_Struct(o); end
- # source://psych//lib/psych/visitors/yaml_tree.rb#369
+ # source://psych//lib/psych/visitors/yaml_tree.rb#368
def visit_Symbol(o); end
- # source://psych//lib/psych/visitors/yaml_tree.rb#206
+ # source://psych//lib/psych/visitors/yaml_tree.rb#205
def visit_Time(o); end
- # source://psych//lib/psych/visitors/yaml_tree.rb#234
+ # source://psych//lib/psych/visitors/yaml_tree.rb#233
def visit_TrueClass(o); end
private
# @return [Boolean]
#
- # source://psych//lib/psych/visitors/yaml_tree.rb#391
+ # source://psych//lib/psych/visitors/yaml_tree.rb#390
def binary?(string); end
- # source://psych//lib/psych/visitors/yaml_tree.rb#498
+ # source://psych//lib/psych/visitors/yaml_tree.rb#497
def dump_coder(o); end
- # source://psych//lib/psych/visitors/yaml_tree.rb#467
+ # source://psych//lib/psych/visitors/yaml_tree.rb#466
def dump_exception(o, msg); end
- # source://psych//lib/psych/visitors/yaml_tree.rb#533
+ # source://psych//lib/psych/visitors/yaml_tree.rb#532
def dump_ivars(target); end
- # source://psych//lib/psych/visitors/yaml_tree.rb#464
+ # source://psych//lib/psych/visitors/yaml_tree.rb#463
def dump_list(o); end
- # source://psych//lib/psych/visitors/yaml_tree.rb#511
+ # source://psych//lib/psych/visitors/yaml_tree.rb#510
def emit_coder(c, o); end
- # source://psych//lib/psych/visitors/yaml_tree.rb#485
+ # source://psych//lib/psych/visitors/yaml_tree.rb#484
def format_time(time, utc = T.unsafe(nil)); end
- # source://psych//lib/psych/visitors/yaml_tree.rb#493
+ # source://psych//lib/psych/visitors/yaml_tree.rb#492
def register(target, yaml_obj); end
- # source://psych//lib/psych/visitors/yaml_tree.rb#395
+ # source://psych//lib/psych/visitors/yaml_tree.rb#394
def visit_array_subclass(o); end
- # source://psych//lib/psych/visitors/yaml_tree.rb#426
+ # source://psych//lib/psych/visitors/yaml_tree.rb#425
def visit_hash_subclass(o); end
class << self
- # source://psych//lib/psych/visitors/yaml_tree.rb#49
+ # source://psych//lib/psych/visitors/yaml_tree.rb#48
def create(options = T.unsafe(nil), emitter = T.unsafe(nil)); end
end
end
@@ -1873,15 +1752,15 @@ class Psych::Visitors::YAMLTree::Registrar
# source://psych//lib/psych/visitors/yaml_tree.rb#17
def initialize; end
- # source://psych//lib/psych/visitors/yaml_tree.rb#36
+ # source://psych//lib/psych/visitors/yaml_tree.rb#35
def id_for(target); end
# @return [Boolean]
#
- # source://psych//lib/psych/visitors/yaml_tree.rb#30
+ # source://psych//lib/psych/visitors/yaml_tree.rb#29
def key?(target); end
- # source://psych//lib/psych/visitors/yaml_tree.rb#40
+ # source://psych//lib/psych/visitors/yaml_tree.rb#39
def node_for(target); end
# source://psych//lib/psych/visitors/yaml_tree.rb#24
diff --git a/sorbet/rbi/gems/racc@1.7.1.rbi b/sorbet/rbi/gems/racc@1.7.3.rbi
similarity index 71%
rename from sorbet/rbi/gems/racc@1.7.1.rbi
rename to sorbet/rbi/gems/racc@1.7.3.rbi
index d01a4f515..3e58f8119 100644
--- a/sorbet/rbi/gems/racc@1.7.1.rbi
+++ b/sorbet/rbi/gems/racc@1.7.3.rbi
@@ -7,32 +7,32 @@
# source://racc//lib/racc/parser.rb#23
ParseError = Racc::ParseError
-# source://racc//lib/racc/info.rb#16
+# source://racc//lib/racc/info.rb#17
Racc::Copyright = T.let(T.unsafe(nil), String)
-# source://racc//lib/racc/parser.rb#186
+# source://racc//lib/racc/parser.rb#188
class Racc::Parser
- # source://racc//lib/racc/parser.rb#281
+ # source://racc//lib/racc/parser.rb#283
def _racc_do_parse_rb(arg, in_debug); end
- # source://racc//lib/racc/parser.rb#481
+ # source://racc//lib/racc/parser.rb#483
def _racc_do_reduce(arg, act); end
# common
#
- # source://racc//lib/racc/parser.rb#384
+ # source://racc//lib/racc/parser.rb#386
def _racc_evalact(act, arg); end
- # source://racc//lib/racc/parser.rb#234
+ # source://racc//lib/racc/parser.rb#236
def _racc_init_sysvars; end
- # source://racc//lib/racc/parser.rb#222
+ # source://racc//lib/racc/parser.rb#224
def _racc_setup; end
- # source://racc//lib/racc/parser.rb#331
+ # source://racc//lib/racc/parser.rb#333
def _racc_yyparse_rb(recv, mid, arg, c_debug); end
- # source://racc//lib/racc/parser.rb#264
+ # source://racc//lib/racc/parser.rb#266
def do_parse; end
# The method to fetch next token.
@@ -46,7 +46,7 @@ class Racc::Parser
#
# @raise [NotImplementedError]
#
- # source://racc//lib/racc/parser.rb#277
+ # source://racc//lib/racc/parser.rb#279
def next_token; end
# This method is called when a parse error is found.
@@ -66,96 +66,96 @@ class Racc::Parser
#
# @raise [ParseError]
#
- # source://racc//lib/racc/parser.rb#537
+ # source://racc//lib/racc/parser.rb#539
def on_error(t, val, vstack); end
- # source://racc//lib/racc/parser.rb#586
+ # source://racc//lib/racc/parser.rb#588
def racc_accept; end
- # source://racc//lib/racc/parser.rb#591
+ # source://racc//lib/racc/parser.rb#593
def racc_e_pop(state, tstack, vstack); end
- # source://racc//lib/racc/parser.rb#598
+ # source://racc//lib/racc/parser.rb#600
def racc_next_state(curstate, state); end
- # source://racc//lib/racc/parser.rb#604
+ # source://racc//lib/racc/parser.rb#606
def racc_print_stacks(t, v); end
- # source://racc//lib/racc/parser.rb#613
+ # source://racc//lib/racc/parser.rb#615
def racc_print_states(s); end
# For debugging output
#
- # source://racc//lib/racc/parser.rb#560
+ # source://racc//lib/racc/parser.rb#562
def racc_read_token(t, tok, val); end
- # source://racc//lib/racc/parser.rb#573
+ # source://racc//lib/racc/parser.rb#575
def racc_reduce(toks, sim, tstack, vstack); end
- # source://racc//lib/racc/parser.rb#567
+ # source://racc//lib/racc/parser.rb#569
def racc_shift(tok, tstack, vstack); end
- # source://racc//lib/racc/parser.rb#620
+ # source://racc//lib/racc/parser.rb#622
def racc_token2str(tok); end
# Convert internal ID of token symbol to the string.
#
- # source://racc//lib/racc/parser.rb#626
+ # source://racc//lib/racc/parser.rb#628
def token_to_str(t); end
# Exit parser.
# Return value is +Symbol_Value_Stack[0]+.
#
- # source://racc//lib/racc/parser.rb#550
+ # source://racc//lib/racc/parser.rb#552
def yyaccept; end
# Leave error recovering mode.
#
- # source://racc//lib/racc/parser.rb#555
+ # source://racc//lib/racc/parser.rb#557
def yyerrok; end
# Enter error recovering mode.
# This method does not call #on_error.
#
- # source://racc//lib/racc/parser.rb#544
+ # source://racc//lib/racc/parser.rb#546
def yyerror; end
- # source://racc//lib/racc/parser.rb#326
+ # source://racc//lib/racc/parser.rb#328
def yyparse(recv, mid); end
class << self
- # source://racc//lib/racc/parser.rb#218
+ # source://racc//lib/racc/parser.rb#220
def racc_runtime_type; end
end
end
-# source://racc//lib/racc/parser.rb#207
+# source://racc//lib/racc/parser.rb#209
Racc::Parser::Racc_Main_Parsing_Routine = T.let(T.unsafe(nil), Symbol)
Racc::Parser::Racc_Runtime_Core_Id_C = T.let(T.unsafe(nil), String)
-# source://racc//lib/racc/parser.rb#209
+# source://racc//lib/racc/parser.rb#211
Racc::Parser::Racc_Runtime_Core_Version = T.let(T.unsafe(nil), String)
Racc::Parser::Racc_Runtime_Core_Version_C = T.let(T.unsafe(nil), String)
-# source://racc//lib/racc/parser.rb#189
+# source://racc//lib/racc/parser.rb#191
Racc::Parser::Racc_Runtime_Core_Version_R = T.let(T.unsafe(nil), String)
-# source://racc//lib/racc/parser.rb#210
+# source://racc//lib/racc/parser.rb#212
Racc::Parser::Racc_Runtime_Type = T.let(T.unsafe(nil), String)
-# source://racc//lib/racc/parser.rb#188
+# source://racc//lib/racc/parser.rb#190
Racc::Parser::Racc_Runtime_Version = T.let(T.unsafe(nil), String)
-# source://racc//lib/racc/parser.rb#208
+# source://racc//lib/racc/parser.rb#210
Racc::Parser::Racc_YY_Parse_Method = T.let(T.unsafe(nil), Symbol)
-# source://racc//lib/racc/parser.rb#183
+# source://racc//lib/racc/parser.rb#185
Racc::Racc_No_Extensions = T.let(T.unsafe(nil), FalseClass)
-# source://racc//lib/racc/info.rb#14
+# source://racc//lib/racc/info.rb#15
Racc::VERSION = T.let(T.unsafe(nil), String)
-# source://racc//lib/racc/info.rb#15
+# source://racc//lib/racc/info.rb#16
Racc::Version = T.let(T.unsafe(nil), String)
diff --git a/sorbet/rbi/gems/rake@13.0.6.rbi b/sorbet/rbi/gems/rake@13.1.0.rbi
similarity index 96%
rename from sorbet/rbi/gems/rake@13.0.6.rbi
rename to sorbet/rbi/gems/rake@13.1.0.rbi
index 0202f06dc..f1286717d 100644
--- a/sorbet/rbi/gems/rake@13.0.6.rbi
+++ b/sorbet/rbi/gems/rake@13.1.0.rbi
@@ -22,13 +22,13 @@ module FileUtils
# Example:
# ruby %{-pe '$_.upcase!' ['a', 'b', 'c']
#
- # source://rake//lib/rake/file_utils.rb#128
+ # source://rake//lib/rake/file_utils.rb#126
def split_all(path); end
private
@@ -75,14 +75,14 @@ module FileUtils
# source://rake//lib/rake/file_utils.rb#61
def create_shell_runner(cmd); end
- # source://rake//lib/rake/file_utils.rb#86
+ # source://rake//lib/rake/file_utils.rb#84
def set_verbose_option(options); end
- # source://rake//lib/rake/file_utils.rb#73
+ # source://rake//lib/rake/file_utils.rb#71
def sh_show_command(cmd); end
end
-# source://rake//lib/rake/file_utils.rb#108
+# source://rake//lib/rake/file_utils.rb#106
FileUtils::LN_SUPPORTED = T.let(T.unsafe(nil), Array)
# Path to the currently running Ruby program
@@ -195,13 +195,13 @@ class Rake::Application
# Add a file to the list of files to be imported.
#
- # source://rake//lib/rake/application.rb#777
+ # source://rake//lib/rake/application.rb#801
def add_import(fn); end
# Add a loader to handle imported files ending in the extension
# +ext+.
#
- # source://rake//lib/rake/application.rb#139
+ # source://rake//lib/rake/application.rb#161
def add_loader(ext, loader); end
# Collect the list of tasks on the command line. If no tasks are
@@ -213,13 +213,13 @@ class Rake::Application
# recognised command-line options, which OptionParser.parse will
# have taken care of already.
#
- # source://rake//lib/rake/application.rb#758
+ # source://rake//lib/rake/application.rb#782
def collect_command_line_tasks(args); end
# Default task name ("default").
# (May be overridden by subclasses)
#
- # source://rake//lib/rake/application.rb#772
+ # source://rake//lib/rake/application.rb#796
def default_task_name; end
# Warn about deprecated usage.
@@ -227,75 +227,75 @@ class Rake::Application
# Example:
# Rake.application.deprecate("import", "Rake.import", caller.first)
#
- # source://rake//lib/rake/application.rb#258
+ # source://rake//lib/rake/application.rb#282
def deprecate(old_usage, new_usage, call_site); end
- # source://rake//lib/rake/application.rb#222
+ # source://rake//lib/rake/application.rb#244
def display_cause_details(ex); end
# Display the error message that caused the exception.
#
- # source://rake//lib/rake/application.rb#206
+ # source://rake//lib/rake/application.rb#228
def display_error_message(ex); end
- # source://rake//lib/rake/application.rb#245
+ # source://rake//lib/rake/application.rb#269
def display_exception_backtrace(ex); end
- # source://rake//lib/rake/application.rb#214
+ # source://rake//lib/rake/application.rb#236
def display_exception_details(ex); end
- # source://rake//lib/rake/application.rb#229
+ # source://rake//lib/rake/application.rb#251
def display_exception_details_seen; end
- # source://rake//lib/rake/application.rb#237
+ # source://rake//lib/rake/application.rb#259
def display_exception_message_details(ex); end
# Display the tasks and prerequisites
#
- # source://rake//lib/rake/application.rb#381
+ # source://rake//lib/rake/application.rb#405
def display_prerequisites; end
# Display the tasks and comments.
#
- # source://rake//lib/rake/application.rb#298
+ # source://rake//lib/rake/application.rb#322
def display_tasks_and_comments; end
# Calculate the dynamic width of the
#
- # source://rake//lib/rake/application.rb#349
+ # source://rake//lib/rake/application.rb#373
def dynamic_width; end
- # source://rake//lib/rake/application.rb#353
+ # source://rake//lib/rake/application.rb#377
def dynamic_width_stty; end
- # source://rake//lib/rake/application.rb#357
+ # source://rake//lib/rake/application.rb#381
def dynamic_width_tput; end
# Exit the program because of an unhandled exception.
# (may be overridden by subclasses)
#
- # source://rake//lib/rake/application.rb#201
+ # source://rake//lib/rake/application.rb#223
def exit_because_of_exception(ex); end
- # source://rake//lib/rake/application.rb#678
+ # source://rake//lib/rake/application.rb#702
def find_rakefile_location; end
# Read and handle the command line options. Returns the command line
# arguments that we didn't understand, which should (in theory) be just
# task names and env vars.
#
- # source://rake//lib/rake/application.rb#644
+ # source://rake//lib/rake/application.rb#668
def handle_options(argv); end
# @return [Boolean]
#
- # source://rake//lib/rake/application.rb#233
+ # source://rake//lib/rake/application.rb#255
def has_cause?(ex); end
# True if one of the files in RAKEFILES is in the current directory.
# If a match is found, it is copied into @rakefile.
#
- # source://rake//lib/rake/application.rb#274
+ # source://rake//lib/rake/application.rb#298
def have_rakefile; end
# Initialize the command line parameters and app name.
@@ -305,17 +305,17 @@ class Rake::Application
# Invokes a task with arguments that are extracted from +task_string+
#
- # source://rake//lib/rake/application.rb#157
+ # source://rake//lib/rake/application.rb#179
def invoke_task(task_string); end
# Load the pending list of imported files.
#
- # source://rake//lib/rake/application.rb#782
+ # source://rake//lib/rake/application.rb#806
def load_imports; end
# Find the rakefile and then load it and any pending imports.
#
- # source://rake//lib/rake/application.rb#102
+ # source://rake//lib/rake/application.rb#124
def load_rakefile; end
# The name of the application (typically 'rake')
@@ -325,7 +325,7 @@ class Rake::Application
# Application options from the command line
#
- # source://rake//lib/rake/application.rb#145
+ # source://rake//lib/rake/application.rb#167
def options; end
# The original directory where rake was invoked.
@@ -333,16 +333,16 @@ class Rake::Application
# source://rake//lib/rake/application.rb#27
def original_dir; end
- # source://rake//lib/rake/application.rb#163
+ # source://rake//lib/rake/application.rb#185
def parse_task_string(string); end
- # source://rake//lib/rake/application.rb#690
+ # source://rake//lib/rake/application.rb#714
def print_rakefile_directory(location); end
# Similar to the regular Ruby +require+ command, but will check
# for *.rake files in addition to *.rb files.
#
- # source://rake//lib/rake/application.rb#664
+ # source://rake//lib/rake/application.rb#688
def rake_require(file_name, paths = T.unsafe(nil), loaded = T.unsafe(nil)); end
# Name of the actual rakefile used.
@@ -350,10 +350,10 @@ class Rake::Application
# source://rake//lib/rake/application.rb#30
def rakefile; end
- # source://rake//lib/rake/application.rb#798
+ # source://rake//lib/rake/application.rb#822
def rakefile_location(backtrace = T.unsafe(nil)); end
- # source://rake//lib/rake/application.rb#695
+ # source://rake//lib/rake/application.rb#719
def raw_load_rakefile; end
# Run the Rake application. The run method performs the following
@@ -372,26 +372,26 @@ class Rake::Application
# Run the given block with the thread startup and shutdown.
#
- # source://rake//lib/rake/application.rb#122
+ # source://rake//lib/rake/application.rb#144
def run_with_threads; end
- # source://rake//lib/rake/application.rb#807
+ # source://rake//lib/rake/application.rb#831
def set_default_options; end
# Provide standard exception handling for the given block.
#
- # source://rake//lib/rake/application.rb#185
+ # source://rake//lib/rake/application.rb#207
def standard_exception_handling; end
# A list of all the standard options used in rake, suitable for
# passing to OptionParser.
#
- # source://rake//lib/rake/application.rb#402
+ # source://rake//lib/rake/application.rb#426
def standard_rake_options; end
# The directory path containing the system wide rakefiles.
#
- # source://rake//lib/rake/application.rb#727
+ # source://rake//lib/rake/application.rb#751
def system_dir; end
# Number of columns on the terminal
@@ -404,17 +404,17 @@ class Rake::Application
# source://rake//lib/rake/application.rb#33
def terminal_columns=(_arg0); end
- # source://rake//lib/rake/application.rb#337
+ # source://rake//lib/rake/application.rb#361
def terminal_width; end
# Return the thread pool used for multithreaded processing.
#
- # source://rake//lib/rake/application.rb#150
+ # source://rake//lib/rake/application.rb#172
def thread_pool; end
# Run the top level tasks of a Rake application.
#
- # source://rake//lib/rake/application.rb#109
+ # source://rake//lib/rake/application.rb#131
def top_level; end
# List of the top level task names (task names from the command line).
@@ -422,10 +422,10 @@ class Rake::Application
# source://rake//lib/rake/application.rb#36
def top_level_tasks; end
- # source://rake//lib/rake/application.rb#388
+ # source://rake//lib/rake/application.rb#412
def trace(*strings); end
- # source://rake//lib/rake/application.rb#370
+ # source://rake//lib/rake/application.rb#394
def truncate(string, width); end
# We will truncate output if we are outputting to a TTY or if we've been
@@ -433,7 +433,7 @@ class Rake::Application
#
# @return [Boolean]
#
- # source://rake//lib/rake/application.rb#293
+ # source://rake//lib/rake/application.rb#317
def truncate_output?; end
# Override the detected TTY output state (mostly for testing)
@@ -445,41 +445,44 @@ class Rake::Application
#
# @return [Boolean]
#
- # source://rake//lib/rake/application.rb#287
+ # source://rake//lib/rake/application.rb#311
def tty_output?; end
# @return [Boolean]
#
- # source://rake//lib/rake/application.rb#361
+ # source://rake//lib/rake/application.rb#385
def unix?; end
# @return [Boolean]
#
- # source://rake//lib/rake/application.rb#366
+ # source://rake//lib/rake/application.rb#390
def windows?; end
private
- # source://rake//lib/rake/application.rb#721
+ # source://rake//lib/rake/application.rb#745
def glob(path, &block); end
# Does the exception have a task invocation chain?
#
# @return [Boolean]
#
- # source://rake//lib/rake/application.rb#267
+ # source://rake//lib/rake/application.rb#291
def has_chain?(exception); end
- # source://rake//lib/rake/application.rb#620
+ # source://rake//lib/rake/application.rb#102
+ def load_debug_at_stop_feature; end
+
+ # source://rake//lib/rake/application.rb#644
def select_tasks_to_show(options, show_tasks, value); end
- # source://rake//lib/rake/application.rb#627
+ # source://rake//lib/rake/application.rb#651
def select_trace_output(options, trace_option, value); end
- # source://rake//lib/rake/application.rb#393
+ # source://rake//lib/rake/application.rb#417
def sort_options(options); end
- # source://rake//lib/rake/application.rb#744
+ # source://rake//lib/rake/application.rb#768
def standard_system_dir; end
end
@@ -591,7 +594,7 @@ module Rake::DSL
#
# Example:
# desc "Run the Unit Tests"
- # task test: [:build]
+ # task test: [:build] do
# # ... run tests
# end
#
@@ -745,7 +748,7 @@ module Rake::DSL
# source://rake//lib/rake/file_utils_ext.rb#34
def rmtree(*args, **options, &block); end
- # source://rake//lib/rake/file_utils.rb#100
+ # source://rake//lib/rake/file_utils.rb#98
def ruby(*args, **options, &block); end
# Declare a rule for auto-tasks.
@@ -758,7 +761,7 @@ module Rake::DSL
# source://rake//lib/rake/dsl_definition.rb#151
def rule(*args, &block); end
- # source://rake//lib/rake/file_utils.rb#112
+ # source://rake//lib/rake/file_utils.rb#110
def safe_ln(*args, **options); end
# source://rake//lib/rake/file_utils_ext.rb#34
@@ -767,7 +770,7 @@ module Rake::DSL
# source://rake//lib/rake/file_utils.rb#43
def sh(*cmd, &block); end
- # source://rake//lib/rake/file_utils.rb#128
+ # source://rake//lib/rake/file_utils.rb#126
def split_all(path); end
# source://rake//lib/rake/file_utils_ext.rb#34
@@ -1580,7 +1583,7 @@ class Rake::FileTask < ::Rake::Task
# Time stamp for file task.
#
- # source://rake//lib/rake/file_task.rb#21
+ # source://rake//lib/rake/file_task.rb#25
def timestamp; end
private
@@ -1589,14 +1592,14 @@ class Rake::FileTask < ::Rake::Task
#
# @return [Boolean]
#
- # source://rake//lib/rake/file_task.rb#32
+ # source://rake//lib/rake/file_task.rb#36
def out_of_date?(stamp); end
class << self
# Apply the scope to the task name according to the rules for this kind
# of task. File based tasks ignore the scope when creating the name.
#
- # source://rake//lib/rake/file_task.rb#49
+ # source://rake//lib/rake/file_task.rb#53
def scope_name(scope, task_name); end
end
end
@@ -2854,14 +2857,14 @@ class Rake::ThreadHistoryDisplay
def threads; end
end
-# source://rake//lib/rake/thread_pool.rb#7
+# source://rake//lib/rake/thread_pool.rb#8
class Rake::ThreadPool
# Creates a ThreadPool object. The +thread_count+ parameter is the size
# of the pool.
#
# @return [ThreadPool] a new instance of ThreadPool
#
- # source://rake//lib/rake/thread_pool.rb#11
+ # source://rake//lib/rake/thread_pool.rb#12
def initialize(thread_count); end
# Creates a future executed by the +ThreadPool+.
diff --git a/sorbet/rbi/gems/rbi@0.0.17.rbi b/sorbet/rbi/gems/rbi@0.1.9.rbi
similarity index 90%
rename from sorbet/rbi/gems/rbi@0.0.17.rbi
rename to sorbet/rbi/gems/rbi@0.1.9.rbi
index 5b17afade..2dc769936 100644
--- a/sorbet/rbi/gems/rbi@0.0.17.rbi
+++ b/sorbet/rbi/gems/rbi@0.1.9.rbi
@@ -7,33 +7,6 @@
# source://rbi//lib/rbi/loc.rb#4
module RBI; end
-# @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
-#
-# source://rbi//lib/rbi/parser.rb#133
-class RBI::ASTVisitor
- abstract!
-
- # @abstract
- #
- # source://rbi//lib/rbi/parser.rb#145
- sig { abstract.params(node: T.nilable(::AST::Node)).void }
- def visit(node); end
-
- # source://rbi//lib/rbi/parser.rb#140
- sig { params(nodes: T::Array[::AST::Node]).void }
- def visit_all(nodes); end
-
- private
-
- # source://rbi//lib/rbi/parser.rb#155
- sig { params(node: ::AST::Node).returns(::String) }
- def parse_expr(node); end
-
- # source://rbi//lib/rbi/parser.rb#150
- sig { params(node: ::AST::Node).returns(::String) }
- def parse_name(node); end
-end
-
# source://rbi//lib/rbi/model.rb#968
class RBI::Arg < ::RBI::Node
# source://rbi//lib/rbi/model.rb#980
@@ -106,11 +79,6 @@ class RBI::Attr < ::RBI::NodeWithComments
sig { returns(T::Array[::Symbol]) }
def names; end
- # @return [Array]
- #
- # source://rbi//lib/rbi/model.rb#356
- def names=(_arg0); end
-
# source://rbi//lib/rbi/printer.rb#375
sig { override.returns(T::Boolean) }
def oneline?; end
@@ -411,32 +379,6 @@ class RBI::Const < ::RBI::NodeWithComments
def value; end
end
-# source://rbi//lib/rbi/parser.rb#627
-class RBI::ConstBuilder < ::RBI::ASTVisitor
- # source://rbi//lib/rbi/parser.rb#634
- sig { void }
- def initialize; end
-
- # source://rbi//lib/rbi/parser.rb#631
- sig { returns(T::Array[::String]) }
- def names; end
-
- # @return [Array]
- #
- # source://rbi//lib/rbi/parser.rb#631
- def names=(_arg0); end
-
- # source://rbi//lib/rbi/parser.rb#653
- sig { override.params(node: T.nilable(::AST::Node)).void }
- def visit(node); end
-
- class << self
- # source://rbi//lib/rbi/parser.rb#643
- sig { params(node: T.nilable(::AST::Node)).returns(T.nilable(::String)) }
- def visit(node); end
- end
-end
-
# source://rbi//lib/rbi/model.rb#816
class RBI::Extend < ::RBI::Mixin
include ::RBI::Indexable
@@ -866,7 +808,7 @@ end
# source://rbi//lib/rbi/loc.rb#5
class RBI::Loc
- # source://rbi//lib/rbi/loc.rb#23
+ # source://rbi//lib/rbi/loc.rb#38
sig do
params(
file: T.nilable(::String),
@@ -880,39 +822,39 @@ class RBI::Loc
# @return [Integer, nil]
#
- # source://rbi//lib/rbi/loc.rb#12
+ # source://rbi//lib/rbi/loc.rb#27
def begin_column; end
- # source://rbi//lib/rbi/loc.rb#12
+ # source://rbi//lib/rbi/loc.rb#27
sig { returns(T.nilable(::Integer)) }
def begin_line; end
# @return [Integer, nil]
#
- # source://rbi//lib/rbi/loc.rb#12
+ # source://rbi//lib/rbi/loc.rb#27
def end_column; end
# @return [Integer, nil]
#
- # source://rbi//lib/rbi/loc.rb#12
+ # source://rbi//lib/rbi/loc.rb#27
def end_line; end
- # source://rbi//lib/rbi/loc.rb#9
+ # source://rbi//lib/rbi/loc.rb#24
sig { returns(T.nilable(::String)) }
def file; end
- # source://rbi//lib/rbi/loc.rb#37
+ # source://rbi//lib/rbi/loc.rb#56
sig { returns(T.nilable(::String)) }
def source; end
- # source://rbi//lib/rbi/loc.rb#32
+ # source://rbi//lib/rbi/loc.rb#47
sig { returns(::String) }
def to_s; end
class << self
- # source://rbi//lib/rbi/parser.rb#748
- sig { params(file: ::String, ast_loc: T.any(::Parser::Source::Map, ::Parser::Source::Range)).returns(::RBI::Loc) }
- def from_ast_loc(file, ast_loc); end
+ # source://rbi//lib/rbi/loc.rb#12
+ sig { params(file: ::String, prism_location: ::Prism::Location).returns(::RBI::Loc) }
+ def from_prism(file, prism_location); end
end
end
@@ -1093,11 +1035,6 @@ class RBI::Mixin < ::RBI::NodeWithComments
# source://rbi//lib/rbi/model.rb#777
sig { returns(T::Array[::String]) }
def names; end
-
- # @return [Array]
- #
- # source://rbi//lib/rbi/model.rb#777
- def names=(_arg0); end
end
# source://rbi//lib/rbi/model.rb#190
@@ -1220,6 +1157,10 @@ class RBI::Node
sig { params(node: ::RBI::Node).void }
def replace(node); end
+ # source://rbi//lib/rbi/rewriters/filter_versions.rb#94
+ sig { params(version: ::Gem::Version).returns(T::Boolean) }
+ def satisfies_version?(version); end
+
# source://rbi//lib/rbi/printer.rb#162
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
@@ -1255,6 +1196,10 @@ class RBI::NodeWithComments < ::RBI::Node
# source://rbi//lib/rbi/printer.rb#188
sig { override.returns(T::Boolean) }
def oneline?; end
+
+ # source://rbi//lib/rbi/rewriters/filter_versions.rb#104
+ sig { returns(T::Array[::Gem::Requirement]) }
+ def version_requirements; end
end
# source://rbi//lib/rbi/model.rb#601
@@ -1332,43 +1277,204 @@ end
# source://rbi//lib/rbi/parser.rb#53
class RBI::Parser
- # source://rbi//lib/rbi/parser.rb#64
- sig { void }
- def initialize; end
-
- # source://rbi//lib/rbi/parser.rb#101
+ # source://rbi//lib/rbi/parser.rb#88
sig { params(path: ::String).returns(::RBI::Tree) }
def parse_file(path); end
- # source://rbi//lib/rbi/parser.rb#96
+ # source://rbi//lib/rbi/parser.rb#83
sig { params(string: ::String).returns(::RBI::Tree) }
def parse_string(string); end
private
- # source://rbi//lib/rbi/parser.rb#108
- sig { params(content: ::String, file: ::String).returns(::RBI::Tree) }
- def parse(content, file:); end
+ # source://rbi//lib/rbi/parser.rb#95
+ sig { params(source: ::String, file: ::String).returns(::RBI::Tree) }
+ def parse(source, file:); end
class << self
- # source://rbi//lib/rbi/parser.rb#78
+ # source://rbi//lib/rbi/parser.rb#65
sig { params(path: ::String).returns(::RBI::Tree) }
def parse_file(path); end
- # source://rbi//lib/rbi/parser.rb#83
+ # source://rbi//lib/rbi/parser.rb#70
sig { params(paths: T::Array[::String]).returns(T::Array[::RBI::Tree]) }
def parse_files(paths); end
- # source://rbi//lib/rbi/parser.rb#73
+ # source://rbi//lib/rbi/parser.rb#60
sig { params(string: ::String).returns(::RBI::Tree) }
def parse_string(string); end
- # source://rbi//lib/rbi/parser.rb#89
+ # source://rbi//lib/rbi/parser.rb#76
sig { params(strings: T::Array[::String]).returns(T::Array[::RBI::Tree]) }
def parse_strings(strings); end
end
end
+# source://rbi//lib/rbi/parser.rb#791
+class RBI::Parser::SigBuilder < ::RBI::Parser::Visitor
+ # source://rbi//lib/rbi/parser.rb#798
+ sig { params(content: ::String, file: ::String).void }
+ def initialize(content, file:); end
+
+ # source://rbi//lib/rbi/parser.rb#795
+ sig { returns(::RBI::Sig) }
+ def current; end
+
+ # source://rbi//lib/rbi/parser.rb#850
+ sig { override.params(node: ::Prism::AssocNode).void }
+ def visit_assoc_node(node); end
+
+ # source://rbi//lib/rbi/parser.rb#805
+ sig { override.params(node: ::Prism::CallNode).void }
+ def visit_call_node(node); end
+end
+
+# source://rbi//lib/rbi/parser.rb#153
+class RBI::Parser::TreeBuilder < ::RBI::Parser::Visitor
+ # source://rbi//lib/rbi/parser.rb#163
+ sig { params(source: ::String, comments: T::Array[::Prism::Comment], file: ::String).void }
+ def initialize(source, comments:, file:); end
+
+ # source://rbi//lib/rbi/parser.rb#160
+ sig { returns(T.nilable(::Prism::Node)) }
+ def last_node; end
+
+ # source://rbi//lib/rbi/parser.rb#157
+ sig { returns(::RBI::Tree) }
+ def tree; end
+
+ # source://rbi//lib/rbi/parser.rb#299
+ sig { params(node: ::Prism::CallNode).void }
+ def visit_call_node(node); end
+
+ # source://rbi//lib/rbi/parser.rb#176
+ sig { override.params(node: ::Prism::ClassNode).void }
+ def visit_class_node(node); end
+
+ # source://rbi//lib/rbi/parser.rb#208
+ sig { params(node: T.any(::Prism::ConstantPathWriteNode, ::Prism::ConstantWriteNode)).void }
+ def visit_constant_assign(node); end
+
+ # source://rbi//lib/rbi/parser.rb#201
+ sig { override.params(node: ::Prism::ConstantPathWriteNode).void }
+ def visit_constant_path_write_node(node); end
+
+ # source://rbi//lib/rbi/parser.rb#194
+ sig { override.params(node: ::Prism::ConstantWriteNode).void }
+ def visit_constant_write_node(node); end
+
+ # source://rbi//lib/rbi/parser.rb#241
+ sig { override.params(node: ::Prism::DefNode).void }
+ def visit_def_node(node); end
+
+ # source://rbi//lib/rbi/parser.rb#255
+ sig { override.params(node: ::Prism::ModuleNode).void }
+ def visit_module_node(node); end
+
+ # source://rbi//lib/rbi/parser.rb#272
+ sig { override.params(node: ::Prism::ProgramNode).void }
+ def visit_program_node(node); end
+
+ # source://rbi//lib/rbi/parser.rb#283
+ sig { override.params(node: ::Prism::SingletonClassNode).void }
+ def visit_singleton_class_node(node); end
+
+ private
+
+ # Collect all the remaining comments within a node
+ #
+ # source://rbi//lib/rbi/parser.rb#467
+ sig { params(node: ::Prism::Node).void }
+ def collect_dangling_comments(node); end
+
+ # Collect all the remaining comments after visiting the tree
+ #
+ # source://rbi//lib/rbi/parser.rb#485
+ sig { void }
+ def collect_orphan_comments; end
+
+ # source://rbi//lib/rbi/parser.rb#508
+ sig { returns(::RBI::Tree) }
+ def current_scope; end
+
+ # source://rbi//lib/rbi/parser.rb#513
+ sig { returns(T::Array[::RBI::Sig]) }
+ def current_sigs; end
+
+ # source://rbi//lib/rbi/parser.rb#520
+ sig { returns(T::Array[::RBI::Comment]) }
+ def current_sigs_comments; end
+
+ # source://rbi//lib/rbi/parser.rb#527
+ sig { params(node: ::Prism::Node).returns(T::Array[::RBI::Comment]) }
+ def node_comments(node); end
+
+ # source://rbi//lib/rbi/parser.rb#545
+ sig { params(node: ::Prism::Comment).returns(::RBI::Comment) }
+ def parse_comment(node); end
+
+ # source://rbi//lib/rbi/parser.rb#574
+ sig { params(node: T.nilable(::Prism::Node)).returns(T::Array[::RBI::Param]) }
+ def parse_params(node); end
+
+ # source://rbi//lib/rbi/parser.rb#550
+ sig { params(node: T.nilable(::Prism::Node)).returns(T::Array[::RBI::Arg]) }
+ def parse_send_args(node); end
+
+ # source://rbi//lib/rbi/parser.rb#648
+ sig { params(node: ::Prism::CallNode).returns(::RBI::Sig) }
+ def parse_sig(node); end
+
+ # source://rbi//lib/rbi/parser.rb#658
+ sig do
+ params(
+ node: T.any(::Prism::ConstantPathWriteNode, ::Prism::ConstantWriteNode)
+ ).returns(T.nilable(::RBI::Struct))
+ end
+ def parse_struct(node); end
+
+ # source://rbi//lib/rbi/parser.rb#708
+ sig { params(send: ::Prism::CallNode).void }
+ def parse_tstruct_field(send); end
+
+ # source://rbi//lib/rbi/parser.rb#745
+ sig { params(name: ::String, node: ::Prism::Node).returns(::RBI::Visibility) }
+ def parse_visibility(name, node); end
+
+ # source://rbi//lib/rbi/parser.rb#759
+ sig { void }
+ def separate_header_comments; end
+
+ # source://rbi//lib/rbi/parser.rb#769
+ sig { void }
+ def set_root_tree_loc; end
+
+ # source://rbi//lib/rbi/parser.rb#783
+ sig { params(node: T.nilable(::Prism::Node)).returns(T::Boolean) }
+ def type_variable_definition?(node); end
+end
+
+# source://rbi//lib/rbi/parser.rb#122
+class RBI::Parser::Visitor < ::Prism::Visitor
+ # source://rbi//lib/rbi/parser.rb#126
+ sig { params(source: ::String, file: ::String).void }
+ def initialize(source, file:); end
+
+ private
+
+ # source://rbi//lib/rbi/parser.rb#136
+ sig { params(node: ::Prism::Node).returns(::RBI::Loc) }
+ def node_loc(node); end
+
+ # source://rbi//lib/rbi/parser.rb#141
+ sig { params(node: T.nilable(::Prism::Node)).returns(T.nilable(::String)) }
+ def node_string(node); end
+
+ # source://rbi//lib/rbi/parser.rb#148
+ sig { params(node: ::Prism::Node).returns(::String) }
+ def node_string!(node); end
+end
+
# source://rbi//lib/rbi/printer.rb#5
class RBI::Printer < ::RBI::Visitor
# source://rbi//lib/rbi/printer.rb#28
@@ -1638,6 +1744,78 @@ class RBI::Rewriters::Deannotate < ::RBI::Visitor
def deannotate_node(node); end
end
+# Take a gem version and filter out all RBI that is not relevant to that version based on @version annotations
+# in comments. As an example:
+#
+# ~~~rb
+# tree = Parser.parse_string(<<~RBI)
+# class Foo
+# # @version > 0.3.0
+# def bar
+# end
+#
+# # @version <= 0.3.0
+# def bar(arg1)
+# end
+# end
+# RBI
+#
+# Rewriters::FilterVersions.filter(tree, Gem::Version.new("0.3.1"))
+#
+# assert_equal(<<~RBI, tree.string)
+# class Foo
+# # @version > 0.3.0
+# def bar
+# end
+# end
+# RBI
+# ~~~
+#
+# Supported operators:
+# - equals `=`
+# - not equals `!=`
+# - greater than `>`
+# - greater than or equal to `>=`
+# - less than `<`
+# - less than or equal to `<=`
+# - pessimistic or twiddle-wakka`~>`
+#
+# And/or logic:
+# - "And" logic: put multiple versions on the same line
+# - e.g. `@version > 0.3.0, <1.0.0` means version must be greater than 0.3.0 AND less than 1.0.0
+# - "Or" logic: put multiple versions on subsequent lines
+# - e.g. the following means version must be less than 0.3.0 OR greater than 1.0.0
+# ```
+# # @version < 0.3.0
+# # @version > 1.0.0
+# ```
+# Prerelease versions:
+# - Prerelease versions are considered less than their non-prerelease counterparts
+# - e.g. `0.4.0-prerelease` is less than `0.4.0`
+#
+# RBI with no versions:
+# - RBI with no version annotations are automatically counted towards ALL versions
+#
+# source://rbi//lib/rbi/rewriters/filter_versions.rb#57
+class RBI::Rewriters::FilterVersions < ::RBI::Visitor
+ # source://rbi//lib/rbi/rewriters/filter_versions.rb#73
+ sig { params(version: ::Gem::Version).void }
+ def initialize(version); end
+
+ # source://rbi//lib/rbi/rewriters/filter_versions.rb#79
+ sig { override.params(node: T.nilable(::RBI::Node)).void }
+ def visit(node); end
+
+ class << self
+ # source://rbi//lib/rbi/rewriters/filter_versions.rb#66
+ sig { params(tree: ::RBI::Tree, version: ::Gem::Version).void }
+ def filter(tree, version); end
+ end
+end
+
+# source://rbi//lib/rbi/rewriters/filter_versions.rb#60
+RBI::Rewriters::FilterVersions::VERSION_PREFIX = T.let(T.unsafe(nil), String)
+
# source://rbi//lib/rbi/rewriters/group_nodes.rb#6
class RBI::Rewriters::GroupNodes < ::RBI::Visitor
# source://rbi//lib/rbi/rewriters/group_nodes.rb#10
@@ -1722,7 +1900,7 @@ class RBI::Rewriters::Merge::Conflict < ::T::Struct
def to_s; end
class << self
- # source://sorbet-runtime/0.5.10978/lib/types/struct.rb#13
+ # source://sorbet-runtime/0.5.11262/lib/types/struct.rb#13
def inherited(s); end
end
end
@@ -1939,7 +2117,7 @@ class RBI::Rewriters::RemoveKnownDefinitions::Operation < ::T::Struct
def to_s; end
class << self
- # source://sorbet-runtime/0.5.10978/lib/types/struct.rb#13
+ # source://sorbet-runtime/0.5.11262/lib/types/struct.rb#13
def inherited(s); end
end
end
@@ -2223,31 +2401,6 @@ class RBI::Sig < ::RBI::Node
def sig_modifiers; end
end
-# source://rbi//lib/rbi/parser.rb#668
-class RBI::SigBuilder < ::RBI::ASTVisitor
- # source://rbi//lib/rbi/parser.rb#675
- sig { void }
- def initialize; end
-
- # source://rbi//lib/rbi/parser.rb#672
- sig { returns(::RBI::Sig) }
- def current; end
-
- # source://rbi//lib/rbi/parser.rb#692
- sig { override.params(node: T.nilable(::AST::Node)).void }
- def visit(node); end
-
- # source://rbi//lib/rbi/parser.rb#702
- sig { params(node: ::AST::Node).void }
- def visit_send(node); end
-
- class << self
- # source://rbi//lib/rbi/parser.rb#684
- sig { params(node: ::AST::Node).returns(::RBI::Sig) }
- def build(node); end
- end
-end
-
# source://rbi//lib/rbi/model.rb#1098
class RBI::SigParam < ::RBI::NodeWithComments
# source://rbi//lib/rbi/model.rb#1113
@@ -2597,7 +2750,7 @@ 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
- # source://tapioca/0.11.8/lib/tapioca/rbi_ext/model.rb#38
+ # source://tapioca/0.12.0/lib/tapioca/rbi_ext/model.rb#38
sig do
params(
name: ::String,
@@ -2607,19 +2760,19 @@ class RBI::Tree < ::RBI::NodeWithComments
end
def create_class(name, superclass_name: T.unsafe(nil), &block); end
- # source://tapioca/0.11.8/lib/tapioca/rbi_ext/model.rb#45
+ # source://tapioca/0.12.0/lib/tapioca/rbi_ext/model.rb#45
sig { params(name: ::String, value: ::String).void }
def create_constant(name, value:); end
- # source://tapioca/0.11.8/lib/tapioca/rbi_ext/model.rb#55
+ # source://tapioca/0.12.0/lib/tapioca/rbi_ext/model.rb#55
sig { params(name: ::String).void }
def create_extend(name); end
- # source://tapioca/0.11.8/lib/tapioca/rbi_ext/model.rb#50
+ # source://tapioca/0.12.0/lib/tapioca/rbi_ext/model.rb#50
sig { params(name: ::String).void }
def create_include(name); end
- # source://tapioca/0.11.8/lib/tapioca/rbi_ext/model.rb#89
+ # source://tapioca/0.12.0/lib/tapioca/rbi_ext/model.rb#89
sig do
params(
name: ::String,
@@ -2632,19 +2785,19 @@ class RBI::Tree < ::RBI::NodeWithComments
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)); end
- # source://tapioca/0.11.8/lib/tapioca/rbi_ext/model.rb#60
+ # source://tapioca/0.12.0/lib/tapioca/rbi_ext/model.rb#60
sig { params(name: ::String).void }
def create_mixes_in_class_methods(name); end
- # source://tapioca/0.11.8/lib/tapioca/rbi_ext/model.rb#25
+ # source://tapioca/0.12.0/lib/tapioca/rbi_ext/model.rb#25
sig { params(name: ::String, block: T.nilable(T.proc.params(scope: ::RBI::Scope).void)).returns(::RBI::Scope) }
def create_module(name, &block); end
- # source://tapioca/0.11.8/lib/tapioca/rbi_ext/model.rb#9
+ # source://tapioca/0.12.0/lib/tapioca/rbi_ext/model.rb#9
sig { params(constant: ::Module, block: T.nilable(T.proc.params(scope: ::RBI::Scope).void)).returns(::RBI::Scope) }
def create_path(constant, &block); end
- # source://tapioca/0.11.8/lib/tapioca/rbi_ext/model.rb#74
+ # source://tapioca/0.12.0/lib/tapioca/rbi_ext/model.rb#74
sig do
params(
name: ::String,
@@ -2665,6 +2818,10 @@ class RBI::Tree < ::RBI::NodeWithComments
sig { returns(T::Boolean) }
def empty?; end
+ # source://rbi//lib/rbi/rewriters/filter_versions.rb#118
+ sig { params(version: ::Gem::Version).void }
+ def filter_versions!(version); end
+
# source://rbi//lib/rbi/rewriters/group_nodes.rb#38
sig { void }
def group_nodes!; end
@@ -2706,138 +2863,15 @@ class RBI::Tree < ::RBI::NodeWithComments
private
- # source://tapioca/0.11.8/lib/tapioca/rbi_ext/model.rb#116
+ # source://tapioca/0.12.0/lib/tapioca/rbi_ext/model.rb#116
sig { params(node: ::RBI::Node).returns(::RBI::Node) }
def create_node(node); end
- # source://tapioca/0.11.8/lib/tapioca/rbi_ext/model.rb#111
+ # source://tapioca/0.12.0/lib/tapioca/rbi_ext/model.rb#111
sig { returns(T::Hash[::String, ::RBI::Node]) }
def nodes_cache; end
end
-# source://rbi//lib/rbi/parser.rb#160
-class RBI::TreeBuilder < ::RBI::ASTVisitor
- # source://rbi//lib/rbi/parser.rb#176
- sig do
- params(
- file: ::String,
- comments: T::Array[::Parser::Source::Comment],
- nodes_comments_assoc: T::Hash[::Parser::Source::Map, T::Array[::Parser::Source::Comment]]
- ).void
- end
- def initialize(file:, comments: T.unsafe(nil), nodes_comments_assoc: T.unsafe(nil)); end
-
- # source://rbi//lib/rbi/parser.rb#167
- sig { returns(T.nilable(::AST::Node)) }
- def last_node; end
-
- # source://rbi//lib/rbi/parser.rb#191
- sig { void }
- def post_process; end
-
- # source://rbi//lib/rbi/parser.rb#164
- sig { returns(::RBI::Tree) }
- def tree; end
-
- # source://rbi//lib/rbi/parser.rb#197
- sig { override.params(node: T.nilable(::Object)).void }
- def visit(node); end
-
- private
-
- # source://rbi//lib/rbi/parser.rb#573
- sig { void }
- def assoc_dangling_comments; end
-
- # source://rbi//lib/rbi/parser.rb#554
- sig { returns(::RBI::Tree) }
- def current_scope; end
-
- # source://rbi//lib/rbi/parser.rb#559
- sig { returns(T::Array[::RBI::Sig]) }
- def current_sigs; end
-
- # source://rbi//lib/rbi/parser.rb#566
- sig { returns(T::Array[::RBI::Comment]) }
- def current_sigs_comments; end
-
- # source://rbi//lib/rbi/parser.rb#542
- sig { params(node: ::AST::Node).returns(T::Array[::RBI::Comment]) }
- def node_comments(node); end
-
- # source://rbi//lib/rbi/parser.rb#537
- sig { params(node: ::AST::Node).returns(::RBI::Loc) }
- def node_loc(node); end
-
- # source://rbi//lib/rbi/parser.rb#410
- sig { params(node: ::AST::Node).returns(T.nilable(::RBI::Node)) }
- def parse_block(node); end
-
- # source://rbi//lib/rbi/parser.rb#254
- sig { params(node: ::AST::Node).returns(::RBI::Node) }
- def parse_const_assign(node); end
-
- # source://rbi//lib/rbi/parser.rb#270
- sig { params(node: ::AST::Node).returns(::RBI::Method) }
- def parse_def(node); end
-
- # source://rbi//lib/rbi/parser.rb#512
- sig { params(node: ::AST::Node).returns(::RBI::TEnumBlock) }
- def parse_enum(node); end
-
- # source://rbi//lib/rbi/parser.rb#297
- sig { params(node: ::AST::Node).returns(::RBI::Param) }
- def parse_param(node); end
-
- # source://rbi//lib/rbi/parser.rb#529
- sig { params(node: ::AST::Node).returns(::RBI::RequiresAncestor) }
- def parse_requires_ancestor(node); end
-
- # source://rbi//lib/rbi/parser.rb#234
- sig { params(node: ::AST::Node).returns(::RBI::Scope) }
- def parse_scope(node); end
-
- # source://rbi//lib/rbi/parser.rb#325
- sig { params(node: ::AST::Node).returns(T.nilable(::RBI::Node)) }
- def parse_send(node); end
-
- # source://rbi//lib/rbi/parser.rb#393
- sig { params(node: ::AST::Node).returns(T::Array[::RBI::Arg]) }
- def parse_send_args(node); end
-
- # source://rbi//lib/rbi/parser.rb#505
- sig { params(node: ::AST::Node).returns(::RBI::Sig) }
- def parse_sig(node); end
-
- # source://rbi//lib/rbi/parser.rb#432
- sig { params(node: ::AST::Node).returns(::RBI::Struct) }
- def parse_struct(node); end
-
- # source://rbi//lib/rbi/parser.rb#489
- sig { params(node: ::AST::Node).returns([::String, ::String, T.nilable(::String)]) }
- def parse_tstruct_prop(node); end
-
- # source://rbi//lib/rbi/parser.rb#478
- sig { params(node: ::AST::Node).returns(::RBI::TypeMember) }
- def parse_type_variable(node); end
-
- # source://rbi//lib/rbi/parser.rb#591
- sig { void }
- def separate_header_comments; end
-
- # source://rbi//lib/rbi/parser.rb#613
- sig { void }
- def set_root_tree_loc; end
-
- # source://rbi//lib/rbi/parser.rb#426
- sig { params(node: ::AST::Node).returns(T::Boolean) }
- def struct_definition?(node); end
-
- # source://rbi//lib/rbi/parser.rb#471
- sig { params(node: ::AST::Node).returns(T::Boolean) }
- def type_variable_definition?(node); end
-end
-
# source://rbi//lib/rbi/model.rb#1320
class RBI::TypeMember < ::RBI::NodeWithComments
include ::RBI::Indexable
diff --git a/sorbet/rbi/gems/regexp_parser@2.8.1.rbi b/sorbet/rbi/gems/regexp_parser@2.9.0.rbi
similarity index 96%
rename from sorbet/rbi/gems/regexp_parser@2.8.1.rbi
rename to sorbet/rbi/gems/regexp_parser@2.9.0.rbi
index e10d9b8de..34ad4f2a7 100644
--- a/sorbet/rbi/gems/regexp_parser@2.8.1.rbi
+++ b/sorbet/rbi/gems/regexp_parser@2.9.0.rbi
@@ -94,6 +94,9 @@ end
class Regexp::Expression::Anchor::NonWordBoundary < ::Regexp::Expression::Anchor::Base
# source://regexp_parser//lib/regexp_parser/expression/methods/human_name.rb#17
def human_name; end
+
+ # source://regexp_parser//lib/regexp_parser/expression/methods/negative.rb#13
+ def negative?; end
end
# source://regexp_parser//lib/regexp_parser/expression/classes/anchor.rb#13
@@ -127,12 +130,18 @@ end
class Regexp::Expression::Assertion::NegativeLookahead < ::Regexp::Expression::Assertion::Base
# source://regexp_parser//lib/regexp_parser/expression/methods/human_name.rb#21
def human_name; end
+
+ # source://regexp_parser//lib/regexp_parser/expression/methods/negative.rb#14
+ def negative?; end
end
# source://regexp_parser//lib/regexp_parser/expression/classes/group.rb#71
class Regexp::Expression::Assertion::NegativeLookbehind < ::Regexp::Expression::Assertion::Base
# source://regexp_parser//lib/regexp_parser/expression/methods/human_name.rb#22
def human_name; end
+
+ # source://regexp_parser//lib/regexp_parser/expression/methods/negative.rb#15
+ def negative?; end
end
# alias for symmetry between token symbol and Expression class name
@@ -574,10 +583,10 @@ end
class Regexp::Expression::CharacterSet < ::Regexp::Expression::Subexpression
# @return [CharacterSet] a new instance of CharacterSet
#
- # source://regexp_parser//lib/regexp_parser/expression/classes/character_set.rb#9
+ # source://regexp_parser//lib/regexp_parser/expression/classes/character_set.rb#6
def initialize(token, options = T.unsafe(nil)); end
- # source://regexp_parser//lib/regexp_parser/expression/classes/character_set.rb#19
+ # source://regexp_parser//lib/regexp_parser/expression/classes/character_set.rb#16
def close; end
# Returns the value of attribute closed.
@@ -600,14 +609,9 @@ class Regexp::Expression::CharacterSet < ::Regexp::Expression::Subexpression
# source://regexp_parser//lib/regexp_parser/expression/methods/match_length.rb#98
def match_length; end
- # source://regexp_parser//lib/regexp_parser/expression/classes/character_set.rb#15
+ # source://regexp_parser//lib/regexp_parser/expression/classes/character_set.rb#12
def negate; end
- # Returns the value of attribute negative.
- #
- # source://regexp_parser//lib/regexp_parser/expression/classes/character_set.rb#3
- def negated?; end
-
# Returns the value of attribute negative.
#
# source://regexp_parser//lib/regexp_parser/expression/classes/character_set.rb#3
@@ -620,9 +624,7 @@ class Regexp::Expression::CharacterSet < ::Regexp::Expression::Subexpression
# source://regexp_parser//lib/regexp_parser/expression/classes/character_set.rb#3
def negative=(_arg0); end
- # Returns the value of attribute negative.
- #
- # source://regexp_parser//lib/regexp_parser/expression/classes/character_set.rb#3
+ # source://regexp_parser//lib/regexp_parser/expression/methods/negative.rb#16
def negative?; end
# source://regexp_parser//lib/regexp_parser/expression/methods/parts.rb#15
@@ -686,6 +688,9 @@ end
class Regexp::Expression::CharacterType::Base < ::Regexp::Expression::Base
# source://regexp_parser//lib/regexp_parser/expression/methods/match_length.rb#98
def match_length; end
+
+ # source://regexp_parser//lib/regexp_parser/expression/methods/negative.rb#17
+ def negative?; end
end
# source://regexp_parser//lib/regexp_parser/expression/classes/character_type.rb#6
@@ -1151,10 +1156,10 @@ end
# source://regexp_parser//lib/regexp_parser/expression/methods/match_length.rb#85
Regexp::Expression::MatchLength = Regexp::MatchLength
-# source://regexp_parser//lib/regexp_parser/expression/classes/posix_class.rb#14
+# source://regexp_parser//lib/regexp_parser/expression/classes/posix_class.rb#10
Regexp::Expression::Nonposixclass = Regexp::Expression::PosixClass
-# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#121
+# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#118
Regexp::Expression::Nonproperty = Regexp::Expression::UnicodeProperty
# source://regexp_parser//lib/regexp_parser/expression/classes/posix_class.rb#2
@@ -1162,23 +1167,21 @@ class Regexp::Expression::PosixClass < ::Regexp::Expression::Base
# source://regexp_parser//lib/regexp_parser/expression/methods/match_length.rb#98
def match_length; end
- # source://regexp_parser//lib/regexp_parser/expression/classes/posix_class.rb#7
+ # source://regexp_parser//lib/regexp_parser/expression/classes/posix_class.rb#3
def name; end
- # @return [Boolean]
- #
- # source://regexp_parser//lib/regexp_parser/expression/classes/posix_class.rb#3
+ # source://regexp_parser//lib/regexp_parser/expression/methods/negative.rb#18
def negative?; end
end
# alias for symmetry between token symbol and Expression class name
#
-# source://regexp_parser//lib/regexp_parser/expression/classes/posix_class.rb#13
+# source://regexp_parser//lib/regexp_parser/expression/classes/posix_class.rb#9
Regexp::Expression::Posixclass = Regexp::Expression::PosixClass
# alias for symmetry between token symbol and Expression class name
#
-# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#120
+# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#117
Regexp::Expression::Property = Regexp::Expression::UnicodeProperty
# TODO: in v3.0.0, maybe put Shared back into Base, and inherit from Base and
@@ -1370,7 +1373,7 @@ end
# alias for symmetry between token symbol and Expression class name
#
-# source://regexp_parser//lib/regexp_parser/expression/classes/character_set.rb#25
+# source://regexp_parser//lib/regexp_parser/expression/classes/character_set.rb#22
Regexp::Expression::Set = Regexp::Expression::CharacterSet
# source://regexp_parser//lib/regexp_parser/expression/shared.rb#2
@@ -1453,6 +1456,18 @@ module Regexp::Expression::Shared
# source://regexp_parser//lib/regexp_parser/expression/methods/tests.rb#36
def is?(test_token, test_type = T.unsafe(nil)); end
+ # not an alias so as to respect overrides of #negative?
+ #
+ # @return [Boolean]
+ #
+ # source://regexp_parser//lib/regexp_parser/expression/methods/negative.rb#8
+ def negated?; end
+
+ # @return [Boolean]
+ #
+ # source://regexp_parser//lib/regexp_parser/expression/methods/negative.rb#3
+ def negative?; end
+
# source://regexp_parser//lib/regexp_parser/expression/shared.rb#100
def nesting_level=(lvl); end
@@ -1794,22 +1809,22 @@ end
# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#2
module Regexp::Expression::UnicodeProperty; end
-# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#112
+# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#108
class Regexp::Expression::UnicodeProperty::Age < ::Regexp::Expression::UnicodeProperty::Base; end
-# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#17
+# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#13
class Regexp::Expression::UnicodeProperty::Alnum < ::Regexp::Expression::UnicodeProperty::Base; end
-# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#18
+# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#14
class Regexp::Expression::UnicodeProperty::Alpha < ::Regexp::Expression::UnicodeProperty::Base; end
-# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#35
+# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#31
class Regexp::Expression::UnicodeProperty::Any < ::Regexp::Expression::UnicodeProperty::Base; end
-# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#19
+# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#15
class Regexp::Expression::UnicodeProperty::Ascii < ::Regexp::Expression::UnicodeProperty::Base; end
-# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#36
+# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#32
class Regexp::Expression::UnicodeProperty::Assigned < ::Regexp::Expression::UnicodeProperty::Base; end
# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#3
@@ -1817,226 +1832,227 @@ class Regexp::Expression::UnicodeProperty::Base < ::Regexp::Expression::Base
# source://regexp_parser//lib/regexp_parser/expression/methods/match_length.rb#98
def match_length; end
- # source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#8
+ # source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#4
def name; end
- # @return [Boolean]
- #
- # source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#4
+ # source://regexp_parser//lib/regexp_parser/expression/methods/negative.rb#19
def negative?; end
- # source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#12
+ # source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#8
def shortcut; end
end
-# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#20
+# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#16
class Regexp::Expression::UnicodeProperty::Blank < ::Regexp::Expression::UnicodeProperty::Base; end
-# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#116
+# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#109
class Regexp::Expression::UnicodeProperty::Block < ::Regexp::Expression::UnicodeProperty::Base; end
-# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#21
+# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#17
class Regexp::Expression::UnicodeProperty::Cntrl < ::Regexp::Expression::UnicodeProperty::Base; end
-# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#101
+# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#97
module Regexp::Expression::UnicodeProperty::Codepoint; end
-# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#104
+# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#100
class Regexp::Expression::UnicodeProperty::Codepoint::Any < ::Regexp::Expression::UnicodeProperty::Codepoint::Base; end
-# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#102
+# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#98
class Regexp::Expression::UnicodeProperty::Codepoint::Base < ::Regexp::Expression::UnicodeProperty::Base; end
-# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#105
+# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#101
class Regexp::Expression::UnicodeProperty::Codepoint::Control < ::Regexp::Expression::UnicodeProperty::Codepoint::Base; end
-# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#106
+# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#102
class Regexp::Expression::UnicodeProperty::Codepoint::Format < ::Regexp::Expression::UnicodeProperty::Codepoint::Base; end
-# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#108
+# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#104
class Regexp::Expression::UnicodeProperty::Codepoint::PrivateUse < ::Regexp::Expression::UnicodeProperty::Codepoint::Base; end
-# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#107
+# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#103
class Regexp::Expression::UnicodeProperty::Codepoint::Surrogate < ::Regexp::Expression::UnicodeProperty::Codepoint::Base; end
-# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#109
+# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#105
class Regexp::Expression::UnicodeProperty::Codepoint::Unassigned < ::Regexp::Expression::UnicodeProperty::Codepoint::Base; end
-# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#113
+# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#110
class Regexp::Expression::UnicodeProperty::Derived < ::Regexp::Expression::UnicodeProperty::Base; end
-# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#22
+# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#18
class Regexp::Expression::UnicodeProperty::Digit < ::Regexp::Expression::UnicodeProperty::Base; end
-# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#114
+# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#111
class Regexp::Expression::UnicodeProperty::Emoji < ::Regexp::Expression::UnicodeProperty::Base; end
-# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#23
+# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#112
+class Regexp::Expression::UnicodeProperty::Enumerated < ::Regexp::Expression::UnicodeProperty::Base; end
+
+# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#19
class Regexp::Expression::UnicodeProperty::Graph < ::Regexp::Expression::UnicodeProperty::Base; end
-# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#38
+# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#34
module Regexp::Expression::UnicodeProperty::Letter; end
-# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#41
+# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#37
class Regexp::Expression::UnicodeProperty::Letter::Any < ::Regexp::Expression::UnicodeProperty::Letter::Base; end
-# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#39
+# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#35
class Regexp::Expression::UnicodeProperty::Letter::Base < ::Regexp::Expression::UnicodeProperty::Base; end
-# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#42
+# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#38
class Regexp::Expression::UnicodeProperty::Letter::Cased < ::Regexp::Expression::UnicodeProperty::Letter::Base; end
-# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#44
+# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#40
class Regexp::Expression::UnicodeProperty::Letter::Lowercase < ::Regexp::Expression::UnicodeProperty::Letter::Base; end
-# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#46
+# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#42
class Regexp::Expression::UnicodeProperty::Letter::Modifier < ::Regexp::Expression::UnicodeProperty::Letter::Base; end
-# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#47
+# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#43
class Regexp::Expression::UnicodeProperty::Letter::Other < ::Regexp::Expression::UnicodeProperty::Letter::Base; end
-# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#45
+# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#41
class Regexp::Expression::UnicodeProperty::Letter::Titlecase < ::Regexp::Expression::UnicodeProperty::Letter::Base; end
-# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#43
+# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#39
class Regexp::Expression::UnicodeProperty::Letter::Uppercase < ::Regexp::Expression::UnicodeProperty::Letter::Base; end
-# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#24
+# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#20
class Regexp::Expression::UnicodeProperty::Lower < ::Regexp::Expression::UnicodeProperty::Base; end
-# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#50
+# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#46
module Regexp::Expression::UnicodeProperty::Mark; end
-# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#53
+# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#49
class Regexp::Expression::UnicodeProperty::Mark::Any < ::Regexp::Expression::UnicodeProperty::Mark::Base; end
-# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#51
+# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#47
class Regexp::Expression::UnicodeProperty::Mark::Base < ::Regexp::Expression::UnicodeProperty::Base; end
-# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#54
+# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#50
class Regexp::Expression::UnicodeProperty::Mark::Combining < ::Regexp::Expression::UnicodeProperty::Mark::Base; end
-# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#57
+# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#53
class Regexp::Expression::UnicodeProperty::Mark::Enclosing < ::Regexp::Expression::UnicodeProperty::Mark::Base; end
-# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#55
+# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#51
class Regexp::Expression::UnicodeProperty::Mark::Nonspacing < ::Regexp::Expression::UnicodeProperty::Mark::Base; end
-# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#56
+# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#52
class Regexp::Expression::UnicodeProperty::Mark::Spacing < ::Regexp::Expression::UnicodeProperty::Mark::Base; end
-# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#33
+# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#29
class Regexp::Expression::UnicodeProperty::Newline < ::Regexp::Expression::UnicodeProperty::Base; end
-# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#60
+# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#56
module Regexp::Expression::UnicodeProperty::Number; end
-# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#63
+# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#59
class Regexp::Expression::UnicodeProperty::Number::Any < ::Regexp::Expression::UnicodeProperty::Number::Base; end
-# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#61
+# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#57
class Regexp::Expression::UnicodeProperty::Number::Base < ::Regexp::Expression::UnicodeProperty::Base; end
-# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#64
+# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#60
class Regexp::Expression::UnicodeProperty::Number::Decimal < ::Regexp::Expression::UnicodeProperty::Number::Base; end
-# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#65
+# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#61
class Regexp::Expression::UnicodeProperty::Number::Letter < ::Regexp::Expression::UnicodeProperty::Number::Base; end
-# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#66
+# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#62
class Regexp::Expression::UnicodeProperty::Number::Other < ::Regexp::Expression::UnicodeProperty::Number::Base; end
-# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#25
+# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#21
class Regexp::Expression::UnicodeProperty::Print < ::Regexp::Expression::UnicodeProperty::Base; end
-# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#26
+# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#22
class Regexp::Expression::UnicodeProperty::Punct < ::Regexp::Expression::UnicodeProperty::Base; end
-# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#69
+# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#65
module Regexp::Expression::UnicodeProperty::Punctuation; end
-# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#72
+# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#68
class Regexp::Expression::UnicodeProperty::Punctuation::Any < ::Regexp::Expression::UnicodeProperty::Punctuation::Base; end
-# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#70
+# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#66
class Regexp::Expression::UnicodeProperty::Punctuation::Base < ::Regexp::Expression::UnicodeProperty::Base; end
-# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#76
+# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#72
class Regexp::Expression::UnicodeProperty::Punctuation::Close < ::Regexp::Expression::UnicodeProperty::Punctuation::Base; end
-# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#73
+# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#69
class Regexp::Expression::UnicodeProperty::Punctuation::Connector < ::Regexp::Expression::UnicodeProperty::Punctuation::Base; end
-# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#74
+# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#70
class Regexp::Expression::UnicodeProperty::Punctuation::Dash < ::Regexp::Expression::UnicodeProperty::Punctuation::Base; end
-# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#78
+# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#74
class Regexp::Expression::UnicodeProperty::Punctuation::Final < ::Regexp::Expression::UnicodeProperty::Punctuation::Base; end
-# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#77
+# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#73
class Regexp::Expression::UnicodeProperty::Punctuation::Initial < ::Regexp::Expression::UnicodeProperty::Punctuation::Base; end
-# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#75
+# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#71
class Regexp::Expression::UnicodeProperty::Punctuation::Open < ::Regexp::Expression::UnicodeProperty::Punctuation::Base; end
-# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#79
+# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#75
class Regexp::Expression::UnicodeProperty::Punctuation::Other < ::Regexp::Expression::UnicodeProperty::Punctuation::Base; end
-# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#115
+# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#113
class Regexp::Expression::UnicodeProperty::Script < ::Regexp::Expression::UnicodeProperty::Base; end
-# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#82
+# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#78
module Regexp::Expression::UnicodeProperty::Separator; end
-# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#85
+# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#81
class Regexp::Expression::UnicodeProperty::Separator::Any < ::Regexp::Expression::UnicodeProperty::Separator::Base; end
-# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#83
+# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#79
class Regexp::Expression::UnicodeProperty::Separator::Base < ::Regexp::Expression::UnicodeProperty::Base; end
-# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#87
+# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#83
class Regexp::Expression::UnicodeProperty::Separator::Line < ::Regexp::Expression::UnicodeProperty::Separator::Base; end
-# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#88
+# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#84
class Regexp::Expression::UnicodeProperty::Separator::Paragraph < ::Regexp::Expression::UnicodeProperty::Separator::Base; end
-# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#86
+# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#82
class Regexp::Expression::UnicodeProperty::Separator::Space < ::Regexp::Expression::UnicodeProperty::Separator::Base; end
-# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#27
+# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#23
class Regexp::Expression::UnicodeProperty::Space < ::Regexp::Expression::UnicodeProperty::Base; end
-# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#91
+# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#87
module Regexp::Expression::UnicodeProperty::Symbol; end
-# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#94
+# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#90
class Regexp::Expression::UnicodeProperty::Symbol::Any < ::Regexp::Expression::UnicodeProperty::Symbol::Base; end
-# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#92
+# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#88
class Regexp::Expression::UnicodeProperty::Symbol::Base < ::Regexp::Expression::UnicodeProperty::Base; end
-# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#96
+# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#92
class Regexp::Expression::UnicodeProperty::Symbol::Currency < ::Regexp::Expression::UnicodeProperty::Symbol::Base; end
-# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#95
+# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#91
class Regexp::Expression::UnicodeProperty::Symbol::Math < ::Regexp::Expression::UnicodeProperty::Symbol::Base; end
-# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#97
+# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#93
class Regexp::Expression::UnicodeProperty::Symbol::Modifier < ::Regexp::Expression::UnicodeProperty::Symbol::Base; end
-# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#98
+# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#94
class Regexp::Expression::UnicodeProperty::Symbol::Other < ::Regexp::Expression::UnicodeProperty::Symbol::Base; end
-# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#28
+# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#24
class Regexp::Expression::UnicodeProperty::Upper < ::Regexp::Expression::UnicodeProperty::Base; end
-# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#29
+# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#25
class Regexp::Expression::UnicodeProperty::Word < ::Regexp::Expression::UnicodeProperty::Base; end
-# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#31
+# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#27
class Regexp::Expression::UnicodeProperty::XPosixPunct < ::Regexp::Expression::UnicodeProperty::Base; end
-# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#30
+# source://regexp_parser//lib/regexp_parser/expression/classes/unicode_property.rb#26
class Regexp::Expression::UnicodeProperty::Xdigit < ::Regexp::Expression::UnicodeProperty::Base; end
# source://regexp_parser//lib/regexp_parser/expression/classes/free_space.rb#11
@@ -2343,7 +2359,7 @@ class Regexp::Parser
private
- # source://regexp_parser//lib/regexp_parser/parser.rb#573
+ # source://regexp_parser//lib/regexp_parser/parser.rb#574
def active_opts; end
# source://regexp_parser//lib/regexp_parser/parser.rb#99
@@ -2356,7 +2372,7 @@ class Regexp::Parser
# an instance of Backreference::Number, its #referenced_expression is set to
# the instance of Group::Capture that it refers to via its number.
#
- # source://regexp_parser//lib/regexp_parser/parser.rb#580
+ # source://regexp_parser//lib/regexp_parser/parser.rb#581
def assign_referenced_expressions; end
# source://regexp_parser//lib/regexp_parser/parser.rb#227
@@ -2377,13 +2393,13 @@ class Regexp::Parser
# source://regexp_parser//lib/regexp_parser/parser.rb#56
def captured_group_counts=(_arg0); end
- # source://regexp_parser//lib/regexp_parser/parser.rb#569
+ # source://regexp_parser//lib/regexp_parser/parser.rb#570
def close_completed_character_set_range; end
# source://regexp_parser//lib/regexp_parser/parser.rb#210
def close_group; end
- # source://regexp_parser//lib/regexp_parser/parser.rb#537
+ # source://regexp_parser//lib/regexp_parser/parser.rb#538
def close_set; end
# source://regexp_parser//lib/regexp_parser/parser.rb#269
@@ -2421,10 +2437,10 @@ class Regexp::Parser
# source://regexp_parser//lib/regexp_parser/parser.rb#114
def group(token); end
- # source://regexp_parser//lib/regexp_parser/parser.rb#508
+ # source://regexp_parser//lib/regexp_parser/parser.rb#509
def increase_group_level(exp); end
- # source://regexp_parser//lib/regexp_parser/parser.rb#548
+ # source://regexp_parser//lib/regexp_parser/parser.rb#549
def intersection(token); end
# source://regexp_parser//lib/regexp_parser/parser.rb#360
@@ -2436,7 +2452,7 @@ class Regexp::Parser
# source://regexp_parser//lib/regexp_parser/parser.rb#368
def meta(token); end
- # source://regexp_parser//lib/regexp_parser/parser.rb#533
+ # source://regexp_parser//lib/regexp_parser/parser.rb#534
def negate_set; end
# source://regexp_parser//lib/regexp_parser/parser.rb#299
@@ -2472,7 +2488,7 @@ class Regexp::Parser
# source://regexp_parser//lib/regexp_parser/parser.rb#165
def open_group(token); end
- # source://regexp_parser//lib/regexp_parser/parser.rb#526
+ # source://regexp_parser//lib/regexp_parser/parser.rb#527
def open_set(token); end
# source://regexp_parser//lib/regexp_parser/parser.rb#130
@@ -2499,10 +2515,10 @@ class Regexp::Parser
# source://regexp_parser//lib/regexp_parser/parser.rb#397
def property(token); end
- # source://regexp_parser//lib/regexp_parser/parser.rb#478
+ # source://regexp_parser//lib/regexp_parser/parser.rb#479
def quantifier(token); end
- # source://regexp_parser//lib/regexp_parser/parser.rb#541
+ # source://regexp_parser//lib/regexp_parser/parser.rb#542
def range(token); end
# Returns the value of attribute root.
@@ -2520,7 +2536,7 @@ class Regexp::Parser
# source://regexp_parser//lib/regexp_parser/parser.rb#379
def sequence_operation(klass, token); end
- # source://regexp_parser//lib/regexp_parser/parser.rb#514
+ # source://regexp_parser//lib/regexp_parser/parser.rb#515
def set(token); end
# Returns the value of attribute switching_options.
@@ -2538,7 +2554,7 @@ class Regexp::Parser
# source://regexp_parser//lib/regexp_parser/parser.rb#198
def total_captured_group_count; end
- # source://regexp_parser//lib/regexp_parser/parser.rb#552
+ # source://regexp_parser//lib/regexp_parser/parser.rb#553
def type(token); end
class << self
@@ -2590,17 +2606,17 @@ Regexp::Parser::VERSION = T.let(T.unsafe(nil), String)
class Regexp::Scanner
# Emits an array with the details of the scanned pattern
#
- # source://regexp_parser//lib/regexp_parser/scanner.rb#2388
+ # source://regexp_parser//lib/regexp_parser/scanner.rb#2406
def emit(type, token, text); end
# only public for #||= to work on ruby <= 2.5
#
- # source://regexp_parser//lib/regexp_parser/scanner.rb#2413
+ # source://regexp_parser//lib/regexp_parser/scanner.rb#2431
def literal_run; end
# only public for #||= to work on ruby <= 2.5
#
- # source://regexp_parser//lib/regexp_parser/scanner.rb#2413
+ # source://regexp_parser//lib/regexp_parser/scanner.rb#2431
def literal_run=(_arg0); end
# @raise [PrematureEndError]
@@ -2613,168 +2629,168 @@ class Regexp::Scanner
# Appends one or more characters to the literal buffer, to be emitted later
# by a call to emit_literal.
#
- # source://regexp_parser//lib/regexp_parser/scanner.rb#2450
+ # source://regexp_parser//lib/regexp_parser/scanner.rb#2468
def append_literal(data, ts, te); end
# Returns the value of attribute block.
#
- # source://regexp_parser//lib/regexp_parser/scanner.rb#2417
+ # source://regexp_parser//lib/regexp_parser/scanner.rb#2435
def block; end
# Sets the attribute block
#
# @param value the value to set the attribute block to.
#
- # source://regexp_parser//lib/regexp_parser/scanner.rb#2417
+ # source://regexp_parser//lib/regexp_parser/scanner.rb#2435
def block=(_arg0); end
# Returns the value of attribute char_pos.
#
- # source://regexp_parser//lib/regexp_parser/scanner.rb#2417
+ # source://regexp_parser//lib/regexp_parser/scanner.rb#2435
def char_pos; end
# Sets the attribute char_pos
#
# @param value the value to set the attribute char_pos to.
#
- # source://regexp_parser//lib/regexp_parser/scanner.rb#2417
+ # source://regexp_parser//lib/regexp_parser/scanner.rb#2435
def char_pos=(_arg0); end
# Returns the value of attribute collect_tokens.
#
- # source://regexp_parser//lib/regexp_parser/scanner.rb#2417
+ # source://regexp_parser//lib/regexp_parser/scanner.rb#2435
def collect_tokens; end
# Sets the attribute collect_tokens
#
# @param value the value to set the attribute collect_tokens to.
#
- # source://regexp_parser//lib/regexp_parser/scanner.rb#2417
+ # source://regexp_parser//lib/regexp_parser/scanner.rb#2435
def collect_tokens=(_arg0); end
# Returns the value of attribute conditional_stack.
#
- # source://regexp_parser//lib/regexp_parser/scanner.rb#2417
+ # source://regexp_parser//lib/regexp_parser/scanner.rb#2435
def conditional_stack; end
# Sets the attribute conditional_stack
#
# @param value the value to set the attribute conditional_stack to.
#
- # source://regexp_parser//lib/regexp_parser/scanner.rb#2417
+ # source://regexp_parser//lib/regexp_parser/scanner.rb#2435
def conditional_stack=(_arg0); end
# Copy from ts to te from data as text
#
- # source://regexp_parser//lib/regexp_parser/scanner.rb#2444
+ # source://regexp_parser//lib/regexp_parser/scanner.rb#2462
def copy(data, ts, te); end
# Emits the literal run collected by calls to the append_literal method.
#
- # source://regexp_parser//lib/regexp_parser/scanner.rb#2455
+ # source://regexp_parser//lib/regexp_parser/scanner.rb#2473
def emit_literal; end
- # source://regexp_parser//lib/regexp_parser/scanner.rb#2490
+ # source://regexp_parser//lib/regexp_parser/scanner.rb#2508
def emit_meta_control_sequence(data, ts, te, token); end
- # source://regexp_parser//lib/regexp_parser/scanner.rb#2461
+ # source://regexp_parser//lib/regexp_parser/scanner.rb#2479
def emit_options(text); end
# Returns the value of attribute free_spacing.
#
- # source://regexp_parser//lib/regexp_parser/scanner.rb#2417
+ # source://regexp_parser//lib/regexp_parser/scanner.rb#2435
def free_spacing; end
# Sets the attribute free_spacing
#
# @param value the value to set the attribute free_spacing to.
#
- # source://regexp_parser//lib/regexp_parser/scanner.rb#2417
+ # source://regexp_parser//lib/regexp_parser/scanner.rb#2435
def free_spacing=(_arg0); end
# @return [Boolean]
#
- # source://regexp_parser//lib/regexp_parser/scanner.rb#2423
+ # source://regexp_parser//lib/regexp_parser/scanner.rb#2441
def free_spacing?(input_object, options); end
# Returns the value of attribute group_depth.
#
- # source://regexp_parser//lib/regexp_parser/scanner.rb#2417
+ # source://regexp_parser//lib/regexp_parser/scanner.rb#2435
def group_depth; end
# Sets the attribute group_depth
#
# @param value the value to set the attribute group_depth to.
#
- # source://regexp_parser//lib/regexp_parser/scanner.rb#2417
+ # source://regexp_parser//lib/regexp_parser/scanner.rb#2435
def group_depth=(_arg0); end
# @return [Boolean]
#
- # source://regexp_parser//lib/regexp_parser/scanner.rb#2435
+ # source://regexp_parser//lib/regexp_parser/scanner.rb#2453
def in_group?; end
# @return [Boolean]
#
- # source://regexp_parser//lib/regexp_parser/scanner.rb#2439
+ # source://regexp_parser//lib/regexp_parser/scanner.rb#2457
def in_set?; end
# Returns the value of attribute prev_token.
#
- # source://regexp_parser//lib/regexp_parser/scanner.rb#2417
+ # source://regexp_parser//lib/regexp_parser/scanner.rb#2435
def prev_token; end
# Sets the attribute prev_token
#
# @param value the value to set the attribute prev_token to.
#
- # source://regexp_parser//lib/regexp_parser/scanner.rb#2417
+ # source://regexp_parser//lib/regexp_parser/scanner.rb#2435
def prev_token=(_arg0); end
# Returns the value of attribute set_depth.
#
- # source://regexp_parser//lib/regexp_parser/scanner.rb#2417
+ # source://regexp_parser//lib/regexp_parser/scanner.rb#2435
def set_depth; end
# Sets the attribute set_depth
#
# @param value the value to set the attribute set_depth to.
#
- # source://regexp_parser//lib/regexp_parser/scanner.rb#2417
+ # source://regexp_parser//lib/regexp_parser/scanner.rb#2435
def set_depth=(_arg0); end
# Returns the value of attribute spacing_stack.
#
- # source://regexp_parser//lib/regexp_parser/scanner.rb#2417
+ # source://regexp_parser//lib/regexp_parser/scanner.rb#2435
def spacing_stack; end
# Sets the attribute spacing_stack
#
# @param value the value to set the attribute spacing_stack to.
#
- # source://regexp_parser//lib/regexp_parser/scanner.rb#2417
+ # source://regexp_parser//lib/regexp_parser/scanner.rb#2435
def spacing_stack=(_arg0); end
# Returns the value of attribute tokens.
#
- # source://regexp_parser//lib/regexp_parser/scanner.rb#2417
+ # source://regexp_parser//lib/regexp_parser/scanner.rb#2435
def tokens; end
# Sets the attribute tokens
#
# @param value the value to set the attribute tokens to.
#
- # source://regexp_parser//lib/regexp_parser/scanner.rb#2417
+ # source://regexp_parser//lib/regexp_parser/scanner.rb#2435
def tokens=(_arg0); end
class << self
- # source://regexp_parser//lib/regexp_parser/scanner.rb#2374
+ # source://regexp_parser//lib/regexp_parser/scanner.rb#2392
def long_prop_map; end
- # source://regexp_parser//lib/regexp_parser/scanner.rb#2378
+ # source://regexp_parser//lib/regexp_parser/scanner.rb#2396
def parse_prop_map(name); end
- # source://regexp_parser//lib/regexp_parser/scanner.rb#2382
+ # source://regexp_parser//lib/regexp_parser/scanner.rb#2400
def posix_classes; end
# Scans the given regular expression text, or Regexp object and collects the
@@ -2789,7 +2805,7 @@ class Regexp::Scanner
# lazy-load property maps when first needed
#
- # source://regexp_parser//lib/regexp_parser/scanner.rb#2370
+ # source://regexp_parser//lib/regexp_parser/scanner.rb#2388
def short_prop_map; end
end
end
@@ -3355,7 +3371,7 @@ Regexp::Syntax::Token::PosixClass::Type = T.let(T.unsafe(nil), Symbol)
# alias for symmetry between token symbol and Token module name
#
-# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#731
+# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#749
Regexp::Syntax::Token::Property = Regexp::Syntax::Token::UnicodeProperty
# source://regexp_parser//lib/regexp_parser/syntax/token/quantifier.rb#3
@@ -3452,7 +3468,7 @@ Regexp::Syntax::Token::UnicodeProperty::Age_V3_1_0 = T.let(T.unsafe(nil), Array)
# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#62
Regexp::Syntax::Token::UnicodeProperty::Age_V3_2_0 = T.let(T.unsafe(nil), Array)
-# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#721
+# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#739
Regexp::Syntax::Token::UnicodeProperty::All = T.let(T.unsafe(nil), Array)
# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#13
@@ -3503,7 +3519,7 @@ Regexp::Syntax::Token::UnicodeProperty::Derived_V2_4_0 = T.let(T.unsafe(nil), Ar
# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#129
Regexp::Syntax::Token::UnicodeProperty::Derived_V2_5_0 = T.let(T.unsafe(nil), Array)
-# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#706
+# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#724
Regexp::Syntax::Token::UnicodeProperty::Emoji = T.let(T.unsafe(nil), Array)
# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#694
@@ -3512,7 +3528,13 @@ Regexp::Syntax::Token::UnicodeProperty::Emoji_V2_5_0 = T.let(T.unsafe(nil), Arra
# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#702
Regexp::Syntax::Token::UnicodeProperty::Emoji_V2_6_0 = T.let(T.unsafe(nil), Array)
-# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#724
+# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#722
+Regexp::Syntax::Token::UnicodeProperty::Enumerated = T.let(T.unsafe(nil), Array)
+
+# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#706
+Regexp::Syntax::Token::UnicodeProperty::Enumerated_V2_4_0 = T.let(T.unsafe(nil), Array)
+
+# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#742
Regexp::Syntax::Token::UnicodeProperty::NonType = T.let(T.unsafe(nil), Symbol)
# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#11
@@ -3554,7 +3576,7 @@ Regexp::Syntax::Token::UnicodeProperty::Script_V3_1_0 = T.let(T.unsafe(nil), Arr
# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#322
Regexp::Syntax::Token::UnicodeProperty::Script_V3_2_0 = T.let(T.unsafe(nil), Array)
-# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#723
+# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#741
Regexp::Syntax::Token::UnicodeProperty::Type = T.let(T.unsafe(nil), Symbol)
# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#692
@@ -3590,40 +3612,40 @@ Regexp::Syntax::Token::UnicodeProperty::UnicodeBlock_V3_1_0 = T.let(T.unsafe(nil
# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#670
Regexp::Syntax::Token::UnicodeProperty::UnicodeBlock_V3_2_0 = T.let(T.unsafe(nil), Array)
-# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#708
+# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#726
Regexp::Syntax::Token::UnicodeProperty::V1_9_0 = T.let(T.unsafe(nil), Array)
-# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#709
+# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#727
Regexp::Syntax::Token::UnicodeProperty::V1_9_3 = T.let(T.unsafe(nil), Array)
-# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#710
+# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#728
Regexp::Syntax::Token::UnicodeProperty::V2_0_0 = T.let(T.unsafe(nil), Array)
-# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#711
+# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#729
Regexp::Syntax::Token::UnicodeProperty::V2_2_0 = T.let(T.unsafe(nil), Array)
-# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#712
+# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#730
Regexp::Syntax::Token::UnicodeProperty::V2_3_0 = T.let(T.unsafe(nil), Array)
-# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#713
+# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#731
Regexp::Syntax::Token::UnicodeProperty::V2_4_0 = T.let(T.unsafe(nil), Array)
-# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#714
+# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#732
Regexp::Syntax::Token::UnicodeProperty::V2_5_0 = T.let(T.unsafe(nil), Array)
-# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#715
+# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#733
Regexp::Syntax::Token::UnicodeProperty::V2_6_0 = T.let(T.unsafe(nil), Array)
-# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#716
+# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#734
Regexp::Syntax::Token::UnicodeProperty::V2_6_2 = T.let(T.unsafe(nil), Array)
-# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#717
+# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#735
Regexp::Syntax::Token::UnicodeProperty::V2_6_3 = T.let(T.unsafe(nil), Array)
-# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#718
+# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#736
Regexp::Syntax::Token::UnicodeProperty::V3_1_0 = T.let(T.unsafe(nil), Array)
-# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#719
+# source://regexp_parser//lib/regexp_parser/syntax/token/unicode_property.rb#737
Regexp::Syntax::Token::UnicodeProperty::V3_2_0 = T.let(T.unsafe(nil), Array)
# source://regexp_parser//lib/regexp_parser/syntax/version_lookup.rb#12
diff --git a/sorbet/rbi/gems/reline@0.3.5.rbi b/sorbet/rbi/gems/reline@0.4.2.rbi
similarity index 100%
rename from sorbet/rbi/gems/reline@0.3.5.rbi
rename to sorbet/rbi/gems/reline@0.4.2.rbi
diff --git a/sorbet/rbi/gems/rexml@3.2.5.rbi b/sorbet/rbi/gems/rexml@3.2.6.rbi
similarity index 97%
rename from sorbet/rbi/gems/rexml@3.2.5.rbi
rename to sorbet/rbi/gems/rexml@3.2.6.rbi
index a94e56718..c8d67b58d 100644
--- a/sorbet/rbi/gems/rexml@3.2.5.rbi
+++ b/sorbet/rbi/gems/rexml@3.2.6.rbi
@@ -101,18 +101,18 @@ class REXML::Attribute
#
# @return [Attribute] a new instance of Attribute
#
- # source://rexml//lib/rexml/attribute.rb#45
+ # source://rexml//lib/rexml/attribute.rb#42
def initialize(first, second = T.unsafe(nil), parent = T.unsafe(nil)); end
# Returns true if other is an Attribute and has the same name and value,
# false otherwise.
#
- # source://rexml//lib/rexml/attribute.rb#109
+ # source://rexml//lib/rexml/attribute.rb#106
def ==(other); end
# Returns a copy of this attribute
#
- # source://rexml//lib/rexml/attribute.rb#158
+ # source://rexml//lib/rexml/attribute.rb#163
def clone; end
# source://rexml//lib/rexml/attribute.rb#132
@@ -128,15 +128,15 @@ class REXML::Attribute
#
# Returns this attribute
#
- # source://rexml//lib/rexml/attribute.rb#166
+ # source://rexml//lib/rexml/attribute.rb#171
def element=(element); end
# Creates (and returns) a hash from both the name and value
#
- # source://rexml//lib/rexml/attribute.rb#114
+ # source://rexml//lib/rexml/attribute.rb#111
def hash; end
- # source://rexml//lib/rexml/attribute.rb#192
+ # source://rexml//lib/rexml/attribute.rb#197
def inspect; end
# Returns the namespace URL, if defined, or nil otherwise
@@ -161,17 +161,17 @@ class REXML::Attribute
# e.add_attribute("a", "b")
# e.attribute("a").namespace # => ""
#
- # source://rexml//lib/rexml/attribute.rb#98
+ # source://rexml//lib/rexml/attribute.rb#95
def namespace(arg = T.unsafe(nil)); end
- # source://rexml//lib/rexml/attribute.rb#188
+ # source://rexml//lib/rexml/attribute.rb#193
def node_type; end
# The normalized value of this attribute. That is, the attribute with
# entities intact.
#
- # source://rexml//lib/rexml/attribute.rb#18
- def normalized=(_arg0); end
+ # source://rexml//lib/rexml/attribute.rb#157
+ def normalized=(new_normalized); end
# Returns the namespace of the attribute.
#
@@ -183,14 +183,14 @@ class REXML::Attribute
# a = Attribute.new( "x", "y" )
# a.prefix # -> ""
#
- # source://rexml//lib/rexml/attribute.rb#73
+ # source://rexml//lib/rexml/attribute.rb#70
def prefix; end
# Removes this Attribute from the tree, and returns true if successful
#
# This method is usually not called directly.
#
- # source://rexml//lib/rexml/attribute.rb#179
+ # source://rexml//lib/rexml/attribute.rb#184
def remove; end
# Returns the attribute value, with entities replaced
@@ -205,21 +205,21 @@ class REXML::Attribute
# b = Attribute.new( "ns:x", "y" )
# b.to_string # -> "ns:x='y'"
#
- # source://rexml//lib/rexml/attribute.rb#124
+ # source://rexml//lib/rexml/attribute.rb#121
def to_string; end
# Returns the UNNORMALIZED value of this attribute. That is, entities
# have been expanded to their values
#
- # source://rexml//lib/rexml/attribute.rb#150
+ # source://rexml//lib/rexml/attribute.rb#149
def value; end
# Writes this attribute (EG, puts 'key="value"' to the output)
#
- # source://rexml//lib/rexml/attribute.rb#184
+ # source://rexml//lib/rexml/attribute.rb#189
def write(output, indent = T.unsafe(nil)); end
- # source://rexml//lib/rexml/attribute.rb#198
+ # source://rexml//lib/rexml/attribute.rb#203
def xpath; end
end
@@ -978,7 +978,7 @@ class REXML::Document < ::REXML::Element
# d.to_s # => "FooBar"
#
# When argument +document+ is given, it must be an existing
- # document object, whose context and attributes (but not chidren)
+ # document object, whose context and attributes (but not children)
# are cloned into the new document:
#
# d = REXML::Document.new(xml_string)
@@ -2225,7 +2225,7 @@ class REXML::Element < ::REXML::Parent
# :call-seq:
# has_text? -> true or false
#
- # Returns +true if the element has one or more text noded,
+ # Returns +true+ if the element has one or more text noded,
# +false+ otherwise:
#
# d = REXML::Document.new 'text'
@@ -2473,7 +2473,7 @@ class REXML::Element < ::REXML::Parent
# text(xpath = nil) -> text_string or nil
#
# Returns the text string from the first text node child
- # in a specified element, if it exists, # +nil+ otherwise.
+ # in a specified element, if it exists, +nil+ otherwise.
#
# With no argument, returns the text from the first text node in +self+:
#
@@ -2481,7 +2481,7 @@ class REXML::Element < ::REXML::Parent
# d.root.text.class # => String
# d.root.text # => "some text "
#
- # With argument +xpath+, returns text from the the first text node
+ # With argument +xpath+, returns text from the first text node
# in the element that matches +xpath+:
#
# d.root.text(1) # => "this is bold!"
@@ -3252,6 +3252,9 @@ class REXML::Entity < ::REXML::Child
# source://rexml//lib/rexml/entity.rb#85
def normalized; end
+ # source://rexml//lib/rexml/entity.rb#138
+ def parent=(other); end
+
# Returns the value of attribute pubid.
#
# source://rexml//lib/rexml/entity.rb#22
@@ -3298,6 +3301,11 @@ class REXML::Entity < ::REXML::Child
# source://rexml//lib/rexml/entity.rb#97
def write(out, indent = T.unsafe(nil)); end
+ private
+
+ # source://rexml//lib/rexml/entity.rb#144
+ def resolve_value; end
+
class << self
# Evaluates whether the given string matches an entity definition,
# returning true if so, and false otherwise.
@@ -3554,6 +3562,54 @@ class REXML::Instruction < ::REXML::Child
def write(writer, indent = T.unsafe(nil), transitive = T.unsafe(nil), ie_hack = T.unsafe(nil)); end
end
+# Adds named attributes to an object.
+#
+# source://rexml//lib/rexml/namespace.rb#7
+module REXML::Namespace
+ include ::REXML::XMLTokens
+
+ # The name of the object, valid if set
+ #
+ # source://rexml//lib/rexml/namespace.rb#9
+ def expanded_name; end
+
+ # Fully expand the name, even if the prefix wasn't specified in the
+ # source file.
+ #
+ # source://rexml//lib/rexml/namespace.rb#57
+ def fully_expanded_name; end
+
+ # Compares names optionally WITH namespaces
+ #
+ # @return [Boolean]
+ #
+ # source://rexml//lib/rexml/namespace.rb#43
+ def has_name?(other, ns = T.unsafe(nil)); end
+
+ # The name of the object, valid if set
+ #
+ # source://rexml//lib/rexml/namespace.rb#9
+ def name; end
+
+ # Sets the name and the expanded name
+ #
+ # source://rexml//lib/rexml/namespace.rb#17
+ def name=(name); end
+
+ # The expanded name of the object, valid if name is set
+ #
+ # source://rexml//lib/rexml/namespace.rb#11
+ def prefix; end
+
+ # The expanded name of the object, valid if name is set
+ #
+ # source://rexml//lib/rexml/namespace.rb#11
+ def prefix=(_arg0); end
+end
+
+# source://rexml//lib/rexml/namespace.rb#13
+REXML::Namespace::NAME_WITHOUT_NAMESPACE = T.let(T.unsafe(nil), Regexp)
+
# source://rexml//lib/rexml/doctype.rb#280
class REXML::NotationDecl < ::REXML::Child
# @return [NotationDecl] a new instance of NotationDecl
@@ -3972,57 +4028,62 @@ end
# There is strange, dark magic at work in this code. Beware. Go back! Go
# back while you still can!
#
-# source://rexml//lib/rexml/parsers/xpathparser.rb#11
+# source://rexml//lib/rexml/parsers/xpathparser.rb#12
class REXML::Parsers::XPathParser
include ::REXML::XMLTokens
- # source://rexml//lib/rexml/parsers/xpathparser.rb#41
- def abbreviate(path); end
+ # source://rexml//lib/rexml/parsers/xpathparser.rb#42
+ def abbreviate(path_or_parsed); end
- # source://rexml//lib/rexml/parsers/xpathparser.rb#99
- def expand(path); end
+ # source://rexml//lib/rexml/parsers/xpathparser.rb#132
+ def expand(path_or_parsed); end
- # source://rexml//lib/rexml/parsers/xpathparser.rb#15
+ # source://rexml//lib/rexml/parsers/xpathparser.rb#16
def namespaces=(namespaces); end
- # source://rexml//lib/rexml/parsers/xpathparser.rb#20
+ # source://rexml//lib/rexml/parsers/xpathparser.rb#21
def parse(path); end
- # source://rexml//lib/rexml/parsers/xpathparser.rb#35
+ # For backward compatibility
+ #
+ # source://rexml//lib/rexml/parsers/xpathparser.rb#174
+ def preciate_to_string(parsed, &block); end
+
+ # source://rexml//lib/rexml/parsers/xpathparser.rb#36
def predicate(path); end
- # source://rexml//lib/rexml/parsers/xpathparser.rb#138
- def predicate_to_string(path, &block); end
+ # source://rexml//lib/rexml/parsers/xpathparser.rb#174
+ def predicate_to_path(parsed, &block); end
private
# | AdditiveExpr ('+' | '-') MultiplicativeExpr
# | MultiplicativeExpr
#
- # source://rexml//lib/rexml/parsers/xpathparser.rb#455
+ # source://rexml//lib/rexml/parsers/xpathparser.rb#505
def AdditiveExpr(path, parsed); end
# | AndExpr S 'and' S EqualityExpr
# | EqualityExpr
#
- # source://rexml//lib/rexml/parsers/xpathparser.rb#388
+ # source://rexml//lib/rexml/parsers/xpathparser.rb#438
def AndExpr(path, parsed); end
# | EqualityExpr ('=' | '!=') RelationalExpr
# | RelationalExpr
#
- # source://rexml//lib/rexml/parsers/xpathparser.rb#407
+ # source://rexml//lib/rexml/parsers/xpathparser.rb#457
def EqualityExpr(path, parsed); end
# | FilterExpr Predicate
# | PrimaryExpr
#
- # source://rexml//lib/rexml/parsers/xpathparser.rb#558
+ # source://rexml//lib/rexml/parsers/xpathparser.rb#608
def FilterExpr(path, parsed); end
# | FUNCTION_NAME '(' ( expr ( ',' expr )* )? ')'
#
- # source://rexml//lib/rexml/parsers/xpathparser.rb#613
+ # source://rexml//lib/rexml/parsers/xpathparser.rb#663
def FunctionCall(rest, parsed); end
# LocationPath
@@ -4030,69 +4091,72 @@ class REXML::Parsers::XPathParser
# | '/' RelativeLocationPath?
# | '//' RelativeLocationPath
#
- # source://rexml//lib/rexml/parsers/xpathparser.rb#193
+ # source://rexml//lib/rexml/parsers/xpathparser.rb#243
def LocationPath(path, parsed); end
# | MultiplicativeExpr ('*' | S ('div' | 'mod') S) UnaryExpr
# | UnaryExpr
#
- # source://rexml//lib/rexml/parsers/xpathparser.rb#478
+ # source://rexml//lib/rexml/parsers/xpathparser.rb#528
def MultiplicativeExpr(path, parsed); end
- # source://rexml//lib/rexml/parsers/xpathparser.rb#293
+ # source://rexml//lib/rexml/parsers/xpathparser.rb#343
def NodeTest(path, parsed); end
# | OrExpr S 'or' S AndExpr
# | AndExpr
#
- # source://rexml//lib/rexml/parsers/xpathparser.rb#369
+ # source://rexml//lib/rexml/parsers/xpathparser.rb#419
def OrExpr(path, parsed); end
# | LocationPath
# | FilterExpr ('/' | '//') RelativeLocationPath
#
- # source://rexml//lib/rexml/parsers/xpathparser.rb#540
+ # source://rexml//lib/rexml/parsers/xpathparser.rb#590
def PathExpr(path, parsed); end
# Filters the supplied nodeset on the predicate(s)
#
- # source://rexml//lib/rexml/parsers/xpathparser.rb#345
+ # source://rexml//lib/rexml/parsers/xpathparser.rb#395
def Predicate(path, parsed); end
- # source://rexml//lib/rexml/parsers/xpathparser.rb#576
+ # source://rexml//lib/rexml/parsers/xpathparser.rb#626
def PrimaryExpr(path, parsed); end
# | RelationalExpr ('<' | '>' | '<=' | '>=') AdditiveExpr
# | AdditiveExpr
#
- # source://rexml//lib/rexml/parsers/xpathparser.rb#430
+ # source://rexml//lib/rexml/parsers/xpathparser.rb#480
def RelationalExpr(path, parsed); end
- # source://rexml//lib/rexml/parsers/xpathparser.rb#217
+ # source://rexml//lib/rexml/parsers/xpathparser.rb#267
def RelativeLocationPath(path, parsed); end
# | '-' UnaryExpr
# | UnionExpr
#
- # source://rexml//lib/rexml/parsers/xpathparser.rb#503
+ # source://rexml//lib/rexml/parsers/xpathparser.rb#553
def UnaryExpr(path, parsed); end
# | UnionExpr '|' PathExpr
# | PathExpr
#
- # source://rexml//lib/rexml/parsers/xpathparser.rb#521
+ # source://rexml//lib/rexml/parsers/xpathparser.rb#571
def UnionExpr(path, parsed); end
# get_group( '[foo]bar' ) -> ['bar', '[foo]']
#
- # source://rexml//lib/rexml/parsers/xpathparser.rb#626
+ # source://rexml//lib/rexml/parsers/xpathparser.rb#676
def get_group(string); end
- # source://rexml//lib/rexml/parsers/xpathparser.rb#644
+ # source://rexml//lib/rexml/parsers/xpathparser.rb#694
def parse_args(string); end
+
+ # source://rexml//lib/rexml/parsers/xpathparser.rb#224
+ def quote_literal(literal); end
end
-# source://rexml//lib/rexml/parsers/xpathparser.rb#289
+# source://rexml//lib/rexml/parsers/xpathparser.rb#339
REXML::Parsers::XPathParser::LOCAL_NAME_WILDCARD = T.let(T.unsafe(nil), Regexp)
# Returns a 1-1 map of the nodeset
@@ -4106,7 +4170,7 @@ REXML::Parsers::XPathParser::LOCAL_NAME_WILDCARD = T.let(T.unsafe(nil), Regexp)
# | PI '(' LITERAL ')' PI
# | '[' expr ']' Predicate
#
-# source://rexml//lib/rexml/parsers/xpathparser.rb#288
+# source://rexml//lib/rexml/parsers/xpathparser.rb#338
REXML::Parsers::XPathParser::PREFIX_WILDCARD = T.let(T.unsafe(nil), Regexp)
# source://rexml//lib/rexml/doctype.rb#10
@@ -4401,7 +4465,7 @@ class REXML::Text < ::REXML::Child
# source://rexml//lib/rexml/text.rb#131
def check(string, pattern, doctype); end
- # source://rexml//lib/rexml/text.rb#405
+ # source://rexml//lib/rexml/text.rb#407
def expand(ref, doctype, filter); end
# Escapes all possible entities
@@ -4416,7 +4480,7 @@ class REXML::Text < ::REXML::Child
# Unescapes all possible entities
#
- # source://rexml//lib/rexml/text.rb#392
+ # source://rexml//lib/rexml/text.rb#394
def unnormalize(string, doctype = T.unsafe(nil), filter = T.unsafe(nil), illegal = T.unsafe(nil)); end
end
end
diff --git a/sorbet/rbi/gems/rubocop-ast@1.29.0.rbi b/sorbet/rbi/gems/rubocop-ast@1.30.0.rbi
similarity index 98%
rename from sorbet/rbi/gems/rubocop-ast@1.29.0.rbi
rename to sorbet/rbi/gems/rubocop-ast@1.30.0.rbi
index f2425af6d..0ab3880a6 100644
--- a/sorbet/rbi/gems/rubocop-ast@1.29.0.rbi
+++ b/sorbet/rbi/gems/rubocop-ast@1.30.0.rbi
@@ -275,7 +275,7 @@ class RuboCop::AST::BlockNode < ::RuboCop::AST::Node
#
# @return [Array]
#
- # source://rubocop-ast//lib/rubocop/ast/node/block_node.rb#42
+ # source://rubocop-ast//lib/rubocop/ast/node/block_node.rb#60
def argument_list; end
# The arguments of this block.
@@ -285,63 +285,81 @@ class RuboCop::AST::BlockNode < ::RuboCop::AST::Node
#
# @return [Array]
#
- # source://rubocop-ast//lib/rubocop/ast/node/block_node.rb#30
+ # source://rubocop-ast//lib/rubocop/ast/node/block_node.rb#48
def arguments; end
# Checks whether this block takes any arguments.
#
# @return [Boolean] whether this `block` node takes any arguments
#
- # source://rubocop-ast//lib/rubocop/ast/node/block_node.rb#67
+ # source://rubocop-ast//lib/rubocop/ast/node/block_node.rb#85
def arguments?; end
# The body of this block.
#
# @return [Node, nil] the body of the `block` node or `nil`
#
- # source://rubocop-ast//lib/rubocop/ast/node/block_node.rb#53
+ # source://rubocop-ast//lib/rubocop/ast/node/block_node.rb#71
def body; end
# Checks whether the `block` literal is delimited by curly braces.
#
# @return [Boolean] whether the `block` literal is enclosed in braces
#
- # source://rubocop-ast//lib/rubocop/ast/node/block_node.rb#74
+ # source://rubocop-ast//lib/rubocop/ast/node/block_node.rb#92
def braces?; end
# The closing delimiter for this `block` literal.
#
# @return [String] the closing delimiter for the `block` literal
#
- # source://rubocop-ast//lib/rubocop/ast/node/block_node.rb#102
+ # source://rubocop-ast//lib/rubocop/ast/node/block_node.rb#120
def closing_delimiter; end
# The delimiters for this `block` literal.
#
# @return [Array] the delimiters for the `block` literal
#
- # source://rubocop-ast//lib/rubocop/ast/node/block_node.rb#88
+ # source://rubocop-ast//lib/rubocop/ast/node/block_node.rb#106
def delimiters; end
+ # A shorthand for getting the first argument of this block.
+ # Equivalent to `arguments.first`.
+ #
+ # @return [Node, nil] the first argument of this block,
+ # or `nil` if there are no arguments
+ #
+ # source://rubocop-ast//lib/rubocop/ast/node/block_node.rb#29
+ def first_argument; end
+
# Checks whether the `block` literal is delimited by `do`-`end` keywords.
#
# @return [Boolean] whether the `block` literal is enclosed in `do`-`end`
#
- # source://rubocop-ast//lib/rubocop/ast/node/block_node.rb#81
+ # source://rubocop-ast//lib/rubocop/ast/node/block_node.rb#99
def keywords?; end
# Checks whether this `block` literal belongs to a lambda.
#
# @return [Boolean] whether the `block` literal belongs to a lambda
#
- # source://rubocop-ast//lib/rubocop/ast/node/block_node.rb#125
+ # source://rubocop-ast//lib/rubocop/ast/node/block_node.rb#143
def lambda?; end
+ # A shorthand for getting the last argument of this block.
+ # Equivalent to `arguments.last`.
+ #
+ # @return [Node, nil] the last argument of this block,
+ # or `nil` if there are no arguments
+ #
+ # source://rubocop-ast//lib/rubocop/ast/node/block_node.rb#38
+ def last_argument; end
+
# The name of the dispatched method as a symbol.
#
# @return [Symbol] the name of the dispatched method
#
- # source://rubocop-ast//lib/rubocop/ast/node/block_node.rb#60
+ # source://rubocop-ast//lib/rubocop/ast/node/block_node.rb#78
def method_name; end
# Checks whether this is a multiline block. This is overridden here
@@ -349,14 +367,14 @@ class RuboCop::AST::BlockNode < ::RuboCop::AST::Node
#
# @return [Boolean] whether the `block` literal is on a several lines
#
- # source://rubocop-ast//lib/rubocop/ast/node/block_node.rb#118
+ # source://rubocop-ast//lib/rubocop/ast/node/block_node.rb#136
def multiline?; end
# The opening delimiter for this `block` literal.
#
# @return [String] the opening delimiter for the `block` literal
#
- # source://rubocop-ast//lib/rubocop/ast/node/block_node.rb#95
+ # source://rubocop-ast//lib/rubocop/ast/node/block_node.rb#113
def opening_delimiter; end
# The `send` node associated with this block.
@@ -371,21 +389,21 @@ class RuboCop::AST::BlockNode < ::RuboCop::AST::Node
#
# @return [Boolean] whether the `block` literal is on a single line
#
- # source://rubocop-ast//lib/rubocop/ast/node/block_node.rb#110
+ # source://rubocop-ast//lib/rubocop/ast/node/block_node.rb#128
def single_line?; end
# Checks whether this node body is a void context.
#
# @return [Boolean] whether the `block` node body is a void context
#
- # source://rubocop-ast//lib/rubocop/ast/node/block_node.rb#132
+ # source://rubocop-ast//lib/rubocop/ast/node/block_node.rb#150
def void_context?; end
private
# Numbered arguments of this `numblock`.
#
- # source://rubocop-ast//lib/rubocop/ast/node/block_node.rb#139
+ # source://rubocop-ast//lib/rubocop/ast/node/block_node.rb#157
def numbered_arguments; end
end
@@ -1716,7 +1734,7 @@ class RuboCop::AST::IfNode < ::RuboCop::AST::Node
# source://rubocop-ast//lib/rubocop/ast/node/if_node.rb#80
def modifier_form?; end
- # Chacks whether the `if` node has nested `if` nodes in any of its
+ # Checks whether the `if` node has nested `if` nodes in any of its
# branches.
#
# @note This performs a shallow search.
@@ -4823,116 +4841,116 @@ class RuboCop::AST::NodePattern::Parser < ::Racc::Parser
# source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.rb#19
def initialize(builder = T.unsafe(nil)); end
- # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#333
+ # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#335
def _reduce_10(val, _values); end
- # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#337
+ # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#339
def _reduce_11(val, _values); end
# reduce 12 omitted
#
- # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#343
+ # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#345
def _reduce_13(val, _values); end
- # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#347
+ # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#349
def _reduce_14(val, _values); end
- # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#351
+ # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#353
def _reduce_15(val, _values); end
- # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#355
+ # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#357
def _reduce_16(val, _values); end
- # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#359
+ # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#361
def _reduce_17(val, _values); end
- # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#363
+ # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#365
def _reduce_18(val, _values); end
- # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#367
+ # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#369
def _reduce_19(val, _values); end
# reduce 1 omitted
#
- # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#301
+ # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#303
def _reduce_2(val, _values); end
- # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#371
+ # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#373
def _reduce_20(val, _values); end
- # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#375
+ # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#377
def _reduce_21(val, _values); end
- # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#379
+ # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#381
def _reduce_22(val, _values); end
# reduce 24 omitted
#
- # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#387
+ # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#389
def _reduce_25(val, _values); end
- # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#393
+ # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#395
def _reduce_26(val, _values); end
- # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#305
+ # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#307
def _reduce_3(val, _values); end
# reduce 32 omitted
#
- # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#413
+ # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#415
def _reduce_33(val, _values); end
# reduce 36 omitted
#
- # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#423
+ # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#425
def _reduce_37(val, _values); end
- # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#427
+ # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#429
def _reduce_38(val, _values); end
- # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#431
+ # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#433
def _reduce_39(val, _values); end
- # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#309
+ # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#311
def _reduce_4(val, _values); end
- # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#435
+ # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#437
def _reduce_40(val, _values); end
- # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#439
+ # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#441
def _reduce_41(val, _values); end
- # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#443
+ # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#445
def _reduce_42(val, _values); end
- # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#447
+ # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#449
def _reduce_43(val, _values); end
- # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#451
+ # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#453
def _reduce_44(val, _values); end
- # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#455
+ # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#457
def _reduce_45(val, _values); end
- # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#459
+ # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#461
def _reduce_46(val, _values); end
- # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#313
+ # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#315
def _reduce_5(val, _values); end
- # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#317
+ # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#319
def _reduce_6(val, _values); end
- # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#321
+ # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#323
def _reduce_7(val, _values); end
- # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#325
+ # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#327
def _reduce_8(val, _values); end
- # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#329
+ # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#331
def _reduce_9(val, _values); end
- # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#463
+ # source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#465
def _reduce_none(val, _values); end
# source://forwardable/1.3.3/forwardable.rb#231
@@ -4992,10 +5010,10 @@ RuboCop::AST::NodePattern::Parser::Lexer = RuboCop::AST::NodePattern::Lexer
# source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#227
RuboCop::AST::NodePattern::Parser::Racc_arg = T.let(T.unsafe(nil), Array)
-# source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#293
+# source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#295
RuboCop::AST::NodePattern::Parser::Racc_debug_parser = T.let(T.unsafe(nil), FalseClass)
-# source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#243
+# source://rubocop-ast//lib/rubocop/ast/node_pattern/parser.racc.rb#244
RuboCop::AST::NodePattern::Parser::Racc_token_to_s_table = T.let(T.unsafe(nil), Array)
# Overrides Parser to use `WithMeta` variants and provide additional methods
@@ -5111,7 +5129,7 @@ RuboCop::AST::NodePattern::Sets::SET_ABSTRACT_OVERRIDE_OVERRIDABLE_ETC = T.let(T
RuboCop::AST::NodePattern::Sets::SET_ADD_DEPENDENCY_ADD_RUNTIME_DEPENDENCY_ADD_DEVELOPMENT_DEPENDENCY = T.let(T.unsafe(nil), Set)
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
-RuboCop::AST::NodePattern::Sets::SET_ANY_ALL_NORETURN_ETC = T.let(T.unsafe(nil), Set)
+RuboCop::AST::NodePattern::Sets::SET_ALL_ANY_CLASS_OF_ETC = T.let(T.unsafe(nil), Set)
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
RuboCop::AST::NodePattern::Sets::SET_ANY_EMPTY = T.let(T.unsafe(nil), Set)
@@ -5185,6 +5203,9 @@ RuboCop::AST::NodePattern::Sets::SET_FILE_DIR = T.let(T.unsafe(nil), Set)
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
RuboCop::AST::NodePattern::Sets::SET_FILE_FILETEST = T.let(T.unsafe(nil), Set)
+# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
+RuboCop::AST::NodePattern::Sets::SET_FILE_TEMPFILE = T.let(T.unsafe(nil), Set)
+
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
RuboCop::AST::NodePattern::Sets::SET_FILE_TEMPFILE_STRINGIO = T.let(T.unsafe(nil), Set)
@@ -5230,6 +5251,9 @@ RuboCop::AST::NodePattern::Sets::SET_LOAD_RESTORE = T.let(T.unsafe(nil), Set)
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
RuboCop::AST::NodePattern::Sets::SET_MAP_COLLECT = T.let(T.unsafe(nil), Set)
+# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
+RuboCop::AST::NodePattern::Sets::SET_MATCH_MATCH_ = T.let(T.unsafe(nil), Set)
+
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
RuboCop::AST::NodePattern::Sets::SET_MODULE_FUNCTION_RUBY2_KEYWORDS = T.let(T.unsafe(nil), Set)
@@ -5252,7 +5276,7 @@ RuboCop::AST::NodePattern::Sets::SET_PIPELINE_PIPELINE_R_PIPELINE_RW_ETC = T.let
RuboCop::AST::NodePattern::Sets::SET_PRESENT_ANY_BLANK_EMPTY = T.let(T.unsafe(nil), Set)
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
-RuboCop::AST::NodePattern::Sets::SET_PRIVATE_PROTECTED = T.let(T.unsafe(nil), Set)
+RuboCop::AST::NodePattern::Sets::SET_PRIVATE_PROTECTED_PRIVATE_CLASS_METHOD = T.let(T.unsafe(nil), Set)
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
RuboCop::AST::NodePattern::Sets::SET_PRIVATE_PROTECTED_PUBLIC = T.let(T.unsafe(nil), Set)
@@ -5293,6 +5317,9 @@ RuboCop::AST::NodePattern::Sets::SET_SELECT_SELECT = T.let(T.unsafe(nil), Set)
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
RuboCop::AST::NodePattern::Sets::SET_SEND_PUBLIC_SEND___SEND__ = T.let(T.unsafe(nil), Set)
+# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
+RuboCop::AST::NodePattern::Sets::SET_SIG_HELPERS = T.let(T.unsafe(nil), Set)
+
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
RuboCop::AST::NodePattern::Sets::SET_SORT_BY_SORT = T.let(T.unsafe(nil), Set)
@@ -5305,6 +5332,12 @@ RuboCop::AST::NodePattern::Sets::SET_SPRINTF_FORMAT = T.let(T.unsafe(nil), Set)
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
RuboCop::AST::NodePattern::Sets::SET_STRUCT_CLASS = T.let(T.unsafe(nil), Set)
+# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
+RuboCop::AST::NodePattern::Sets::SET_STRUCT_IMMUTABLESTRUCT = T.let(T.unsafe(nil), Set)
+
+# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
+RuboCop::AST::NodePattern::Sets::SET_STRUCT_IMMUTABLESTRUCT_INEXACTSTRUCT = T.let(T.unsafe(nil), Set)
+
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
RuboCop::AST::NodePattern::Sets::SET_SUCC_PRED_NEXT = T.let(T.unsafe(nil), Set)
@@ -5323,9 +5356,6 @@ RuboCop::AST::NodePattern::Sets::SET_TO_I_TO_F_TO_C_TO_R = T.let(T.unsafe(nil),
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
RuboCop::AST::NodePattern::Sets::SET_TRUE_FALSE = T.let(T.unsafe(nil), Set)
-# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
-RuboCop::AST::NodePattern::Sets::SET_TYPE_TEMPLATE_TYPE_MEMBER = T.let(T.unsafe(nil), Set)
-
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
RuboCop::AST::NodePattern::Sets::SET_ZERO_POSITIVE_NEGATIVE = T.let(T.unsafe(nil), Set)
diff --git a/sorbet/rbi/gems/rubocop-minitest@0.31.0.rbi b/sorbet/rbi/gems/rubocop-minitest@0.34.5.rbi
similarity index 88%
rename from sorbet/rbi/gems/rubocop-minitest@0.31.0.rbi
rename to sorbet/rbi/gems/rubocop-minitest@0.34.5.rbi
index a31818e7e..d131026e2 100644
--- a/sorbet/rbi/gems/rubocop-minitest@0.31.0.rbi
+++ b/sorbet/rbi/gems/rubocop-minitest@0.34.5.rbi
@@ -81,7 +81,7 @@ class RuboCop::Cop::Minitest::AssertEmpty < ::RuboCop::Cop::Base
extend ::RuboCop::Cop::MinitestCopRule
extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#58
+ # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#57
def autocorrect(corrector, node, arguments); end
# source://rubocop-minitest//lib/rubocop/cop/minitest/assert_empty.rb#23
@@ -89,20 +89,14 @@ class RuboCop::Cop::Minitest::AssertEmpty < ::RuboCop::Cop::Base
private
- # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#110
+ # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#95
def correct_receiver(receiver); end
- # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#106
- def enclosed_in_redundant_parentheses?(node); end
-
- # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#92
+ # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#81
def new_arguments(arguments); end
- # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#78
+ # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#67
def offense_message(arguments); end
-
- # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#72
- def peel_redundant_parentheses_from(arguments); end
end
# source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#43
@@ -147,45 +141,28 @@ RuboCop::Cop::Minitest::AssertEmptyLiteral::RESTRICT_ON_SEND = T.let(T.unsafe(ni
# @example
# # bad
# assert("rubocop-minitest" == actual)
+# assert_operator("rubocop-minitest", :==, actual)
#
# # good
# assert_equal("rubocop-minitest", actual)
#
-# source://rubocop-minitest//lib/rubocop/cop/minitest/assert_equal.rb#16
+# source://rubocop-minitest//lib/rubocop/cop/minitest/assert_equal.rb#17
class RuboCop::Cop::Minitest::AssertEqual < ::RuboCop::Cop::Base
include ::RuboCop::Cop::RangeHelp
include ::RuboCop::Cop::ArgumentRangeHelper
- extend ::RuboCop::Cop::MinitestCopRule
extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#58
- def autocorrect(corrector, node, arguments); end
+ # source://rubocop-minitest//lib/rubocop/cop/minitest/assert_equal.rb#24
+ def assert_equal(param0 = T.unsafe(nil)); end
- # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#46
+ # source://rubocop-minitest//lib/rubocop/cop/minitest/assert_equal.rb#32
def on_send(node); end
-
- private
-
- # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#110
- def correct_receiver(receiver); end
-
- # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#106
- def enclosed_in_redundant_parentheses?(node); end
-
- # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#92
- def new_arguments(arguments); end
-
- # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#78
- def offense_message(arguments); end
-
- # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#72
- def peel_redundant_parentheses_from(arguments); end
end
-# source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#43
+# source://rubocop-minitest//lib/rubocop/cop/minitest/assert_equal.rb#21
RuboCop::Cop::Minitest::AssertEqual::MSG = T.let(T.unsafe(nil), String)
-# source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#44
+# source://rubocop-minitest//lib/rubocop/cop/minitest/assert_equal.rb#22
RuboCop::Cop::Minitest::AssertEqual::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
# Enforces the test to use `assert_in_delta`
@@ -231,7 +208,7 @@ class RuboCop::Cop::Minitest::AssertIncludes < ::RuboCop::Cop::Base
extend ::RuboCop::Cop::MinitestCopRule
extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#58
+ # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#57
def autocorrect(corrector, node, arguments); end
# source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#46
@@ -239,20 +216,14 @@ class RuboCop::Cop::Minitest::AssertIncludes < ::RuboCop::Cop::Base
private
- # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#110
+ # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#95
def correct_receiver(receiver); end
- # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#106
- def enclosed_in_redundant_parentheses?(node); end
-
- # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#92
+ # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#81
def new_arguments(arguments); end
- # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#78
+ # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#67
def offense_message(arguments); end
-
- # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#72
- def peel_redundant_parentheses_from(arguments); end
end
# source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#43
@@ -302,18 +273,23 @@ RuboCop::Cop::Minitest::AssertInstanceOf::RESTRICT_ON_SEND = T.let(T.unsafe(nil)
# assert(object.kind_of?(Class))
# assert(object.kind_of?(Class), 'message')
#
+# # bad
+# # `is_a?` is an alias for `kind_of?`
+# assert(object.is_a?(Class))
+# assert(object.is_a?(Class), 'message')
+#
# # good
# assert_kind_of(Class, object)
# assert_kind_of(Class, object, 'message')
#
-# source://rubocop-minitest//lib/rubocop/cop/minitest/assert_kind_of.rb#18
+# source://rubocop-minitest//lib/rubocop/cop/minitest/assert_kind_of.rb#23
class RuboCop::Cop::Minitest::AssertKindOf < ::RuboCop::Cop::Base
include ::RuboCop::Cop::RangeHelp
include ::RuboCop::Cop::ArgumentRangeHelper
extend ::RuboCop::Cop::MinitestCopRule
extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#58
+ # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#57
def autocorrect(corrector, node, arguments); end
# source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#46
@@ -321,20 +297,14 @@ class RuboCop::Cop::Minitest::AssertKindOf < ::RuboCop::Cop::Base
private
- # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#110
+ # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#95
def correct_receiver(receiver); end
- # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#106
- def enclosed_in_redundant_parentheses?(node); end
-
- # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#92
+ # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#81
def new_arguments(arguments); end
- # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#78
+ # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#67
def offense_message(arguments); end
-
- # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#72
- def peel_redundant_parentheses_from(arguments); end
end
# source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#43
@@ -351,47 +321,35 @@ RuboCop::Cop::Minitest::AssertKindOf::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Ar
# assert(matcher.match(string))
# assert(matcher.match?(string))
# assert(matcher =~ string)
+# assert_operator(matcher, :=~, string)
# assert(matcher.match(string), 'message')
#
# # good
# assert_match(regex, string)
# assert_match(matcher, string, 'message')
#
-# source://rubocop-minitest//lib/rubocop/cop/minitest/assert_match.rb#20
+# source://rubocop-minitest//lib/rubocop/cop/minitest/assert_match.rb#21
class RuboCop::Cop::Minitest::AssertMatch < ::RuboCop::Cop::Base
include ::RuboCop::Cop::RangeHelp
include ::RuboCop::Cop::ArgumentRangeHelper
- extend ::RuboCop::Cop::MinitestCopRule
extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#58
- def autocorrect(corrector, node, arguments); end
+ # source://rubocop-minitest//lib/rubocop/cop/minitest/assert_match.rb#28
+ def assert_match(param0 = T.unsafe(nil)); end
- # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#46
+ # source://rubocop-minitest//lib/rubocop/cop/minitest/assert_match.rb#36
def on_send(node); end
private
- # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#110
- def correct_receiver(receiver); end
-
- # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#106
- def enclosed_in_redundant_parentheses?(node); end
-
- # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#92
- def new_arguments(arguments); end
-
- # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#78
- def offense_message(arguments); end
-
- # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#72
- def peel_redundant_parentheses_from(arguments); end
+ # source://rubocop-minitest//lib/rubocop/cop/minitest/assert_match.rb#59
+ def order_expected_and_actual(expected, actual); end
end
-# source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#43
+# source://rubocop-minitest//lib/rubocop/cop/minitest/assert_match.rb#25
RuboCop::Cop::Minitest::AssertMatch::MSG = T.let(T.unsafe(nil), String)
-# source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#44
+# source://rubocop-minitest//lib/rubocop/cop/minitest/assert_match.rb#26
RuboCop::Cop::Minitest::AssertMatch::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
# Enforces the test to use `assert_nil` instead of using
@@ -435,6 +393,41 @@ RuboCop::Cop::Minitest::AssertNil::ASSERTION_TYPE = T.let(T.unsafe(nil), String)
# source://rubocop-minitest//lib/rubocop/cop/minitest/assert_nil.rb#28
RuboCop::Cop::Minitest::AssertNil::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
+# Enforces the use of `assert_operator(expected, :<, actual)` over `assert(expected < actual)`.
+#
+# @example
+#
+# # bad
+# assert(expected < actual)
+#
+# # good
+# assert_operator(expected, :<, actual)
+#
+# source://rubocop-minitest//lib/rubocop/cop/minitest/assert_operator.rb#16
+class RuboCop::Cop::Minitest::AssertOperator < ::RuboCop::Cop::Base
+ extend ::RuboCop::Cop::AutoCorrector
+
+ # source://rubocop-minitest//lib/rubocop/cop/minitest/assert_operator.rb#23
+ def on_send(node); end
+
+ private
+
+ # source://rubocop-minitest//lib/rubocop/cop/minitest/assert_operator.rb#41
+ def build_new_arguments(node); end
+
+ # source://rubocop-minitest//lib/rubocop/cop/minitest/assert_operator.rb#52
+ def range_of_arguments(node); end
+end
+
+# source://rubocop-minitest//lib/rubocop/cop/minitest/assert_operator.rb#21
+RuboCop::Cop::Minitest::AssertOperator::ALLOWED_OPERATORS = T.let(T.unsafe(nil), Array)
+
+# source://rubocop-minitest//lib/rubocop/cop/minitest/assert_operator.rb#19
+RuboCop::Cop::Minitest::AssertOperator::MSG = T.let(T.unsafe(nil), String)
+
+# source://rubocop-minitest//lib/rubocop/cop/minitest/assert_operator.rb#20
+RuboCop::Cop::Minitest::AssertOperator::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
+
# Checks for opportunities to use `assert_output`.
#
# @example
@@ -496,8 +489,8 @@ class RuboCop::Cop::Minitest::AssertPathExists < ::RuboCop::Cop::Base
private
- # source://rubocop-minitest//lib/rubocop/cop/minitest/assert_path_exists.rb#44
- def build_good_method(path, message); end
+ # source://rubocop-minitest//lib/rubocop/cop/minitest/assert_path_exists.rb#45
+ def build_good_method(node, path, message); end
end
# source://rubocop-minitest//lib/rubocop/cop/minitest/assert_path_exists.rb#20
@@ -628,7 +621,7 @@ class RuboCop::Cop::Minitest::AssertRespondTo < ::RuboCop::Cop::Base
extend ::RuboCop::Cop::MinitestCopRule
extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#58
+ # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#57
def autocorrect(corrector, node, arguments); end
# source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#46
@@ -636,20 +629,14 @@ class RuboCop::Cop::Minitest::AssertRespondTo < ::RuboCop::Cop::Base
private
- # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#110
+ # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#95
def correct_receiver(receiver); end
- # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#106
- def enclosed_in_redundant_parentheses?(node); end
-
- # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#92
+ # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#81
def new_arguments(arguments); end
- # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#78
+ # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#67
def offense_message(arguments); end
-
- # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#72
- def peel_redundant_parentheses_from(arguments); end
end
# source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#43
@@ -667,45 +654,37 @@ RuboCop::Cop::Minitest::AssertRespondTo::RESTRICT_ON_SEND = T.let(T.unsafe(nil),
# @example
# # bad
# assert(expected.equal?(actual))
+# assert_equal(expected.object_id, actual.object_id)
#
# # good
# assert_same(expected, actual)
#
-# source://rubocop-minitest//lib/rubocop/cop/minitest/assert_same.rb#19
+# source://rubocop-minitest//lib/rubocop/cop/minitest/assert_same.rb#20
class RuboCop::Cop::Minitest::AssertSame < ::RuboCop::Cop::Base
- include ::RuboCop::Cop::RangeHelp
- include ::RuboCop::Cop::ArgumentRangeHelper
- extend ::RuboCop::Cop::MinitestCopRule
extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#58
- def autocorrect(corrector, node, arguments); end
+ # source://rubocop-minitest//lib/rubocop/cop/minitest/assert_same.rb#32
+ def assert_equal_with_object_id?(param0 = T.unsafe(nil)); end
- # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#46
+ # source://rubocop-minitest//lib/rubocop/cop/minitest/assert_same.rb#26
+ def assert_with_equal?(param0 = T.unsafe(nil)); end
+
+ # source://rubocop-minitest//lib/rubocop/cop/minitest/assert_same.rb#40
def on_send(node); end
private
- # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#110
- def correct_receiver(receiver); end
-
- # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#106
- def enclosed_in_redundant_parentheses?(node); end
-
- # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#92
- def new_arguments(arguments); end
-
- # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#78
- def offense_message(arguments); end
+ # source://rubocop-minitest//lib/rubocop/cop/minitest/assert_same.rb#58
+ def message(expected_node, actual_node, message_node); end
- # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#72
- def peel_redundant_parentheses_from(arguments); end
+ # source://rubocop-minitest//lib/rubocop/cop/minitest/assert_same.rb#63
+ def remove_method_call(send_node, corrector); end
end
-# source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#43
+# source://rubocop-minitest//lib/rubocop/cop/minitest/assert_same.rb#23
RuboCop::Cop::Minitest::AssertSame::MSG = T.let(T.unsafe(nil), String)
-# source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#44
+# source://rubocop-minitest//lib/rubocop/cop/minitest/assert_same.rb#24
RuboCop::Cop::Minitest::AssertSame::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
# Enforces the test to use `assert_silent { ... }`
@@ -1209,11 +1188,16 @@ class RuboCop::Cop::Minitest::LiteralAsActualArgument < ::RuboCop::Cop::Base
include ::RuboCop::Cop::ArgumentRangeHelper
extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop-minitest//lib/rubocop/cop/minitest/literal_as_actual_argument.rb#39
- def autocorrect(corrector, node, expected, actual, message); end
-
# source://rubocop-minitest//lib/rubocop/cop/minitest/literal_as_actual_argument.rb#27
def on_send(node); end
+
+ private
+
+ # source://rubocop-minitest//lib/rubocop/cop/minitest/literal_as_actual_argument.rb#41
+ def autocorrect(corrector, node, expected, actual); end
+
+ # source://rubocop-minitest//lib/rubocop/cop/minitest/literal_as_actual_argument.rb#54
+ def wrap_with_parentheses(corrector, node); end
end
# source://rubocop-minitest//lib/rubocop/cop/minitest/literal_as_actual_argument.rb#24
@@ -1261,10 +1245,16 @@ class RuboCop::Cop::Minitest::MultipleAssertions < ::RuboCop::Cop::Base
# source://rubocop-minitest//lib/rubocop/cop/minitest/multiple_assertions.rb#53
def assertions_count(node); end
- # source://rubocop-minitest//lib/rubocop/cop/minitest/multiple_assertions.rb#72
- def assertions_count_in_branches(branches); end
+ # source://rubocop-minitest//lib/rubocop/cop/minitest/multiple_assertions.rb#61
+ def assertions_count_based_on_type(node); end
# source://rubocop-minitest//lib/rubocop/cop/minitest/multiple_assertions.rb#76
+ def assertions_count_in_assignment(node); end
+
+ # source://rubocop-minitest//lib/rubocop/cop/minitest/multiple_assertions.rb#94
+ def assertions_count_in_branches(branches); end
+
+ # source://rubocop-minitest//lib/rubocop/cop/minitest/multiple_assertions.rb#98
def max_assertions; end
end
@@ -1364,6 +1354,52 @@ end
# source://rubocop-minitest//lib/rubocop/cop/minitest/no_test_cases.rb#25
RuboCop::Cop::Minitest::NoTestCases::MSG = T.let(T.unsafe(nil), String)
+# Checks for the use of test methods outside of a test class.
+#
+# Test methods should be defined within a test class to ensure their execution.
+#
+# NOTE: This cop assumes that classes whose superclass name includes the word
+# "`Test`" are test classes, in order to prevent false positives.
+#
+# @example
+#
+# # bad
+# class FooTest < Minitest::Test
+# end
+# def test_method_should_be_inside_test_class
+# end
+#
+# # good
+# class FooTest < Minitest::Test
+# def test_method_should_be_inside_test_class
+# end
+# end
+#
+# source://rubocop-minitest//lib/rubocop/cop/minitest/non_executable_test_method.rb#27
+class RuboCop::Cop::Minitest::NonExecutableTestMethod < ::RuboCop::Cop::Base
+ include ::RuboCop::Cop::VisibilityHelp
+ include ::RuboCop::Cop::DefNode
+ include ::RuboCop::Cop::MinitestExplorationHelpers
+
+ # source://rubocop-minitest//lib/rubocop/cop/minitest/non_executable_test_method.rb#32
+ def on_def(node); end
+
+ private
+
+ # @return [Boolean]
+ #
+ # source://rubocop-minitest//lib/rubocop/cop/minitest/non_executable_test_method.rb#47
+ def possible_test_class?(node); end
+
+ # @return [Boolean]
+ #
+ # source://rubocop-minitest//lib/rubocop/cop/minitest/non_executable_test_method.rb#41
+ def use_test_class?; end
+end
+
+# source://rubocop-minitest//lib/rubocop/cop/minitest/non_executable_test_method.rb#30
+RuboCop::Cop::Minitest::NonExecutableTestMethod::MSG = T.let(T.unsafe(nil), String)
+
# Detects non `public` (marked as `private` or `protected`) test methods.
# Minitest runs only test methods which are `public`.
#
@@ -1420,7 +1456,7 @@ RuboCop::Cop::Minitest::NonPublicTestMethod::MSG = T.let(T.unsafe(nil), String)
module RuboCop::Cop::Minitest::PredicateAssertionHandleable
# @api private
#
- # source://rubocop-minitest//lib/rubocop/cop/mixin/predicate_assertion_handleable.rb#26
+ # source://rubocop-minitest//lib/rubocop/cop/mixin/predicate_assertion_handleable.rb#22
def autocorrect(corrector, node, arguments); end
# @api private
@@ -1432,28 +1468,23 @@ module RuboCop::Cop::Minitest::PredicateAssertionHandleable
# @api private
#
- # source://rubocop-minitest//lib/rubocop/cop/mixin/predicate_assertion_handleable.rb#61
+ # source://rubocop-minitest//lib/rubocop/cop/mixin/predicate_assertion_handleable.rb#51
def correct_receiver(receiver); end
# @api private
#
- # source://rubocop-minitest//lib/rubocop/cop/mixin/predicate_assertion_handleable.rb#54
+ # source://rubocop-minitest//lib/rubocop/cop/mixin/predicate_assertion_handleable.rb#44
def new_arguments(arguments); end
- # @api private
- #
- # source://rubocop-minitest//lib/rubocop/cop/mixin/predicate_assertion_handleable.rb#46
- def offense_message(arguments); end
-
# @api private
#
# source://rubocop-minitest//lib/rubocop/cop/mixin/predicate_assertion_handleable.rb#36
- def peel_redundant_parentheses_from(arguments); end
+ def offense_message(arguments); end
# @api private
# @return [Boolean]
#
- # source://rubocop-minitest//lib/rubocop/cop/mixin/predicate_assertion_handleable.rb#42
+ # source://rubocop-minitest//lib/rubocop/cop/mixin/predicate_assertion_handleable.rb#32
def predicate_method?(first_argument); end
end
@@ -1462,6 +1493,35 @@ end
# source://rubocop-minitest//lib/rubocop/cop/mixin/predicate_assertion_handleable.rb#9
RuboCop::Cop::Minitest::PredicateAssertionHandleable::MSG = T.let(T.unsafe(nil), String)
+# Detects redundant message argument in assertion methods.
+# The message argument `nil` is redundant because it is the default value.
+#
+# @example
+#
+# # bad
+# assert_equal(expected, actual, nil)
+#
+# # good
+# assert_equal(expected, actual)
+# assert_equal(expected, actual, 'message')
+#
+# source://rubocop-minitest//lib/rubocop/cop/minitest/redundant_message_argument.rb#18
+class RuboCop::Cop::Minitest::RedundantMessageArgument < ::RuboCop::Cop::Base
+ extend ::RuboCop::Cop::AutoCorrector
+
+ # source://rubocop-minitest//lib/rubocop/cop/minitest/redundant_message_argument.rb#71
+ def on_send(node); end
+
+ # source://rubocop-minitest//lib/rubocop/cop/minitest/redundant_message_argument.rb#34
+ def redundant_message_argument(param0 = T.unsafe(nil)); end
+end
+
+# source://rubocop-minitest//lib/rubocop/cop/minitest/redundant_message_argument.rb#21
+RuboCop::Cop::Minitest::RedundantMessageArgument::MSG = T.let(T.unsafe(nil), String)
+
+# source://rubocop-minitest//lib/rubocop/cop/minitest/redundant_message_argument.rb#23
+RuboCop::Cop::Minitest::RedundantMessageArgument::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
+
# Enforces to use `refute_empty` instead of using `refute(object.empty?)`.
#
# @example
@@ -1480,7 +1540,7 @@ class RuboCop::Cop::Minitest::RefuteEmpty < ::RuboCop::Cop::Base
extend ::RuboCop::Cop::MinitestCopRule
extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#58
+ # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#57
def autocorrect(corrector, node, arguments); end
# source://rubocop-minitest//lib/rubocop/cop/minitest/refute_empty.rb#23
@@ -1488,20 +1548,14 @@ class RuboCop::Cop::Minitest::RefuteEmpty < ::RuboCop::Cop::Base
private
- # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#110
+ # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#95
def correct_receiver(receiver); end
- # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#106
- def enclosed_in_redundant_parentheses?(node); end
-
- # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#92
+ # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#81
def new_arguments(arguments); end
- # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#78
+ # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#67
def offense_message(arguments); end
-
- # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#72
- def peel_redundant_parentheses_from(arguments); end
end
# source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#43
@@ -1516,39 +1570,30 @@ RuboCop::Cop::Minitest::RefuteEmpty::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Arr
# @example
# # bad
# assert("rubocop-minitest" != actual)
-# assert(! "rubocop-minitest" == actual)
+# refute("rubocop-minitest" == actual)
+# assert_operator("rubocop-minitest", :!=, actual)
+# refute_operator("rubocop-minitest", :==, actual)
#
# # good
# refute_equal("rubocop-minitest", actual)
#
-# source://rubocop-minitest//lib/rubocop/cop/minitest/refute_equal.rb#17
+# source://rubocop-minitest//lib/rubocop/cop/minitest/refute_equal.rb#19
class RuboCop::Cop::Minitest::RefuteEqual < ::RuboCop::Cop::Base
include ::RuboCop::Cop::RangeHelp
include ::RuboCop::Cop::ArgumentRangeHelper
extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop-minitest//lib/rubocop/cop/minitest/refute_equal.rb#24
- def assert_not_equal(param0 = T.unsafe(nil)); end
-
- # source://rubocop-minitest//lib/rubocop/cop/minitest/refute_equal.rb#28
+ # source://rubocop-minitest//lib/rubocop/cop/minitest/refute_equal.rb#36
def on_send(node); end
- private
-
- # source://rubocop-minitest//lib/rubocop/cop/minitest/refute_equal.rb#50
- def original_usage(first_part, custom_message); end
-
- # source://rubocop-minitest//lib/rubocop/cop/minitest/refute_equal.rb#46
- def preferred_usage(first_arg, second_arg, custom_message = T.unsafe(nil)); end
-
- # source://rubocop-minitest//lib/rubocop/cop/minitest/refute_equal.rb#54
- def process_not_equal(node); end
+ # source://rubocop-minitest//lib/rubocop/cop/minitest/refute_equal.rb#26
+ def refute_equal(param0 = T.unsafe(nil)); end
end
-# source://rubocop-minitest//lib/rubocop/cop/minitest/refute_equal.rb#21
+# source://rubocop-minitest//lib/rubocop/cop/minitest/refute_equal.rb#23
RuboCop::Cop::Minitest::RefuteEqual::MSG = T.let(T.unsafe(nil), String)
-# source://rubocop-minitest//lib/rubocop/cop/minitest/refute_equal.rb#22
+# source://rubocop-minitest//lib/rubocop/cop/minitest/refute_equal.rb#24
RuboCop::Cop::Minitest::RefuteEqual::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
# Enforces the use of `refute(object)` over `assert_equal(false, object)`.
@@ -1638,7 +1683,7 @@ class RuboCop::Cop::Minitest::RefuteIncludes < ::RuboCop::Cop::Base
extend ::RuboCop::Cop::MinitestCopRule
extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#58
+ # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#57
def autocorrect(corrector, node, arguments); end
# source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#46
@@ -1646,20 +1691,14 @@ class RuboCop::Cop::Minitest::RefuteIncludes < ::RuboCop::Cop::Base
private
- # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#110
+ # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#95
def correct_receiver(receiver); end
- # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#106
- def enclosed_in_redundant_parentheses?(node); end
-
- # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#92
+ # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#81
def new_arguments(arguments); end
- # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#78
+ # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#67
def offense_message(arguments); end
-
- # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#72
- def peel_redundant_parentheses_from(arguments); end
end
# source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#43
@@ -1709,18 +1748,23 @@ RuboCop::Cop::Minitest::RefuteInstanceOf::RESTRICT_ON_SEND = T.let(T.unsafe(nil)
# refute(object.kind_of?(Class))
# refute(object.kind_of?(Class), 'message')
#
+# # bad
+# # `is_a?` is an alias for `kind_of?`
+# refute(object.is_of?(Class))
+# refute(object.is_of?(Class), 'message')
+#
# # good
# refute_kind_of(Class, object)
# refute_kind_of(Class, object, 'message')
#
-# source://rubocop-minitest//lib/rubocop/cop/minitest/refute_kind_of.rb#18
+# source://rubocop-minitest//lib/rubocop/cop/minitest/refute_kind_of.rb#23
class RuboCop::Cop::Minitest::RefuteKindOf < ::RuboCop::Cop::Base
include ::RuboCop::Cop::RangeHelp
include ::RuboCop::Cop::ArgumentRangeHelper
extend ::RuboCop::Cop::MinitestCopRule
extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#58
+ # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#57
def autocorrect(corrector, node, arguments); end
# source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#46
@@ -1728,20 +1772,14 @@ class RuboCop::Cop::Minitest::RefuteKindOf < ::RuboCop::Cop::Base
private
- # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#110
+ # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#95
def correct_receiver(receiver); end
- # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#106
- def enclosed_in_redundant_parentheses?(node); end
-
- # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#92
+ # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#81
def new_arguments(arguments); end
- # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#78
+ # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#67
def offense_message(arguments); end
-
- # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#72
- def peel_redundant_parentheses_from(arguments); end
end
# source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#43
@@ -1758,47 +1796,36 @@ RuboCop::Cop::Minitest::RefuteKindOf::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Ar
# refute(matcher.match(string))
# refute(matcher.match?(string))
# refute(matcher =~ string)
+# refute_operator(matcher, :=~, string)
+# assert_operator(matcher, :!~, string)
# refute(matcher.match(string), 'message')
#
# # good
# refute_match(matcher, string)
# refute_match(matcher, string, 'message')
#
-# source://rubocop-minitest//lib/rubocop/cop/minitest/refute_match.rb#20
+# source://rubocop-minitest//lib/rubocop/cop/minitest/refute_match.rb#22
class RuboCop::Cop::Minitest::RefuteMatch < ::RuboCop::Cop::Base
include ::RuboCop::Cop::RangeHelp
include ::RuboCop::Cop::ArgumentRangeHelper
- extend ::RuboCop::Cop::MinitestCopRule
extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#58
- def autocorrect(corrector, node, arguments); end
-
- # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#46
+ # source://rubocop-minitest//lib/rubocop/cop/minitest/refute_match.rb#38
def on_send(node); end
- private
-
- # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#110
- def correct_receiver(receiver); end
-
- # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#106
- def enclosed_in_redundant_parentheses?(node); end
-
- # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#92
- def new_arguments(arguments); end
+ # source://rubocop-minitest//lib/rubocop/cop/minitest/refute_match.rb#29
+ def refute_match(param0 = T.unsafe(nil)); end
- # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#78
- def offense_message(arguments); end
+ private
- # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#72
- def peel_redundant_parentheses_from(arguments); end
+ # source://rubocop-minitest//lib/rubocop/cop/minitest/refute_match.rb#61
+ def order_expected_and_actual(expected, actual); end
end
-# source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#43
+# source://rubocop-minitest//lib/rubocop/cop/minitest/refute_match.rb#26
RuboCop::Cop::Minitest::RefuteMatch::MSG = T.let(T.unsafe(nil), String)
-# source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#44
+# source://rubocop-minitest//lib/rubocop/cop/minitest/refute_match.rb#27
RuboCop::Cop::Minitest::RefuteMatch::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
# Enforces the test to use `refute_nil` instead of using
@@ -1842,6 +1869,41 @@ RuboCop::Cop::Minitest::RefuteNil::ASSERTION_TYPE = T.let(T.unsafe(nil), String)
# source://rubocop-minitest//lib/rubocop/cop/minitest/refute_nil.rb#28
RuboCop::Cop::Minitest::RefuteNil::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
+# Enforces the use of `refute_operator(expected, :<, actual)` over `refute(expected < actual)`.
+#
+# @example
+#
+# # bad
+# refute(expected < actual)
+#
+# # good
+# refute_operator(expected, :<, actual)
+#
+# source://rubocop-minitest//lib/rubocop/cop/minitest/refute_operator.rb#16
+class RuboCop::Cop::Minitest::RefuteOperator < ::RuboCop::Cop::Base
+ extend ::RuboCop::Cop::AutoCorrector
+
+ # source://rubocop-minitest//lib/rubocop/cop/minitest/refute_operator.rb#23
+ def on_send(node); end
+
+ private
+
+ # source://rubocop-minitest//lib/rubocop/cop/minitest/refute_operator.rb#41
+ def build_new_arguments(node); end
+
+ # source://rubocop-minitest//lib/rubocop/cop/minitest/refute_operator.rb#52
+ def range_of_arguments(node); end
+end
+
+# source://rubocop-minitest//lib/rubocop/cop/minitest/refute_operator.rb#21
+RuboCop::Cop::Minitest::RefuteOperator::ALLOWED_OPERATORS = T.let(T.unsafe(nil), Array)
+
+# source://rubocop-minitest//lib/rubocop/cop/minitest/refute_operator.rb#19
+RuboCop::Cop::Minitest::RefuteOperator::MSG = T.let(T.unsafe(nil), String)
+
+# source://rubocop-minitest//lib/rubocop/cop/minitest/refute_operator.rb#20
+RuboCop::Cop::Minitest::RefuteOperator::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
+
# Enforces the test to use `refute_path_exists` instead of using `refute(File.exist?(path))`.
#
# @example
@@ -1865,8 +1927,8 @@ class RuboCop::Cop::Minitest::RefutePathExists < ::RuboCop::Cop::Base
private
- # source://rubocop-minitest//lib/rubocop/cop/minitest/refute_path_exists.rb#44
- def build_good_method(path, message); end
+ # source://rubocop-minitest//lib/rubocop/cop/minitest/refute_path_exists.rb#45
+ def build_good_method(node, path, message); end
end
# source://rubocop-minitest//lib/rubocop/cop/minitest/refute_path_exists.rb#20
@@ -1927,7 +1989,7 @@ class RuboCop::Cop::Minitest::RefuteRespondTo < ::RuboCop::Cop::Base
extend ::RuboCop::Cop::MinitestCopRule
extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#58
+ # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#57
def autocorrect(corrector, node, arguments); end
# source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#46
@@ -1935,20 +1997,14 @@ class RuboCop::Cop::Minitest::RefuteRespondTo < ::RuboCop::Cop::Base
private
- # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#110
+ # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#95
def correct_receiver(receiver); end
- # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#106
- def enclosed_in_redundant_parentheses?(node); end
-
- # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#92
+ # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#81
def new_arguments(arguments); end
- # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#78
+ # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#67
def offense_message(arguments); end
-
- # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#72
- def peel_redundant_parentheses_from(arguments); end
end
# source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#43
@@ -1966,45 +2022,37 @@ RuboCop::Cop::Minitest::RefuteRespondTo::RESTRICT_ON_SEND = T.let(T.unsafe(nil),
# @example
# # bad
# refute(expected.equal?(actual))
+# refute_equal(expected.object_id, actual.object_id)
#
# # good
# refute_same(expected, actual)
#
-# source://rubocop-minitest//lib/rubocop/cop/minitest/refute_same.rb#19
+# source://rubocop-minitest//lib/rubocop/cop/minitest/refute_same.rb#20
class RuboCop::Cop::Minitest::RefuteSame < ::RuboCop::Cop::Base
- include ::RuboCop::Cop::RangeHelp
- include ::RuboCop::Cop::ArgumentRangeHelper
- extend ::RuboCop::Cop::MinitestCopRule
extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#58
- def autocorrect(corrector, node, arguments); end
-
- # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#46
+ # source://rubocop-minitest//lib/rubocop/cop/minitest/refute_same.rb#40
def on_send(node); end
- private
-
- # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#110
- def correct_receiver(receiver); end
+ # source://rubocop-minitest//lib/rubocop/cop/minitest/refute_same.rb#32
+ def refute_equal_with_object_id?(param0 = T.unsafe(nil)); end
- # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#106
- def enclosed_in_redundant_parentheses?(node); end
+ # source://rubocop-minitest//lib/rubocop/cop/minitest/refute_same.rb#26
+ def refute_with_equal?(param0 = T.unsafe(nil)); end
- # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#92
- def new_arguments(arguments); end
+ private
- # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#78
- def offense_message(arguments); end
+ # source://rubocop-minitest//lib/rubocop/cop/minitest/refute_same.rb#58
+ def message(expected_node, actual_node, message_node); end
- # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#72
- def peel_redundant_parentheses_from(arguments); end
+ # source://rubocop-minitest//lib/rubocop/cop/minitest/refute_same.rb#63
+ def remove_method_call(send_node, corrector); end
end
-# source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#43
+# source://rubocop-minitest//lib/rubocop/cop/minitest/refute_same.rb#23
RuboCop::Cop::Minitest::RefuteSame::MSG = T.let(T.unsafe(nil), String)
-# source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_cop_rule.rb#44
+# source://rubocop-minitest//lib/rubocop/cop/minitest/refute_same.rb#24
RuboCop::Cop::Minitest::RefuteSame::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
# Enforces the use of `skip` instead of `return` in test methods.
@@ -2409,7 +2457,7 @@ module RuboCop::Cop::MinitestExplorationHelpers
# @api private
# @return [Boolean]
#
- # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_exploration_helpers.rb#102
+ # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_exploration_helpers.rb#103
def assertion_method?(node); end
# @api private
@@ -2430,7 +2478,7 @@ module RuboCop::Cop::MinitestExplorationHelpers
# @api private
# @return [Boolean]
#
- # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_exploration_helpers.rb#113
+ # source://rubocop-minitest//lib/rubocop/cop/mixin/minitest_exploration_helpers.rb#116
def lifecycle_hook_method?(node); end
# @api private
diff --git a/sorbet/rbi/gems/rubocop-shopify@2.13.0.rbi b/sorbet/rbi/gems/rubocop-shopify@2.15.1.rbi
similarity index 100%
rename from sorbet/rbi/gems/rubocop-shopify@2.13.0.rbi
rename to sorbet/rbi/gems/rubocop-shopify@2.15.1.rbi
diff --git a/sorbet/rbi/gems/rubocop-sorbet@0.7.0.rbi b/sorbet/rbi/gems/rubocop-sorbet@0.7.7.rbi
similarity index 52%
rename from sorbet/rbi/gems/rubocop-sorbet@0.7.0.rbi
rename to sorbet/rbi/gems/rubocop-sorbet@0.7.7.rbi
index 63d013ee0..53c385239 100644
--- a/sorbet/rbi/gems/rubocop-sorbet@0.7.0.rbi
+++ b/sorbet/rbi/gems/rubocop-sorbet@0.7.7.rbi
@@ -4,19 +4,19 @@
# This is an autogenerated file for types exported from the `rubocop-sorbet` gem.
# Please instead update this file by running `bin/tapioca gem rubocop-sorbet`.
-# source://rubocop-sorbet//lib/rubocop/sorbet/version.rb#2
+# source://rubocop-sorbet//lib/rubocop/sorbet/version.rb#3
module RuboCop; end
-# source://rubocop-sorbet//lib/rubocop/cop/sorbet/binding_constants_without_type_alias.rb#6
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/mixin/target_sorbet_version.rb#4
module RuboCop::Cop; end
-# source://rubocop-sorbet//lib/rubocop/cop/sorbet/binding_constants_without_type_alias.rb#7
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/mixin/target_sorbet_version.rb#5
module RuboCop::Cop::Sorbet; end
-# This cop disallows using `.override(allow_incompatible: true)`.
+# Disallows using `.override(allow_incompatible: true)`.
# Using `allow_incompatible` suggests a violation of the Liskov
# Substitution Principle, meaning that a subclass is not a valid
-# subtype of it's superclass. This Cop prevents these design smells
+# subtype of its superclass. This Cop prevents these design smells
# from occurring.
#
# @example
@@ -28,26 +28,33 @@ module RuboCop::Cop::Sorbet; end
# sig.override
#
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/allow_incompatible_override.rb#21
-class RuboCop::Cop::Sorbet::AllowIncompatibleOverride < ::RuboCop::Cop::Cop
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/allow_incompatible_override.rb#35
- def allow_incompatible?(param0); end
-
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/allow_incompatible_override.rb#39
- def allow_incompatible_override?(param0 = T.unsafe(nil)); end
+class RuboCop::Cop::Sorbet::AllowIncompatibleOverride < ::RuboCop::Cop::Base
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/allow_incompatible_override.rb#55
+ def on_block(node); end
- # @return [Boolean]
- #
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/allow_incompatible_override.rb#31
- def not_nil?(node); end
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/allow_incompatible_override.rb#55
+ def on_numblock(node); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/allow_incompatible_override.rb#48
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/allow_incompatible_override.rb#49
def on_send(node); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/allow_incompatible_override.rb#22
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/allow_incompatible_override.rb#41
+ def override?(param0 = T.unsafe(nil)); end
+
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/allow_incompatible_override.rb#36
def sig?(param0); end
+
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/allow_incompatible_override.rb#27
+ def sig_dot_override?(param0 = T.unsafe(nil)); end
end
-# This cop disallows binding the return value of `T.any`, `T.all`, `T.enum`
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/allow_incompatible_override.rb#22
+RuboCop::Cop::Sorbet::AllowIncompatibleOverride::MSG = T.let(T.unsafe(nil), String)
+
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/allow_incompatible_override.rb#24
+RuboCop::Cop::Sorbet::AllowIncompatibleOverride::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
+
+# Disallows binding the return value of `T.any`, `T.all`, `T.enum`
# to a constant directly. To bind the value, one must use `T.type_alias`.
#
# @example
@@ -58,60 +65,101 @@ end
# # good
# FooOrBar = T.type_alias { T.any(Foo, Bar) }
#
-# source://rubocop-sorbet//lib/rubocop/cop/sorbet/binding_constants_without_type_alias.rb#18
-class RuboCop::Cop::Sorbet::BindingConstantWithoutTypeAlias < ::RuboCop::Cop::Cop
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/binding_constants_without_type_alias.rb#116
- def autocorrect(node); end
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/binding_constant_without_type_alias.rb#18
+class RuboCop::Cop::Sorbet::BindingConstantWithoutTypeAlias < ::RuboCop::Cop::Base
+ extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/binding_constants_without_type_alias.rb#19
- def binding_unaliased_type?(param0 = T.unsafe(nil)); end
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/binding_constant_without_type_alias.rb#65
+ def on_casgn(node); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/binding_constants_without_type_alias.rb#51
- def dynamic_type_creation_with_block?(param0 = T.unsafe(nil)); end
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/binding_constant_without_type_alias.rb#48
+ def requires_type_alias?(param0 = T.unsafe(nil)); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/binding_constants_without_type_alias.rb#66
- def generic_parameter_decl_block_call?(param0 = T.unsafe(nil)); end
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/binding_constant_without_type_alias.rb#38
+ def type_alias_with_block?(param0 = T.unsafe(nil)); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/binding_constants_without_type_alias.rb#60
- def generic_parameter_decl_call?(param0 = T.unsafe(nil)); end
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/binding_constant_without_type_alias.rb#29
+ def type_alias_without_block(param0 = T.unsafe(nil)); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/binding_constants_without_type_alias.rb#72
- def method_needing_aliasing_on_t?(param0); end
+ private
- # @return [Boolean]
+ # Given nested send nodes, returns the leaf with explicit receiver.
#
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/binding_constants_without_type_alias.rb#85
- def not_dynamic_type_creation_with_block?(node); end
-
- # @return [Boolean]
+ # i.e. in Ruby
#
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/binding_constants_without_type_alias.rb#89
- def not_generic_parameter_decl?(node); end
-
- # @return [Boolean]
+ # a.b.c.d.e.f
+ # ^^^
#
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/binding_constants_without_type_alias.rb#93
- def not_nil?(node); end
-
- # @return [Boolean]
+ # i.e. in AST
+ #
+ # (send (send (send (send (send (send nil :a) :b) :c) :d) :e) :f)
+ # ^^^^^^^^^^^^^^^^^^^^^^^
#
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/binding_constants_without_type_alias.rb#81
- def not_t_let?(node); end
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/binding_constant_without_type_alias.rb#98
+ def send_leaf(node); end
+end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/binding_constants_without_type_alias.rb#97
- def on_casgn(node); end
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/binding_constant_without_type_alias.rb#21
+RuboCop::Cop::Sorbet::BindingConstantWithoutTypeAlias::MSG = T.let(T.unsafe(nil), String)
+
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/binding_constant_without_type_alias.rb#23
+RuboCop::Cop::Sorbet::BindingConstantWithoutTypeAlias::WITHOUT_BLOCK_MSG = T.let(T.unsafe(nil), String)
+
+# Checks for the a mistaken variant of the "obsolete memoization pattern" that used to be required
+# on every call, causing the memoized value to be discarded and recomputed on every call.
+#
+# This cop will correct it to read from the ivar instead of `nil`, which will memoize it correctly.
+#
+# The result of this correction will be the "obsolete memoization pattern", which can further be corrected by
+# the `Sorbet/ObsoleteStrictMemoization` cop.
+#
+# See `Sorbet/ObsoleteStrictMemoization` for more details.
+#
+# @example
+# # bad
+# sig { returns(Foo) }
+# def foo
+# # This `nil` is likely a mistake, causing the memoized value to be discarded and recomputed on every call.
+# @foo = T.let(nil, T.nilable(Foo))
+# @foo ||= some_computation
+# end
+#
+# # good
+# sig { returns(Foo) }
+# def foo
+# # This will now memoize the value as was likely intended, so `some_computation` is only ever called once.
+# # ⚠️If `some_computation` has side effects, this might be a breaking change!
+# @foo = T.let(@foo, T.nilable(Foo))
+# @foo ||= some_computation
+# end
+# @see Sorbet/ObsoleteStrictMemoization
+#
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/buggy_obsolete_strict_memoization.rb#42
+class RuboCop::Cop::Sorbet::BuggyObsoleteStrictMemoization < ::RuboCop::Cop::Base
+ include ::RuboCop::Cop::RangeHelp
+ include ::RuboCop::Cop::MatchRange
+ include ::RuboCop::Cop::Alignment
+ include ::RuboCop::Cop::LineLengthHelp
+ include ::RuboCop::Cop::Sorbet::TargetSorbetVersion
+ extend ::RuboCop::Cop::AutoCorrector
+ extend ::RuboCop::Cop::Sorbet::TargetSorbetVersion::ClassMethods
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/binding_constants_without_type_alias.rb#41
- def t_let?(param0 = T.unsafe(nil)); end
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/buggy_obsolete_strict_memoization.rb#55
+ def buggy_legacy_memoization_pattern?(param0 = T.unsafe(nil)); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/binding_constants_without_type_alias.rb#32
- def using_deprecated_type_alias_syntax?(param0 = T.unsafe(nil)); end
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/buggy_obsolete_strict_memoization.rb#66
+ def on_begin(node); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/binding_constants_without_type_alias.rb#23
- def using_type_alias?(param0 = T.unsafe(nil)); end
+ # @return [Boolean]
+ #
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/buggy_obsolete_strict_memoization.rb#77
+ def relevant_file?(file); end
end
-# This cop ensures that callback conditionals are bound to the right type
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/buggy_obsolete_strict_memoization.rb#51
+RuboCop::Cop::Sorbet::BuggyObsoleteStrictMemoization::MSG = T.let(T.unsafe(nil), String)
+
+# Ensures that callback conditionals are bound to the right type
# so that they are type checked properly.
#
# Auto-correction is unsafe because other libraries define similar style callbacks as Rails, but don't always need
@@ -143,17 +191,17 @@ end
#
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/callback_conditionals_binding.rb#35
class RuboCop::Cop::Sorbet::CallbackConditionalsBinding < ::RuboCop::Cop::Cop
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/callback_conditionals_binding.rb#47
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/callback_conditionals_binding.rb#75
def autocorrect(node); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/callback_conditionals_binding.rb#99
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/callback_conditionals_binding.rb#127
def on_send(node); end
end
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/callback_conditionals_binding.rb#36
RuboCop::Cop::Sorbet::CallbackConditionalsBinding::CALLBACKS = T.let(T.unsafe(nil), Array)
-# This cop disallows the usage of `checked(true)`. This usage could cause
+# Disallows the usage of `checked(true)`. This usage could cause
# confusion; it could lead some people to believe that a method would be checked
# even if runtime checks have not been enabled on the class or globally.
# Additionally, in the event where checks are enabled, `checked(true)` would
@@ -167,21 +215,22 @@ RuboCop::Cop::Sorbet::CallbackConditionalsBinding::CALLBACKS = T.let(T.unsafe(ni
# # good
# sig { void }
#
-# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/checked_true_in_signature.rb#22
-class RuboCop::Cop::Sorbet::CheckedTrueInSignature < ::RuboCop::Cop::Sorbet::SignatureCop
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/checked_true_in_signature.rb#19
+class RuboCop::Cop::Sorbet::CheckedTrueInSignature < ::RuboCop::Cop::Cop
include ::RuboCop::Cop::RangeHelp
+ include ::RuboCop::Cop::Sorbet::SignatureHelp
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/checked_true_in_signature.rb#25
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/checked_true_in_signature.rb#24
def offending_node(param0); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/checked_true_in_signature.rb#36
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/checked_true_in_signature.rb#35
def on_signature(node); end
end
-# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/checked_true_in_signature.rb#29
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/checked_true_in_signature.rb#28
RuboCop::Cop::Sorbet::CheckedTrueInSignature::MESSAGE = T.let(T.unsafe(nil), String)
-# This cop disallows the calls that are used to get constants fom Strings
+# Disallows the calls that are used to get constants fom Strings
# such as +constantize+, +const_get+, and +constants+.
#
# The goal of this cop is to make the code easier to statically analyze,
@@ -210,21 +259,18 @@ RuboCop::Cop::Sorbet::CheckedTrueInSignature::MESSAGE = T.let(T.unsafe(nil), Str
# # good
# { "User" => User }.fetch(class_name)
#
-# source://rubocop-sorbet//lib/rubocop/cop/sorbet/constants_from_strings.rb#36
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/constants_from_strings.rb#37
class RuboCop::Cop::Sorbet::ConstantsFromStrings < ::RuboCop::Cop::Cop
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/constants_from_strings.rb#37
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/constants_from_strings.rb#38
def constant_from_string?(param0 = T.unsafe(nil)); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/constants_from_strings.rb#41
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/constants_from_strings.rb#42
def on_send(node); end
end
-# This cop checks for blank lines after signatures.
-#
-# It also suggests an autocorrect
+# Checks for blank lines after signatures.
#
# @example
-#
# # bad
# sig { void }
#
@@ -234,23 +280,31 @@ end
# sig { void }
# def foo; end
#
-# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/empty_line_after_sig.rb#23
-class RuboCop::Cop::Sorbet::EmptyLineAfterSig < ::RuboCop::Cop::Sorbet::SignatureCop
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/empty_line_after_sig.rb#17
+class RuboCop::Cop::Sorbet::EmptyLineAfterSig < ::RuboCop::Cop::Base
include ::RuboCop::Cop::RangeHelp
+ include ::RuboCop::Cop::Sorbet::SignatureHelp
+ extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/empty_line_after_sig.rb#33
- def autocorrect(node); end
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/empty_line_after_sig.rb#34
+ def on_signature(sig); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/empty_line_after_sig.rb#26
- def on_signature(node); end
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/empty_line_after_sig.rb#25
+ def sig_or_signable_method_definition?(param0 = T.unsafe(nil)); end
private
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/empty_line_after_sig.rb#48
- def next_method(node); end
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/empty_line_after_sig.rb#57
+ def lines_between(node1, node2, buffer: T.unsafe(nil)); end
+
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/empty_line_after_sig.rb#53
+ def next_sibling(node); end
end
-# This cop checks that the Sorbet sigil comes as the first magic comment in the file.
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/empty_line_after_sig.rb#22
+RuboCop::Cop::Sorbet::EmptyLineAfterSig::MSG = T.let(T.unsafe(nil), String)
+
+# Checks that the Sorbet sigil comes as the first magic comment in the file.
#
# The expected order for magic comments is: (en)?coding, typed, warn_indent then frozen_string_literal.
#
@@ -283,31 +337,31 @@ class RuboCop::Cop::Sorbet::EnforceSigilOrder < ::RuboCop::Cop::Sorbet::ValidSig
# checks
#
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/enforce_sigil_order.rb#91
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/enforce_sigil_order.rb#92
def check_magic_comments_order(tokens); end
# Get all the tokens in `processed_source` that match `MAGIC_REGEX`
#
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/enforce_sigil_order.rb#83
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/enforce_sigil_order.rb#84
def extract_magic_comments(processed_source); end
end
-# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/enforce_sigil_order.rb#67
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/enforce_sigil_order.rb#68
RuboCop::Cop::Sorbet::EnforceSigilOrder::CODING_REGEX = T.let(T.unsafe(nil), Regexp)
-# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/enforce_sigil_order.rb#69
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/enforce_sigil_order.rb#70
RuboCop::Cop::Sorbet::EnforceSigilOrder::FROZEN_REGEX = T.let(T.unsafe(nil), Regexp)
-# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/enforce_sigil_order.rb#68
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/enforce_sigil_order.rb#69
RuboCop::Cop::Sorbet::EnforceSigilOrder::INDENT_REGEX = T.let(T.unsafe(nil), Regexp)
-# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/enforce_sigil_order.rb#78
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/enforce_sigil_order.rb#79
RuboCop::Cop::Sorbet::EnforceSigilOrder::MAGIC_REGEX = T.let(T.unsafe(nil), Regexp)
-# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/enforce_sigil_order.rb#71
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/enforce_sigil_order.rb#72
RuboCop::Cop::Sorbet::EnforceSigilOrder::PREFERRED_ORDER = T.let(T.unsafe(nil), Hash)
-# This cop checks that every method definition and attribute accessor has a Sorbet signature.
+# Checks that every method definition and attribute accessor has a Sorbet signature.
#
# It also suggest an autocorrect with placeholders so the following code:
#
@@ -327,90 +381,92 @@ RuboCop::Cop::Sorbet::EnforceSigilOrder::PREFERRED_ORDER = T.let(T.unsafe(nil),
# * `ParameterTypePlaceholder`: placeholders used for parameter types (default: 'T.untyped')
# * `ReturnTypePlaceholder`: placeholders used for return types (default: 'T.untyped')
#
-# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#29
-class RuboCop::Cop::Sorbet::EnforceSignatures < ::RuboCop::Cop::Sorbet::SignatureCop
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#27
+class RuboCop::Cop::Sorbet::EnforceSignatures < ::RuboCop::Cop::Cop
+ include ::RuboCop::Cop::Sorbet::SignatureHelp
+
# @return [EnforceSignatures] a new instance of EnforceSignatures
#
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#30
def initialize(config = T.unsafe(nil), options = T.unsafe(nil)); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#35
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#36
def accessor?(param0 = T.unsafe(nil)); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#55
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#56
def autocorrect(node); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#39
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#40
def on_def(node); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#43
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#44
def on_defs(node); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#47
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#48
def on_send(node); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#51
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#52
def on_signature(node); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#74
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#75
def scope(node); end
private
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#82
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#84
def check_node(node); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#93
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#95
def param_type_placeholder; end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#97
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#99
def return_type_placeholder; end
end
-# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#101
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#103
class RuboCop::Cop::Sorbet::EnforceSignatures::SigSuggestion
# @return [SigSuggestion] a new instance of SigSuggestion
#
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#104
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#106
def initialize(indent, param_placeholder, return_placeholder); end
# Returns the value of attribute params.
#
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#102
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#104
def params; end
# Sets the attribute params
#
# @param value the value to set the attribute params to.
#
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#102
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#104
def params=(_arg0); end
# Returns the value of attribute returns.
#
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#102
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#104
def returns; end
# Sets the attribute returns
#
# @param value the value to set the attribute returns to.
#
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#102
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#104
def returns=(_arg0); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#112
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#114
def to_autocorrect; end
private
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#124
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#126
def generate_params; end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#135
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/enforce_signatures.rb#138
def generate_return; end
end
-# This cop checks that there is only one Sorbet sigil in a given file
+# Checks that there is only one Sorbet sigil in a given file
#
# For example, the following class with two sigils
#
@@ -430,7 +486,7 @@ end
class RuboCop::Cop::Sorbet::EnforceSingleSigil < ::RuboCop::Cop::Sorbet::ValidSigil
include ::RuboCop::Cop::RangeHelp
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/enforce_single_sigil.rb#39
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/enforce_single_sigil.rb#40
def autocorrect(_node); end
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/enforce_single_sigil.rb#29
@@ -438,11 +494,11 @@ class RuboCop::Cop::Sorbet::EnforceSingleSigil < ::RuboCop::Cop::Sorbet::ValidSi
protected
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/enforce_single_sigil.rb#55
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/enforce_single_sigil.rb#56
def extract_all_sigils(processed_source); end
end
-# This cop makes the Sorbet `false` sigil mandatory in all files.
+# Makes the Sorbet `false` sigil mandatory in all files.
#
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/false_sigil.rb#10
class RuboCop::Cop::Sorbet::FalseSigil < ::RuboCop::Cop::Sorbet::HasSigil
@@ -450,7 +506,7 @@ class RuboCop::Cop::Sorbet::FalseSigil < ::RuboCop::Cop::Sorbet::HasSigil
def minimum_strictness; end
end
-# This cop ensures RBI shims do not include a call to extend T::Sig
+# Ensures RBI shims do not include a call to extend T::Sig
# or to extend T::Helpers
#
# @example
@@ -471,61 +527,76 @@ end
# end
#
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/rbi/forbid_extend_t_sig_helpers_in_shims.rb#25
-class RuboCop::Cop::Sorbet::ForbidExtendTSigHelpersInShims < ::RuboCop::Cop::Cop
+class RuboCop::Cop::Sorbet::ForbidExtendTSigHelpersInShims < ::RuboCop::Cop::Base
include ::RuboCop::Cop::RangeHelp
+ extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/rbi/forbid_extend_t_sig_helpers_in_shims.rb#39
- def autocorrect(node); end
-
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/rbi/forbid_extend_t_sig_helpers_in_shims.rb#35
- def extend_t_helpers?(param0 = T.unsafe(nil)); end
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/rbi/forbid_extend_t_sig_helpers_in_shims.rb#33
+ def extend_t_sig_or_helpers?(param0 = T.unsafe(nil)); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/rbi/forbid_extend_t_sig_helpers_in_shims.rb#31
- def extend_t_sig?(param0 = T.unsafe(nil)); end
-
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/rbi/forbid_extend_t_sig_helpers_in_shims.rb#47
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/rbi/forbid_extend_t_sig_helpers_in_shims.rb#37
def on_send(node); end
end
-# source://rubocop-sorbet//lib/rubocop/cop/sorbet/rbi/forbid_extend_t_sig_helpers_in_shims.rb#28
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/rbi/forbid_extend_t_sig_helpers_in_shims.rb#29
RuboCop::Cop::Sorbet::ForbidExtendTSigHelpersInShims::MSG = T.let(T.unsafe(nil), String)
-# source://rubocop-sorbet//lib/rubocop/cop/sorbet/rbi/forbid_extend_t_sig_helpers_in_shims.rb#29
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/rbi/forbid_extend_t_sig_helpers_in_shims.rb#30
RuboCop::Cop::Sorbet::ForbidExtendTSigHelpersInShims::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
+# Correct `send` expressions in include statements by constant literals.
+#
+# Sorbet, the static checker, is not (yet) able to support constructs on the
+# following form:
+#
+# ```ruby
+# class MyClass
+# include send_expr
+# end
+# ```
+#
+# Multiple occurences of this can be found in Shopify's code base like:
+#
+# ```ruby
+# include Rails.application.routes.url_helpers
+# ```
+# or
+# ```ruby
+# include Polaris::Engine.helpers
+# ```
+#
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_include_const_literal.rb#29
-class RuboCop::Cop::Sorbet::ForbidIncludeConstLiteral < ::RuboCop::Cop::Cop
- # @return [ForbidIncludeConstLiteral] a new instance of ForbidIncludeConstLiteral
- #
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_include_const_literal.rb#40
- def initialize(*_arg0); end
+class RuboCop::Cop::Sorbet::ForbidIncludeConstLiteral < ::RuboCop::Cop::Base
+ extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_include_const_literal.rb#56
- def autocorrect(node); end
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_include_const_literal.rb#36
+ def dynamic_inclusion?(param0 = T.unsafe(nil)); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_include_const_literal.rb#34
- def not_lit_const_include?(param0 = T.unsafe(nil)); end
-
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_include_const_literal.rb#45
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_include_const_literal.rb#40
def on_send(node); end
- # Returns the value of attribute used_names.
+ private
+
+ # @return [Boolean]
#
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_include_const_literal.rb#32
- def used_names; end
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_include_const_literal.rb#52
+ def neither_const_nor_self?(node); end
- # Sets the attribute used_names
+ # Returns true if the node is within a module declaration that is not anonymous.
#
- # @param value the value to set the attribute used_names to.
+ # @return [Boolean]
#
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_include_const_literal.rb#32
- def used_names=(_arg0); end
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_include_const_literal.rb#57
+ def within_onymous_module?(node); end
end
-# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_include_const_literal.rb#30
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_include_const_literal.rb#32
RuboCop::Cop::Sorbet::ForbidIncludeConstLiteral::MSG = T.let(T.unsafe(nil), String)
-# This cop makes sure that RBI files are always located under the defined allowed paths.
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_include_const_literal.rb#33
+RuboCop::Cop::Sorbet::ForbidIncludeConstLiteral::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
+
+# Makes sure that RBI files are always located under the defined allowed paths.
#
# Options:
#
@@ -554,19 +625,199 @@ class RuboCop::Cop::Sorbet::ForbidRBIOutsideOfAllowedPaths < ::RuboCop::Cop::Cop
def allowed_paths; end
end
-# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_superclass_const_literal.rb#27
-class RuboCop::Cop::Sorbet::ForbidSuperclassConstLiteral < ::RuboCop::Cop::Cop
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_superclass_const_literal.rb#30
- def not_lit_const_superclass?(param0 = T.unsafe(nil)); end
+# Correct superclass `send` expressions by constant literals.
+#
+# Sorbet, the static checker, is not (yet) able to support constructs on the
+# following form:
+#
+# ```ruby
+# class Foo < send_expr; end
+# ```
+#
+# Multiple occurences of this can be found in Shopify's code base like:
+#
+# ```ruby
+# class ShopScope < Component::TrustedIdScope[ShopIdentity::ShopId]
+# ```
+# or
+# ```ruby
+# class ApiClientEligibility < Struct.new(:api_client, :match_results, :shop)
+# ```
+#
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_superclass_const_literal.rb#28
+class RuboCop::Cop::Sorbet::ForbidSuperclassConstLiteral < ::RuboCop::Cop::Base
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_superclass_const_literal.rb#32
+ def dynamic_superclass?(param0 = T.unsafe(nil)); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_superclass_const_literal.rb#38
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_superclass_const_literal.rb#36
def on_class(node); end
end
-# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_superclass_const_literal.rb#28
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_superclass_const_literal.rb#29
RuboCop::Cop::Sorbet::ForbidSuperclassConstLiteral::MSG = T.let(T.unsafe(nil), String)
-# This cop disallows using `T.unsafe` anywhere.
+# Disallow using `T::Struct` and `T::Props`.
+#
+# @example
+#
+# # bad
+# class MyStruct < T::Struct
+# const :foo, String
+# prop :bar, Integer, default: 0
+#
+# def some_method; end
+# end
+#
+# # good
+# class MyStruct
+# extend T::Sig
+#
+# sig { returns(String) }
+# attr_reader :foo
+#
+# sig { returns(Integer) }
+# attr_accessor :bar
+#
+# sig { params(foo: String, bar: Integer) }
+# def initialize(foo:, bar: 0)
+# @foo = foo
+# @bar = bar
+# end
+#
+# def some_method; end
+# end
+#
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#38
+class RuboCop::Cop::Sorbet::ForbidTStruct < ::RuboCop::Cop::Base
+ include ::RuboCop::Cop::Alignment
+ include ::RuboCop::Cop::RangeHelp
+ include ::RuboCop::Cop::CommentsHelp
+ extend ::RuboCop::Cop::AutoCorrector
+
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#164
+ def on_class(node); end
+
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#205
+ def on_send(node); end
+
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#162
+ def t_props?(param0 = T.unsafe(nil)); end
+
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#157
+ def t_struct?(param0 = T.unsafe(nil)); end
+
+ private
+
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#213
+ def initialize_method(indent, props); end
+
+ # @return [Boolean]
+ #
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#226
+ def previous_line_blank?(node); end
+end
+
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#47
+RuboCop::Cop::Sorbet::ForbidTStruct::MSG_PROPS = T.let(T.unsafe(nil), String)
+
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#46
+RuboCop::Cop::Sorbet::ForbidTStruct::MSG_STRUCT = T.let(T.unsafe(nil), String)
+
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#104
+class RuboCop::Cop::Sorbet::ForbidTStruct::Property
+ # @return [Property] a new instance of Property
+ #
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#107
+ def initialize(node, kind, name, type, default:, factory:); end
+
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#123
+ def attr_accessor; end
+
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#119
+ def attr_sig; end
+
+ # Returns the value of attribute default.
+ #
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#105
+ def default; end
+
+ # Returns the value of attribute factory.
+ #
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#105
+ def factory; end
+
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#144
+ def initialize_assign; end
+
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#131
+ def initialize_param; end
+
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#127
+ def initialize_sig_param; end
+
+ # Returns the value of attribute kind.
+ #
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#105
+ def kind; end
+
+ # Returns the value of attribute name.
+ #
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#105
+ def name; end
+
+ # @return [Boolean]
+ #
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#151
+ def nilable?; end
+
+ # Returns the value of attribute node.
+ #
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#105
+ def node; end
+
+ # Returns the value of attribute type.
+ #
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#105
+ def type; end
+end
+
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#44
+RuboCop::Cop::Sorbet::ForbidTStruct::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
+
+# This class walks down the class body of a T::Struct and collects all the properties that will need to be
+# translated into `attr_reader` and `attr_accessor` methods.
+#
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#51
+class RuboCop::Cop::Sorbet::ForbidTStruct::TStructWalker
+ include ::RuboCop::AST::Traversal
+ extend ::RuboCop::AST::NodePattern::Macros
+
+ # @return [TStructWalker] a new instance of TStructWalker
+ #
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#57
+ def initialize; end
+
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#63
+ def extend_t_sig?(param0 = T.unsafe(nil)); end
+
+ # Returns the value of attribute has_extend_t_sig.
+ #
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#55
+ def has_extend_t_sig; end
+
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#72
+ def on_send(node); end
+
+ # Returns the value of attribute props.
+ #
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#55
+ def props; end
+
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_struct.rb#68
+ def t_struct_prop?(param0 = T.unsafe(nil)); end
+end
+
+# Disallows using `T.unsafe` anywhere.
#
# @example
#
@@ -577,15 +828,21 @@ RuboCop::Cop::Sorbet::ForbidSuperclassConstLiteral::MSG = T.let(T.unsafe(nil), S
# foo
#
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_unsafe.rb#17
-class RuboCop::Cop::Sorbet::ForbidTUnsafe < ::RuboCop::Cop::Cop
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_unsafe.rb#20
+class RuboCop::Cop::Sorbet::ForbidTUnsafe < ::RuboCop::Cop::Base
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_unsafe.rb#24
def on_send(node); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_unsafe.rb#18
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_unsafe.rb#22
def t_unsafe?(param0 = T.unsafe(nil)); end
end
-# This cop disallows using `T.untyped` anywhere.
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_unsafe.rb#18
+RuboCop::Cop::Sorbet::ForbidTUnsafe::MSG = T.let(T.unsafe(nil), String)
+
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_unsafe.rb#19
+RuboCop::Cop::Sorbet::ForbidTUnsafe::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
+
+# Disallows using `T.untyped` anywhere.
#
# @example
#
@@ -598,15 +855,53 @@ end
# def foo(my_argument); end
#
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_untyped.rb#20
-class RuboCop::Cop::Sorbet::ForbidTUntyped < ::RuboCop::Cop::Cop
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_untyped.rb#23
+class RuboCop::Cop::Sorbet::ForbidTUntyped < ::RuboCop::Cop::Base
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_untyped.rb#27
def on_send(node); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_untyped.rb#21
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_untyped.rb#25
def t_untyped?(param0 = T.unsafe(nil)); end
end
-# This cop disallows use of `T.untyped` or `T.nilable(T.untyped)`
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_untyped.rb#21
+RuboCop::Cop::Sorbet::ForbidTUntyped::MSG = T.let(T.unsafe(nil), String)
+
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_t_untyped.rb#22
+RuboCop::Cop::Sorbet::ForbidTUntyped::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
+
+# Disallows defining type aliases that contain shapes
+#
+# @example
+#
+# # bad
+# Foo = T.type_alias { { foo: Integer } }
+#
+# # good
+# class Foo
+# extend T::Sig
+#
+# sig { params(foo: Integer).void }
+# def initialize(foo)
+# @foo = foo
+# end
+# end
+#
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_type_aliased_shapes.rb#24
+class RuboCop::Cop::Sorbet::ForbidTypeAliasedShapes < ::RuboCop::Cop::Base
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_type_aliased_shapes.rb#36
+ def on_block(node); end
+
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_type_aliased_shapes.rb#36
+ def on_numblock(node); end
+
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_type_aliased_shapes.rb#28
+ def shape_type_alias?(param0 = T.unsafe(nil)); end
+end
+
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_type_aliased_shapes.rb#25
+RuboCop::Cop::Sorbet::ForbidTypeAliasedShapes::MSG = T.let(T.unsafe(nil), String)
+
+# Disallows use of `T.untyped` or `T.nilable(T.untyped)`
# as a prop type for `T::Struct` or `T::ImmutableStruct`.
#
# @example
@@ -624,33 +919,32 @@ end
# end
#
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_untyped_struct_props.rb#25
-class RuboCop::Cop::Sorbet::ForbidUntypedStructProps < ::RuboCop::Cop::Cop
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_untyped_struct_props.rb#52
+class RuboCop::Cop::Sorbet::ForbidUntypedStructProps < ::RuboCop::Cop::Base
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_untyped_struct_props.rb#54
def on_class(node); end
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_untyped_struct_props.rb#44
def subclass_of_t_struct?(param0 = T.unsafe(nil)); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_untyped_struct_props.rb#32
- def t_immutable_struct(param0 = T.unsafe(nil)); end
-
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_untyped_struct_props.rb#40
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_untyped_struct_props.rb#39
def t_nilable_untyped(param0 = T.unsafe(nil)); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_untyped_struct_props.rb#28
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_untyped_struct_props.rb#29
def t_struct(param0 = T.unsafe(nil)); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_untyped_struct_props.rb#36
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_untyped_struct_props.rb#34
def t_untyped(param0 = T.unsafe(nil)); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_untyped_struct_props.rb#48
+ # Search for untyped prop/const declarations and capture their types
+ #
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_untyped_struct_props.rb#50
def untyped_props(param0); end
end
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/forbid_untyped_struct_props.rb#26
RuboCop::Cop::Sorbet::ForbidUntypedStructProps::MSG = T.let(T.unsafe(nil), String)
-# This cop makes the Sorbet typed sigil mandatory in all files.
+# Makes the Sorbet typed sigil mandatory in all files.
#
# Options:
#
@@ -667,7 +961,7 @@ class RuboCop::Cop::Sorbet::HasSigil < ::RuboCop::Cop::Sorbet::ValidSigil
def require_sigil_on_all_files?; end
end
-# This cop makes the Sorbet `ignore` sigil mandatory in all files.
+# Makes the Sorbet `ignore` sigil mandatory in all files.
#
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/ignore_sigil.rb#10
class RuboCop::Cop::Sorbet::IgnoreSigil < ::RuboCop::Cop::Sorbet::HasSigil
@@ -675,7 +969,54 @@ class RuboCop::Cop::Sorbet::IgnoreSigil < ::RuboCop::Cop::Sorbet::HasSigil
def minimum_strictness; end
end
-# This cop checks for the ordering of keyword arguments required by
+# Disallows declaring implicit conversion methods.
+# Since Sorbet is a nominal (not structural) type system,
+# implicit conversion is currently unsupported.
+#
+# @example
+#
+# # bad
+# def to_str; end
+#
+# # good
+# def to_str(x); end
+#
+# # bad
+# def self.to_str; end
+#
+# # good
+# def self.to_str(x); end
+#
+# # bad
+# alias to_str to_s
+# @note Since the arity of aliased methods is not checked, false positives may result.
+# @see https://docs.ruby-lang.org/en/master/implicit_conversion_rdoc.html
+#
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/implicit_conversion_method.rb#31
+class RuboCop::Cop::Sorbet::ImplicitConversionMethod < ::RuboCop::Cop::Base
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/implicit_conversion_method.rb#37
+ def on_alias(node); end
+
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/implicit_conversion_method.rb#42
+ def on_def(node); end
+
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/implicit_conversion_method.rb#42
+ def on_defs(node); end
+
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/implicit_conversion_method.rb#50
+ def on_send(node); end
+end
+
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/implicit_conversion_method.rb#32
+RuboCop::Cop::Sorbet::ImplicitConversionMethod::IMPLICIT_CONVERSION_METHODS = T.let(T.unsafe(nil), Array)
+
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/implicit_conversion_method.rb#33
+RuboCop::Cop::Sorbet::ImplicitConversionMethod::MSG = T.let(T.unsafe(nil), String)
+
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/implicit_conversion_method.rb#35
+RuboCop::Cop::Sorbet::ImplicitConversionMethod::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
+
+# Checks for the ordering of keyword arguments required by
# sorbet-runtime. The ordering requires that all keyword arguments
# are at the end of the parameters list, and all keyword arguments
# with a default value must be after those without default values.
@@ -690,9 +1031,11 @@ end
# sig { params(b: String, a: Integer).void }
# def foo(b:, a: 1); end
#
-# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/keyword_argument_ordering.rb#23
-class RuboCop::Cop::Sorbet::KeywordArgumentOrdering < ::RuboCop::Cop::Sorbet::SignatureCop
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/keyword_argument_ordering.rb#24
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/keyword_argument_ordering.rb#20
+class RuboCop::Cop::Sorbet::KeywordArgumentOrdering < ::RuboCop::Cop::Cop
+ include ::RuboCop::Cop::Sorbet::SignatureHelp
+
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/keyword_argument_ordering.rb#23
def on_signature(node); end
private
@@ -703,16 +1046,69 @@ end
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/mutable_constant_sorbet_aware_behaviour.rb#8
module RuboCop::Cop::Sorbet::MutableConstantSorbetAwareBehaviour
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/mutable_constant_sorbet_aware_behaviour.rb#15
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/mutable_constant_sorbet_aware_behaviour.rb#18
def on_assignment(value); end
class << self
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/mutable_constant_sorbet_aware_behaviour.rb#9
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/mutable_constant_sorbet_aware_behaviour.rb#10
def prepended(base); end
end
end
-# This cop ensures one ancestor per requires_ancestor line
+# Checks for the obsolete pattern for initializing instance variables that was required for older Sorbet
+#
+# It's no longer required, as of Sorbet 0.5.10210
+# See https://sorbet.org/docs/type-assertions#put-type-assertions-behind-memoization
+#
+# @example
+#
+# # bad
+# sig { returns(Foo) }
+# def foo
+# @foo = T.let(@foo, T.nilable(Foo))
+# @foo ||= Foo.new
+# end
+#
+# # bad
+# sig { returns(Foo) }
+# def foo
+# # This would have been a mistake, causing the memoized value to be discarded and recomputed on every call.
+# @foo = T.let(nil, T.nilable(Foo))
+# @foo ||= Foo.new
+# end
+#
+# # good
+# sig { returns(Foo) }
+# def foo
+# @foo ||= T.let(Foo.new, T.nilable(Foo))
+# end
+#
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/obsolete_strict_memoization.rb#37
+class RuboCop::Cop::Sorbet::ObsoleteStrictMemoization < ::RuboCop::Cop::Base
+ include ::RuboCop::Cop::RangeHelp
+ include ::RuboCop::Cop::MatchRange
+ include ::RuboCop::Cop::Alignment
+ include ::RuboCop::Cop::LineLengthHelp
+ include ::RuboCop::Cop::Sorbet::TargetSorbetVersion
+ extend ::RuboCop::Cop::AutoCorrector
+ extend ::RuboCop::Cop::Sorbet::TargetSorbetVersion::ClassMethods
+
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/obsolete_strict_memoization.rb#51
+ def legacy_memoization_pattern?(param0 = T.unsafe(nil)); end
+
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/obsolete_strict_memoization.rb#62
+ def on_begin(node); end
+
+ # @return [Boolean]
+ #
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/obsolete_strict_memoization.rb#86
+ def relevant_file?(file); end
+end
+
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/obsolete_strict_memoization.rb#47
+RuboCop::Cop::Sorbet::ObsoleteStrictMemoization::MSG = T.let(T.unsafe(nil), String)
+
+# Ensures one ancestor per requires_ancestor line
# rather than chaining them as a comma-separated list.
#
# @example
@@ -730,30 +1126,30 @@ end
#
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/one_ancestor_per_line.rb#24
class RuboCop::Cop::Sorbet::OneAncestorPerLine < ::RuboCop::Cop::Cop
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/one_ancestor_per_line.rb#35
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/one_ancestor_per_line.rb#38
def abstract?(param0); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/one_ancestor_per_line.rb#51
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/one_ancestor_per_line.rb#56
def autocorrect(node); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/one_ancestor_per_line.rb#31
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/one_ancestor_per_line.rb#33
def more_than_one_ancestor(param0 = T.unsafe(nil)); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/one_ancestor_per_line.rb#45
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/one_ancestor_per_line.rb#49
def on_class(node); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/one_ancestor_per_line.rb#39
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/one_ancestor_per_line.rb#42
def on_module(node); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/one_ancestor_per_line.rb#27
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/one_ancestor_per_line.rb#28
def requires_ancestors(param0); end
private
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/one_ancestor_per_line.rb#67
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/one_ancestor_per_line.rb#72
def new_ra_line(indent_count); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/one_ancestor_per_line.rb#61
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/one_ancestor_per_line.rb#66
def process_node(node); end
end
@@ -779,42 +1175,64 @@ RuboCop::Cop::Sorbet::OneAncestorPerLine::MSG = T.let(T.unsafe(nil), String)
# end
#
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/redundant_extend_t_sig.rb#28
-class RuboCop::Cop::Sorbet::RedundantExtendTSig < ::RuboCop::Cop::Cop
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/redundant_extend_t_sig.rb#42
- def autocorrect(node); end
+class RuboCop::Cop::Sorbet::RedundantExtendTSig < ::RuboCop::Cop::Base
+ include ::RuboCop::Cop::RangeHelp
+ extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/redundant_extend_t_sig.rb#32
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/redundant_extend_t_sig.rb#36
def extend_t_sig?(param0 = T.unsafe(nil)); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/redundant_extend_t_sig.rb#36
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/redundant_extend_t_sig.rb#40
def on_send(node); end
end
-# source://rubocop-sorbet//lib/rubocop/cop/sorbet/redundant_extend_t_sig.rb#29
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/redundant_extend_t_sig.rb#32
RuboCop::Cop::Sorbet::RedundantExtendTSig::MSG = T.let(T.unsafe(nil), String)
-# source://rubocop-sorbet//lib/rubocop/cop/sorbet/redundant_extend_t_sig.rb#30
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/redundant_extend_t_sig.rb#33
RuboCop::Cop::Sorbet::RedundantExtendTSig::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
-# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/signature_build_order.rb#15
-class RuboCop::Cop::Sorbet::SignatureBuildOrder < ::RuboCop::Cop::Sorbet::SignatureCop
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/signature_build_order.rb#54
+# Checks for the correct order of sig builder methods:
+# - abstract, override, or overridable
+# - type_parameters
+# - params
+# - returns, or void
+# - soft, checked, or on_failure
+#
+# @example
+# # bad
+# sig { void.abstract }
+#
+# # good
+# sig { abstract.void }
+#
+# # bad
+# sig { returns(Integer).params(x: Integer) }
+#
+# # good
+# sig { params(x: Integer).returns(Integer) }
+#
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/signature_build_order.rb#31
+class RuboCop::Cop::Sorbet::SignatureBuildOrder < ::RuboCop::Cop::Cop
+ include ::RuboCop::Cop::Sorbet::SignatureHelp
+
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/signature_build_order.rb#77
def autocorrect(node); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/signature_build_order.rb#34
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/signature_build_order.rb#53
def on_signature(node); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/signature_build_order.rb#30
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/signature_build_order.rb#49
def root_call(param0); end
private
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/signature_build_order.rb#96
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/signature_build_order.rb#119
def call_chain(sig_child_node); end
# @return [Boolean]
#
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/signature_build_order.rb#92
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/signature_build_order.rb#115
def can_autocorrect?; end
# This method exists to reparse the current node with modern features enabled.
@@ -822,41 +1240,44 @@ class RuboCop::Cop::Sorbet::SignatureBuildOrder < ::RuboCop::Cop::Sorbet::Signat
# "index sends" (i.e. `[]` calls) back to index accessors (i.e. as `foo[bar]``).
# Otherwise, we would get the unparsed node as `foo.[](bar)`.
#
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/signature_build_order.rb#83
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/signature_build_order.rb#106
def node_reparsed_with_modern_features(node); end
end
# Create a subclass of AST Builder that has modern features turned on
#
-# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/signature_build_order.rb#72
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/signature_build_order.rb#95
class RuboCop::Cop::Sorbet::SignatureBuildOrder::ModernBuilder < ::RuboCop::AST::Builder; end
-# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/signature_build_order.rb#16
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/signature_build_order.rb#34
RuboCop::Cop::Sorbet::SignatureBuildOrder::ORDER = T.let(T.unsafe(nil), Hash)
-# Abstract cop specific to Sorbet signatures
-#
-# You can subclass it to use the `on_signature` trigger and the `signature?` node matcher.
+# Mixin for writing cops for signatures, providing a `signature?` node matcher and an `on_signature` trigger.
#
-# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/signature_cop.rb#11
-class RuboCop::Cop::Sorbet::SignatureCop < ::RuboCop::Cop::Cop
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/signature_cop.rb#30
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/mixin/signature_help.rb#7
+module RuboCop::Cop::Sorbet::SignatureHelp
+ extend ::RuboCop::AST::NodePattern::Macros
+
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/mixin/signature_help.rb#29
def on_block(node); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/signature_cop.rb#34
- def on_signature(_); end
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/mixin/signature_help.rb#29
+ def on_numblock(node); end
+
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/mixin/signature_help.rb#35
+ def on_signature(_node); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/signature_cop.rb#14
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/mixin/signature_help.rb#11
def signature?(param0 = T.unsafe(nil)); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/signature_cop.rb#22
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/mixin/signature_help.rb#20
def with_runtime?(param0 = T.unsafe(nil)); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/signature_cop.rb#26
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/mixin/signature_help.rb#25
def without_runtime?(param0 = T.unsafe(nil)); end
end
-# This cop ensures empty class/module definitions in RBI files are
+# Ensures empty class/module definitions in RBI files are
# done on a single line rather than being split across multiple lines.
#
# @example
@@ -869,29 +1290,25 @@ end
# module SomeModule; end
#
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/rbi/single_line_rbi_class_module_definitions.rb#17
-class RuboCop::Cop::Sorbet::SingleLineRbiClassModuleDefinitions < ::RuboCop::Cop::Cop
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/rbi/single_line_rbi_class_module_definitions.rb#28
- def autocorrect(node); end
+class RuboCop::Cop::Sorbet::SingleLineRbiClassModuleDefinitions < ::RuboCop::Cop::Base
+ extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/rbi/single_line_rbi_class_module_definitions.rb#24
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/rbi/single_line_rbi_class_module_definitions.rb#22
def on_class(node); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/rbi/single_line_rbi_class_module_definitions.rb#20
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/rbi/single_line_rbi_class_module_definitions.rb#22
def on_module(node); end
- protected
+ private
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/rbi/single_line_rbi_class_module_definitions.rb#34
- def convert_newlines(source); end
-
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/rbi/single_line_rbi_class_module_definitions.rb#38
- def process_node(node); end
+ def convert_newlines_to_semicolons(source); end
end
-# source://rubocop-sorbet//lib/rubocop/cop/sorbet/rbi/single_line_rbi_class_module_definitions.rb#18
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/rbi/single_line_rbi_class_module_definitions.rb#20
RuboCop::Cop::Sorbet::SingleLineRbiClassModuleDefinitions::MSG = T.let(T.unsafe(nil), String)
-# This cop makes the Sorbet `strict` sigil mandatory in all files.
+# Makes the Sorbet `strict` sigil mandatory in all files.
#
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/strict_sigil.rb#10
class RuboCop::Cop::Sorbet::StrictSigil < ::RuboCop::Cop::Sorbet::HasSigil
@@ -899,7 +1316,7 @@ class RuboCop::Cop::Sorbet::StrictSigil < ::RuboCop::Cop::Sorbet::HasSigil
def minimum_strictness; end
end
-# This cop makes the Sorbet `strong` sigil mandatory in all files.
+# Makes the Sorbet `strong` sigil mandatory in all files.
#
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/strong_sigil.rb#10
class RuboCop::Cop::Sorbet::StrongSigil < ::RuboCop::Cop::Sorbet::HasSigil
@@ -907,7 +1324,48 @@ class RuboCop::Cop::Sorbet::StrongSigil < ::RuboCop::Cop::Sorbet::HasSigil
def minimum_strictness; end
end
-# This cop makes the Sorbet `true` sigil mandatory in all files.
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/mixin/target_sorbet_version.rb#6
+module RuboCop::Cop::Sorbet::TargetSorbetVersion
+ mixes_in_class_methods ::RuboCop::Cop::Sorbet::TargetSorbetVersion::ClassMethods
+
+ # @return [Boolean]
+ #
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/mixin/target_sorbet_version.rb#28
+ def enabled_for_sorbet_static_version?; end
+
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/mixin/target_sorbet_version.rb#44
+ def read_sorbet_static_version_from_bundler_lock_file; end
+
+ # @return [Boolean]
+ #
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/mixin/target_sorbet_version.rb#24
+ def sorbet_enabled?; end
+
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/mixin/target_sorbet_version.rb#35
+ def target_sorbet_static_version_from_bundler_lock_file; end
+
+ class << self
+ # @private
+ #
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/mixin/target_sorbet_version.rb#8
+ def included(target); end
+ end
+end
+
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/mixin/target_sorbet_version.rb#13
+module RuboCop::Cop::Sorbet::TargetSorbetVersion::ClassMethods
+ # Sets the version of the Sorbet static type checker required by this cop
+ #
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/mixin/target_sorbet_version.rb#15
+ def minimum_target_sorbet_static_version(version); end
+
+ # @return [Boolean]
+ #
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/mixin/target_sorbet_version.rb#19
+ def supports_target_sorbet_static_version?(version); end
+end
+
+# Makes the Sorbet `true` sigil mandatory in all files.
#
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/true_sigil.rb#10
class RuboCop::Cop::Sorbet::TrueSigil < ::RuboCop::Cop::Sorbet::HasSigil
@@ -915,7 +1373,7 @@ class RuboCop::Cop::Sorbet::TrueSigil < ::RuboCop::Cop::Sorbet::HasSigil
def minimum_strictness; end
end
-# This cop ensures all constants used as `T.type_alias` are using CamelCase.
+# Ensures all constants used as `T.type_alias` are using CamelCase.
#
# @example
#
@@ -926,18 +1384,18 @@ end
# FooOrBar = T.type_alias { T.any(Foo, Bar) }
#
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/type_alias_name.rb#17
-class RuboCop::Cop::Sorbet::TypeAliasName < ::RuboCop::Cop::Cop
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/type_alias_name.rb#20
- def casgn_type_alias?(param0 = T.unsafe(nil)); end
-
+class RuboCop::Cop::Sorbet::TypeAliasName < ::RuboCop::Cop::Base
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/type_alias_name.rb#32
def on_casgn(node); end
+
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/type_alias_name.rb#21
+ def underscored_type_alias?(param0 = T.unsafe(nil)); end
end
# source://rubocop-sorbet//lib/rubocop/cop/sorbet/type_alias_name.rb#18
RuboCop::Cop::Sorbet::TypeAliasName::MSG = T.let(T.unsafe(nil), String)
-# This cop checks that every Ruby file contains a valid Sorbet sigil.
+# Checks that every Ruby file contains a valid Sorbet sigil.
# Adapted from: https://gist.github.com/clarkdave/85aca4e16f33fd52aceb6a0a29936e52
#
# Options:
@@ -945,84 +1403,140 @@ RuboCop::Cop::Sorbet::TypeAliasName::MSG = T.let(T.unsafe(nil), String)
# * `RequireSigilOnAllFiles`: make offense if the Sorbet typed is not found in the file (default: false)
# * `SuggestedStrictness`: Sorbet strictness level suggested in offense messages (default: 'false')
# * `MinimumStrictness`: If set, make offense if the strictness level in the file is below this one
+# * `ExactStrictness`: If set, make offense if the strictness level in the file is different than this one
#
-# If a `MinimumStrictness` level is specified, it will be used in offense messages and autocorrect.
+# If an `ExactStrictness` level is specified, it will be used in offense messages and autocorrect.
+# Otherwise, if a `MinimumStrictness` level is specified, it will be used in offense messages and autocorrect.
#
-# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#18
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#20
class RuboCop::Cop::Sorbet::ValidSigil < ::RuboCop::Cop::Cop
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#33
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#35
def autocorrect(_node); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#21
+ # So we can properly subclass this cop
+ #
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#23
def investigate(processed_source); end
protected
# checks
#
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#68
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#70
def check_sigil_present(sigil); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#125
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#130
def check_strictness_level(sigil, strictness); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#103
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#108
def check_strictness_not_empty(sigil, strictness); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#114
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#119
def check_strictness_valid(sigil, strictness); end
+ # Default is `nil`
+ #
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#180
+ def exact_strictness; end
+
# extraction
#
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#56
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#58
def extract_sigil(processed_source); end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#62
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#64
def extract_strictness(sigil); end
# Default is `nil`
#
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#155
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#174
def minimum_strictness; end
# Default is `false`
#
# @return [Boolean]
#
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#144
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#163
def require_sigil_on_all_files?; end
# Default is `'false'`
#
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#149
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#168
def suggested_strictness; end
- # source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#84
- def suggested_strictness_level(minimum_strictness, suggested_strictness); end
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#86
+ def suggested_strictness_level; end
end
-# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#52
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#54
RuboCop::Cop::Sorbet::ValidSigil::SIGIL_REGEX = T.let(T.unsafe(nil), Regexp)
-# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#51
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/sigils/valid_sigil.rb#53
RuboCop::Cop::Sorbet::ValidSigil::STRICTNESS_LEVELS = T.let(T.unsafe(nil), Array)
+# Disallows the usage of `.void.checked(:tests)`.
+#
+# Using `.void` changes the value returned from the method, but only if
+# runtime type checking is enabled for the method. Methods marked `.void`
+# will return different values in tests compared with non-test
+# environments. This is particularly troublesome if branching on the
+# result of a `.void` method, because the returned value in test code
+# will be the truthy `VOID` value, while the non-test return value may be
+# falsy depending on the method's implementation.
+#
+# - Use `.returns(T.anything).checked(:tests)` to keep the runtime type
+# checking for the rest of the parameters.
+# - Use `.void.checked(:never)` if you are on an older version of Sorbet
+# which does not have `T.anything` (meaning versions 0.5.10781 or
+# earlier. Versions released after 2023-04-14 include `T.anything`.)
+#
+# @example
+#
+# # bad
+# sig { void.checked(:tests) }
+#
+# # good
+# sig { void }
+# sig { returns(T.anything).checked(:tests) }
+# sig { void.checked(:never) }
+#
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/void_checked_tests.rb#31
+class RuboCop::Cop::Sorbet::VoidCheckedTests < ::RuboCop::Cop::Base
+ include ::RuboCop::Cop::RangeHelp
+ include ::RuboCop::Cop::Sorbet::SignatureHelp
+ extend ::RuboCop::Cop::AutoCorrector
+
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/void_checked_tests.rb#37
+ def checked_tests(param0); end
+
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/void_checked_tests.rb#58
+ def on_signature(node); end
+
+ private
+
+ # source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/void_checked_tests.rb#48
+ def top_level_void(node); end
+end
+
+# source://rubocop-sorbet//lib/rubocop/cop/sorbet/signatures/void_checked_tests.rb#41
+RuboCop::Cop::Sorbet::VoidCheckedTests::MESSAGE = T.let(T.unsafe(nil), String)
+
module RuboCop::Cop::Style; end
class RuboCop::Cop::Style::MutableConstant < ::RuboCop::Cop::Base
include ::RuboCop::Cop::Sorbet::MutableConstantSorbetAwareBehaviour
end
-# source://rubocop-sorbet//lib/rubocop/sorbet/version.rb#3
+# source://rubocop-sorbet//lib/rubocop/sorbet/version.rb#4
module RuboCop::Sorbet; end
-# source://rubocop-sorbet//lib/rubocop/sorbet.rb#11
+# source://rubocop-sorbet//lib/rubocop/sorbet.rb#12
RuboCop::Sorbet::CONFIG = T.let(T.unsafe(nil), Hash)
-# source://rubocop-sorbet//lib/rubocop/sorbet.rb#10
+# source://rubocop-sorbet//lib/rubocop/sorbet.rb#11
RuboCop::Sorbet::CONFIG_DEFAULT = T.let(T.unsafe(nil), Pathname)
-# source://rubocop-sorbet//lib/rubocop/sorbet.rb#7
+# source://rubocop-sorbet//lib/rubocop/sorbet.rb#8
class RuboCop::Sorbet::Error < ::StandardError; end
# Because RuboCop doesn't yet support plugins, we have to monkey patch in a
@@ -1031,13 +1545,13 @@ class RuboCop::Sorbet::Error < ::StandardError; end
# source://rubocop-sorbet//lib/rubocop/sorbet/inject.rb#9
module RuboCop::Sorbet::Inject
class << self
- # source://rubocop-sorbet//lib/rubocop/sorbet/inject.rb#10
+ # source://rubocop-sorbet//lib/rubocop/sorbet/inject.rb#11
def defaults!; end
end
end
-# source://rubocop-sorbet//lib/rubocop/sorbet.rb#9
+# source://rubocop-sorbet//lib/rubocop/sorbet.rb#10
RuboCop::Sorbet::PROJECT_ROOT = T.let(T.unsafe(nil), Pathname)
-# source://rubocop-sorbet//lib/rubocop/sorbet/version.rb#4
+# source://rubocop-sorbet//lib/rubocop/sorbet/version.rb#5
RuboCop::Sorbet::VERSION = T.let(T.unsafe(nil), String)
diff --git a/sorbet/rbi/gems/rubocop@1.52.1.rbi b/sorbet/rbi/gems/rubocop@1.60.2.rbi
similarity index 93%
rename from sorbet/rbi/gems/rubocop@1.52.1.rbi
rename to sorbet/rbi/gems/rubocop@1.60.2.rbi
index 315e23113..94e0c9449 100644
--- a/sorbet/rbi/gems/rubocop@1.52.1.rbi
+++ b/sorbet/rbi/gems/rubocop@1.60.2.rbi
@@ -20,6 +20,10 @@ class Regexp::Expression::CharacterSet < ::Regexp::Expression::Subexpression
include ::RuboCop::Ext::RegexpParser::Expression::CharacterSet
end
+class Regexp::Expression::Quantifier
+ include ::RuboCop::Ext::RegexpParser::Expression::Base
+end
+
# source://rubocop//lib/rubocop/version.rb#3
module RuboCop; end
@@ -96,7 +100,7 @@ class RuboCop::CLI
# source://rubocop//lib/rubocop/cli.rb#152
def act_on_options; end
- # source://rubocop//lib/rubocop/cli.rb#186
+ # source://rubocop//lib/rubocop/cli.rb#189
def apply_default_formatter; end
# source://rubocop//lib/rubocop/cli.rb#121
@@ -104,7 +108,7 @@ class RuboCop::CLI
# @raise [Finished]
#
- # source://rubocop//lib/rubocop/cli.rb#177
+ # source://rubocop//lib/rubocop/cli.rb#178
def handle_exiting_options; end
# source://rubocop//lib/rubocop/cli.rb#140
@@ -162,77 +166,77 @@ end
class RuboCop::CLI::Command::AutoGenerateConfig < ::RuboCop::CLI::Command::Base
# @api private
#
- # source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#21
+ # source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#22
def run; end
private
# @api private
#
- # source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#97
+ # source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#98
def add_formatter; end
# @api private
#
- # source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#105
+ # source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#106
def add_inheritance_from_auto_generated_file(config_file); end
# @api private
#
- # source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#101
+ # source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#102
def execute_runner; end
# @api private
#
- # source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#126
+ # source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#127
def existing_configuration(config_file); end
# @api private
#
- # source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#59
+ # source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#60
def line_length_cop(config); end
# @api private
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#47
+ # source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#48
def line_length_enabled?(config); end
# @api private
#
- # source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#55
+ # source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#56
def max_line_length(config); end
# @api private
#
- # source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#30
+ # source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#31
def maybe_run_line_length_cop; end
# @api private
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#148
+ # source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#153
def options_config_in_root?; end
# @api private
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#63
+ # source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#64
def options_has_only_flag?; end
# @api private
#
- # source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#139
+ # source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#144
def relative_path_to_todo_from_options_config; end
# @api private
#
- # source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#90
+ # source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#91
def reset_config_and_auto_gen_file; end
# @api private
#
- # source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#81
+ # source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#82
def run_all_cops(line_length_contents); end
# Do an initial run with only Layout/LineLength so that cops that
@@ -241,23 +245,23 @@ class RuboCop::CLI::Command::AutoGenerateConfig < ::RuboCop::CLI::Command::Base
#
# @api private
#
- # source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#70
+ # source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#71
def run_line_length_cop; end
# @api private
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#51
+ # source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#52
def same_max_line_length?(config1, config2); end
# @api private
#
- # source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#42
+ # source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#43
def skip_line_length_cop(reason); end
# @api private
#
- # source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#132
+ # source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#133
def write_config_file(file_name, file_string, rubocop_yml_contents); end
end
@@ -268,29 +272,34 @@ RuboCop::CLI::Command::AutoGenerateConfig::AUTO_GENERATED_FILE = T.let(T.unsafe(
# @api private
#
-# source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#14
+# source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#15
RuboCop::CLI::Command::AutoGenerateConfig::PHASE_1 = T.let(T.unsafe(nil), String)
# @api private
#
-# source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#18
+# source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#19
RuboCop::CLI::Command::AutoGenerateConfig::PHASE_1_DISABLED = T.let(T.unsafe(nil), String)
# @api private
#
-# source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#17
+# source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#18
RuboCop::CLI::Command::AutoGenerateConfig::PHASE_1_OVERRIDDEN = T.let(T.unsafe(nil), String)
# @api private
#
-# source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#19
+# source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#20
RuboCop::CLI::Command::AutoGenerateConfig::PHASE_1_SKIPPED = T.let(T.unsafe(nil), String)
# @api private
#
-# source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#15
+# source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#16
RuboCop::CLI::Command::AutoGenerateConfig::PHASE_2 = T.let(T.unsafe(nil), String)
+# @api private
+#
+# source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#13
+RuboCop::CLI::Command::AutoGenerateConfig::PLACEHOLDER = T.let(T.unsafe(nil), String)
+
# @api private
#
# source://rubocop//lib/rubocop/cli/command/auto_generate_config.rb#12
@@ -412,6 +421,18 @@ end
# source://rubocop//lib/rubocop/cli/command/init_dotfile.rb#9
RuboCop::CLI::Command::InitDotfile::DOTFILE = T.let(T.unsafe(nil), String)
+# Start Language Server Protocol of RuboCop.
+#
+# @api private
+#
+# source://rubocop//lib/rubocop/cli/command/lsp.rb#10
+class RuboCop::CLI::Command::Lsp < ::RuboCop::CLI::Command::Base
+ # @api private
+ #
+ # source://rubocop//lib/rubocop/cli/command/lsp.rb#13
+ def run; end
+end
+
# Shows the given cops, or all cops by default, and their configurations
# for the current directory.
#
@@ -925,7 +946,7 @@ end
# during a run of the rubocop program, if files in several
# directories are inspected.
#
-# source://rubocop//lib/rubocop/config.rb#14
+# source://rubocop//lib/rubocop/config.rb#12
class RuboCop::Config
include ::RuboCop::PathUtil
include ::RuboCop::FileFinder
@@ -933,7 +954,7 @@ class RuboCop::Config
# @return [Config] a new instance of Config
#
- # source://rubocop//lib/rubocop/config.rb#32
+ # source://rubocop//lib/rubocop/config.rb#30
def initialize(hash = T.unsafe(nil), loaded_path = T.unsafe(nil)); end
# source://forwardable/1.3.3/forwardable.rb#231
@@ -944,15 +965,15 @@ class RuboCop::Config
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/config.rb#172
+ # source://rubocop//lib/rubocop/config.rb#170
def active_support_extensions_enabled?; end
- # source://rubocop//lib/rubocop/config.rb#98
+ # source://rubocop//lib/rubocop/config.rb#96
def add_excludes_from_higher_level(highest_config); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/config.rb#195
+ # source://rubocop//lib/rubocop/config.rb#193
def allowed_camel_case_file?(file); end
# Paths specified in configuration files starting with .rubocop are
@@ -961,25 +982,25 @@ class RuboCop::Config
# config/default.yml, for example, are not relative to RuboCop's config
# directory since that wouldn't work.
#
- # source://rubocop//lib/rubocop/config.rb#239
+ # source://rubocop//lib/rubocop/config.rb#237
def base_dir_for_path_parameters; end
- # source://rubocop//lib/rubocop/config.rb#264
+ # source://rubocop//lib/rubocop/config.rb#262
def bundler_lock_file_path; end
- # source://rubocop//lib/rubocop/config.rb#53
+ # source://rubocop//lib/rubocop/config.rb#51
def check; end
# @api private
# @return [Boolean] whether config for this badge has 'Include' or 'Exclude' keys
#
- # source://rubocop//lib/rubocop/config.rb#144
+ # source://rubocop//lib/rubocop/config.rb#142
def clusivity_config_for_badge?(badge); end
# source://forwardable/1.3.3/forwardable.rb#231
def delete(*args, **_arg1, &block); end
- # source://rubocop//lib/rubocop/config.rb#110
+ # source://rubocop//lib/rubocop/config.rb#108
def deprecation_check; end
# source://forwardable/1.3.3/forwardable.rb#231
@@ -987,7 +1008,7 @@ class RuboCop::Config
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/config.rb#164
+ # source://rubocop//lib/rubocop/config.rb#162
def disabled_new_cops?; end
# source://forwardable/1.3.3/forwardable.rb#231
@@ -998,7 +1019,7 @@ class RuboCop::Config
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/config.rb#168
+ # source://rubocop//lib/rubocop/config.rb#166
def enabled_new_cops?; end
# source://forwardable/1.3.3/forwardable.rb#231
@@ -1006,22 +1027,22 @@ class RuboCop::Config
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/config.rb#217
+ # source://rubocop//lib/rubocop/config.rb#215
def file_to_exclude?(file); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/config.rb#176
+ # source://rubocop//lib/rubocop/config.rb#174
def file_to_include?(file); end
- # source://rubocop//lib/rubocop/config.rb#160
+ # source://rubocop//lib/rubocop/config.rb#158
def for_all_cops; end
# Note: the 'Enabled' attribute is same as that returned by `for_cop`
#
# @return [Config] for the given cop merged with that of its department (if any)
#
- # source://rubocop//lib/rubocop/config.rb#130
+ # source://rubocop//lib/rubocop/config.rb#128
def for_badge(badge); end
# Note: the 'Enabled' attribute is calculated according to the department's
@@ -1029,7 +1050,7 @@ class RuboCop::Config
#
# @return [Config] for the given cop / cop name.
#
- # source://rubocop//lib/rubocop/config.rb#124
+ # source://rubocop//lib/rubocop/config.rb#122
def for_cop(cop); end
# Note: the 'Enabled' attribute will be present only if specified
@@ -1037,17 +1058,17 @@ class RuboCop::Config
#
# @return [Config] for the given department name.
#
- # source://rubocop//lib/rubocop/config.rb#155
+ # source://rubocop//lib/rubocop/config.rb#153
def for_department(department_name); end
- # source://rubocop//lib/rubocop/config.rb#287
+ # source://rubocop//lib/rubocop/config.rb#285
def inspect; end
# True if this is a config file that is shipped with RuboCop
#
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/config.rb#78
+ # source://rubocop//lib/rubocop/config.rb#76
def internal?; end
# source://forwardable/1.3.3/forwardable.rb#231
@@ -1056,15 +1077,15 @@ class RuboCop::Config
# source://forwardable/1.3.3/forwardable.rb#231
def keys(*args, **_arg1, &block); end
- # source://rubocop//lib/rubocop/config.rb#49
+ # source://rubocop//lib/rubocop/config.rb#47
def loaded_features; end
# Returns the value of attribute loaded_path.
#
- # source://rubocop//lib/rubocop/config.rb#22
+ # source://rubocop//lib/rubocop/config.rb#20
def loaded_path; end
- # source://rubocop//lib/rubocop/config.rb#83
+ # source://rubocop//lib/rubocop/config.rb#81
def make_excludes_absolute; end
# source://forwardable/1.3.3/forwardable.rb#231
@@ -1073,16 +1094,16 @@ class RuboCop::Config
# source://forwardable/1.3.3/forwardable.rb#231
def merge(*args, **_arg1, &block); end
- # source://rubocop//lib/rubocop/config.rb#230
+ # source://rubocop//lib/rubocop/config.rb#228
def path_relative_to_config(path); end
- # source://rubocop//lib/rubocop/config.rb#226
+ # source://rubocop//lib/rubocop/config.rb#224
def patterns_to_exclude; end
- # source://rubocop//lib/rubocop/config.rb#222
+ # source://rubocop//lib/rubocop/config.rb#220
def patterns_to_include; end
- # source://rubocop//lib/rubocop/config.rb#275
+ # source://rubocop//lib/rubocop/config.rb#273
def pending_cops; end
# Returns true if there's a chance that an Include pattern matches hidden
@@ -1090,19 +1111,19 @@ class RuboCop::Config
#
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/config.rb#209
+ # source://rubocop//lib/rubocop/config.rb#207
def possibly_include_hidden?; end
# source://forwardable/1.3.3/forwardable.rb#231
def replace(*args, **_arg1, &block); end
- # source://rubocop//lib/rubocop/config.rb#73
+ # source://rubocop//lib/rubocop/config.rb#71
def signature; end
- # source://rubocop//lib/rubocop/config.rb#260
+ # source://rubocop//lib/rubocop/config.rb#258
def smart_loaded_path; end
- # source://rubocop//lib/rubocop/config.rb#249
+ # source://rubocop//lib/rubocop/config.rb#247
def target_rails_version; end
# source://forwardable/1.3.3/forwardable.rb#231
@@ -1114,7 +1135,7 @@ class RuboCop::Config
# source://forwardable/1.3.3/forwardable.rb#231
def to_hash(*args, **_arg1, &block); end
- # source://rubocop//lib/rubocop/config.rb#69
+ # source://rubocop//lib/rubocop/config.rb#67
def to_s; end
# source://forwardable/1.3.3/forwardable.rb#231
@@ -1123,32 +1144,32 @@ class RuboCop::Config
# source://forwardable/1.3.3/forwardable.rb#231
def validate(*args, **_arg1, &block); end
- # source://rubocop//lib/rubocop/config.rb#60
+ # source://rubocop//lib/rubocop/config.rb#58
def validate_after_resolution; end
private
- # source://rubocop//lib/rubocop/config.rb#322
+ # source://rubocop//lib/rubocop/config.rb#320
def department_of(qualified_cop_name); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/config.rb#310
+ # source://rubocop//lib/rubocop/config.rb#308
def enable_cop?(qualified_cop_name, cop_options); end
- # source://rubocop//lib/rubocop/config.rb#297
+ # source://rubocop//lib/rubocop/config.rb#295
def read_rails_version_from_bundler_lock_file; end
- # source://rubocop//lib/rubocop/config.rb#293
+ # source://rubocop//lib/rubocop/config.rb#291
def target_rails_version_from_bundler_lock_file; end
class << self
- # source://rubocop//lib/rubocop/config.rb#24
+ # source://rubocop//lib/rubocop/config.rb#22
def create(hash, path, check: T.unsafe(nil)); end
end
end
-# source://rubocop//lib/rubocop/config.rb#19
+# source://rubocop//lib/rubocop/config.rb#17
class RuboCop::Config::CopConfig < ::Struct
# Returns the value of attribute metadata
#
@@ -1181,7 +1202,7 @@ class RuboCop::Config::CopConfig < ::Struct
end
end
-# source://rubocop//lib/rubocop/config.rb#21
+# source://rubocop//lib/rubocop/config.rb#19
RuboCop::Config::DEFAULT_RAILS_VERSION = T.let(T.unsafe(nil), Float)
# This class has methods related to finding configuration path.
@@ -1266,12 +1287,12 @@ RuboCop::ConfigFinder::XDG_CONFIG = T.let(T.unsafe(nil), String)
# during a run of the rubocop program, if files in several
# directories are inspected.
#
-# source://rubocop//lib/rubocop/config_loader.rb#18
+# source://rubocop//lib/rubocop/config_loader.rb#17
class RuboCop::ConfigLoader
extend ::RuboCop::FileFinder
class << self
- # source://rubocop//lib/rubocop/config_loader.rb#138
+ # source://rubocop//lib/rubocop/config_loader.rb#137
def add_excludes_from_files(config, config_file); end
# Used to add features that were required inside a config or from
@@ -1279,13 +1300,13 @@ class RuboCop::ConfigLoader
#
# @api private
#
- # source://rubocop//lib/rubocop/config_loader.rb#199
+ # source://rubocop//lib/rubocop/config_loader.rb#198
def add_loaded_features(loaded_features); end
- # source://rubocop//lib/rubocop/config_loader.rb#81
+ # source://rubocop//lib/rubocop/config_loader.rb#80
def add_missing_namespaces(path, hash); end
- # source://rubocop//lib/rubocop/config_loader.rb#42
+ # source://rubocop//lib/rubocop/config_loader.rb#41
def clear_options; end
# Returns the path of .rubocop.yml searching upwards in the
@@ -1294,128 +1315,128 @@ class RuboCop::ConfigLoader
# user's home directory is checked. If there's no .rubocop.yml
# there either, the path to the default file is returned.
#
- # source://rubocop//lib/rubocop/config_loader.rb#105
+ # source://rubocop//lib/rubocop/config_loader.rb#104
def configuration_file_for(target_dir); end
- # source://rubocop//lib/rubocop/config_loader.rb#109
+ # source://rubocop//lib/rubocop/config_loader.rb#108
def configuration_from_file(config_file, check: T.unsafe(nil)); end
# Returns the value of attribute debug.
#
- # source://rubocop//lib/rubocop/config_loader.rb#34
+ # source://rubocop//lib/rubocop/config_loader.rb#33
def debug; end
# Sets the attribute debug
#
# @param value the value to set the attribute debug to.
#
- # source://rubocop//lib/rubocop/config_loader.rb#34
+ # source://rubocop//lib/rubocop/config_loader.rb#33
def debug=(_arg0); end
# Returns the value of attribute debug.
#
- # source://rubocop//lib/rubocop/config_loader.rb#34
+ # source://rubocop//lib/rubocop/config_loader.rb#33
def debug?; end
- # source://rubocop//lib/rubocop/config_loader.rb#148
+ # source://rubocop//lib/rubocop/config_loader.rb#147
def default_configuration; end
# Sets the attribute default_configuration
#
# @param value the value to set the attribute default_configuration to.
#
- # source://rubocop//lib/rubocop/config_loader.rb#36
+ # source://rubocop//lib/rubocop/config_loader.rb#35
def default_configuration=(_arg0); end
# Returns the value of attribute disable_pending_cops.
#
- # source://rubocop//lib/rubocop/config_loader.rb#34
+ # source://rubocop//lib/rubocop/config_loader.rb#33
def disable_pending_cops; end
# Sets the attribute disable_pending_cops
#
# @param value the value to set the attribute disable_pending_cops to.
#
- # source://rubocop//lib/rubocop/config_loader.rb#34
+ # source://rubocop//lib/rubocop/config_loader.rb#33
def disable_pending_cops=(_arg0); end
# Returns the value of attribute enable_pending_cops.
#
- # source://rubocop//lib/rubocop/config_loader.rb#34
+ # source://rubocop//lib/rubocop/config_loader.rb#33
def enable_pending_cops; end
# Sets the attribute enable_pending_cops
#
# @param value the value to set the attribute enable_pending_cops to.
#
- # source://rubocop//lib/rubocop/config_loader.rb#34
+ # source://rubocop//lib/rubocop/config_loader.rb#33
def enable_pending_cops=(_arg0); end
# Returns the value of attribute ignore_parent_exclusion.
#
- # source://rubocop//lib/rubocop/config_loader.rb#34
+ # source://rubocop//lib/rubocop/config_loader.rb#33
def ignore_parent_exclusion; end
# Sets the attribute ignore_parent_exclusion
#
# @param value the value to set the attribute ignore_parent_exclusion to.
#
- # source://rubocop//lib/rubocop/config_loader.rb#34
+ # source://rubocop//lib/rubocop/config_loader.rb#33
def ignore_parent_exclusion=(_arg0); end
# Returns the value of attribute ignore_parent_exclusion.
#
- # source://rubocop//lib/rubocop/config_loader.rb#34
+ # source://rubocop//lib/rubocop/config_loader.rb#33
def ignore_parent_exclusion?; end
# Returns the value of attribute ignore_unrecognized_cops.
#
- # source://rubocop//lib/rubocop/config_loader.rb#34
+ # source://rubocop//lib/rubocop/config_loader.rb#33
def ignore_unrecognized_cops; end
# Sets the attribute ignore_unrecognized_cops
#
# @param value the value to set the attribute ignore_unrecognized_cops to.
#
- # source://rubocop//lib/rubocop/config_loader.rb#34
+ # source://rubocop//lib/rubocop/config_loader.rb#33
def ignore_unrecognized_cops=(_arg0); end
# @api private
#
- # source://rubocop//lib/rubocop/config_loader.rb#156
+ # source://rubocop//lib/rubocop/config_loader.rb#155
def inject_defaults!(project_root); end
- # source://rubocop//lib/rubocop/config_loader.rb#48
+ # source://rubocop//lib/rubocop/config_loader.rb#47
def load_file(file, check: T.unsafe(nil)); end
# @raise [TypeError]
#
- # source://rubocop//lib/rubocop/config_loader.rb#68
+ # source://rubocop//lib/rubocop/config_loader.rb#67
def load_yaml_configuration(absolute_path); end
# Returns the value of attribute loaded_features.
#
- # source://rubocop//lib/rubocop/config_loader.rb#37
+ # source://rubocop//lib/rubocop/config_loader.rb#36
def loaded_features; end
# Return a recursive merge of two hashes. That is, a normal hash merge,
# with the addition that any value that is a hash, and occurs in both
# arguments, will also be merged. And so on.
#
- # source://rubocop//lib/rubocop/config_loader.rb#96
+ # source://rubocop//lib/rubocop/config_loader.rb#95
def merge(base_hash, derived_hash); end
# Merges the given configuration with the default one.
#
- # source://rubocop//lib/rubocop/config_loader.rb#192
+ # source://rubocop//lib/rubocop/config_loader.rb#191
def merge_with_default(config, config_file, unset_nil: T.unsafe(nil)); end
- # source://rubocop//lib/rubocop/config_loader.rb#129
+ # source://rubocop//lib/rubocop/config_loader.rb#128
def pending_cops_only_qualified(pending_cops); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/config_loader.rb#133
+ # source://rubocop//lib/rubocop/config_loader.rb#132
def possible_new_cops?(config); end
# Returns the path RuboCop inferred as the root of the project. No file
@@ -1423,48 +1444,48 @@ class RuboCop::ConfigLoader
#
# @deprecated Use `RuboCop::ConfigFinder.project_root` instead.
#
- # source://rubocop//lib/rubocop/config_loader.rb#167
+ # source://rubocop//lib/rubocop/config_loader.rb#166
def project_root; end
- # source://rubocop//lib/rubocop/config_loader.rb#176
+ # source://rubocop//lib/rubocop/config_loader.rb#175
def warn_on_pending_cops(pending_cops); end
- # source://rubocop//lib/rubocop/config_loader.rb#184
+ # source://rubocop//lib/rubocop/config_loader.rb#183
def warn_pending_cop(cop); end
private
- # source://rubocop//lib/rubocop/config_loader.rb#213
+ # source://rubocop//lib/rubocop/config_loader.rb#212
def check_duplication(yaml_code, absolute_path); end
- # source://rubocop//lib/rubocop/config_loader.rb#205
+ # source://rubocop//lib/rubocop/config_loader.rb#204
def file_path(file); end
# Read the specified file, or exit with a friendly, concise message on
# stderr. Care is taken to use the standard OS exit code for a "file not
# found" error.
#
- # source://rubocop//lib/rubocop/config_loader.rb#233
+ # source://rubocop//lib/rubocop/config_loader.rb#232
def read_file(absolute_path); end
- # source://rubocop//lib/rubocop/config_loader.rb#209
+ # source://rubocop//lib/rubocop/config_loader.rb#208
def resolver; end
- # source://rubocop//lib/rubocop/config_loader.rb#239
+ # source://rubocop//lib/rubocop/config_loader.rb#238
def yaml_safe_load(yaml_code, filename); end
- # source://rubocop//lib/rubocop/config_loader.rb#249
+ # source://rubocop//lib/rubocop/config_loader.rb#248
def yaml_safe_load!(yaml_code, filename); end
end
end
-# source://rubocop//lib/rubocop/config_loader.rb#21
+# source://rubocop//lib/rubocop/config_loader.rb#20
RuboCop::ConfigLoader::DEFAULT_FILE = T.let(T.unsafe(nil), String)
-# source://rubocop//lib/rubocop/config_loader.rb#19
+# source://rubocop//lib/rubocop/config_loader.rb#18
RuboCop::ConfigLoader::DOTFILE = T.let(T.unsafe(nil), String)
-# source://rubocop//lib/rubocop/config_loader.rb#20
+# source://rubocop//lib/rubocop/config_loader.rb#19
RuboCop::ConfigLoader::RUBOCOP_HOME = T.let(T.unsafe(nil), String)
# A help class for ConfigLoader that handles configuration resolution.
@@ -1481,7 +1502,7 @@ class RuboCop::ConfigLoaderResolver
# @api private
#
# source://rubocop//lib/rubocop/config_loader_resolver.rb#45
- def fix_include_paths(base_config_path, hash, key, value); end
+ def fix_include_paths(base_config_path, hash, path, key, value); end
# Return a recursive merge of two hashes. That is, a normal hash merge,
# with the addition that any value that is a hash, and occurs in both
@@ -1490,7 +1511,7 @@ class RuboCop::ConfigLoaderResolver
#
# @api private
#
- # source://rubocop//lib/rubocop/config_loader_resolver.rb#98
+ # source://rubocop//lib/rubocop/config_loader_resolver.rb#99
def merge(base_hash, derived_hash, **opts); end
# Merges the given configuration with the default one. If
@@ -1501,7 +1522,7 @@ class RuboCop::ConfigLoaderResolver
#
# @api private
#
- # source://rubocop//lib/rubocop/config_loader_resolver.rb#74
+ # source://rubocop//lib/rubocop/config_loader_resolver.rb#75
def merge_with_default(config, config_file, unset_nil:); end
# An `Enabled: true` setting in user configuration for a cop overrides an
@@ -1509,7 +1530,7 @@ class RuboCop::ConfigLoaderResolver
#
# @api private
#
- # source://rubocop//lib/rubocop/config_loader_resolver.rb#118
+ # source://rubocop//lib/rubocop/config_loader_resolver.rb#119
def override_department_setting_for_cops(base_hash, derived_hash); end
# If a cop was previously explicitly enabled, but then superseded by the
@@ -1517,7 +1538,7 @@ class RuboCop::ConfigLoaderResolver
#
# @api private
#
- # source://rubocop//lib/rubocop/config_loader_resolver.rb#135
+ # source://rubocop//lib/rubocop/config_loader_resolver.rb#136
def override_enabled_for_disabled_departments(base_hash, derived_hash); end
# @api private
@@ -1527,7 +1548,7 @@ class RuboCop::ConfigLoaderResolver
# @api private
#
- # source://rubocop//lib/rubocop/config_loader_resolver.rb#54
+ # source://rubocop//lib/rubocop/config_loader_resolver.rb#55
def resolve_inheritance_from_gems(hash); end
# @api private
@@ -1539,85 +1560,85 @@ class RuboCop::ConfigLoaderResolver
# @api private
#
- # source://rubocop//lib/rubocop/config_loader_resolver.rb#207
+ # source://rubocop//lib/rubocop/config_loader_resolver.rb#208
def base_configs(path, inherit_from, file); end
# @api private
#
- # source://rubocop//lib/rubocop/config_loader_resolver.rb#175
+ # source://rubocop//lib/rubocop/config_loader_resolver.rb#176
def determine_inherit_mode(hash, key); end
# @api private
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/config_loader_resolver.rb#151
+ # source://rubocop//lib/rubocop/config_loader_resolver.rb#152
def disabled?(hash, department); end
# @api private
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/config_loader_resolver.rb#155
+ # source://rubocop//lib/rubocop/config_loader_resolver.rb#156
def duplicate_setting?(base_hash, derived_hash, key, inherited_file); end
# @api private
#
- # source://rubocop//lib/rubocop/config_loader_resolver.rb#267
+ # source://rubocop//lib/rubocop/config_loader_resolver.rb#268
def gem_config_path(gem_name, relative_config_path); end
# @api private
#
- # source://rubocop//lib/rubocop/config_loader_resolver.rb#245
+ # source://rubocop//lib/rubocop/config_loader_resolver.rb#246
def handle_disabled_by_default(config, new_default_configuration); end
# @api private
#
- # source://rubocop//lib/rubocop/config_loader_resolver.rb#219
+ # source://rubocop//lib/rubocop/config_loader_resolver.rb#220
def inherited_file(path, inherit_from, file); end
# @api private
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/config_loader_resolver.rb#203
+ # source://rubocop//lib/rubocop/config_loader_resolver.rb#204
def merge_hashes?(base_hash, derived_hash, key); end
# @api private
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/config_loader_resolver.rb#240
+ # source://rubocop//lib/rubocop/config_loader_resolver.rb#241
def remote_file?(uri); end
# @api private
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/config_loader_resolver.rb#195
+ # source://rubocop//lib/rubocop/config_loader_resolver.rb#196
def should_merge?(mode, key); end
# @api private
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/config_loader_resolver.rb#199
+ # source://rubocop//lib/rubocop/config_loader_resolver.rb#200
def should_override?(mode, key); end
# @api private
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/config_loader_resolver.rb#181
+ # source://rubocop//lib/rubocop/config_loader_resolver.rb#182
def should_union?(derived_hash, base_hash, root_mode, key); end
# @api private
#
- # source://rubocop//lib/rubocop/config_loader_resolver.rb#263
+ # source://rubocop//lib/rubocop/config_loader_resolver.rb#264
def transform(config, &block); end
# @api private
#
- # source://rubocop//lib/rubocop/config_loader_resolver.rb#164
+ # source://rubocop//lib/rubocop/config_loader_resolver.rb#165
def warn_on_duplicate_setting(base_hash, derived_hash, key, **opts); end
end
# Raised when a RuboCop configuration file is not found.
#
-# source://rubocop//lib/rubocop/config_loader.rb#10
+# source://rubocop//lib/rubocop/config_loader.rb#9
class RuboCop::ConfigNotFoundError < ::RuboCop::Error; end
# This class handles obsolete configuration.
@@ -1629,23 +1650,23 @@ class RuboCop::ConfigObsoletion
# @api private
# @return [ConfigObsoletion] a new instance of ConfigObsoletion
#
- # source://rubocop//lib/rubocop/config_obsoletion.rb#33
+ # source://rubocop//lib/rubocop/config_obsoletion.rb#35
def initialize(config); end
# @api private
# @raise [ValidationError]
#
- # source://rubocop//lib/rubocop/config_obsoletion.rb#39
+ # source://rubocop//lib/rubocop/config_obsoletion.rb#41
def reject_obsolete!; end
# @api private
#
- # source://rubocop//lib/rubocop/config_obsoletion.rb#19
+ # source://rubocop//lib/rubocop/config_obsoletion.rb#21
def rules; end
# @api private
#
- # source://rubocop//lib/rubocop/config_obsoletion.rb#19
+ # source://rubocop//lib/rubocop/config_obsoletion.rb#21
def warnings; end
private
@@ -1654,7 +1675,7 @@ class RuboCop::ConfigObsoletion
#
# @api private
#
- # source://rubocop//lib/rubocop/config_obsoletion.rb#69
+ # source://rubocop//lib/rubocop/config_obsoletion.rb#72
def load_cop_rules(rules); end
# Parameter rules may apply to multiple cops and multiple parameters
@@ -1663,7 +1684,7 @@ class RuboCop::ConfigObsoletion
#
# @api private
#
- # source://rubocop//lib/rubocop/config_obsoletion.rb#82
+ # source://rubocop//lib/rubocop/config_obsoletion.rb#85
def load_parameter_rules(rules); end
# Default rules for obsoletions are in config/obsoletion.yml
@@ -1671,28 +1692,28 @@ class RuboCop::ConfigObsoletion
#
# @api private
#
- # source://rubocop//lib/rubocop/config_obsoletion.rb#50
+ # source://rubocop//lib/rubocop/config_obsoletion.rb#52
def load_rules; end
# @api private
#
- # source://rubocop//lib/rubocop/config_obsoletion.rb#95
+ # source://rubocop//lib/rubocop/config_obsoletion.rb#98
def obsoletions; end
class << self
# @api private
#
- # source://rubocop//lib/rubocop/config_obsoletion.rb#22
+ # source://rubocop//lib/rubocop/config_obsoletion.rb#24
def files; end
# @api private
#
- # source://rubocop//lib/rubocop/config_obsoletion.rb#22
+ # source://rubocop//lib/rubocop/config_obsoletion.rb#24
def files=(_arg0); end
# @api private
#
- # source://rubocop//lib/rubocop/config_obsoletion.rb#24
+ # source://rubocop//lib/rubocop/config_obsoletion.rb#26
def legacy_cop_names; end
end
end
@@ -1845,6 +1866,11 @@ class RuboCop::ConfigObsoletion::ExtractedCop < ::RuboCop::ConfigObsoletion::Cop
def feature_loaded?; end
end
+# @api private
+#
+# source://rubocop//lib/rubocop/config_obsoletion.rb#18
+RuboCop::ConfigObsoletion::LOAD_RULES_CACHE = T.let(T.unsafe(nil), Hash)
+
# @api private
#
# source://rubocop//lib/rubocop/config_obsoletion.rb#14
@@ -1899,22 +1925,28 @@ class RuboCop::ConfigObsoletion::ParameterRule < ::RuboCop::ConfigObsoletion::Ru
# @api private
#
- # source://rubocop//lib/rubocop/config_obsoletion/parameter_rule.rb#31
+ # source://rubocop//lib/rubocop/config_obsoletion/parameter_rule.rb#39
def alternative; end
# @api private
#
- # source://rubocop//lib/rubocop/config_obsoletion/parameter_rule.rb#35
+ # source://rubocop//lib/rubocop/config_obsoletion/parameter_rule.rb#43
def alternatives; end
# @api private
+ # @return [Boolean]
#
- # source://rubocop//lib/rubocop/config_obsoletion/parameter_rule.rb#39
+ # source://rubocop//lib/rubocop/config_obsoletion/parameter_rule.rb#31
+ def applies_to_current_ruby_version?; end
+
+ # @api private
+ #
+ # source://rubocop//lib/rubocop/config_obsoletion/parameter_rule.rb#47
def reason; end
# @api private
#
- # source://rubocop//lib/rubocop/config_obsoletion/parameter_rule.rb#43
+ # source://rubocop//lib/rubocop/config_obsoletion/parameter_rule.rb#51
def severity; end
end
@@ -2175,13 +2207,13 @@ end
# Handles validation of configuration, for example cop names, parameter
# names, and Ruby versions.
#
-# source://rubocop//lib/rubocop/config_validator.rb#8
+# source://rubocop//lib/rubocop/config_validator.rb#6
class RuboCop::ConfigValidator
extend ::Forwardable
# @return [ConfigValidator] a new instance of ConfigValidator
#
- # source://rubocop//lib/rubocop/config_validator.rb#27
+ # source://rubocop//lib/rubocop/config_validator.rb#25
def initialize(config); end
# source://forwardable/1.3.3/forwardable.rb#231
@@ -2190,10 +2222,10 @@ class RuboCop::ConfigValidator
# source://forwardable/1.3.3/forwardable.rb#231
def smart_loaded_path(*args, **_arg1, &block); end
- # source://rubocop//lib/rubocop/config_validator.rb#63
+ # source://rubocop//lib/rubocop/config_validator.rb#61
def target_ruby_version; end
- # source://rubocop//lib/rubocop/config_validator.rb#33
+ # source://rubocop//lib/rubocop/config_validator.rb#31
def validate; end
# Validations that should only be run after all config resolving has
@@ -2202,100 +2234,100 @@ class RuboCop::ConfigValidator
# chain has been loaded so that only the final value is validated, and
# any obsolete but overridden values are ignored.
#
- # source://rubocop//lib/rubocop/config_validator.rb#59
+ # source://rubocop//lib/rubocop/config_validator.rb#57
def validate_after_resolution; end
# @raise [ValidationError]
#
- # source://rubocop//lib/rubocop/config_validator.rb#67
+ # source://rubocop//lib/rubocop/config_validator.rb#65
def validate_section_presence(name); end
private
# @raise [ValidationError]
#
- # source://rubocop//lib/rubocop/config_validator.rb#104
+ # source://rubocop//lib/rubocop/config_validator.rb#102
def alert_about_unrecognized_cops(invalid_cop_names); end
- # source://rubocop//lib/rubocop/config_validator.rb#253
+ # source://rubocop//lib/rubocop/config_validator.rb#251
def check_cop_config_value(hash, parent = T.unsafe(nil)); end
- # source://rubocop//lib/rubocop/config_validator.rb#77
+ # source://rubocop//lib/rubocop/config_validator.rb#75
def check_obsoletions; end
# @raise [ValidationError]
#
- # source://rubocop//lib/rubocop/config_validator.rb#84
+ # source://rubocop//lib/rubocop/config_validator.rb#82
def check_target_ruby; end
- # source://rubocop//lib/rubocop/config_validator.rb#195
+ # source://rubocop//lib/rubocop/config_validator.rb#193
def each_invalid_parameter(cop_name); end
- # source://rubocop//lib/rubocop/config_validator.rb#120
+ # source://rubocop//lib/rubocop/config_validator.rb#118
def list_unknown_cops(invalid_cop_names); end
# FIXME: Handling colors in exception messages like this is ugly.
#
- # source://rubocop//lib/rubocop/config_validator.rb#266
+ # source://rubocop//lib/rubocop/config_validator.rb#264
def msg_not_boolean(parent, key, value); end
- # source://rubocop//lib/rubocop/config_validator.rb#242
+ # source://rubocop//lib/rubocop/config_validator.rb#240
def reject_conflicting_safe_settings; end
# @raise [ValidationError]
#
- # source://rubocop//lib/rubocop/config_validator.rb#233
+ # source://rubocop//lib/rubocop/config_validator.rb#231
def reject_mutually_exclusive_defaults; end
- # source://rubocop//lib/rubocop/config_validator.rb#142
+ # source://rubocop//lib/rubocop/config_validator.rb#140
def suggestion(name); end
# Returns the value of attribute target_ruby.
#
- # source://rubocop//lib/rubocop/config_validator.rb#75
+ # source://rubocop//lib/rubocop/config_validator.rb#73
def target_ruby; end
- # source://rubocop//lib/rubocop/config_validator.rb#207
+ # source://rubocop//lib/rubocop/config_validator.rb#205
def validate_enforced_styles(valid_cop_names); end
# @raise [ValidationError]
#
- # source://rubocop//lib/rubocop/config_validator.rb#169
+ # source://rubocop//lib/rubocop/config_validator.rb#167
def validate_new_cops_parameter; end
- # source://rubocop//lib/rubocop/config_validator.rb#180
+ # source://rubocop//lib/rubocop/config_validator.rb#178
def validate_parameter_names(valid_cop_names); end
- # source://rubocop//lib/rubocop/config_validator.rb#227
+ # source://rubocop//lib/rubocop/config_validator.rb#225
def validate_support_and_has_list(name, formats, valid); end
# @raise [ValidationError]
#
- # source://rubocop//lib/rubocop/config_validator.rb#158
+ # source://rubocop//lib/rubocop/config_validator.rb#156
def validate_syntax_cop; end
end
# @api private
#
-# source://rubocop//lib/rubocop/config_validator.rb#12
+# source://rubocop//lib/rubocop/config_validator.rb#10
RuboCop::ConfigValidator::COMMON_PARAMS = T.let(T.unsafe(nil), Array)
-# source://rubocop//lib/rubocop/config_validator.rb#22
+# source://rubocop//lib/rubocop/config_validator.rb#20
RuboCop::ConfigValidator::CONFIG_CHECK_DEPARTMENTS = T.let(T.unsafe(nil), Array)
# @api private
#
-# source://rubocop//lib/rubocop/config_validator.rb#21
+# source://rubocop//lib/rubocop/config_validator.rb#19
RuboCop::ConfigValidator::CONFIG_CHECK_KEYS = T.let(T.unsafe(nil), Set)
# @api private
#
-# source://rubocop//lib/rubocop/config_validator.rb#14
+# source://rubocop//lib/rubocop/config_validator.rb#12
RuboCop::ConfigValidator::INTERNAL_PARAMS = T.let(T.unsafe(nil), Array)
# @api private
#
-# source://rubocop//lib/rubocop/config_validator.rb#18
+# source://rubocop//lib/rubocop/config_validator.rb#16
RuboCop::ConfigValidator::NEW_COPS_VALUES = T.let(T.unsafe(nil), Array)
# source://rubocop//lib/rubocop/cop/util.rb#4
@@ -2719,25 +2751,25 @@ module RuboCop::Cop::AutocorrectLogic
# source://rubocop//lib/rubocop/cop/autocorrect_logic.rb#46
def disable_offense(offense_range); end
- # source://rubocop//lib/rubocop/cop/autocorrect_logic.rb#111
+ # source://rubocop//lib/rubocop/cop/autocorrect_logic.rb#113
def disable_offense_at_end_of_line(range, eol_comment); end
- # source://rubocop//lib/rubocop/cop/autocorrect_logic.rb#115
+ # source://rubocop//lib/rubocop/cop/autocorrect_logic.rb#117
def disable_offense_before_and_after(range_by_lines); end
# source://rubocop//lib/rubocop/cop/autocorrect_logic.rb#56
def disable_offense_with_eol_or_surround_comment(range); end
- # source://rubocop//lib/rubocop/cop/autocorrect_logic.rb#107
+ # source://rubocop//lib/rubocop/cop/autocorrect_logic.rb#109
def max_line_length; end
# Expand the given range to include all of any lines it covers. Does not
# include newline at end of the last line.
#
- # source://rubocop//lib/rubocop/cop/autocorrect_logic.rb#97
+ # source://rubocop//lib/rubocop/cop/autocorrect_logic.rb#99
def range_by_lines(range); end
- # source://rubocop//lib/rubocop/cop/autocorrect_logic.rb#88
+ # source://rubocop//lib/rubocop/cop/autocorrect_logic.rb#90
def range_of_first_line(range); end
# source://rubocop//lib/rubocop/cop/autocorrect_logic.rb#67
@@ -3064,6 +3096,14 @@ class RuboCop::Cop::Base
# source://rubocop//lib/rubocop/cop/base.rb#456
def find_severity(_range, severity); end
+ # This experimental feature has been under consideration for a while.
+ #
+ # @api private
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/base.rb#487
+ def lsp_mode?; end
+
# source://rubocop//lib/rubocop/cop/base.rb#477
def range_for_original(range); end
@@ -3083,7 +3123,7 @@ class RuboCop::Cop::Base
# time as this cop
#
# @api public
- # @return [Array]
+ # @return [Array]
#
# source://rubocop//lib/rubocop/cop/base.rb#59
def autocorrect_incompatible_with; end
@@ -3276,38 +3316,121 @@ module RuboCop::Cop::Bundler; end
# gem 'rubocop', '~> 0.90.0'
# end
#
-# source://rubocop//lib/rubocop/cop/bundler/duplicated_gem.rb#38
+# source://rubocop//lib/rubocop/cop/bundler/duplicated_gem.rb#39
class RuboCop::Cop::Bundler::DuplicatedGem < ::RuboCop::Cop::Base
include ::RuboCop::Cop::RangeHelp
- # source://rubocop//lib/rubocop/cop/bundler/duplicated_gem.rb#57
+ # source://rubocop//lib/rubocop/cop/bundler/duplicated_gem.rb#58
def gem_declarations(param0); end
- # source://rubocop//lib/rubocop/cop/bundler/duplicated_gem.rb#44
+ # source://rubocop//lib/rubocop/cop/bundler/duplicated_gem.rb#45
def on_new_investigation; end
private
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/bundler/duplicated_gem.rb#66
+ # source://rubocop//lib/rubocop/cop/bundler/duplicated_gem.rb#67
def conditional_declaration?(nodes); end
- # source://rubocop//lib/rubocop/cop/bundler/duplicated_gem.rb#59
+ # source://rubocop//lib/rubocop/cop/bundler/duplicated_gem.rb#60
def duplicated_gem_nodes; end
- # source://rubocop//lib/rubocop/cop/bundler/duplicated_gem.rb#80
+ # source://rubocop//lib/rubocop/cop/bundler/duplicated_gem.rb#81
def register_offense(node, gem_name, line_of_first_occurrence); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/bundler/duplicated_gem.rb#74
+ # source://rubocop//lib/rubocop/cop/bundler/duplicated_gem.rb#75
def within_conditional?(node, conditional_node); end
end
-# source://rubocop//lib/rubocop/cop/bundler/duplicated_gem.rb#41
+# source://rubocop//lib/rubocop/cop/bundler/duplicated_gem.rb#42
RuboCop::Cop::Bundler::DuplicatedGem::MSG = T.let(T.unsafe(nil), String)
+# A Gem group, or a set of groups, should be listed only once in a Gemfile.
+#
+# For example, if the values of `source`, `git`, `platforms`, or `path`
+# surrounding `group` are different, no offense will be registered:
+#
+# [source,ruby]
+# -----
+# platforms :ruby do
+# group :default do
+# gem 'openssl'
+# end
+# end
+#
+# platforms :jruby do
+# group :default do
+# gem 'jruby-openssl'
+# end
+# end
+# -----
+#
+# @example
+# # bad
+# group :development do
+# gem 'rubocop'
+# end
+#
+# group :development do
+# gem 'rubocop-rails'
+# end
+#
+# # bad (same set of groups declared twice)
+# group :development, :test do
+# gem 'rubocop'
+# end
+#
+# group :test, :development do
+# gem 'rspec'
+# end
+#
+# # good
+# group :development do
+# gem 'rubocop'
+# end
+#
+# group :development, :test do
+# gem 'rspec'
+# end
+#
+# # good
+# gem 'rubocop', groups: [:development, :test]
+# gem 'rspec', groups: [:development, :test]
+#
+# source://rubocop//lib/rubocop/cop/bundler/duplicated_group.rb#58
+class RuboCop::Cop::Bundler::DuplicatedGroup < ::RuboCop::Cop::Base
+ include ::RuboCop::Cop::RangeHelp
+
+ # source://rubocop//lib/rubocop/cop/bundler/duplicated_group.rb#66
+ def group_declarations(param0); end
+
+ # source://rubocop//lib/rubocop/cop/bundler/duplicated_group.rb#68
+ def on_new_investigation; end
+
+ private
+
+ # source://rubocop//lib/rubocop/cop/bundler/duplicated_group.rb#82
+ def duplicated_group_nodes; end
+
+ # source://rubocop//lib/rubocop/cop/bundler/duplicated_group.rb#105
+ def find_source_key(node); end
+
+ # source://rubocop//lib/rubocop/cop/bundler/duplicated_group.rb#115
+ def group_attributes(node); end
+
+ # source://rubocop//lib/rubocop/cop/bundler/duplicated_group.rb#94
+ def register_offense(node, group_name, line_of_first_occurrence); end
+end
+
+# source://rubocop//lib/rubocop/cop/bundler/duplicated_group.rb#61
+RuboCop::Cop::Bundler::DuplicatedGroup::MSG = T.let(T.unsafe(nil), String)
+
+# source://rubocop//lib/rubocop/cop/bundler/duplicated_group.rb#63
+RuboCop::Cop::Bundler::DuplicatedGroup::SOURCE_BLOCK_NAMES = T.let(T.unsafe(nil), Array)
+
# Each gem in the Gemfile should have a comment explaining
# its purpose in the project, or the reason for its version
# or source.
@@ -3746,31 +3869,37 @@ RuboCop::Cop::Bundler::InsecureProtocolSource::RESTRICT_ON_SEND = T.let(T.unsafe
# gem 'rubocop'
#
# gem 'rspec'
-#
-# # good only if TreatCommentsAsGroupSeparators is true
+# @example TreatCommentsAsGroupSeparators: true (default)
+# # good
+# # For code quality
+# gem 'rubocop'
+# # For tests
+# gem 'rspec'
+# @example TreatCommentsAsGroupSeparators: false
+# # bad
# # For code quality
# gem 'rubocop'
# # For tests
# gem 'rspec'
#
-# source://rubocop//lib/rubocop/cop/bundler/ordered_gems.rb#27
+# source://rubocop//lib/rubocop/cop/bundler/ordered_gems.rb#35
class RuboCop::Cop::Bundler::OrderedGems < ::RuboCop::Cop::Base
include ::RuboCop::Cop::OrderedGemNode
extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop//lib/rubocop/cop/bundler/ordered_gems.rb#56
+ # source://rubocop//lib/rubocop/cop/bundler/ordered_gems.rb#64
def gem_declarations(param0); end
- # source://rubocop//lib/rubocop/cop/bundler/ordered_gems.rb#35
+ # source://rubocop//lib/rubocop/cop/bundler/ordered_gems.rb#43
def on_new_investigation; end
private
- # source://rubocop//lib/rubocop/cop/bundler/ordered_gems.rb#49
+ # source://rubocop//lib/rubocop/cop/bundler/ordered_gems.rb#57
def previous_declaration(node); end
end
-# source://rubocop//lib/rubocop/cop/bundler/ordered_gems.rb#31
+# source://rubocop//lib/rubocop/cop/bundler/ordered_gems.rb#39
RuboCop::Cop::Bundler::OrderedGems::MSG = T.let(T.unsafe(nil), String)
# Common functionality for checking assignment nodes.
@@ -4630,7 +4759,7 @@ module RuboCop::Cop::ConfigurableFormatting
#
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/mixin/configurable_formatting.rb#29
+ # source://rubocop//lib/rubocop/cop/mixin/configurable_formatting.rb#30
def class_emitter_method?(node, name); end
# source://rubocop//lib/rubocop/cop/mixin/configurable_formatting.rb#17
@@ -4638,7 +4767,7 @@ module RuboCop::Cop::ConfigurableFormatting
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/mixin/configurable_formatting.rb#23
+ # source://rubocop//lib/rubocop/cop/mixin/configurable_formatting.rb#24
def valid_name?(node, name, given_style = T.unsafe(nil)); end
end
@@ -4878,7 +5007,7 @@ class RuboCop::Cop::Corrector < ::Parser::Source::TreeRewriter
# Legacy
#
- # source://parser/3.2.2.3/lib/parser/source/tree_rewriter.rb#252
+ # source://parser/3.3.0.5/lib/parser/source/tree_rewriter.rb#252
def rewrite; end
# Swaps sources at the given ranges.
@@ -5788,34 +5917,40 @@ RuboCop::Cop::Gemspec::DuplicatedAssignment::MSG = T.let(T.unsafe(nil), String)
# spec.add_runtime_dependency 'rubocop'
#
# spec.add_runtime_dependency 'rspec'
-#
-# # good only if TreatCommentsAsGroupSeparators is true
+# @example TreatCommentsAsGroupSeparators: true (default)
+# # good
+# # For code quality
+# spec.add_dependency 'rubocop'
+# # For tests
+# spec.add_dependency 'rspec'
+# @example TreatCommentsAsGroupSeparators: false
+# # bad
# # For code quality
# spec.add_dependency 'rubocop'
# # For tests
# spec.add_dependency 'rspec'
#
-# source://rubocop//lib/rubocop/cop/gemspec/ordered_dependencies.rb#53
+# source://rubocop//lib/rubocop/cop/gemspec/ordered_dependencies.rb#61
class RuboCop::Cop::Gemspec::OrderedDependencies < ::RuboCop::Cop::Base
include ::RuboCop::Cop::OrderedGemNode
extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop//lib/rubocop/cop/gemspec/ordered_dependencies.rb#87
+ # source://rubocop//lib/rubocop/cop/gemspec/ordered_dependencies.rb#95
def dependency_declarations(param0); end
- # source://rubocop//lib/rubocop/cop/gemspec/ordered_dependencies.rb#61
+ # source://rubocop//lib/rubocop/cop/gemspec/ordered_dependencies.rb#69
def on_new_investigation; end
private
- # source://rubocop//lib/rubocop/cop/gemspec/ordered_dependencies.rb#82
+ # source://rubocop//lib/rubocop/cop/gemspec/ordered_dependencies.rb#90
def get_dependency_name(node); end
- # source://rubocop//lib/rubocop/cop/gemspec/ordered_dependencies.rb#76
+ # source://rubocop//lib/rubocop/cop/gemspec/ordered_dependencies.rb#84
def previous_declaration(node); end
end
-# source://rubocop//lib/rubocop/cop/gemspec/ordered_dependencies.rb#57
+# source://rubocop//lib/rubocop/cop/gemspec/ordered_dependencies.rb#65
RuboCop::Cop::Gemspec::OrderedDependencies::MSG = T.let(T.unsafe(nil), String)
# Requires a gemspec to have `rubygems_mfa_required` metadata set.
@@ -6406,61 +6541,61 @@ module RuboCop::Cop::HashShorthandSyntax
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#122
+ # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#125
def brackets?(method_dispatch_node); end
- # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#152
+ # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#155
def breakdown_value_types_of_hash(hash_node); end
- # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#99
+ # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#102
def def_node_that_require_parentheses(node); end
- # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#176
+ # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#179
def each_omittable_value_pair(hash_value_type_breakdown, &block); end
- # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#172
+ # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#175
def each_omitted_value_pair(hash_value_type_breakdown, &block); end
- # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#77
+ # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#80
def enforced_shorthand_syntax; end
- # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#114
+ # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#117
def find_ancestor_method_dispatch_node(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#164
+ # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#167
def hash_with_mixed_shorthand_syntax?(hash_value_type_breakdown); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#168
+ # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#171
def hash_with_values_that_cant_be_omitted?(hash_value_type_breakdown); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#71
+ # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#74
def ignore_hash_shorthand_syntax?(pair_node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#66
+ # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#69
def ignore_mixed_hash_shorthand_syntax?(hash_node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#137
+ # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#140
def last_expression?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#145
+ # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#148
def method_dispatch_as_argument?(method_dispatch_node); end
- # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#180
+ # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#183
def mixed_shorthand_syntax_check(hash_value_type_breakdown); end
- # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#196
+ # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#199
def no_mixed_shorthand_syntax_check(hash_value_type_breakdown); end
# source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#49
@@ -6468,22 +6603,22 @@ module RuboCop::Cop::HashShorthandSyntax
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#81
+ # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#84
def require_hash_value?(hash_key_source, node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#90
+ # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#93
def require_hash_value_for_around_hash_literal?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#126
+ # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#129
def use_element_of_hash_literal_as_receiver?(ancestor, parent); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#131
+ # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#134
def use_modifier_form_without_parenthesized_method_call?(ancestor); end
end
@@ -6496,12 +6631,12 @@ RuboCop::Cop::HashShorthandSyntax::DO_NOT_MIX_MSG_PREFIX = T.let(T.unsafe(nil),
# source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#11
RuboCop::Cop::HashShorthandSyntax::DO_NOT_MIX_OMIT_VALUE_MSG = T.let(T.unsafe(nil), String)
-# source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#206
+# source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#209
class RuboCop::Cop::HashShorthandSyntax::DefNode < ::Struct
- # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#215
+ # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#218
def first_argument; end
- # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#219
+ # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#222
def last_argument; end
# Returns the value of attribute node
@@ -6515,7 +6650,7 @@ class RuboCop::Cop::HashShorthandSyntax::DefNode < ::Struct
# @return [Object] the newly set value
def node=(_); end
- # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#207
+ # source://rubocop//lib/rubocop/cop/mixin/hash_shorthand_syntax.rb#210
def selector; end
class << self
@@ -6771,7 +6906,7 @@ module RuboCop::Cop::Heredoc
# source://rubocop//lib/rubocop/cop/mixin/heredoc.rb#28
def delimiter_string(node); end
- # source://rubocop//lib/rubocop/cop/mixin/heredoc.rb#32
+ # source://rubocop//lib/rubocop/cop/mixin/heredoc.rb#34
def heredoc_type(node); end
# source://rubocop//lib/rubocop/cop/mixin/heredoc.rb#23
@@ -6899,74 +7034,74 @@ class RuboCop::Cop::LambdaLiteralToMethodCorrector
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#115
+ # source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#118
def arg_to_unparenthesized_call?; end
# Returns the value of attribute arguments.
#
- # source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#31
+ # source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#34
def arguments; end
- # source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#99
+ # source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#102
def arguments_begin_pos; end
- # source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#95
+ # source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#98
def arguments_end_pos; end
- # source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#107
+ # source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#110
def block_begin; end
- # source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#103
+ # source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#106
def block_end; end
# Returns the value of attribute block_node.
#
- # source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#31
+ # source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#34
def block_node; end
- # source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#56
+ # source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#59
def insert_arguments(corrector); end
- # source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#40
+ # source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#43
def insert_separating_space(corrector); end
- # source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#85
+ # source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#88
def lambda_arg_string; end
# Returns the value of attribute method.
#
- # source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#31
+ # source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#34
def method; end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#89
+ # source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#92
def needs_separating_space?; end
- # source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#50
+ # source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#53
def remove_arguments(corrector); end
- # source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#63
+ # source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#66
def remove_leading_whitespace(corrector); end
- # source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#71
+ # source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#74
def remove_trailing_whitespace(corrector); end
- # source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#33
+ # source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#36
def remove_unparenthesized_whitespace(corrector); end
- # source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#76
+ # source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#79
def replace_delimiters(corrector); end
- # source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#46
+ # source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#49
def replace_selector(corrector); end
- # source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#111
+ # source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#114
def selector_end; end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#131
+ # source://rubocop//lib/rubocop/cop/correctors/lambda_literal_to_method_corrector.rb#134
def separating_space?; end
end
@@ -7791,7 +7926,7 @@ RuboCop::Cop::Layout::CaseIndentation::MSG = T.let(T.unsafe(nil), String)
# end
# end
#
-# source://rubocop//lib/rubocop/cop/layout/class_structure.rb#135
+# source://rubocop//lib/rubocop/cop/layout/class_structure.rb#142
class RuboCop::Cop::Layout::ClassStructure < ::RuboCop::Cop::Base
include ::RuboCop::Cop::VisibilityHelp
include ::RuboCop::Cop::CommentsHelp
@@ -7800,35 +7935,35 @@ class RuboCop::Cop::Layout::ClassStructure < ::RuboCop::Cop::Base
# Validates code style on class declaration.
# Add offense when find a node out of expected order.
#
- # source://rubocop//lib/rubocop/cop/layout/class_structure.rb#151
+ # source://rubocop//lib/rubocop/cop/layout/class_structure.rb#158
def on_class(class_node); end
# Validates code style on class declaration.
# Add offense when find a node out of expected order.
#
- # source://rubocop//lib/rubocop/cop/layout/class_structure.rb#151
+ # source://rubocop//lib/rubocop/cop/layout/class_structure.rb#158
def on_sclass(class_node); end
private
# Autocorrect by swapping between two nodes autocorrecting them
#
- # source://rubocop//lib/rubocop/cop/layout/class_structure.rb#167
+ # source://rubocop//lib/rubocop/cop/layout/class_structure.rb#174
def autocorrect(corrector, node); end
- # source://rubocop//lib/rubocop/cop/layout/class_structure.rb#298
+ # source://rubocop//lib/rubocop/cop/layout/class_structure.rb#305
def begin_pos_with_comment(node); end
- # source://rubocop//lib/rubocop/cop/layout/class_structure.rb#321
+ # source://rubocop//lib/rubocop/cop/layout/class_structure.rb#328
def buffer; end
# Setting categories hash allow you to group methods in group to match
# in the {expected_order}.
#
- # source://rubocop//lib/rubocop/cop/layout/class_structure.rb#333
+ # source://rubocop//lib/rubocop/cop/layout/class_structure.rb#340
def categories; end
- # source://rubocop//lib/rubocop/cop/layout/class_structure.rb#227
+ # source://rubocop//lib/rubocop/cop/layout/class_structure.rb#234
def class_elements(class_node); end
# Classifies a node to match with something in the {expected_order}
@@ -7840,21 +7975,21 @@ class RuboCop::Cop::Layout::ClassStructure < ::RuboCop::Cop::Base
# by method name
# @return String otherwise trying to {humanize_node} of the current node
#
- # source://rubocop//lib/rubocop/cop/layout/class_structure.rb#187
+ # source://rubocop//lib/rubocop/cop/layout/class_structure.rb#194
def classify(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/layout/class_structure.rb#264
+ # source://rubocop//lib/rubocop/cop/layout/class_structure.rb#271
def dynamic_constant?(node); end
- # source://rubocop//lib/rubocop/cop/layout/class_structure.rb#288
+ # source://rubocop//lib/rubocop/cop/layout/class_structure.rb#295
def end_position_for(node); end
# Load expected order from `ExpectedOrder` config.
# Define new terms in the expected order by adding new {categories}.
#
- # source://rubocop//lib/rubocop/cop/layout/class_structure.rb#327
+ # source://rubocop//lib/rubocop/cop/layout/class_structure.rb#334
def expected_order; end
# Categorize a node according to the {expected_order}
@@ -7864,51 +7999,51 @@ class RuboCop::Cop::Layout::ClassStructure < ::RuboCop::Cop::Base
# @param node to be analysed.
# @return [String] with the key category or the `method_name` as string
#
- # source://rubocop//lib/rubocop/cop/layout/class_structure.rb#205
+ # source://rubocop//lib/rubocop/cop/layout/class_structure.rb#212
def find_category(node); end
- # source://rubocop//lib/rubocop/cop/layout/class_structure.rb#317
+ # source://rubocop//lib/rubocop/cop/layout/class_structure.rb#324
def find_heredoc(node); end
- # source://rubocop//lib/rubocop/cop/layout/class_structure.rb#255
+ # source://rubocop//lib/rubocop/cop/layout/class_structure.rb#262
def humanize_node(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/layout/class_structure.rb#239
+ # source://rubocop//lib/rubocop/cop/layout/class_structure.rb#246
def ignore?(node, classification); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/layout/class_structure.rb#246
+ # source://rubocop//lib/rubocop/cop/layout/class_structure.rb#253
def ignore_for_autocorrect?(node, sibling); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/layout/class_structure.rb#282
+ # source://rubocop//lib/rubocop/cop/layout/class_structure.rb#289
def marked_as_private_constant?(node, name); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/layout/class_structure.rb#272
+ # source://rubocop//lib/rubocop/cop/layout/class_structure.rb#279
def private_constant?(node); end
- # source://rubocop//lib/rubocop/cop/layout/class_structure.rb#313
+ # source://rubocop//lib/rubocop/cop/layout/class_structure.rb#320
def start_line_position(node); end
- # source://rubocop//lib/rubocop/cop/layout/class_structure.rb#218
+ # source://rubocop//lib/rubocop/cop/layout/class_structure.rb#225
def walk_over_nested_class_definition(class_node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/layout/class_structure.rb#309
+ # source://rubocop//lib/rubocop/cop/layout/class_structure.rb#316
def whole_line_comment_at_line?(line); end
end
-# source://rubocop//lib/rubocop/cop/layout/class_structure.rb#140
+# source://rubocop//lib/rubocop/cop/layout/class_structure.rb#147
RuboCop::Cop::Layout::ClassStructure::HUMANIZED_NODE_TYPE = T.let(T.unsafe(nil), Hash)
-# source://rubocop//lib/rubocop/cop/layout/class_structure.rb#147
+# source://rubocop//lib/rubocop/cop/layout/class_structure.rb#154
RuboCop::Cop::Layout::ClassStructure::MSG = T.let(T.unsafe(nil), String)
# Checks the indentation of here document closings.
@@ -8373,11 +8508,6 @@ class RuboCop::Cop::Layout::DotPosition < ::RuboCop::Cop::Base
private
- # @return [Boolean]
- #
- # source://rubocop//lib/rubocop/cop/layout/dot_position.rb#137
- def ampersand_dot?(node); end
-
# source://rubocop//lib/rubocop/cop/layout/dot_position.rb#49
def autocorrect(corrector, dot, node); end
@@ -8600,7 +8730,23 @@ end
# source://rubocop//lib/rubocop/cop/layout/empty_comment.rb#67
RuboCop::Cop::Layout::EmptyComment::MSG = T.let(T.unsafe(nil), String)
-# Enforces empty line after guard clause
+# Enforces empty line after guard clause.
+#
+# This cop allows `# :nocov:` directive after guard clause because
+# SimpleCov excludes code from the coverage report by wrapping it in `# :nocov:`:
+#
+# [source,ruby]
+# ----
+# def foo
+# # :nocov:
+# return if condition
+# # :nocov:
+# bar
+# end
+# ----
+#
+# Refer to SimpleCov's documentation for more details:
+# https://github.com/simplecov-ruby/simplecov#ignoringskipping-code
#
# @example
#
@@ -8633,90 +8779,106 @@ RuboCop::Cop::Layout::EmptyComment::MSG = T.let(T.unsafe(nil), String)
# end
# end
#
-# source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#38
+# source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#54
class RuboCop::Cop::Layout::EmptyLineAfterGuardClause < ::RuboCop::Cop::Base
include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector
extend ::RuboCop::PathUtil
extend ::RuboCop::Cop::Util
- # source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#46
+ # source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#63
def on_if(node); end
private
- # source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#65
+ # source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#84
def autocorrect(corrector, node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#87
+ # source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#106
def contains_guard_clause?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#80
+ # source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#99
def correct_style?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#160
+ # source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#181
def heredoc?(node); end
- # source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#153
+ # source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#174
def heredoc_line(node, heredoc_node); end
- # source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#129
+ # source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#148
def last_heredoc_argument(node); end
- # source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#143
+ # source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#162
def last_heredoc_argument_node(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#172
+ # source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#199
def multiple_statements_on_line?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#98
- def next_line_empty?(line); end
+ # source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#121
+ def next_line_allowed_directive_comment?(line); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#91
- def next_line_empty_or_enable_directive_comment?(line); end
+ # source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#117
+ def next_line_empty?(line); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#102
- def next_line_enable_directive_comment?(line); end
+ # source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#110
+ def next_line_empty_or_allowed_directive_comment?(line); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#108
+ # source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#127
def next_line_rescue_or_ensure?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#122
+ # source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#141
def next_sibling_empty_or_guard_clause?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#113
+ # source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#132
def next_sibling_parent_empty_or_else?(node); end
- # source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#164
+ # source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#191
def offense_location(node); end
+
+ # SimpleCov excludes code from the coverage report by wrapping it in `# :nocov:`:
+ # https://github.com/simplecov-ruby/simplecov#ignoringskipping-code
+ #
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#208
+ def simplecov_directive_comment?(comment); end
+
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#185
+ def use_heredoc_in_condition?(condition); end
end
-# source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#44
+# source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#60
RuboCop::Cop::Layout::EmptyLineAfterGuardClause::END_OF_HEREDOC_LINE = T.let(T.unsafe(nil), Integer)
-# source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#43
+# source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#59
RuboCop::Cop::Layout::EmptyLineAfterGuardClause::MSG = T.let(T.unsafe(nil), String)
+# source://rubocop//lib/rubocop/cop/layout/empty_line_after_guard_clause.rb#61
+RuboCop::Cop::Layout::EmptyLineAfterGuardClause::SIMPLE_DIRECTIVE_COMMENT_PATTERN = T.let(T.unsafe(nil), Regexp)
+
# Checks for a newline after the final magic comment.
#
# @example
@@ -8874,19 +9036,14 @@ RuboCop::Cop::Layout::EmptyLineAfterMultilineCondition::MSG = T.let(T.unsafe(nil
# `AllowAdjacentOneLineDefs` configures whether adjacent
# one-line definitions are considered an offense.
#
-# @example AllowAdjacentOneLineDefs: false
+# @example EmptyLineBetweenMethodDefs: true (default)
+# # checks for empty lines between method definitions.
#
# # bad
-# class ErrorA < BaseError; end
-# class ErrorB < BaseError; end
-# class ErrorC < BaseError; end
-#
-# # good
-# class ErrorA < BaseError; end
-#
-# class ErrorB < BaseError; end
-#
-# class ErrorC < BaseError; end
+# def a
+# end
+# def b
+# end
# @example
#
# # good
@@ -8950,21 +9107,26 @@ RuboCop::Cop::Layout::EmptyLineAfterMultilineCondition::MSG = T.let(T.unsafe(nil
# class ErrorB < BaseError; end
#
# class ErrorC < BaseError; end
-# @example EmptyLineBetweenMethodDefs: true (default)
-# # checks for empty lines between method definitions.
+# @example AllowAdjacentOneLineDefs: false
#
# # bad
-# def a
-# end
-# def b
-# end
+# class ErrorA < BaseError; end
+# class ErrorB < BaseError; end
+# class ErrorC < BaseError; end
+#
+# # good
+# class ErrorA < BaseError; end
+#
+# class ErrorB < BaseError; end
+#
+# class ErrorC < BaseError; end
#
# source://rubocop//lib/rubocop/cop/layout/empty_line_between_defs.rb#108
class RuboCop::Cop::Layout::EmptyLineBetweenDefs < ::RuboCop::Cop::Base
include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop//lib/rubocop/cop/layout/empty_line_between_defs.rb#144
+ # source://rubocop//lib/rubocop/cop/layout/empty_line_between_defs.rb#145
def autocorrect(corrector, prev_def, node, count); end
# source://rubocop//lib/rubocop/cop/layout/empty_line_between_defs.rb#130
@@ -8983,73 +9145,84 @@ class RuboCop::Cop::Layout::EmptyLineBetweenDefs < ::RuboCop::Cop::Base
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/layout/empty_line_between_defs.rb#267
+ # source://rubocop//lib/rubocop/cop/layout/empty_line_between_defs.rb#290
def allowance_range?; end
- # source://rubocop//lib/rubocop/cop/layout/empty_line_between_defs.rb#251
+ # source://rubocop//lib/rubocop/cop/layout/empty_line_between_defs.rb#274
def autocorrect_insert_lines(corrector, newline_pos, count); end
- # source://rubocop//lib/rubocop/cop/layout/empty_line_between_defs.rb#244
+ # source://rubocop//lib/rubocop/cop/layout/empty_line_between_defs.rb#267
def autocorrect_remove_lines(corrector, newline_pos, count); end
- # source://rubocop//lib/rubocop/cop/layout/empty_line_between_defs.rb#208
+ # source://rubocop//lib/rubocop/cop/layout/empty_line_between_defs.rb#227
def blank_lines_count_between(first_def_node, second_def_node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/layout/empty_line_between_defs.rb#162
+ # source://rubocop//lib/rubocop/cop/layout/empty_line_between_defs.rb#171
def candidate?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/layout/empty_line_between_defs.rb#172
+ # source://rubocop//lib/rubocop/cop/layout/empty_line_between_defs.rb#191
def class_candidate?(node); end
- # source://rubocop//lib/rubocop/cop/layout/empty_line_between_defs.rb#232
+ # source://rubocop//lib/rubocop/cop/layout/empty_line_between_defs.rb#255
def def_end(node); end
- # source://rubocop//lib/rubocop/cop/layout/empty_line_between_defs.rb#228
+ # source://rubocop//lib/rubocop/cop/layout/empty_line_between_defs.rb#163
+ def def_location(correction_node); end
+
+ # source://rubocop//lib/rubocop/cop/layout/empty_line_between_defs.rb#247
def def_start(node); end
- # source://rubocop//lib/rubocop/cop/layout/empty_line_between_defs.rb#236
+ # source://rubocop//lib/rubocop/cop/layout/empty_line_between_defs.rb#178
+ def empty_line_between_macros; end
+
+ # source://rubocop//lib/rubocop/cop/layout/empty_line_between_defs.rb#259
def end_loc(node); end
- # source://rubocop//lib/rubocop/cop/layout/empty_line_between_defs.rb#186
+ # source://rubocop//lib/rubocop/cop/layout/empty_line_between_defs.rb#205
def expected_lines; end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/layout/empty_line_between_defs.rb#204
+ # source://rubocop//lib/rubocop/cop/layout/empty_line_between_defs.rb#223
def line_count_allowed?(count); end
- # source://rubocop//lib/rubocop/cop/layout/empty_line_between_defs.rb#220
+ # source://rubocop//lib/rubocop/cop/layout/empty_line_between_defs.rb#239
def lines_between_defs(first_def_node, second_def_node); end
- # source://rubocop//lib/rubocop/cop/layout/empty_line_between_defs.rb#216
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/layout/empty_line_between_defs.rb#182
+ def macro_candidate?(node); end
+
+ # source://rubocop//lib/rubocop/cop/layout/empty_line_between_defs.rb#235
def maximum_empty_lines; end
- # source://rubocop//lib/rubocop/cop/layout/empty_line_between_defs.rb#180
+ # source://rubocop//lib/rubocop/cop/layout/empty_line_between_defs.rb#199
def message(node, count: T.unsafe(nil)); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/layout/empty_line_between_defs.rb#168
+ # source://rubocop//lib/rubocop/cop/layout/empty_line_between_defs.rb#187
def method_candidate?(node); end
- # source://rubocop//lib/rubocop/cop/layout/empty_line_between_defs.rb#212
+ # source://rubocop//lib/rubocop/cop/layout/empty_line_between_defs.rb#231
def minimum_empty_lines; end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/layout/empty_line_between_defs.rb#176
+ # source://rubocop//lib/rubocop/cop/layout/empty_line_between_defs.rb#195
def module_candidate?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/layout/empty_line_between_defs.rb#195
+ # source://rubocop//lib/rubocop/cop/layout/empty_line_between_defs.rb#214
def multiple_blank_lines_groups?(first_def_node, second_def_node); end
- # source://rubocop//lib/rubocop/cop/layout/empty_line_between_defs.rb#258
+ # source://rubocop//lib/rubocop/cop/layout/empty_line_between_defs.rb#281
def node_type(node); end
class << self
@@ -9723,36 +9896,42 @@ class RuboCop::Cop::Layout::EmptyLinesAroundExceptionHandlingKeywords < ::RuboCo
include ::RuboCop::Cop::Layout::EmptyLinesAroundBody
extend ::RuboCop::Cop::AutoCorrector
+ # source://rubocop//lib/rubocop/cop/layout/empty_lines_around_exception_handling_keywords.rb#67
+ def on_block(node); end
+
# source://rubocop//lib/rubocop/cop/layout/empty_lines_around_exception_handling_keywords.rb#67
def on_def(node); end
# source://rubocop//lib/rubocop/cop/layout/empty_lines_around_exception_handling_keywords.rb#67
def on_defs(node); end
- # source://rubocop//lib/rubocop/cop/layout/empty_lines_around_exception_handling_keywords.rb#72
+ # source://rubocop//lib/rubocop/cop/layout/empty_lines_around_exception_handling_keywords.rb#74
def on_kwbegin(node); end
+ # source://rubocop//lib/rubocop/cop/layout/empty_lines_around_exception_handling_keywords.rb#67
+ def on_numblock(node); end
+
private
- # source://rubocop//lib/rubocop/cop/layout/empty_lines_around_exception_handling_keywords.rb#79
+ # source://rubocop//lib/rubocop/cop/layout/empty_lines_around_exception_handling_keywords.rb#81
def check_body(body, line_of_def_or_kwbegin); end
- # source://rubocop//lib/rubocop/cop/layout/empty_lines_around_exception_handling_keywords.rb#106
+ # source://rubocop//lib/rubocop/cop/layout/empty_lines_around_exception_handling_keywords.rb#108
def keyword_locations(node); end
- # source://rubocop//lib/rubocop/cop/layout/empty_lines_around_exception_handling_keywords.rb#123
+ # source://rubocop//lib/rubocop/cop/layout/empty_lines_around_exception_handling_keywords.rb#125
def keyword_locations_in_ensure(node); end
- # source://rubocop//lib/rubocop/cop/layout/empty_lines_around_exception_handling_keywords.rb#119
+ # source://rubocop//lib/rubocop/cop/layout/empty_lines_around_exception_handling_keywords.rb#121
def keyword_locations_in_rescue(node); end
- # source://rubocop//lib/rubocop/cop/layout/empty_lines_around_exception_handling_keywords.rb#94
+ # source://rubocop//lib/rubocop/cop/layout/empty_lines_around_exception_handling_keywords.rb#96
def last_rescue_and_end_on_same_line(body); end
- # source://rubocop//lib/rubocop/cop/layout/empty_lines_around_exception_handling_keywords.rb#98
+ # source://rubocop//lib/rubocop/cop/layout/empty_lines_around_exception_handling_keywords.rb#100
def message(location, keyword); end
- # source://rubocop//lib/rubocop/cop/layout/empty_lines_around_exception_handling_keywords.rb#102
+ # source://rubocop//lib/rubocop/cop/layout/empty_lines_around_exception_handling_keywords.rb#104
def style; end
end
@@ -9928,54 +10107,54 @@ class RuboCop::Cop::Layout::EndAlignment < ::RuboCop::Cop::Base
include ::RuboCop::Cop::EndKeywordAlignment
extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop//lib/rubocop/cop/layout/end_alignment.rb#105
+ # source://rubocop//lib/rubocop/cop/layout/end_alignment.rb#109
def on_case(node); end
- # source://rubocop//lib/rubocop/cop/layout/end_alignment.rb#105
+ # source://rubocop//lib/rubocop/cop/layout/end_alignment.rb#109
def on_case_match(node); end
# source://rubocop//lib/rubocop/cop/layout/end_alignment.rb#81
def on_class(node); end
- # source://rubocop//lib/rubocop/cop/layout/end_alignment.rb#93
+ # source://rubocop//lib/rubocop/cop/layout/end_alignment.rb#97
def on_if(node); end
- # source://rubocop//lib/rubocop/cop/layout/end_alignment.rb#89
+ # source://rubocop//lib/rubocop/cop/layout/end_alignment.rb#93
def on_module(node); end
# source://rubocop//lib/rubocop/cop/layout/end_alignment.rb#85
def on_sclass(node); end
- # source://rubocop//lib/rubocop/cop/layout/end_alignment.rb#101
+ # source://rubocop//lib/rubocop/cop/layout/end_alignment.rb#105
def on_until(node); end
- # source://rubocop//lib/rubocop/cop/layout/end_alignment.rb#97
+ # source://rubocop//lib/rubocop/cop/layout/end_alignment.rb#101
def on_while(node); end
private
- # source://rubocop//lib/rubocop/cop/layout/end_alignment.rb#161
+ # source://rubocop//lib/rubocop/cop/layout/end_alignment.rb#165
def alignment_node(node); end
- # source://rubocop//lib/rubocop/cop/layout/end_alignment.rb#172
+ # source://rubocop//lib/rubocop/cop/layout/end_alignment.rb#182
def alignment_node_for_variable_style(node); end
- # source://rubocop//lib/rubocop/cop/layout/end_alignment.rb#142
+ # source://rubocop//lib/rubocop/cop/layout/end_alignment.rb#146
def asgn_variable_align_with(outer_node, inner_node); end
- # source://rubocop//lib/rubocop/cop/layout/end_alignment.rb#190
+ # source://rubocop//lib/rubocop/cop/layout/end_alignment.rb#200
def assignment_or_operator_method(node); end
- # source://rubocop//lib/rubocop/cop/layout/end_alignment.rb#116
+ # source://rubocop//lib/rubocop/cop/layout/end_alignment.rb#120
def autocorrect(corrector, node); end
- # source://rubocop//lib/rubocop/cop/layout/end_alignment.rb#131
+ # source://rubocop//lib/rubocop/cop/layout/end_alignment.rb#135
def check_asgn_alignment(outer_node, inner_node); end
- # source://rubocop//lib/rubocop/cop/layout/end_alignment.rb#120
+ # source://rubocop//lib/rubocop/cop/layout/end_alignment.rb#124
def check_assignment(node, rhs); end
- # source://rubocop//lib/rubocop/cop/layout/end_alignment.rb#152
+ # source://rubocop//lib/rubocop/cop/layout/end_alignment.rb#156
def check_other_alignment(node); end
end
@@ -10078,13 +10257,13 @@ class RuboCop::Cop::Layout::ExtraSpacing < ::RuboCop::Cop::Base
private
- # source://rubocop//lib/rubocop/cop/layout/extra_spacing.rb#176
+ # source://rubocop//lib/rubocop/cop/layout/extra_spacing.rb#170
def align_column(asgn_token); end
- # source://rubocop//lib/rubocop/cop/layout/extra_spacing.rb#153
+ # source://rubocop//lib/rubocop/cop/layout/extra_spacing.rb#147
def align_equal_sign(corrector, token, align_to); end
- # source://rubocop//lib/rubocop/cop/layout/extra_spacing.rb#143
+ # source://rubocop//lib/rubocop/cop/layout/extra_spacing.rb#137
def align_equal_signs(range, corrector); end
# source://rubocop//lib/rubocop/cop/layout/extra_spacing.rb#52
@@ -10092,46 +10271,46 @@ class RuboCop::Cop::Layout::ExtraSpacing < ::RuboCop::Cop::Base
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/layout/extra_spacing.rb#109
+ # source://rubocop//lib/rubocop/cop/layout/extra_spacing.rb#103
def aligned_tok?(token); end
- # source://rubocop//lib/rubocop/cop/layout/extra_spacing.rb#165
+ # source://rubocop//lib/rubocop/cop/layout/extra_spacing.rb#159
def all_relevant_assignment_lines(line_number); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/layout/extra_spacing.rb#185
+ # source://rubocop//lib/rubocop/cop/layout/extra_spacing.rb#179
def allow_for_trailing_comments?; end
- # source://rubocop//lib/rubocop/cop/layout/extra_spacing.rb#78
+ # source://rubocop//lib/rubocop/cop/layout/extra_spacing.rb#72
def check_assignment(token); end
- # source://rubocop//lib/rubocop/cop/layout/extra_spacing.rb#87
+ # source://rubocop//lib/rubocop/cop/layout/extra_spacing.rb#81
def check_other(token1, token2, ast); end
- # source://rubocop//lib/rubocop/cop/layout/extra_spacing.rb#68
+ # source://rubocop//lib/rubocop/cop/layout/extra_spacing.rb#62
def check_tokens(ast, token1, token2); end
# @yield [range_between(start_pos, end_pos)]
#
- # source://rubocop//lib/rubocop/cop/layout/extra_spacing.rb#97
+ # source://rubocop//lib/rubocop/cop/layout/extra_spacing.rb#91
def extra_space_range(token1, token2); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/layout/extra_spacing.rb#139
+ # source://rubocop//lib/rubocop/cop/layout/extra_spacing.rb#133
def force_equal_sign_alignment?; end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/layout/extra_spacing.rb#117
+ # source://rubocop//lib/rubocop/cop/layout/extra_spacing.rb#111
def ignored_range?(ast, start_pos); end
# Returns an array of ranges that should not be reported. It's the
# extra spaces between the keys and values in a multiline hash,
# since those are handled by the Layout/HashAlignment cop.
#
- # source://rubocop//lib/rubocop/cop/layout/extra_spacing.rb#124
+ # source://rubocop//lib/rubocop/cop/layout/extra_spacing.rb#118
def ignored_ranges(ast); end
end
@@ -10364,7 +10543,10 @@ RuboCop::Cop::Layout::FirstArgumentIndentation::MSG = T.let(T.unsafe(nil), Strin
# Checks the indentation of the first element in an array literal
# where the opening bracket and the first element are on separate lines.
-# The other elements' indentations are handled by the ArrayAlignment cop.
+# The other elements' indentations are handled by `Layout/ArrayAlignment` cop.
+#
+# This cop will respect `Layout/ArrayAlignment` and will not work when
+# `EnforcedStyle: with_fixed_indentation` is specified for `Layout/ArrayAlignment`.
#
# By default, array literals that are arguments in a method call with
# parentheses, and where the opening square bracket of the array is on the
@@ -10384,7 +10566,7 @@ RuboCop::Cop::Layout::FirstArgumentIndentation::MSG = T.let(T.unsafe(nil), Strin
# # element are on separate lines is indented one step (two spaces) more
# # than the position inside the opening parenthesis.
#
-# #bad
+# # bad
# array = [
# :value
# ]
@@ -10392,7 +10574,7 @@ RuboCop::Cop::Layout::FirstArgumentIndentation::MSG = T.let(T.unsafe(nil), Strin
# :no_difference
# ])
#
-# #good
+# # good
# array = [
# :value
# ]
@@ -10405,7 +10587,7 @@ RuboCop::Cop::Layout::FirstArgumentIndentation::MSG = T.let(T.unsafe(nil), Strin
# # separate lines is indented the same as an array literal which is not
# # defined inside a method call.
#
-# #bad
+# # bad
# # consistent
# array = [
# :value
@@ -10414,7 +10596,7 @@ RuboCop::Cop::Layout::FirstArgumentIndentation::MSG = T.let(T.unsafe(nil), Strin
# :its_like_this
# ])
#
-# #good
+# # good
# array = [
# :value
# ]
@@ -10425,61 +10607,69 @@ RuboCop::Cop::Layout::FirstArgumentIndentation::MSG = T.let(T.unsafe(nil), Strin
# # The `align_brackets` style enforces that the opening and closing
# # brackets are indented to the same position.
#
-# #bad
+# # bad
# # align_brackets
# and_now_for_something = [
# :completely_different
# ]
#
-# #good
+# # good
# # align_brackets
# and_now_for_something = [
# :completely_different
# ]
#
-# source://rubocop//lib/rubocop/cop/layout/first_array_element_indentation.rb#82
+# source://rubocop//lib/rubocop/cop/layout/first_array_element_indentation.rb#85
class RuboCop::Cop::Layout::FirstArrayElementIndentation < ::RuboCop::Cop::Base
include ::RuboCop::Cop::Alignment
include ::RuboCop::Cop::ConfigurableEnforcedStyle
include ::RuboCop::Cop::MultilineElementIndentation
extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop//lib/rubocop/cop/layout/first_array_element_indentation.rb#91
+ # source://rubocop//lib/rubocop/cop/layout/first_array_element_indentation.rb#94
def on_array(node); end
- # source://rubocop//lib/rubocop/cop/layout/first_array_element_indentation.rb#95
+ # source://rubocop//lib/rubocop/cop/layout/first_array_element_indentation.rb#98
def on_csend(node); end
- # source://rubocop//lib/rubocop/cop/layout/first_array_element_indentation.rb#95
+ # source://rubocop//lib/rubocop/cop/layout/first_array_element_indentation.rb#98
def on_send(node); end
private
- # source://rubocop//lib/rubocop/cop/layout/first_array_element_indentation.rb#104
+ # source://rubocop//lib/rubocop/cop/layout/first_array_element_indentation.rb#189
+ def array_alignment_config; end
+
+ # source://rubocop//lib/rubocop/cop/layout/first_array_element_indentation.rb#109
def autocorrect(corrector, node); end
# Returns the description of what the correct indentation is based on.
#
- # source://rubocop//lib/rubocop/cop/layout/first_array_element_indentation.rb#142
+ # source://rubocop//lib/rubocop/cop/layout/first_array_element_indentation.rb#147
def base_description(indent_base_type); end
- # source://rubocop//lib/rubocop/cop/layout/first_array_element_indentation.rb#108
+ # source://rubocop//lib/rubocop/cop/layout/first_array_element_indentation.rb#113
def brace_alignment_style; end
- # source://rubocop//lib/rubocop/cop/layout/first_array_element_indentation.rb#112
+ # source://rubocop//lib/rubocop/cop/layout/first_array_element_indentation.rb#117
def check(array_node, left_parenthesis); end
- # source://rubocop//lib/rubocop/cop/layout/first_array_element_indentation.rb#126
+ # source://rubocop//lib/rubocop/cop/layout/first_array_element_indentation.rb#131
def check_right_bracket(right_bracket, first_elem, left_bracket, left_parenthesis); end
- # source://rubocop//lib/rubocop/cop/layout/first_array_element_indentation.rb#155
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/layout/first_array_element_indentation.rb#183
+ def enforce_first_argument_with_fixed_indentation?; end
+
+ # source://rubocop//lib/rubocop/cop/layout/first_array_element_indentation.rb#160
def message(base_description); end
- # source://rubocop//lib/rubocop/cop/layout/first_array_element_indentation.rb#163
+ # source://rubocop//lib/rubocop/cop/layout/first_array_element_indentation.rb#168
def message_for_right_bracket(indent_base_type); end
end
-# source://rubocop//lib/rubocop/cop/layout/first_array_element_indentation.rb#88
+# source://rubocop//lib/rubocop/cop/layout/first_array_element_indentation.rb#91
RuboCop::Cop::Layout::FirstArrayElementIndentation::MSG = T.let(T.unsafe(nil), String)
# Checks for a line break before the first element in a
@@ -11008,16 +11198,22 @@ RuboCop::Cop::Layout::FirstParameterIndentation::MSG = T.let(T.unsafe(nil), Stri
# Alternatively you can specify multiple allowed styles. That's done by
# passing a list of styles to EnforcedStyles.
#
-# @example EnforcedLastArgumentHashStyle: ignore_explicit
-# # Ignore only explicit hashes.
-#
+# @example EnforcedHashRocketStyle: key (default)
# # bad
-# do_something(foo: 1,
-# bar: 2)
+# {
+# :foo => bar,
+# :ba => baz
+# }
+# {
+# :foo => bar,
+# :ba => baz
+# }
#
# # good
-# do_something({foo: 1,
-# bar: 2})
+# {
+# :foo => bar,
+# :ba => baz
+# }
# @example EnforcedHashRocketStyle: separator
# # bad
# {
@@ -11136,22 +11332,16 @@ RuboCop::Cop::Layout::FirstParameterIndentation::MSG = T.let(T.unsafe(nil), Stri
# # good
# do_something(foo: 1,
# bar: 2)
-# @example EnforcedHashRocketStyle: key (default)
+# @example EnforcedLastArgumentHashStyle: ignore_explicit
+# # Ignore only explicit hashes.
+#
# # bad
-# {
-# :foo => bar,
-# :ba => baz
-# }
-# {
-# :foo => bar,
-# :ba => baz
-# }
+# do_something(foo: 1,
+# bar: 2)
#
# # good
-# {
-# :foo => bar,
-# :ba => baz
-# }
+# do_something({foo: 1,
+# bar: 2})
#
# source://rubocop//lib/rubocop/cop/layout/hash_alignment.rb#178
class RuboCop::Cop::Layout::HashAlignment < ::RuboCop::Cop::Base
@@ -11480,7 +11670,7 @@ RuboCop::Cop::Layout::HeredocArgumentClosingParenthesis::MSG = T.let(T.unsafe(ni
#
# Note: When ``Layout/LineLength``'s `AllowHeredoc` is false (not default),
# this cop does not add any offenses for long here documents to
-# avoid `Layout/LineLength`'s offenses.
+# avoid ``Layout/LineLength``'s offenses.
#
# @example
# # bad
@@ -11498,71 +11688,72 @@ class RuboCop::Cop::Layout::HeredocIndentation < ::RuboCop::Cop::Base
include ::RuboCop::Cop::Alignment
include ::RuboCop::Cop::Heredoc
extend ::RuboCop::Cop::AutoCorrector
+ extend ::RuboCop::Cop::TargetRubyVersion
- # source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#33
+ # source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#36
def on_heredoc(node); end
private
- # source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#117
+ # source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#120
def adjust_minus(corrector, node); end
- # source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#112
+ # source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#115
def adjust_squiggly(corrector, node); end
- # source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#141
+ # source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#144
def base_indent_level(node); end
- # source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#152
+ # source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#155
def heredoc_body(node); end
- # source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#156
+ # source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#159
def heredoc_end(node); end
# Returns '~', '-' or nil
#
- # source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#148
+ # source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#151
def heredoc_indent_type(node); end
- # source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#123
+ # source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#126
def indented_body(node); end
- # source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#130
+ # source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#133
def indented_end(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#88
+ # source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#91
def line_too_long?(node); end
- # source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#100
+ # source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#103
def longest_line(lines); end
- # source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#108
+ # source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#111
def max_line_length; end
- # source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#66
+ # source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#69
def message(heredoc_indent_type); end
- # source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#54
+ # source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#57
def register_offense(node, heredoc_indent_type); end
- # source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#76
+ # source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#79
def type_message(indentation_width, current_indent_type); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#104
+ # source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#107
def unlimited_heredoc_length?; end
- # source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#84
+ # source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#87
def width_message(indentation_width); end
end
-# source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#29
+# source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#32
RuboCop::Cop::Layout::HeredocIndentation::TYPE_MSG = T.let(T.unsafe(nil), String)
-# source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#31
+# source://rubocop//lib/rubocop/cop/layout/heredoc_indentation.rb#34
RuboCop::Cop::Layout::HeredocIndentation::WIDTH_MSG = T.let(T.unsafe(nil), String)
# Checks for inconsistent indentation.
@@ -12222,35 +12413,38 @@ class RuboCop::Cop::Layout::LineContinuationLeadingSpace < ::RuboCop::Cop::Base
private
- # source://rubocop//lib/rubocop/cop/layout/line_continuation_leading_space.rb#105
+ # source://rubocop//lib/rubocop/cop/layout/line_continuation_leading_space.rb#113
def autocorrect(corrector, offense_range, insert_pos, spaces); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/layout/line_continuation_leading_space.rb#101
- def continuation?(line); end
+ # source://rubocop//lib/rubocop/cop/layout/line_continuation_leading_space.rb#106
+ def continuation?(line, line_num, node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/layout/line_continuation_leading_space.rb#130
+ # source://rubocop//lib/rubocop/cop/layout/line_continuation_leading_space.rb#138
def enforced_style_leading?; end
- # source://rubocop//lib/rubocop/cop/layout/line_continuation_leading_space.rb#79
+ # source://rubocop//lib/rubocop/cop/layout/line_continuation_leading_space.rb#76
+ def investigate(first_line, second_line, end_of_first_line); end
+
+ # source://rubocop//lib/rubocop/cop/layout/line_continuation_leading_space.rb#84
def investigate_leading_style(first_line, second_line, end_of_first_line); end
- # source://rubocop//lib/rubocop/cop/layout/line_continuation_leading_space.rb#90
+ # source://rubocop//lib/rubocop/cop/layout/line_continuation_leading_space.rb#95
def investigate_trailing_style(first_line, second_line, end_of_first_line); end
- # source://rubocop//lib/rubocop/cop/layout/line_continuation_leading_space.rb#110
+ # source://rubocop//lib/rubocop/cop/layout/line_continuation_leading_space.rb#118
def leading_offense_range(end_of_first_line, matches); end
- # source://rubocop//lib/rubocop/cop/layout/line_continuation_leading_space.rb#122
+ # source://rubocop//lib/rubocop/cop/layout/line_continuation_leading_space.rb#130
def message(_range); end
- # source://rubocop//lib/rubocop/cop/layout/line_continuation_leading_space.rb#75
+ # source://rubocop//lib/rubocop/cop/layout/line_continuation_leading_space.rb#72
def raw_lines(node); end
- # source://rubocop//lib/rubocop/cop/layout/line_continuation_leading_space.rb#116
+ # source://rubocop//lib/rubocop/cop/layout/line_continuation_leading_space.rb#124
def trailing_offense_range(end_of_first_line, matches); end
end
@@ -12412,7 +12606,7 @@ class RuboCop::Cop::Layout::LineEndStringConcatenationIndentation < ::RuboCop::C
include ::RuboCop::Cop::Alignment
extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop//lib/rubocop/cop/layout/line_end_string_concatenation_indentation.rb#95
+ # source://rubocop//lib/rubocop/cop/layout/line_end_string_concatenation_indentation.rb#97
def autocorrect(corrector, node); end
# source://rubocop//lib/rubocop/cop/layout/line_end_string_concatenation_indentation.rb#83
@@ -12420,26 +12614,26 @@ class RuboCop::Cop::Layout::LineEndStringConcatenationIndentation < ::RuboCop::C
private
- # source://rubocop//lib/rubocop/cop/layout/line_end_string_concatenation_indentation.rb#135
+ # source://rubocop//lib/rubocop/cop/layout/line_end_string_concatenation_indentation.rb#137
def add_offense_and_correction(node, message); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/layout/line_end_string_concatenation_indentation.rb#107
+ # source://rubocop//lib/rubocop/cop/layout/line_end_string_concatenation_indentation.rb#109
def always_indented?(dstr_node); end
- # source://rubocop//lib/rubocop/cop/layout/line_end_string_concatenation_indentation.rb#126
+ # source://rubocop//lib/rubocop/cop/layout/line_end_string_concatenation_indentation.rb#128
def base_column(child); end
- # source://rubocop//lib/rubocop/cop/layout/line_end_string_concatenation_indentation.rb#111
+ # source://rubocop//lib/rubocop/cop/layout/line_end_string_concatenation_indentation.rb#113
def check_aligned(children, start_index); end
- # source://rubocop//lib/rubocop/cop/layout/line_end_string_concatenation_indentation.rb#120
+ # source://rubocop//lib/rubocop/cop/layout/line_end_string_concatenation_indentation.rb#122
def check_indented(children); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/layout/line_end_string_concatenation_indentation.rb#101
+ # source://rubocop//lib/rubocop/cop/layout/line_end_string_concatenation_indentation.rb#103
def strings_concatenated_with_backslash?(dstr_node); end
end
@@ -13416,10 +13610,13 @@ class RuboCop::Cop::Layout::MultilineMethodCallIndentation < ::RuboCop::Cop::Bas
# source://rubocop//lib/rubocop/cop/layout/multiline_method_call_indentation.rb#101
def extra_indentation(given_style, parent); end
- # source://rubocop//lib/rubocop/cop/layout/multiline_method_call_indentation.rb#222
+ # source://rubocop//lib/rubocop/cop/layout/multiline_method_call_indentation.rb#226
+ def find_multiline_block_chain_node(node); end
+
+ # source://rubocop//lib/rubocop/cop/layout/multiline_method_call_indentation.rb#237
def first_call_has_a_dot(node); end
- # source://rubocop//lib/rubocop/cop/layout/multiline_method_call_indentation.rb#213
+ # source://rubocop//lib/rubocop/cop/layout/multiline_method_call_indentation.rb#217
def get_dot_right_above(node); end
# source://rubocop//lib/rubocop/cop/layout/multiline_method_call_indentation.rb#113
@@ -13433,12 +13630,12 @@ class RuboCop::Cop::Layout::MultilineMethodCallIndentation < ::RuboCop::Cop::Bas
# @yield [operation_rhs.first_argument]
#
- # source://rubocop//lib/rubocop/cop/layout/multiline_method_call_indentation.rb#232
+ # source://rubocop//lib/rubocop/cop/layout/multiline_method_call_indentation.rb#247
def operation_rhs(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/layout/multiline_method_call_indentation.rb#242
+ # source://rubocop//lib/rubocop/cop/layout/multiline_method_call_indentation.rb#257
def operator_rhs?(node, receiver); end
# a
@@ -13897,61 +14094,77 @@ class RuboCop::Cop::Layout::RedundantLineBreak < ::RuboCop::Cop::Base
include ::RuboCop::Cop::CheckAssignment
extend ::RuboCop::Cop::AutoCorrector
+ # source://rubocop//lib/rubocop/cop/layout/redundant_line_break.rb#55
+ def on_csend(node); end
+
# source://rubocop//lib/rubocop/cop/layout/redundant_line_break.rb#51
+ def on_lvasgn(node); end
+
+ # source://rubocop//lib/rubocop/cop/layout/redundant_line_break.rb#55
def on_send(node); end
private
- # source://rubocop//lib/rubocop/cop/layout/redundant_line_break.rb#64
+ # source://rubocop//lib/rubocop/cop/layout/redundant_line_break.rb#73
def check_assignment(node, _rhs); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/layout/redundant_line_break.rb#112
+ # source://rubocop//lib/rubocop/cop/layout/redundant_line_break.rb#125
def comment_within?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/layout/redundant_line_break.rb#82
+ # source://rubocop//lib/rubocop/cop/layout/redundant_line_break.rb#95
def configured_to_not_be_inspected?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/layout/redundant_line_break.rb#106
+ # source://rubocop//lib/rubocop/cop/layout/redundant_line_break.rb#119
def convertible_block?(node); end
- # source://rubocop//lib/rubocop/cop/layout/redundant_line_break.rb#132
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/layout/redundant_line_break.rb#69
+ def end_with_percent_blank_string?(processed_source); end
+
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/layout/redundant_line_break.rb#91
+ def index_access_call_chained?(node); end
+
+ # source://rubocop//lib/rubocop/cop/layout/redundant_line_break.rb#147
def max_line_length; end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/layout/redundant_line_break.rb#77
+ # source://rubocop//lib/rubocop/cop/layout/redundant_line_break.rb#86
def offense?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/layout/redundant_line_break.rb#89
+ # source://rubocop//lib/rubocop/cop/layout/redundant_line_break.rb#102
def other_cop_takes_precedence?(node); end
- # source://rubocop//lib/rubocop/cop/layout/redundant_line_break.rb#70
+ # source://rubocop//lib/rubocop/cop/layout/redundant_line_break.rb#79
def register_offense(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/layout/redundant_line_break.rb#95
+ # source://rubocop//lib/rubocop/cop/layout/redundant_line_break.rb#108
def single_line_block_chain_enabled?; end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/layout/redundant_line_break.rb#99
+ # source://rubocop//lib/rubocop/cop/layout/redundant_line_break.rb#112
def suitable_as_single_line?(node); end
- # source://rubocop//lib/rubocop/cop/layout/redundant_line_break.rb#123
+ # source://rubocop//lib/rubocop/cop/layout/redundant_line_break.rb#138
def to_single_line(source); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/layout/redundant_line_break.rb#118
+ # source://rubocop//lib/rubocop/cop/layout/redundant_line_break.rb#133
def too_long?(node); end
end
@@ -14086,21 +14299,29 @@ class RuboCop::Cop::Layout::SingleLineBlockChain < ::RuboCop::Cop::Base
include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop//lib/rubocop/cop/layout/single_line_block_chain.rb#28
+ # source://rubocop//lib/rubocop/cop/layout/single_line_block_chain.rb#32
+ def on_csend(node); end
+
+ # source://rubocop//lib/rubocop/cop/layout/single_line_block_chain.rb#32
def on_send(node); end
private
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/layout/single_line_block_chain.rb#51
+ # source://rubocop//lib/rubocop/cop/layout/single_line_block_chain.rb#56
def call_method_after_block?(node, dot_range, closing_block_delimiter_line_num); end
- # source://rubocop//lib/rubocop/cop/layout/single_line_block_chain.rb#35
+ # source://rubocop//lib/rubocop/cop/layout/single_line_block_chain.rb#40
def offending_range(node); end
- # source://rubocop//lib/rubocop/cop/layout/single_line_block_chain.rb#57
+ # source://rubocop//lib/rubocop/cop/layout/single_line_block_chain.rb#62
def selector_range(node); end
+
+ class << self
+ # source://rubocop//lib/rubocop/cop/layout/single_line_block_chain.rb#28
+ def autocorrect_incompatible_with; end
+ end
end
# source://rubocop//lib/rubocop/cop/layout/single_line_block_chain.rb#26
@@ -14163,6 +14384,13 @@ class RuboCop::Cop::Layout::SpaceAfterComma < ::RuboCop::Cop::Base
# source://rubocop//lib/rubocop/cop/layout/space_after_comma.rb#21
def space_style_before_rcurly; end
+
+ private
+
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/layout/space_after_comma.rb#32
+ def before_semicolon?(token); end
end
# Checks for space between a method name and a left parenthesis in defs.
@@ -14607,7 +14835,7 @@ RuboCop::Cop::Layout::SpaceAroundKeyword::SAFE_NAVIGATION = T.let(T.unsafe(nil),
# foo &. bar
# foo &. bar&. buzz
# RuboCop:: Cop
-# RuboCop:: Cop:: Cop
+# RuboCop:: Cop:: Base
# :: RuboCop::Cop
#
# # good
@@ -14619,7 +14847,7 @@ RuboCop::Cop::Layout::SpaceAroundKeyword::SAFE_NAVIGATION = T.let(T.unsafe(nil),
# foo&.bar
# foo&.bar&.buzz
# RuboCop::Cop
-# RuboCop::Cop::Cop
+# RuboCop::Cop::Base
# ::RuboCop::Cop
#
# source://rubocop//lib/rubocop/cop/layout/space_around_method_call_operator.rb#37
@@ -14700,149 +14928,166 @@ RuboCop::Cop::Layout::SpaceAroundMethodCallOperator::SPACES_REGEXP = T.let(T.uns
#
# # good
# a ** b
+# @example EnforcedStyleForRationalLiterals: no_space (default)
+# # bad
+# 1 / 48r
+#
+# # good
+# 1/48r
+# @example EnforcedStyleForRationalLiterals: space
+# # bad
+# 1/48r
#
-# source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#53
+# # good
+# 1 / 48r
+#
+# source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#67
class RuboCop::Cop::Layout::SpaceAroundOperators < ::RuboCop::Cop::Base
include ::RuboCop::Cop::PrecedingFollowingAlignment
include ::RuboCop::Cop::RangeHelp
include ::RuboCop::Cop::RationalLiteral
extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#119
+ # source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#133
def on_and(node); end
- # source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#103
+ # source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#117
def on_and_asgn(node); end
- # source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#103
+ # source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#117
def on_assignment(node); end
- # source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#119
+ # source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#133
def on_binary(node); end
- # source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#111
+ # source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#125
def on_casgn(node); end
- # source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#119
+ # source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#133
def on_class(node); end
- # source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#103
+ # source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#117
def on_cvasgn(node); end
- # source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#103
+ # source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#117
def on_gvasgn(node); end
- # source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#78
+ # source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#92
def on_if(node); end
- # source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#103
+ # source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#117
def on_ivasgn(node); end
- # source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#103
+ # source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#117
def on_lvasgn(node); end
- # source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#103
+ # source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#117
def on_masgn(node); end
- # source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#135
+ # source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#149
def on_match_pattern(node); end
- # source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#127
+ # source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#141
def on_op_asgn(node); end
- # source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#119
+ # source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#133
def on_or(node); end
- # source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#103
+ # source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#117
def on_or_asgn(node); end
- # source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#70
+ # source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#84
def on_pair(node); end
- # source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#85
+ # source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#99
def on_resbody(node); end
- # source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#66
+ # source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#80
def on_sclass(node); end
- # source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#93
+ # source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#107
def on_send(node); end
- # source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#127
+ # source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#141
def on_special_asgn(node); end
private
- # source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#236
+ # source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#256
def align_hash_cop_config; end
- # source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#179
- def autocorrect(corrector, range); end
+ # source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#195
+ def autocorrect(corrector, range, right_operand); end
- # source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#163
+ # source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#179
def check_operator(type, operator, right_operand); end
- # source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#189
+ # source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#209
def enclose_operator_with_space(corrector, range); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#216
+ # source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#236
def excess_leading_space?(type, operator, with_space); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#231
+ # source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#251
def excess_trailing_space?(right_operand, with_space); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#248
+ # source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#274
def force_equal_sign_alignment?; end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#240
+ # source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#260
def hash_table_style?; end
# @yield [msg]
#
- # source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#174
+ # source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#190
def offense(type, operator, with_space, right_operand); end
- # source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#202
+ # source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#222
def offense_message(type, operator, with_space, right_operand); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#159
+ # source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#175
def operator_with_regular_syntax?(send_node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#155
+ # source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#169
def regular_operator?(send_node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#252
- def should_not_have_surrounding_space?(operator); end
+ # source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#278
+ def should_not_have_surrounding_space?(operator, right_operand); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#244
+ # source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#264
def space_around_exponent_operator?; end
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#268
+ def space_around_slash_operator?(right_operand); end
+
class << self
- # source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#62
+ # source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#76
def autocorrect_incompatible_with; end
end
end
-# source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#60
+# source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#74
RuboCop::Cop::Layout::SpaceAroundOperators::EXCESSIVE_SPACE = T.let(T.unsafe(nil), String)
-# source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#59
+# source://rubocop//lib/rubocop/cop/layout/space_around_operators.rb#73
RuboCop::Cop::Layout::SpaceAroundOperators::IRREGULAR_METHODS = T.let(T.unsafe(nil), Array)
# Checks that block braces have or don't have a space before the opening
@@ -15979,13 +16224,18 @@ class RuboCop::Cop::Layout::TrailingEmptyLines < ::RuboCop::Cop::Base
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/layout/trailing_empty_lines.rb#79
+ # source://rubocop//lib/rubocop/cop/layout/trailing_empty_lines.rb#90
+ def end_with_percent_blank_string?(processed_source); end
+
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/layout/trailing_empty_lines.rb#80
def ends_in_end?(processed_source); end
- # source://rubocop//lib/rubocop/cop/layout/trailing_empty_lines.rb#89
+ # source://rubocop//lib/rubocop/cop/layout/trailing_empty_lines.rb#94
def message(wanted_blank_lines, blank_lines); end
- # source://rubocop//lib/rubocop/cop/layout/trailing_empty_lines.rb#66
+ # source://rubocop//lib/rubocop/cop/layout/trailing_empty_lines.rb#67
def offense_detected(buffer, wanted_blank_lines, blank_lines, whitespace_at_end); end
end
@@ -16628,22 +16878,22 @@ RuboCop::Cop::Lint::AmbiguousRegexpLiteral::MSG = T.let(T.unsafe(nil), String)
#
# @example
# # bad
-# if some_var = true
+# if some_var = value
# do_something
# end
#
# # good
-# if some_var == true
+# if some_var == value
# do_something
# end
# @example AllowSafeAssignment: true (default)
# # good
-# if (some_var = true)
+# if (some_var = value)
# do_something
# end
# @example AllowSafeAssignment: false
# # bad
-# if (some_var = true)
+# if (some_var = value)
# do_something
# end
#
@@ -16725,10 +16975,10 @@ RuboCop::Cop::Lint::BigDecimalNew::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array
# Checks for places where binary operator has identical operands.
#
# It covers arithmetic operators: `-`, `/`, `%`;
-# comparison operators: `==`, `===`, `=~`, `>`, `>=`, `<`, `<=`;
+# comparison operators: `==`, `===`, `=~`, `>`, `>=`, `<`, ``<=``;
# bitwise operators: `|`, `^`, `&`;
# boolean operators: `&&`, `||`
-# and "spaceship" operator - `<=>`.
+# and "spaceship" operator - ``<=>``.
#
# Simple arithmetic operations are allowed by this cop: `+`, `*`, `**`, `<<` and `>>`.
# Although these can be rewritten in a different way, it should not be necessary to
@@ -16951,7 +17201,7 @@ end
# source://rubocop//lib/rubocop/cop/lint/constant_definition_in_block.rb#67
RuboCop::Cop::Lint::ConstantDefinitionInBlock::MSG = T.let(T.unsafe(nil), String)
-# Checks for overwriting an exception with an exception result by use `rescue =>`.
+# Checks for overwriting an exception with an exception result by use ``rescue =>``.
#
# You intended to write as `rescue StandardError`.
# However, you have written `rescue => StandardError`.
@@ -17131,26 +17381,39 @@ RuboCop::Cop::Lint::ConstantResolution::MSG = T.let(T.unsafe(nil), String)
#
# source://rubocop//lib/rubocop/cop/lint/debugger.rb#67
class RuboCop::Cop::Lint::Debugger < ::RuboCop::Cop::Base
- # source://rubocop//lib/rubocop/cop/lint/debugger.rb#70
+ # source://rubocop//lib/rubocop/cop/lint/debugger.rb#71
def on_send(node); end
private
- # source://rubocop//lib/rubocop/cop/lint/debugger.rb#98
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/lint/debugger.rb#117
+ def assumed_argument?(node); end
+
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/lint/debugger.rb#96
+ def assumed_usage_context?(node); end
+
+ # source://rubocop//lib/rubocop/cop/lint/debugger.rb#106
def chained_method_name(send_node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/lint/debugger.rb#92
+ # source://rubocop//lib/rubocop/cop/lint/debugger.rb#90
def debugger_method?(send_node); end
- # source://rubocop//lib/rubocop/cop/lint/debugger.rb#85
+ # source://rubocop//lib/rubocop/cop/lint/debugger.rb#83
def debugger_methods; end
- # source://rubocop//lib/rubocop/cop/lint/debugger.rb#81
+ # source://rubocop//lib/rubocop/cop/lint/debugger.rb#79
def message(node); end
end
+# source://rubocop//lib/rubocop/cop/lint/debugger.rb#69
+RuboCop::Cop::Lint::Debugger::BLOCK_TYPES = T.let(T.unsafe(nil), Array)
+
# source://rubocop//lib/rubocop/cop/lint/debugger.rb#68
RuboCop::Cop::Lint::Debugger::MSG = T.let(T.unsafe(nil), String)
@@ -17609,6 +17872,7 @@ end
RuboCop::Cop::Lint::DuplicateElsifCondition::MSG = T.let(T.unsafe(nil), String)
# Checks for duplicated keys in hash literals.
+# This cop considers both primitive types and constants for the hash keys.
#
# This cop mirrors a warning in Ruby 2.2.
#
@@ -17623,15 +17887,15 @@ RuboCop::Cop::Lint::DuplicateElsifCondition::MSG = T.let(T.unsafe(nil), String)
#
# hash = { food: 'apple', other_food: 'orange' }
#
-# source://rubocop//lib/rubocop/cop/lint/duplicate_hash_key.rb#21
+# source://rubocop//lib/rubocop/cop/lint/duplicate_hash_key.rb#22
class RuboCop::Cop::Lint::DuplicateHashKey < ::RuboCop::Cop::Base
include ::RuboCop::Cop::Duplication
- # source://rubocop//lib/rubocop/cop/lint/duplicate_hash_key.rb#26
+ # source://rubocop//lib/rubocop/cop/lint/duplicate_hash_key.rb#27
def on_hash(node); end
end
-# source://rubocop//lib/rubocop/cop/lint/duplicate_hash_key.rb#24
+# source://rubocop//lib/rubocop/cop/lint/duplicate_hash_key.rb#25
RuboCop::Cop::Lint::DuplicateHashKey::MSG = T.let(T.unsafe(nil), String)
# Checks for duplicated magic comments.
@@ -17926,26 +18190,40 @@ class RuboCop::Cop::Lint::DuplicateRegexpCharacterClassElement < ::RuboCop::Cop:
include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop//lib/rubocop/cop/lint/duplicate_regexp_character_class_element.rb#36
+ # source://rubocop//lib/rubocop/cop/lint/duplicate_regexp_character_class_element.rb#37
def each_repeated_character_class_element_loc(node); end
- # source://rubocop//lib/rubocop/cop/lint/duplicate_regexp_character_class_element.rb#27
+ # source://rubocop//lib/rubocop/cop/lint/duplicate_regexp_character_class_element.rb#29
def on_regexp(node); end
private
- # source://rubocop//lib/rubocop/cop/lint/duplicate_regexp_character_class_element.rb#83
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/lint/duplicate_regexp_character_class_element.rb#102
+ def escaped_octal?(string); end
+
+ # source://rubocop//lib/rubocop/cop/lint/duplicate_regexp_character_class_element.rb#54
+ def group_expressions(node, expressions); end
+
+ # source://rubocop//lib/rubocop/cop/lint/duplicate_regexp_character_class_element.rb#110
def interpolation_locs(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/lint/duplicate_regexp_character_class_element.rb#65
- def skip_expression?(expr); end
+ # source://rubocop//lib/rubocop/cop/lint/duplicate_regexp_character_class_element.rb#106
+ def octal?(char); end
+
+ # source://rubocop//lib/rubocop/cop/lint/duplicate_regexp_character_class_element.rb#71
+ def pop_octal_digits(current_child, expressions); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/lint/duplicate_regexp_character_class_element.rb#78
- def start_with_escaped_zero_number?(current_child, next_child); end
+ # source://rubocop//lib/rubocop/cop/lint/duplicate_regexp_character_class_element.rb#89
+ def skip_expression?(expr); end
+
+ # source://rubocop//lib/rubocop/cop/lint/duplicate_regexp_character_class_element.rb#80
+ def source_range(children); end
# Since we blank interpolations with a space for every char of the interpolation, we would
# mark every space (except the first) as duplicate if we do not skip regexp_parser nodes
@@ -17953,13 +18231,16 @@ class RuboCop::Cop::Lint::DuplicateRegexpCharacterClassElement < ::RuboCop::Cop:
#
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/lint/duplicate_regexp_character_class_element.rb#72
+ # source://rubocop//lib/rubocop/cop/lint/duplicate_regexp_character_class_element.rb#96
def within_interpolation?(node, child); end
end
# source://rubocop//lib/rubocop/cop/lint/duplicate_regexp_character_class_element.rb#25
RuboCop::Cop::Lint::DuplicateRegexpCharacterClassElement::MSG_REPEATED_ELEMENT = T.let(T.unsafe(nil), String)
+# source://rubocop//lib/rubocop/cop/lint/duplicate_regexp_character_class_element.rb#27
+RuboCop::Cop::Lint::DuplicateRegexpCharacterClassElement::OCTAL_DIGITS_AFTER_ESCAPE = T.let(T.unsafe(nil), Integer)
+
# Checks for duplicate ``require``s and ``require_relative``s.
#
# @example
@@ -18132,7 +18413,7 @@ RuboCop::Cop::Lint::ElseLayout::MSG = T.let(T.unsafe(nil), String)
# Checks for blocks without a body.
# Such empty blocks are typically an oversight or we should provide a comment
-# be clearer what we're aiming for.
+# to clarify what we're aiming for.
#
# Empty lambdas and procs are ignored by default.
#
@@ -18837,13 +19118,9 @@ RuboCop::Cop::Lint::FlipFlop::MSG = T.let(T.unsafe(nil), String)
# floating-point value representation to be exactly the same, which is very unlikely
# if you perform any arithmetic operations involving precision loss.
#
-# @example
-# # bad
-# x == 0.1
-# x != 0.1
-#
-# # good - using BigDecimal
-# x.to_d == 0.1.to_d
+# # good - comparing against zero
+# x == 0.0
+# x != 0.0
#
# # good
# (x - 0.1).abs < Float::EPSILON
@@ -18855,38 +19132,51 @@ RuboCop::Cop::Lint::FlipFlop::MSG = T.let(T.unsafe(nil), String)
# # Or some other epsilon based type of comparison:
# # https://www.embeddeduse.com/2019/08/26/qt-compare-two-floats/
#
-# source://rubocop//lib/rubocop/cop/lint/float_comparison.rb#31
+# @example
+# # bad
+# x == 0.1
+# x != 0.1
+#
+# # good - using BigDecimal
+# x.to_d == 0.1.to_d
+#
+# source://rubocop//lib/rubocop/cop/lint/float_comparison.rb#35
class RuboCop::Cop::Lint::FloatComparison < ::RuboCop::Cop::Base
- # source://rubocop//lib/rubocop/cop/lint/float_comparison.rb#40
+ # source://rubocop//lib/rubocop/cop/lint/float_comparison.rb#44
def on_send(node); end
private
- # source://rubocop//lib/rubocop/cop/lint/float_comparison.rb#79
+ # source://rubocop//lib/rubocop/cop/lint/float_comparison.rb#89
def check_numeric_returning_method(node); end
- # source://rubocop//lib/rubocop/cop/lint/float_comparison.rb#63
+ # source://rubocop//lib/rubocop/cop/lint/float_comparison.rb#73
def check_send(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/lint/float_comparison.rb#47
+ # source://rubocop//lib/rubocop/cop/lint/float_comparison.rb#53
def float?(node); end
+
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/lint/float_comparison.rb#68
+ def literal_zero?(node); end
end
-# source://rubocop//lib/rubocop/cop/lint/float_comparison.rb#34
+# source://rubocop//lib/rubocop/cop/lint/float_comparison.rb#38
RuboCop::Cop::Lint::FloatComparison::EQUALITY_METHODS = T.let(T.unsafe(nil), Array)
-# source://rubocop//lib/rubocop/cop/lint/float_comparison.rb#36
+# source://rubocop//lib/rubocop/cop/lint/float_comparison.rb#40
RuboCop::Cop::Lint::FloatComparison::FLOAT_INSTANCE_METHODS = T.let(T.unsafe(nil), Set)
-# source://rubocop//lib/rubocop/cop/lint/float_comparison.rb#35
+# source://rubocop//lib/rubocop/cop/lint/float_comparison.rb#39
RuboCop::Cop::Lint::FloatComparison::FLOAT_RETURNING_METHODS = T.let(T.unsafe(nil), Array)
-# source://rubocop//lib/rubocop/cop/lint/float_comparison.rb#32
+# source://rubocop//lib/rubocop/cop/lint/float_comparison.rb#36
RuboCop::Cop::Lint::FloatComparison::MSG = T.let(T.unsafe(nil), String)
-# source://rubocop//lib/rubocop/cop/lint/float_comparison.rb#38
+# source://rubocop//lib/rubocop/cop/lint/float_comparison.rb#42
RuboCop::Cop::Lint::FloatComparison::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
# Identifies Float literals which are, like, really really really
@@ -19080,6 +19370,9 @@ class RuboCop::Cop::Lint::HashCompareByIdentity < ::RuboCop::Cop::Base
# source://rubocop//lib/rubocop/cop/lint/hash_compare_by_identity.rb#37
def id_as_hash_key?(param0 = T.unsafe(nil)); end
+ # source://rubocop//lib/rubocop/cop/lint/hash_compare_by_identity.rb#41
+ def on_csend(node); end
+
# source://rubocop//lib/rubocop/cop/lint/hash_compare_by_identity.rb#41
def on_send(node); end
end
@@ -19526,6 +19819,43 @@ end
# source://rubocop//lib/rubocop/cop/lint/interpolation_check.rb#28
RuboCop::Cop::Lint::InterpolationCheck::MSG = T.let(T.unsafe(nil), String)
+# Emulates the following Ruby warning in Ruby 3.3.
+#
+# [source,ruby]
+# ----
+# $ ruby -e '0.times { it }'
+# -e:1: warning: `it` calls without arguments will refer to the first block param in Ruby 3.4;
+# use it() or self.it
+# ----
+#
+# `it` calls without arguments will refer to the first block param in Ruby 3.4.
+# So use `it()` or `self.it` to ensure compatibility.
+#
+# @example
+#
+# # bad
+# do_something { it }
+#
+# # good
+# do_something { it() }
+# do_something { self.it }
+#
+# source://rubocop//lib/rubocop/cop/lint/it_without_arguments_in_block.rb#27
+class RuboCop::Cop::Lint::ItWithoutArgumentsInBlock < ::RuboCop::Cop::Base
+ include ::RuboCop::AST::NodePattern::Macros
+
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/lint/it_without_arguments_in_block.rb#48
+ def deprecated_it_method?(node); end
+
+ # source://rubocop//lib/rubocop/cop/lint/it_without_arguments_in_block.rb#33
+ def on_block(node); end
+end
+
+# source://rubocop//lib/rubocop/cop/lint/it_without_arguments_in_block.rb#30
+RuboCop::Cop::Lint::ItWithoutArgumentsInBlock::MSG = T.let(T.unsafe(nil), String)
+
# Checks uses of lambda without a literal block.
# It emulates the following warning in Ruby 3.0:
#
@@ -19660,6 +19990,70 @@ end
# source://rubocop//lib/rubocop/cop/lint/literal_as_condition.rb#38
RuboCop::Cop::Lint::LiteralAsCondition::MSG = T.let(T.unsafe(nil), String)
+# Checks for literal assignments in the conditions of `if`, `while`, and `until`.
+# It emulates the following Ruby warning:
+#
+# [source,console]
+# ----
+# $ ruby -we 'if x = true; end'
+# -e:1: warning: found `= literal' in conditional, should be ==
+# ----
+#
+# As a lint cop, it cannot be determined if `==` is appropriate as intended,
+# therefore this cop does not provide autocorrection.
+#
+# @example
+#
+# # bad
+# if x = 42
+# do_something
+# end
+#
+# # good
+# if x == 42
+# do_something
+# end
+#
+# # good
+# if x = y
+# do_something
+# end
+#
+# source://rubocop//lib/rubocop/cop/lint/literal_assignment_in_condition.rb#35
+class RuboCop::Cop::Lint::LiteralAssignmentInCondition < ::RuboCop::Cop::Base
+ # source://rubocop//lib/rubocop/cop/lint/literal_assignment_in_condition.rb#39
+ def on_if(node); end
+
+ # source://rubocop//lib/rubocop/cop/lint/literal_assignment_in_condition.rb#39
+ def on_until(node); end
+
+ # source://rubocop//lib/rubocop/cop/lint/literal_assignment_in_condition.rb#39
+ def on_while(node); end
+
+ private
+
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/lint/literal_assignment_in_condition.rb#62
+ def all_literals?(node); end
+
+ # source://rubocop//lib/rubocop/cop/lint/literal_assignment_in_condition.rb#79
+ def offense_range(asgn_node, rhs); end
+
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/lint/literal_assignment_in_condition.rb#75
+ def parallel_assignment_with_splat_operator?(node); end
+
+ # @yield [node]
+ #
+ # source://rubocop//lib/rubocop/cop/lint/literal_assignment_in_condition.rb#56
+ def traverse_node(node, &block); end
+end
+
+# source://rubocop//lib/rubocop/cop/lint/literal_assignment_in_condition.rb#36
+RuboCop::Cop::Lint::LiteralAssignmentInCondition::MSG = T.let(T.unsafe(nil), String)
+
# Checks for interpolated literals.
#
# @example
@@ -19888,6 +20282,13 @@ RuboCop::Cop::Lint::MissingCopEnableDirective::MSG_BOUND = T.let(T.unsafe(nil),
# Autocorrection is not supported because the position of `super` cannot be
# determined automatically.
#
+# `Object` and `BasicObject` are allowed by this cop because of their
+# stateless nature. However, sometimes you might want to allow other parent
+# classes from this cop, for example in the case of an abstract class that is
+# not meant to be called with `super`. In those cases, you can use the
+# `AllowedParentClasses` option to specify which classes should be allowed
+# *in addition to* `Object` and `BasicObject`.
+#
# @example
# # bad
# class Employee < Person
@@ -19934,63 +20335,148 @@ RuboCop::Cop::Lint::MissingCopEnableDirective::MSG_BOUND = T.let(T.unsafe(nil),
# end
# end
#
-# source://rubocop//lib/rubocop/cop/lint/missing_super.rb#63
+# # good
+# class ClassWithNoParent
+# def initialize
+# do_something
+# end
+# end
+# @example AllowedParentClasses: [MyAbstractClass]
+# # good
+# class MyConcreteClass < MyAbstractClass
+# def initialize
+# do_something
+# end
+# end
+#
+# source://rubocop//lib/rubocop/cop/lint/missing_super.rb#85
class RuboCop::Cop::Lint::MissingSuper < ::RuboCop::Cop::Base
- # source://rubocop//lib/rubocop/cop/lint/missing_super.rb#77
+ # source://rubocop//lib/rubocop/cop/lint/missing_super.rb#99
def class_new_block(param0 = T.unsafe(nil)); end
- # source://rubocop//lib/rubocop/cop/lint/missing_super.rb#83
+ # source://rubocop//lib/rubocop/cop/lint/missing_super.rb#105
def on_def(node); end
- # source://rubocop//lib/rubocop/cop/lint/missing_super.rb#93
+ # source://rubocop//lib/rubocop/cop/lint/missing_super.rb#115
def on_defs(node); end
private
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/lint/missing_super.rb#105
+ # source://rubocop//lib/rubocop/cop/lint/missing_super.rb#149
+ def allowed_class?(node); end
+
+ # source://rubocop//lib/rubocop/cop/lint/missing_super.rb#153
+ def allowed_classes; end
+
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/lint/missing_super.rb#127
def callback_method_def?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/lint/missing_super.rb#111
+ # source://rubocop//lib/rubocop/cop/lint/missing_super.rb#133
def contains_super?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/lint/missing_super.rb#115
+ # source://rubocop//lib/rubocop/cop/lint/missing_super.rb#137
def inside_class_with_stateful_parent?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/lint/missing_super.rb#101
+ # source://rubocop//lib/rubocop/cop/lint/missing_super.rb#123
def offender?(node); end
-
- # @return [Boolean]
- #
- # source://rubocop//lib/rubocop/cop/lint/missing_super.rb#127
- def stateless_class?(node); end
end
-# source://rubocop//lib/rubocop/cop/lint/missing_super.rb#74
+# source://rubocop//lib/rubocop/cop/lint/missing_super.rb#96
RuboCop::Cop::Lint::MissingSuper::CALLBACKS = T.let(T.unsafe(nil), Set)
-# source://rubocop//lib/rubocop/cop/lint/missing_super.rb#65
+# source://rubocop//lib/rubocop/cop/lint/missing_super.rb#87
RuboCop::Cop::Lint::MissingSuper::CALLBACK_MSG = T.let(T.unsafe(nil), String)
-# source://rubocop//lib/rubocop/cop/lint/missing_super.rb#69
+# source://rubocop//lib/rubocop/cop/lint/missing_super.rb#91
RuboCop::Cop::Lint::MissingSuper::CLASS_LIFECYCLE_CALLBACKS = T.let(T.unsafe(nil), Array)
-# source://rubocop//lib/rubocop/cop/lint/missing_super.rb#64
+# source://rubocop//lib/rubocop/cop/lint/missing_super.rb#86
RuboCop::Cop::Lint::MissingSuper::CONSTRUCTOR_MSG = T.let(T.unsafe(nil), String)
-# source://rubocop//lib/rubocop/cop/lint/missing_super.rb#70
+# source://rubocop//lib/rubocop/cop/lint/missing_super.rb#92
RuboCop::Cop::Lint::MissingSuper::METHOD_LIFECYCLE_CALLBACKS = T.let(T.unsafe(nil), Array)
-# source://rubocop//lib/rubocop/cop/lint/missing_super.rb#67
+# source://rubocop//lib/rubocop/cop/lint/missing_super.rb#89
RuboCop::Cop::Lint::MissingSuper::STATELESS_CLASSES = T.let(T.unsafe(nil), Array)
+# Checks for mixed-case character ranges since they include likely unintended characters.
+#
+# Offenses are registered for regexp character classes like `/[A-z]/`
+# as well as range objects like `('A'..'z')`.
+#
+# NOTE: Range objects cannot be autocorrected.
+#
+# @example
+#
+# # bad
+# r = /[A-z]/
+#
+# # good
+# r = /[A-Za-z]/
+#
+# source://rubocop//lib/rubocop/cop/lint/mixed_case_range.rb#28
+class RuboCop::Cop::Lint::MixedCaseRange < ::RuboCop::Cop::Base
+ include ::RuboCop::Cop::RangeHelp
+ extend ::RuboCop::Cop::AutoCorrector
+
+ # source://rubocop//lib/rubocop/cop/lint/mixed_case_range.rb#56
+ def each_unsafe_regexp_range(node); end
+
+ # source://rubocop//lib/rubocop/cop/lint/mixed_case_range.rb#37
+ def on_erange(node); end
+
+ # source://rubocop//lib/rubocop/cop/lint/mixed_case_range.rb#37
+ def on_irange(node); end
+
+ # source://rubocop//lib/rubocop/cop/lint/mixed_case_range.rb#48
+ def on_regexp(node); end
+
+ private
+
+ # source://rubocop//lib/rubocop/cop/lint/mixed_case_range.rb#72
+ def build_source_range(range_start, range_end); end
+
+ # source://rubocop//lib/rubocop/cop/lint/mixed_case_range.rb#76
+ def range_for(char); end
+
+ # source://rubocop//lib/rubocop/cop/lint/mixed_case_range.rb#82
+ def range_pairs(expr); end
+
+ # source://rubocop//lib/rubocop/cop/lint/mixed_case_range.rb#102
+ def rewrite_regexp_range(source); end
+
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/lint/mixed_case_range.rb#92
+ def skip_expression?(expr); end
+
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/lint/mixed_case_range.rb#96
+ def skip_range?(range_start, range_end); end
+
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/lint/mixed_case_range.rb#86
+ def unsafe_range?(range_start, range_end); end
+end
+
+# source://rubocop//lib/rubocop/cop/lint/mixed_case_range.rb#32
+RuboCop::Cop::Lint::MixedCaseRange::MSG = T.let(T.unsafe(nil), String)
+
+# source://rubocop//lib/rubocop/cop/lint/mixed_case_range.rb#35
+RuboCop::Cop::Lint::MixedCaseRange::RANGES = T.let(T.unsafe(nil), Array)
+
# Do not mix named captures and numbered captures in a Regexp literal
# because numbered capture is ignored if they're mixed.
# Replace numbered captures with non-capturing groupings or
@@ -20058,14 +20544,17 @@ RuboCop::Cop::Lint::MultipleComparison::SET_OPERATION_OPERATORS = T.let(T.unsafe
# Checks for nested method definitions.
#
-# @example AllowedPatterns: ['baz']
-# # good
-# def foo(obj)
-# obj.do_baz do
+# @example
+#
+# # bad
+#
+# # `bar` definition actually produces methods in the same scope
+# # as the outer `foo` method. Furthermore, the `bar` method
+# # will be redefined every time `foo` is invoked.
+# def foo
# def bar
# end
# end
-# end
# @example
#
# # good
@@ -20128,17 +20617,14 @@ RuboCop::Cop::Lint::MultipleComparison::SET_OPERATION_OPERATORS = T.let(T.unsafe
# end
# end
# end
-# @example
-#
-# # bad
-#
-# # `bar` definition actually produces methods in the same scope
-# # as the outer `foo` method. Furthermore, the `bar` method
-# # will be redefined every time `foo` is invoked.
-# def foo
+# @example AllowedPatterns: ['baz']
+# # good
+# def foo(obj)
+# obj.do_baz do
# def bar
# end
# end
+# end
#
# source://rubocop//lib/rubocop/cop/lint/nested_method_definition.rb#97
class RuboCop::Cop::Lint::NestedMethodDefinition < ::RuboCop::Cop::Base
@@ -20255,22 +20741,16 @@ class RuboCop::Cop::Lint::NextWithoutAccumulator < ::RuboCop::Cop::Base
# source://rubocop//lib/rubocop/cop/lint/next_without_accumulator.rb#28
def on_block(node); end
- # source://rubocop//lib/rubocop/cop/lint/next_without_accumulator.rb#51
+ # source://rubocop//lib/rubocop/cop/lint/next_without_accumulator.rb#42
def on_block_body_of_reduce(param0 = T.unsafe(nil)); end
- # source://rubocop//lib/rubocop/cop/lint/next_without_accumulator.rb#38
+ # source://rubocop//lib/rubocop/cop/lint/next_without_accumulator.rb#28
def on_numblock(node); end
- # source://rubocop//lib/rubocop/cop/lint/next_without_accumulator.rb#56
- def on_numblock_body_of_reduce(param0 = T.unsafe(nil)); end
-
private
- # source://rubocop//lib/rubocop/cop/lint/next_without_accumulator.rb#60
+ # source://rubocop//lib/rubocop/cop/lint/next_without_accumulator.rb#49
def parent_block_node(node); end
-
- # source://rubocop//lib/rubocop/cop/lint/next_without_accumulator.rb#64
- def parent_numblock_node(node); end
end
# source://rubocop//lib/rubocop/cop/lint/next_without_accumulator.rb#26
@@ -20362,89 +20842,91 @@ RuboCop::Cop::Lint::NoReturnInBeginEndBlocks::MSG = T.let(T.unsafe(nil), String)
#
# source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#44
class RuboCop::Cop::Lint::NonAtomicFileOperation < ::RuboCop::Cop::Base
- include ::RuboCop::Cop::Alignment
extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#75
+ # source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#76
def explicit_not_force?(param0); end
- # source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#70
+ # source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#71
def force?(param0); end
- # source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#79
+ # source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#80
def on_send(node); end
- # source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#65
+ # source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#66
def receiver_and_method_name(param0 = T.unsafe(nil)); end
- # source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#60
+ # source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#61
def send_exist_node(param0); end
private
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#96
+ # source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#97
def allowable_use_with_if?(if_node); end
- # source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#120
+ # source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#121
def autocorrect(corrector, node, range); end
- # source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#131
+ # source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#132
def autocorrect_replace_method(corrector, node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#148
+ # source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#151
def force_method?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#156
+ # source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#159
def force_method_name?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#152
+ # source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#155
def force_option?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#90
+ # source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#91
def if_node_child?(node); end
- # source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#111
+ # source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#112
def message_change_force_method(node); end
- # source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#115
+ # source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#116
def message_remove_file_exist_check(node); end
- # source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#100
+ # source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#101
def register_offense(node, exist_node); end
- # source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#138
+ # source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#139
def replacement_method(node); end
end
-# source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#51
+# source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#50
RuboCop::Cop::Lint::NonAtomicFileOperation::MAKE_FORCE_METHODS = T.let(T.unsafe(nil), Array)
-# source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#52
+# source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#51
RuboCop::Cop::Lint::NonAtomicFileOperation::MAKE_METHODS = T.let(T.unsafe(nil), Array)
-# source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#50
+# source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#49
RuboCop::Cop::Lint::NonAtomicFileOperation::MSG_CHANGE_FORCE_METHOD = T.let(T.unsafe(nil), String)
-# source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#48
+# source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#47
RuboCop::Cop::Lint::NonAtomicFileOperation::MSG_REMOVE_FILE_EXIST_CHECK = T.let(T.unsafe(nil), String)
-# source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#53
+# source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#54
+RuboCop::Cop::Lint::NonAtomicFileOperation::RECURSIVE_REMOVE_METHODS = T.let(T.unsafe(nil), Array)
+
+# source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#52
RuboCop::Cop::Lint::NonAtomicFileOperation::REMOVE_FORCE_METHODS = T.let(T.unsafe(nil), Array)
-# source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#54
+# source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#53
RuboCop::Cop::Lint::NonAtomicFileOperation::REMOVE_METHODS = T.let(T.unsafe(nil), Array)
-# source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#56
+# source://rubocop//lib/rubocop/cop/lint/non_atomic_file_operation.rb#55
RuboCop::Cop::Lint::NonAtomicFileOperation::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
# `Dir[...]` and `Dir.glob(...)` do not make any guarantees about
@@ -20501,10 +20983,10 @@ RuboCop::Cop::Lint::NonAtomicFileOperation::RESTRICT_ON_SEND = T.let(T.unsafe(ni
class RuboCop::Cop::Lint::NonDeterministicRequireOrder < ::RuboCop::Cop::Base
extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop//lib/rubocop/cop/lint/non_deterministic_require_order.rb#174
+ # source://rubocop//lib/rubocop/cop/lint/non_deterministic_require_order.rb#172
def loop_variable(param0 = T.unsafe(nil)); end
- # source://rubocop//lib/rubocop/cop/lint/non_deterministic_require_order.rb#157
+ # source://rubocop//lib/rubocop/cop/lint/non_deterministic_require_order.rb#155
def method_require?(param0 = T.unsafe(nil)); end
# source://rubocop//lib/rubocop/cop/lint/non_deterministic_require_order.rb#65
@@ -20516,19 +20998,19 @@ class RuboCop::Cop::Lint::NonDeterministicRequireOrder < ::RuboCop::Cop::Base
# source://rubocop//lib/rubocop/cop/lint/non_deterministic_require_order.rb#77
def on_numblock(node); end
- # source://rubocop//lib/rubocop/cop/lint/non_deterministic_require_order.rb#147
+ # source://rubocop//lib/rubocop/cop/lint/non_deterministic_require_order.rb#145
def unsorted_dir_block?(param0 = T.unsafe(nil)); end
- # source://rubocop//lib/rubocop/cop/lint/non_deterministic_require_order.rb#152
+ # source://rubocop//lib/rubocop/cop/lint/non_deterministic_require_order.rb#150
def unsorted_dir_each?(param0 = T.unsafe(nil)); end
- # source://rubocop//lib/rubocop/cop/lint/non_deterministic_require_order.rb#168
+ # source://rubocop//lib/rubocop/cop/lint/non_deterministic_require_order.rb#166
def unsorted_dir_each_pass?(param0 = T.unsafe(nil)); end
- # source://rubocop//lib/rubocop/cop/lint/non_deterministic_require_order.rb#162
+ # source://rubocop//lib/rubocop/cop/lint/non_deterministic_require_order.rb#160
def unsorted_dir_glob_pass?(param0 = T.unsafe(nil)); end
- # source://rubocop//lib/rubocop/cop/lint/non_deterministic_require_order.rb#179
+ # source://rubocop//lib/rubocop/cop/lint/non_deterministic_require_order.rb#177
def var_is_required?(param0, param1); end
private
@@ -20548,12 +21030,12 @@ class RuboCop::Cop::Lint::NonDeterministicRequireOrder < ::RuboCop::Cop::Base
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/lint/non_deterministic_require_order.rb#138
+ # source://rubocop//lib/rubocop/cop/lint/non_deterministic_require_order.rb#136
def unsorted_dir_loop?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/lint/non_deterministic_require_order.rb#142
+ # source://rubocop//lib/rubocop/cop/lint/non_deterministic_require_order.rb#140
def unsorted_dir_pass?(node); end
end
@@ -20628,7 +21110,7 @@ RuboCop::Cop::Lint::NonLocalExitFromIterator::MSG = T.let(T.unsafe(nil), String)
#
# Conversion with `Integer`, `Float`, etc. will raise an `ArgumentError`
# if given input that is not numeric (eg. an empty string), whereas
-# `to_i`, etc. will try to convert regardless of input (`''.to_i => 0`).
+# `to_i`, etc. will try to convert regardless of input (``''.to_i => 0``).
# As such, this cop is disabled by default because it's not necessarily
# always correct to raise if a value is not numeric.
#
@@ -20686,69 +21168,72 @@ class RuboCop::Cop::Lint::NumberConversion < ::RuboCop::Cop::Base
include ::RuboCop::Cop::AllowedPattern
extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop//lib/rubocop/cop/lint/number_conversion.rb#102
+ # source://rubocop//lib/rubocop/cop/lint/number_conversion.rb#107
+ def on_csend(node); end
+
+ # source://rubocop//lib/rubocop/cop/lint/number_conversion.rb#107
def on_send(node); end
- # source://rubocop//lib/rubocop/cop/lint/number_conversion.rb#92
+ # source://rubocop//lib/rubocop/cop/lint/number_conversion.rb#93
def to_method(param0 = T.unsafe(nil)); end
- # source://rubocop//lib/rubocop/cop/lint/number_conversion.rb#97
+ # source://rubocop//lib/rubocop/cop/lint/number_conversion.rb#98
def to_method_symbol(param0 = T.unsafe(nil)); end
private
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/lint/number_conversion.rb#155
+ # source://rubocop//lib/rubocop/cop/lint/number_conversion.rb#165
def allow_receiver?(receiver); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/lint/number_conversion.rb#167
+ # source://rubocop//lib/rubocop/cop/lint/number_conversion.rb#177
def allowed_method_name?(name); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/lint/number_conversion.rb#177
+ # source://rubocop//lib/rubocop/cop/lint/number_conversion.rb#187
def conversion_method?(method_name); end
- # source://rubocop//lib/rubocop/cop/lint/number_conversion.rb#141
+ # source://rubocop//lib/rubocop/cop/lint/number_conversion.rb#151
def correct_method(node, receiver); end
- # source://rubocop//lib/rubocop/cop/lint/number_conversion.rb#145
+ # source://rubocop//lib/rubocop/cop/lint/number_conversion.rb#155
def correct_sym_method(to_method); end
- # source://rubocop//lib/rubocop/cop/lint/number_conversion.rb#124
+ # source://rubocop//lib/rubocop/cop/lint/number_conversion.rb#134
def handle_as_symbol(node); end
- # source://rubocop//lib/rubocop/cop/lint/number_conversion.rb#109
+ # source://rubocop//lib/rubocop/cop/lint/number_conversion.rb#115
def handle_conversion_method(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/lint/number_conversion.rb#185
+ # source://rubocop//lib/rubocop/cop/lint/number_conversion.rb#195
def ignored_class?(name); end
- # source://rubocop//lib/rubocop/cop/lint/number_conversion.rb#181
+ # source://rubocop//lib/rubocop/cop/lint/number_conversion.rb#191
def ignored_classes; end
- # source://rubocop//lib/rubocop/cop/lint/number_conversion.rb#150
+ # source://rubocop//lib/rubocop/cop/lint/number_conversion.rb#160
def remove_parentheses(corrector, node); end
- # source://rubocop//lib/rubocop/cop/lint/number_conversion.rb#171
+ # source://rubocop//lib/rubocop/cop/lint/number_conversion.rb#181
def top_receiver(node); end
end
-# source://rubocop//lib/rubocop/cop/lint/number_conversion.rb#88
+# source://rubocop//lib/rubocop/cop/lint/number_conversion.rb#89
RuboCop::Cop::Lint::NumberConversion::CONVERSION_METHODS = T.let(T.unsafe(nil), Array)
-# source://rubocop//lib/rubocop/cop/lint/number_conversion.rb#78
+# source://rubocop//lib/rubocop/cop/lint/number_conversion.rb#79
RuboCop::Cop::Lint::NumberConversion::CONVERSION_METHOD_CLASS_MAPPING = T.let(T.unsafe(nil), Hash)
-# source://rubocop//lib/rubocop/cop/lint/number_conversion.rb#89
+# source://rubocop//lib/rubocop/cop/lint/number_conversion.rb#90
RuboCop::Cop::Lint::NumberConversion::METHODS = T.let(T.unsafe(nil), String)
-# source://rubocop//lib/rubocop/cop/lint/number_conversion.rb#84
+# source://rubocop//lib/rubocop/cop/lint/number_conversion.rb#85
RuboCop::Cop::Lint::NumberConversion::MSG = T.let(T.unsafe(nil), String)
# Checks for uses of numbered parameter assignment.
@@ -21481,6 +21966,79 @@ RuboCop::Cop::Lint::RedundantDirGlobSort::MSG = T.let(T.unsafe(nil), String)
# source://rubocop//lib/rubocop/cop/lint/redundant_dir_glob_sort.rb#37
RuboCop::Cop::Lint::RedundantDirGlobSort::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
+# Checks for redundant quantifiers inside Regexp literals.
+#
+# It is always allowed when interpolation is used in a regexp literal,
+# because it's unknown what kind of string will be expanded as a result:
+#
+# [source,ruby]
+# ----
+# /(?:a*#{interpolation})?/x
+# ----
+#
+# @example
+# # bad
+# /(?:x+)+/
+#
+# # good
+# /(?:x)+/
+#
+# # good
+# /(?:x+)/
+#
+# # bad
+# /(?:x+)?/
+#
+# # good
+# /(?:x)*/
+#
+# # good
+# /(?:x*)/
+#
+# source://rubocop//lib/rubocop/cop/lint/redundant_regexp_quantifiers.rb#34
+class RuboCop::Cop::Lint::RedundantRegexpQuantifiers < ::RuboCop::Cop::Base
+ include ::RuboCop::Cop::RangeHelp
+ extend ::RuboCop::Cop::AutoCorrector
+
+ # source://rubocop//lib/rubocop/cop/lint/redundant_regexp_quantifiers.rb#42
+ def on_regexp(node); end
+
+ private
+
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/lint/redundant_regexp_quantifiers.rb#83
+ def character_set?(expr); end
+
+ # source://rubocop//lib/rubocop/cop/lint/redundant_regexp_quantifiers.rb#61
+ def each_redundantly_quantified_pair(node); end
+
+ # source://rubocop//lib/rubocop/cop/lint/redundant_regexp_quantifiers.rb#87
+ def mergeable_quantifier(expr); end
+
+ # source://rubocop//lib/rubocop/cop/lint/redundant_regexp_quantifiers.rb#103
+ def merged_quantifier(exp1, exp2); end
+
+ # source://rubocop//lib/rubocop/cop/lint/redundant_regexp_quantifiers.rb#119
+ def message(group, child, replacement); end
+
+ # source://rubocop//lib/rubocop/cop/lint/redundant_regexp_quantifiers.rb#115
+ def quantifier_range(group, child); end
+
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/lint/redundant_regexp_quantifiers.rb#75
+ def redundant_group?(expr); end
+
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/lint/redundant_regexp_quantifiers.rb#79
+ def redundantly_quantifiable?(node); end
+end
+
+# source://rubocop//lib/rubocop/cop/lint/redundant_regexp_quantifiers.rb#38
+RuboCop::Cop::Lint::RedundantRegexpQuantifiers::MSG_REDUNDANT_QUANTIFIER = T.let(T.unsafe(nil), String)
+
# Checks for unnecessary `require` statement.
#
# The following features are unnecessary `require` statement because
@@ -21510,45 +22068,52 @@ RuboCop::Cop::Lint::RedundantDirGlobSort::RESTRICT_ON_SEND = T.let(T.unsafe(nil)
# # good
# require 'unloaded_feature'
#
-# source://rubocop//lib/rubocop/cop/lint/redundant_require_statement.rb#34
+# source://rubocop//lib/rubocop/cop/lint/redundant_require_statement.rb#38
class RuboCop::Cop::Lint::RedundantRequireStatement < ::RuboCop::Cop::Base
include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop//lib/rubocop/cop/lint/redundant_require_statement.rb#52
+ # source://rubocop//lib/rubocop/cop/lint/redundant_require_statement.rb#61
def on_send(node); end
- # source://rubocop//lib/rubocop/cop/lint/redundant_require_statement.rb#47
+ # source://rubocop//lib/rubocop/cop/lint/redundant_require_statement.rb#57
+ def pp_const?(param0 = T.unsafe(nil)); end
+
+ # source://rubocop//lib/rubocop/cop/lint/redundant_require_statement.rb#51
def redundant_require_statement?(param0 = T.unsafe(nil)); end
private
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/lint/redundant_require_statement.rb#71
- def redundant_feature?(feature_name); end
+ # source://rubocop//lib/rubocop/cop/lint/redundant_require_statement.rb#91
+ def need_to_require_pp?; end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/lint/redundant_require_statement.rb#82
- def use_pretty_print_method?; end
+ # source://rubocop//lib/rubocop/cop/lint/redundant_require_statement.rb#80
+ def redundant_feature?(feature_name); end
end
-# source://rubocop//lib/rubocop/cop/lint/redundant_require_statement.rb#38
+# source://rubocop//lib/rubocop/cop/lint/redundant_require_statement.rb#42
RuboCop::Cop::Lint::RedundantRequireStatement::MSG = T.let(T.unsafe(nil), String)
-# source://rubocop//lib/rubocop/cop/lint/redundant_require_statement.rb#41
+# source://rubocop//lib/rubocop/cop/lint/redundant_require_statement.rb#45
RuboCop::Cop::Lint::RedundantRequireStatement::PRETTY_PRINT_METHODS = T.let(T.unsafe(nil), Array)
-# source://rubocop//lib/rubocop/cop/lint/redundant_require_statement.rb#39
+# source://rubocop//lib/rubocop/cop/lint/redundant_require_statement.rb#43
RuboCop::Cop::Lint::RedundantRequireStatement::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
-# source://rubocop//lib/rubocop/cop/lint/redundant_require_statement.rb#40
+# source://rubocop//lib/rubocop/cop/lint/redundant_require_statement.rb#44
RuboCop::Cop::Lint::RedundantRequireStatement::RUBY_22_LOADED_FEATURES = T.let(T.unsafe(nil), Array)
# Checks for redundant safe navigation calls.
-# `instance_of?`, `kind_of?`, `is_a?`, `eql?`, `respond_to?`, and `equal?` methods
-# are checked by default. These are customizable with `AllowedMethods` option.
+# Use cases where a constant, named in camel case for classes and modules is `nil` are rare,
+# and an offense is not detected when the receiver is a snake case constant.
+#
+# For all receivers, the `instance_of?`, `kind_of?`, `is_a?`, `eql?`, `respond_to?`,
+# and `equal?` methods are checked by default.
+# These are customizable with `AllowedMethods` option.
#
# The `AllowedMethods` option specifies nil-safe methods,
# in other words, it is a method that is allowed to skip safe navigation.
@@ -21560,6 +22125,9 @@ RuboCop::Cop::Lint::RedundantRequireStatement::RUBY_22_LOADED_FEATURES = T.let(T
#
# @example
# # bad
+# CamelCaseConst&.do_something
+#
+# # bad
# do_something if attrs&.respond_to?(:[])
#
# # good
@@ -21571,12 +22139,31 @@ RuboCop::Cop::Lint::RedundantRequireStatement::RUBY_22_LOADED_FEATURES = T.let(T
# end
#
# # good
+# CamelCaseConst.do_something
+#
+# # good
# while node.is_a?(BeginNode)
# node = node.parent
# end
#
# # good - without `&.` this will always return `true`
# foo&.respond_to?(:to_a)
+#
+# # bad - for `nil`s conversion methods return default values for the type
+# foo&.to_h || {}
+# foo&.to_h { |k, v| [k, v] } || {}
+# foo&.to_a || []
+# foo&.to_i || 0
+# foo&.to_f || 0.0
+# foo&.to_s || ''
+#
+# # good
+# foo.to_h
+# foo.to_h { |k, v| [k, v] }
+# foo.to_a
+# foo.to_i
+# foo.to_f
+# foo.to_s
# @example AllowedMethods: [nil_safe_method]
# # bad
# do_something if attrs&.nil_safe_method(:[])
@@ -21585,37 +22172,49 @@ RuboCop::Cop::Lint::RedundantRequireStatement::RUBY_22_LOADED_FEATURES = T.let(T
# do_something if attrs.nil_safe_method(:[])
# do_something if attrs&.not_nil_safe_method(:[])
#
-# source://rubocop//lib/rubocop/cop/lint/redundant_safe_navigation.rb#51
+# source://rubocop//lib/rubocop/cop/lint/redundant_safe_navigation.rb#77
class RuboCop::Cop::Lint::RedundantSafeNavigation < ::RuboCop::Cop::Base
include ::RuboCop::Cop::AllowedMethods
include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop//lib/rubocop/cop/lint/redundant_safe_navigation.rb#65
+ # source://rubocop//lib/rubocop/cop/lint/redundant_safe_navigation.rb#95
+ def conversion_with_default?(param0 = T.unsafe(nil)); end
+
+ # source://rubocop//lib/rubocop/cop/lint/redundant_safe_navigation.rb#107
def on_csend(node); end
- # source://rubocop//lib/rubocop/cop/lint/redundant_safe_navigation.rb#61
+ # source://rubocop//lib/rubocop/cop/lint/redundant_safe_navigation.rb#117
+ def on_or(node); end
+
+ # source://rubocop//lib/rubocop/cop/lint/redundant_safe_navigation.rb#90
def respond_to_nil_specific_method?(param0 = T.unsafe(nil)); end
private
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/lint/redundant_safe_navigation.rb#75
+ # source://rubocop//lib/rubocop/cop/lint/redundant_safe_navigation.rb#134
def check?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/lint/redundant_safe_navigation.rb#85
+ # source://rubocop//lib/rubocop/cop/lint/redundant_safe_navigation.rb#144
def condition?(parent, node); end
end
-# source://rubocop//lib/rubocop/cop/lint/redundant_safe_navigation.rb#56
+# source://rubocop//lib/rubocop/cop/lint/redundant_safe_navigation.rb#82
RuboCop::Cop::Lint::RedundantSafeNavigation::MSG = T.let(T.unsafe(nil), String)
-# source://rubocop//lib/rubocop/cop/lint/redundant_safe_navigation.rb#58
+# source://rubocop//lib/rubocop/cop/lint/redundant_safe_navigation.rb#83
+RuboCop::Cop::Lint::RedundantSafeNavigation::MSG_LITERAL = T.let(T.unsafe(nil), String)
+
+# source://rubocop//lib/rubocop/cop/lint/redundant_safe_navigation.rb#85
RuboCop::Cop::Lint::RedundantSafeNavigation::NIL_SPECIFIC_METHODS = T.let(T.unsafe(nil), Set)
+# source://rubocop//lib/rubocop/cop/lint/redundant_safe_navigation.rb#87
+RuboCop::Cop::Lint::RedundantSafeNavigation::SNAKE_CASE = T.let(T.unsafe(nil), Regexp)
+
# Checks for unneeded usages of splat expansion
#
# @example
@@ -22285,20 +22884,25 @@ class RuboCop::Cop::Lint::SafeNavigationChain < ::RuboCop::Cop::Base
# @param send_node [RuboCop::AST::SendNode]
# @return [String]
#
- # source://rubocop//lib/rubocop/cop/lint/safe_navigation_chain.rb#63
+ # source://rubocop//lib/rubocop/cop/lint/safe_navigation_chain.rb#62
def add_safe_navigation_operator(offense_range:, send_node:); end
# @param corrector [RuboCop::Cop::Corrector]
# @param offense_range [Parser::Source::Range]
# @param send_node [RuboCop::AST::SendNode]
#
- # source://rubocop//lib/rubocop/cop/lint/safe_navigation_chain.rb#82
+ # source://rubocop//lib/rubocop/cop/lint/safe_navigation_chain.rb#81
def autocorrect(corrector, offense_range:, send_node:); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/lint/safe_navigation_chain.rb#92
+ # source://rubocop//lib/rubocop/cop/lint/safe_navigation_chain.rb#90
def brackets?(send_node); end
+
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/lint/safe_navigation_chain.rb#94
+ def require_parentheses?(send_node); end
end
# source://rubocop//lib/rubocop/cop/lint/safe_navigation_chain.rb#33
@@ -22451,55 +23055,74 @@ RuboCop::Cop::Lint::ScriptPermission::SHEBANG = T.let(T.unsafe(nil), String)
# foo = foo
# foo, bar = foo, bar
# Foo = Foo
+# hash['foo'] = hash['foo']
+# obj.attr = obj.attr
#
# # good
# foo = bar
# foo, bar = bar, foo
# Foo = Bar
+# hash['foo'] = hash['bar']
+# obj.attr = obj.attr2
+#
+# # good (method calls possibly can return different results)
+# hash[foo] = hash[foo]
#
-# source://rubocop//lib/rubocop/cop/lint/self_assignment.rb#19
+# source://rubocop//lib/rubocop/cop/lint/self_assignment.rb#26
class RuboCop::Cop::Lint::SelfAssignment < ::RuboCop::Cop::Base
- # source://rubocop//lib/rubocop/cop/lint/self_assignment.rb#53
+ # source://rubocop//lib/rubocop/cop/lint/self_assignment.rb#69
def on_and_asgn(node); end
- # source://rubocop//lib/rubocop/cop/lint/self_assignment.rb#41
+ # source://rubocop//lib/rubocop/cop/lint/self_assignment.rb#57
def on_casgn(node); end
- # source://rubocop//lib/rubocop/cop/lint/self_assignment.rb#29
+ # source://rubocop//lib/rubocop/cop/lint/self_assignment.rb#36
+ def on_csend(node); end
+
+ # source://rubocop//lib/rubocop/cop/lint/self_assignment.rb#45
def on_cvasgn(node); end
- # source://rubocop//lib/rubocop/cop/lint/self_assignment.rb#29
+ # source://rubocop//lib/rubocop/cop/lint/self_assignment.rb#45
def on_gvasgn(node); end
- # source://rubocop//lib/rubocop/cop/lint/self_assignment.rb#29
+ # source://rubocop//lib/rubocop/cop/lint/self_assignment.rb#45
def on_ivasgn(node); end
- # source://rubocop//lib/rubocop/cop/lint/self_assignment.rb#29
+ # source://rubocop//lib/rubocop/cop/lint/self_assignment.rb#45
def on_lvasgn(node); end
- # source://rubocop//lib/rubocop/cop/lint/self_assignment.rb#49
+ # source://rubocop//lib/rubocop/cop/lint/self_assignment.rb#65
def on_masgn(node); end
- # source://rubocop//lib/rubocop/cop/lint/self_assignment.rb#53
+ # source://rubocop//lib/rubocop/cop/lint/self_assignment.rb#69
def on_or_asgn(node); end
+ # source://rubocop//lib/rubocop/cop/lint/self_assignment.rb#36
+ def on_send(node); end
+
private
+ # source://rubocop//lib/rubocop/cop/lint/self_assignment.rb#103
+ def handle_attribute_assignment(node); end
+
+ # source://rubocop//lib/rubocop/cop/lint/self_assignment.rb#92
+ def handle_key_assignment(node); end
+
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/lint/self_assignment.rb#61
+ # source://rubocop//lib/rubocop/cop/lint/self_assignment.rb#77
def multiple_self_assignment?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/lint/self_assignment.rb#71
+ # source://rubocop//lib/rubocop/cop/lint/self_assignment.rb#87
def rhs_matches_lhs?(rhs, lhs); end
end
-# source://rubocop//lib/rubocop/cop/lint/self_assignment.rb#22
+# source://rubocop//lib/rubocop/cop/lint/self_assignment.rb#29
RuboCop::Cop::Lint::SelfAssignment::ASSIGNMENT_TYPE_TO_RHS_TYPE = T.let(T.unsafe(nil), Hash)
-# source://rubocop//lib/rubocop/cop/lint/self_assignment.rb#20
+# source://rubocop//lib/rubocop/cop/lint/self_assignment.rb#27
RuboCop::Cop::Lint::SelfAssignment::MSG = T.let(T.unsafe(nil), String)
# Checks for `send`, `public_send`, and `__send__` methods
@@ -22639,7 +23262,7 @@ class RuboCop::Cop::Lint::ShadowedArgument < ::RuboCop::Cop::Base
# Get argument references without assignments' references
#
- # source://rubocop//lib/rubocop/cop/lint/shadowed_argument.rb#160
+ # source://rubocop//lib/rubocop/cop/lint/shadowed_argument.rb#161
def argument_references(argument); end
# Find the first argument assignment, which doesn't reference the
@@ -22655,17 +23278,17 @@ class RuboCop::Cop::Lint::ShadowedArgument < ::RuboCop::Cop::Base
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/lint/shadowed_argument.rb#170
+ # source://rubocop//lib/rubocop/cop/lint/shadowed_argument.rb#171
def ignore_implicit_references?; end
# Check whether the given node is nested into block or conditional.
#
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/lint/shadowed_argument.rb#151
+ # source://rubocop//lib/rubocop/cop/lint/shadowed_argument.rb#152
def node_within_block_or_conditional?(node, stop_search_node); end
- # source://rubocop//lib/rubocop/cop/lint/shadowed_argument.rb#143
+ # source://rubocop//lib/rubocop/cop/lint/shadowed_argument.rb#144
def reference_pos(node); end
# source://rubocop//lib/rubocop/cop/lint/shadowed_argument.rb#95
@@ -22826,6 +23449,11 @@ class RuboCop::Cop::Lint::ShadowingOuterLocalVariable < ::RuboCop::Cop::Base
# source://rubocop//lib/rubocop/cop/lint/shadowing_outer_local_variable.rb#93
def find_conditional_node_from_ascendant(node); end
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/lint/shadowing_outer_local_variable.rb#100
+ def node_or_its_ascendant_conditional?(node); end
+
# source://rubocop//lib/rubocop/cop/lint/shadowing_outer_local_variable.rb#49
def ractor_block?(param0 = T.unsafe(nil)); end
@@ -23018,6 +23646,7 @@ RuboCop::Cop::Lint::SuppressedException::MSG = T.let(T.unsafe(nil), String)
# 'underscored_string'.to_sym
# :'underscored_symbol'
# 'hyphenated-string'.to_sym
+# "string_#{interpolation}".to_sym
#
# # good
# :string
@@ -23025,6 +23654,7 @@ RuboCop::Cop::Lint::SuppressedException::MSG = T.let(T.unsafe(nil), String)
# :underscored_string
# :underscored_symbol
# :'hyphenated-string'
+# :"string_#{interpolation}"
# @example EnforcedStyle: strict (default)
#
# # bad
@@ -23060,60 +23690,60 @@ RuboCop::Cop::Lint::SuppressedException::MSG = T.let(T.unsafe(nil), String)
# b: 2
# }
#
-# source://rubocop//lib/rubocop/cop/lint/symbol_conversion.rb#66
+# source://rubocop//lib/rubocop/cop/lint/symbol_conversion.rb#68
class RuboCop::Cop::Lint::SymbolConversion < ::RuboCop::Cop::Base
include ::RuboCop::Cop::ConfigurableEnforcedStyle
include ::RuboCop::Cop::SymbolHelp
extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop//lib/rubocop/cop/lint/symbol_conversion.rb#100
+ # source://rubocop//lib/rubocop/cop/lint/symbol_conversion.rb#105
def on_hash(node); end
- # source://rubocop//lib/rubocop/cop/lint/symbol_conversion.rb#76
+ # source://rubocop//lib/rubocop/cop/lint/symbol_conversion.rb#78
def on_send(node); end
- # source://rubocop//lib/rubocop/cop/lint/symbol_conversion.rb#83
+ # source://rubocop//lib/rubocop/cop/lint/symbol_conversion.rb#88
def on_sym(node); end
private
- # source://rubocop//lib/rubocop/cop/lint/symbol_conversion.rb#142
+ # source://rubocop//lib/rubocop/cop/lint/symbol_conversion.rb#147
def correct_hash_key(node); end
- # source://rubocop//lib/rubocop/cop/lint/symbol_conversion.rb#161
+ # source://rubocop//lib/rubocop/cop/lint/symbol_conversion.rb#166
def correct_inconsistent_hash_keys(keys); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/lint/symbol_conversion.rb#134
+ # source://rubocop//lib/rubocop/cop/lint/symbol_conversion.rb#139
def in_alias?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/lint/symbol_conversion.rb#138
+ # source://rubocop//lib/rubocop/cop/lint/symbol_conversion.rb#143
def in_percent_literal_array?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/lint/symbol_conversion.rb#121
+ # source://rubocop//lib/rubocop/cop/lint/symbol_conversion.rb#126
def properly_quoted?(source, value); end
- # source://rubocop//lib/rubocop/cop/lint/symbol_conversion.rb#117
+ # source://rubocop//lib/rubocop/cop/lint/symbol_conversion.rb#122
def register_offense(node, correction:, message: T.unsafe(nil)); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/lint/symbol_conversion.rb#130
+ # source://rubocop//lib/rubocop/cop/lint/symbol_conversion.rb#135
def requires_quotes?(sym_node); end
end
-# source://rubocop//lib/rubocop/cop/lint/symbol_conversion.rb#71
+# source://rubocop//lib/rubocop/cop/lint/symbol_conversion.rb#73
RuboCop::Cop::Lint::SymbolConversion::MSG = T.let(T.unsafe(nil), String)
-# source://rubocop//lib/rubocop/cop/lint/symbol_conversion.rb#72
+# source://rubocop//lib/rubocop/cop/lint/symbol_conversion.rb#74
RuboCop::Cop::Lint::SymbolConversion::MSG_CONSISTENCY = T.let(T.unsafe(nil), String)
-# source://rubocop//lib/rubocop/cop/lint/symbol_conversion.rb#74
+# source://rubocop//lib/rubocop/cop/lint/symbol_conversion.rb#76
RuboCop::Cop::Lint::SymbolConversion::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
# Repacks Parser's diagnostics/errors
@@ -23129,13 +23759,13 @@ class RuboCop::Cop::Lint::Syntax < ::RuboCop::Cop::Base
# source://rubocop//lib/rubocop/cop/lint/syntax.rb#19
def add_offense_from_diagnostic(diagnostic, ruby_version); end
- # source://rubocop//lib/rubocop/cop/lint/syntax.rb#26
+ # source://rubocop//lib/rubocop/cop/lint/syntax.rb#29
def add_offense_from_error(error); end
- # source://rubocop//lib/rubocop/cop/lint/syntax.rb#31
+ # source://rubocop//lib/rubocop/cop/lint/syntax.rb#34
def beautify_message(message); end
- # source://rubocop//lib/rubocop/cop/lint/syntax.rb#37
+ # source://rubocop//lib/rubocop/cop/lint/syntax.rb#40
def find_severity(_range, _severity); end
end
@@ -24369,12 +24999,18 @@ RuboCop::Cop::Lint::UselessAccessModifier::MSG = T.let(T.unsafe(nil), String)
# scope.
# The basic idea for this cop was from the warning of `ruby -cw`:
#
-# assigned but unused variable - foo
+# [source,console]
+# ----
+# assigned but unused variable - foo
+# ----
#
# Currently this cop has advanced logic that detects unreferenced
# reassignments and properly handles varied cases such as branch, loop,
# rescue, ensure, etc.
#
+# NOTE: Given the assignment `foo = 1, bar = 2`, removing unused variables
+# can lead to a syntax error, so this case is not autocorrected.
+#
# @example
#
# # bad
@@ -24392,70 +25028,83 @@ RuboCop::Cop::Lint::UselessAccessModifier::MSG = T.let(T.unsafe(nil), String)
# do_something(some_var)
# end
#
-# source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#39
+# source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#45
class RuboCop::Cop::Lint::UselessAssignment < ::RuboCop::Cop::Base
include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#50
+ # source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#56
def after_leaving_scope(scope, _variable_table); end
- # source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#136
+ # source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#162
def autocorrect(corrector, assignment); end
- # source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#54
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#103
+ def chained_assignment?(node); end
+
+ # source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#61
def check_for_unused_assignments(variable); end
- # source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#120
+ # source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#146
def collect_variable_like_names(scope); end
- # source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#74
+ # source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#79
def message_for_useless_assignment(assignment); end
- # source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#80
+ # source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#107
def message_specification(assignment, variable); end
- # source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#90
+ # source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#117
def multiple_assignment_message(variable_name); end
- # source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#95
+ # source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#85
+ def offense_range(assignment); end
+
+ # source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#122
def operator_assignment_message(scope, assignment); end
- # source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#153
+ # source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#179
def remove_exception_assignment_part(corrector, node); end
- # source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#177
+ # source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#203
def remove_local_variable_assignment_part(corrector, node); end
- # source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#166
+ # source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#192
def remove_trailing_character_from_operator(corrector, node); end
- # source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#162
+ # source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#188
def rename_variable_with_underscore(corrector, node); end
- # source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#170
+ # source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#196
def replace_named_capture_group_with_non_capturing_group(corrector, node, variable_name); end
# TODO: More precise handling (rescue, ensure, nested begin, etc.)
#
- # source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#110
+ # source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#136
def return_value_node_of_scope(scope); end
- # source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#103
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#93
+ def sequential_assignment?(node); end
+
+ # source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#129
def similar_name_message(variable); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#129
+ # source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#155
def variable_like_method_invocation?(node); end
class << self
- # source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#46
+ # source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#52
def joining_forces; end
end
end
-# source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#44
+# source://rubocop//lib/rubocop/cop/lint/useless_assignment.rb#50
RuboCop::Cop::Lint::UselessAssignment::MSG = T.let(T.unsafe(nil), String)
# Checks for useless `else` in `begin..end` without `rescue`.
@@ -24798,7 +25447,7 @@ class RuboCop::Cop::Lint::UselessSetterCall::MethodVariableTracker
end
# Checks for uses of `Integer#times` that will never yield
-# (when the integer <= 0) or that will only ever yield once
+# (when the integer ``<= 0``) or that will only ever yield once
# (`1.times`).
#
# @example
@@ -24866,6 +25515,16 @@ RuboCop::Cop::Lint::UselessTimes::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
# Checks for operators, variables, literals, lambda, proc and nonmutating
# methods used in void context.
#
+# `each` blocks are allowed to prevent false positives.
+# For example, the expression inside the `each` block below.
+# It's not void, especially when the receiver is an `Enumerator`:
+#
+# [source,ruby]
+# ----
+# enumerator = [1, 2, 3].filter
+# enumerator.each { |item| item >= 2 } #=> [2, 3]
+# ----
+#
# @example CheckForMethodsWithNoSideEffects: false (default)
# # bad
# def some_method
@@ -24900,110 +25559,109 @@ RuboCop::Cop::Lint::UselessTimes::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
# do_something(some_array)
# end
#
-# source://rubocop//lib/rubocop/cop/lint/void.rb#43
+# source://rubocop//lib/rubocop/cop/lint/void.rb#53
class RuboCop::Cop::Lint::Void < ::RuboCop::Cop::Base
include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop//lib/rubocop/cop/lint/void.rb#80
+ # source://rubocop//lib/rubocop/cop/lint/void.rb#92
def on_begin(node); end
- # source://rubocop//lib/rubocop/cop/lint/void.rb#71
+ # source://rubocop//lib/rubocop/cop/lint/void.rb#82
def on_block(node); end
- # source://rubocop//lib/rubocop/cop/lint/void.rb#80
+ # source://rubocop//lib/rubocop/cop/lint/void.rb#92
def on_kwbegin(node); end
- # source://rubocop//lib/rubocop/cop/lint/void.rb#71
+ # source://rubocop//lib/rubocop/cop/lint/void.rb#82
def on_numblock(node); end
private
- # source://rubocop//lib/rubocop/cop/lint/void.rb#200
+ # source://rubocop//lib/rubocop/cop/lint/void.rb#212
def autocorrect_nonmutating_send(corrector, node, suggestion); end
- # source://rubocop//lib/rubocop/cop/lint/void.rb#196
+ # source://rubocop//lib/rubocop/cop/lint/void.rb#208
def autocorrect_void_expression(corrector, node); end
- # source://rubocop//lib/rubocop/cop/lint/void.rb#188
- def autocorrect_void_literal(corrector, node); end
-
- # source://rubocop//lib/rubocop/cop/lint/void.rb#172
+ # source://rubocop//lib/rubocop/cop/lint/void.rb#196
def autocorrect_void_op(corrector, node); end
- # source://rubocop//lib/rubocop/cop/lint/void.rb#192
- def autocorrect_void_self(corrector, node); end
-
- # source://rubocop//lib/rubocop/cop/lint/void.rb#184
- def autocorrect_void_var(corrector, node); end
-
- # source://rubocop//lib/rubocop/cop/lint/void.rb#87
+ # source://rubocop//lib/rubocop/cop/lint/void.rb#99
def check_begin(node); end
- # source://rubocop//lib/rubocop/cop/lint/void.rb#93
+ # source://rubocop//lib/rubocop/cop/lint/void.rb#108
def check_expression(expr); end
- # source://rubocop//lib/rubocop/cop/lint/void.rb#122
+ # source://rubocop//lib/rubocop/cop/lint/void.rb#146
def check_literal(node); end
- # source://rubocop//lib/rubocop/cop/lint/void.rb#146
+ # source://rubocop//lib/rubocop/cop/lint/void.rb#170
def check_nonmutating(node); end
- # source://rubocop//lib/rubocop/cop/lint/void.rb#130
+ # source://rubocop//lib/rubocop/cop/lint/void.rb#154
def check_self(node); end
- # source://rubocop//lib/rubocop/cop/lint/void.rb#113
+ # source://rubocop//lib/rubocop/cop/lint/void.rb#128
def check_var(node); end
- # source://rubocop//lib/rubocop/cop/lint/void.rb#138
+ # source://rubocop//lib/rubocop/cop/lint/void.rb#162
def check_void_expression(node); end
- # source://rubocop//lib/rubocop/cop/lint/void.rb#104
- def check_void_op(node); end
+ # source://rubocop//lib/rubocop/cop/lint/void.rb#118
+ def check_void_op(node, &block); end
+
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/lint/void.rb#221
+ def entirely_literal?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/lint/void.rb#164
+ # source://rubocop//lib/rubocop/cop/lint/void.rb#188
def in_void_context?(node); end
end
-# source://rubocop//lib/rubocop/cop/lint/void.rb#55
+# source://rubocop//lib/rubocop/cop/lint/void.rb#66
RuboCop::Cop::Lint::Void::BINARY_OPERATORS = T.let(T.unsafe(nil), Array)
-# source://rubocop//lib/rubocop/cop/lint/void.rb#52
+# source://rubocop//lib/rubocop/cop/lint/void.rb#60
+RuboCop::Cop::Lint::Void::CONST_MSG = T.let(T.unsafe(nil), String)
+
+# source://rubocop//lib/rubocop/cop/lint/void.rb#63
RuboCop::Cop::Lint::Void::EXPRESSION_MSG = T.let(T.unsafe(nil), String)
-# source://rubocop//lib/rubocop/cop/lint/void.rb#50
+# source://rubocop//lib/rubocop/cop/lint/void.rb#61
RuboCop::Cop::Lint::Void::LIT_MSG = T.let(T.unsafe(nil), String)
-# source://rubocop//lib/rubocop/cop/lint/void.rb#66
+# source://rubocop//lib/rubocop/cop/lint/void.rb#77
RuboCop::Cop::Lint::Void::METHODS_REPLACEABLE_BY_EACH = T.let(T.unsafe(nil), Array)
-# source://rubocop//lib/rubocop/cop/lint/void.rb#68
+# source://rubocop//lib/rubocop/cop/lint/void.rb#79
RuboCop::Cop::Lint::Void::NONMUTATING_METHODS = T.let(T.unsafe(nil), Array)
-# source://rubocop//lib/rubocop/cop/lint/void.rb#59
+# source://rubocop//lib/rubocop/cop/lint/void.rb#70
RuboCop::Cop::Lint::Void::NONMUTATING_METHODS_WITH_BANG_VERSION = T.let(T.unsafe(nil), Array)
-# source://rubocop//lib/rubocop/cop/lint/void.rb#53
+# source://rubocop//lib/rubocop/cop/lint/void.rb#64
RuboCop::Cop::Lint::Void::NONMUTATING_MSG = T.let(T.unsafe(nil), String)
-# source://rubocop//lib/rubocop/cop/lint/void.rb#57
+# source://rubocop//lib/rubocop/cop/lint/void.rb#68
RuboCop::Cop::Lint::Void::OPERATORS = T.let(T.unsafe(nil), Array)
-# source://rubocop//lib/rubocop/cop/lint/void.rb#48
+# source://rubocop//lib/rubocop/cop/lint/void.rb#58
RuboCop::Cop::Lint::Void::OP_MSG = T.let(T.unsafe(nil), String)
-# source://rubocop//lib/rubocop/cop/lint/void.rb#51
+# source://rubocop//lib/rubocop/cop/lint/void.rb#62
RuboCop::Cop::Lint::Void::SELF_MSG = T.let(T.unsafe(nil), String)
-# source://rubocop//lib/rubocop/cop/lint/void.rb#56
+# source://rubocop//lib/rubocop/cop/lint/void.rb#67
RuboCop::Cop::Lint::Void::UNARY_OPERATORS = T.let(T.unsafe(nil), Array)
-# source://rubocop//lib/rubocop/cop/lint/void.rb#49
+# source://rubocop//lib/rubocop/cop/lint/void.rb#59
RuboCop::Cop::Lint::Void::VAR_MSG = T.let(T.unsafe(nil), String)
-# source://rubocop//lib/rubocop/cop/lint/void.rb#58
+# source://rubocop//lib/rubocop/cop/lint/void.rb#69
RuboCop::Cop::Lint::Void::VOID_CONTEXT_TYPES = T.let(T.unsafe(nil), Array)
# Common functionality for obtaining source ranges from regexp matches
@@ -25215,9 +25873,9 @@ module RuboCop::Cop::Metrics; end
#
# Interpreting ABC size:
#
-# * <= 17 satisfactory
-# * 18..30 unsatisfactory
-# * > 30 dangerous
+# * ``<= 17`` satisfactory
+# * `18..30` unsatisfactory
+# * `>` 30 dangerous
#
# You can have repeated "attributes" calls count as a single "branch".
# For this purpose, attributes are any method with no argument; no attempt
@@ -25266,13 +25924,12 @@ RuboCop::Cop::Metrics::AbcSize::MSG = T.let(T.unsafe(nil), String)
# Available are: 'array', 'hash', 'heredoc', and 'method_call'. Each construct
# will be counted as one line regardless of its actual size.
#
+# NOTE: This cop does not apply for `Struct` definitions.
#
# NOTE: The `ExcludedMethods` configuration is deprecated and only kept
# for backwards compatibility. Please use `AllowedMethods` and `AllowedPatterns`
# instead. By default, there are no methods to allowed.
#
-# NOTE: This cop does not apply for `Struct` definitions.
-#
# @example CountAsOne: ['array', 'heredoc', 'method_call']
#
# something do
@@ -25398,18 +26055,18 @@ RuboCop::Cop::Metrics::BlockNesting::NESTING_BLOCKS = T.let(T.unsafe(nil), Array
class RuboCop::Cop::Metrics::ClassLength < ::RuboCop::Cop::Base
include ::RuboCop::Cop::CodeLength
- # source://rubocop//lib/rubocop/cop/metrics/class_length.rb#47
+ # source://rubocop//lib/rubocop/cop/metrics/class_length.rb#52
def on_casgn(node); end
# source://rubocop//lib/rubocop/cop/metrics/class_length.rb#42
def on_class(node); end
- # source://rubocop//lib/rubocop/cop/metrics/class_length.rb#42
+ # source://rubocop//lib/rubocop/cop/metrics/class_length.rb#46
def on_sclass(node); end
private
- # source://rubocop//lib/rubocop/cop/metrics/class_length.rb#65
+ # source://rubocop//lib/rubocop/cop/metrics/class_length.rb#70
def message(length, max_length); end
end
@@ -25913,18 +26570,18 @@ class RuboCop::Cop::Metrics::Utils::CodeLengthCalculator
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/metrics/utils/code_length_calculator.rb#175
+ # source://rubocop//lib/rubocop/cop/metrics/utils/code_length_calculator.rb#182
def another_args?(node); end
# source://rubocop//lib/rubocop/cop/metrics/utils/code_length_calculator.rb#42
def build_foldable_checks(types); end
- # source://rubocop//lib/rubocop/cop/metrics/utils/code_length_calculator.rb#83
+ # source://rubocop//lib/rubocop/cop/metrics/utils/code_length_calculator.rb#90
def classlike_code_length(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/metrics/utils/code_length_calculator.rb#131
+ # source://rubocop//lib/rubocop/cop/metrics/utils/code_length_calculator.rb#138
def classlike_node?(node); end
# source://rubocop//lib/rubocop/cop/metrics/utils/code_length_calculator.rb#66
@@ -25932,53 +26589,61 @@ class RuboCop::Cop::Metrics::Utils::CodeLengthCalculator
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/metrics/utils/code_length_calculator.rb#156
+ # source://rubocop//lib/rubocop/cop/metrics/utils/code_length_calculator.rb#163
def count_comments?; end
- # source://rubocop//lib/rubocop/cop/metrics/utils/code_length_calculator.rb#119
+ # source://rubocop//lib/rubocop/cop/metrics/utils/code_length_calculator.rb#126
def each_top_level_descendant(node, types, &block); end
- # source://rubocop//lib/rubocop/cop/metrics/utils/code_length_calculator.rb#139
+ # source://rubocop//lib/rubocop/cop/metrics/utils/code_length_calculator.rb#146
def extract_body(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/metrics/utils/code_length_calculator.rb#135
+ # source://rubocop//lib/rubocop/cop/metrics/utils/code_length_calculator.rb#142
def foldable_node?(node); end
- # source://rubocop//lib/rubocop/cop/metrics/utils/code_length_calculator.rb#114
+ # source://rubocop//lib/rubocop/cop/metrics/utils/code_length_calculator.rb#121
def heredoc_length(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/metrics/utils/code_length_calculator.rb#79
+ # source://rubocop//lib/rubocop/cop/metrics/utils/code_length_calculator.rb#86
def heredoc_node?(node); end
# Returns true for lines that shall not be included in the count.
#
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/metrics/utils/code_length_calculator.rb#152
+ # source://rubocop//lib/rubocop/cop/metrics/utils/code_length_calculator.rb#159
def irrelevant_line?(source_line); end
- # source://rubocop//lib/rubocop/cop/metrics/utils/code_length_calculator.rb#103
+ # source://rubocop//lib/rubocop/cop/metrics/utils/code_length_calculator.rb#110
def line_numbers_of_inner_nodes(node, *types); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/metrics/utils/code_length_calculator.rb#99
+ # source://rubocop//lib/rubocop/cop/metrics/utils/code_length_calculator.rb#106
def namespace_module?(node); end
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/metrics/utils/code_length_calculator.rb#186
+ def node_with_heredoc?(node); end
+
# source://rubocop//lib/rubocop/cop/metrics/utils/code_length_calculator.rb#60
def normalize_foldable_types(types); end
- # source://rubocop//lib/rubocop/cop/metrics/utils/code_length_calculator.rb#160
+ # source://rubocop//lib/rubocop/cop/metrics/utils/code_length_calculator.rb#167
def omit_length(descendant); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/metrics/utils/code_length_calculator.rb#171
+ # source://rubocop//lib/rubocop/cop/metrics/utils/code_length_calculator.rb#178
def parenthesized?(node); end
+
+ # source://rubocop//lib/rubocop/cop/metrics/utils/code_length_calculator.rb#190
+ def source_from_node_with_heredoc(node); end
end
# source://rubocop//lib/rubocop/cop/metrics/utils/code_length_calculator.rb#13
@@ -26276,18 +26941,21 @@ end
#
# source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#7
module RuboCop::Cop::MultilineExpressionIndentation
+ # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#14
+ def on_csend(node); end
+
# source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#14
def on_send(node); end
private
- # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#131
+ # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#132
def argument_in_method_call(node, kind); end
- # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#187
+ # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#188
def assignment_rhs(node); end
- # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#64
+ # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#65
def check(range, node, lhs, rhs); end
# The correct indentation of `node` is usually `IndentationWidth`, with
@@ -26307,62 +26975,62 @@ module RuboCop::Cop::MultilineExpressionIndentation
# bar # normal indentation, not special
# ```
#
- # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#54
+ # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#55
def correct_indentation(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#159
+ # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#160
def disqualified_rhs?(candidate, ancestor); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#203
+ # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#204
def grouped_expression?(node); end
- # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#72
+ # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#73
def incorrect_style_detected(range, node, lhs, rhs); end
- # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#84
+ # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#85
def indentation(node); end
- # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#121
+ # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#122
def indented_keyword_expression(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#207
+ # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#208
def inside_arg_list_parentheses?(node, ancestor); end
- # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#98
+ # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#99
def keyword_message_tail(node); end
- # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#106
+ # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#107
def kw_node_with_special_indentation(node); end
- # In a chain of method calls, we regard the top send node as the base
+ # In a chain of method calls, we regard the top call node as the base
# for indentation of all lines following the first. For example:
# a.
# b c { block }. <-- b is indented relative to a
# d <-- d is indented relative to a
#
- # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#31
+ # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#32
def left_hand_side(lhs); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#197
+ # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#198
def not_for_this_cop?(node); end
- # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#88
+ # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#89
def operation_description(node, rhs); end
- # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#145
+ # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#146
def part_of_assignment_rhs(node, candidate); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#183
+ # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#184
def part_of_block_body?(candidate, block_node); end
# Returns true if `node` is a conditional whose `body` and `condition`
@@ -26370,29 +27038,29 @@ module RuboCop::Cop::MultilineExpressionIndentation
#
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#216
+ # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#217
def postfix_conditional?(node); end
# The []= operator and setters (a.b = c) are parsed as :send nodes.
#
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#175
+ # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#176
def valid_method_rhs_candidate?(candidate, node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#164
+ # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#165
def valid_rhs?(candidate, ancestor); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#179
+ # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#180
def valid_rhs_candidate?(candidate, node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#220
+ # source://rubocop//lib/rubocop/cop/mixin/multiline_expression_indentation.rb#221
def within_node?(inner, outer); end
end
@@ -26795,43 +27463,43 @@ class RuboCop::Cop::Naming::BlockForwarding < ::RuboCop::Cop::Base
extend ::RuboCop::Cop::AutoCorrector
extend ::RuboCop::Cop::TargetRubyVersion
- # source://rubocop//lib/rubocop/cop/naming/block_forwarding.rb#54
+ # source://rubocop//lib/rubocop/cop/naming/block_forwarding.rb#55
def on_def(node); end
- # source://rubocop//lib/rubocop/cop/naming/block_forwarding.rb#54
+ # source://rubocop//lib/rubocop/cop/naming/block_forwarding.rb#55
def on_defs(node); end
private
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/naming/block_forwarding.rb#87
+ # source://rubocop//lib/rubocop/cop/naming/block_forwarding.rb#95
def anonymous_block_argument?(node); end
- # source://rubocop//lib/rubocop/cop/naming/block_forwarding.rb#119
+ # source://rubocop//lib/rubocop/cop/naming/block_forwarding.rb#127
def block_forwarding_name; end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/naming/block_forwarding.rb#73
+ # source://rubocop//lib/rubocop/cop/naming/block_forwarding.rb#81
def expected_block_forwarding_style?(node, last_argument); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/naming/block_forwarding.rb#91
+ # source://rubocop//lib/rubocop/cop/naming/block_forwarding.rb#99
def explicit_block_argument?(node); end
- # source://rubocop//lib/rubocop/cop/naming/block_forwarding.rb#95
+ # source://rubocop//lib/rubocop/cop/naming/block_forwarding.rb#103
def register_offense(block_argument, node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/naming/block_forwarding.rb#111
+ # source://rubocop//lib/rubocop/cop/naming/block_forwarding.rb#119
def use_block_argument_as_local_variable?(node, last_argument); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/naming/block_forwarding.rb#83
+ # source://rubocop//lib/rubocop/cop/naming/block_forwarding.rb#91
def use_kwarg_in_method_definition?(node); end
class << self
@@ -26940,7 +27608,7 @@ class RuboCop::Cop::Naming::ConstantName < ::RuboCop::Cop::Base
# source://rubocop//lib/rubocop/cop/naming/constant_name.rb#27
def class_or_struct_return_method?(param0 = T.unsafe(nil)); end
- # source://rubocop//lib/rubocop/cop/naming/constant_name.rb#69
+ # source://rubocop//lib/rubocop/cop/naming/constant_name.rb#68
def literal_receiver?(param0 = T.unsafe(nil)); end
# source://rubocop//lib/rubocop/cop/naming/constant_name.rb#33
@@ -26955,7 +27623,7 @@ class RuboCop::Cop::Naming::ConstantName < ::RuboCop::Cop::Base
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/naming/constant_name.rb#74
+ # source://rubocop//lib/rubocop/cop/naming/constant_name.rb#73
def allowed_conditional_expression_on_rhs?(node); end
# @return [Boolean]
@@ -26965,7 +27633,7 @@ class RuboCop::Cop::Naming::ConstantName < ::RuboCop::Cop::Base
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/naming/constant_name.rb#78
+ # source://rubocop//lib/rubocop/cop/naming/constant_name.rb#77
def contains_constant?(node); end
end
@@ -27204,12 +27872,12 @@ class RuboCop::Cop::Naming::HeredocDelimiterNaming < ::RuboCop::Cop::Base
private
- # source://rubocop//lib/rubocop/cop/naming/heredoc_delimiter_naming.rb#49
+ # source://rubocop//lib/rubocop/cop/naming/heredoc_delimiter_naming.rb#51
def forbidden_delimiters; end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/naming/heredoc_delimiter_naming.rb#39
+ # source://rubocop//lib/rubocop/cop/naming/heredoc_delimiter_naming.rb#41
def meaningful_delimiters?(node); end
end
@@ -27983,9 +28651,22 @@ RuboCop::Cop::Naming::VariableName::MSG = T.let(T.unsafe(nil), String)
# can be used to specify whether method names and symbols should be checked.
# Both are enabled by default.
#
-# @example AllowedPatterns: ['_v\d+\z']
+# @example EnforcedStyle: normalcase (default)
+# # bad
+# :some_sym_1
+# variable_1 = 1
+#
+# def some_method_1; end
+#
+# def some_method1(arg_1); end
+#
# # good
-# :some_sym_v1
+# :some_sym1
+# variable1 = 1
+#
+# def some_method1; end
+#
+# def some_method1(arg1); end
# @example EnforcedStyle: snake_case
# # bad
# :some_sym1
@@ -28047,22 +28728,9 @@ RuboCop::Cop::Naming::VariableName::MSG = T.let(T.unsafe(nil), String)
# @example AllowedIdentifiers: [capture3]
# # good
# expect(Open3).to receive(:capture3)
-# @example EnforcedStyle: normalcase (default)
-# # bad
-# :some_sym_1
-# variable_1 = 1
-#
-# def some_method_1; end
-#
-# def some_method1(arg_1); end
-#
+# @example AllowedPatterns: ['_v\d+\z']
# # good
-# :some_sym1
-# variable1 = 1
-#
-# def some_method1; end
-#
-# def some_method1(arg1); end
+# :some_sym_v1
#
# source://rubocop//lib/rubocop/cop/naming/variable_number.rb#103
class RuboCop::Cop::Naming::VariableNumber < ::RuboCop::Cop::Base
@@ -28739,25 +29407,20 @@ module RuboCop::Cop::PrecedingFollowingAlignment
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/mixin/preceding_following_alignment.rb#95
+ # source://rubocop//lib/rubocop/cop/mixin/preceding_following_alignment.rb#93
def aligned_assignment?(range, line); end
- # @return [Boolean]
- #
- # source://rubocop//lib/rubocop/cop/mixin/preceding_following_alignment.rb#91
- def aligned_char?(range, line); end
-
# source://rubocop//lib/rubocop/cop/mixin/preceding_following_alignment.rb#70
def aligned_comment_lines; end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/mixin/preceding_following_alignment.rb#107
+ # source://rubocop//lib/rubocop/cop/mixin/preceding_following_alignment.rb#105
def aligned_identical?(range, line); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/mixin/preceding_following_alignment.rb#83
+ # source://rubocop//lib/rubocop/cop/mixin/preceding_following_alignment.rb#81
def aligned_operator?(range, line); end
# @return [Boolean]
@@ -28782,10 +29445,10 @@ module RuboCop::Cop::PrecedingFollowingAlignment
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/mixin/preceding_following_alignment.rb#100
+ # source://rubocop//lib/rubocop/cop/mixin/preceding_following_alignment.rb#98
def aligned_with_append_operator?(range, line); end
- # source://rubocop//lib/rubocop/cop/mixin/preceding_following_alignment.rb#111
+ # source://rubocop//lib/rubocop/cop/mixin/preceding_following_alignment.rb#109
def aligned_with_assignment(token, line_range); end
# @return [Boolean]
@@ -28811,7 +29474,7 @@ module RuboCop::Cop::PrecedingFollowingAlignment
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/mixin/preceding_following_alignment.rb#87
+ # source://rubocop//lib/rubocop/cop/mixin/preceding_following_alignment.rb#85
def aligned_words?(range, line); end
# @return [Boolean]
@@ -28819,16 +29482,16 @@ module RuboCop::Cop::PrecedingFollowingAlignment
# source://rubocop//lib/rubocop/cop/mixin/preceding_following_alignment.rb#10
def allow_for_alignment?; end
- # source://rubocop//lib/rubocop/cop/mixin/preceding_following_alignment.rb#129
+ # source://rubocop//lib/rubocop/cop/mixin/preceding_following_alignment.rb#127
def assignment_lines; end
- # source://rubocop//lib/rubocop/cop/mixin/preceding_following_alignment.rb#133
+ # source://rubocop//lib/rubocop/cop/mixin/preceding_following_alignment.rb#131
def assignment_tokens; end
- # source://rubocop//lib/rubocop/cop/mixin/preceding_following_alignment.rb#149
+ # source://rubocop//lib/rubocop/cop/mixin/preceding_following_alignment.rb#147
def relevant_assignment_lines(line_range); end
- # source://rubocop//lib/rubocop/cop/mixin/preceding_following_alignment.rb#176
+ # source://rubocop//lib/rubocop/cop/mixin/preceding_following_alignment.rb#174
def remove_optarg_equals(asgn_tokens, processed_source); end
end
@@ -29459,6 +30122,7 @@ RuboCop::Cop::Security::MarshalLoad::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Arr
# # bad
# open(something)
# open("| #{something}")
+# open("| foo")
# URI.open(something)
#
# # good
@@ -29468,7 +30132,6 @@ RuboCop::Cop::Security::MarshalLoad::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Arr
#
# # good (literal strings)
# open("foo.text")
-# open("| foo")
# URI.open("http://example.com")
#
# source://rubocop//lib/rubocop/cop/security/open.rb#37
@@ -30107,9 +30770,6 @@ class RuboCop::Cop::Style::Alias < ::RuboCop::Cop::Base
include ::RuboCop::Cop::ConfigurableEnforcedStyle
extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop//lib/rubocop/cop/style/alias.rb#150
- def identifier(param0 = T.unsafe(nil)); end
-
# source://rubocop//lib/rubocop/cop/style/alias.rb#51
def on_alias(node); end
@@ -30145,9 +30805,12 @@ class RuboCop::Cop::Style::Alias < ::RuboCop::Cop::Base
# source://rubocop//lib/rubocop/cop/style/alias.rb#135
def correct_alias_to_alias_method(corrector, node); end
- # source://rubocop//lib/rubocop/cop/style/alias.rb#144
+ # source://rubocop//lib/rubocop/cop/style/alias.rb#142
def correct_alias_with_symbol_args(corrector, node); end
+ # source://rubocop//lib/rubocop/cop/style/alias.rb#147
+ def identifier(node); end
+
# source://rubocop//lib/rubocop/cop/style/alias.rb#113
def lexical_scope_type(node); end
@@ -30279,6 +30942,21 @@ RuboCop::Cop::Style::AndOr::MSG = T.let(T.unsafe(nil), String)
# This cop identifies places where `do_something(*args, &block)`
# can be replaced by `do_something(...)`.
#
+# In Ruby 3.2, anonymous args/kwargs forwarding has been added.
+#
+# This cop also identifies places where `use_args(*args)`/`use_kwargs(**kwargs)` can be
+# replaced by `use_args(*)`/`use_kwargs(**)`; if desired, this functionality can be disabled
+# by setting `UseAnonymousForwarding: false`.
+#
+# And this cop has `RedundantRestArgumentNames`, `RedundantKeywordRestArgumentNames`,
+# and `RedundantBlockArgumentNames` options. This configuration is a list of redundant names
+# that are sufficient for anonymizing meaningless naming.
+#
+# Meaningless names that are commonly used can be anonymized by default:
+# e.g., `*args`, `**options`, `&block`, and so on.
+#
+# Names not on this list are likely to be meaningful and are allowed by default.
+#
# @example
# # bad
# def foo(*args, &block)
@@ -30294,7 +30972,25 @@ RuboCop::Cop::Style::AndOr::MSG = T.let(T.unsafe(nil), String)
# def foo(...)
# bar(...)
# end
-# @example AllowOnlyRestArgument: true (default)
+# @example UseAnonymousForwarding: true (default, only relevant for Ruby >= 3.2)
+# # bad
+# def foo(*args, **kwargs)
+# args_only(*args)
+# kwargs_only(**kwargs)
+# end
+#
+# # good
+# def foo(*, **)
+# args_only(*)
+# kwargs_only(**)
+# end
+# @example UseAnonymousForwarding: false (only relevant for Ruby >= 3.2)
+# # good
+# def foo(*args, **kwargs)
+# args_only(*args)
+# kwargs_only(**kwargs)
+# end
+# @example AllowOnlyRestArgument: true (default, only relevant for Ruby < 3.2)
# # good
# def foo(*args)
# bar(*args)
@@ -30303,7 +30999,7 @@ RuboCop::Cop::Style::AndOr::MSG = T.let(T.unsafe(nil), String)
# def foo(**kwargs)
# bar(**kwargs)
# end
-# @example AllowOnlyRestArgument: false
+# @example AllowOnlyRestArgument: false (only relevant for Ruby < 3.2)
# # bad
# # The following code can replace the arguments with `...`,
# # but it will change the behavior. Because `...` forwards block also.
@@ -30314,60 +31010,255 @@ RuboCop::Cop::Style::AndOr::MSG = T.let(T.unsafe(nil), String)
# def foo(**kwargs)
# bar(**kwargs)
# end
+# @example RedundantRestArgumentNames: ['args', 'arguments'] (default)
+# # bad
+# def foo(*args)
+# bar(*args)
+# end
+#
+# # good
+# def foo(*)
+# bar(*)
+# end
+# @example RedundantKeywordRestArgumentNames: ['kwargs', 'options', 'opts'] (default)
+# # bad
+# def foo(**kwargs)
+# bar(**kwargs)
+# end
+#
+# # good
+# def foo(**)
+# bar(**)
+# end
+# @example RedundantBlockArgumentNames: ['blk', 'block', 'proc'] (default)
+# # bad - But it is good with `EnforcedStyle: explicit` set for `Naming/BlockForwarding`.
+# def foo(&block)
+# bar(&block)
+# end
+#
+# # good
+# def foo(&)
+# bar(&)
+# end
#
-# source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#49
+# source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#116
class RuboCop::Cop::Style::ArgumentsForwarding < ::RuboCop::Cop::Base
include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector
extend ::RuboCop::Cop::TargetRubyVersion
- # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#72
- def forwarding_method_arguments?(param0 = T.unsafe(nil), param1, param2, param3); end
-
- # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#84
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#135
def on_def(node); end
- # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#84
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#135
def on_defs(node); end
- # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#64
- def only_rest_arguments?(param0 = T.unsafe(nil), param1); end
+ private
- # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#59
- def use_rest_arguments?(param0 = T.unsafe(nil)); end
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#176
+ def add_forward_all_offenses(node, send_classifications, forwardable_args); end
- private
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#329
+ def add_parens_if_missing(node, corrector); end
+
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#199
+ def add_post_ruby_32_offenses(def_node, send_classifications, forwardable_args); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#116
- def all_lvars_as_forwarding_method_arguments?(def_node, forwarding_method); end
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#321
+ def allow_only_rest_arguments?; end
+
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#313
+ def arguments_range(node, first_node); end
+
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#242
+ def classification_and_forwards(def_node, send_node, referenced_lvars, forwardable_args); end
+
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#227
+ def classify_send_nodes(def_node, send_nodes, referenced_lvars, forwardable_args); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#149
- def allow_only_rest_arguments?; end
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#473
+ def explicit_block_name?; end
- # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#143
- def arguments_range(node); end
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#159
+ def extract_forwardable_args(args); end
- # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#103
- def extract_argument_names_from(args); end
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#217
+ def non_splat_or_block_pass_lvar_references(body); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#110
- def forwarding_method?(node, rest_arg, kwargs, block_arg); end
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#171
+ def only_forwards_all?(send_classifications); end
- # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#125
- def register_offense_to_forwarding_method_arguments(forwarding_method); end
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#271
+ def outside_block?(node); end
+
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#163
+ def redundant_forwardable_named_args(restarg, kwrestarg, blockarg); end
+
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#261
+ def redundant_named_arg(arg, config_name, keyword); end
+
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#303
+ def register_forward_all_offense(def_or_send, send_or_arguments, rest_or_splat); end
+
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#277
+ def register_forward_args_offense(def_arguments_or_send, rest_arg_or_splat); end
+
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#293
+ def register_forward_block_arg_offense(add_parens, def_arguments_or_send, block_arg); end
+
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#285
+ def register_forward_kwargs_offense(add_parens, def_arguments_or_send, kwrest_arg_or_splat); end
- # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#134
- def register_offense_to_method_definition_arguments(method_definition); end
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#325
+ def use_anonymous_forwarding?; end
+
+ class << self
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#131
+ def autocorrect_incompatible_with; end
+ end
end
-# source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#56
-RuboCop::Cop::Style::ArgumentsForwarding::MSG = T.let(T.unsafe(nil), String)
+# source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#124
+RuboCop::Cop::Style::ArgumentsForwarding::ADDITIONAL_ARG_TYPES = T.let(T.unsafe(nil), Array)
+
+# source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#127
+RuboCop::Cop::Style::ArgumentsForwarding::ARGS_MSG = T.let(T.unsafe(nil), String)
+
+# source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#129
+RuboCop::Cop::Style::ArgumentsForwarding::BLOCK_MSG = T.let(T.unsafe(nil), String)
+
+# source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#123
+RuboCop::Cop::Style::ArgumentsForwarding::FORWARDING_LVAR_TYPES = T.let(T.unsafe(nil), Array)
+
+# source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#126
+RuboCop::Cop::Style::ArgumentsForwarding::FORWARDING_MSG = T.let(T.unsafe(nil), String)
+
+# source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#128
+RuboCop::Cop::Style::ArgumentsForwarding::KWARGS_MSG = T.let(T.unsafe(nil), String)
+
+# Classifies send nodes for possible rest/kwrest/all (including block) forwarding.
+#
+# source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#336
+class RuboCop::Cop::Style::ArgumentsForwarding::SendNodeClassifier
+ extend ::RuboCop::AST::NodePattern::Macros
+
+ # @return [SendNodeClassifier] a new instance of SendNodeClassifier
+ #
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#348
+ def initialize(def_node, send_node, referenced_lvars, forwardable_args, **config); end
+
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#376
+ def classification; end
+
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#343
+ def extract_forwarded_kwrest_arg(param0 = T.unsafe(nil), param1); end
+
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#370
+ def forwarded_block_arg; end
+
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#346
+ def forwarded_block_arg?(param0 = T.unsafe(nil), param1); end
+
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#364
+ def forwarded_kwrest_arg; end
+
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#358
+ def forwarded_rest_arg; end
+
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#340
+ def forwarded_rest_arg?(param0 = T.unsafe(nil), param1); end
+
+ private
+
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#444
+ def additional_kwargs?; end
+
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#440
+ def additional_kwargs_or_forwarded_kwargs?; end
+
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#454
+ def allow_offense_for_no_block?; end
+
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#425
+ def any_arg_referenced?; end
+
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#409
+ def arguments; end
+
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#388
+ def can_forward_all?; end
+
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#448
+ def forward_additional_kwargs?; end
+
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#405
+ def forwarded_rest_and_kwrest_args; end
+
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#467
+ def missing_rest_arg_or_kwrest_arg?; end
+
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#458
+ def no_additional_args?; end
+
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#433
+ def no_post_splat_args?; end
+
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#401
+ def offensive_block_forwarding?; end
+
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#421
+ def referenced_block_arg?; end
+
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#417
+ def referenced_kwrest_arg?; end
+
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#413
+ def referenced_rest_arg?; end
+
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#397
+ def ruby_32_missing_rest_or_kwest?; end
+
+ # source://rubocop//lib/rubocop/cop/style/arguments_forwarding.rb#429
+ def target_ruby_version; end
+end
# Enforces the use of `Array()` instead of explicit `Array` check or `[*var]`.
#
@@ -30407,6 +31298,46 @@ RuboCop::Cop::Style::ArrayCoercion::CHECK_MSG = T.let(T.unsafe(nil), String)
# source://rubocop//lib/rubocop/cop/style/array_coercion.rb#44
RuboCop::Cop::Style::ArrayCoercion::SPLAT_MSG = T.let(T.unsafe(nil), String)
+# Identifies usages of `arr[0]` and `arr[-1]` and suggests to change
+# them to use `arr.first` and `arr.last` instead.
+#
+# The cop is disabled by default due to safety concerns.
+#
+# @example
+# # bad
+# arr[0]
+# arr[-1]
+#
+# # good
+# arr.first
+# arr.last
+# arr[0] = 2
+# arr[0][-2]
+#
+# source://rubocop//lib/rubocop/cop/style/array_first_last.rb#28
+class RuboCop::Cop::Style::ArrayFirstLast < ::RuboCop::Cop::Base
+ extend ::RuboCop::Cop::AutoCorrector
+
+ # source://rubocop//lib/rubocop/cop/style/array_first_last.rb#35
+ def on_send(node); end
+
+ private
+
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/style/array_first_last.rb#58
+ def brace_method?(node); end
+
+ # source://rubocop//lib/rubocop/cop/style/array_first_last.rb#53
+ def innermost_braces_node(node); end
+end
+
+# source://rubocop//lib/rubocop/cop/style/array_first_last.rb#31
+RuboCop::Cop::Style::ArrayFirstLast::MSG = T.let(T.unsafe(nil), String)
+
+# source://rubocop//lib/rubocop/cop/style/array_first_last.rb#32
+RuboCop::Cop::Style::ArrayFirstLast::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
+
# In Ruby 3.1, `Array#intersect?` has been added.
#
# This cop identifies places where `(array1 & array2).any?`
@@ -30415,6 +31346,15 @@ RuboCop::Cop::Style::ArrayCoercion::SPLAT_MSG = T.let(T.unsafe(nil), String)
# The `array1.intersect?(array2)` method is faster than
# `(array1 & array2).any?` and is more readable.
#
+# In cases like the following, compatibility is not ensured,
+# so it will not be detected when using block argument.
+#
+# [source,ruby]
+# ----
+# ([1] & [1,2]).any? { |x| false } # => false
+# [1].intersect?([1,2]) { |x| false } # => true
+# ----
+#
# @example
# # bad
# (array1 & array2).any?
@@ -30436,46 +31376,46 @@ RuboCop::Cop::Style::ArrayCoercion::SPLAT_MSG = T.let(T.unsafe(nil), String)
# array1.intersect?(array2)
# !array1.intersect?(array2)
#
-# source://rubocop//lib/rubocop/cop/style/array_intersect.rb#40
+# source://rubocop//lib/rubocop/cop/style/array_intersect.rb#49
class RuboCop::Cop::Style::ArrayIntersect < ::RuboCop::Cop::Base
extend ::RuboCop::Cop::AutoCorrector
extend ::RuboCop::Cop::TargetRubyVersion
- # source://rubocop//lib/rubocop/cop/style/array_intersect.rb#56
+ # source://rubocop//lib/rubocop/cop/style/array_intersect.rb#65
def active_support_bad_intersection_check?(param0 = T.unsafe(nil)); end
- # source://rubocop//lib/rubocop/cop/style/array_intersect.rb#70
+ # source://rubocop//lib/rubocop/cop/style/array_intersect.rb#79
def on_send(node); end
- # source://rubocop//lib/rubocop/cop/style/array_intersect.rb#47
+ # source://rubocop//lib/rubocop/cop/style/array_intersect.rb#56
def regular_bad_intersection_check?(param0 = T.unsafe(nil)); end
private
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/array_intersect.rb#86
+ # source://rubocop//lib/rubocop/cop/style/array_intersect.rb#94
def bad_intersection_check?(node); end
- # source://rubocop//lib/rubocop/cop/style/array_intersect.rb#98
+ # source://rubocop//lib/rubocop/cop/style/array_intersect.rb#106
def message(receiver, argument, method_name); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/array_intersect.rb#94
+ # source://rubocop//lib/rubocop/cop/style/array_intersect.rb#102
def straight?(method_name); end
end
-# source://rubocop//lib/rubocop/cop/style/array_intersect.rb#64
+# source://rubocop//lib/rubocop/cop/style/array_intersect.rb#73
RuboCop::Cop::Style::ArrayIntersect::MSG = T.let(T.unsafe(nil), String)
-# source://rubocop//lib/rubocop/cop/style/array_intersect.rb#67
+# source://rubocop//lib/rubocop/cop/style/array_intersect.rb#76
RuboCop::Cop::Style::ArrayIntersect::NEGATED_METHODS = T.let(T.unsafe(nil), Array)
-# source://rubocop//lib/rubocop/cop/style/array_intersect.rb#68
+# source://rubocop//lib/rubocop/cop/style/array_intersect.rb#77
RuboCop::Cop::Style::ArrayIntersect::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
-# source://rubocop//lib/rubocop/cop/style/array_intersect.rb#66
+# source://rubocop//lib/rubocop/cop/style/array_intersect.rb#75
RuboCop::Cop::Style::ArrayIntersect::STRAIGHT_METHODS = T.let(T.unsafe(nil), Array)
# Checks for uses of "*" as a substitute for _join_.
@@ -30600,28 +31540,36 @@ RuboCop::Cop::Style::Attr::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
# # ...
# end
#
-# source://rubocop//lib/rubocop/cop/style/auto_resource_cleanup.rb#19
+# # bad
+# f = Tempfile.open('temp')
+#
+# # good
+# Tempfile.open('temp') do |f|
+# # ...
+# end
+#
+# source://rubocop//lib/rubocop/cop/style/auto_resource_cleanup.rb#27
class RuboCop::Cop::Style::AutoResourceCleanup < ::RuboCop::Cop::Base
- # source://rubocop//lib/rubocop/cop/style/auto_resource_cleanup.rb#26
+ # source://rubocop//lib/rubocop/cop/style/auto_resource_cleanup.rb#32
+ def file_open_method?(param0 = T.unsafe(nil)); end
+
+ # source://rubocop//lib/rubocop/cop/style/auto_resource_cleanup.rb#36
def on_send(node); end
private
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/auto_resource_cleanup.rb#41
+ # source://rubocop//lib/rubocop/cop/style/auto_resource_cleanup.rb#46
def cleanup?(node); end
end
-# source://rubocop//lib/rubocop/cop/style/auto_resource_cleanup.rb#20
+# source://rubocop//lib/rubocop/cop/style/auto_resource_cleanup.rb#28
RuboCop::Cop::Style::AutoResourceCleanup::MSG = T.let(T.unsafe(nil), String)
-# source://rubocop//lib/rubocop/cop/style/auto_resource_cleanup.rb#24
+# source://rubocop//lib/rubocop/cop/style/auto_resource_cleanup.rb#29
RuboCop::Cop::Style::AutoResourceCleanup::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
-# source://rubocop//lib/rubocop/cop/style/auto_resource_cleanup.rb#22
-RuboCop::Cop::Style::AutoResourceCleanup::TARGET_METHODS = T.let(T.unsafe(nil), Hash)
-
# Checks if usage of %() or %Q() matches configuration.
#
# @example EnforcedStyle: bare_percent (default)
@@ -30892,13 +31840,24 @@ RuboCop::Cop::Style::BlockComments::MSG = T.let(T.unsafe(nil), String)
# `lambda`, `proc`, and `it` are their defaults.
# Additional methods can be added to the `AllowedMethods`.
#
-# @example AllowedPatterns: ['map']
+# @example EnforcedStyle: line_count_based (default)
+# # bad - single line block
+# items.each do |item| item / 5 end
#
-# # good
+# # good - single line block
+# items.each { |item| item / 5 }
+#
+# # bad - multi-line block
# things.map { |thing|
# something = thing.some_method
# process(something)
# }
+#
+# # good - multi-line block
+# things.map do |thing|
+# something = thing.some_method
+# process(something)
+# end
# @example EnforcedStyle: semantic
# # Prefer `do...end` over `{...}` for procedural blocks.
#
@@ -31019,25 +31978,14 @@ RuboCop::Cop::Style::BlockComments::MSG = T.let(T.unsafe(nil), String)
# something = thing.some_method
# process(something)
# }
-# @example EnforcedStyle: line_count_based (default)
-# # bad - single line block
-# items.each do |item| item / 5 end
-#
-# # good - single line block
-# items.each { |item| item / 5 }
+# @example AllowedPatterns: ['map']
#
-# # bad - multi-line block
+# # good
# things.map { |thing|
# something = thing.some_method
# process(something)
# }
#
-# # good - multi-line block
-# things.map do |thing|
-# something = thing.some_method
-# process(something)
-# end
-#
# source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#168
class RuboCop::Cop::Style::BlockDelimiters < ::RuboCop::Cop::Base
include ::RuboCop::Cop::ConfigurableEnforcedStyle
@@ -31059,7 +32007,7 @@ class RuboCop::Cop::Style::BlockDelimiters < ::RuboCop::Cop::Base
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#458
+ # source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#459
def array_or_range?(node); end
# source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#208
@@ -31067,7 +32015,7 @@ class RuboCop::Cop::Style::BlockDelimiters < ::RuboCop::Cop::Base
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#462
+ # source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#463
def begin_required?(block_node); end
# source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#236
@@ -31075,7 +32023,7 @@ class RuboCop::Cop::Style::BlockDelimiters < ::RuboCop::Cop::Base
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#399
+ # source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#400
def braces_for_chaining_style?(node); end
# source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#248
@@ -31083,25 +32031,25 @@ class RuboCop::Cop::Style::BlockDelimiters < ::RuboCop::Cop::Base
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#376
+ # source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#377
def braces_required_method?(method_name); end
- # source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#380
+ # source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#381
def braces_required_methods; end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#409
+ # source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#410
def braces_style?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#454
+ # source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#455
def conditional?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#413
+ # source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#414
def correction_would_break_code?(node); end
# source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#309
@@ -31109,12 +32057,12 @@ class RuboCop::Cop::Style::BlockDelimiters < ::RuboCop::Cop::Base
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#423
+ # source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#424
def functional_block?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#419
+ # source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#420
def functional_method?(method_name); end
# source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#326
@@ -31122,7 +32070,7 @@ class RuboCop::Cop::Style::BlockDelimiters < ::RuboCop::Cop::Base
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#384
+ # source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#385
def line_count_based_block_style?(node); end
# source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#218
@@ -31136,12 +32084,12 @@ class RuboCop::Cop::Style::BlockDelimiters < ::RuboCop::Cop::Base
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#431
+ # source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#432
def procedural_method?(method_name); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#427
+ # source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#428
def procedural_oneliners_may_have_braces?; end
# @return [Boolean]
@@ -31165,17 +32113,17 @@ class RuboCop::Cop::Style::BlockDelimiters < ::RuboCop::Cop::Base
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#447
+ # source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#448
def return_value_of_scope?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#435
+ # source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#436
def return_value_used?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#388
+ # source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#389
def semantic_block_style?(node); end
# source://rubocop//lib/rubocop/cop/style/block_delimiters.rb#226
@@ -31215,27 +32163,27 @@ RuboCop::Cop::Style::BlockDelimiters::BRACES_REQUIRED_MESSAGE = T.let(T.unsafe(n
# Corrector to correct conditional assignment in `case` statements.
#
-# source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#603
+# source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#605
class RuboCop::Cop::Style::CaseCorrector
extend ::RuboCop::Cop::Style::ConditionalAssignmentHelper
extend ::RuboCop::Cop::Style::ConditionalCorrectorHelper
class << self
- # source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#608
+ # source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#610
def correct(corrector, cop, node); end
- # source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#618
+ # source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#620
def move_assignment_inside_condition(corrector, node); end
private
- # source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#638
+ # source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#640
def extract_branches(case_node); end
- # source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#632
+ # source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#634
def extract_tail_branches(node); end
- # source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#648
+ # source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#650
def move_branch_inside_condition(corrector, branch, condition, assignment, column); end
end
end
@@ -31599,9 +32547,12 @@ class RuboCop::Cop::Style::ClassCheck < ::RuboCop::Cop::Base
include ::RuboCop::Cop::ConfigurableEnforcedStyle
extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop//lib/rubocop/cop/style/class_check.rb#44
+ # source://rubocop//lib/rubocop/cop/style/class_check.rb#45
def message(node); end
+ # source://rubocop//lib/rubocop/cop/style/class_check.rb#33
+ def on_csend(node); end
+
# source://rubocop//lib/rubocop/cop/style/class_check.rb#33
def on_send(node); end
end
@@ -31650,53 +32601,53 @@ RuboCop::Cop::Style::ClassCheck::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
# self.class.eq(other.class) && name.eq(other.name)
# end
#
-# source://rubocop//lib/rubocop/cop/style/class_equality_comparison.rb#47
+# source://rubocop//lib/rubocop/cop/style/class_equality_comparison.rb#52
class RuboCop::Cop::Style::ClassEqualityComparison < ::RuboCop::Cop::Base
include ::RuboCop::Cop::RangeHelp
include ::RuboCop::Cop::AllowedMethods
include ::RuboCop::Cop::AllowedPattern
extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop//lib/rubocop/cop/style/class_equality_comparison.rb#59
+ # source://rubocop//lib/rubocop/cop/style/class_equality_comparison.rb#64
def class_comparison_candidate?(param0 = T.unsafe(nil)); end
- # source://rubocop//lib/rubocop/cop/style/class_equality_comparison.rb#65
+ # source://rubocop//lib/rubocop/cop/style/class_equality_comparison.rb#70
def on_send(node); end
private
- # source://rubocop//lib/rubocop/cop/style/class_equality_comparison.rb#85
+ # source://rubocop//lib/rubocop/cop/style/class_equality_comparison.rb#92
def class_name(class_node, node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/class_equality_comparison.rb#105
+ # source://rubocop//lib/rubocop/cop/style/class_equality_comparison.rb#112
def class_name_method?(method_name); end
- # source://rubocop//lib/rubocop/cop/style/class_equality_comparison.rb#121
+ # source://rubocop//lib/rubocop/cop/style/class_equality_comparison.rb#128
def offense_range(receiver_node, node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/class_equality_comparison.rb#109
+ # source://rubocop//lib/rubocop/cop/style/class_equality_comparison.rb#116
def require_cbase?(class_node); end
- # source://rubocop//lib/rubocop/cop/style/class_equality_comparison.rb#117
+ # source://rubocop//lib/rubocop/cop/style/class_equality_comparison.rb#124
def trim_string_quotes(class_node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/class_equality_comparison.rb#113
+ # source://rubocop//lib/rubocop/cop/style/class_equality_comparison.rb#120
def unable_to_determine_type?(class_node); end
end
-# source://rubocop//lib/rubocop/cop/style/class_equality_comparison.rb#56
+# source://rubocop//lib/rubocop/cop/style/class_equality_comparison.rb#61
RuboCop::Cop::Style::ClassEqualityComparison::CLASS_NAME_METHODS = T.let(T.unsafe(nil), Array)
-# source://rubocop//lib/rubocop/cop/style/class_equality_comparison.rb#53
+# source://rubocop//lib/rubocop/cop/style/class_equality_comparison.rb#58
RuboCop::Cop::Style::ClassEqualityComparison::MSG = T.let(T.unsafe(nil), String)
-# source://rubocop//lib/rubocop/cop/style/class_equality_comparison.rb#55
+# source://rubocop//lib/rubocop/cop/style/class_equality_comparison.rb#60
RuboCop::Cop::Style::ClassEqualityComparison::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
# Checks for uses of the class/module name instead of
@@ -31907,6 +32858,8 @@ RuboCop::Cop::Style::ClassVars::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
# array.reject { |e| e.nil? }
# array.delete_if { |e| e.nil? }
# array.select { |e| !e.nil? }
+# array.grep_v(nil)
+# array.grep_v(NilClass)
#
# # good
# array.compact
@@ -31922,49 +32875,55 @@ RuboCop::Cop::Style::ClassVars::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
# # good
# params.reject(&:nil?)
#
-# source://rubocop//lib/rubocop/cop/style/collection_compact.rb#42
+# source://rubocop//lib/rubocop/cop/style/collection_compact.rb#44
class RuboCop::Cop::Style::CollectionCompact < ::RuboCop::Cop::Base
include ::RuboCop::Cop::AllowedReceivers
include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector
extend ::RuboCop::Cop::TargetRubyVersion
- # source://rubocop//lib/rubocop/cop/style/collection_compact.rb#82
+ # source://rubocop//lib/rubocop/cop/style/collection_compact.rb#85
+ def grep_v_with_nil?(param0 = T.unsafe(nil)); end
+
+ # source://rubocop//lib/rubocop/cop/style/collection_compact.rb#89
+ def on_csend(node); end
+
+ # source://rubocop//lib/rubocop/cop/style/collection_compact.rb#89
def on_send(node); end
- # source://rubocop//lib/rubocop/cop/style/collection_compact.rb#62
+ # source://rubocop//lib/rubocop/cop/style/collection_compact.rb#64
def reject_method?(param0 = T.unsafe(nil)); end
- # source://rubocop//lib/rubocop/cop/style/collection_compact.rb#55
+ # source://rubocop//lib/rubocop/cop/style/collection_compact.rb#57
def reject_method_with_block_pass?(param0 = T.unsafe(nil)); end
- # source://rubocop//lib/rubocop/cop/style/collection_compact.rb#72
+ # source://rubocop//lib/rubocop/cop/style/collection_compact.rb#74
def select_method?(param0 = T.unsafe(nil)); end
private
- # source://rubocop//lib/rubocop/cop/style/collection_compact.rb#119
+ # source://rubocop//lib/rubocop/cop/style/collection_compact.rb#129
def good_method_name(node); end
- # source://rubocop//lib/rubocop/cop/style/collection_compact.rb#97
+ # source://rubocop//lib/rubocop/cop/style/collection_compact.rb#106
def offense_range(node); end
- # source://rubocop//lib/rubocop/cop/style/collection_compact.rb#127
+ # source://rubocop//lib/rubocop/cop/style/collection_compact.rb#137
def range(begin_pos_node, end_pos_node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/collection_compact.rb#113
+ # source://rubocop//lib/rubocop/cop/style/collection_compact.rb#123
def to_enum_method?(node); end
end
-# source://rubocop//lib/rubocop/cop/style/collection_compact.rb#48
+# source://rubocop//lib/rubocop/cop/style/collection_compact.rb#50
RuboCop::Cop::Style::CollectionCompact::MSG = T.let(T.unsafe(nil), String)
-# source://rubocop//lib/rubocop/cop/style/collection_compact.rb#49
+# source://rubocop//lib/rubocop/cop/style/collection_compact.rb#51
RuboCop::Cop::Style::CollectionCompact::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
-# source://rubocop//lib/rubocop/cop/style/collection_compact.rb#50
+# source://rubocop//lib/rubocop/cop/style/collection_compact.rb#52
RuboCop::Cop::Style::CollectionCompact::TO_ENUM_METHODS = T.let(T.unsafe(nil), Array)
# Enforces the use of consistent method names
@@ -31984,6 +32943,7 @@ RuboCop::Cop::Style::CollectionCompact::TO_ENUM_METHODS = T.let(T.unsafe(nil), A
# # bad
# items.collect
# items.collect!
+# items.collect_concat
# items.inject
# items.detect
# items.find_all
@@ -31992,46 +32952,47 @@ RuboCop::Cop::Style::CollectionCompact::TO_ENUM_METHODS = T.let(T.unsafe(nil), A
# # good
# items.map
# items.map!
+# items.flat_map
# items.reduce
# items.find
# items.select
# items.include?
#
-# source://rubocop//lib/rubocop/cop/style/collection_methods.rb#41
+# source://rubocop//lib/rubocop/cop/style/collection_methods.rb#43
class RuboCop::Cop::Style::CollectionMethods < ::RuboCop::Cop::Base
include ::RuboCop::Cop::MethodPreference
extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop//lib/rubocop/cop/style/collection_methods.rb#47
+ # source://rubocop//lib/rubocop/cop/style/collection_methods.rb#49
def on_block(node); end
- # source://rubocop//lib/rubocop/cop/style/collection_methods.rb#47
+ # source://rubocop//lib/rubocop/cop/style/collection_methods.rb#49
def on_numblock(node); end
- # source://rubocop//lib/rubocop/cop/style/collection_methods.rb#53
+ # source://rubocop//lib/rubocop/cop/style/collection_methods.rb#55
def on_send(node); end
private
- # source://rubocop//lib/rubocop/cop/style/collection_methods.rb#61
+ # source://rubocop//lib/rubocop/cop/style/collection_methods.rb#63
def check_method_node(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/collection_methods.rb#70
+ # source://rubocop//lib/rubocop/cop/style/collection_methods.rb#72
def implicit_block?(node); end
- # source://rubocop//lib/rubocop/cop/style/collection_methods.rb#78
+ # source://rubocop//lib/rubocop/cop/style/collection_methods.rb#80
def message(node); end
# Some enumerable methods accept a bare symbol (ie. _not_ Symbol#to_proc) instead
# of a block.
#
- # source://rubocop//lib/rubocop/cop/style/collection_methods.rb#84
+ # source://rubocop//lib/rubocop/cop/style/collection_methods.rb#86
def methods_accepting_symbol; end
end
-# source://rubocop//lib/rubocop/cop/style/collection_methods.rb#45
+# source://rubocop//lib/rubocop/cop/style/collection_methods.rb#47
RuboCop::Cop::Style::CollectionMethods::MSG = T.let(T.unsafe(nil), String)
# Checks for methods invoked via the `::` operator instead
@@ -32145,31 +33106,33 @@ RuboCop::Cop::Style::ColonMethodDefinition::MSG = T.let(T.unsafe(nil), String)
#
# source://rubocop//lib/rubocop/cop/style/combinable_loops.rb#59
class RuboCop::Cop::Style::CombinableLoops < ::RuboCop::Cop::Base
- include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop//lib/rubocop/cop/style/combinable_loops.rb#66
+ # source://rubocop//lib/rubocop/cop/style/combinable_loops.rb#64
def on_block(node); end
- # source://rubocop//lib/rubocop/cop/style/combinable_loops.rb#78
+ # source://rubocop//lib/rubocop/cop/style/combinable_loops.rb#77
def on_for(node); end
- # source://rubocop//lib/rubocop/cop/style/combinable_loops.rb#66
+ # source://rubocop//lib/rubocop/cop/style/combinable_loops.rb#64
def on_numblock(node); end
private
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/combinable_loops.rb#89
+ # source://rubocop//lib/rubocop/cop/style/combinable_loops.rb#88
def collection_looping_method?(node); end
# source://rubocop//lib/rubocop/cop/style/combinable_loops.rb#105
def combine_with_left_sibling(corrector, node); end
+ # source://rubocop//lib/rubocop/cop/style/combinable_loops.rb#112
+ def correct_end_of_block(corrector, node); end
+
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/combinable_loops.rb#94
+ # source://rubocop//lib/rubocop/cop/style/combinable_loops.rb#93
def same_collection_looping_block?(node, sibling); end
# @return [Boolean]
@@ -32178,7 +33141,7 @@ class RuboCop::Cop::Style::CombinableLoops < ::RuboCop::Cop::Base
def same_collection_looping_for?(node, sibling); end
end
-# source://rubocop//lib/rubocop/cop/style/combinable_loops.rb#64
+# source://rubocop//lib/rubocop/cop/style/combinable_loops.rb#62
RuboCop::Cop::Style::CombinableLoops::MSG = T.let(T.unsafe(nil), String)
# Enforces using `` or %x around command literals.
@@ -32582,20 +33545,23 @@ RuboCop::Cop::Style::ComparableClamp::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Ar
class RuboCop::Cop::Style::ConcatArrayLiterals < ::RuboCop::Cop::Base
extend ::RuboCop::Cop::AutoCorrector
+ # source://rubocop//lib/rubocop/cop/style/concat_array_literals.rb#34
+ def on_csend(node); end
+
# source://rubocop//lib/rubocop/cop/style/concat_array_literals.rb#34
def on_send(node); end
private
- # source://rubocop//lib/rubocop/cop/style/concat_array_literals.rb#69
+ # source://rubocop//lib/rubocop/cop/style/concat_array_literals.rb#70
def offense_range(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/concat_array_literals.rb#86
+ # source://rubocop//lib/rubocop/cop/style/concat_array_literals.rb#87
def percent_literals_includes_only_basic_literals?(node); end
- # source://rubocop//lib/rubocop/cop/style/concat_array_literals.rb#73
+ # source://rubocop//lib/rubocop/cop/style/concat_array_literals.rb#74
def preferred_method(node); end
end
@@ -32948,22 +33914,22 @@ RuboCop::Cop::Style::ConditionalAssignmentHelper::KEYWORD = T.let(T.unsafe(nil),
#
# source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#440
module RuboCop::Cop::Style::ConditionalCorrectorHelper
- # source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#459
+ # source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#461
def assignment(node); end
- # source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#489
+ # source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#491
def correct_branches(corrector, branches); end
- # source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#466
+ # source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#468
def correct_if_branches(corrector, cop, node); end
# source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#441
def remove_whitespace_in_branches(corrector, branch, condition, column); end
- # source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#476
+ # source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#478
def replace_branch_assignment(corrector, branch); end
- # source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#452
+ # source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#454
def white_space_range(node, column); end
end
@@ -33185,6 +34151,9 @@ class RuboCop::Cop::Style::DateTime < ::RuboCop::Cop::Base
# source://rubocop//lib/rubocop/cop/style/date_time.rb#61
def historic_date?(param0 = T.unsafe(nil)); end
+ # source://rubocop//lib/rubocop/cop/style/date_time.rb#70
+ def on_csend(node); end
+
# source://rubocop//lib/rubocop/cop/style/date_time.rb#70
def on_send(node); end
@@ -33193,12 +34162,12 @@ class RuboCop::Cop::Style::DateTime < ::RuboCop::Cop::Base
private
- # source://rubocop//lib/rubocop/cop/style/date_time.rb#85
+ # source://rubocop//lib/rubocop/cop/style/date_time.rb#86
def autocorrect(corrector, node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/date_time.rb#81
+ # source://rubocop//lib/rubocop/cop/style/date_time.rb#82
def disallow_coercion?; end
end
@@ -33941,7 +34910,7 @@ class RuboCop::Cop::Style::EachForSimpleLoop < ::RuboCop::Cop::Base
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/each_for_simple_loop.rb#48
+ # source://rubocop//lib/rubocop/cop/style/each_for_simple_loop.rb#46
def offending?(node); end
end
@@ -34098,30 +35067,33 @@ class RuboCop::Cop::Style::EmptyCaseCondition < ::RuboCop::Cop::Base
include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop//lib/rubocop/cop/style/empty_case_condition.rb#44
+ # source://rubocop//lib/rubocop/cop/style/empty_case_condition.rb#46
def on_case(case_node); end
private
- # source://rubocop//lib/rubocop/cop/style/empty_case_condition.rb#58
+ # source://rubocop//lib/rubocop/cop/style/empty_case_condition.rb#63
def autocorrect(corrector, case_node); end
- # source://rubocop//lib/rubocop/cop/style/empty_case_condition.rb#65
+ # source://rubocop//lib/rubocop/cop/style/empty_case_condition.rb#70
def correct_case_when(corrector, case_node, when_nodes); end
- # source://rubocop//lib/rubocop/cop/style/empty_case_condition.rb#77
+ # source://rubocop//lib/rubocop/cop/style/empty_case_condition.rb#82
def correct_when_conditions(corrector, when_nodes); end
- # source://rubocop//lib/rubocop/cop/style/empty_case_condition.rb#92
+ # source://rubocop//lib/rubocop/cop/style/empty_case_condition.rb#97
def keep_first_when_comment(case_range, corrector); end
- # source://rubocop//lib/rubocop/cop/style/empty_case_condition.rb#102
+ # source://rubocop//lib/rubocop/cop/style/empty_case_condition.rb#107
def replace_then_with_line_break(corrector, conditions, when_node); end
end
# source://rubocop//lib/rubocop/cop/style/empty_case_condition.rb#42
RuboCop::Cop::Style::EmptyCaseCondition::MSG = T.let(T.unsafe(nil), String)
+# source://rubocop//lib/rubocop/cop/style/empty_case_condition.rb#43
+RuboCop::Cop::Style::EmptyCaseCondition::NOT_SUPPORTED_PARENT_TYPES = T.let(T.unsafe(nil), Array)
+
# Checks for empty else-clauses, possibly including comments and/or an
# explicit `nil` depending on the EnforcedStyle.
#
@@ -34804,40 +35776,40 @@ class RuboCop::Cop::Style::EvalWithLocation < ::RuboCop::Cop::Base
private
- # source://rubocop//lib/rubocop/cop/style/eval_with_location.rb#195
+ # source://rubocop//lib/rubocop/cop/style/eval_with_location.rb#184
def add_offense_for_different_line(node, line_node, line_diff); end
- # source://rubocop//lib/rubocop/cop/style/eval_with_location.rb#142
+ # source://rubocop//lib/rubocop/cop/style/eval_with_location.rb#131
def add_offense_for_incorrect_line(method_name, line_node, sign, line_diff); end
- # source://rubocop//lib/rubocop/cop/style/eval_with_location.rb#210
+ # source://rubocop//lib/rubocop/cop/style/eval_with_location.rb#199
def add_offense_for_missing_line(node, code); end
- # source://rubocop//lib/rubocop/cop/style/eval_with_location.rb#217
+ # source://rubocop//lib/rubocop/cop/style/eval_with_location.rb#206
def add_offense_for_missing_location(node, code); end
- # source://rubocop//lib/rubocop/cop/style/eval_with_location.rb#189
+ # source://rubocop//lib/rubocop/cop/style/eval_with_location.rb#178
def add_offense_for_same_line(node, line_node); end
- # source://rubocop//lib/rubocop/cop/style/eval_with_location.rb#154
+ # source://rubocop//lib/rubocop/cop/style/eval_with_location.rb#143
def check_file(node, file_node); end
- # source://rubocop//lib/rubocop/cop/style/eval_with_location.rb#167
+ # source://rubocop//lib/rubocop/cop/style/eval_with_location.rb#156
def check_line(node, code); end
# source://rubocop//lib/rubocop/cop/style/eval_with_location.rb#95
def check_location(node, code); end
- # source://rubocop//lib/rubocop/cop/style/eval_with_location.rb#202
+ # source://rubocop//lib/rubocop/cop/style/eval_with_location.rb#191
def expected_line(sign, line_diff); end
# source://rubocop//lib/rubocop/cop/style/eval_with_location.rb#122
def file_and_line(node); end
- # source://rubocop//lib/rubocop/cop/style/eval_with_location.rb#177
+ # source://rubocop//lib/rubocop/cop/style/eval_with_location.rb#166
def line_difference(line_node, code); end
- # source://rubocop//lib/rubocop/cop/style/eval_with_location.rb#229
+ # source://rubocop//lib/rubocop/cop/style/eval_with_location.rb#218
def missing_line(node, code); end
# source://rubocop//lib/rubocop/cop/style/eval_with_location.rb#109
@@ -34853,20 +35825,13 @@ class RuboCop::Cop::Style::EvalWithLocation < ::RuboCop::Cop::Base
# source://rubocop//lib/rubocop/cop/style/eval_with_location.rb#118
def special_line_keyword?(node); end
- # source://rubocop//lib/rubocop/cop/style/eval_with_location.rb#181
+ # source://rubocop//lib/rubocop/cop/style/eval_with_location.rb#170
def string_first_line(str_node); end
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/eval_with_location.rb#127
def with_binding?(node); end
-
- # FIXME: It's a Style/ConditionalAssignment's false positive.
- #
- # @return [Boolean]
- #
- # source://rubocop//lib/rubocop/cop/style/eval_with_location.rb#133
- def with_lineno?(node); end
end
# source://rubocop//lib/rubocop/cop/style/eval_with_location.rb#59
@@ -34945,6 +35910,9 @@ class RuboCop::Cop::Style::ExactRegexpMatch < ::RuboCop::Cop::Base
# source://rubocop//lib/rubocop/cop/style/exact_regexp_match.rb#32
def exact_regexp_match(param0 = T.unsafe(nil)); end
+ # source://rubocop//lib/rubocop/cop/style/exact_regexp_match.rb#40
+ def on_csend(node); end
+
# source://rubocop//lib/rubocop/cop/style/exact_regexp_match.rb#40
def on_send(node); end
@@ -34952,10 +35920,10 @@ class RuboCop::Cop::Style::ExactRegexpMatch < ::RuboCop::Cop::Base
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/exact_regexp_match.rb#55
+ # source://rubocop//lib/rubocop/cop/style/exact_regexp_match.rb#56
def exact_match_pattern?(parsed_regexp); end
- # source://rubocop//lib/rubocop/cop/style/exact_regexp_match.rb#62
+ # source://rubocop//lib/rubocop/cop/style/exact_regexp_match.rb#63
def new_method(node); end
end
@@ -35696,13 +36664,25 @@ RuboCop::Cop::Style::For::PREFER_EACH = T.let(T.unsafe(nil), String)
RuboCop::Cop::Style::For::PREFER_FOR = T.let(T.unsafe(nil), String)
# Enforces the use of a single string formatting utility.
-# Valid options include Kernel#format, Kernel#sprintf and String#%.
+# Valid options include `Kernel#format`, `Kernel#sprintf`, and `String#%`.
#
-# The detection of String#% cannot be implemented in a reliable
+# The detection of `String#%` cannot be implemented in a reliable
# manner for all cases, so only two scenarios are considered -
# if the first argument is a string literal and if the second
# argument is an array literal.
#
+# Autocorrection will be applied when using argument is a literal or known built-in conversion
+# methods such as `to_d`, `to_f`, `to_h`, `to_i`, `to_r`, `to_s`, and `to_sym` on variables,
+# provided that their return value is not an array. For example, when using `to_s`,
+# `'%s' % [1, 2, 3].to_s` can be autocorrected without any incompatibility:
+#
+# [source,ruby]
+# ----
+# '%s' % [1, 2, 3] #=> '1'
+# format('%s', [1, 2, 3]) #=> '[1, 2, 3]'
+# '%s' % [1, 2, 3].to_s #=> '[1, 2, 3]'
+# ----
+#
# @example EnforcedStyle: format (default)
# # bad
# puts sprintf('%10s', 'hoge')
@@ -35725,45 +36705,55 @@ RuboCop::Cop::Style::For::PREFER_FOR = T.let(T.unsafe(nil), String)
# # good
# puts '%10s' % 'hoge'
#
-# source://rubocop//lib/rubocop/cop/style/format_string.rb#38
+# source://rubocop//lib/rubocop/cop/style/format_string.rb#50
class RuboCop::Cop::Style::FormatString < ::RuboCop::Cop::Base
include ::RuboCop::Cop::ConfigurableEnforcedStyle
extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop//lib/rubocop/cop/style/format_string.rb#46
+ # source://rubocop//lib/rubocop/cop/style/format_string.rb#61
def formatter(param0 = T.unsafe(nil)); end
- # source://rubocop//lib/rubocop/cop/style/format_string.rb#59
+ # source://rubocop//lib/rubocop/cop/style/format_string.rb#74
def on_send(node); end
- # source://rubocop//lib/rubocop/cop/style/format_string.rb#55
+ # source://rubocop//lib/rubocop/cop/style/format_string.rb#70
def variable_argument?(param0 = T.unsafe(nil)); end
private
- # source://rubocop//lib/rubocop/cop/style/format_string.rb#81
+ # source://rubocop//lib/rubocop/cop/style/format_string.rb#102
def autocorrect(corrector, node); end
- # source://rubocop//lib/rubocop/cop/style/format_string.rb#97
+ # source://rubocop//lib/rubocop/cop/style/format_string.rb#118
def autocorrect_from_percent(corrector, node); end
- # source://rubocop//lib/rubocop/cop/style/format_string.rb#111
+ # source://rubocop//lib/rubocop/cop/style/format_string.rb#132
def autocorrect_to_percent(corrector, node); end
- # source://rubocop//lib/rubocop/cop/style/format_string.rb#124
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/style/format_string.rb#88
+ def autocorrectable?(node); end
+
+ # source://rubocop//lib/rubocop/cop/style/format_string.rb#145
def format_single_parameter(arg); end
- # source://rubocop//lib/rubocop/cop/style/format_string.rb#73
+ # source://rubocop//lib/rubocop/cop/style/format_string.rb#94
def message(detected_style); end
- # source://rubocop//lib/rubocop/cop/style/format_string.rb#77
+ # source://rubocop//lib/rubocop/cop/style/format_string.rb#98
def method_name(style_name); end
end
-# source://rubocop//lib/rubocop/cop/style/format_string.rb#42
+# Known conversion methods whose return value is not an array.
+#
+# source://rubocop//lib/rubocop/cop/style/format_string.rb#58
+RuboCop::Cop::Style::FormatString::AUTOCORRECTABLE_METHODS = T.let(T.unsafe(nil), Array)
+
+# source://rubocop//lib/rubocop/cop/style/format_string.rb#54
RuboCop::Cop::Style::FormatString::MSG = T.let(T.unsafe(nil), String)
-# source://rubocop//lib/rubocop/cop/style/format_string.rb#43
+# source://rubocop//lib/rubocop/cop/style/format_string.rb#55
RuboCop::Cop::Style::FormatString::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
# Use a consistent style for named format string tokens.
@@ -35781,10 +36771,14 @@ RuboCop::Cop::Style::FormatString::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array
# if the number of them is less than or equals to
# `MaxUnannotatedPlaceholdersAllowed`.
#
-# @example AllowedPatterns: ['redirect']
+# @example EnforcedStyle: annotated (default)
+#
+# # bad
+# format('%{greeting}', greeting: 'Hello')
+# format('%s', 'Hello')
#
# # good
-# redirect('foo/%{bar_id}')
+# format('%s', greeting: 'Hello')
# @example EnforcedStyle: template
#
# # bad
@@ -35828,14 +36822,10 @@ RuboCop::Cop::Style::FormatString::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array
#
# # bad
# redirect('foo/%{bar_id}')
-# @example EnforcedStyle: annotated (default)
-#
-# # bad
-# format('%{greeting}', greeting: 'Hello')
-# format('%s', 'Hello')
+# @example AllowedPatterns: ['redirect']
#
# # good
-# format('%s', greeting: 'Hello')
+# redirect('foo/%{bar_id}')
#
# source://rubocop//lib/rubocop/cop/style/format_string_token.rb#85
class RuboCop::Cop::Style::FormatStringToken < ::RuboCop::Cop::Base
@@ -35989,10 +36979,10 @@ class RuboCop::Cop::Style::FrozenStringLiteralComment < ::RuboCop::Cop::Base
private
- # source://rubocop//lib/rubocop/cop/style/frozen_string_literal_comment.rb#176
+ # source://rubocop//lib/rubocop/cop/style/frozen_string_literal_comment.rb#178
def disabled_offense(processed_source); end
- # source://rubocop//lib/rubocop/cop/style/frozen_string_literal_comment.rb#188
+ # source://rubocop//lib/rubocop/cop/style/frozen_string_literal_comment.rb#190
def enable_comment(corrector); end
# source://rubocop//lib/rubocop/cop/style/frozen_string_literal_comment.rb#120
@@ -36004,34 +36994,34 @@ class RuboCop::Cop::Style::FrozenStringLiteralComment < ::RuboCop::Cop::Base
# source://rubocop//lib/rubocop/cop/style/frozen_string_literal_comment.rb#114
def ensure_no_comment(processed_source); end
- # source://rubocop//lib/rubocop/cop/style/frozen_string_literal_comment.rb#212
+ # source://rubocop//lib/rubocop/cop/style/frozen_string_literal_comment.rb#214
def following_comment; end
- # source://rubocop//lib/rubocop/cop/style/frozen_string_literal_comment.rb#150
+ # source://rubocop//lib/rubocop/cop/style/frozen_string_literal_comment.rb#152
def frozen_string_literal_comment(processed_source); end
- # source://rubocop//lib/rubocop/cop/style/frozen_string_literal_comment.rb#194
+ # source://rubocop//lib/rubocop/cop/style/frozen_string_literal_comment.rb#196
def insert_comment(corrector); end
# source://rubocop//lib/rubocop/cop/style/frozen_string_literal_comment.rb#137
def last_special_comment(processed_source); end
- # source://rubocop//lib/rubocop/cop/style/frozen_string_literal_comment.rb#204
+ # source://rubocop//lib/rubocop/cop/style/frozen_string_literal_comment.rb#206
def line_range(line); end
- # source://rubocop//lib/rubocop/cop/style/frozen_string_literal_comment.rb#156
+ # source://rubocop//lib/rubocop/cop/style/frozen_string_literal_comment.rb#158
def missing_offense(processed_source); end
- # source://rubocop//lib/rubocop/cop/style/frozen_string_literal_comment.rb#162
+ # source://rubocop//lib/rubocop/cop/style/frozen_string_literal_comment.rb#164
def missing_true_offense(processed_source); end
- # source://rubocop//lib/rubocop/cop/style/frozen_string_literal_comment.rb#208
+ # source://rubocop//lib/rubocop/cop/style/frozen_string_literal_comment.rb#210
def preceding_comment; end
- # source://rubocop//lib/rubocop/cop/style/frozen_string_literal_comment.rb#184
+ # source://rubocop//lib/rubocop/cop/style/frozen_string_literal_comment.rb#186
def remove_comment(corrector, node); end
- # source://rubocop//lib/rubocop/cop/style/frozen_string_literal_comment.rb#168
+ # source://rubocop//lib/rubocop/cop/style/frozen_string_literal_comment.rb#170
def unnecessary_comment_offense(processed_source); end
end
@@ -36196,6 +37186,25 @@ RuboCop::Cop::Style::GlobalVars::MSG = T.let(T.unsafe(nil), String)
# # good
# foo || raise('exception') if something
# ok
+#
+# # bad
+# define_method(:test) do
+# if something
+# work
+# end
+# end
+#
+# # good
+# define_method(:test) do
+# return unless something
+#
+# work
+# end
+#
+# # also good
+# define_method(:test) do
+# work if something
+# end
# @example AllowConsecutiveConditionals: false (default)
# # bad
# def test
@@ -36232,7 +37241,7 @@ RuboCop::Cop::Style::GlobalVars::MSG = T.let(T.unsafe(nil), String)
# end
# end
#
-# source://rubocop//lib/rubocop/cop/style/guard_clause.rb#95
+# source://rubocop//lib/rubocop/cop/style/guard_clause.rb#114
class RuboCop::Cop::Style::GuardClause < ::RuboCop::Cop::Base
include ::RuboCop::Cop::Alignment
include ::RuboCop::Cop::LineLengthHelp
@@ -36241,83 +37250,89 @@ class RuboCop::Cop::Style::GuardClause < ::RuboCop::Cop::Base
include ::RuboCop::Cop::StatementModifier
extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop//lib/rubocop/cop/style/guard_clause.rb#104
+ # source://rubocop//lib/rubocop/cop/style/guard_clause.rb#132
+ def on_block(node); end
+
+ # source://rubocop//lib/rubocop/cop/style/guard_clause.rb#123
def on_def(node); end
- # source://rubocop//lib/rubocop/cop/style/guard_clause.rb#104
+ # source://rubocop//lib/rubocop/cop/style/guard_clause.rb#123
def on_defs(node); end
- # source://rubocop//lib/rubocop/cop/style/guard_clause.rb#113
+ # source://rubocop//lib/rubocop/cop/style/guard_clause.rb#139
def on_if(node); end
+ # source://rubocop//lib/rubocop/cop/style/guard_clause.rb#132
+ def on_numblock(node); end
+
private
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/guard_clause.rb#249
+ # source://rubocop//lib/rubocop/cop/style/guard_clause.rb#275
def accepted_form?(node, ending: T.unsafe(nil)); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/guard_clause.rb#257
+ # source://rubocop//lib/rubocop/cop/style/guard_clause.rb#283
def accepted_if?(node, ending); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/guard_clause.rb#271
+ # source://rubocop//lib/rubocop/cop/style/guard_clause.rb#297
def allowed_consecutive_conditionals?; end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/guard_clause.rb#239
+ # source://rubocop//lib/rubocop/cop/style/guard_clause.rb#265
def and_or_guard_clause?(guard_clause); end
- # source://rubocop//lib/rubocop/cop/style/guard_clause.rb#184
+ # source://rubocop//lib/rubocop/cop/style/guard_clause.rb#210
def autocorrect(corrector, node, condition, replacement, guard); end
- # source://rubocop//lib/rubocop/cop/style/guard_clause.rb#210
+ # source://rubocop//lib/rubocop/cop/style/guard_clause.rb#236
def autocorrect_heredoc_argument(corrector, node, heredoc_branch, leave_branch, guard); end
- # source://rubocop//lib/rubocop/cop/style/guard_clause.rb#133
+ # source://rubocop//lib/rubocop/cop/style/guard_clause.rb#159
def check_ending_body(body); end
- # source://rubocop//lib/rubocop/cop/style/guard_clause.rb#144
+ # source://rubocop//lib/rubocop/cop/style/guard_clause.rb#170
def check_ending_if(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/guard_clause.rb#154
+ # source://rubocop//lib/rubocop/cop/style/guard_clause.rb#180
def consecutive_conditionals?(parent, node); end
- # source://rubocop//lib/rubocop/cop/style/guard_clause.rb#231
+ # source://rubocop//lib/rubocop/cop/style/guard_clause.rb#257
def guard_clause_source(guard_clause); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/guard_clause.rb#206
+ # source://rubocop//lib/rubocop/cop/style/guard_clause.rb#232
def heredoc?(argument); end
- # source://rubocop//lib/rubocop/cop/style/guard_clause.rb#222
+ # source://rubocop//lib/rubocop/cop/style/guard_clause.rb#248
def range_of_branch_to_remove(node, guard); end
- # source://rubocop//lib/rubocop/cop/style/guard_clause.rb#162
+ # source://rubocop//lib/rubocop/cop/style/guard_clause.rb#188
def register_offense(node, scope_exiting_keyword, conditional_keyword, guard = T.unsafe(nil)); end
- # source://rubocop//lib/rubocop/cop/style/guard_clause.rb#267
+ # source://rubocop//lib/rubocop/cop/style/guard_clause.rb#293
def remove_whole_lines(corrector, range); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/guard_clause.rb#244
+ # source://rubocop//lib/rubocop/cop/style/guard_clause.rb#270
def too_long_for_single_line?(node, example); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/guard_clause.rb#253
+ # source://rubocop//lib/rubocop/cop/style/guard_clause.rb#279
def trivial?(node); end
end
-# source://rubocop//lib/rubocop/cop/style/guard_clause.rb#101
+# source://rubocop//lib/rubocop/cop/style/guard_clause.rb#120
RuboCop::Cop::Style::GuardClause::MSG = T.let(T.unsafe(nil), String)
# Checks for presence or absence of braces around hash literal as a last
@@ -36410,62 +37425,62 @@ end
# # bad
# Hash[*ary]
#
-# source://rubocop//lib/rubocop/cop/style/hash_conversion.rb#34
+# source://rubocop//lib/rubocop/cop/style/hash_conversion.rb#44
class RuboCop::Cop::Style::HashConversion < ::RuboCop::Cop::Base
extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop//lib/rubocop/cop/style/hash_conversion.rb#44
+ # source://rubocop//lib/rubocop/cop/style/hash_conversion.rb#54
def hash_from_array?(param0 = T.unsafe(nil)); end
- # source://rubocop//lib/rubocop/cop/style/hash_conversion.rb#46
+ # source://rubocop//lib/rubocop/cop/style/hash_conversion.rb#56
def on_send(node); end
private
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/hash_conversion.rb#128
+ # source://rubocop//lib/rubocop/cop/style/hash_conversion.rb#138
def allowed_splat_argument?; end
- # source://rubocop//lib/rubocop/cop/style/hash_conversion.rb#121
+ # source://rubocop//lib/rubocop/cop/style/hash_conversion.rb#131
def args_to_hash(args); end
- # source://rubocop//lib/rubocop/cop/style/hash_conversion.rb#108
+ # source://rubocop//lib/rubocop/cop/style/hash_conversion.rb#118
def multi_argument(node); end
- # source://rubocop//lib/rubocop/cop/style/hash_conversion.rb#84
+ # source://rubocop//lib/rubocop/cop/style/hash_conversion.rb#94
def register_offense_for_hash(node, hash_argument); end
- # source://rubocop//lib/rubocop/cop/style/hash_conversion.rb#93
+ # source://rubocop//lib/rubocop/cop/style/hash_conversion.rb#103
def register_offense_for_zip_method(node, zip_method); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/hash_conversion.rb#103
+ # source://rubocop//lib/rubocop/cop/style/hash_conversion.rb#113
def requires_parens?(node); end
- # source://rubocop//lib/rubocop/cop/style/hash_conversion.rb#61
+ # source://rubocop//lib/rubocop/cop/style/hash_conversion.rb#71
def single_argument(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/hash_conversion.rb#78
+ # source://rubocop//lib/rubocop/cop/style/hash_conversion.rb#88
def use_zip_method_without_argument?(first_argument); end
end
-# source://rubocop//lib/rubocop/cop/style/hash_conversion.rb#39
+# source://rubocop//lib/rubocop/cop/style/hash_conversion.rb#49
RuboCop::Cop::Style::HashConversion::MSG_LITERAL_HASH_ARG = T.let(T.unsafe(nil), String)
-# source://rubocop//lib/rubocop/cop/style/hash_conversion.rb#38
+# source://rubocop//lib/rubocop/cop/style/hash_conversion.rb#48
RuboCop::Cop::Style::HashConversion::MSG_LITERAL_MULTI_ARG = T.let(T.unsafe(nil), String)
-# source://rubocop//lib/rubocop/cop/style/hash_conversion.rb#40
+# source://rubocop//lib/rubocop/cop/style/hash_conversion.rb#50
RuboCop::Cop::Style::HashConversion::MSG_SPLAT = T.let(T.unsafe(nil), String)
-# source://rubocop//lib/rubocop/cop/style/hash_conversion.rb#37
+# source://rubocop//lib/rubocop/cop/style/hash_conversion.rb#47
RuboCop::Cop::Style::HashConversion::MSG_TO_H = T.let(T.unsafe(nil), String)
-# source://rubocop//lib/rubocop/cop/style/hash_conversion.rb#41
+# source://rubocop//lib/rubocop/cop/style/hash_conversion.rb#51
RuboCop::Cop::Style::HashConversion::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
# Checks for uses of `each_key` and `each_value` Hash methods.
@@ -36477,72 +37492,114 @@ RuboCop::Cop::Style::HashConversion::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Arr
# @example
# # bad
# hash.keys.each { |k| p k }
-# hash.values.each { |v| p v }
+# hash.each { |k, unused_value| p k }
#
# # good
# hash.each_key { |k| p k }
+#
+# # bad
+# hash.values.each { |v| p v }
+# hash.each { |unused_key, v| p v }
+#
+# # good
# hash.each_value { |v| p v }
# @example AllowedReceivers: ['execute']
# # good
# execute(sql).keys.each { |v| p v }
# execute(sql).values.each { |v| p v }
#
-# source://rubocop//lib/rubocop/cop/style/hash_each_methods.rb#30
+# source://rubocop//lib/rubocop/cop/style/hash_each_methods.rb#36
class RuboCop::Cop::Style::HashEachMethods < ::RuboCop::Cop::Base
include ::RuboCop::Cop::AllowedReceivers
include ::RuboCop::Cop::Lint::UnusedArgument
extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop//lib/rubocop/cop/style/hash_each_methods.rb#38
+ # source://rubocop//lib/rubocop/cop/style/hash_each_methods.rb#74
+ def check_unused_block_args(node, key, value); end
+
+ # source://rubocop//lib/rubocop/cop/style/hash_each_methods.rb#51
+ def each_arguments(param0 = T.unsafe(nil)); end
+
+ # source://rubocop//lib/rubocop/cop/style/hash_each_methods.rb#46
def kv_each(param0 = T.unsafe(nil)); end
- # source://rubocop//lib/rubocop/cop/style/hash_each_methods.rb#43
+ # source://rubocop//lib/rubocop/cop/style/hash_each_methods.rb#56
def kv_each_with_block_pass(param0 = T.unsafe(nil)); end
- # source://rubocop//lib/rubocop/cop/style/hash_each_methods.rb#47
+ # source://rubocop//lib/rubocop/cop/style/hash_each_methods.rb#60
def on_block(node); end
- # source://rubocop//lib/rubocop/cop/style/hash_each_methods.rb#55
+ # source://rubocop//lib/rubocop/cop/style/hash_each_methods.rb#95
def on_block_pass(node); end
- # source://rubocop//lib/rubocop/cop/style/hash_each_methods.rb#47
+ # source://rubocop//lib/rubocop/cop/style/hash_each_methods.rb#60
def on_numblock(node); end
private
- # source://rubocop//lib/rubocop/cop/style/hash_each_methods.rb#86
+ # source://rubocop//lib/rubocop/cop/style/hash_each_methods.rb#180
def check_argument(variable); end
- # source://rubocop//lib/rubocop/cop/style/hash_each_methods.rb#110
+ # source://rubocop//lib/rubocop/cop/style/hash_each_methods.rb#204
def correct_args(node, corrector); end
- # source://rubocop//lib/rubocop/cop/style/hash_each_methods.rb#96
+ # source://rubocop//lib/rubocop/cop/style/hash_each_methods.rb#190
def correct_implicit(node, corrector, method_name); end
- # source://rubocop//lib/rubocop/cop/style/hash_each_methods.rb#101
+ # source://rubocop//lib/rubocop/cop/style/hash_each_methods.rb#195
def correct_key_value_each(node, corrector); end
- # source://rubocop//lib/rubocop/cop/style/hash_each_methods.rb#82
- def format_message(method_name); end
+ # source://rubocop//lib/rubocop/cop/style/hash_each_methods.rb#176
+ def format_message(method_name, current); end
- # source://rubocop//lib/rubocop/cop/style/hash_each_methods.rb#117
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/style/hash_each_methods.rb#103
+ def handleable?(node); end
+
+ # source://rubocop//lib/rubocop/cop/style/hash_each_methods.rb#211
def kv_range(outer_node); end
- # source://rubocop//lib/rubocop/cop/style/hash_each_methods.rb#63
+ # source://rubocop//lib/rubocop/cop/style/hash_each_methods.rb#133
+ def message(prefer, method_name, unused_code); end
+
+ # source://rubocop//lib/rubocop/cop/style/hash_each_methods.rb#139
+ def register_each_args_offense(node, message, prefer, unused_range); end
+
+ # source://rubocop//lib/rubocop/cop/style/hash_each_methods.rb#110
def register_kv_offense(target, method); end
- # source://rubocop//lib/rubocop/cop/style/hash_each_methods.rb#72
+ # source://rubocop//lib/rubocop/cop/style/hash_each_methods.rb#146
def register_kv_with_block_pass_offense(node, target, method); end
+ # source://rubocop//lib/rubocop/cop/style/hash_each_methods.rb#167
+ def root_receiver(node); end
+
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/hash_each_methods.rb#92
+ # source://rubocop//lib/rubocop/cop/style/hash_each_methods.rb#121
+ def unused_block_arg_exist?(node, block_arg); end
+
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/style/hash_each_methods.rb#157
+ def use_array_converter_method_as_preceding?(node); end
+
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/style/hash_each_methods.rb#186
def used?(arg); end
end
-# source://rubocop//lib/rubocop/cop/style/hash_each_methods.rb#35
+# source://rubocop//lib/rubocop/cop/style/hash_each_methods.rb#43
+RuboCop::Cop::Style::HashEachMethods::ARRAY_CONVERTER_METHODS = T.let(T.unsafe(nil), Array)
+
+# source://rubocop//lib/rubocop/cop/style/hash_each_methods.rb#41
RuboCop::Cop::Style::HashEachMethods::MSG = T.let(T.unsafe(nil), String)
+# source://rubocop//lib/rubocop/cop/style/hash_each_methods.rb#42
+RuboCop::Cop::Style::HashEachMethods::UNUSED_BLOCK_ARG_MSG = T.let(T.unsafe(nil), String)
+
# Checks for usages of `Hash#reject`, `Hash#select`, and `Hash#filter` methods
# that can be replaced with `Hash#except` method.
#
@@ -36578,6 +37635,9 @@ class RuboCop::Cop::Style::HashExcept < ::RuboCop::Cop::Base
# source://rubocop//lib/rubocop/cop/style/hash_except.rb#44
def bad_method_with_poro?(param0 = T.unsafe(nil)); end
+ # source://rubocop//lib/rubocop/cop/style/hash_except.rb#75
+ def on_csend(node); end
+
# source://rubocop//lib/rubocop/cop/style/hash_except.rb#75
def on_send(node); end
@@ -36585,42 +37645,42 @@ class RuboCop::Cop::Style::HashExcept < ::RuboCop::Cop::Base
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/hash_except.rb#93
+ # source://rubocop//lib/rubocop/cop/style/hash_except.rb#94
def bad_method?(block); end
- # source://rubocop//lib/rubocop/cop/style/hash_except.rb#165
+ # source://rubocop//lib/rubocop/cop/style/hash_except.rb#166
def decorate_source(value); end
- # source://rubocop//lib/rubocop/cop/style/hash_except.rb#173
+ # source://rubocop//lib/rubocop/cop/style/hash_except.rb#174
def except_key(node); end
- # source://rubocop//lib/rubocop/cop/style/hash_except.rb#152
+ # source://rubocop//lib/rubocop/cop/style/hash_except.rb#153
def except_key_source(key); end
- # source://rubocop//lib/rubocop/cop/style/hash_except.rb#146
+ # source://rubocop//lib/rubocop/cop/style/hash_except.rb#147
def extract_body_if_negated(body); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/hash_except.rb#127
+ # source://rubocop//lib/rubocop/cop/style/hash_except.rb#128
def included?(negated, body); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/hash_except.rb#131
+ # source://rubocop//lib/rubocop/cop/style/hash_except.rb#132
def not_included?(negated, body); end
- # source://rubocop//lib/rubocop/cop/style/hash_except.rb#182
+ # source://rubocop//lib/rubocop/cop/style/hash_except.rb#183
def offense_range(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/hash_except.rb#135
+ # source://rubocop//lib/rubocop/cop/style/hash_except.rb#136
def safe_to_register_offense?(block, except_key); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/hash_except.rb#111
+ # source://rubocop//lib/rubocop/cop/style/hash_except.rb#112
def semantically_except_method?(send, block); end
end
@@ -36710,22 +37770,15 @@ RuboCop::Cop::Style::HashLikeCase::MSG = T.let(T.unsafe(nil), String)
# * either - accepts both shorthand and explicit use of hash literal value
# * consistent - forces use of the 3.1 syntax only if all values can be omitted in the hash
#
-# @example EnforcedShorthandSyntax: consistent
-#
-# # bad - `foo` and `bar` values can be omitted
-# {foo: foo, bar: bar}
-#
-# # bad - `bar` value can be omitted
-# {foo:, bar: bar}
-#
-# # bad - mixed syntaxes
-# {foo:, bar: baz}
+# @example EnforcedStyle: ruby19 (default)
+# # bad
+# {:a => 2}
+# {b: 1, :c => 2}
#
# # good
-# {foo:, bar:}
-#
-# # good - can't omit `baz`
-# {foo: foo, bar: baz}
+# {a: 2, b: 1}
+# {:c => 2, 'd' => 2} # acceptable since 'd' isn't a symbol
+# {d: 1, 'e' => 2} # technically not forbidden
# @example EnforcedStyle: hash_rockets
# # bad
# {a: 1, b: 2}
@@ -36773,15 +37826,22 @@ RuboCop::Cop::Style::HashLikeCase::MSG = T.let(T.unsafe(nil), String)
#
# # good
# {foo:, bar:}
-# @example EnforcedStyle: ruby19 (default)
-# # bad
-# {:a => 2}
-# {b: 1, :c => 2}
+# @example EnforcedShorthandSyntax: consistent
+#
+# # bad - `foo` and `bar` values can be omitted
+# {foo: foo, bar: bar}
+#
+# # bad - `bar` value can be omitted
+# {foo:, bar: bar}
+#
+# # bad - mixed syntaxes
+# {foo:, bar: baz}
#
# # good
-# {a: 2, b: 1}
-# {:c => 2, 'd' => 2} # acceptable since 'd' isn't a symbol
-# {d: 1, 'e' => 2} # technically not forbidden
+# {foo:, bar:}
+#
+# # good - can't omit `baz`
+# {foo: foo, bar: baz}
#
# source://rubocop//lib/rubocop/cop/style/hash_syntax.rb#113
class RuboCop::Cop::Style::HashSyntax < ::RuboCop::Cop::Base
@@ -37054,40 +38114,43 @@ class RuboCop::Cop::Style::IdenticalConditionalBranches < ::RuboCop::Cop::Base
private
+ # source://rubocop//lib/rubocop/cop/style/identical_conditional_branches.rb#184
+ def assignable_condition_value(node); end
+
# source://rubocop//lib/rubocop/cop/style/identical_conditional_branches.rb#140
def check_branches(node, branches); end
- # source://rubocop//lib/rubocop/cop/style/identical_conditional_branches.rb#167
+ # source://rubocop//lib/rubocop/cop/style/identical_conditional_branches.rb#193
def check_expressions(node, expressions, insert_position); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/identical_conditional_branches.rb#156
+ # source://rubocop//lib/rubocop/cop/style/identical_conditional_branches.rb#173
def duplicated_expressions?(node, expressions); end
# `elsif` branches show up in the if node as nested `else` branches. We
# need to recursively iterate over all `else` branches.
#
- # source://rubocop//lib/rubocop/cop/style/identical_conditional_branches.rb#204
+ # source://rubocop//lib/rubocop/cop/style/identical_conditional_branches.rb#233
def expand_elses(branch); end
- # source://rubocop//lib/rubocop/cop/style/identical_conditional_branches.rb#219
+ # source://rubocop//lib/rubocop/cop/style/identical_conditional_branches.rb#248
def head(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/identical_conditional_branches.rb#188
+ # source://rubocop//lib/rubocop/cop/style/identical_conditional_branches.rb#217
def last_child_of_parent?(node); end
- # source://rubocop//lib/rubocop/cop/style/identical_conditional_branches.rb#198
+ # source://rubocop//lib/rubocop/cop/style/identical_conditional_branches.rb#227
def message(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/identical_conditional_branches.rb#194
+ # source://rubocop//lib/rubocop/cop/style/identical_conditional_branches.rb#223
def single_child_branch?(branch_node); end
- # source://rubocop//lib/rubocop/cop/style/identical_conditional_branches.rb#215
+ # source://rubocop//lib/rubocop/cop/style/identical_conditional_branches.rb#244
def tail(node); end
end
@@ -37096,24 +38159,24 @@ RuboCop::Cop::Style::IdenticalConditionalBranches::MSG = T.let(T.unsafe(nil), St
# Corrector to correct conditional assignment in `if` statements.
#
-# source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#558
+# source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#560
class RuboCop::Cop::Style::IfCorrector
extend ::RuboCop::Cop::Style::ConditionalAssignmentHelper
extend ::RuboCop::Cop::Style::ConditionalCorrectorHelper
class << self
- # source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#563
+ # source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#565
def correct(corrector, cop, node); end
- # source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#567
+ # source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#569
def move_assignment_inside_condition(corrector, node); end
private
- # source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#581
+ # source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#583
def extract_tail_branches(node); end
- # source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#588
+ # source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#590
def move_branch_inside_condition(corrector, branch, condition, assignment, column); end
end
end
@@ -37784,10 +38847,13 @@ class RuboCop::Cop::Style::InverseMethods < ::RuboCop::Cop::Base
# source://rubocop//lib/rubocop/cop/style/inverse_methods.rb#61
def inverse_candidate?(param0 = T.unsafe(nil)); end
- # source://rubocop//lib/rubocop/cop/style/inverse_methods.rb#91
+ # source://rubocop//lib/rubocop/cop/style/inverse_methods.rb#92
def on_block(node); end
- # source://rubocop//lib/rubocop/cop/style/inverse_methods.rb#91
+ # source://rubocop//lib/rubocop/cop/style/inverse_methods.rb#78
+ def on_csend(node); end
+
+ # source://rubocop//lib/rubocop/cop/style/inverse_methods.rb#92
def on_numblock(node); end
# source://rubocop//lib/rubocop/cop/style/inverse_methods.rb#78
@@ -37797,39 +38863,39 @@ class RuboCop::Cop::Style::InverseMethods < ::RuboCop::Cop::Base
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/inverse_methods.rb#176
+ # source://rubocop//lib/rubocop/cop/style/inverse_methods.rb#177
def camel_case_constant?(node); end
- # source://rubocop//lib/rubocop/cop/style/inverse_methods.rb#120
+ # source://rubocop//lib/rubocop/cop/style/inverse_methods.rb#121
def correct_inverse_block(corrector, node); end
- # source://rubocop//lib/rubocop/cop/style/inverse_methods.rb#111
+ # source://rubocop//lib/rubocop/cop/style/inverse_methods.rb#112
def correct_inverse_method(corrector, node); end
- # source://rubocop//lib/rubocop/cop/style/inverse_methods.rb#127
+ # source://rubocop//lib/rubocop/cop/style/inverse_methods.rb#128
def correct_inverse_selector(block, corrector); end
- # source://rubocop//lib/rubocop/cop/style/inverse_methods.rb#180
+ # source://rubocop//lib/rubocop/cop/style/inverse_methods.rb#181
def dot_range(loc); end
- # source://rubocop//lib/rubocop/cop/style/inverse_methods.rb#163
+ # source://rubocop//lib/rubocop/cop/style/inverse_methods.rb#164
def end_parentheses(node, method_call); end
- # source://rubocop//lib/rubocop/cop/style/inverse_methods.rb#149
+ # source://rubocop//lib/rubocop/cop/style/inverse_methods.rb#150
def inverse_blocks; end
- # source://rubocop//lib/rubocop/cop/style/inverse_methods.rb#144
+ # source://rubocop//lib/rubocop/cop/style/inverse_methods.rb#145
def inverse_methods; end
- # source://rubocop//lib/rubocop/cop/style/inverse_methods.rb#190
+ # source://rubocop//lib/rubocop/cop/style/inverse_methods.rb#191
def message(method, inverse); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/inverse_methods.rb#153
+ # source://rubocop//lib/rubocop/cop/style/inverse_methods.rb#154
def negated?(node); end
- # source://rubocop//lib/rubocop/cop/style/inverse_methods.rb#157
+ # source://rubocop//lib/rubocop/cop/style/inverse_methods.rb#158
def not_to_receiver(node, method_call); end
# When comparing classes, `!(Integer < Numeric)` is not the same as
@@ -37837,10 +38903,10 @@ class RuboCop::Cop::Style::InverseMethods < ::RuboCop::Cop::Base
#
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/inverse_methods.rb#171
+ # source://rubocop//lib/rubocop/cop/style/inverse_methods.rb#172
def possible_class_hierarchy_check?(lhs, rhs, method); end
- # source://rubocop//lib/rubocop/cop/style/inverse_methods.rb#184
+ # source://rubocop//lib/rubocop/cop/style/inverse_methods.rb#185
def remove_end_parenthesis(corrector, node, method, method_call); end
class << self
@@ -37916,24 +38982,33 @@ class RuboCop::Cop::Style::InvertibleUnlessCondition < ::RuboCop::Cop::Base
private
- # source://rubocop//lib/rubocop/cop/style/invertible_unless_condition.rb#91
+ # source://rubocop//lib/rubocop/cop/style/invertible_unless_condition.rb#128
def autocorrect(corrector, node); end
- # source://rubocop//lib/rubocop/cop/style/invertible_unless_condition.rb#104
+ # source://rubocop//lib/rubocop/cop/style/invertible_unless_condition.rb#141
def autocorrect_send_node(corrector, node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/invertible_unless_condition.rb#85
+ # source://rubocop//lib/rubocop/cop/style/invertible_unless_condition.rb#88
def inheritance_check?(node); end
- # source://rubocop//lib/rubocop/cop/style/invertible_unless_condition.rb#112
+ # source://rubocop//lib/rubocop/cop/style/invertible_unless_condition.rb#149
def inverse_methods; end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/invertible_unless_condition.rb#70
+ # source://rubocop//lib/rubocop/cop/style/invertible_unless_condition.rb#73
def invertible?(node); end
+
+ # source://rubocop//lib/rubocop/cop/style/invertible_unless_condition.rb#94
+ def preferred_condition(node); end
+
+ # source://rubocop//lib/rubocop/cop/style/invertible_unless_condition.rb#121
+ def preferred_logical_condition(node); end
+
+ # source://rubocop//lib/rubocop/cop/style/invertible_unless_condition.rb#102
+ def preferred_send_condition(node); end
end
# source://rubocop//lib/rubocop/cop/style/invertible_unless_condition.rb#54
@@ -38156,34 +39231,34 @@ class RuboCop::Cop::Style::LambdaCall < ::RuboCop::Cop::Base
include ::RuboCop::Cop::ConfigurableEnforcedStyle
extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop//lib/rubocop/cop/style/lambda_call.rb#28
+ # source://rubocop//lib/rubocop/cop/style/lambda_call.rb#29
def on_send(node); end
private
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/lambda_call.rb#62
+ # source://rubocop//lib/rubocop/cop/style/lambda_call.rb#67
def explicit_style?; end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/lambda_call.rb#58
+ # source://rubocop//lib/rubocop/cop/style/lambda_call.rb#63
def implicit_style?; end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/lambda_call.rb#46
+ # source://rubocop//lib/rubocop/cop/style/lambda_call.rb#51
def offense?(node); end
- # source://rubocop//lib/rubocop/cop/style/lambda_call.rb#50
+ # source://rubocop//lib/rubocop/cop/style/lambda_call.rb#55
def prefer(node); end
end
-# source://rubocop//lib/rubocop/cop/style/lambda_call.rb#25
+# source://rubocop//lib/rubocop/cop/style/lambda_call.rb#26
RuboCop::Cop::Style::LambdaCall::MSG = T.let(T.unsafe(nil), String)
-# source://rubocop//lib/rubocop/cop/style/lambda_call.rb#26
+# source://rubocop//lib/rubocop/cop/style/lambda_call.rb#27
RuboCop::Cop::Style::LambdaCall::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
# Checks for string literal concatenation at
@@ -38287,12 +39362,22 @@ RuboCop::Cop::Style::LineEndConcatenation::SIMPLE_STRING_TOKEN_TYPE = T.let(T.un
#
# NOTE: If one of these configuration is set to nil, any capitalization is allowed.
#
-# @example ValueCapitalization: uppercase
+# @example EnforcedStyle: snake_case (default)
+# # The `snake_case` style will enforce that the frozen string literal
+# # comment is written in snake case. (Words separated by underscores)
# # bad
# # frozen-string-literal: true
#
+# module Bar
+# # ...
+# end
+#
# # good
-# # frozen-string-literal: TRUE
+# # frozen_string_literal: false
+#
+# module Bar
+# # ...
+# end
# @example EnforcedStyle: kebab_case
# # The `kebab_case` style will enforce that the frozen string literal
# # comment is written in kebab case. (Words separated by hyphens)
@@ -38345,22 +39430,12 @@ RuboCop::Cop::Style::LineEndConcatenation::SIMPLE_STRING_TOKEN_TYPE = T.let(T.un
#
# # good
# # frozen-string-literal: TRUE
-# @example EnforcedStyle: snake_case (default)
-# # The `snake_case` style will enforce that the frozen string literal
-# # comment is written in snake case. (Words separated by underscores)
+# @example ValueCapitalization: uppercase
# # bad
# # frozen-string-literal: true
#
-# module Bar
-# # ...
-# end
-#
# # good
-# # frozen_string_literal: false
-#
-# module Bar
-# # ...
-# end
+# # frozen-string-literal: TRUE
#
# source://rubocop//lib/rubocop/cop/style/magic_comment_format.rb#97
class RuboCop::Cop::Style::MagicCommentFormat < ::RuboCop::Cop::Base
@@ -38532,32 +39607,35 @@ class RuboCop::Cop::Style::MapCompactWithConditionalBlock < ::RuboCop::Cop::Base
# source://rubocop//lib/rubocop/cop/style/map_compact_with_conditional_block.rb#46
def map_and_compact?(param0 = T.unsafe(nil)); end
+ # source://rubocop//lib/rubocop/cop/style/map_compact_with_conditional_block.rb#72
+ def on_csend(node); end
+
# source://rubocop//lib/rubocop/cop/style/map_compact_with_conditional_block.rb#72
def on_send(node); end
private
- # source://rubocop//lib/rubocop/cop/style/map_compact_with_conditional_block.rb#125
+ # source://rubocop//lib/rubocop/cop/style/map_compact_with_conditional_block.rb#126
def range(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/map_compact_with_conditional_block.rb#91
+ # source://rubocop//lib/rubocop/cop/style/map_compact_with_conditional_block.rb#92
def returns_block_argument?(block_argument_node, return_value_node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/map_compact_with_conditional_block.rb#95
+ # source://rubocop//lib/rubocop/cop/style/map_compact_with_conditional_block.rb#96
def truthy_branch?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/map_compact_with_conditional_block.rb#115
+ # source://rubocop//lib/rubocop/cop/style/map_compact_with_conditional_block.rb#116
def truthy_branch_for_guard?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/map_compact_with_conditional_block.rb#105
+ # source://rubocop//lib/rubocop/cop/style/map_compact_with_conditional_block.rb#106
def truthy_branch_for_if?(node); end
end
@@ -38591,15 +39669,23 @@ class RuboCop::Cop::Style::MapToHash < ::RuboCop::Cop::Base
extend ::RuboCop::Cop::TargetRubyVersion
# source://rubocop//lib/rubocop/cop/style/map_to_hash.rb#41
- def map_to_h?(param0 = T.unsafe(nil)); end
+ def map_to_h(param0 = T.unsafe(nil)); end
+
+ # source://rubocop//lib/rubocop/cop/style/map_to_hash.rb#52
+ def on_csend(node); end
- # source://rubocop//lib/rubocop/cop/style/map_to_hash.rb#48
+ # source://rubocop//lib/rubocop/cop/style/map_to_hash.rb#52
def on_send(node); end
private
- # source://rubocop//lib/rubocop/cop/style/map_to_hash.rb#62
+ # source://rubocop//lib/rubocop/cop/style/map_to_hash.rb#68
def autocorrect(corrector, to_h, map); end
+
+ class << self
+ # source://rubocop//lib/rubocop/cop/style/map_to_hash.rb#48
+ def autocorrect_incompatible_with; end
+ end
end
# source://rubocop//lib/rubocop/cop/style/map_to_hash.rb#37
@@ -38706,13 +39792,27 @@ RuboCop::Cop::Style::MapToSet::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
# - Parentheses are required in anonymous arguments, keyword arguments
# and block passing in Ruby 3.2.
#
-# @example AllowParenthesesInStringInterpolation: true
+# @example EnforcedStyle: require_parentheses (default)
+#
+# # bad
+# array.delete e
#
# # good
-# "#{t('this.is.good')}"
+# array.delete(e)
#
# # good
-# "#{t 'this.is.also.good'}"
+# # Operators don't need parens
+# foo == bar
+#
+# # good
+# # Setter methods don't need parens
+# foo.bar = baz
+#
+# # okay with `puts` listed in `AllowedMethods`
+# puts 'test'
+#
+# # okay with `^assert` listed in `AllowedPatterns`
+# assert_equal 'test', x
# @example EnforcedStyle: omit_parentheses
#
# # bad
@@ -38811,27 +39911,13 @@ RuboCop::Cop::Style::MapToSet::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
#
# # good
# "#{t 'this.is.better'}"
-# @example EnforcedStyle: require_parentheses (default)
-#
-# # bad
-# array.delete e
-#
-# # good
-# array.delete(e)
+# @example AllowParenthesesInStringInterpolation: true
#
# # good
-# # Operators don't need parens
-# foo == bar
+# "#{t('this.is.good')}"
#
# # good
-# # Setter methods don't need parens
-# foo.bar = baz
-#
-# # okay with `puts` listed in `AllowedMethods`
-# puts 'test'
-#
-# # okay with `^assert` listed in `AllowedPatterns`
-# assert_equal 'test', x
+# "#{t 'this.is.also.good'}"
#
# source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses.rb#202
class RuboCop::Cop::Style::MethodCallWithArgsParentheses < ::RuboCop::Cop::Base
@@ -38848,23 +39934,20 @@ class RuboCop::Cop::Style::MethodCallWithArgsParentheses < ::RuboCop::Cop::Base
# source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses.rb#217
def on_send(node); end
- # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses.rb#217
- def on_super(node); end
-
# source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses.rb#217
def on_yield(node); end
private
- # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses.rb#226
+ # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses.rb#225
def args_begin(node); end
- # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses.rb#235
+ # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses.rb#233
def args_end(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses.rb#239
+ # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses.rb#237
def args_parenthesized?(node); end
class << self
@@ -38886,12 +39969,12 @@ module RuboCop::Cop::Style::MethodCallWithArgsParentheses::OmitParentheses
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#158
+ # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#174
def allowed_chained_call_with_parentheses?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#154
+ # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#170
def allowed_multiline_call_with_parentheses?(node); end
# @return [Boolean]
@@ -38901,17 +39984,17 @@ module RuboCop::Cop::Style::MethodCallWithArgsParentheses::OmitParentheses
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#167
+ # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#183
def ambiguous_literal?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#196
+ # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#212
def assigned_before?(node, target); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#204
+ # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#220
def assignment_in_condition?(node); end
# source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#31
@@ -38919,52 +40002,62 @@ module RuboCop::Cop::Style::MethodCallWithArgsParentheses::OmitParentheses
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#141
+ # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#151
def call_as_argument_or_chain?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#99
+ # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#144
+ def call_in_argument_with_block?(node); end
+
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#100
def call_in_literals?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#110
+ # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#111
def call_in_logical_operators?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#119
+ # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#157
+ def call_in_match_pattern?(node); end
+
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#120
def call_in_optional_arguments?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#123
+ # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#124
def call_in_single_line_inheritance?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#127
+ # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#128
def call_with_ambiguous_arguments?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#137
+ # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#140
def call_with_braced_block?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#214
+ # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#230
def forwards_anonymous_rest_arguments?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#183
+ # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#199
def hash_literal?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#147
+ # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#163
def hash_literal_in_arguments?(node); end
# @return [Boolean]
@@ -38974,7 +40067,7 @@ module RuboCop::Cop::Style::MethodCallWithArgsParentheses::OmitParentheses
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#200
+ # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#216
def inside_string_interpolation?(node); end
# Require hash value omission be enclosed in parentheses to prevent the following issue:
@@ -38992,7 +40085,7 @@ module RuboCop::Cop::Style::MethodCallWithArgsParentheses::OmitParentheses
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#179
+ # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#195
def logical_operator?(node); end
# source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#40
@@ -39008,7 +40101,7 @@ module RuboCop::Cop::Style::MethodCallWithArgsParentheses::OmitParentheses
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#187
+ # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#203
def regexp_slash_literal?(node); end
# @return [Boolean]
@@ -39018,7 +40111,7 @@ module RuboCop::Cop::Style::MethodCallWithArgsParentheses::OmitParentheses
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#171
+ # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#187
def splat?(node); end
# @return [Boolean]
@@ -39033,12 +40126,12 @@ module RuboCop::Cop::Style::MethodCallWithArgsParentheses::OmitParentheses
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#175
+ # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#191
def ternary_if?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#191
+ # source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses/omit_parentheses.rb#207
def unary_literal?(node); end
end
@@ -39084,6 +40177,9 @@ RuboCop::Cop::Style::MethodCallWithArgsParentheses::RequireParentheses::REQUIRE_
# This cop can be customized allowed methods with `AllowedMethods`.
# By default, there are no methods to allowed.
#
+# NOTE: This cop allows the use of `it()` without arguments in blocks,
+# as in `0.times { it() }`, following `Lint/ItWithoutArgumentsInBlock` cop.
+#
# @example
# # bad
# object.some_method()
@@ -39097,55 +40193,66 @@ RuboCop::Cop::Style::MethodCallWithArgsParentheses::RequireParentheses::REQUIRE_
# # good
# object.foo()
#
-# source://rubocop//lib/rubocop/cop/style/method_call_without_args_parentheses.rb#26
+# source://rubocop//lib/rubocop/cop/style/method_call_without_args_parentheses.rb#29
class RuboCop::Cop::Style::MethodCallWithoutArgsParentheses < ::RuboCop::Cop::Base
include ::RuboCop::Cop::AllowedMethods
include ::RuboCop::Cop::AllowedPattern
extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop//lib/rubocop/cop/style/method_call_without_args_parentheses.rb#33
+ # source://rubocop//lib/rubocop/cop/style/method_call_without_args_parentheses.rb#37
def on_send(node); end
private
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/method_call_without_args_parentheses.rb#60
+ # source://rubocop//lib/rubocop/cop/style/method_call_without_args_parentheses.rb#66
def allowed_method_name?(name); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/method_call_without_args_parentheses.rb#74
+ # source://rubocop//lib/rubocop/cop/style/method_call_without_args_parentheses.rb#94
def any_assignment?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/method_call_without_args_parentheses.rb#56
+ # source://rubocop//lib/rubocop/cop/style/method_call_without_args_parentheses.rb#62
def default_argument?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/method_call_without_args_parentheses.rb#52
+ # source://rubocop//lib/rubocop/cop/style/method_call_without_args_parentheses.rb#58
def ineligible_node?(node); end
- # source://rubocop//lib/rubocop/cop/style/method_call_without_args_parentheses.rb#97
+ # source://rubocop//lib/rubocop/cop/style/method_call_without_args_parentheses.rb#117
def offense_range(node); end
- # source://rubocop//lib/rubocop/cop/style/method_call_without_args_parentheses.rb#45
+ # Respects `Lint/ItWithoutArgumentsInBlock` cop and the following Ruby 3.3's warning:
+ #
+ # $ ruby -e '0.times { begin; it; end }'
+ # -e:1: warning: `it` calls without arguments will refer to the first block param in
+ # Ruby 3.4; use it() or self.it
+ #
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/style/method_call_without_args_parentheses.rb#86
+ def parenthesized_it_method_in_block?(node); end
+
+ # source://rubocop//lib/rubocop/cop/style/method_call_without_args_parentheses.rb#51
def register_offense(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/method_call_without_args_parentheses.rb#64
+ # source://rubocop//lib/rubocop/cop/style/method_call_without_args_parentheses.rb#70
def same_name_assignment?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/method_call_without_args_parentheses.rb#90
+ # source://rubocop//lib/rubocop/cop/style/method_call_without_args_parentheses.rb#110
def variable_in_mass_assignment?(variable_name, node); end
end
-# source://rubocop//lib/rubocop/cop/style/method_call_without_args_parentheses.rb#31
+# source://rubocop//lib/rubocop/cop/style/method_call_without_args_parentheses.rb#34
RuboCop::Cop::Style::MethodCallWithoutArgsParentheses::MSG = T.let(T.unsafe(nil), String)
# Checks for methods called on a do...end block. The point of
@@ -39584,12 +40691,12 @@ RuboCop::Cop::Style::MissingElse::MSG_NIL = T.let(T.unsafe(nil), String)
# defining `respond_to_missing?`.
#
# @example
-# #bad
+# # bad
# def method_missing(name, *args)
# # ...
# end
#
-# #good
+# # good
# def respond_to_missing?(name, include_private)
# # ...
# end
@@ -40197,12 +41304,12 @@ class RuboCop::Cop::Style::MultilineTernaryOperator < ::RuboCop::Cop::Base
# source://rubocop//lib/rubocop/cop/style/multiline_ternary_operator.rb#60
def autocorrect(corrector, node); end
- # source://rubocop//lib/rubocop/cop/style/multiline_ternary_operator.rb#84
+ # source://rubocop//lib/rubocop/cop/style/multiline_ternary_operator.rb#82
def comments_in_condition(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/multiline_ternary_operator.rb#90
+ # source://rubocop//lib/rubocop/cop/style/multiline_ternary_operator.rb#88
def enforce_single_line_ternary_operator?(node); end
# @return [Boolean]
@@ -40210,12 +41317,12 @@ class RuboCop::Cop::Style::MultilineTernaryOperator < ::RuboCop::Cop::Base
# source://rubocop//lib/rubocop/cop/style/multiline_ternary_operator.rb#56
def offense?(node); end
- # source://rubocop//lib/rubocop/cop/style/multiline_ternary_operator.rb#70
+ # source://rubocop//lib/rubocop/cop/style/multiline_ternary_operator.rb#68
def replacement(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/multiline_ternary_operator.rb#94
+ # source://rubocop//lib/rubocop/cop/style/multiline_ternary_operator.rb#92
def use_assignment_method?(node); end
end
@@ -40465,7 +41572,7 @@ class RuboCop::Cop::Style::MutableConstant < ::RuboCop::Cop::Base
include ::RuboCop::Cop::ConfigurableEnforcedStyle
extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop-sorbet/0.7.0/lib/rubocop/cop/sorbet/mutable_constant_sorbet_aware_behaviour.rb#15
+ # source://rubocop-sorbet/0.7.7/lib/rubocop/cop/sorbet/mutable_constant_sorbet_aware_behaviour.rb#18
def on_assignment(value); end
# source://rubocop//lib/rubocop/cop/style/mutable_constant.rb#127
@@ -40483,7 +41590,7 @@ class RuboCop::Cop::Style::MutableConstant < ::RuboCop::Cop::Base
# source://rubocop//lib/rubocop/cop/style/mutable_constant.rb#217
def splat_value(param0 = T.unsafe(nil)); end
- # source://rubocop-sorbet/0.7.0/lib/rubocop/cop/sorbet/mutable_constant_sorbet_aware_behaviour.rb#10
+ # source://rubocop-sorbet/0.7.7/lib/rubocop/cop/sorbet/mutable_constant_sorbet_aware_behaviour.rb#12
def t_let(param0 = T.unsafe(nil)); end
private
@@ -41022,16 +42129,13 @@ class RuboCop::Cop::Style::NestedTernaryOperator < ::RuboCop::Cop::Base
private
- # source://rubocop//lib/rubocop/cop/style/nested_ternary_operator.rb#48
+ # source://rubocop//lib/rubocop/cop/style/nested_ternary_operator.rb#40
def autocorrect(corrector, if_node); end
- # source://rubocop//lib/rubocop/cop/style/nested_ternary_operator.rb#41
- def if_node(node); end
-
- # source://rubocop//lib/rubocop/cop/style/nested_ternary_operator.rb#55
+ # source://rubocop//lib/rubocop/cop/style/nested_ternary_operator.rb#47
def remove_parentheses(source); end
- # source://rubocop//lib/rubocop/cop/style/nested_ternary_operator.rb#61
+ # source://rubocop//lib/rubocop/cop/style/nested_ternary_operator.rb#53
def replace_loc_and_whitespace(corrector, range, replacement); end
end
@@ -42019,8 +43123,8 @@ end
RuboCop::Cop::Style::OpenStructUse::MSG = T.let(T.unsafe(nil), String)
# Checks for redundant dot before operator method call.
-# The target operator methods are `|`, `^`, `&`, `<=>`, `==`, `===`, `=~`, `>`, `>=`, `<`,
-# `<=`, `<<`, `>>`, `+`, `-`, `*`, `/`, `%`, `**`, `~`, `!`, `!=`, and `!~`.
+# The target operator methods are `|`, `^`, `&`, ``<=>``, `==`, `===`, `=~`, `>`, `>=`, `<`,
+# ``<=``, `<<`, `>>`, `+`, `-`, `*`, `/`, `%`, `**`, `~`, `!`, `!=`, and `!~`.
#
# @example
#
@@ -42036,24 +43140,24 @@ RuboCop::Cop::Style::OpenStructUse::MSG = T.let(T.unsafe(nil), String)
class RuboCop::Cop::Style::OperatorMethodCall < ::RuboCop::Cop::Base
extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop//lib/rubocop/cop/style/operator_method_call.rb#26
+ # source://rubocop//lib/rubocop/cop/style/operator_method_call.rb#27
def on_send(node); end
private
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/operator_method_call.rb#48
+ # source://rubocop//lib/rubocop/cop/style/operator_method_call.rb#53
def anonymous_forwarding?(argument); end
# Checks for an acceptable case of `foo.+(bar).baz`.
#
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/operator_method_call.rb#42
+ # source://rubocop//lib/rubocop/cop/style/operator_method_call.rb#47
def method_call_with_parenthesized_arg?(argument); end
- # source://rubocop//lib/rubocop/cop/style/operator_method_call.rb#55
+ # source://rubocop//lib/rubocop/cop/style/operator_method_call.rb#60
def wrap_in_parentheses_if_chained(corrector, node); end
end
@@ -42353,7 +43457,7 @@ class RuboCop::Cop::Style::ParallelAssignment::AssignmentSorter
def tsort_each_child(assignment); end
# source://rubocop//lib/rubocop/cop/style/parallel_assignment.rb#145
- def tsort_each_node(&block); end
+ def tsort_each_node(*_arg0, **_arg1, &_arg2); end
# source://rubocop//lib/rubocop/cop/style/parallel_assignment.rb#136
def uses_var?(param0, param1); end
@@ -42525,20 +43629,20 @@ class RuboCop::Cop::Style::ParenthesesAroundCondition < ::RuboCop::Cop::Base
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/parentheses_around_condition.rb#122
+ # source://rubocop//lib/rubocop/cop/style/parentheses_around_condition.rb#130
def allow_multiline_conditions?; end
- # source://rubocop//lib/rubocop/cop/style/parentheses_around_condition.rb#110
+ # source://rubocop//lib/rubocop/cop/style/parentheses_around_condition.rb#118
def message(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/parentheses_around_condition.rb#103
+ # source://rubocop//lib/rubocop/cop/style/parentheses_around_condition.rb#111
def modifier_op?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/parentheses_around_condition.rb#116
+ # source://rubocop//lib/rubocop/cop/style/parentheses_around_condition.rb#124
def parens_allowed?(node); end
# source://rubocop//lib/rubocop/cop/style/parentheses_around_condition.rb#80
@@ -42546,7 +43650,12 @@ class RuboCop::Cop::Style::ParenthesesAroundCondition < ::RuboCop::Cop::Base
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/parentheses_around_condition.rb#95
+ # source://rubocop//lib/rubocop/cop/style/parentheses_around_condition.rb#96
+ def require_parentheses?(node, condition_body); end
+
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/style/parentheses_around_condition.rb#103
def semicolon_separated_expressions?(first_exp, rest_exps); end
end
@@ -43111,6 +44220,8 @@ RuboCop::Cop::Style::RandomWithOffset::RESTRICT_ON_SEND = T.let(T.unsafe(nil), A
# array.join('')
# [1, 2, 3].join("")
# array.sum(0)
+# exit(true)
+# exit!(false)
# string.split(" ")
# "first\nsecond".split(" ")
# string.chomp("\n")
@@ -43121,37 +44232,45 @@ RuboCop::Cop::Style::RandomWithOffset::RESTRICT_ON_SEND = T.let(T.unsafe(nil), A
# array.join
# [1, 2, 3].join
# array.sum
+# exit
+# exit!
# string.split
# "first second".split
# string.chomp
# string.chomp!
# A.foo
#
-# source://rubocop//lib/rubocop/cop/style/redundant_argument.rb#53
+# source://rubocop//lib/rubocop/cop/style/redundant_argument.rb#57
class RuboCop::Cop::Style::RedundantArgument < ::RuboCop::Cop::Base
include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop//lib/rubocop/cop/style/redundant_argument.rb#59
+ # source://rubocop//lib/rubocop/cop/style/redundant_argument.rb#64
+ def on_csend(node); end
+
+ # source://rubocop//lib/rubocop/cop/style/redundant_argument.rb#64
def on_send(node); end
private
- # source://rubocop//lib/rubocop/cop/style/redundant_argument.rb#88
+ # source://rubocop//lib/rubocop/cop/style/redundant_argument.rb#94
def argument_range(node); end
- # source://rubocop//lib/rubocop/cop/style/redundant_argument.rb#81
+ # source://rubocop//lib/rubocop/cop/style/redundant_argument.rb#87
def redundant_arg_for_method(method_name); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/redundant_argument.rb#74
+ # source://rubocop//lib/rubocop/cop/style/redundant_argument.rb#80
def redundant_argument?(node); end
end
-# source://rubocop//lib/rubocop/cop/style/redundant_argument.rb#57
+# source://rubocop//lib/rubocop/cop/style/redundant_argument.rb#61
RuboCop::Cop::Style::RedundantArgument::MSG = T.let(T.unsafe(nil), String)
+# source://rubocop//lib/rubocop/cop/style/redundant_argument.rb#62
+RuboCop::Cop::Style::RedundantArgument::NO_RECEIVER_METHODS = T.let(T.unsafe(nil), Array)
+
# Checks for the instantiation of array using redundant `Array` constructor.
# Autocorrect replaces to array literal which is the simplest and fastest.
#
@@ -43356,50 +44475,53 @@ class RuboCop::Cop::Style::RedundantBegin < ::RuboCop::Cop::Base
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/redundant_begin.rb#169
+ # source://rubocop//lib/rubocop/cop/style/redundant_begin.rb#177
def begin_block_has_multiline_statements?(node); end
- # source://rubocop//lib/rubocop/cop/style/redundant_begin.rb#161
+ # source://rubocop//lib/rubocop/cop/style/redundant_begin.rb#169
def condition_range(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/redundant_begin.rb#173
+ # source://rubocop//lib/rubocop/cop/style/redundant_begin.rb#181
def contain_rescue_or_ensure?(node); end
- # source://rubocop//lib/rubocop/cop/style/redundant_begin.rb#154
+ # source://rubocop//lib/rubocop/cop/style/redundant_begin.rb#162
def correct_modifier_form_after_multiline_begin_block(corrector, node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/redundant_begin.rb#165
+ # source://rubocop//lib/rubocop/cop/style/redundant_begin.rb#173
def empty_begin?(node); end
# source://rubocop//lib/rubocop/cop/style/redundant_begin.rb#110
def register_offense(node); end
+ # source://rubocop//lib/rubocop/cop/style/redundant_begin.rb#139
+ def remove_begin(corrector, offense_range, node); end
+
# source://rubocop//lib/rubocop/cop/style/redundant_begin.rb#127
def replace_begin_with_statement(corrector, offense_range, node); end
# Restore comments that occur between "begin" and "first_child".
# These comments will be moved to above the assignment line.
#
- # source://rubocop//lib/rubocop/cop/style/redundant_begin.rb#141
+ # source://rubocop//lib/rubocop/cop/style/redundant_begin.rb#149
def restore_removed_comments(corrector, offense_range, node, first_child); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/redundant_begin.rb#148
+ # source://rubocop//lib/rubocop/cop/style/redundant_begin.rb#156
def use_modifier_form_after_multiline_begin_block?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/redundant_begin.rb#186
+ # source://rubocop//lib/rubocop/cop/style/redundant_begin.rb#194
def valid_begin_assignment?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/redundant_begin.rb#179
+ # source://rubocop//lib/rubocop/cop/style/redundant_begin.rb#187
def valid_context_using_only_begin?(node); end
end
@@ -43632,13 +44754,8 @@ class RuboCop::Cop::Style::RedundantConditional < ::RuboCop::Cop::Base
private
- # source://rubocop//lib/rubocop/cop/style/redundant_conditional.rb#86
- def indented_else_node(expression, node); end
-
- # @return [Boolean]
- #
# source://rubocop//lib/rubocop/cop/style/redundant_conditional.rb#78
- def invert_expression?(node); end
+ def indented_else_node(expression, node); end
# source://rubocop//lib/rubocop/cop/style/redundant_conditional.rb#48
def message(node); end
@@ -43730,6 +44847,31 @@ end
# source://rubocop//lib/rubocop/cop/style/redundant_constant_base.rb#46
RuboCop::Cop::Style::RedundantConstantBase::MSG = T.let(T.unsafe(nil), String)
+# Checks for uses a redundant current directory in path.
+#
+# @example
+#
+# # bad
+# require_relative './path/to/feature'
+#
+# # good
+# require_relative 'path/to/feature'
+#
+# source://rubocop//lib/rubocop/cop/style/redundant_current_directory_in_path.rb#16
+class RuboCop::Cop::Style::RedundantCurrentDirectoryInPath < ::RuboCop::Cop::Base
+ include ::RuboCop::Cop::RangeHelp
+ extend ::RuboCop::Cop::AutoCorrector
+
+ # source://rubocop//lib/rubocop/cop/style/redundant_current_directory_in_path.rb#23
+ def on_send(node); end
+end
+
+# source://rubocop//lib/rubocop/cop/style/redundant_current_directory_in_path.rb#21
+RuboCop::Cop::Style::RedundantCurrentDirectoryInPath::CURRENT_DIRECTORY_PATH = T.let(T.unsafe(nil), String)
+
+# source://rubocop//lib/rubocop/cop/style/redundant_current_directory_in_path.rb#20
+RuboCop::Cop::Style::RedundantCurrentDirectoryInPath::MSG = T.let(T.unsafe(nil), String)
+
# Checks for redundant uses of double splat hash braces.
#
# @example
@@ -43740,23 +44882,63 @@ RuboCop::Cop::Style::RedundantConstantBase::MSG = T.let(T.unsafe(nil), String)
# # good
# do_something(foo: bar, baz: qux)
#
-# source://rubocop//lib/rubocop/cop/style/redundant_double_splat_hash_braces.rb#16
+# # bad
+# do_something(**{foo: bar, baz: qux}.merge(options))
+#
+# # good
+# do_something(foo: bar, baz: qux, **options)
+#
+# source://rubocop//lib/rubocop/cop/style/redundant_double_splat_hash_braces.rb#22
class RuboCop::Cop::Style::RedundantDoubleSplatHashBraces < ::RuboCop::Cop::Base
extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop//lib/rubocop/cop/style/redundant_double_splat_hash_braces.rb#21
+ # source://rubocop//lib/rubocop/cop/style/redundant_double_splat_hash_braces.rb#29
def on_hash(node); end
private
- # source://rubocop//lib/rubocop/cop/style/redundant_double_splat_hash_braces.rb#39
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/style/redundant_double_splat_hash_braces.rb#45
+ def allowed_double_splat_receiver?(kwsplat); end
+
+ # source://rubocop//lib/rubocop/cop/style/redundant_double_splat_hash_braces.rb#55
+ def autocorrect(corrector, node, kwsplat); end
+
+ # source://rubocop//lib/rubocop/cop/style/redundant_double_splat_hash_braces.rb#89
+ def autocorrect_merge_methods(corrector, merge_methods, kwsplat); end
+
+ # source://rubocop//lib/rubocop/cop/style/redundant_double_splat_hash_braces.rb#85
def closing_brace(node); end
- # source://rubocop//lib/rubocop/cop/style/redundant_double_splat_hash_braces.rb#35
+ # source://rubocop//lib/rubocop/cop/style/redundant_double_splat_hash_braces.rb#111
+ def convert_to_new_arguments(node); end
+
+ # source://rubocop//lib/rubocop/cop/style/redundant_double_splat_hash_braces.rb#107
+ def extract_send_methods(kwsplat); end
+
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/style/redundant_double_splat_hash_braces.rb#123
+ def mergeable?(node); end
+
+ # source://rubocop//lib/rubocop/cop/style/redundant_double_splat_hash_braces.rb#81
def opening_brace(node); end
+
+ # source://rubocop//lib/rubocop/cop/style/redundant_double_splat_hash_braces.rb#100
+ def range_of_merge_methods(merge_methods); end
+
+ # source://rubocop//lib/rubocop/cop/style/redundant_double_splat_hash_braces.rb#66
+ def root_receiver(node); end
+
+ # source://rubocop//lib/rubocop/cop/style/redundant_double_splat_hash_braces.rb#75
+ def select_merge_method_nodes(kwsplat); end
end
-# source://rubocop//lib/rubocop/cop/style/redundant_double_splat_hash_braces.rb#19
+# source://rubocop//lib/rubocop/cop/style/redundant_double_splat_hash_braces.rb#26
+RuboCop::Cop::Style::RedundantDoubleSplatHashBraces::MERGE_METHODS = T.let(T.unsafe(nil), Array)
+
+# source://rubocop//lib/rubocop/cop/style/redundant_double_splat_hash_braces.rb#25
RuboCop::Cop::Style::RedundantDoubleSplatHashBraces::MSG = T.let(T.unsafe(nil), String)
# Checks for redundant `each`.
@@ -43787,21 +44969,24 @@ RuboCop::Cop::Style::RedundantDoubleSplatHashBraces::MSG = T.let(T.unsafe(nil),
class RuboCop::Cop::Style::RedundantEach < ::RuboCop::Cop::Base
extend ::RuboCop::Cop::AutoCorrector
+ # source://rubocop//lib/rubocop/cop/style/redundant_each.rb#43
+ def on_csend(node); end
+
# source://rubocop//lib/rubocop/cop/style/redundant_each.rb#43
def on_send(node); end
private
- # source://rubocop//lib/rubocop/cop/style/redundant_each.rb#93
+ # source://rubocop//lib/rubocop/cop/style/redundant_each.rb#96
def message(node); end
- # source://rubocop//lib/rubocop/cop/style/redundant_each.rb#85
+ # source://rubocop//lib/rubocop/cop/style/redundant_each.rb#86
def range(node); end
- # source://rubocop//lib/rubocop/cop/style/redundant_each.rb#63
+ # source://rubocop//lib/rubocop/cop/style/redundant_each.rb#64
def redundant_each_method(node); end
- # source://rubocop//lib/rubocop/cop/style/redundant_each.rb#104
+ # source://rubocop//lib/rubocop/cop/style/redundant_each.rb#107
def remove_redundant_each(corrector, range, redundant_node); end
end
@@ -43819,48 +45004,64 @@ RuboCop::Cop::Style::RedundantEach::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Arra
# Checks for RuntimeError as the argument of raise/fail.
#
-# It checks for code like this:
-#
# @example
-# # Bad
+# # bad
# raise RuntimeError, 'message'
-#
-# # Bad
# raise RuntimeError.new('message')
#
-# # Good
+# # good
# raise 'message'
#
-# source://rubocop//lib/rubocop/cop/style/redundant_exception.rb#19
+# # bad - message is not a string
+# raise RuntimeError, Object.new
+# raise RuntimeError.new(Object.new)
+#
+# # good
+# raise Object.new.to_s
+#
+# source://rubocop//lib/rubocop/cop/style/redundant_exception.rb#23
class RuboCop::Cop::Style::RedundantException < ::RuboCop::Cop::Base
extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop//lib/rubocop/cop/style/redundant_exception.rb#59
+ # source://rubocop//lib/rubocop/cop/style/redundant_exception.rb#79
def compact?(param0 = T.unsafe(nil)); end
- # source://rubocop//lib/rubocop/cop/style/redundant_exception.rb#54
+ # source://rubocop//lib/rubocop/cop/style/redundant_exception.rb#74
def exploded?(param0 = T.unsafe(nil)); end
- # source://rubocop//lib/rubocop/cop/style/redundant_exception.rb#45
+ # Switch `raise RuntimeError, 'message'` to `raise 'message'`, and
+ # `raise RuntimeError.new('message')` to `raise 'message'`.
+ #
+ # source://rubocop//lib/rubocop/cop/style/redundant_exception.rb#33
+ def on_send(node); end
+
+ private
+
+ # source://rubocop//lib/rubocop/cop/style/redundant_exception.rb#57
def fix_compact(node); end
- # source://rubocop//lib/rubocop/cop/style/redundant_exception.rb#33
+ # source://rubocop//lib/rubocop/cop/style/redundant_exception.rb#39
def fix_exploded(node); end
- # Switch `raise RuntimeError, 'message'` to `raise 'message'`, and
- # `raise RuntimeError.new('message')` to `raise 'message'`.
+ # source://rubocop//lib/rubocop/cop/style/redundant_exception.rb#65
+ def replaced_compact(message); end
+
+ # source://rubocop//lib/rubocop/cop/style/redundant_exception.rb#47
+ def replaced_exploded(node, command, message); end
+
+ # @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/redundant_exception.rb#29
- def on_send(node); end
+ # source://rubocop//lib/rubocop/cop/style/redundant_exception.rb#53
+ def string_message?(message); end
end
-# source://rubocop//lib/rubocop/cop/style/redundant_exception.rb#22
+# source://rubocop//lib/rubocop/cop/style/redundant_exception.rb#26
RuboCop::Cop::Style::RedundantException::MSG_1 = T.let(T.unsafe(nil), String)
-# source://rubocop//lib/rubocop/cop/style/redundant_exception.rb#23
+# source://rubocop//lib/rubocop/cop/style/redundant_exception.rb#27
RuboCop::Cop::Style::RedundantException::MSG_2 = T.let(T.unsafe(nil), String)
-# source://rubocop//lib/rubocop/cop/style/redundant_exception.rb#25
+# source://rubocop//lib/rubocop/cop/style/redundant_exception.rb#29
RuboCop::Cop::Style::RedundantException::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
# Identifies places where `fetch(key) { value }` can be replaced by `fetch(key, value)`.
@@ -44013,6 +45214,9 @@ RuboCop::Cop::Style::RedundantFileExtensionInRequire::RESTRICT_ON_SEND = T.let(T
# @example AllCops:ActiveSupportExtensionsEnabled: false (default)
# # good
# arr.select { |x| x > 1 }.many?
+#
+# # good
+# arr.select { |x| x > 1 }.present?
# @example AllCops:ActiveSupportExtensionsEnabled: true
# # bad
# arr.select { |x| x > 1 }.many?
@@ -44020,38 +45224,47 @@ RuboCop::Cop::Style::RedundantFileExtensionInRequire::RESTRICT_ON_SEND = T.let(T
# # good
# arr.many? { |x| x > 1 }
#
-# source://rubocop//lib/rubocop/cop/style/redundant_filter_chain.rb#38
+# # bad
+# arr.select { |x| x > 1 }.present?
+#
+# # good
+# arr.any? { |x| x > 1 }
+#
+# source://rubocop//lib/rubocop/cop/style/redundant_filter_chain.rb#53
class RuboCop::Cop::Style::RedundantFilterChain < ::RuboCop::Cop::Base
extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop//lib/rubocop/cop/style/redundant_filter_chain.rb#65
+ # source://rubocop//lib/rubocop/cop/style/redundant_filter_chain.rb#81
+ def on_csend(node); end
+
+ # source://rubocop//lib/rubocop/cop/style/redundant_filter_chain.rb#81
def on_send(node); end
- # source://rubocop//lib/rubocop/cop/style/redundant_filter_chain.rb#47
+ # source://rubocop//lib/rubocop/cop/style/redundant_filter_chain.rb#62
def select_predicate?(param0 = T.unsafe(nil)); end
private
- # source://rubocop//lib/rubocop/cop/style/redundant_filter_chain.rb#91
+ # source://rubocop//lib/rubocop/cop/style/redundant_filter_chain.rb#108
def offense_range(select_node, predicate_node); end
- # source://rubocop//lib/rubocop/cop/style/redundant_filter_chain.rb#95
+ # source://rubocop//lib/rubocop/cop/style/redundant_filter_chain.rb#112
def predicate_range(predicate_node); end
- # source://rubocop//lib/rubocop/cop/style/redundant_filter_chain.rb#77
+ # source://rubocop//lib/rubocop/cop/style/redundant_filter_chain.rb#94
def register_offense(select_node, predicate_node); end
end
-# source://rubocop//lib/rubocop/cop/style/redundant_filter_chain.rb#41
+# source://rubocop//lib/rubocop/cop/style/redundant_filter_chain.rb#56
RuboCop::Cop::Style::RedundantFilterChain::MSG = T.let(T.unsafe(nil), String)
-# source://rubocop//lib/rubocop/cop/style/redundant_filter_chain.rb#43
+# source://rubocop//lib/rubocop/cop/style/redundant_filter_chain.rb#58
RuboCop::Cop::Style::RedundantFilterChain::RAILS_METHODS = T.let(T.unsafe(nil), Array)
-# source://rubocop//lib/rubocop/cop/style/redundant_filter_chain.rb#56
+# source://rubocop//lib/rubocop/cop/style/redundant_filter_chain.rb#71
RuboCop::Cop::Style::RedundantFilterChain::REPLACEMENT_METHODS = T.let(T.unsafe(nil), Hash)
-# source://rubocop//lib/rubocop/cop/style/redundant_filter_chain.rb#44
+# source://rubocop//lib/rubocop/cop/style/redundant_filter_chain.rb#59
RuboCop::Cop::Style::RedundantFilterChain::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
# Check for uses of `Object#freeze` on immutable objects.
@@ -44421,35 +45634,40 @@ class RuboCop::Cop::Style::RedundantLineContinuation < ::RuboCop::Cop::Base
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/redundant_line_continuation.rb#166
+ # source://rubocop//lib/rubocop/cop/style/redundant_line_continuation.rb#175
def argument_is_method?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/redundant_line_continuation.rb#134
+ # source://rubocop//lib/rubocop/cop/style/redundant_line_continuation.rb#143
def argument_newline?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/redundant_line_continuation.rb#100
+ # source://rubocop//lib/rubocop/cop/style/redundant_line_continuation.rb#101
def ends_with_backslash_without_comment?(source_line); end
- # source://rubocop//lib/rubocop/cop/style/redundant_line_continuation.rb#146
+ # source://rubocop//lib/rubocop/cop/style/redundant_line_continuation.rb#155
def find_node_for_line(line); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/redundant_line_continuation.rb#122
+ # source://rubocop//lib/rubocop/cop/style/redundant_line_continuation.rb#131
def inside_string_literal?(range, token); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/redundant_line_continuation.rb#108
+ # source://rubocop//lib/rubocop/cop/style/redundant_line_continuation.rb#109
def inside_string_literal_or_method_with_argument?(range); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/redundant_line_continuation.rb#173
+ # source://rubocop//lib/rubocop/cop/style/redundant_line_continuation.rb#117
+ def leading_dot_method_chain_with_blank_line?(range); end
+
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/style/redundant_line_continuation.rb#182
def method_call_with_arguments?(node); end
# A method call without parentheses such as the following cannot remove `\`:
@@ -44459,12 +45677,12 @@ class RuboCop::Cop::Style::RedundantLineContinuation < ::RuboCop::Cop::Base
#
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/redundant_line_continuation.rb#130
+ # source://rubocop//lib/rubocop/cop/style/redundant_line_continuation.rb#139
def method_with_argument?(current_token, next_token); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/redundant_line_continuation.rb#114
+ # source://rubocop//lib/rubocop/cop/style/redundant_line_continuation.rb#123
def redundant_line_continuation?(range); end
# @return [Boolean]
@@ -44474,17 +45692,17 @@ class RuboCop::Cop::Style::RedundantLineContinuation < ::RuboCop::Cop::Base
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/redundant_line_continuation.rb#152
+ # source://rubocop//lib/rubocop/cop/style/redundant_line_continuation.rb#161
def same_line?(node, line); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/redundant_line_continuation.rb#177
+ # source://rubocop//lib/rubocop/cop/style/redundant_line_continuation.rb#186
def start_with_arithmetic_operator?(source_line); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/redundant_line_continuation.rb#104
+ # source://rubocop//lib/rubocop/cop/style/redundant_line_continuation.rb#105
def string_concatenation?(source_line); end
end
@@ -44512,41 +45730,43 @@ class RuboCop::Cop::Style::RedundantParentheses < ::RuboCop::Cop::Base
include ::RuboCop::Cop::Parentheses
extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#33
+ # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#32
def allowed_pin_operator?(param0 = T.unsafe(nil)); end
- # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#36
+ # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#35
def arg_in_call_with_block?(param0 = T.unsafe(nil)); end
- # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#220
+ # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#269
def first_send_argument?(param0 = T.unsafe(nil)); end
- # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#225
+ # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#274
def first_super_argument?(param0 = T.unsafe(nil)); end
- # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#230
+ # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#279
def first_yield_argument?(param0 = T.unsafe(nil)); end
- # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#138
+ # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#175
def interpolation?(param0 = T.unsafe(nil)); end
- # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#27
+ # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#26
def method_node_and_args(param0 = T.unsafe(nil)); end
- # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#38
+ # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#37
def on_begin(node); end
- # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#24
- def range_end?(param0 = T.unsafe(nil)); end
-
- # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#30
+ # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#29
def rescue?(param0 = T.unsafe(nil)); end
- # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#21
+ # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#23
def square_brackets?(param0 = T.unsafe(nil)); end
private
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#177
+ def allow_in_multiline_conditions?; end
+
# @return [Boolean]
#
# source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#68
@@ -44554,7 +45774,7 @@ class RuboCop::Cop::Style::RedundantParentheses < ::RuboCop::Cop::Base
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#61
+ # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#60
def allowed_expression?(node); end
# @return [Boolean]
@@ -44574,51 +45794,54 @@ class RuboCop::Cop::Style::RedundantParentheses < ::RuboCop::Cop::Base
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#234
+ # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#283
def call_chain_starts_with_int?(begin_node, send_node); end
- # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#125
+ # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#136
def check(begin_node); end
- # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#140
+ # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#184
def check_send(begin_node, node); end
- # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#149
+ # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#193
def check_unary(begin_node, node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#173
+ # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#217
def disallowed_literal?(begin_node, node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#105
+ # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#114
def empty_parentheses?(node); end
+ # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#147
+ def find_offense_message(begin_node, node); end
+
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#110
+ # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#119
def first_arg_begins_with_hash_literal?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#215
+ # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#258
def first_argument?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#54
+ # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#53
def ignore_syntax?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#169
+ # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#213
def keyword_ancestor?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#188
+ # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#232
def keyword_with_redundant_parentheses?(node); end
# @return [Boolean]
@@ -44628,35 +45851,38 @@ class RuboCop::Cop::Style::RedundantParentheses < ::RuboCop::Cop::Base
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#201
+ # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#245
def method_call_with_redundant_parentheses?(node); end
+ # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#128
+ def method_chain_begins_with_hash_literal(node); end
+
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#117
- def method_chain_begins_with_hash_literal?(node); end
+ # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#107
+ def multiline_control_flow_statements?(node); end
- # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#159
+ # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#203
def offense(node, msg); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#211
+ # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#254
def only_begin_arg?(args); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#46
+ # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#45
def parens_allowed?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#177
+ # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#221
def raised_to_power_negative_numeric?(begin_node, node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#165
+ # source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#209
def suspect_unary?(node); end
# @return [Boolean]
@@ -44665,6 +45891,9 @@ class RuboCop::Cop::Style::RedundantParentheses < ::RuboCop::Cop::Base
def ternary_parentheses_required?; end
end
+# source://rubocop//lib/rubocop/cop/style/redundant_parentheses.rb#20
+RuboCop::Cop::Style::RedundantParentheses::ALLOWED_NODE_TYPES = T.let(T.unsafe(nil), Array)
+
# Checks for usage of the %q/%Q syntax when '' or "" would do.
#
# @example
@@ -44755,6 +45984,72 @@ RuboCop::Cop::Style::RedundantPercentQ::SINGLE_QUOTE = T.let(T.unsafe(nil), Stri
# source://rubocop//lib/rubocop/cop/style/redundant_percent_q.rb#31
RuboCop::Cop::Style::RedundantPercentQ::STRING_INTERPOLATION_REGEXP = T.let(T.unsafe(nil), Regexp)
+# Identifies places where argument can be replaced from
+# a deterministic regexp to a string.
+#
+# @example
+# # bad
+# 'foo'.byteindex(/f/)
+# 'foo'.byterindex(/f/)
+# 'foo'.gsub(/f/, 'x')
+# 'foo'.gsub!(/f/, 'x')
+# 'foo'.partition(/f/)
+# 'foo'.rpartition(/f/)
+# 'foo'.scan(/f/)
+# 'foo'.split(/f/)
+# 'foo'.start_with?(/f/)
+# 'foo'.sub(/f/, 'x')
+# 'foo'.sub!(/f/, 'x')
+#
+# # good
+# 'foo'.byteindex('f')
+# 'foo'.byterindex('f')
+# 'foo'.gsub('f', 'x')
+# 'foo'.gsub!('f', 'x')
+# 'foo'.partition('f')
+# 'foo'.rpartition('f')
+# 'foo'.scan('f')
+# 'foo'.split('f')
+# 'foo'.start_with?('f')
+# 'foo'.sub('f', 'x')
+# 'foo'.sub!('f', 'x')
+#
+# source://rubocop//lib/rubocop/cop/style/redundant_regexp_argument.rb#35
+class RuboCop::Cop::Style::RedundantRegexpArgument < ::RuboCop::Cop::Base
+ extend ::RuboCop::Cop::AutoCorrector
+
+ # source://rubocop//lib/rubocop/cop/style/redundant_regexp_argument.rb#47
+ def on_csend(node); end
+
+ # source://rubocop//lib/rubocop/cop/style/redundant_regexp_argument.rb#47
+ def on_send(node); end
+
+ private
+
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/style/redundant_regexp_argument.rb#64
+ def determinist_regexp?(regexp_node); end
+
+ # source://rubocop//lib/rubocop/cop/style/redundant_regexp_argument.rb#68
+ def preferred_argument(regexp_node); end
+
+ # source://rubocop//lib/rubocop/cop/style/redundant_regexp_argument.rb#81
+ def replacement(regexp_node); end
+end
+
+# source://rubocop//lib/rubocop/cop/style/redundant_regexp_argument.rb#42
+RuboCop::Cop::Style::RedundantRegexpArgument::DETERMINISTIC_REGEX = T.let(T.unsafe(nil), Regexp)
+
+# source://rubocop//lib/rubocop/cop/style/redundant_regexp_argument.rb#38
+RuboCop::Cop::Style::RedundantRegexpArgument::MSG = T.let(T.unsafe(nil), String)
+
+# source://rubocop//lib/rubocop/cop/style/redundant_regexp_argument.rb#39
+RuboCop::Cop::Style::RedundantRegexpArgument::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
+
+# source://rubocop//lib/rubocop/cop/style/redundant_regexp_argument.rb#43
+RuboCop::Cop::Style::RedundantRegexpArgument::STR_SPECIAL_CHARS = T.let(T.unsafe(nil), Array)
+
# Checks for unnecessary single-element Regexp character classes.
#
# @example
@@ -44908,26 +46203,26 @@ class RuboCop::Cop::Style::RedundantRegexpEscape < ::RuboCop::Cop::Base
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/redundant_regexp_escape.rb#59
+ # source://rubocop//lib/rubocop/cop/style/redundant_regexp_escape.rb#60
def allowed_escape?(node, char, index, within_character_class); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/redundant_regexp_escape.rb#75
+ # source://rubocop//lib/rubocop/cop/style/redundant_regexp_escape.rb#76
def char_class_begins_or_ends_with_escaped_hyphen?(node, index); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/redundant_regexp_escape.rb#91
+ # source://rubocop//lib/rubocop/cop/style/redundant_regexp_escape.rb#92
def delimiter?(node, char); end
# Please remove this `else` branch when support for regexp_parser 1.8 will be dropped.
# It's for compatibility with regexp_parser 1.8 and will never be maintained.
#
- # source://rubocop//lib/rubocop/cop/style/redundant_regexp_escape.rb#98
+ # source://rubocop//lib/rubocop/cop/style/redundant_regexp_escape.rb#99
def each_escape(node); end
- # source://rubocop//lib/rubocop/cop/style/redundant_regexp_escape.rb#125
+ # source://rubocop//lib/rubocop/cop/style/redundant_regexp_escape.rb#126
def escape_range_at_index(node, index); end
end
@@ -44962,13 +46257,18 @@ RuboCop::Cop::Style::RedundantRegexpEscape::MSG_REDUNDANT_ESCAPE = T.let(T.unsaf
# return something
# end
#
-# # good
+# # bad
# def test
# return something if something_else
# end
#
# # good
# def test
+# something if something_else
+# end
+#
+# # good
+# def test
# if x
# elsif y
# else
@@ -44985,79 +46285,79 @@ RuboCop::Cop::Style::RedundantRegexpEscape::MSG_REDUNDANT_ESCAPE = T.let(T.unsaf
# return x, y
# end
#
-# source://rubocop//lib/rubocop/cop/style/redundant_return.rb#50
+# source://rubocop//lib/rubocop/cop/style/redundant_return.rb#55
class RuboCop::Cop::Style::RedundantReturn < ::RuboCop::Cop::Base
include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop//lib/rubocop/cop/style/redundant_return.rb#64
+ # source://rubocop//lib/rubocop/cop/style/redundant_return.rb#69
def on_def(node); end
- # source://rubocop//lib/rubocop/cop/style/redundant_return.rb#64
+ # source://rubocop//lib/rubocop/cop/style/redundant_return.rb#69
def on_defs(node); end
- # source://rubocop//lib/rubocop/cop/style/redundant_return.rb#58
+ # source://rubocop//lib/rubocop/cop/style/redundant_return.rb#63
def on_send(node); end
private
- # source://rubocop//lib/rubocop/cop/style/redundant_return.rb#99
+ # source://rubocop//lib/rubocop/cop/style/redundant_return.rb#104
def add_braces(corrector, node); end
- # source://rubocop//lib/rubocop/cop/style/redundant_return.rb#94
+ # source://rubocop//lib/rubocop/cop/style/redundant_return.rb#99
def add_brackets(corrector, node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/redundant_return.rb#164
+ # source://rubocop//lib/rubocop/cop/style/redundant_return.rb#169
def allow_multiple_return_values?; end
- # source://rubocop//lib/rubocop/cop/style/redundant_return.rb#159
+ # source://rubocop//lib/rubocop/cop/style/redundant_return.rb#164
def check_begin_node(node); end
- # source://rubocop//lib/rubocop/cop/style/redundant_return.rb#105
+ # source://rubocop//lib/rubocop/cop/style/redundant_return.rb#110
def check_branch(node); end
- # source://rubocop//lib/rubocop/cop/style/redundant_return.rb#133
+ # source://rubocop//lib/rubocop/cop/style/redundant_return.rb#138
def check_case_node(node); end
- # source://rubocop//lib/rubocop/cop/style/redundant_return.rb#154
+ # source://rubocop//lib/rubocop/cop/style/redundant_return.rb#159
def check_ensure_node(node); end
- # source://rubocop//lib/rubocop/cop/style/redundant_return.rb#138
+ # source://rubocop//lib/rubocop/cop/style/redundant_return.rb#143
def check_if_node(node); end
- # source://rubocop//lib/rubocop/cop/style/redundant_return.rb#150
+ # source://rubocop//lib/rubocop/cop/style/redundant_return.rb#155
def check_resbody_node(node); end
- # source://rubocop//lib/rubocop/cop/style/redundant_return.rb#145
+ # source://rubocop//lib/rubocop/cop/style/redundant_return.rb#150
def check_rescue_node(node); end
- # source://rubocop//lib/rubocop/cop/style/redundant_return.rb#121
+ # source://rubocop//lib/rubocop/cop/style/redundant_return.rb#126
def check_return_node(node); end
- # source://rubocop//lib/rubocop/cop/style/redundant_return.rb#75
+ # source://rubocop//lib/rubocop/cop/style/redundant_return.rb#80
def correct_with_arguments(return_node, corrector); end
- # source://rubocop//lib/rubocop/cop/style/redundant_return.rb#71
+ # source://rubocop//lib/rubocop/cop/style/redundant_return.rb#76
def correct_without_arguments(return_node, corrector); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/redundant_return.rb#90
+ # source://rubocop//lib/rubocop/cop/style/redundant_return.rb#95
def hash_without_braces?(node); end
- # source://rubocop//lib/rubocop/cop/style/redundant_return.rb#168
+ # source://rubocop//lib/rubocop/cop/style/redundant_return.rb#173
def message(node); end
end
-# source://rubocop//lib/rubocop/cop/style/redundant_return.rb#54
+# source://rubocop//lib/rubocop/cop/style/redundant_return.rb#59
RuboCop::Cop::Style::RedundantReturn::MSG = T.let(T.unsafe(nil), String)
-# source://rubocop//lib/rubocop/cop/style/redundant_return.rb#55
+# source://rubocop//lib/rubocop/cop/style/redundant_return.rb#60
RuboCop::Cop::Style::RedundantReturn::MULTI_RETURN_MSG = T.let(T.unsafe(nil), String)
-# source://rubocop//lib/rubocop/cop/style/redundant_return.rb#56
+# source://rubocop//lib/rubocop/cop/style/redundant_return.rb#61
RuboCop::Cop::Style::RedundantReturn::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
# Checks for redundant uses of `self`.
@@ -45074,7 +46374,8 @@ RuboCop::Cop::Style::RedundantReturn::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Ar
# protected scope, you cannot send private messages this way.
#
# Note we allow uses of `self` with operators because it would be awkward
-# otherwise.
+# otherwise. Also allows the use of `self.it` without arguments in blocks,
+# as in `0.times { self.it }`, following `Lint/ItWithoutArgumentsInBlock` cop.
#
# @example
#
@@ -45099,114 +46400,125 @@ RuboCop::Cop::Style::RedundantReturn::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Ar
# end
# end
#
-# source://rubocop//lib/rubocop/cop/style/redundant_self.rb#44
+# source://rubocop//lib/rubocop/cop/style/redundant_self.rb#45
class RuboCop::Cop::Style::RedundantSelf < ::RuboCop::Cop::Base
extend ::RuboCop::Cop::AutoCorrector
# @return [RedundantSelf] a new instance of RedundantSelf
#
- # source://rubocop//lib/rubocop/cop/style/redundant_self.rb#59
+ # source://rubocop//lib/rubocop/cop/style/redundant_self.rb#60
def initialize(config = T.unsafe(nil), options = T.unsafe(nil)); end
# Assignment of self.x
#
- # source://rubocop//lib/rubocop/cop/style/redundant_self.rb#67
+ # source://rubocop//lib/rubocop/cop/style/redundant_self.rb#68
def on_and_asgn(node); end
- # source://rubocop//lib/rubocop/cop/style/redundant_self.rb#85
+ # source://rubocop//lib/rubocop/cop/style/redundant_self.rb#86
def on_args(node); end
- # source://rubocop//lib/rubocop/cop/style/redundant_self.rb#119
+ # source://rubocop//lib/rubocop/cop/style/redundant_self.rb#120
def on_block(node); end
- # source://rubocop//lib/rubocop/cop/style/redundant_self.rb#89
+ # source://rubocop//lib/rubocop/cop/style/redundant_self.rb#90
def on_blockarg(node); end
# Using self.x to distinguish from local variable x
#
- # source://rubocop//lib/rubocop/cop/style/redundant_self.rb#80
+ # source://rubocop//lib/rubocop/cop/style/redundant_self.rb#81
def on_def(node); end
# Using self.x to distinguish from local variable x
#
- # source://rubocop//lib/rubocop/cop/style/redundant_self.rb#80
+ # source://rubocop//lib/rubocop/cop/style/redundant_self.rb#81
def on_defs(node); end
- # source://rubocop//lib/rubocop/cop/style/redundant_self.rb#125
+ # source://rubocop//lib/rubocop/cop/style/redundant_self.rb#126
def on_if(node); end
- # source://rubocop//lib/rubocop/cop/style/redundant_self.rb#103
+ # source://rubocop//lib/rubocop/cop/style/redundant_self.rb#104
def on_in_pattern(node); end
- # source://rubocop//lib/rubocop/cop/style/redundant_self.rb#98
+ # source://rubocop//lib/rubocop/cop/style/redundant_self.rb#99
def on_lvasgn(node); end
- # source://rubocop//lib/rubocop/cop/style/redundant_self.rb#93
+ # source://rubocop//lib/rubocop/cop/style/redundant_self.rb#94
def on_masgn(node); end
- # source://rubocop//lib/rubocop/cop/style/redundant_self.rb#119
+ # source://rubocop//lib/rubocop/cop/style/redundant_self.rb#120
def on_numblock(node); end
- # source://rubocop//lib/rubocop/cop/style/redundant_self.rb#73
+ # source://rubocop//lib/rubocop/cop/style/redundant_self.rb#74
def on_op_asgn(node); end
# Assignment of self.x
#
- # source://rubocop//lib/rubocop/cop/style/redundant_self.rb#67
+ # source://rubocop//lib/rubocop/cop/style/redundant_self.rb#68
def on_or_asgn(node); end
- # source://rubocop//lib/rubocop/cop/style/redundant_self.rb#107
+ # source://rubocop//lib/rubocop/cop/style/redundant_self.rb#108
def on_send(node); end
- # source://rubocop//lib/rubocop/cop/style/redundant_self.rb#125
+ # source://rubocop//lib/rubocop/cop/style/redundant_self.rb#126
def on_until(node); end
- # source://rubocop//lib/rubocop/cop/style/redundant_self.rb#125
+ # source://rubocop//lib/rubocop/cop/style/redundant_self.rb#126
def on_while(node); end
private
- # source://rubocop//lib/rubocop/cop/style/redundant_self.rb#181
+ # source://rubocop//lib/rubocop/cop/style/redundant_self.rb#196
def add_lhs_to_local_variables_scopes(rhs, lhs); end
- # source://rubocop//lib/rubocop/cop/style/redundant_self.rb#189
+ # source://rubocop//lib/rubocop/cop/style/redundant_self.rb#204
def add_masgn_lhs_variables(rhs, lhs); end
- # source://rubocop//lib/rubocop/cop/style/redundant_self.rb#195
+ # source://rubocop//lib/rubocop/cop/style/redundant_self.rb#210
def add_match_var_scopes(in_pattern_node); end
- # source://rubocop//lib/rubocop/cop/style/redundant_self.rb#143
+ # source://rubocop//lib/rubocop/cop/style/redundant_self.rb#144
def add_scope(node, local_variables = T.unsafe(nil)); end
- # source://rubocop//lib/rubocop/cop/style/redundant_self.rb#175
+ # source://rubocop//lib/rubocop/cop/style/redundant_self.rb#190
def allow_self(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/redundant_self.rb#149
+ # source://rubocop//lib/rubocop/cop/style/redundant_self.rb#150
def allowed_send_node?(node); end
- # source://rubocop//lib/rubocop/cop/style/redundant_self.rb#166
+ # Respects `Lint/ItWithoutArgumentsInBlock` cop and the following Ruby 3.3's warning:
+ #
+ # $ ruby -e '0.times { begin; it; end }'
+ # -e:1: warning: `it` calls without arguments will refer to the first block param in
+ # Ruby 3.4; use it() or self.it
+ #
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/style/redundant_self.rb#165
+ def it_method_in_block?(node); end
+
+ # source://rubocop//lib/rubocop/cop/style/redundant_self.rb#181
def on_argument(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/redundant_self.rb#158
+ # source://rubocop//lib/rubocop/cop/style/redundant_self.rb#173
def regular_method_call?(node); end
class << self
- # source://rubocop//lib/rubocop/cop/style/redundant_self.rb#55
+ # source://rubocop//lib/rubocop/cop/style/redundant_self.rb#56
def autocorrect_incompatible_with; end
end
end
-# source://rubocop//lib/rubocop/cop/style/redundant_self.rb#48
+# source://rubocop//lib/rubocop/cop/style/redundant_self.rb#49
RuboCop::Cop::Style::RedundantSelf::KERNEL_METHODS = T.let(T.unsafe(nil), Array)
-# source://rubocop//lib/rubocop/cop/style/redundant_self.rb#49
+# source://rubocop//lib/rubocop/cop/style/redundant_self.rb#50
RuboCop::Cop::Style::RedundantSelf::KEYWORDS = T.let(T.unsafe(nil), Array)
-# source://rubocop//lib/rubocop/cop/style/redundant_self.rb#47
+# source://rubocop//lib/rubocop/cop/style/redundant_self.rb#48
RuboCop::Cop::Style::RedundantSelf::MSG = T.let(T.unsafe(nil), String)
# Checks for places where redundant assignments are made for in place
@@ -45322,12 +46634,12 @@ class RuboCop::Cop::Style::RedundantSelfAssignmentBranch < ::RuboCop::Cop::Base
# source://rubocop//lib/rubocop/cop/style/redundant_self_assignment_branch.rb#64
def multiple_statements?(branch); end
- # source://rubocop//lib/rubocop/cop/style/redundant_self_assignment_branch.rb#72
+ # source://rubocop//lib/rubocop/cop/style/redundant_self_assignment_branch.rb#74
def register_offense(if_node, offense_branch, opposite_branch, keyword); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/redundant_self_assignment_branch.rb#68
+ # source://rubocop//lib/rubocop/cop/style/redundant_self_assignment_branch.rb#70
def self_assign?(variable, branch); end
# @return [Boolean]
@@ -45390,6 +46702,9 @@ class RuboCop::Cop::Style::RedundantSort < ::RuboCop::Cop::Base
include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector
+ # source://rubocop//lib/rubocop/cop/style/redundant_sort.rb#104
+ def on_csend(node); end
+
# source://rubocop//lib/rubocop/cop/style/redundant_sort.rb#104
def on_send(node); end
@@ -45401,45 +46716,45 @@ class RuboCop::Cop::Style::RedundantSort < ::RuboCop::Cop::Base
# This gets the start of the accessor whether it has a dot
# (e.g. `.first`) or doesn't (e.g. `[0]`)
#
- # source://rubocop//lib/rubocop/cop/style/redundant_sort.rb#192
+ # source://rubocop//lib/rubocop/cop/style/redundant_sort.rb#193
def accessor_start(node); end
- # source://rubocop//lib/rubocop/cop/style/redundant_sort.rb#182
+ # source://rubocop//lib/rubocop/cop/style/redundant_sort.rb#183
def arg_node(node); end
- # source://rubocop//lib/rubocop/cop/style/redundant_sort.rb#186
+ # source://rubocop//lib/rubocop/cop/style/redundant_sort.rb#187
def arg_value(node); end
- # source://rubocop//lib/rubocop/cop/style/redundant_sort.rb#147
+ # source://rubocop//lib/rubocop/cop/style/redundant_sort.rb#148
def autocorrect(corrector, node, sort_node, sorter, accessor); end
- # source://rubocop//lib/rubocop/cop/style/redundant_sort.rb#165
+ # source://rubocop//lib/rubocop/cop/style/redundant_sort.rb#166
def base(accessor, arg); end
- # source://rubocop//lib/rubocop/cop/style/redundant_sort.rb#114
+ # source://rubocop//lib/rubocop/cop/style/redundant_sort.rb#115
def find_redundant_sort(*nodes); end
- # source://rubocop//lib/rubocop/cop/style/redundant_sort.rb#135
+ # source://rubocop//lib/rubocop/cop/style/redundant_sort.rb#136
def message(node, sorter, accessor); end
- # source://rubocop//lib/rubocop/cop/style/redundant_sort.rb#131
+ # source://rubocop//lib/rubocop/cop/style/redundant_sort.rb#132
def offense_range(sort_node, node); end
- # source://rubocop//lib/rubocop/cop/style/redundant_sort.rb#124
+ # source://rubocop//lib/rubocop/cop/style/redundant_sort.rb#125
def register_offense(node, sort_node, sorter, accessor); end
- # source://rubocop//lib/rubocop/cop/style/redundant_sort.rb#156
+ # source://rubocop//lib/rubocop/cop/style/redundant_sort.rb#157
def replace_with_logical_operator(corrector, node); end
- # source://rubocop//lib/rubocop/cop/style/redundant_sort.rb#173
+ # source://rubocop//lib/rubocop/cop/style/redundant_sort.rb#174
def suffix(sorter); end
- # source://rubocop//lib/rubocop/cop/style/redundant_sort.rb#161
+ # source://rubocop//lib/rubocop/cop/style/redundant_sort.rb#162
def suggestion(sorter, accessor, arg); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/redundant_sort.rb#200
+ # source://rubocop//lib/rubocop/cop/style/redundant_sort.rb#201
def with_logical_operator?(node); end
end
@@ -45556,7 +46871,7 @@ class RuboCop::Cop::Style::RedundantStringEscape < ::RuboCop::Cop::Base
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/redundant_string_escape.rb#169
+ # source://rubocop//lib/rubocop/cop/style/redundant_string_escape.rb#171
def disabling_interpolation?(range); end
# @return [Boolean]
@@ -45576,7 +46891,7 @@ class RuboCop::Cop::Style::RedundantStringEscape < ::RuboCop::Cop::Base
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/redundant_string_escape.rb#165
+ # source://rubocop//lib/rubocop/cop/style/redundant_string_escape.rb#167
def literal_in_interpolated_or_multiline_string?(node); end
# source://rubocop//lib/rubocop/cop/style/redundant_string_escape.rb#59
@@ -46052,9 +47367,13 @@ RuboCop::Cop::Style::RescueStandardError::MSG_EXPLICIT = T.let(T.unsafe(nil), St
# source://rubocop//lib/rubocop/cop/style/rescue_standard_error.rb#79
RuboCop::Cop::Style::RescueStandardError::MSG_IMPLICIT = T.let(T.unsafe(nil), String)
-# Enforces consistency between 'return nil' and 'return'.
+# Enforces consistency between `return nil` and `return`.
#
-# Supported styles are: return, return_nil.
+# This cop is disabled by default. Because there seems to be a perceived semantic difference
+# between `return` and `return nil`. The former can be seen as just halting evaluation,
+# while the latter might be used when the return value is of specific concern.
+#
+# Supported styles are `return` and `return_nil`.
#
# @example EnforcedStyle: return (default)
# # bad
@@ -46077,48 +47396,113 @@ RuboCop::Cop::Style::RescueStandardError::MSG_IMPLICIT = T.let(T.unsafe(nil), St
# return nil if arg
# end
#
-# source://rubocop//lib/rubocop/cop/style/return_nil.rb#31
+# source://rubocop//lib/rubocop/cop/style/return_nil.rb#35
class RuboCop::Cop::Style::ReturnNil < ::RuboCop::Cop::Base
include ::RuboCop::Cop::ConfigurableEnforcedStyle
extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop//lib/rubocop/cop/style/return_nil.rb#86
+ # source://rubocop//lib/rubocop/cop/style/return_nil.rb#90
def chained_send?(param0 = T.unsafe(nil)); end
- # source://rubocop//lib/rubocop/cop/style/return_nil.rb#89
+ # source://rubocop//lib/rubocop/cop/style/return_nil.rb#93
def define_method?(param0 = T.unsafe(nil)); end
- # source://rubocop//lib/rubocop/cop/style/return_nil.rb#44
+ # source://rubocop//lib/rubocop/cop/style/return_nil.rb#48
def on_return(node); end
- # source://rubocop//lib/rubocop/cop/style/return_nil.rb#42
+ # source://rubocop//lib/rubocop/cop/style/return_nil.rb#46
def return_nil_node?(param0 = T.unsafe(nil)); end
- # source://rubocop//lib/rubocop/cop/style/return_nil.rb#39
+ # source://rubocop//lib/rubocop/cop/style/return_nil.rb#43
def return_node?(param0 = T.unsafe(nil)); end
private
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/return_nil.rb#76
+ # source://rubocop//lib/rubocop/cop/style/return_nil.rb#80
def correct_style?(node); end
- # source://rubocop//lib/rubocop/cop/style/return_nil.rb#72
+ # source://rubocop//lib/rubocop/cop/style/return_nil.rb#76
def message(_node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/return_nil.rb#81
+ # source://rubocop//lib/rubocop/cop/style/return_nil.rb#85
def scoped_node?(node); end
end
-# source://rubocop//lib/rubocop/cop/style/return_nil.rb#35
+# source://rubocop//lib/rubocop/cop/style/return_nil.rb#39
RuboCop::Cop::Style::ReturnNil::RETURN_MSG = T.let(T.unsafe(nil), String)
-# source://rubocop//lib/rubocop/cop/style/return_nil.rb#36
+# source://rubocop//lib/rubocop/cop/style/return_nil.rb#40
RuboCop::Cop::Style::ReturnNil::RETURN_NIL_MSG = T.let(T.unsafe(nil), String)
+# Checks if `return` or `return nil` is used in predicate method definitions.
+#
+# @example
+# # bad
+# def foo?
+# return if condition
+#
+# do_something?
+# end
+#
+# # bad
+# def foo?
+# return nil if condition
+#
+# do_something?
+# end
+#
+# # good
+# def foo?
+# return false if condition
+#
+# do_something?
+# end
+# @example AllowedMethods: ['foo?']
+# # good
+# def foo?
+# return if condition
+#
+# do_something?
+# end
+# @example AllowedPatterns: [/foo/]
+# # good
+# def foo?
+# return if condition
+#
+# do_something?
+# end
+#
+# source://rubocop//lib/rubocop/cop/style/return_nil_in_predicate_method_definition.rb#50
+class RuboCop::Cop::Style::ReturnNilInPredicateMethodDefinition < ::RuboCop::Cop::Base
+ include ::RuboCop::Cop::AllowedMethods
+ include ::RuboCop::Cop::AllowedPattern
+ extend ::RuboCop::Cop::AutoCorrector
+
+ # source://rubocop//lib/rubocop/cop/style/return_nil_in_predicate_method_definition.rb#62
+ def on_def(node); end
+
+ # source://rubocop//lib/rubocop/cop/style/return_nil_in_predicate_method_definition.rb#62
+ def on_defs(node); end
+
+ # source://rubocop//lib/rubocop/cop/style/return_nil_in_predicate_method_definition.rb#58
+ def return_nil?(param0 = T.unsafe(nil)); end
+
+ private
+
+ # source://rubocop//lib/rubocop/cop/style/return_nil_in_predicate_method_definition.rb#79
+ def nil_node_at_the_end_of_method_body(body); end
+
+ # source://rubocop//lib/rubocop/cop/style/return_nil_in_predicate_method_definition.rb#87
+ def register_offense(offense_node, replacement); end
+end
+
+# source://rubocop//lib/rubocop/cop/style/return_nil_in_predicate_method_definition.rb#55
+RuboCop::Cop::Style::ReturnNilInPredicateMethodDefinition::MSG = T.let(T.unsafe(nil), String)
+
# Transforms usages of a method call safeguarded by a non `nil`
# check for the variable whose method is being called to
# safe navigation (`&.`). If there is a method chain, all of the methods
@@ -46332,6 +47716,9 @@ RuboCop::Cop::Style::SafeNavigation::MSG = T.let(T.unsafe(nil), String)
class RuboCop::Cop::Style::Sample < ::RuboCop::Cop::Base
extend ::RuboCop::Cop::AutoCorrector
+ # source://rubocop//lib/rubocop/cop/style/sample.rb#41
+ def on_csend(node); end
+
# source://rubocop//lib/rubocop/cop/style/sample.rb#41
def on_send(node); end
@@ -46340,36 +47727,36 @@ class RuboCop::Cop::Style::Sample < ::RuboCop::Cop::Base
private
- # source://rubocop//lib/rubocop/cop/style/sample.rb#123
+ # source://rubocop//lib/rubocop/cop/style/sample.rb#124
def correction(shuffle_arg, method, method_args); end
- # source://rubocop//lib/rubocop/cop/style/sample.rb#139
+ # source://rubocop//lib/rubocop/cop/style/sample.rb#140
def extract_source(args); end
- # source://rubocop//lib/rubocop/cop/style/sample.rb#117
+ # source://rubocop//lib/rubocop/cop/style/sample.rb#118
def message(shuffle_arg, method, method_args, range); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/sample.rb#58
+ # source://rubocop//lib/rubocop/cop/style/sample.rb#59
def offensive?(method, method_args); end
- # source://rubocop//lib/rubocop/cop/style/sample.rb#95
+ # source://rubocop//lib/rubocop/cop/style/sample.rb#96
def range_size(range_node); end
- # source://rubocop//lib/rubocop/cop/style/sample.rb#130
+ # source://rubocop//lib/rubocop/cop/style/sample.rb#131
def sample_arg(method, method_args); end
- # source://rubocop//lib/rubocop/cop/style/sample.rb#69
+ # source://rubocop//lib/rubocop/cop/style/sample.rb#70
def sample_size(method_args); end
- # source://rubocop//lib/rubocop/cop/style/sample.rb#78
+ # source://rubocop//lib/rubocop/cop/style/sample.rb#79
def sample_size_for_one_arg(arg); end
- # source://rubocop//lib/rubocop/cop/style/sample.rb#88
+ # source://rubocop//lib/rubocop/cop/style/sample.rb#89
def sample_size_for_two_args(first, second); end
- # source://rubocop//lib/rubocop/cop/style/sample.rb#111
+ # source://rubocop//lib/rubocop/cop/style/sample.rb#112
def source_range(shuffle_node, node); end
end
@@ -46426,6 +47813,9 @@ class RuboCop::Cop::Style::SelectByRegexp < ::RuboCop::Cop::Base
# source://rubocop//lib/rubocop/cop/style/select_by_regexp.rb#74
def env_const?(param0 = T.unsafe(nil)); end
+ # source://rubocop//lib/rubocop/cop/style/select_by_regexp.rb#88
+ def on_csend(node); end
+
# source://rubocop//lib/rubocop/cop/style/select_by_regexp.rb#88
def on_send(node); end
@@ -46434,31 +47824,31 @@ class RuboCop::Cop::Style::SelectByRegexp < ::RuboCop::Cop::Base
private
- # source://rubocop//lib/rubocop/cop/style/select_by_regexp.rb#132
+ # source://rubocop//lib/rubocop/cop/style/select_by_regexp.rb#133
def extract_send_node(block_node); end
- # source://rubocop//lib/rubocop/cop/style/select_by_regexp.rb#145
+ # source://rubocop//lib/rubocop/cop/style/select_by_regexp.rb#146
def find_regexp(node, block); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/select_by_regexp.rb#156
+ # source://rubocop//lib/rubocop/cop/style/select_by_regexp.rb#157
def match_predicate_without_receiver?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/select_by_regexp.rb#141
+ # source://rubocop//lib/rubocop/cop/style/select_by_regexp.rb#142
def opposite?(regexp_method_send_node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/select_by_regexp.rb#106
+ # source://rubocop//lib/rubocop/cop/style/select_by_regexp.rb#107
def receiver_allowed?(node); end
- # source://rubocop//lib/rubocop/cop/style/select_by_regexp.rb#120
+ # source://rubocop//lib/rubocop/cop/style/select_by_regexp.rb#121
def register_offense(node, block_node, regexp, replacement); end
- # source://rubocop//lib/rubocop/cop/style/select_by_regexp.rb#112
+ # source://rubocop//lib/rubocop/cop/style/select_by_regexp.rb#113
def replacement(regexp_method_send_node, node); end
end
@@ -46573,48 +47963,53 @@ class RuboCop::Cop::Style::Semicolon < ::RuboCop::Cop::Base
# source://rubocop//lib/rubocop/cop/style/semicolon.rb#64
def check_for_line_terminator_or_opener; end
- # source://rubocop//lib/rubocop/cop/style/semicolon.rb#73
+ # source://rubocop//lib/rubocop/cop/style/semicolon.rb#70
def each_semicolon; end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/semicolon.rb#105
+ # source://rubocop//lib/rubocop/cop/style/semicolon.rb#106
def exist_semicolon_after_left_curly_brace?(tokens); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/semicolon.rb#113
+ # source://rubocop//lib/rubocop/cop/style/semicolon.rb#110
+ def exist_semicolon_after_left_lambda_curly_brace?(tokens); end
+
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/style/semicolon.rb#118
def exist_semicolon_after_left_string_interpolation_brace?(tokens); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/semicolon.rb#101
+ # source://rubocop//lib/rubocop/cop/style/semicolon.rb#102
def exist_semicolon_before_right_curly_brace?(tokens); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/semicolon.rb#109
+ # source://rubocop//lib/rubocop/cop/style/semicolon.rb#114
def exist_semicolon_before_right_string_interpolation_brace?(tokens); end
- # source://rubocop//lib/rubocop/cop/style/semicolon.rb#137
+ # source://rubocop//lib/rubocop/cop/style/semicolon.rb#142
def expressions_per_line(exprs); end
- # source://rubocop//lib/rubocop/cop/style/semicolon.rb#151
+ # source://rubocop//lib/rubocop/cop/style/semicolon.rb#156
def find_range_node(token_before_semicolon); end
- # source://rubocop//lib/rubocop/cop/style/semicolon.rb#143
+ # source://rubocop//lib/rubocop/cop/style/semicolon.rb#148
def find_semicolon_positions(line); end
- # source://rubocop//lib/rubocop/cop/style/semicolon.rb#157
+ # source://rubocop//lib/rubocop/cop/style/semicolon.rb#162
def range_nodes; end
- # source://rubocop//lib/rubocop/cop/style/semicolon.rb#117
+ # source://rubocop//lib/rubocop/cop/style/semicolon.rb#122
def register_semicolon(line, column, after_expression, token_before_semicolon = T.unsafe(nil)); end
- # source://rubocop//lib/rubocop/cop/style/semicolon.rb#86
+ # source://rubocop//lib/rubocop/cop/style/semicolon.rb#84
def semicolon_position(tokens); end
- # source://rubocop//lib/rubocop/cop/style/semicolon.rb#82
+ # source://rubocop//lib/rubocop/cop/style/semicolon.rb#79
def tokens_for_lines; end
class << self
@@ -46809,8 +48204,11 @@ RuboCop::Cop::Style::SignalException::RAISE_MSG = T.let(T.unsafe(nil), String)
# source://rubocop//lib/rubocop/cop/style/signal_exception.rb#114
RuboCop::Cop::Style::SignalException::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
-# Sometimes using dig method ends up with just a single
-# argument. In such cases, dig should be replaced with [].
+# Sometimes using `dig` method ends up with just a single
+# argument. In such cases, dig should be replaced with `[]`.
+#
+# Since replacing `hash&.dig(:key)` with `hash[:key]` could potentially lead to error,
+# calls to the `dig` method using safe navigation will be ignored.
#
# @example
# # bad
@@ -46829,21 +48227,24 @@ RuboCop::Cop::Style::SignalException::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Ar
# keys = %i[key1 key2]
# { key1: { key2: 'value' } }.dig(*keys)
#
-# source://rubocop//lib/rubocop/cop/style/single_argument_dig.rb#31
+# source://rubocop//lib/rubocop/cop/style/single_argument_dig.rb#34
class RuboCop::Cop::Style::SingleArgumentDig < ::RuboCop::Cop::Base
extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop//lib/rubocop/cop/style/single_argument_dig.rb#42
+ # source://rubocop//lib/rubocop/cop/style/single_argument_dig.rb#46
def on_send(node); end
- # source://rubocop//lib/rubocop/cop/style/single_argument_dig.rb#38
+ # source://rubocop//lib/rubocop/cop/style/single_argument_dig.rb#42
def single_argument_dig?(param0 = T.unsafe(nil)); end
end
-# source://rubocop//lib/rubocop/cop/style/single_argument_dig.rb#34
+# source://rubocop//lib/rubocop/cop/style/single_argument_dig.rb#39
+RuboCop::Cop::Style::SingleArgumentDig::IGNORED_ARGUMENT_TYPES = T.let(T.unsafe(nil), Array)
+
+# source://rubocop//lib/rubocop/cop/style/single_argument_dig.rb#37
RuboCop::Cop::Style::SingleArgumentDig::MSG = T.let(T.unsafe(nil), String)
-# source://rubocop//lib/rubocop/cop/style/single_argument_dig.rb#35
+# source://rubocop//lib/rubocop/cop/style/single_argument_dig.rb#38
RuboCop::Cop::Style::SingleArgumentDig::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
# Checks whether the block parameters of a single-line
@@ -46918,6 +48319,50 @@ end
# source://rubocop//lib/rubocop/cop/style/single_line_block_params.rb#34
RuboCop::Cop::Style::SingleLineBlockParams::MSG = T.let(T.unsafe(nil), String)
+# Checks for single-line `do`...`end` block.
+#
+# In practice a single line `do`...`end` is autocorrected when `EnforcedStyle: semantic`
+# in `Style/BlockDelimiters`. The autocorrection maintains the `do` ... `end` syntax to
+# preserve semantics and does not change it to `{`...`}` block.
+#
+# @example
+#
+# # bad
+# foo do |arg| bar(arg) end
+#
+# # good
+# foo do |arg|
+# bar(arg)
+# end
+#
+# # bad
+# ->(arg) do bar(arg) end
+#
+# # good
+# ->(arg) { bar(arg) }
+#
+# source://rubocop//lib/rubocop/cop/style/single_line_do_end_block.rb#28
+class RuboCop::Cop::Style::SingleLineDoEndBlock < ::RuboCop::Cop::Base
+ extend ::RuboCop::Cop::AutoCorrector
+
+ # source://rubocop//lib/rubocop/cop/style/single_line_do_end_block.rb#34
+ def on_block(node); end
+
+ # source://rubocop//lib/rubocop/cop/style/single_line_do_end_block.rb#34
+ def on_numblock(node); end
+
+ private
+
+ # source://rubocop//lib/rubocop/cop/style/single_line_do_end_block.rb#55
+ def do_line(node); end
+
+ # source://rubocop//lib/rubocop/cop/style/single_line_do_end_block.rb#63
+ def x(corrector, node); end
+end
+
+# source://rubocop//lib/rubocop/cop/style/single_line_do_end_block.rb#31
+RuboCop::Cop::Style::SingleLineDoEndBlock::MSG = T.let(T.unsafe(nil), String)
+
# Checks for single-line method definitions that contain a body.
# It will accept single-line methods with no body.
#
@@ -47005,32 +48450,69 @@ RuboCop::Cop::Style::SingleLineMethods::MSG = T.let(T.unsafe(nil), String)
# source://rubocop//lib/rubocop/cop/style/single_line_methods.rb#39
RuboCop::Cop::Style::SingleLineMethods::NOT_SUPPORTED_ENDLESS_METHOD_BODY_TYPES = T.let(T.unsafe(nil), Array)
-# Checks that arrays are sliced with endless ranges instead of
-# `ary[start..-1]` on Ruby 2.6+.
+# Checks that arrays are not sliced with the redundant `ary[0..-1]`, replacing it with `ary`,
+# and ensures arrays are sliced with endless ranges instead of `ary[start..-1]` on Ruby 2.6+,
+# and with beginless ranges instead of `ary[nil..end]` on Ruby 2.7+.
#
# @example
# # bad
-# items[1..-1]
+# items[0..-1]
+# items[0..nil]
+# items[0...nil]
+#
+# # good
+# items
+#
+# # bad
+# items[1..-1] # Ruby 2.6+
+# items[1..nil] # Ruby 2.6+
+#
+# # good
+# items[1..] # Ruby 2.6+
+#
+# # bad
+# items[nil..42] # Ruby 2.7+
#
# # good
-# items[1..]
+# items[..42] # Ruby 2.7+
+# items[0..42] # Ruby 2.7+
#
-# source://rubocop//lib/rubocop/cop/style/slicing_with_range.rb#28
+# source://rubocop//lib/rubocop/cop/style/slicing_with_range.rb#46
class RuboCop::Cop::Style::SlicingWithRange < ::RuboCop::Cop::Base
extend ::RuboCop::Cop::AutoCorrector
extend ::RuboCop::Cop::TargetRubyVersion
- # source://rubocop//lib/rubocop/cop/style/slicing_with_range.rb#40
+ # source://rubocop//lib/rubocop/cop/style/slicing_with_range.rb#77
def on_send(node); end
- # source://rubocop//lib/rubocop/cop/style/slicing_with_range.rb#38
+ # source://rubocop//lib/rubocop/cop/style/slicing_with_range.rb#73
+ def range_from_zero?(param0 = T.unsafe(nil)); end
+
+ # source://rubocop//lib/rubocop/cop/style/slicing_with_range.rb#57
+ def range_from_zero_till_minus_one?(param0 = T.unsafe(nil)); end
+
+ # source://rubocop//lib/rubocop/cop/style/slicing_with_range.rb#65
def range_till_minus_one?(param0 = T.unsafe(nil)); end
+
+ private
+
+ # source://rubocop//lib/rubocop/cop/style/slicing_with_range.rb#111
+ def beginless(range_node); end
+
+ # source://rubocop//lib/rubocop/cop/style/slicing_with_range.rb#107
+ def endless(range_node); end
+
+ # source://rubocop//lib/rubocop/cop/style/slicing_with_range.rb#93
+ def offense_message_with_removal_range(range_node, selector); end
end
-# source://rubocop//lib/rubocop/cop/style/slicing_with_range.rb#34
+# source://rubocop//lib/rubocop/cop/style/slicing_with_range.rb#52
RuboCop::Cop::Style::SlicingWithRange::MSG = T.let(T.unsafe(nil), String)
-# source://rubocop//lib/rubocop/cop/style/slicing_with_range.rb#35
+# source://rubocop//lib/rubocop/cop/style/slicing_with_range.rb#53
+RuboCop::Cop::Style::SlicingWithRange::MSG_USELESS_RANGE = T.let(T.unsafe(nil), String)
+
+# source://rubocop//lib/rubocop/cop/style/slicing_with_range.rb#54
RuboCop::Cop::Style::SlicingWithRange::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
# If the branch of a conditional consists solely of a conditional node,
@@ -47087,10 +48569,10 @@ class RuboCop::Cop::Style::SoleNestedConditional < ::RuboCop::Cop::Base
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/sole_nested_conditional.rb#240
+ # source://rubocop//lib/rubocop/cop/style/sole_nested_conditional.rb#242
def allow_modifier?; end
- # source://rubocop//lib/rubocop/cop/style/sole_nested_conditional.rb#225
+ # source://rubocop//lib/rubocop/cop/style/sole_nested_conditional.rb#227
def arguments_range(node); end
# source://rubocop//lib/rubocop/cop/style/sole_nested_conditional.rb#81
@@ -47120,13 +48602,13 @@ class RuboCop::Cop::Style::SoleNestedConditional < ::RuboCop::Cop::Base
# source://rubocop//lib/rubocop/cop/style/sole_nested_conditional.rb#130
def correct_from_unless_to_if(corrector, node, is_modify_form: T.unsafe(nil)); end
- # source://rubocop//lib/rubocop/cop/style/sole_nested_conditional.rb#182
+ # source://rubocop//lib/rubocop/cop/style/sole_nested_conditional.rb#184
def correct_outer_condition(corrector, condition); end
- # source://rubocop//lib/rubocop/cop/style/sole_nested_conditional.rb#195
+ # source://rubocop//lib/rubocop/cop/style/sole_nested_conditional.rb#197
def insert_bang(corrector, node, is_modify_form); end
- # source://rubocop//lib/rubocop/cop/style/sole_nested_conditional.rb#208
+ # source://rubocop//lib/rubocop/cop/style/sole_nested_conditional.rb#210
def insert_bang_for_and(corrector, node); end
# @return [Boolean]
@@ -47136,15 +48618,15 @@ class RuboCop::Cop::Style::SoleNestedConditional < ::RuboCop::Cop::Base
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/sole_nested_conditional.rb#244
+ # source://rubocop//lib/rubocop/cop/style/sole_nested_conditional.rb#246
def outer_condition_modify_form?(node, if_branch); end
- # source://rubocop//lib/rubocop/cop/style/sole_nested_conditional.rb#236
+ # source://rubocop//lib/rubocop/cop/style/sole_nested_conditional.rb#238
def replace_condition(condition); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/sole_nested_conditional.rb#220
+ # source://rubocop//lib/rubocop/cop/style/sole_nested_conditional.rb#222
def require_parentheses?(condition); end
# @return [Boolean]
@@ -47157,7 +48639,7 @@ class RuboCop::Cop::Style::SoleNestedConditional < ::RuboCop::Cop::Base
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/sole_nested_conditional.rb#231
+ # source://rubocop//lib/rubocop/cop/style/sole_nested_conditional.rb#233
def wrap_condition?(node); end
class << self
@@ -47524,6 +49006,9 @@ class RuboCop::Cop::Style::StringChars < ::RuboCop::Cop::Base
include ::RuboCop::Cop::RangeHelp
extend ::RuboCop::Cop::AutoCorrector
+ # source://rubocop//lib/rubocop/cop/style/string_chars.rb#29
+ def on_csend(node); end
+
# source://rubocop//lib/rubocop/cop/style/string_chars.rb#29
def on_send(node); end
end
@@ -47761,40 +49246,67 @@ end
# source://rubocop//lib/rubocop/cop/style/string_literals.rb#35
RuboCop::Cop::Style::StringLiterals::MSG_INCONSISTENT = T.let(T.unsafe(nil), String)
-# Checks that quotes inside the string interpolation
+# Checks that quotes inside string, symbol, and regexp interpolations
# match the configured preference.
#
# @example EnforcedStyle: single_quotes (default)
# # bad
-# result = "Tests #{success ? "PASS" : "FAIL"}"
+# string = "Tests #{success ? "PASS" : "FAIL"}"
+# symbol = :"Tests #{success ? "PASS" : "FAIL"}"
+# heredoc = <<~TEXT
+# Tests #{success ? "PASS" : "FAIL"}
+# TEXT
+# regexp = /Tests #{success ? "PASS" : "FAIL"}/
#
# # good
-# result = "Tests #{success ? 'PASS' : 'FAIL'}"
+# string = "Tests #{success ? 'PASS' : 'FAIL'}"
+# symbol = :"Tests #{success ? 'PASS' : 'FAIL'}"
+# heredoc = <<~TEXT
+# Tests #{success ? 'PASS' : 'FAIL'}
+# TEXT
+# regexp = /Tests #{success ? 'PASS' : 'FAIL'}/
# @example EnforcedStyle: double_quotes
# # bad
-# result = "Tests #{success ? 'PASS' : 'FAIL'}"
+# string = "Tests #{success ? 'PASS' : 'FAIL'}"
+# symbol = :"Tests #{success ? 'PASS' : 'FAIL'}"
+# heredoc = <<~TEXT
+# Tests #{success ? 'PASS' : 'FAIL'}
+# TEXT
+# regexp = /Tests #{success ? 'PASS' : 'FAIL'}/
#
# # good
-# result = "Tests #{success ? "PASS" : "FAIL"}"
+# string = "Tests #{success ? "PASS" : "FAIL"}"
+# symbol = :"Tests #{success ? "PASS" : "FAIL"}"
+# heredoc = <<~TEXT
+# Tests #{success ? "PASS" : "FAIL"}
+# TEXT
+# regexp = /Tests #{success ? "PASS" : "FAIL"}/
#
-# source://rubocop//lib/rubocop/cop/style/string_literals_in_interpolation.rb#22
+# source://rubocop//lib/rubocop/cop/style/string_literals_in_interpolation.rb#42
class RuboCop::Cop::Style::StringLiteralsInInterpolation < ::RuboCop::Cop::Base
include ::RuboCop::Cop::ConfigurableEnforcedStyle
include ::RuboCop::Cop::StringLiteralsHelp
include ::RuboCop::Cop::StringHelp
extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop//lib/rubocop/cop/style/string_literals_in_interpolation.rb#28
+ # source://rubocop//lib/rubocop/cop/style/string_literals_in_interpolation.rb#48
def autocorrect(corrector, node); end
+ # Cop classes that include the StringHelp module usually ignore regexp
+ # nodes. Not so for this cop, which is why we override the on_regexp
+ # definition with an empty one.
+ #
+ # source://rubocop//lib/rubocop/cop/style/string_literals_in_interpolation.rb#55
+ def on_regexp(node); end
+
private
- # source://rubocop//lib/rubocop/cop/style/string_literals_in_interpolation.rb#34
+ # source://rubocop//lib/rubocop/cop/style/string_literals_in_interpolation.rb#59
def message(_node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/string_literals_in_interpolation.rb#41
+ # source://rubocop//lib/rubocop/cop/style/string_literals_in_interpolation.rb#66
def offense?(node); end
end
@@ -47844,7 +49356,10 @@ class RuboCop::Cop::Style::Strip < ::RuboCop::Cop::Base
# source://rubocop//lib/rubocop/cop/style/strip.rb#24
def lstrip_rstrip(param0 = T.unsafe(nil)); end
- # source://rubocop//lib/rubocop/cop/style/strip.rb#29
+ # source://rubocop//lib/rubocop/cop/style/strip.rb#31
+ def on_csend(node); end
+
+ # source://rubocop//lib/rubocop/cop/style/strip.rb#31
def on_send(node); end
end
@@ -47894,6 +49409,29 @@ end
# source://rubocop//lib/rubocop/cop/style/struct_inheritance.rb#30
RuboCop::Cop::Style::StructInheritance::MSG = T.let(T.unsafe(nil), String)
+# Enforces the presence of parentheses in `super` containing arguments.
+#
+# `super` is a keyword and is provided as a distinct cop from those designed for method call.
+#
+# @example
+#
+# # bad
+# super name, age
+#
+# # good
+# super(name, age)
+#
+# source://rubocop//lib/rubocop/cop/style/super_with_args_parentheses.rb#18
+class RuboCop::Cop::Style::SuperWithArgsParentheses < ::RuboCop::Cop::Base
+ extend ::RuboCop::Cop::AutoCorrector
+
+ # source://rubocop//lib/rubocop/cop/style/super_with_args_parentheses.rb#23
+ def on_super(node); end
+end
+
+# source://rubocop//lib/rubocop/cop/style/super_with_args_parentheses.rb#21
+RuboCop::Cop::Style::SuperWithArgsParentheses::MSG = T.let(T.unsafe(nil), String)
+
# Enforces the use of shorthand-style swapping of 2 variables.
#
# @example
@@ -47985,6 +49523,15 @@ RuboCop::Cop::Style::SwapValues::SIMPLE_ASSIGNMENT_TYPES = T.let(T.unsafe(nil),
#
# # bad
# [:foo, :bar, :baz]
+#
+# # bad (contains spaces)
+# %i[foo\ bar baz\ quux]
+#
+# # bad (contains [] with spaces)
+# %i[foo \[ \]]
+#
+# # bad (contains () with spaces)
+# %i(foo \( \))
# @example EnforcedStyle: brackets
# # good
# [:foo, :bar, :baz]
@@ -47992,7 +49539,7 @@ RuboCop::Cop::Style::SwapValues::SIMPLE_ASSIGNMENT_TYPES = T.let(T.unsafe(nil),
# # bad
# %i[foo bar baz]
#
-# source://rubocop//lib/rubocop/cop/style/symbol_array.rb#31
+# source://rubocop//lib/rubocop/cop/style/symbol_array.rb#40
class RuboCop::Cop::Style::SymbolArray < ::RuboCop::Cop::Base
include ::RuboCop::Cop::ArrayMinSize
include ::RuboCop::Cop::ArraySyntax
@@ -48001,48 +49548,62 @@ class RuboCop::Cop::Style::SymbolArray < ::RuboCop::Cop::Base
extend ::RuboCop::Cop::AutoCorrector
extend ::RuboCop::Cop::TargetRubyVersion
- # source://rubocop//lib/rubocop/cop/style/symbol_array.rb#48
+ # source://rubocop//lib/rubocop/cop/style/symbol_array.rb#66
def on_array(node); end
private
- # source://rubocop//lib/rubocop/cop/style/symbol_array.rb#67
+ # source://rubocop//lib/rubocop/cop/style/symbol_array.rb#96
def build_bracketed_array(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/symbol_array.rb#90
- def symbol_without_quote?(string); end
+ # source://rubocop//lib/rubocop/cop/style/symbol_array.rb#78
+ def complex_content?(node); end
+
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/style/symbol_array.rb#92
+ def invalid_percent_array_contents?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/symbol_array.rb#60
- def symbols_contain_spaces?(node); end
+ # source://rubocop//lib/rubocop/cop/style/symbol_array.rb#119
+ def symbol_without_quote?(string); end
- # source://rubocop//lib/rubocop/cop/style/symbol_array.rb#82
+ # source://rubocop//lib/rubocop/cop/style/symbol_array.rb#111
def to_symbol_literal(string); end
class << self
# Returns the value of attribute largest_brackets.
#
- # source://rubocop//lib/rubocop/cop/style/symbol_array.rb#45
+ # source://rubocop//lib/rubocop/cop/style/symbol_array.rb#63
def largest_brackets; end
# Sets the attribute largest_brackets
#
# @param value the value to set the attribute largest_brackets to.
#
- # source://rubocop//lib/rubocop/cop/style/symbol_array.rb#45
+ # source://rubocop//lib/rubocop/cop/style/symbol_array.rb#63
def largest_brackets=(_arg0); end
end
end
-# source://rubocop//lib/rubocop/cop/style/symbol_array.rb#42
+# source://rubocop//lib/rubocop/cop/style/symbol_array.rb#51
RuboCop::Cop::Style::SymbolArray::ARRAY_MSG = T.let(T.unsafe(nil), String)
-# source://rubocop//lib/rubocop/cop/style/symbol_array.rb#41
+# source://rubocop//lib/rubocop/cop/style/symbol_array.rb#52
+RuboCop::Cop::Style::SymbolArray::DELIMITERS = T.let(T.unsafe(nil), Array)
+
+# source://rubocop//lib/rubocop/cop/style/symbol_array.rb#50
RuboCop::Cop::Style::SymbolArray::PERCENT_MSG = T.let(T.unsafe(nil), String)
+# source://rubocop//lib/rubocop/cop/style/symbol_array.rb#57
+RuboCop::Cop::Style::SymbolArray::REDEFINABLE_OPERATORS = T.let(T.unsafe(nil), Array)
+
+# source://rubocop//lib/rubocop/cop/style/symbol_array.rb#53
+RuboCop::Cop::Style::SymbolArray::SPECIAL_GVARS = T.let(T.unsafe(nil), Array)
+
# Checks symbol literal syntax.
#
# @example
@@ -48071,9 +49632,13 @@ RuboCop::Cop::Style::SymbolLiteral::MSG = T.let(T.unsafe(nil), String)
# `define_method?` methods are allowed by default.
# These are customizable with `AllowedMethods` option.
#
-# @example AllowedPatterns: ['map'] (default)
-# # good
+# @example
+# # bad
# something.map { |s| s.upcase }
+# something.map { _1.upcase }
+#
+# # good
+# something.map(&:upcase)
# @example AllowMethodsWithArguments: false (default)
# # bad
# something.do_something(foo) { |o| o.bar }
@@ -48103,15 +49668,11 @@ RuboCop::Cop::Style::SymbolLiteral::MSG = T.let(T.unsafe(nil), String)
# @example AllowedPatterns: [] (default)
# # bad
# something.map { |s| s.upcase }
-# @example
-# # bad
-# something.map { |s| s.upcase }
-# something.map { _1.upcase }
-#
+# @example AllowedPatterns: ['map'] (default)
# # good
-# something.map(&:upcase)
+# something.map { |s| s.upcase }
#
-# source://rubocop//lib/rubocop/cop/style/symbol_proc.rb#87
+# source://rubocop//lib/rubocop/cop/style/symbol_proc.rb#123
class RuboCop::Cop::Style::SymbolProc < ::RuboCop::Cop::Base
include ::RuboCop::Cop::CommentsHelp
include ::RuboCop::Cop::RangeHelp
@@ -48121,117 +49682,117 @@ class RuboCop::Cop::Style::SymbolProc < ::RuboCop::Cop::Base
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/symbol_proc.rb#136
+ # source://rubocop//lib/rubocop/cop/style/symbol_proc.rb#172
def destructuring_block_argument?(argument_node); end
- # source://rubocop//lib/rubocop/cop/style/symbol_proc.rb#116
+ # source://rubocop//lib/rubocop/cop/style/symbol_proc.rb#152
def on_block(node); end
- # source://rubocop//lib/rubocop/cop/style/symbol_proc.rb#116
+ # source://rubocop//lib/rubocop/cop/style/symbol_proc.rb#152
def on_numblock(node); end
- # source://rubocop//lib/rubocop/cop/style/symbol_proc.rb#98
+ # source://rubocop//lib/rubocop/cop/style/symbol_proc.rb#134
def proc_node?(param0 = T.unsafe(nil)); end
- # source://rubocop//lib/rubocop/cop/style/symbol_proc.rb#104
+ # source://rubocop//lib/rubocop/cop/style/symbol_proc.rb#140
def symbol_proc?(param0 = T.unsafe(nil)); end
- # source://rubocop//lib/rubocop/cop/style/symbol_proc.rb#101
+ # source://rubocop//lib/rubocop/cop/style/symbol_proc.rb#137
def symbol_proc_receiver?(param0 = T.unsafe(nil)); end
private
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/symbol_proc.rb#204
+ # source://rubocop//lib/rubocop/cop/style/symbol_proc.rb#240
def allow_comments?; end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/symbol_proc.rb#200
+ # source://rubocop//lib/rubocop/cop/style/symbol_proc.rb#236
def allow_if_method_has_argument?(send_node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/symbol_proc.rb#151
+ # source://rubocop//lib/rubocop/cop/style/symbol_proc.rb#187
def allowed_method_name?(name); end
- # source://rubocop//lib/rubocop/cop/style/symbol_proc.rb#164
+ # source://rubocop//lib/rubocop/cop/style/symbol_proc.rb#200
def autocorrect(corrector, node); end
- # source://rubocop//lib/rubocop/cop/style/symbol_proc.rb#176
+ # source://rubocop//lib/rubocop/cop/style/symbol_proc.rb#212
def autocorrect_with_args(corrector, node, args, method_name); end
- # source://rubocop//lib/rubocop/cop/style/symbol_proc.rb#172
+ # source://rubocop//lib/rubocop/cop/style/symbol_proc.rb#208
def autocorrect_without_args(corrector, node); end
- # source://rubocop//lib/rubocop/cop/style/symbol_proc.rb#190
+ # source://rubocop//lib/rubocop/cop/style/symbol_proc.rb#226
def begin_pos_for_replacement(node); end
- # source://rubocop//lib/rubocop/cop/style/symbol_proc.rb#185
+ # source://rubocop//lib/rubocop/cop/style/symbol_proc.rb#221
def block_range_with_space(node); end
- # source://rubocop//lib/rubocop/cop/style/symbol_proc.rb#155
+ # source://rubocop//lib/rubocop/cop/style/symbol_proc.rb#191
def register_offense(node, method_name, block_method_name); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/symbol_proc.rb#147
+ # source://rubocop//lib/rubocop/cop/style/symbol_proc.rb#183
def unsafe_array_usage?(node); end
# See: https://github.com/rubocop/rubocop/issues/10864
#
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/symbol_proc.rb#143
+ # source://rubocop//lib/rubocop/cop/style/symbol_proc.rb#179
def unsafe_hash_usage?(node); end
class << self
- # source://rubocop//lib/rubocop/cop/style/symbol_proc.rb#111
+ # source://rubocop//lib/rubocop/cop/style/symbol_proc.rb#147
def autocorrect_incompatible_with; end
end
end
-# source://rubocop//lib/rubocop/cop/style/symbol_proc.rb#94
+# source://rubocop//lib/rubocop/cop/style/symbol_proc.rb#130
RuboCop::Cop::Style::SymbolProc::MSG = T.let(T.unsafe(nil), String)
-# source://rubocop//lib/rubocop/cop/style/symbol_proc.rb#95
+# source://rubocop//lib/rubocop/cop/style/symbol_proc.rb#131
RuboCop::Cop::Style::SymbolProc::SUPER_TYPES = T.let(T.unsafe(nil), Array)
# Corrector to correct conditional assignment in ternary conditions.
#
-# source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#498
+# source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#500
class RuboCop::Cop::Style::TernaryCorrector
extend ::RuboCop::Cop::Style::ConditionalAssignmentHelper
extend ::RuboCop::Cop::Style::ConditionalCorrectorHelper
class << self
- # source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#503
+ # source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#505
def correct(corrector, node); end
- # source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#507
+ # source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#509
def move_assignment_inside_condition(corrector, node); end
private
- # source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#521
+ # source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#523
def correction(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#534
+ # source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#536
def element_assignment?(node); end
- # source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#538
+ # source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#540
def extract_branches(node); end
- # source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#551
+ # source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#553
def move_branch_inside_condition(corrector, branch, assignment); end
- # source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#546
+ # source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#548
def remove_parentheses(corrector, node); end
- # source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#525
+ # source://rubocop//lib/rubocop/cop/style/conditional_assignment.rb#527
def ternary(node); end
end
end
@@ -49053,11 +50614,27 @@ RuboCop::Cop::Style::TrailingUnderscoreVariable::UNDERSCORE = T.let(T.unsafe(nil
# `to_open`, `to_path`, `to_proc`, `to_r`, `to_regexp`, `to_str`, `to_s`, and `to_sym` methods
# are allowed by default. These are customizable with `AllowedMethods` option.
#
-# @example AllowedMethods: ['allowed_method']
-# # good
-# def allowed_method
+# @example
+# # bad
+# def foo
# @foo
# end
+#
+# def bar=(val)
+# @bar = val
+# end
+#
+# def self.baz
+# @baz
+# end
+#
+# # good
+# attr_reader :foo
+# attr_writer :bar
+#
+# class << self
+# attr_reader :baz
+# end
# @example ExactNameMatch: true (default)
# # good
# def name
@@ -49109,26 +50686,10 @@ RuboCop::Cop::Style::TrailingUnderscoreVariable::UNDERSCORE = T.let(T.unsafe(nil
# def self.foo
# @foo
# end
-# @example
-# # bad
-# def foo
-# @foo
-# end
-#
-# def bar=(val)
-# @bar = val
-# end
-#
-# def self.baz
-# @baz
-# end
-#
+# @example AllowedMethods: ['allowed_method']
# # good
-# attr_reader :foo
-# attr_writer :bar
-#
-# class << self
-# attr_reader :baz
+# def allowed_method
+# @foo
# end
#
# source://rubocop//lib/rubocop/cop/style/trivial_accessors.rb#98
@@ -49380,22 +50941,25 @@ class RuboCop::Cop::Style::UnpackFirst < ::RuboCop::Cop::Base
extend ::RuboCop::Cop::AutoCorrector
extend ::RuboCop::Cop::TargetRubyVersion
- # source://rubocop//lib/rubocop/cop/style/unpack_first.rb#38
+ # source://rubocop//lib/rubocop/cop/style/unpack_first.rb#37
+ def on_csend(node); end
+
+ # source://rubocop//lib/rubocop/cop/style/unpack_first.rb#37
def on_send(node); end
- # source://rubocop//lib/rubocop/cop/style/unpack_first.rb#31
+ # source://rubocop//lib/rubocop/cop/style/unpack_first.rb#30
def unpack_and_first_element?(param0 = T.unsafe(nil)); end
private
- # source://rubocop//lib/rubocop/cop/style/unpack_first.rb#54
+ # source://rubocop//lib/rubocop/cop/style/unpack_first.rb#53
def first_element_range(node, unpack_call); end
end
# source://rubocop//lib/rubocop/cop/style/unpack_first.rb#26
RuboCop::Cop::Style::UnpackFirst::MSG = T.let(T.unsafe(nil), String)
-# source://rubocop//lib/rubocop/cop/style/unpack_first.rb#28
+# source://rubocop//lib/rubocop/cop/style/unpack_first.rb#27
RuboCop::Cop::Style::UnpackFirst::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
# Checks for variable interpolation (like "#@ivar").
@@ -49670,6 +51234,49 @@ RuboCop::Cop::Style::WordArray::ARRAY_MSG = T.let(T.unsafe(nil), String)
# source://rubocop//lib/rubocop/cop/style/word_array.rb#78
RuboCop::Cop::Style::WordArray::PERCENT_MSG = T.let(T.unsafe(nil), String)
+# Checks for the use of `YAML.load`, `YAML.safe_load`, and `YAML.parse` with
+# `File.read` argument.
+#
+# NOTE: `YAML.safe_load_file` was introduced in Ruby 3.0.
+#
+# @example
+#
+# # bad
+# YAML.load(File.read(path))
+# YAML.parse(File.read(path))
+#
+# # good
+# YAML.load_file(path)
+# YAML.parse_file(path)
+#
+# # bad
+# YAML.safe_load(File.read(path)) # Ruby 3.0 and newer
+#
+# # good
+# YAML.safe_load_file(path) # Ruby 3.0 and newer
+#
+# source://rubocop//lib/rubocop/cop/style/yaml_file_read.rb#27
+class RuboCop::Cop::Style::YAMLFileRead < ::RuboCop::Cop::Base
+ extend ::RuboCop::Cop::AutoCorrector
+
+ # source://rubocop//lib/rubocop/cop/style/yaml_file_read.rb#41
+ def on_send(node); end
+
+ # source://rubocop//lib/rubocop/cop/style/yaml_file_read.rb#34
+ def yaml_file_read?(param0 = T.unsafe(nil)); end
+
+ private
+
+ # source://rubocop//lib/rubocop/cop/style/yaml_file_read.rb#60
+ def offense_range(node); end
+end
+
+# source://rubocop//lib/rubocop/cop/style/yaml_file_read.rb#30
+RuboCop::Cop::Style::YAMLFileRead::MSG = T.let(T.unsafe(nil), String)
+
+# source://rubocop//lib/rubocop/cop/style/yaml_file_read.rb#31
+RuboCop::Cop::Style::YAMLFileRead::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
+
# Enforces or forbids Yoda conditions,
# i.e. comparison operations where the order of expression is reversed.
# eg. `5 == x`
@@ -49733,15 +51340,15 @@ class RuboCop::Cop::Style::YodaCondition < ::RuboCop::Cop::Base
private
- # source://rubocop//lib/rubocop/cop/style/yoda_condition.rb#147
+ # source://rubocop//lib/rubocop/cop/style/yoda_condition.rb#149
def actual_code_range(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/yoda_condition.rb#143
+ # source://rubocop//lib/rubocop/cop/style/yoda_condition.rb#145
def constant_portion?(node); end
- # source://rubocop//lib/rubocop/cop/style/yoda_condition.rb#136
+ # source://rubocop//lib/rubocop/cop/style/yoda_condition.rb#138
def corrected_code(node); end
# @return [Boolean]
@@ -49756,38 +51363,38 @@ class RuboCop::Cop::Style::YodaCondition < ::RuboCop::Cop::Base
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/yoda_condition.rb#171
+ # source://rubocop//lib/rubocop/cop/style/yoda_condition.rb#173
def interpolation?(node); end
- # source://rubocop//lib/rubocop/cop/style/yoda_condition.rb#132
+ # source://rubocop//lib/rubocop/cop/style/yoda_condition.rb#134
def message(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/yoda_condition.rb#155
+ # source://rubocop//lib/rubocop/cop/style/yoda_condition.rb#157
def non_equality_operator?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/yoda_condition.rb#159
+ # source://rubocop//lib/rubocop/cop/style/yoda_condition.rb#161
def noncommutative_operator?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/yoda_condition.rb#167
+ # source://rubocop//lib/rubocop/cop/style/yoda_condition.rb#169
def program_name?(name); end
- # source://rubocop//lib/rubocop/cop/style/yoda_condition.rb#151
+ # source://rubocop//lib/rubocop/cop/style/yoda_condition.rb#153
def reverse_comparison(operator); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/yoda_condition.rb#163
+ # source://rubocop//lib/rubocop/cop/style/yoda_condition.rb#165
def source_file_path_constant?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/yoda_condition.rb#121
+ # source://rubocop//lib/rubocop/cop/style/yoda_condition.rb#122
def valid_yoda?(node); end
# @return [Boolean]
@@ -49825,61 +51432,62 @@ RuboCop::Cop::Style::YodaCondition::REVERSE_COMPARISON = T.let(T.unsafe(nil), Ha
# config.server_port = 9000 + ENV["TEST_ENV_NUMBER"].to_i
# ----
#
-# @example SupportedOperators: ['*', '+', '&'']
+# @example SupportedOperators: ['*', '+', '&', '|', '^'] (default)
# # bad
-# 1 + x
# 10 * y
+# 1 + x
# 1 & z
+# 1 | x
+# 1 ^ x
# 1 + CONST
#
# # good
-# 60 * 24
-# x + 1
# y * 10
+# x + 1
# z & 1
+# x | 1
+# x ^ 1
# CONST + 1
+# 60 * 24
#
-# # good
-# 1 | x
-#
-# source://rubocop//lib/rubocop/cop/style/yoda_expression.rb#39
+# source://rubocop//lib/rubocop/cop/style/yoda_expression.rb#40
class RuboCop::Cop::Style::YodaExpression < ::RuboCop::Cop::Base
extend ::RuboCop::Cop::AutoCorrector
- # source://rubocop//lib/rubocop/cop/style/yoda_expression.rb#46
+ # source://rubocop//lib/rubocop/cop/style/yoda_expression.rb#47
def on_new_investigation; end
- # source://rubocop//lib/rubocop/cop/style/yoda_expression.rb#50
+ # source://rubocop//lib/rubocop/cop/style/yoda_expression.rb#51
def on_send(node); end
private
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/yoda_expression.rb#72
+ # source://rubocop//lib/rubocop/cop/style/yoda_expression.rb#73
def constant_portion?(node); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/yoda_expression.rb#80
+ # source://rubocop//lib/rubocop/cop/style/yoda_expression.rb#81
def offended_ancestor?(node); end
- # source://rubocop//lib/rubocop/cop/style/yoda_expression.rb#84
+ # source://rubocop//lib/rubocop/cop/style/yoda_expression.rb#85
def offended_nodes; end
- # source://rubocop//lib/rubocop/cop/style/yoda_expression.rb#76
+ # source://rubocop//lib/rubocop/cop/style/yoda_expression.rb#77
def supported_operators; end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/cop/style/yoda_expression.rb#68
+ # source://rubocop//lib/rubocop/cop/style/yoda_expression.rb#69
def yoda_expression_constant?(lhs, rhs); end
end
-# source://rubocop//lib/rubocop/cop/style/yoda_expression.rb#42
+# source://rubocop//lib/rubocop/cop/style/yoda_expression.rb#43
RuboCop::Cop::Style::YodaExpression::MSG = T.let(T.unsafe(nil), String)
-# source://rubocop//lib/rubocop/cop/style/yoda_expression.rb#44
+# source://rubocop//lib/rubocop/cop/style/yoda_expression.rb#45
RuboCop::Cop::Style::YodaExpression::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
# Checks for numeric comparisons that can be replaced
@@ -50768,6 +52376,55 @@ RuboCop::Cop::Utils::FormatString::TYPE = T.let(T.unsafe(nil), Regexp)
# source://rubocop//lib/rubocop/cop/utils/format_string.rb#12
RuboCop::Cop::Utils::FormatString::WIDTH = T.let(T.unsafe(nil), Regexp)
+# Helper to abstract complexity of building range pairs
+# with octal escape reconstruction (needed for regexp_parser < 2.7).
+#
+# source://rubocop//lib/rubocop/cop/utils/regexp_ranges.rb#8
+class RuboCop::Cop::Utils::RegexpRanges
+ # @return [RegexpRanges] a new instance of RegexpRanges
+ #
+ # source://rubocop//lib/rubocop/cop/utils/regexp_ranges.rb#11
+ def initialize(root); end
+
+ # source://rubocop//lib/rubocop/cop/utils/regexp_ranges.rb#18
+ def compound_token; end
+
+ # source://rubocop//lib/rubocop/cop/utils/regexp_ranges.rb#24
+ def pairs; end
+
+ # Returns the value of attribute root.
+ #
+ # source://rubocop//lib/rubocop/cop/utils/regexp_ranges.rb#9
+ def root; end
+
+ private
+
+ # source://rubocop//lib/rubocop/cop/utils/regexp_ranges.rb#78
+ def compose_range(expressions, current); end
+
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/utils/regexp_ranges.rb#90
+ def escaped_octal?(expr); end
+
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/cop/utils/regexp_ranges.rb#94
+ def octal_digit?(char); end
+
+ # source://rubocop//lib/rubocop/cop/utils/regexp_ranges.rb#98
+ def pop_octal_digits(expressions); end
+
+ # source://rubocop//lib/rubocop/cop/utils/regexp_ranges.rb#44
+ def populate(expr); end
+
+ # source://rubocop//lib/rubocop/cop/utils/regexp_ranges.rb#32
+ def populate_all; end
+
+ # source://rubocop//lib/rubocop/cop/utils/regexp_ranges.rb#63
+ def process_set(expressions, current); end
+end
+
# This force provides a way to track local variables and scopes of Ruby.
# Cops interact with this force need to override some of the hook methods.
#
@@ -51046,7 +52703,10 @@ class RuboCop::Cop::VariableForce::Assignment
private
- # source://rubocop//lib/rubocop/cop/variable_force/assignment.rb#120
+ # source://rubocop//lib/rubocop/cop/variable_force/assignment.rb#125
+ def find_multiple_assignment_node(grandparent_node); end
+
+ # source://rubocop//lib/rubocop/cop/variable_force/assignment.rb#121
def for_assignment_node; end
# source://rubocop//lib/rubocop/cop/variable_force/assignment.rb#104
@@ -51055,7 +52715,7 @@ class RuboCop::Cop::VariableForce::Assignment
# source://rubocop//lib/rubocop/cop/variable_force/assignment.rb#96
def operator_assignment_node; end
- # source://rubocop//lib/rubocop/cop/variable_force/assignment.rb#113
+ # source://rubocop//lib/rubocop/cop/variable_force/assignment.rb#114
def rest_assignment_node; end
end
@@ -52266,7 +53926,12 @@ module RuboCop::Ext::RegexpNode
private
- # source://rubocop//lib/rubocop/ext/regexp_node.rb#68
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/ext/regexp_node.rb#65
+ def named_capturing?(exp, event, named); end
+
+ # source://rubocop//lib/rubocop/ext/regexp_node.rb#73
def with_interpolations_blanked; end
end
@@ -52323,9 +53988,9 @@ end
# Provide `CharacterSet` with `begin` and `end` locations.
#
-# source://rubocop//lib/rubocop/ext/regexp_parser.rb#77
+# source://rubocop//lib/rubocop/ext/regexp_parser.rb#79
module RuboCop::Ext::RegexpParser::Expression::CharacterSet
- # source://rubocop//lib/rubocop/ext/regexp_parser.rb#78
+ # source://rubocop//lib/rubocop/ext/regexp_parser.rb#80
def build_location; end
end
@@ -52445,32 +54110,31 @@ end
module RuboCop::FileFinder
# @api private
#
- # source://rubocop//lib/rubocop/file_finder.rb#17
+ # source://rubocop//lib/rubocop/file_finder.rb#13
def find_file_upwards(filename, start_dir, stop_dir = T.unsafe(nil)); end
# @api private
#
- # source://rubocop//lib/rubocop/file_finder.rb#24
+ # source://rubocop//lib/rubocop/file_finder.rb#20
def find_last_file_upwards(filename, start_dir, stop_dir = T.unsafe(nil)); end
private
# @api private
#
- # source://rubocop//lib/rubocop/file_finder.rb#32
+ # source://rubocop//lib/rubocop/file_finder.rb#28
def traverse_files_upwards(filename, start_dir, stop_dir); end
class << self
# @api private
#
- # source://rubocop//lib/rubocop/file_finder.rb#9
- def root_level=(level); end
+ # source://rubocop//lib/rubocop/file_finder.rb#10
+ def root_level; end
# @api private
- # @return [Boolean]
#
- # source://rubocop//lib/rubocop/file_finder.rb#13
- def root_level?(path, stop_dir); end
+ # source://rubocop//lib/rubocop/file_finder.rb#10
+ def root_level=(_arg0); end
end
end
@@ -52706,100 +54370,108 @@ class RuboCop::Formatter::DisabledConfigFormatter < ::RuboCop::Formatter::BaseFo
# source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#27
def initialize(output, options = T.unsafe(nil)); end
- # source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#39
+ # source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#40
def file_finished(file, offenses); end
# source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#33
- def file_started(_file, _file_info); end
+ def file_started(_file, options); end
- # source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#47
+ # source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#48
def finished(_inspected_files); end
private
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#68
+ # source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#69
def auto_gen_enforced_style?; end
- # source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#72
+ # source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#73
def command; end
- # source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#156
+ # source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#161
def cop_config_params(default_cfg, cfg); end
- # source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#176
+ # source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#181
def default_config(cop_name); end
- # source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#220
+ # source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#225
def excludes(offending_files, cop_name, parent); end
- # source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#191
+ # source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#196
def filtered_config(cfg); end
+ # Returns true if the given arr include the given elm or if any of the
+ # given arr is a regexp that matches the given elm.
+ #
+ # @return [Boolean]
+ #
+ # source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#273
+ def include_or_match?(arr, elm); end
+
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#241
+ # source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#246
def merge_mode_for_exclude?(cfg); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#262
+ # source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#267
def no_exclude_limit?; end
- # source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#101
+ # source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#102
def output_cop(cop_name, offense_count); end
- # source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#128
+ # source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#133
def output_cop_comments(output_buffer, cfg, cop_name, offense_count); end
- # source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#180
+ # source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#185
def output_cop_config(output_buffer, cfg, cop_name); end
- # source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#163
+ # source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#168
def output_cop_param_comments(output_buffer, params, default_cfg); end
- # source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#210
+ # source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#215
def output_exclude_list(output_buffer, offending_files, cop_name); end
- # source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#245
+ # source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#250
def output_exclude_path(output_buffer, exclude_path, parent); end
- # source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#199
+ # source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#204
def output_offending_files(output_buffer, cfg, cop_name); end
- # source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#95
+ # source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#96
def output_offenses; end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#258
+ # source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#263
def safe_autocorrect?(config); end
- # source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#115
+ # source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#116
def set_max(cfg, cop_name); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#64
+ # source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#65
def show_offense_counts?; end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#60
+ # source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#61
def show_timestamp?; end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#148
+ # source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#153
def supports_safe_autocorrect?(cop_class, default_cfg); end
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#152
+ # source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#157
def supports_unsafe_autocorrect?(cop_class, default_cfg); end
- # source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#91
+ # source://rubocop//lib/rubocop/formatter/disabled_config_formatter.rb#92
def timestamp; end
class << self
@@ -52942,68 +54614,68 @@ RuboCop::Formatter::FuubarStyleFormatter::RESET_SEQUENCE = T.let(T.unsafe(nil),
# This formatter formats report data as GitHub Workflow commands resulting
# in GitHub check annotations when run within GitHub Actions.
#
-# source://rubocop//lib/rubocop/formatter/git_hub_actions_formatter.rb#7
+# source://rubocop//lib/rubocop/formatter/github_actions_formatter.rb#7
class RuboCop::Formatter::GitHubActionsFormatter < ::RuboCop::Formatter::BaseFormatter
- # source://rubocop//lib/rubocop/formatter/git_hub_actions_formatter.rb#14
+ # source://rubocop//lib/rubocop/formatter/github_actions_formatter.rb#14
def file_finished(file, offenses); end
- # source://rubocop//lib/rubocop/formatter/git_hub_actions_formatter.rb#18
+ # source://rubocop//lib/rubocop/formatter/github_actions_formatter.rb#18
def finished(_inspected_files); end
- # source://rubocop//lib/rubocop/formatter/git_hub_actions_formatter.rb#10
+ # source://rubocop//lib/rubocop/formatter/github_actions_formatter.rb#10
def started(_target_files); end
private
- # source://rubocop//lib/rubocop/formatter/git_hub_actions_formatter.rb#29
+ # source://rubocop//lib/rubocop/formatter/github_actions_formatter.rb#29
def github_escape(string); end
- # source://rubocop//lib/rubocop/formatter/git_hub_actions_formatter.rb#41
+ # source://rubocop//lib/rubocop/formatter/github_actions_formatter.rb#41
def github_severity(offense); end
- # source://rubocop//lib/rubocop/formatter/git_hub_actions_formatter.rb#33
+ # source://rubocop//lib/rubocop/formatter/github_actions_formatter.rb#33
def minimum_severity_to_fail; end
- # source://rubocop//lib/rubocop/formatter/git_hub_actions_formatter.rb#45
+ # source://rubocop//lib/rubocop/formatter/github_actions_formatter.rb#45
def report_offense(file, offense); end
end
-# source://rubocop//lib/rubocop/formatter/git_hub_actions_formatter.rb#8
+# source://rubocop//lib/rubocop/formatter/github_actions_formatter.rb#8
RuboCop::Formatter::GitHubActionsFormatter::ESCAPE_MAP = T.let(T.unsafe(nil), Hash)
# This formatter saves the output as an html file.
#
-# source://rubocop//lib/rubocop/formatter/html_formatter.rb#11
+# source://rubocop//lib/rubocop/formatter/html_formatter.rb#9
class RuboCop::Formatter::HTMLFormatter < ::RuboCop::Formatter::BaseFormatter
# @return [HTMLFormatter] a new instance of HTMLFormatter
#
- # source://rubocop//lib/rubocop/formatter/html_formatter.rb#30
+ # source://rubocop//lib/rubocop/formatter/html_formatter.rb#28
def initialize(output, options = T.unsafe(nil)); end
- # source://rubocop//lib/rubocop/formatter/html_formatter.rb#40
+ # source://rubocop//lib/rubocop/formatter/html_formatter.rb#38
def file_finished(file, offenses); end
# Returns the value of attribute files.
#
- # source://rubocop//lib/rubocop/formatter/html_formatter.rb#28
+ # source://rubocop//lib/rubocop/formatter/html_formatter.rb#26
def files; end
- # source://rubocop//lib/rubocop/formatter/html_formatter.rb#45
+ # source://rubocop//lib/rubocop/formatter/html_formatter.rb#43
def finished(inspected_files); end
- # source://rubocop//lib/rubocop/formatter/html_formatter.rb#51
+ # source://rubocop//lib/rubocop/formatter/html_formatter.rb#49
def render_html; end
- # source://rubocop//lib/rubocop/formatter/html_formatter.rb#36
+ # source://rubocop//lib/rubocop/formatter/html_formatter.rb#34
def started(target_files); end
# Returns the value of attribute summary.
#
- # source://rubocop//lib/rubocop/formatter/html_formatter.rb#28
+ # source://rubocop//lib/rubocop/formatter/html_formatter.rb#26
def summary; end
end
-# source://rubocop//lib/rubocop/formatter/html_formatter.rb#15
+# source://rubocop//lib/rubocop/formatter/html_formatter.rb#13
class RuboCop::Formatter::HTMLFormatter::Color < ::Struct
# Returns the value of attribute alpha
#
@@ -53027,7 +54699,7 @@ class RuboCop::Formatter::HTMLFormatter::Color < ::Struct
# @return [Object] the newly set value
def blue=(_); end
- # source://rubocop//lib/rubocop/formatter/html_formatter.rb#20
+ # source://rubocop//lib/rubocop/formatter/html_formatter.rb#18
def fade_out(amount); end
# Returns the value of attribute green
@@ -53052,7 +54724,7 @@ class RuboCop::Formatter::HTMLFormatter::Color < ::Struct
# @return [Object] the newly set value
def red=(_); end
- # source://rubocop//lib/rubocop/formatter/html_formatter.rb#16
+ # source://rubocop//lib/rubocop/formatter/html_formatter.rb#14
def to_s; end
class << self
@@ -53064,68 +54736,68 @@ class RuboCop::Formatter::HTMLFormatter::Color < ::Struct
end
end
-# source://rubocop//lib/rubocop/formatter/html_formatter.rb#12
+# source://rubocop//lib/rubocop/formatter/html_formatter.rb#10
RuboCop::Formatter::HTMLFormatter::ELLIPSES = T.let(T.unsafe(nil), String)
# This class provides helper methods used in the ERB template.
#
-# source://rubocop//lib/rubocop/formatter/html_formatter.rb#62
+# source://rubocop//lib/rubocop/formatter/html_formatter.rb#60
class RuboCop::Formatter::HTMLFormatter::ERBContext
include ::RuboCop::PathUtil
include ::RuboCop::Formatter::TextUtil
# @return [ERBContext] a new instance of ERBContext
#
- # source://rubocop//lib/rubocop/formatter/html_formatter.rb#78
+ # source://rubocop//lib/rubocop/formatter/html_formatter.rb#76
def initialize(files, summary); end
- # source://rubocop//lib/rubocop/formatter/html_formatter.rb#125
+ # source://rubocop//lib/rubocop/formatter/html_formatter.rb#123
def base64_encoded_logo_image; end
# Make Kernel#binding public.
#
- # source://rubocop//lib/rubocop/formatter/html_formatter.rb#85
+ # source://rubocop//lib/rubocop/formatter/html_formatter.rb#83
def binding; end
- # source://rubocop//lib/rubocop/formatter/html_formatter.rb#90
+ # source://rubocop//lib/rubocop/formatter/html_formatter.rb#88
def decorated_message(offense); end
- # source://rubocop//lib/rubocop/formatter/html_formatter.rb#121
+ # source://rubocop//lib/rubocop/formatter/html_formatter.rb#119
def escape(string); end
# Returns the value of attribute files.
#
- # source://rubocop//lib/rubocop/formatter/html_formatter.rb#76
+ # source://rubocop//lib/rubocop/formatter/html_formatter.rb#74
def files; end
- # source://rubocop//lib/rubocop/formatter/html_formatter.rb#101
+ # source://rubocop//lib/rubocop/formatter/html_formatter.rb#99
def highlight_source_tag(offense); end
- # source://rubocop//lib/rubocop/formatter/html_formatter.rb#94
+ # source://rubocop//lib/rubocop/formatter/html_formatter.rb#92
def highlighted_source_line(offense); end
- # source://rubocop//lib/rubocop/formatter/html_formatter.rb#117
+ # source://rubocop//lib/rubocop/formatter/html_formatter.rb#115
def possible_ellipses(location); end
- # source://rubocop//lib/rubocop/formatter/html_formatter.rb#112
+ # source://rubocop//lib/rubocop/formatter/html_formatter.rb#110
def source_after_highlight(offense); end
- # source://rubocop//lib/rubocop/formatter/html_formatter.rb#107
+ # source://rubocop//lib/rubocop/formatter/html_formatter.rb#105
def source_before_highlight(offense); end
# Returns the value of attribute summary.
#
- # source://rubocop//lib/rubocop/formatter/html_formatter.rb#76
+ # source://rubocop//lib/rubocop/formatter/html_formatter.rb#74
def summary; end
end
-# source://rubocop//lib/rubocop/formatter/html_formatter.rb#74
+# source://rubocop//lib/rubocop/formatter/html_formatter.rb#72
RuboCop::Formatter::HTMLFormatter::ERBContext::LOGO_IMAGE_PATH = T.let(T.unsafe(nil), String)
-# source://rubocop//lib/rubocop/formatter/html_formatter.rb#66
+# source://rubocop//lib/rubocop/formatter/html_formatter.rb#64
RuboCop::Formatter::HTMLFormatter::ERBContext::SEVERITY_COLORS = T.let(T.unsafe(nil), Hash)
-# source://rubocop//lib/rubocop/formatter/html_formatter.rb#26
+# source://rubocop//lib/rubocop/formatter/html_formatter.rb#24
class RuboCop::Formatter::HTMLFormatter::FileOffenses < ::Struct
# Returns the value of attribute offenses
#
@@ -53158,7 +54830,7 @@ class RuboCop::Formatter::HTMLFormatter::FileOffenses < ::Struct
end
end
-# source://rubocop//lib/rubocop/formatter/html_formatter.rb#25
+# source://rubocop//lib/rubocop/formatter/html_formatter.rb#23
class RuboCop::Formatter::HTMLFormatter::Summary < ::Struct
# Returns the value of attribute inspected_files
#
@@ -53202,27 +54874,27 @@ class RuboCop::Formatter::HTMLFormatter::Summary < ::Struct
end
end
-# source://rubocop//lib/rubocop/formatter/html_formatter.rb#13
+# source://rubocop//lib/rubocop/formatter/html_formatter.rb#11
RuboCop::Formatter::HTMLFormatter::TEMPLATE_PATH = T.let(T.unsafe(nil), String)
# This formatter formats the report data in JSON format.
#
-# source://rubocop//lib/rubocop/formatter/json_formatter.rb#9
+# source://rubocop//lib/rubocop/formatter/json_formatter.rb#8
class RuboCop::Formatter::JSONFormatter < ::RuboCop::Formatter::BaseFormatter
include ::RuboCop::PathUtil
# @return [JSONFormatter] a new instance of JSONFormatter
#
- # source://rubocop//lib/rubocop/formatter/json_formatter.rb#14
+ # source://rubocop//lib/rubocop/formatter/json_formatter.rb#13
def initialize(output, options = T.unsafe(nil)); end
- # source://rubocop//lib/rubocop/formatter/json_formatter.rb#23
+ # source://rubocop//lib/rubocop/formatter/json_formatter.rb#22
def file_finished(file, offenses); end
- # source://rubocop//lib/rubocop/formatter/json_formatter.rb#28
+ # source://rubocop//lib/rubocop/formatter/json_formatter.rb#27
def finished(inspected_files); end
- # source://rubocop//lib/rubocop/formatter/json_formatter.rb#43
+ # source://rubocop//lib/rubocop/formatter/json_formatter.rb#42
def hash_for_file(file, offenses); end
# TODO: Consider better solution for Offense#real_column.
@@ -53230,21 +54902,21 @@ class RuboCop::Formatter::JSONFormatter < ::RuboCop::Formatter::BaseFormatter
# So, the minimum value of `last_column` should be 1.
# And non-zero value of `last_column` should be used as is.
#
- # source://rubocop//lib/rubocop/formatter/json_formatter.rb#65
+ # source://rubocop//lib/rubocop/formatter/json_formatter.rb#64
def hash_for_location(offense); end
- # source://rubocop//lib/rubocop/formatter/json_formatter.rb#50
+ # source://rubocop//lib/rubocop/formatter/json_formatter.rb#49
def hash_for_offense(offense); end
- # source://rubocop//lib/rubocop/formatter/json_formatter.rb#33
+ # source://rubocop//lib/rubocop/formatter/json_formatter.rb#32
def metadata_hash; end
# Returns the value of attribute output_hash.
#
- # source://rubocop//lib/rubocop/formatter/json_formatter.rb#12
+ # source://rubocop//lib/rubocop/formatter/json_formatter.rb#11
def output_hash; end
- # source://rubocop//lib/rubocop/formatter/json_formatter.rb#19
+ # source://rubocop//lib/rubocop/formatter/json_formatter.rb#18
def started(target_files); end
end
@@ -53433,10 +55105,10 @@ RuboCop::Formatter::PacmanFormatter::FALLBACK_TERMINAL_WIDTH = T.let(T.unsafe(ni
RuboCop::Formatter::PacmanFormatter::GHOST = T.let(T.unsafe(nil), String)
# source://rubocop//lib/rubocop/formatter/pacman_formatter.rb#17
-RuboCop::Formatter::PacmanFormatter::PACDOT = T.let(T.unsafe(nil), Rainbow::Presenter)
+RuboCop::Formatter::PacmanFormatter::PACDOT = T.let(T.unsafe(nil), Rainbow::NullPresenter)
# source://rubocop//lib/rubocop/formatter/pacman_formatter.rb#16
-RuboCop::Formatter::PacmanFormatter::PACMAN = T.let(T.unsafe(nil), Rainbow::Presenter)
+RuboCop::Formatter::PacmanFormatter::PACMAN = T.let(T.unsafe(nil), Rainbow::NullPresenter)
# This formatter display dots for files with no offenses and
# letters for files with problems in the them. In the end it
@@ -53671,6 +55343,230 @@ class RuboCop::Lockfile
def parser; end
end
+# source://rubocop//lib/rubocop/lsp/logger.rb#13
+module RuboCop::Lsp; end
+
+# Log for Language Server Protocol of RuboCop.
+#
+# @api private
+#
+# source://rubocop//lib/rubocop/lsp/logger.rb#16
+class RuboCop::Lsp::Logger
+ class << self
+ # @api private
+ #
+ # source://rubocop//lib/rubocop/lsp/logger.rb#17
+ def log(message); end
+ end
+end
+
+# Routes for Language Server Protocol of RuboCop.
+#
+# @api private
+#
+# source://rubocop//lib/rubocop/lsp/routes.rb#18
+class RuboCop::Lsp::Routes
+ # @api private
+ # @return [Routes] a new instance of Routes
+ #
+ # source://rubocop//lib/rubocop/lsp/routes.rb#25
+ def initialize(server); end
+
+ # @api private
+ #
+ # source://rubocop//lib/rubocop/lsp/routes.rb#31
+ def for(name); end
+
+ # source://rubocop//lib/rubocop/lsp/routes.rb#38
+ def handle_initialize(request); end
+
+ # source://rubocop//lib/rubocop/lsp/routes.rb#61
+ def handle_initialized(_request); end
+
+ # @api private
+ #
+ # source://rubocop//lib/rubocop/lsp/routes.rb#170
+ def handle_method_missing(request); end
+
+ # source://rubocop//lib/rubocop/lsp/routes.rb#67
+ def handle_shutdown(request); end
+
+ # @api private
+ #
+ # source://rubocop//lib/rubocop/lsp/routes.rb#159
+ def handle_unsupported_method(request, method = T.unsafe(nil)); end
+
+ private
+
+ # @api private
+ #
+ # source://rubocop//lib/rubocop/lsp/routes.rb#208
+ def diagnostic(file_uri, text); end
+
+ # @api private
+ #
+ # source://rubocop//lib/rubocop/lsp/routes.rb#178
+ def extract_initialization_options_from(request); end
+
+ # @api private
+ #
+ # source://rubocop//lib/rubocop/lsp/routes.rb#188
+ def format_file(file_uri, command: T.unsafe(nil)); end
+
+ # @api private
+ #
+ # source://rubocop//lib/rubocop/lsp/routes.rb#222
+ def remove_file_protocol_from(uri); end
+
+ # @api private
+ #
+ # source://rubocop//lib/rubocop/lsp/routes.rb#226
+ def to_diagnostic(offense); end
+
+ # @api private
+ #
+ # source://rubocop//lib/rubocop/lsp/routes.rb#238
+ def to_range(location); end
+
+ class << self
+ private
+
+ # @api private
+ #
+ # source://rubocop//lib/rubocop/lsp/routes.rb#19
+ def handle(name, &block); end
+ end
+end
+
+# Runtime for Language Server Protocol of RuboCop.
+#
+# @api private
+#
+# source://rubocop//lib/rubocop/lsp/runtime.rb#16
+class RuboCop::Lsp::Runtime
+ # @api private
+ # @return [Runtime] a new instance of Runtime
+ #
+ # source://rubocop//lib/rubocop/lsp/runtime.rb#19
+ def initialize(config_store); end
+
+ # This abuses the `--stdin` option of rubocop and reads the formatted text
+ # from the `options[:stdin]` that rubocop mutates. This depends on
+ # `parallel: false` as well as the fact that RuboCop doesn't otherwise dup
+ # or reassign that options object. Risky business!
+ #
+ # Reassigning `options[:stdin]` is done here:
+ # https://github.com/rubocop/rubocop/blob/v1.52.0/lib/rubocop/cop/team.rb#L131
+ # Printing `options[:stdin]`
+ # https://github.com/rubocop/rubocop/blob/v1.52.0/lib/rubocop/cli/command/execute_runner.rb#L95
+ # Setting `parallel: true` would break this here:
+ # https://github.com/rubocop/rubocop/blob/v1.52.0/lib/rubocop/runner.rb#L72
+ #
+ # @api private
+ #
+ # source://rubocop//lib/rubocop/lsp/runtime.rb#38
+ def format(path, text, command:); end
+
+ # @api private
+ #
+ # source://rubocop//lib/rubocop/lsp/runtime.rb#17
+ def layout_mode=(_arg0); end
+
+ # @api private
+ #
+ # source://rubocop//lib/rubocop/lsp/runtime.rb#17
+ def lint_mode=(_arg0); end
+
+ # @api private
+ #
+ # source://rubocop//lib/rubocop/lsp/runtime.rb#55
+ def offenses(path, text); end
+
+ # @api private
+ #
+ # source://rubocop//lib/rubocop/lsp/runtime.rb#17
+ def safe_autocorrect=(_arg0); end
+
+ private
+
+ # @api private
+ #
+ # source://rubocop//lib/rubocop/lsp/runtime.rb#77
+ def config_only_options; end
+
+ # @api private
+ #
+ # source://rubocop//lib/rubocop/lsp/runtime.rb#84
+ def redirect_stdout(&block); end
+
+ # @api private
+ #
+ # source://rubocop//lib/rubocop/lsp/runtime.rb#92
+ def run_rubocop(options, path); end
+end
+
+# Language Server Protocol of RuboCop.
+#
+# @api private
+#
+# source://rubocop//lib/rubocop/lsp/server.rb#21
+class RuboCop::Lsp::Server
+ # @api private
+ # @return [Server] a new instance of Server
+ #
+ # source://rubocop//lib/rubocop/lsp/server.rb#22
+ def initialize(config_store); end
+
+ # @api private
+ #
+ # source://rubocop//lib/rubocop/lsp/server.rb#56
+ def configure(options); end
+
+ # @api private
+ #
+ # source://rubocop//lib/rubocop/lsp/server.rb#48
+ def format(path, text, command:); end
+
+ # @api private
+ #
+ # source://rubocop//lib/rubocop/lsp/server.rb#52
+ def offenses(path, text); end
+
+ # @api private
+ #
+ # source://rubocop//lib/rubocop/lsp/server.rb#29
+ def start; end
+
+ # @api private
+ #
+ # source://rubocop//lib/rubocop/lsp/server.rb#62
+ def stop(&block); end
+
+ # @api private
+ #
+ # source://rubocop//lib/rubocop/lsp/server.rb#44
+ def write(response); end
+end
+
+# Severity for Language Server Protocol of RuboCop.
+#
+# @api private
+#
+# source://rubocop//lib/rubocop/lsp/severity.rb#7
+class RuboCop::Lsp::Severity
+ class << self
+ # @api private
+ #
+ # source://rubocop//lib/rubocop/lsp/severity.rb#17
+ def find_by(rubocop_severity); end
+ end
+end
+
+# @api private
+#
+# source://rubocop//lib/rubocop/lsp/severity.rb#8
+RuboCop::Lsp::Severity::SEVERITIES = T.let(T.unsafe(nil), Hash)
+
# Parse different formats of magic comments.
#
# @abstract parent of three different magic comment handlers
@@ -53877,12 +55773,12 @@ RuboCop::MagicComment::KEYWORDS = T.let(T.unsafe(nil), Hash)
class RuboCop::MagicComment::SimpleComment < ::RuboCop::MagicComment
# Match `encoding` or `coding`
#
- # source://rubocop//lib/rubocop/magic_comment.rb#263
+ # source://rubocop//lib/rubocop/magic_comment.rb#265
def encoding; end
# Rewrite the comment without a given token type
#
- # source://rubocop//lib/rubocop/magic_comment.rb#268
+ # source://rubocop//lib/rubocop/magic_comment.rb#270
def without(type); end
private
@@ -53896,22 +55792,25 @@ class RuboCop::MagicComment::SimpleComment < ::RuboCop::MagicComment
#
# @see https://github.com/ruby/ruby/blob/78b95b4/parse.y#L7134-L7138
#
- # source://rubocop//lib/rubocop/magic_comment.rb#285
+ # source://rubocop//lib/rubocop/magic_comment.rb#287
def extract_frozen_string_literal; end
- # source://rubocop//lib/rubocop/magic_comment.rb#289
+ # source://rubocop//lib/rubocop/magic_comment.rb#291
def extract_shareable_constant_value; end
- # source://rubocop//lib/rubocop/magic_comment.rb#293
+ # source://rubocop//lib/rubocop/magic_comment.rb#295
def extract_typed; end
end
+# source://rubocop//lib/rubocop/magic_comment.rb#262
+RuboCop::MagicComment::SimpleComment::FSTRING_LITERAL_COMMENT = T.let(T.unsafe(nil), String)
+
# IRB's pattern for matching magic comment tokens.
#
# @see https://github.com/ruby/ruby/blob/b4a55c1/lib/irb/magic-file.rb#L5
#
# source://rubocop//lib/rubocop/magic_comment.rb#10
-RuboCop::MagicComment::TOKEN = T.let(T.unsafe(nil), Regexp)
+RuboCop::MagicComment::TOKEN = T.let(T.unsafe(nil), String)
# Wrapper for Vim style magic comments.
#
@@ -54025,7 +55924,7 @@ class RuboCop::Options
# @api private
#
- # source://rubocop//lib/rubocop/options.rb#219
+ # source://rubocop//lib/rubocop/options.rb#228
def add_additional_modes(opts); end
# the autocorrect command-line arguments map to the autocorrect @options values like so:
@@ -54037,62 +55936,67 @@ class RuboCop::Options
#
# @api private
#
- # source://rubocop//lib/rubocop/options.rb#136
+ # source://rubocop//lib/rubocop/options.rb#139
def add_autocorrection_options(opts); end
# @api private
#
- # source://rubocop//lib/rubocop/options.rb#201
+ # source://rubocop//lib/rubocop/options.rb#204
def add_cache_options(opts); end
# @api private
#
- # source://rubocop//lib/rubocop/options.rb#70
+ # source://rubocop//lib/rubocop/options.rb#73
def add_check_options(opts); end
# @api private
#
- # source://rubocop//lib/rubocop/options.rb#159
+ # source://rubocop//lib/rubocop/options.rb#162
def add_config_generation_options(opts); end
# @api private
#
- # source://rubocop//lib/rubocop/options.rb#177
+ # source://rubocop//lib/rubocop/options.rb#180
def add_cop_selection_csv_option(option, opts); end
# @api private
#
- # source://rubocop//lib/rubocop/options.rb#231
+ # source://rubocop//lib/rubocop/options.rb#240
def add_general_options(opts); end
# @api private
#
- # source://rubocop//lib/rubocop/options.rb#101
+ # source://rubocop//lib/rubocop/options.rb#211
+ def add_lsp_option(opts); end
+
+ # @api private
+ #
+ # source://rubocop//lib/rubocop/options.rb#104
def add_output_options(opts); end
# @api private
#
- # source://rubocop//lib/rubocop/options.rb#243
+ # source://rubocop//lib/rubocop/options.rb#252
def add_profile_options(opts); end
# @api private
#
- # source://rubocop//lib/rubocop/options.rb#208
+ # source://rubocop//lib/rubocop/options.rb#217
def add_server_options(opts); end
# @api private
#
- # source://rubocop//lib/rubocop/options.rb#192
+ # source://rubocop//lib/rubocop/options.rb#195
def add_severity_option(opts); end
# @api private
#
- # source://rubocop//lib/rubocop/options.rb#52
+ # source://rubocop//lib/rubocop/options.rb#53
def define_options; end
# @api private
#
- # source://rubocop//lib/rubocop/options.rb#253
+ # source://rubocop//lib/rubocop/options.rb#262
def handle_deprecated_option(old_option, new_option); end
# Finds the option in `args` starting with -- and converts it to a symbol,
@@ -54100,7 +56004,7 @@ class RuboCop::Options
#
# @api private
#
- # source://rubocop//lib/rubocop/options.rb#287
+ # source://rubocop//lib/rubocop/options.rb#296
def long_opt_symbol(args); end
# Sets a value in the @options hash, based on the given long option and its
@@ -54108,17 +56012,17 @@ class RuboCop::Options
#
# @api private
#
- # source://rubocop//lib/rubocop/options.rb#276
+ # source://rubocop//lib/rubocop/options.rb#285
def option(opts, *args); end
# @api private
#
- # source://rubocop//lib/rubocop/options.rb#258
+ # source://rubocop//lib/rubocop/options.rb#267
def rainbow; end
# @api private
#
- # source://rubocop//lib/rubocop/options.rb#292
+ # source://rubocop//lib/rubocop/options.rb#301
def require_feature(file); end
# Creates a section of options in order to separate them visually when
@@ -54126,7 +56030,7 @@ class RuboCop::Options
#
# @api private
#
- # source://rubocop//lib/rubocop/options.rb#268
+ # source://rubocop//lib/rubocop/options.rb#277
def section(opts, heading, &_block); end
end
@@ -54149,125 +56053,119 @@ RuboCop::Options::E_STDIN_NO_PATH = T.let(T.unsafe(nil), String)
#
# @api private
#
-# source://rubocop//lib/rubocop/options.rb#488
+# source://rubocop//lib/rubocop/options.rb#489
module RuboCop::OptionsHelp; end
# @api private
#
-# source://rubocop//lib/rubocop/options.rb#490
+# source://rubocop//lib/rubocop/options.rb#491
RuboCop::OptionsHelp::FORMATTER_OPTION_LIST = T.let(T.unsafe(nil), Array)
# @api private
#
-# source://rubocop//lib/rubocop/options.rb#489
+# source://rubocop//lib/rubocop/options.rb#490
RuboCop::OptionsHelp::MAX_EXCL = T.let(T.unsafe(nil), String)
# @api private
#
-# source://rubocop//lib/rubocop/options.rb#492
+# source://rubocop//lib/rubocop/options.rb#493
RuboCop::OptionsHelp::TEXT = T.let(T.unsafe(nil), Hash)
# Validates option arguments and the options' compatibility with each other.
#
# @api private
#
-# source://rubocop//lib/rubocop/options.rb#302
+# source://rubocop//lib/rubocop/options.rb#311
class RuboCop::OptionsValidator
# @api private
# @return [OptionsValidator] a new instance of OptionsValidator
#
- # source://rubocop//lib/rubocop/options.rb#340
+ # source://rubocop//lib/rubocop/options.rb#349
def initialize(options); end
# @api private
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/options.rb#462
+ # source://rubocop//lib/rubocop/options.rb#463
def boolean_or_empty_cache?; end
# @api private
#
- # source://rubocop//lib/rubocop/options.rb#428
+ # source://rubocop//lib/rubocop/options.rb#433
def disable_parallel_when_invalid_option_combo; end
# @api private
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/options.rb#454
- def display_only_fail_level_offenses_with_autocorrect?; end
-
- # @api private
- # @return [Boolean]
- #
- # source://rubocop//lib/rubocop/options.rb#458
+ # source://rubocop//lib/rubocop/options.rb#459
def except_syntax?; end
# @api private
#
- # source://rubocop//lib/rubocop/options.rb#466
+ # source://rubocop//lib/rubocop/options.rb#467
def incompatible_options; end
# @api private
#
- # source://rubocop//lib/rubocop/options.rb#441
+ # source://rubocop//lib/rubocop/options.rb#446
def invalid_arguments_for_parallel; end
# @api private
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/options.rb#449
+ # source://rubocop//lib/rubocop/options.rb#454
def only_includes_redundant_disable?; end
# @api private
#
- # source://rubocop//lib/rubocop/options.rb#375
+ # source://rubocop//lib/rubocop/options.rb#380
def validate_auto_gen_config; end
# @api private
# @raise [OptionArgumentError]
#
- # source://rubocop//lib/rubocop/options.rb#414
+ # source://rubocop//lib/rubocop/options.rb#419
def validate_autocorrect; end
# @api private
# @raise [OptionArgumentError]
#
- # source://rubocop//lib/rubocop/options.rb#478
+ # source://rubocop//lib/rubocop/options.rb#479
def validate_cache_enabled_for_cache_root; end
# @api private
# @raise [OptionArgumentError]
#
- # source://rubocop//lib/rubocop/options.rb#349
+ # source://rubocop//lib/rubocop/options.rb#358
def validate_compatibility; end
# @api private
#
- # source://rubocop//lib/rubocop/options.rb#344
+ # source://rubocop//lib/rubocop/options.rb#353
def validate_cop_options; end
# @api private
# @raise [OptionArgumentError]
#
- # source://rubocop//lib/rubocop/options.rb#396
+ # source://rubocop//lib/rubocop/options.rb#401
def validate_display_only_correctable_and_autocorrect; end
# @api private
# @raise [OptionArgumentError]
#
- # source://rubocop//lib/rubocop/options.rb#388
+ # source://rubocop//lib/rubocop/options.rb#393
def validate_display_only_failed; end
# @api private
# @raise [OptionArgumentError]
#
- # source://rubocop//lib/rubocop/options.rb#405
+ # source://rubocop//lib/rubocop/options.rb#410
def validate_display_only_failed_and_display_only_correctable; end
# @api private
# @raise [OptionParser::MissingArgument]
#
- # source://rubocop//lib/rubocop/options.rb#470
+ # source://rubocop//lib/rubocop/options.rb#471
def validate_exclude_limit_option; end
class << self
@@ -54276,14 +56174,14 @@ class RuboCop::OptionsValidator
#
# @api private
#
- # source://rubocop//lib/rubocop/options.rb#309
+ # source://rubocop//lib/rubocop/options.rb#318
def validate_cop_list(names); end
private
# @api private
#
- # source://rubocop//lib/rubocop/options.rb#326
+ # source://rubocop//lib/rubocop/options.rb#335
def format_message_from(name, cop_names); end
end
end
@@ -54739,39 +56637,39 @@ RuboCop::RemoteConfig::CACHE_LIFETIME = T.let(T.unsafe(nil), Integer)
#
# @api private
#
-# source://rubocop//lib/rubocop/result_cache.rb#12
+# source://rubocop//lib/rubocop/result_cache.rb#11
class RuboCop::ResultCache
# @api private
# @return [ResultCache] a new instance of ResultCache
#
- # source://rubocop//lib/rubocop/result_cache.rb#88
+ # source://rubocop//lib/rubocop/result_cache.rb#87
def initialize(file, team, options, config_store, cache_root = T.unsafe(nil)); end
# @api private
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/result_cache.rb#101
+ # source://rubocop//lib/rubocop/result_cache.rb#100
def debug?; end
# @api private
#
- # source://rubocop//lib/rubocop/result_cache.rb#109
+ # source://rubocop//lib/rubocop/result_cache.rb#108
def load; end
# @api private
#
- # source://rubocop//lib/rubocop/result_cache.rb#86
+ # source://rubocop//lib/rubocop/result_cache.rb#85
def path; end
# @api private
#
- # source://rubocop//lib/rubocop/result_cache.rb#114
+ # source://rubocop//lib/rubocop/result_cache.rb#113
def save(offenses); end
# @api private
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/result_cache.rb#105
+ # source://rubocop//lib/rubocop/result_cache.rb#104
def valid?; end
private
@@ -54779,7 +56677,7 @@ class RuboCop::ResultCache
# @api private
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/result_cache.rb#147
+ # source://rubocop//lib/rubocop/result_cache.rb#146
def any_symlink?(path); end
# We combine team and options into a single "context" checksum to avoid
@@ -54789,17 +56687,17 @@ class RuboCop::ResultCache
#
# @api private
#
- # source://rubocop//lib/rubocop/result_cache.rb#233
+ # source://rubocop//lib/rubocop/result_cache.rb#236
def context_checksum(team, options); end
# @api private
#
- # source://rubocop//lib/rubocop/result_cache.rb#190
+ # source://rubocop//lib/rubocop/result_cache.rb#189
def digest(path); end
# @api private
#
- # source://rubocop//lib/rubocop/result_cache.rb#158
+ # source://rubocop//lib/rubocop/result_cache.rb#157
def file_checksum(file, config_store); end
# Return a hash of the options given at invocation, minus the ones that have
@@ -54808,25 +56706,25 @@ class RuboCop::ResultCache
#
# @api private
#
- # source://rubocop//lib/rubocop/result_cache.rb#217
+ # source://rubocop//lib/rubocop/result_cache.rb#220
def relevant_options_digest(options); end
# The checksum of the RuboCop program running the inspection.
#
# @api private
#
- # source://rubocop//lib/rubocop/result_cache.rb#175
+ # source://rubocop//lib/rubocop/result_cache.rb#174
def rubocop_checksum; end
# @api private
#
- # source://rubocop//lib/rubocop/result_cache.rb#201
+ # source://rubocop//lib/rubocop/result_cache.rb#200
def rubocop_extra_features; end
# @api private
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/result_cache.rb#143
+ # source://rubocop//lib/rubocop/result_cache.rb#142
def symlink_protection_triggered?(path); end
# The external dependency checksums are cached per RuboCop team so that
@@ -54834,19 +56732,19 @@ class RuboCop::ResultCache
#
# @api private
#
- # source://rubocop//lib/rubocop/result_cache.rb#224
+ # source://rubocop//lib/rubocop/result_cache.rb#227
def team_checksum(team); end
class << self
# @api private
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/result_cache.rb#82
+ # source://rubocop//lib/rubocop/result_cache.rb#81
def allow_symlinks_in_cache_location?(config_store); end
# @api private
#
- # source://rubocop//lib/rubocop/result_cache.rb#76
+ # source://rubocop//lib/rubocop/result_cache.rb#75
def cache_root(config_store); end
# Remove old files so that the cache doesn't grow too big. When the
@@ -54858,67 +56756,67 @@ class RuboCop::ResultCache
#
# @api private
#
- # source://rubocop//lib/rubocop/result_cache.rb#29
+ # source://rubocop//lib/rubocop/result_cache.rb#28
def cleanup(config_store, verbose, cache_root = T.unsafe(nil)); end
# @api private
#
- # source://rubocop//lib/rubocop/result_cache.rb#171
+ # source://rubocop//lib/rubocop/result_cache.rb#170
def inhibit_cleanup; end
# @api private
#
- # source://rubocop//lib/rubocop/result_cache.rb#171
+ # source://rubocop//lib/rubocop/result_cache.rb#170
def inhibit_cleanup=(_arg0); end
# @api private
#
- # source://rubocop//lib/rubocop/result_cache.rb#43
+ # source://rubocop//lib/rubocop/result_cache.rb#42
def rubocop_required_features; end
# @api private
#
- # source://rubocop//lib/rubocop/result_cache.rb#43
+ # source://rubocop//lib/rubocop/result_cache.rb#42
def rubocop_required_features=(_arg0); end
# @api private
#
- # source://rubocop//lib/rubocop/result_cache.rb#171
+ # source://rubocop//lib/rubocop/result_cache.rb#170
def source_checksum; end
# @api private
#
- # source://rubocop//lib/rubocop/result_cache.rb#171
+ # source://rubocop//lib/rubocop/result_cache.rb#170
def source_checksum=(_arg0); end
private
# @api private
#
- # source://rubocop//lib/rubocop/result_cache.rb#66
+ # source://rubocop//lib/rubocop/result_cache.rb#65
def remove_files(files, dirs, remove_count); end
# @api private
#
- # source://rubocop//lib/rubocop/result_cache.rb#53
+ # source://rubocop//lib/rubocop/result_cache.rb#52
def remove_oldest_files(files, dirs, cache_root, verbose); end
# @api private
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/result_cache.rb#49
+ # source://rubocop//lib/rubocop/result_cache.rb#48
def requires_file_removal?(file_count, config_store); end
end
end
# @api private
#
-# source://rubocop//lib/rubocop/result_cache.rb#17
+# source://rubocop//lib/rubocop/result_cache.rb#16
RuboCop::ResultCache::DL_EXTENSIONS = T.let(T.unsafe(nil), Array)
# @api private
#
-# source://rubocop//lib/rubocop/result_cache.rb#13
+# source://rubocop//lib/rubocop/result_cache.rb#12
RuboCop::ResultCache::NON_CHANGING = T.let(T.unsafe(nil), Array)
# This class handles the processing of files, which includes dealing with
@@ -55023,7 +56921,7 @@ class RuboCop::Runner
# source://rubocop//lib/rubocop/runner.rb#414
def formatter_set; end
- # source://rubocop//lib/rubocop/runner.rb#468
+ # source://rubocop//lib/rubocop/runner.rb#470
def get_processed_source(file); end
# source://rubocop//lib/rubocop/runner.rb#342
@@ -55074,7 +56972,7 @@ class RuboCop::Runner
# otherwise dormant team that can be used for config- and option-
# level caching in ResultCache.
#
- # source://rubocop//lib/rubocop/runner.rb#490
+ # source://rubocop//lib/rubocop/runner.rb#492
def standby_team(config); end
# @return [Boolean]
@@ -55186,18 +57084,18 @@ class RuboCop::TargetFinder
# @api private
#
- # source://rubocop//lib/rubocop/target_finder.rb#145
+ # source://rubocop//lib/rubocop/target_finder.rb#149
def all_cops_include; end
# @api private
#
- # source://rubocop//lib/rubocop/target_finder.rb#116
+ # source://rubocop//lib/rubocop/target_finder.rb#120
def combined_exclude_glob_patterns(base_dir); end
# @api private
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/target_finder.rb#172
+ # source://rubocop//lib/rubocop/target_finder.rb#176
def configured_include?(file); end
# @api private
@@ -55242,63 +57140,63 @@ class RuboCop::TargetFinder
# @api private
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/target_finder.rb#176
+ # source://rubocop//lib/rubocop/target_finder.rb#180
def included_file?(file); end
# @api private
#
- # source://rubocop//lib/rubocop/target_finder.rb#180
+ # source://rubocop//lib/rubocop/target_finder.rb#184
def process_explicit_path(path, mode); end
# @api private
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/target_finder.rb#149
+ # source://rubocop//lib/rubocop/target_finder.rb#153
def ruby_executable?(file); end
# @api private
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/target_finder.rb#123
+ # source://rubocop//lib/rubocop/target_finder.rb#127
def ruby_extension?(file); end
# @api private
#
- # source://rubocop//lib/rubocop/target_finder.rb#127
+ # source://rubocop//lib/rubocop/target_finder.rb#131
def ruby_extensions; end
# @api private
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/target_finder.rb#168
+ # source://rubocop//lib/rubocop/target_finder.rb#172
def ruby_file?(file); end
# @api private
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/target_finder.rb#134
+ # source://rubocop//lib/rubocop/target_finder.rb#138
def ruby_filename?(file); end
# @api private
#
- # source://rubocop//lib/rubocop/target_finder.rb#138
+ # source://rubocop//lib/rubocop/target_finder.rb#142
def ruby_filenames; end
# @api private
#
- # source://rubocop//lib/rubocop/target_finder.rb#160
+ # source://rubocop//lib/rubocop/target_finder.rb#164
def ruby_interpreters(file); end
# @api private
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/target_finder.rb#164
+ # source://rubocop//lib/rubocop/target_finder.rb#168
def stdin?; end
# @api private
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/target_finder.rb#108
+ # source://rubocop//lib/rubocop/target_finder.rb#112
def symlink_excluded_or_infinite_loop?(base_dir, current_dir, exclude_pattern, flags); end
# Finds all Ruby source files under the current or other supplied
@@ -55331,7 +57229,7 @@ class RuboCop::TargetFinder
# @api private
#
- # source://rubocop//lib/rubocop/target_finder.rb#197
+ # source://rubocop//lib/rubocop/target_finder.rb#201
def order; end
end
@@ -55349,34 +57247,34 @@ class RuboCop::TargetRuby
# @api private
# @return [TargetRuby] a new instance of TargetRuby
#
- # source://rubocop//lib/rubocop/target_ruby.rb#248
+ # source://rubocop//lib/rubocop/target_ruby.rb#252
def initialize(config); end
# @api private
#
- # source://rubocop//lib/rubocop/target_ruby.rb#264
+ # source://rubocop//lib/rubocop/target_ruby.rb#268
def rubocop_version_with_support; end
# @api private
#
- # source://rubocop//lib/rubocop/target_ruby.rb#252
+ # source://rubocop//lib/rubocop/target_ruby.rb#256
def source; end
# @api private
# @return [Boolean]
#
- # source://rubocop//lib/rubocop/target_ruby.rb#260
+ # source://rubocop//lib/rubocop/target_ruby.rb#264
def supported?; end
# @api private
#
- # source://rubocop//lib/rubocop/target_ruby.rb#256
+ # source://rubocop//lib/rubocop/target_ruby.rb#260
def version; end
class << self
# @api private
#
- # source://rubocop//lib/rubocop/target_ruby.rb#234
+ # source://rubocop//lib/rubocop/target_ruby.rb#238
def supported_versions; end
end
end
@@ -55414,18 +57312,18 @@ RuboCop::TargetRuby::DEFAULT_VERSION = T.let(T.unsafe(nil), Float)
#
# @api private
#
-# source://rubocop//lib/rubocop/target_ruby.rb#222
+# source://rubocop//lib/rubocop/target_ruby.rb#226
class RuboCop::TargetRuby::Default < ::RuboCop::TargetRuby::Source
# @api private
#
- # source://rubocop//lib/rubocop/target_ruby.rb#223
+ # source://rubocop//lib/rubocop/target_ruby.rb#227
def name; end
private
# @api private
#
- # source://rubocop//lib/rubocop/target_ruby.rb#229
+ # source://rubocop//lib/rubocop/target_ruby.rb#233
def find_version; end
end
@@ -55438,11 +57336,11 @@ class RuboCop::TargetRuby::GemspecFile < ::RuboCop::TargetRuby::Source
extend ::RuboCop::AST::NodePattern::Macros
# source://rubocop//lib/rubocop/target_ruby.rb#159
- def gem_requirement?(param0 = T.unsafe(nil)); end
+ def gem_requirement_versions(param0 = T.unsafe(nil)); end
# @api private
#
- # source://rubocop//lib/rubocop/target_ruby.rb#163
+ # source://rubocop//lib/rubocop/target_ruby.rb#165
def name; end
# source://rubocop//lib/rubocop/target_ruby.rb#154
@@ -55452,37 +57350,37 @@ class RuboCop::TargetRuby::GemspecFile < ::RuboCop::TargetRuby::Source
# @api private
#
- # source://rubocop//lib/rubocop/target_ruby.rb#210
+ # source://rubocop//lib/rubocop/target_ruby.rb#214
def find_default_minimal_known_ruby(right_hand_side); end
# @api private
#
- # source://rubocop//lib/rubocop/target_ruby.rb#169
+ # source://rubocop//lib/rubocop/target_ruby.rb#171
def find_version; end
# @api private
#
- # source://rubocop//lib/rubocop/target_ruby.rb#179
+ # source://rubocop//lib/rubocop/target_ruby.rb#181
def gemspec_filename; end
# @api private
#
- # source://rubocop//lib/rubocop/target_ruby.rb#186
+ # source://rubocop//lib/rubocop/target_ruby.rb#188
def gemspec_filepath; end
# @api private
#
- # source://rubocop//lib/rubocop/target_ruby.rb#206
+ # source://rubocop//lib/rubocop/target_ruby.rb#210
def version_from_array(array); end
# @api private
#
- # source://rubocop//lib/rubocop/target_ruby.rb#191
+ # source://rubocop//lib/rubocop/target_ruby.rb#193
def version_from_gemspec_file(file); end
# @api private
#
- # source://rubocop//lib/rubocop/target_ruby.rb#196
+ # source://rubocop//lib/rubocop/target_ruby.rb#198
def version_from_right_hand_side(right_hand_side); end
end
@@ -55566,7 +57464,7 @@ RuboCop::TargetRuby::RubyVersionFile::RUBY_VERSION_PATTERN = T.let(T.unsafe(nil)
# @api private
#
-# source://rubocop//lib/rubocop/target_ruby.rb#238
+# source://rubocop//lib/rubocop/target_ruby.rb#242
RuboCop::TargetRuby::SOURCES = T.let(T.unsafe(nil), Array)
# A place where information about a target ruby version is found.
diff --git a/sorbet/rbi/gems/spoom@1.2.1.rbi b/sorbet/rbi/gems/spoom@1.2.4.rbi
similarity index 61%
rename from sorbet/rbi/gems/spoom@1.2.1.rbi
rename to sorbet/rbi/gems/spoom@1.2.4.rbi
index 9393e9b4c..426822203 100644
--- a/sorbet/rbi/gems/spoom@1.2.1.rbi
+++ b/sorbet/rbi/gems/spoom@1.2.4.rbi
@@ -221,22 +221,22 @@ class Spoom::Cli::Main < ::Thor
# source://spoom//lib/spoom/cli.rb#61
def __print_version; end
- # source://thor/1.2.2/lib/thor.rb#239
+ # source://thor/1.3.0/lib/thor.rb#334
def bump(*args); end
- # source://thor/1.2.2/lib/thor.rb#239
+ # source://thor/1.3.0/lib/thor.rb#334
def config(*args); end
- # source://thor/1.2.2/lib/thor.rb#239
+ # source://thor/1.3.0/lib/thor.rb#334
def coverage(*args); end
# source://spoom//lib/spoom/cli.rb#43
def files; end
- # source://thor/1.2.2/lib/thor.rb#239
+ # source://thor/1.3.0/lib/thor.rb#334
def lsp(*args); end
- # source://thor/1.2.2/lib/thor.rb#239
+ # source://thor/1.3.0/lib/thor.rb#334
def tc(*args); end
class << self
@@ -359,19 +359,19 @@ module Spoom::Context::Bundle
# Run a command with `bundle` in this context directory
#
- # source://spoom//lib/spoom/context/bundle.rb#27
+ # source://spoom//lib/spoom/context/bundle.rb#33
sig { params(command: ::String, version: T.nilable(::String), capture_err: T::Boolean).returns(::Spoom::ExecResult) }
def bundle(command, version: T.unsafe(nil), capture_err: T.unsafe(nil)); end
# Run a command `bundle exec` in this context directory
#
- # source://spoom//lib/spoom/context/bundle.rb#40
+ # source://spoom//lib/spoom/context/bundle.rb#46
sig { params(command: ::String, version: T.nilable(::String), capture_err: T::Boolean).returns(::Spoom::ExecResult) }
def bundle_exec(command, version: T.unsafe(nil), capture_err: T.unsafe(nil)); end
# Run `bundle install` in this context directory
#
- # source://spoom//lib/spoom/context/bundle.rb#34
+ # source://spoom//lib/spoom/context/bundle.rb#40
sig { params(version: T.nilable(::String), capture_err: T::Boolean).returns(::Spoom::ExecResult) }
def bundle_install!(version: T.unsafe(nil), capture_err: T.unsafe(nil)); end
@@ -379,19 +379,29 @@ module Spoom::Context::Bundle
#
# Returns `nil` if `gem` cannot be found in the Gemfile.
#
- # source://spoom//lib/spoom/context/bundle.rb#48
+ # source://spoom//lib/spoom/context/bundle.rb#62
sig { params(gem: ::String).returns(T.nilable(::String)) }
def gem_version_from_gemfile_lock(gem); end
- # Read the `contents` of the Gemfile in this context directory
+ # source://spoom//lib/spoom/context/bundle.rb#51
+ sig { returns(T::Hash[::String, ::Bundler::LazySpecification]) }
+ def gemfile_lock_specs; end
+
+ # Read the contents of the Gemfile in this context directory
#
# source://spoom//lib/spoom/context/bundle.rb#15
sig { returns(T.nilable(::String)) }
def read_gemfile; end
- # Set the `contents` of the Gemfile in this context directory
+ # Read the contents of the Gemfile.lock in this context directory
#
# source://spoom//lib/spoom/context/bundle.rb#21
+ sig { returns(T.nilable(::String)) }
+ def read_gemfile_lock; end
+
+ # Set the `contents` of the Gemfile in this context directory
+ #
+ # source://spoom//lib/spoom/context/bundle.rb#27
sig { params(contents: ::String, append: T::Boolean).void }
def write_gemfile!(contents, append: T.unsafe(nil)); end
end
@@ -421,11 +431,21 @@ module Spoom::Context::FileSystem
sig { params(relative_path: ::String).returns(::String) }
def absolute_path_to(relative_path); end
+ # source://spoom//lib/spoom/context/file_system.rb#53
+ sig do
+ params(
+ allow_extensions: T::Array[::String],
+ allow_mime_types: T::Array[::String],
+ exclude_patterns: T::Array[::String]
+ ).returns(T::Array[::String])
+ end
+ def collect_files(allow_extensions: T.unsafe(nil), allow_mime_types: T.unsafe(nil), exclude_patterns: T.unsafe(nil)); end
+
# Delete this context and its content
#
# Warning: it will `rm -rf` the context directory on the file system.
#
- # source://spoom//lib/spoom/context/file_system.rb#88
+ # source://spoom//lib/spoom/context/file_system.rb#105
sig { void }
def destroy!; end
@@ -437,7 +457,7 @@ module Spoom::Context::FileSystem
# Does `relative_path` point to an existing file in this context directory?
#
- # source://spoom//lib/spoom/context/file_system.rb#48
+ # source://spoom//lib/spoom/context/file_system.rb#65
sig { params(relative_path: ::String).returns(T::Boolean) }
def file?(relative_path); end
@@ -461,7 +481,7 @@ module Spoom::Context::FileSystem
# Move the file or directory from `from_relative_path` to `to_relative_path`
#
- # source://spoom//lib/spoom/context/file_system.rb#78
+ # source://spoom//lib/spoom/context/file_system.rb#95
sig { params(from_relative_path: ::String, to_relative_path: ::String).void }
def move!(from_relative_path, to_relative_path); end
@@ -469,13 +489,13 @@ module Spoom::Context::FileSystem
#
# Will raise if the file doesn't exist.
#
- # source://spoom//lib/spoom/context/file_system.rb#56
+ # source://spoom//lib/spoom/context/file_system.rb#73
sig { params(relative_path: ::String).returns(::String) }
def read(relative_path); end
# Remove the path at `relative_path` (recursive + force) in this context directory
#
- # source://spoom//lib/spoom/context/file_system.rb#72
+ # source://spoom//lib/spoom/context/file_system.rb#89
sig { params(relative_path: ::String).void }
def remove!(relative_path); end
@@ -483,7 +503,7 @@ module Spoom::Context::FileSystem
#
# Append to the file if `append` is true.
#
- # source://spoom//lib/spoom/context/file_system.rb#64
+ # source://spoom//lib/spoom/context/file_system.rb#81
sig { params(relative_path: ::String, contents: ::String, append: T::Boolean).void }
def write!(relative_path, contents = T.unsafe(nil), append: T.unsafe(nil)); end
end
@@ -506,21 +526,27 @@ module Spoom::Context::Git
sig { params(ref: ::String).returns(::Spoom::ExecResult) }
def git_checkout!(ref: T.unsafe(nil)); end
- # Run `git add . && git commit` in this context directory
+ # Run `git checkout -b ` in this context directory
#
# source://spoom//lib/spoom/context/git.rb#68
- sig { params(message: ::String, time: ::Time, allow_empty: T::Boolean).void }
+ sig { params(branch_name: ::String, ref: T.nilable(::String)).returns(::Spoom::ExecResult) }
+ def git_checkout_new_branch!(branch_name, ref: T.unsafe(nil)); end
+
+ # Run `git add . && git commit` in this context directory
+ #
+ # source://spoom//lib/spoom/context/git.rb#78
+ sig { params(message: ::String, time: ::Time, allow_empty: T::Boolean).returns(::Spoom::ExecResult) }
def git_commit!(message: T.unsafe(nil), time: T.unsafe(nil), allow_empty: T.unsafe(nil)); end
# Get the current git branch in this context directory
#
- # source://spoom//lib/spoom/context/git.rb#79
+ # source://spoom//lib/spoom/context/git.rb#89
sig { returns(T.nilable(::String)) }
def git_current_branch; end
# Run `git diff` in this context directory
#
- # source://spoom//lib/spoom/context/git.rb#88
+ # source://spoom//lib/spoom/context/git.rb#98
sig { params(arg: ::String).returns(::Spoom::ExecResult) }
def git_diff(*arg); end
@@ -535,21 +561,27 @@ module Spoom::Context::Git
# Get the last commit in the currently checked out branch
#
- # source://spoom//lib/spoom/context/git.rb#94
+ # source://spoom//lib/spoom/context/git.rb#104
sig { params(short_sha: T::Boolean).returns(T.nilable(::Spoom::Git::Commit)) }
def git_last_commit(short_sha: T.unsafe(nil)); end
- # source://spoom//lib/spoom/context/git.rb#105
+ # source://spoom//lib/spoom/context/git.rb#115
sig { params(arg: ::String).returns(::Spoom::ExecResult) }
def git_log(*arg); end
- # source://spoom//lib/spoom/context/git.rb#110
+ # Run `git push ` in this context directory
+ #
+ # source://spoom//lib/spoom/context/git.rb#121
+ sig { params(remote: ::String, ref: ::String, force: T::Boolean).returns(::Spoom::ExecResult) }
+ def git_push!(remote, ref, force: T.unsafe(nil)); end
+
+ # source://spoom//lib/spoom/context/git.rb#126
sig { params(arg: ::String).returns(::Spoom::ExecResult) }
def git_show(*arg); end
# Is there uncommited changes in this context directory?
#
- # source://spoom//lib/spoom/context/git.rb#116
+ # source://spoom//lib/spoom/context/git.rb#132
sig { params(path: ::String).returns(T::Boolean) }
def git_workdir_clean?(path: T.unsafe(nil)); end
end
@@ -562,35 +594,35 @@ module Spoom::Context::Sorbet
# Does this context has a `sorbet/config` file?
#
- # source://spoom//lib/spoom/context/sorbet.rb#102
+ # source://spoom//lib/spoom/context/sorbet.rb#119
sig { returns(T::Boolean) }
def has_sorbet_config?; end
# Read the strictness sigil from the file at `relative_path` (returns `nil` if no sigil)
#
- # source://spoom//lib/spoom/context/sorbet.rb#125
+ # source://spoom//lib/spoom/context/sorbet.rb#142
sig { params(relative_path: ::String).returns(T.nilable(::String)) }
def read_file_strictness(relative_path); end
# Read the contents of `sorbet/config` in this context directory
#
- # source://spoom//lib/spoom/context/sorbet.rb#113
+ # source://spoom//lib/spoom/context/sorbet.rb#130
sig { returns(::String) }
def read_sorbet_config; end
- # source://spoom//lib/spoom/context/sorbet.rb#107
+ # source://spoom//lib/spoom/context/sorbet.rb#124
sig { returns(::Spoom::Sorbet::Config) }
def sorbet_config; end
# Get the commit introducing the `sorbet/config` file
#
- # source://spoom//lib/spoom/context/sorbet.rb#131
+ # source://spoom//lib/spoom/context/sorbet.rb#148
sig { returns(T.nilable(::Spoom::Git::Commit)) }
def sorbet_intro_commit; end
# Get the commit removing the `sorbet/config` file
#
- # source://spoom//lib/spoom/context/sorbet.rb#143
+ # source://spoom//lib/spoom/context/sorbet.rb#160
sig { returns(T.nilable(::Spoom::Git::Commit)) }
def sorbet_removal_commit; end
@@ -608,7 +640,7 @@ module Spoom::Context::Sorbet
# List all files typechecked by Sorbet from its `config` that matches `strictness`
#
- # source://spoom//lib/spoom/context/sorbet.rb#87
+ # source://spoom//lib/spoom/context/sorbet.rb#104
sig do
params(
strictness: ::String,
@@ -632,13 +664,13 @@ module Spoom::Context::Sorbet
sig { params(arg: ::String, sorbet_bin: T.nilable(::String), capture_err: T::Boolean).returns(::Spoom::ExecResult) }
def srb_tc(*arg, sorbet_bin: T.unsafe(nil), capture_err: T.unsafe(nil)); end
- # source://spoom//lib/spoom/context/sorbet.rb#93
+ # source://spoom//lib/spoom/context/sorbet.rb#110
sig { params(arg: ::String, sorbet_bin: T.nilable(::String), capture_err: T::Boolean).returns(T.nilable(::String)) }
def srb_version(*arg, sorbet_bin: T.unsafe(nil), capture_err: T.unsafe(nil)); end
# Set the `contents` of `sorbet/config` in this context directory
#
- # source://spoom//lib/spoom/context/sorbet.rb#119
+ # source://spoom//lib/spoom/context/sorbet.rb#136
sig { params(contents: ::String, append: T::Boolean).void }
def write_sorbet_config!(contents, append: T.unsafe(nil)); end
end
@@ -713,11 +745,6 @@ class Spoom::Coverage::Cards::Erb < ::Spoom::Coverage::Cards::Card
# source://spoom//lib/spoom/coverage/report.rb#115
sig { override.returns(::String) }
def html; end
-
- class << self
- # source://sorbet-runtime/0.5.10875/lib/types/private/abstract/declare.rb#37
- def new(*args, **_arg1, &blk); end
- end
end
# source://spoom//lib/spoom/coverage/report.rb#153
@@ -869,9 +896,6 @@ class Spoom::Coverage::D3::Base
# source://spoom//lib/spoom/coverage/d3/base.rb#26
sig { returns(::String) }
def header_style; end
-
- # source://sorbet-runtime/0.5.10875/lib/types/private/abstract/declare.rb#37
- def new(*args, **_arg1, &blk); end
end
end
@@ -934,7 +958,7 @@ class Spoom::Coverage::D3::ColorPalette < ::T::Struct
prop :strong, ::String
class << self
- # source://sorbet-runtime/0.5.10875/lib/types/struct.rb#13
+ # source://sorbet-runtime/0.5.11262/lib/types/struct.rb#13
def inherited(s); end
end
end
@@ -961,9 +985,6 @@ class Spoom::Coverage::D3::Pie < ::Spoom::Coverage::D3::Base
# source://spoom//lib/spoom/coverage/d3/pie.rb#25
sig { returns(::String) }
def header_style; end
-
- # source://sorbet-runtime/0.5.10875/lib/types/private/abstract/declare.rb#37
- def new(*args, **_arg1, &blk); end
end
end
@@ -1056,9 +1077,6 @@ class Spoom::Coverage::D3::Timeline < ::Spoom::Coverage::D3::Base
# source://spoom//lib/spoom/coverage/d3/timeline.rb#25
sig { returns(::String) }
def header_style; end
-
- # source://sorbet-runtime/0.5.10875/lib/types/private/abstract/declare.rb#37
- def new(*args, **_arg1, &blk); end
end
end
@@ -1150,11 +1168,6 @@ class Spoom::Coverage::D3::Timeline::Stacked < ::Spoom::Coverage::D3::Timeline
# source://spoom//lib/spoom/coverage/d3/timeline.rb#336
sig { override.returns(::String) }
def script; end
-
- class << self
- # source://sorbet-runtime/0.5.10875/lib/types/private/abstract/declare.rb#37
- def new(*args, **_arg1, &blk); end
- end
end
# source://spoom//lib/spoom/coverage/d3/timeline.rb#232
@@ -1215,11 +1228,6 @@ class Spoom::Coverage::Page < ::Spoom::Coverage::Template
# source://spoom//lib/spoom/coverage/report.rb#47
sig { returns(::String) }
def title; end
-
- class << self
- # source://sorbet-runtime/0.5.10875/lib/types/private/abstract/declare.rb#37
- def new(*args, **_arg1, &blk); end
- end
end
# source://spoom//lib/spoom/coverage/report.rb#44
@@ -1290,7 +1298,7 @@ class Spoom::Coverage::Snapshot < ::T::Struct
sig { params(obj: T::Hash[::String, T.untyped]).returns(::Spoom::Coverage::Snapshot) }
def from_obj(obj); end
- # source://sorbet-runtime/0.5.10875/lib/types/struct.rb#13
+ # source://sorbet-runtime/0.5.11262/lib/types/struct.rb#13
def inherited(s); end
end
end
@@ -1340,10 +1348,1253 @@ class Spoom::Coverage::Template
# source://spoom//lib/spoom/coverage/report.rb#28
sig { returns(::String) }
def html; end
+end
+
+# source://spoom//lib/spoom/deadcode/erb.rb#27
+module Spoom::Deadcode
+ class << self
+ # source://spoom//lib/spoom/deadcode.rb#51
+ sig do
+ params(
+ index: ::Spoom::Deadcode::Index,
+ erb: ::String,
+ file: ::String,
+ plugins: T::Array[::Spoom::Deadcode::Plugins::Base]
+ ).void
+ end
+ def index_erb(index, erb, file:, plugins: T.unsafe(nil)); end
+
+ # source://spoom//lib/spoom/deadcode.rb#40
+ sig do
+ params(
+ index: ::Spoom::Deadcode::Index,
+ ruby: ::String,
+ file: ::String,
+ plugins: T::Array[::Spoom::Deadcode::Plugins::Base]
+ ).void
+ end
+ def index_ruby(index, ruby, file:, plugins: T.unsafe(nil)); end
+
+ # source://spoom//lib/spoom/deadcode/plugins.rb#74
+ sig { params(context: ::Spoom::Context).returns(T::Array[::Spoom::Deadcode::Plugins::Base]) }
+ def load_custom_plugins(context); end
+
+ # source://spoom//lib/spoom/deadcode/plugins.rb#60
+ sig { params(context: ::Spoom::Context).returns(T::Array[::Spoom::Deadcode::Plugins::Base]) }
+ def plugins_from_gemfile_lock(context); end
+ end
+end
+
+# source://spoom//lib/spoom/deadcode/plugins.rb#25
+Spoom::Deadcode::DEFAULT_CUSTOM_PLUGINS_PATH = T.let(T.unsafe(nil), String)
+
+# source://spoom//lib/spoom/deadcode/plugins.rb#27
+Spoom::Deadcode::DEFAULT_PLUGINS = T.let(T.unsafe(nil), Set)
+
+# A definition is a class, module, method, constant, etc. being defined in the code
+#
+# source://spoom//lib/spoom/deadcode/definition.rb#7
+class Spoom::Deadcode::Definition < ::T::Struct
+ const :kind, ::Spoom::Deadcode::Definition::Kind
+ const :name, ::String
+ const :full_name, ::String
+ const :location, ::Spoom::Deadcode::Location
+ const :status, ::Spoom::Deadcode::Definition::Status, default: T.unsafe(nil)
+
+ # source://spoom//lib/spoom/deadcode/definition.rb#78
+ sig { void }
+ def alive!; end
+
+ # Status
+ #
+ # source://spoom//lib/spoom/deadcode/definition.rb#73
+ sig { returns(T::Boolean) }
+ def alive?; end
+
+ # Kind
+ #
+ # source://spoom//lib/spoom/deadcode/definition.rb#41
+ sig { returns(T::Boolean) }
+ def attr_reader?; end
+
+ # source://spoom//lib/spoom/deadcode/definition.rb#46
+ sig { returns(T::Boolean) }
+ def attr_writer?; end
+
+ # source://spoom//lib/spoom/deadcode/definition.rb#51
+ sig { returns(T::Boolean) }
+ def class?; end
+
+ # source://spoom//lib/spoom/deadcode/definition.rb#56
+ sig { returns(T::Boolean) }
+ def constant?; end
+
+ # source://spoom//lib/spoom/deadcode/definition.rb#83
+ sig { returns(T::Boolean) }
+ def dead?; end
+
+ # source://spoom//lib/spoom/deadcode/definition.rb#93
+ sig { void }
+ def ignored!; end
+
+ # source://spoom//lib/spoom/deadcode/definition.rb#88
+ sig { returns(T::Boolean) }
+ def ignored?; end
+
+ # source://spoom//lib/spoom/deadcode/definition.rb#61
+ sig { returns(T::Boolean) }
+ def method?; end
+
+ # source://spoom//lib/spoom/deadcode/definition.rb#66
+ sig { returns(T::Boolean) }
+ def module?; end
+
+ class << self
+ # source://sorbet-runtime/0.5.11262/lib/types/struct.rb#13
+ def inherited(s); end
+ end
+end
+
+# source://spoom//lib/spoom/deadcode/definition.rb#10
+class Spoom::Deadcode::Definition::Kind < ::T::Enum
+ enums do
+ AttrReader = new
+ AttrWriter = new
+ Class = new
+ Constant = new
+ Method = new
+ Module = new
+ end
+end
+
+# source://spoom//lib/spoom/deadcode/definition.rb#21
+class Spoom::Deadcode::Definition::Status < ::T::Enum
+ enums do
+ ALIVE = new
+ DEAD = new
+ IGNORED = new
+ end
+end
+
+# Custom engine to handle ERB templates as used by Rails
+#
+# source://spoom//lib/spoom/deadcode/erb.rb#29
+class Spoom::Deadcode::ERB < ::Erubi::Engine
+ # source://spoom//lib/spoom/deadcode/erb.rb#33
+ sig { params(input: T.untyped, properties: T.untyped).void }
+ def initialize(input, properties = T.unsafe(nil)); end
+
+ private
+
+ # source://spoom//lib/spoom/deadcode/erb.rb#83
+ sig { override.params(code: T.untyped).void }
+ def add_code(code); end
+
+ # source://spoom//lib/spoom/deadcode/erb.rb#66
+ sig { override.params(indicator: T.untyped, code: T.untyped).void }
+ def add_expression(indicator, code); end
+
+ # source://spoom//lib/spoom/deadcode/erb.rb#89
+ sig { override.params(_: T.untyped).void }
+ def add_postamble(_); end
+
+ # source://spoom//lib/spoom/deadcode/erb.rb#48
+ sig { override.params(text: T.untyped).void }
+ def add_text(text); end
+
+ # source://spoom//lib/spoom/deadcode/erb.rb#95
+ sig { params(src: T.untyped).void }
+ def flush_newline_if_pending(src); end
+end
+
+# source://spoom//lib/spoom/deadcode/erb.rb#63
+Spoom::Deadcode::ERB::BLOCK_EXPR = T.let(T.unsafe(nil), Regexp)
+
+# @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
+#
+# source://spoom//lib/spoom/deadcode.rb#20
+class Spoom::Deadcode::Error < ::Spoom::Error
+ abstract!
+
+ # source://spoom//lib/spoom/deadcode.rb#27
+ sig { params(message: ::String, parent: ::Exception).void }
+ def initialize(message, parent:); end
+end
+
+# source://spoom//lib/spoom/deadcode/index.rb#6
+class Spoom::Deadcode::Index
+ # source://spoom//lib/spoom/deadcode/index.rb#16
+ sig { void }
+ def initialize; end
+
+ # source://spoom//lib/spoom/deadcode/index.rb#51
+ sig { returns(T::Array[::Spoom::Deadcode::Definition]) }
+ def all_definitions; end
+
+ # source://spoom//lib/spoom/deadcode/index.rb#56
+ sig { returns(T::Array[::Spoom::Deadcode::Reference]) }
+ def all_references; end
+
+ # Indexing
+ #
+ # source://spoom//lib/spoom/deadcode/index.rb#24
+ sig { params(definition: ::Spoom::Deadcode::Definition).void }
+ def define(definition); end
+
+ # source://spoom//lib/spoom/deadcode/index.rb#10
+ sig { returns(T::Hash[::String, T::Array[::Spoom::Deadcode::Definition]]) }
+ def definitions; end
+
+ # Utils
+ #
+ # source://spoom//lib/spoom/deadcode/index.rb#46
+ sig { params(name: ::String).returns(T::Array[::Spoom::Deadcode::Definition]) }
+ def definitions_for_name(name); end
+
+ # Mark all definitions having a reference of the same name as `alive`
+ #
+ # To be called once all the files have been indexed and all the definitions and references discovered.
+ #
+ # source://spoom//lib/spoom/deadcode/index.rb#37
+ sig { void }
+ def finalize!; end
+
+ # source://spoom//lib/spoom/deadcode/index.rb#29
+ sig { params(reference: ::Spoom::Deadcode::Reference).void }
+ def reference(reference); end
+
+ # source://spoom//lib/spoom/deadcode/index.rb#13
+ sig { returns(T::Hash[::String, T::Array[::Spoom::Deadcode::Reference]]) }
+ def references; end
+end
+
+# source://spoom//lib/spoom/deadcode/indexer.rb#6
+class Spoom::Deadcode::Indexer < ::SyntaxTree::Visitor
+ # source://spoom//lib/spoom/deadcode/indexer.rb#16
+ sig do
+ params(
+ path: ::String,
+ source: ::String,
+ index: ::Spoom::Deadcode::Index,
+ plugins: T::Array[::Spoom::Deadcode::Plugins::Base]
+ ).void
+ end
+ def initialize(path, source, index, plugins: T.unsafe(nil)); end
+
+ # source://spoom//lib/spoom/deadcode/indexer.rb#459
+ sig do
+ params(
+ node: T.nilable(T.any(::SyntaxTree::ArgParen, ::SyntaxTree::Args, ::SyntaxTree::ArgsForward))
+ ).returns(T::Array[::SyntaxTree::Node])
+ end
+ def call_args(node); end
+
+ # Context
+ #
+ # source://spoom//lib/spoom/deadcode/indexer.rb#367
+ sig { returns(::SyntaxTree::Node) }
+ def current_node; end
+
+ # Definition indexing
+ #
+ # source://spoom//lib/spoom/deadcode/indexer.rb#281
+ sig { params(name: ::String, full_name: ::String, node: ::SyntaxTree::Node).void }
+ def define_attr_reader(name, full_name, node); end
+
+ # source://spoom//lib/spoom/deadcode/indexer.rb#293
+ sig { params(name: ::String, full_name: ::String, node: ::SyntaxTree::Node).void }
+ def define_attr_writer(name, full_name, node); end
+
+ # source://spoom//lib/spoom/deadcode/indexer.rb#305
+ sig { params(name: ::String, full_name: ::String, node: ::SyntaxTree::Node).void }
+ def define_class(name, full_name, node); end
+
+ # source://spoom//lib/spoom/deadcode/indexer.rb#317
+ sig { params(name: ::String, full_name: ::String, node: ::SyntaxTree::Node).void }
+ def define_constant(name, full_name, node); end
+
+ # source://spoom//lib/spoom/deadcode/indexer.rb#329
+ sig { params(name: ::String, full_name: ::String, node: ::SyntaxTree::Node).void }
+ def define_method(name, full_name, node); end
+
+ # source://spoom//lib/spoom/deadcode/indexer.rb#341
+ sig { params(name: ::String, full_name: ::String, node: ::SyntaxTree::Node).void }
+ def define_module(name, full_name, node); end
+
+ # @return [String]
+ #
+ # source://spoom//lib/spoom/deadcode/indexer.rb#10
+ def file_name; end
+
+ # source://spoom//lib/spoom/deadcode/indexer.rb#13
+ sig { returns(::Spoom::Deadcode::Index) }
+ def index; end
+
+ # source://spoom//lib/spoom/deadcode/indexer.rb#426
+ sig { returns(T.nilable(::String)) }
+ def last_sig; end
+
+ # source://spoom//lib/spoom/deadcode/indexer.rb#386
+ sig { returns(T.nilable(::SyntaxTree::BlockNode)) }
+ def nesting_block; end
+
+ # source://spoom//lib/spoom/deadcode/indexer.rb#391
+ sig { returns(T.nilable(::SyntaxTree::MethodAddBlock)) }
+ def nesting_block_call; end
+
+ # source://spoom//lib/spoom/deadcode/indexer.rb#396
+ sig { returns(T.nilable(::String)) }
+ def nesting_block_call_name; end
+
+ # source://spoom//lib/spoom/deadcode/indexer.rb#381
+ sig { returns(T.nilable(::SyntaxTree::ClassDeclaration)) }
+ def nesting_class; end
+
+ # source://spoom//lib/spoom/deadcode/indexer.rb#410
+ sig { returns(T.nilable(::String)) }
+ def nesting_class_name; end
+
+ # source://spoom//lib/spoom/deadcode/indexer.rb#418
+ sig { returns(T.nilable(::String)) }
+ def nesting_class_superclass_name; end
+
+ # source://spoom//lib/spoom/deadcode/indexer.rb#372
+ sig { type_parameters(:N).params(type: T::Class[T.type_parameter(:N)]).returns(T.nilable(T.type_parameter(:N))) }
+ def nesting_node(type); end
+
+ # source://spoom//lib/spoom/deadcode/indexer.rb#445
+ sig { params(node: ::SyntaxTree::Node).returns(::Spoom::Deadcode::Location) }
+ def node_location(node); end
+
+ # Node utils
+ #
+ # source://spoom//lib/spoom/deadcode/indexer.rb#435
+ sig { params(node: T.any(::Symbol, ::SyntaxTree::Node)).returns(::String) }
+ def node_string(node); end
+
+ # source://spoom//lib/spoom/deadcode/indexer.rb#10
+ sig { returns(::String) }
+ def path; end
+
+ # Reference indexing
+ #
+ # source://spoom//lib/spoom/deadcode/indexer.rb#355
+ sig { params(name: ::String, node: ::SyntaxTree::Node).void }
+ def reference_constant(name, node); end
+
+ # source://spoom//lib/spoom/deadcode/indexer.rb#360
+ sig { params(name: ::String, node: ::SyntaxTree::Node).void }
+ def reference_method(name, node); end
+
+ # source://spoom//lib/spoom/deadcode/indexer.rb#450
+ sig { params(node: ::SyntaxTree::Node).returns(::String) }
+ def symbol_string(node); end
+
+ # Visit
+ #
+ # source://spoom//lib/spoom/deadcode/indexer.rb#35
+ sig { override.params(node: T.nilable(::SyntaxTree::Node)).void }
+ def visit(node); end
+
+ # source://spoom//lib/spoom/deadcode/indexer.rb#45
+ sig { override.params(node: ::SyntaxTree::AliasNode).void }
+ def visit_alias(node); end
+
+ # source://spoom//lib/spoom/deadcode/indexer.rb#50
+ sig { override.params(node: ::SyntaxTree::ARef).void }
+ def visit_aref(node); end
+
+ # source://spoom//lib/spoom/deadcode/indexer.rb#57
+ sig { override.params(node: ::SyntaxTree::ARefField).void }
+ def visit_aref_field(node); end
+
+ # source://spoom//lib/spoom/deadcode/indexer.rb#64
+ sig { override.params(node: ::SyntaxTree::ArgBlock).void }
+ def visit_arg_block(node); end
+
+ # source://spoom//lib/spoom/deadcode/indexer.rb#78
+ sig { override.params(node: ::SyntaxTree::Binary).void }
+ def visit_binary(node); end
+
+ # source://spoom//lib/spoom/deadcode/indexer.rb#94
+ sig { override.params(node: ::SyntaxTree::CallNode).void }
+ def visit_call(node); end
+
+ # source://spoom//lib/spoom/deadcode/indexer.rb#106
+ sig { override.params(node: ::SyntaxTree::ClassDeclaration).void }
+ def visit_class(node); end
+
+ # source://spoom//lib/spoom/deadcode/indexer.rb#119
+ sig { override.params(node: ::SyntaxTree::Command).void }
+ def visit_command(node); end
+
+ # source://spoom//lib/spoom/deadcode/indexer.rb#131
+ sig { override.params(node: ::SyntaxTree::CommandCall).void }
+ def visit_command_call(node); end
+
+ # source://spoom//lib/spoom/deadcode/indexer.rb#144
+ sig { override.params(node: ::SyntaxTree::Const).void }
+ def visit_const(node); end
+
+ # source://spoom//lib/spoom/deadcode/indexer.rb#149
+ sig { override.params(node: ::SyntaxTree::ConstPathField).void }
+ def visit_const_path_field(node); end
+
+ # source://spoom//lib/spoom/deadcode/indexer.rb#159
+ sig { override.params(node: ::SyntaxTree::DefNode).void }
+ def visit_def(node); end
+
+ # source://spoom//lib/spoom/deadcode/indexer.rb#167
+ sig { override.params(node: ::SyntaxTree::Field).void }
+ def visit_field(node); end
+
+ # source://spoom//lib/spoom/deadcode/indexer.rb#183
+ sig { override.params(node: ::SyntaxTree::ModuleDeclaration).void }
+ def visit_module(node); end
+
+ # source://spoom//lib/spoom/deadcode/indexer.rb#195
+ sig { override.params(node: ::SyntaxTree::OpAssign).void }
+ def visit_opassign(node); end
+
+ # source://spoom//lib/spoom/deadcode/indexer.rb#204
+ sig { params(send: ::Spoom::Deadcode::Send).void }
+ def visit_send(send); end
+
+ # source://spoom//lib/spoom/deadcode/indexer.rb#243
+ sig { override.params(node: ::SyntaxTree::SymbolLiteral).void }
+ def visit_symbol_literal(node); end
+
+ # source://spoom//lib/spoom/deadcode/indexer.rb#252
+ sig { override.params(node: ::SyntaxTree::TopConstField).void }
+ def visit_top_const_field(node); end
+
+ # source://spoom//lib/spoom/deadcode/indexer.rb#257
+ sig { override.params(node: ::SyntaxTree::VarField).void }
+ def visit_var_field(node); end
+
+ # source://spoom//lib/spoom/deadcode/indexer.rb#274
+ sig { override.params(node: ::SyntaxTree::VCall).void }
+ def visit_vcall(node); end
+end
+
+# source://spoom//lib/spoom/deadcode.rb#34
+class Spoom::Deadcode::IndexerError < ::Spoom::Deadcode::Error; end
+
+# source://spoom//lib/spoom/deadcode/location.rb#6
+class Spoom::Deadcode::Location
+ include ::Comparable
+
+ # source://spoom//lib/spoom/deadcode/location.rb#54
+ sig do
+ params(
+ file: ::String,
+ start_line: ::Integer,
+ start_column: ::Integer,
+ end_line: ::Integer,
+ end_column: ::Integer
+ ).void
+ end
+ def initialize(file, start_line, start_column, end_line, end_column); end
+
+ # source://spoom//lib/spoom/deadcode/location.rb#74
+ sig { override.params(other: ::BasicObject).returns(T.nilable(::Integer)) }
+ def <=>(other); end
+
+ # @return [Integer]
+ #
+ # source://spoom//lib/spoom/deadcode/location.rb#43
+ def end_column; end
+
+ # @return [Integer]
+ #
+ # source://spoom//lib/spoom/deadcode/location.rb#43
+ def end_line; end
+
+ # source://spoom//lib/spoom/deadcode/location.rb#40
+ sig { returns(::String) }
+ def file; end
+
+ # source://spoom//lib/spoom/deadcode/location.rb#63
+ sig { params(other: ::Spoom::Deadcode::Location).returns(T::Boolean) }
+ def include?(other); end
+
+ # @return [Integer]
+ #
+ # source://spoom//lib/spoom/deadcode/location.rb#43
+ def start_column; end
+
+ # source://spoom//lib/spoom/deadcode/location.rb#43
+ sig { returns(::Integer) }
+ def start_line; end
+
+ # source://spoom//lib/spoom/deadcode/location.rb#81
+ sig { returns(::String) }
+ def to_s; end
+
+ class << self
+ # @raise [LocationError]
+ #
+ # source://spoom//lib/spoom/deadcode/location.rb#17
+ sig { params(location_string: ::String).returns(::Spoom::Deadcode::Location) }
+ def from_string(location_string); end
+
+ # source://spoom//lib/spoom/deadcode/location.rb#34
+ sig { params(file: ::String, location: ::SyntaxTree::Location).returns(::Spoom::Deadcode::Location) }
+ def from_syntax_tree(file, location); end
+ end
+end
+
+# source://spoom//lib/spoom/deadcode/location.rb#11
+class Spoom::Deadcode::Location::LocationError < ::Spoom::Error; end
+
+# source://spoom//lib/spoom/deadcode/plugins.rb#35
+Spoom::Deadcode::PLUGINS_FOR_GEM = T.let(T.unsafe(nil), Hash)
+
+# source://spoom//lib/spoom/deadcode.rb#33
+class Spoom::Deadcode::ParserError < ::Spoom::Deadcode::Error; end
+
+# source://spoom//lib/spoom/deadcode/plugins/base.rb#8
+module Spoom::Deadcode::Plugins; end
+
+# source://spoom//lib/spoom/deadcode/plugins/action_mailer.rb#7
+class Spoom::Deadcode::Plugins::ActionMailer < ::Spoom::Deadcode::Plugins::Base
+ # source://spoom//lib/spoom/deadcode/plugins/action_mailer.rb#11
+ sig { override.params(indexer: ::Spoom::Deadcode::Indexer, send: ::Spoom::Deadcode::Send).void }
+ def on_send(indexer, send); end
+end
+
+# source://spoom//lib/spoom/deadcode/plugins/actionpack.rb#7
+class Spoom::Deadcode::Plugins::ActionPack < ::Spoom::Deadcode::Plugins::Base
+ # source://spoom//lib/spoom/deadcode/plugins/actionpack.rb#31
+ sig { override.params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void }
+ def on_define_method(indexer, definition); end
+
+ # source://spoom//lib/spoom/deadcode/plugins/actionpack.rb#36
+ sig { override.params(indexer: ::Spoom::Deadcode::Indexer, send: ::Spoom::Deadcode::Send).void }
+ def on_send(indexer, send); end
+end
+
+# source://spoom//lib/spoom/deadcode/plugins/actionpack.rb#10
+Spoom::Deadcode::Plugins::ActionPack::CALLBACKS = T.let(T.unsafe(nil), Array)
+
+# source://spoom//lib/spoom/deadcode/plugins/active_job.rb#7
+class Spoom::Deadcode::Plugins::ActiveJob < ::Spoom::Deadcode::Plugins::Base; end
+
+# source://spoom//lib/spoom/deadcode/plugins/active_model.rb#7
+class Spoom::Deadcode::Plugins::ActiveModel < ::Spoom::Deadcode::Plugins::Base
+ # source://spoom//lib/spoom/deadcode/plugins/active_model.rb#14
+ sig { override.params(indexer: ::Spoom::Deadcode::Indexer, send: ::Spoom::Deadcode::Send).void }
+ def on_send(indexer, send); end
+end
+
+# source://spoom//lib/spoom/deadcode/plugins/active_record.rb#7
+class Spoom::Deadcode::Plugins::ActiveRecord < ::Spoom::Deadcode::Plugins::Base
+ # source://spoom//lib/spoom/deadcode/plugins/active_record.rb#74
+ sig { override.params(indexer: ::Spoom::Deadcode::Indexer, send: ::Spoom::Deadcode::Send).void }
+ def on_send(indexer, send); end
+end
+
+# source://spoom//lib/spoom/deadcode/plugins/active_record.rb#64
+Spoom::Deadcode::Plugins::ActiveRecord::ARRAY_METHODS = T.let(T.unsafe(nil), Array)
+
+# source://spoom//lib/spoom/deadcode/plugins/active_record.rb#20
+Spoom::Deadcode::Plugins::ActiveRecord::CALLBACKS = T.let(T.unsafe(nil), Array)
+
+# source://spoom//lib/spoom/deadcode/plugins/active_record.rb#49
+Spoom::Deadcode::Plugins::ActiveRecord::CRUD_METHODS = T.let(T.unsafe(nil), Array)
+
+# source://spoom//lib/spoom/deadcode/plugins/active_support.rb#7
+class Spoom::Deadcode::Plugins::ActiveSupport < ::Spoom::Deadcode::Plugins::Base; end
+
+# @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
+#
+# source://spoom//lib/spoom/deadcode/plugins/base.rb#9
+class Spoom::Deadcode::Plugins::Base
+ abstract!
+
+ # Do not override this method, use `on_define_accessor` instead.
+ #
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#150
+ sig { params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void }
+ def internal_on_define_accessor(indexer, definition); end
+
+ # Do not override this method, use `on_define_class` instead.
+ #
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#174
+ sig { params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void }
+ def internal_on_define_class(indexer, definition); end
+
+ # Do not override this method, use `on_define_constant` instead.
+ #
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#204
+ sig { params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void }
+ def internal_on_define_constant(indexer, definition); end
+
+ # Do not override this method, use `on_define_method` instead.
+ #
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#232
+ sig { params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void }
+ def internal_on_define_method(indexer, definition); end
+
+ # Do not override this method, use `on_define_module` instead.
+ #
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#258
+ sig { params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void }
+ def internal_on_define_module(indexer, definition); end
+
+ # Do not override this method, use `on_send` instead.
+ #
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#284
+ sig { params(indexer: ::Spoom::Deadcode::Indexer, send: ::Spoom::Deadcode::Send).void }
+ def internal_on_send(indexer, send); end
+
+ # Called when an accessor is defined.
+ #
+ # Will be called when the indexer processes a `attr_reader`, `attr_writer` or `attr_accessor` node.
+ # Note that when this method is called, the definition for the node has already been added to the index.
+ # It is still possible to ignore it from the plugin:
+ #
+ # ~~~rb
+ # class MyPlugin < Spoom::Deadcode::Plugins::Base
+ # def on_define_accessor(indexer, definition)
+ # definition.ignored! if definition.name == "foo"
+ # end
+ # end
+ # ~~~
+ #
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#144
+ sig { params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void }
+ def on_define_accessor(indexer, definition); end
+
+ # Called when a class is defined.
+ #
+ # Will be called when the indexer processes a `class` node.
+ # Note that when this method is called, the definition for the node has already been added to the index.
+ # It is still possible to ignore it from the plugin:
+ #
+ # ~~~rb
+ # class MyPlugin < Spoom::Deadcode::Plugins::Base
+ # def on_define_class(indexer, definition)
+ # definition.ignored! if definition.name == "Foo"
+ # end
+ # end
+ # ~~~
+ #
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#168
+ sig { params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void }
+ def on_define_class(indexer, definition); end
+
+ # Called when a constant is defined.
+ #
+ # Will be called when the indexer processes a `CONST =` node.
+ # Note that when this method is called, the definition for the node has already been added to the index.
+ # It is still possible to ignore it from the plugin:
+ #
+ # ~~~rb
+ # class MyPlugin < Spoom::Deadcode::Plugins::Base
+ # def on_define_constant(indexer, definition)
+ # definition.ignored! if definition.name == "FOO"
+ # end
+ # end
+ # ~~~
+ #
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#198
+ sig { params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void }
+ def on_define_constant(indexer, definition); end
+
+ # Called when a method is defined.
+ #
+ # Will be called when the indexer processes a `def` or `defs` node.
+ # Note that when this method is called, the definition for the node has already been added to the index.
+ # It is still possible to ignore it from the plugin:
+ #
+ # ~~~rb
+ # class MyPlugin < Spoom::Deadcode::Plugins::Base
+ # def on_define_method(indexer, definition)
+ # super # So the `ignore_method_names` DSL is still applied
+ #
+ # definition.ignored! if definition.name == "foo"
+ # end
+ # end
+ # ~~~
+ #
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#226
+ sig { params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void }
+ def on_define_method(indexer, definition); end
+
+ # Called when a module is defined.
+ #
+ # Will be called when the indexer processes a `module` node.
+ # Note that when this method is called, the definition for the node has already been added to the index.
+ # It is still possible to ignore it from the plugin:
+ #
+ # ~~~rb
+ # class MyPlugin < Spoom::Deadcode::Plugins::Base
+ # def on_define_module(indexer, definition)
+ # definition.ignored! if definition.name == "Foo"
+ # end
+ # end
+ # ~~~
+ #
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#252
+ sig { params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void }
+ def on_define_module(indexer, definition); end
+
+ # Called when a send is being processed
+ #
+ # ~~~rb
+ # class MyPlugin < Spoom::Deadcode::Plugins::Base
+ # def on_send(indexer, send)
+ # return unless send.name == "dsl_method"
+ # return if send.args.empty?
+ #
+ # method_name = indexer.node_string(send.args.first).delete_prefix(":")
+ # indexer.reference_method(method_name, send.node)
+ # end
+ # end
+ # ~~~
+ #
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#278
+ sig { params(indexer: ::Spoom::Deadcode::Indexer, send: ::Spoom::Deadcode::Send).void }
+ def on_send(indexer, send); end
+
+ private
+
+ # Plugin utils
+ #
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#339
+ sig { params(name: ::String).returns(::String) }
+ def camelize(name); end
+
+ # DSL support
+ #
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#293
+ sig { params(name: T.nilable(::String)).returns(T::Boolean) }
+ def ignored_class_name?(name); end
+
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#307
+ sig { params(name: ::String).returns(T::Boolean) }
+ def ignored_constant_name?(name); end
+
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#312
+ sig { params(name: ::String).returns(T::Boolean) }
+ def ignored_method_name?(name); end
+
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#317
+ sig { params(name: ::String).returns(T::Boolean) }
+ def ignored_module_name?(name); end
+
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#322
+ sig { params(name: ::String, names_variable: ::Symbol, patterns_variable: ::Symbol).returns(T::Boolean) }
+ def ignored_name?(name, names_variable, patterns_variable); end
+
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#300
+ sig { params(superclass_name: T.nilable(::String)).returns(T::Boolean) }
+ def ignored_subclass?(superclass_name); end
+
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#327
+ sig { params(const: ::Symbol).returns(T::Set[::String]) }
+ def names(const); end
+
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#332
+ sig { params(const: ::Symbol).returns(T::Array[::Regexp]) }
+ def patterns(const); end
class << self
- # source://sorbet-runtime/0.5.10875/lib/types/private/abstract/declare.rb#37
- def new(*args, **_arg1, &blk); end
+ # Mark classes directly subclassing a class matching `names` as ignored.
+ #
+ # Names can be either strings or regexps:
+ #
+ # ~~~rb
+ # class MyPlugin < Spoom::Deadcode::Plugins::Base
+ # ignore_classes_inheriting_from(
+ # "Foo",
+ # "Bar",
+ # /Baz.*/,
+ # )
+ # end
+ # ~~~
+ #
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#52
+ sig { params(names: T.any(::Regexp, ::String)).void }
+ def ignore_classes_inheriting_from(*names); end
+
+ # Mark classes matching `names` as ignored.
+ #
+ # Names can be either strings or regexps:
+ #
+ # ~~~rb
+ # class MyPlugin < Spoom::Deadcode::Plugins::Base
+ # ignore_class_names(
+ # "Foo",
+ # "Bar",
+ # /Baz.*/,
+ # )
+ # end
+ # ~~~
+ #
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#34
+ sig { params(names: T.any(::Regexp, ::String)).void }
+ def ignore_classes_named(*names); end
+
+ # Mark constants matching `names` as ignored.
+ #
+ # Names can be either strings or regexps:
+ #
+ # ~~~rb
+ # class MyPlugin < Spoom::Deadcode::Plugins::Base
+ # ignore_class_names(
+ # "FOO",
+ # "BAR",
+ # /BAZ.*/,
+ # )
+ # end
+ # ~~~
+ #
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#70
+ sig { params(names: T.any(::Regexp, ::String)).void }
+ def ignore_constants_named(*names); end
+
+ # Mark methods matching `names` as ignored.
+ #
+ # Names can be either strings or regexps:
+ #
+ # ~~~rb
+ # class MyPlugin < Spoom::Deadcode::Plugins::Base
+ # ignore_method_names(
+ # "foo",
+ # "bar",
+ # /baz.*/,
+ # )
+ # end
+ # ~~~
+ #
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#88
+ sig { params(names: T.any(::Regexp, ::String)).void }
+ def ignore_methods_named(*names); end
+
+ # Mark modules matching `names` as ignored.
+ #
+ # Names can be either strings or regexps:
+ #
+ # ~~~rb
+ # class MyPlugin < Spoom::Deadcode::Plugins::Base
+ # ignore_class_names(
+ # "Foo",
+ # "Bar",
+ # /Baz.*/,
+ # )
+ # end
+ # ~~~
+ #
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#106
+ sig { params(names: T.any(::Regexp, ::String)).void }
+ def ignore_modules_named(*names); end
+
+ private
+
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#113
+ sig do
+ params(
+ names: T::Array[T.any(::Regexp, ::String)],
+ names_variable: ::Symbol,
+ patterns_variable: ::Symbol
+ ).void
+ end
+ def save_names_and_patterns(names, names_variable, patterns_variable); end
+ end
+end
+
+# source://spoom//lib/spoom/deadcode/plugins/graphql.rb#7
+class Spoom::Deadcode::Plugins::GraphQL < ::Spoom::Deadcode::Plugins::Base
+ # source://spoom//lib/spoom/deadcode/plugins/graphql.rb#28
+ sig { override.params(indexer: ::Spoom::Deadcode::Indexer, send: ::Spoom::Deadcode::Send).void }
+ def on_send(indexer, send); end
+end
+
+# source://spoom//lib/spoom/deadcode/plugins/minitest.rb#7
+class Spoom::Deadcode::Plugins::Minitest < ::Spoom::Deadcode::Plugins::Base
+ # source://spoom//lib/spoom/deadcode/plugins/minitest.rb#22
+ sig { override.params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void }
+ def on_define_method(indexer, definition); end
+end
+
+# source://spoom//lib/spoom/deadcode/plugins/namespaces.rb#7
+class Spoom::Deadcode::Plugins::Namespaces < ::Spoom::Deadcode::Plugins::Base
+ # source://spoom//lib/spoom/deadcode/plugins/namespaces.rb#11
+ sig { override.params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void }
+ def on_define_class(indexer, definition); end
+
+ # source://spoom//lib/spoom/deadcode/plugins/namespaces.rb#16
+ sig { override.params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void }
+ def on_define_module(indexer, definition); end
+
+ private
+
+ # source://spoom//lib/spoom/deadcode/plugins/namespaces.rb#23
+ sig { params(indexer: ::Spoom::Deadcode::Indexer).returns(T::Boolean) }
+ def used_as_namespace?(indexer); end
+end
+
+# source://spoom//lib/spoom/deadcode/plugins/rspec.rb#7
+class Spoom::Deadcode::Plugins::RSpec < ::Spoom::Deadcode::Plugins::Base; end
+
+# source://spoom//lib/spoom/deadcode/plugins/rails.rb#7
+class Spoom::Deadcode::Plugins::Rails < ::Spoom::Deadcode::Plugins::Base
+ # source://spoom//lib/spoom/deadcode/plugins/rails.rb#13
+ sig { override.params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void }
+ def on_define_class(indexer, definition); end
+
+ # source://spoom//lib/spoom/deadcode/plugins/rails.rb#18
+ sig { override.params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void }
+ def on_define_module(indexer, definition); end
+
+ private
+
+ # source://spoom//lib/spoom/deadcode/plugins/rails.rb#25
+ sig { params(indexer: ::Spoom::Deadcode::Indexer).returns(T::Boolean) }
+ def file_is_helper?(indexer); end
+end
+
+# source://spoom//lib/spoom/deadcode/plugins/rake.rb#7
+class Spoom::Deadcode::Plugins::Rake < ::Spoom::Deadcode::Plugins::Base; end
+
+# source://spoom//lib/spoom/deadcode/plugins/rubocop.rb#7
+class Spoom::Deadcode::Plugins::Rubocop < ::Spoom::Deadcode::Plugins::Base
+ # source://spoom//lib/spoom/deadcode/plugins/rubocop.rb#18
+ sig { override.params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void }
+ def on_define_constant(indexer, definition); end
+
+ # source://spoom//lib/spoom/deadcode/plugins/rubocop.rb#23
+ sig { override.params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void }
+ def on_define_method(indexer, definition); end
+
+ private
+
+ # source://spoom//lib/spoom/deadcode/plugins/rubocop.rb#30
+ sig { params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).returns(T::Boolean) }
+ def rubocop_constant?(indexer, definition); end
+
+ # source://spoom//lib/spoom/deadcode/plugins/rubocop.rb#35
+ sig { params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).returns(T::Boolean) }
+ def rubocop_method?(indexer, definition); end
+end
+
+# source://spoom//lib/spoom/deadcode/plugins/rubocop.rb#10
+Spoom::Deadcode::Plugins::Rubocop::RUBOCOP_CONSTANTS = T.let(T.unsafe(nil), Set)
+
+# source://spoom//lib/spoom/deadcode/plugins/ruby.rb#7
+class Spoom::Deadcode::Plugins::Ruby < ::Spoom::Deadcode::Plugins::Base
+ # source://spoom//lib/spoom/deadcode/plugins/ruby.rb#24
+ sig { override.params(indexer: ::Spoom::Deadcode::Indexer, send: ::Spoom::Deadcode::Send).void }
+ def on_send(indexer, send); end
+
+ private
+
+ # source://spoom//lib/spoom/deadcode/plugins/ruby.rb#50
+ sig { params(indexer: ::Spoom::Deadcode::Indexer, send: ::Spoom::Deadcode::Send, node: ::SyntaxTree::Node).void }
+ def reference_symbol_as_constant(indexer, send, node); end
+end
+
+# source://spoom//lib/spoom/deadcode/plugins/sorbet.rb#7
+class Spoom::Deadcode::Plugins::Sorbet < ::Spoom::Deadcode::Plugins::Base
+ # source://spoom//lib/spoom/deadcode/plugins/sorbet.rb#11
+ sig { override.params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void }
+ def on_define_constant(indexer, definition); end
+
+ # source://spoom//lib/spoom/deadcode/plugins/sorbet.rb#16
+ sig { override.params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void }
+ def on_define_method(indexer, definition); end
+
+ private
+
+ # source://spoom//lib/spoom/deadcode/plugins/sorbet.rb#40
+ sig { params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).returns(T::Boolean) }
+ def sorbet_enum_constant?(indexer, definition); end
+
+ # source://spoom//lib/spoom/deadcode/plugins/sorbet.rb#23
+ sig { params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).returns(T::Boolean) }
+ def sorbet_type_member?(indexer, definition); end
+end
+
+# source://spoom//lib/spoom/deadcode/plugins/thor.rb#7
+class Spoom::Deadcode::Plugins::Thor < ::Spoom::Deadcode::Plugins::Base
+ # source://spoom//lib/spoom/deadcode/plugins/thor.rb#13
+ sig { override.params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void }
+ def on_define_method(indexer, definition); end
+end
+
+# A reference is a call to a method or a constant
+#
+# source://spoom//lib/spoom/deadcode/reference.rb#7
+class Spoom::Deadcode::Reference < ::T::Struct
+ const :kind, ::Spoom::Deadcode::Reference::Kind
+ const :name, ::String
+ const :location, ::Spoom::Deadcode::Location
+
+ # Kind
+ #
+ # source://spoom//lib/spoom/deadcode/reference.rb#24
+ sig { returns(T::Boolean) }
+ def constant?; end
+
+ # source://spoom//lib/spoom/deadcode/reference.rb#29
+ sig { returns(T::Boolean) }
+ def method?; end
+
+ class << self
+ # source://sorbet-runtime/0.5.11262/lib/types/struct.rb#13
+ def inherited(s); end
+ end
+end
+
+# source://spoom//lib/spoom/deadcode/reference.rb#10
+class Spoom::Deadcode::Reference::Kind < ::T::Enum
+ enums do
+ Constant = new
+ Method = new
+ end
+end
+
+# source://spoom//lib/spoom/deadcode/remover.rb#6
+class Spoom::Deadcode::Remover
+ # source://spoom//lib/spoom/deadcode/remover.rb#12
+ sig { params(context: ::Spoom::Context).void }
+ def initialize(context); end
+
+ # source://spoom//lib/spoom/deadcode/remover.rb#17
+ sig { params(kind: ::Spoom::Deadcode::Definition::Kind, location: ::Spoom::Deadcode::Location).void }
+ def remove_location(kind, location); end
+end
+
+# source://spoom//lib/spoom/deadcode/remover.rb#9
+class Spoom::Deadcode::Remover::Error < ::Spoom::Error; end
+
+# source://spoom//lib/spoom/deadcode/remover.rb#348
+class Spoom::Deadcode::Remover::NodeContext
+ # source://spoom//lib/spoom/deadcode/remover.rb#358
+ sig { params(source: ::String, node: ::SyntaxTree::Node, nesting: T::Array[::SyntaxTree::Node]).void }
+ def initialize(source, node, nesting); end
+
+ # source://spoom//lib/spoom/deadcode/remover.rb#467
+ sig { returns(T::Array[::SyntaxTree::Node]) }
+ def attached_comments_and_sigs; end
+
+ # source://spoom//lib/spoom/deadcode/remover.rb#480
+ sig { returns(T.nilable(::SyntaxTree::MethodAddBlock)) }
+ def attached_sig; end
+
+ # source://spoom//lib/spoom/deadcode/remover.rb#460
+ sig { params(comment: ::SyntaxTree::Node, node: ::SyntaxTree::Node).returns(T::Boolean) }
+ def comment_for_node?(comment, node); end
+
+ # source://spoom//lib/spoom/deadcode/remover.rb#355
+ sig { returns(T::Array[::SyntaxTree::Node]) }
+ def nesting; end
+
+ # @return [Array]
+ #
+ # source://spoom//lib/spoom/deadcode/remover.rb#355
+ def nesting=(_arg0); end
+
+ # source://spoom//lib/spoom/deadcode/remover.rb#407
+ sig { returns(T.nilable(::SyntaxTree::Node)) }
+ def next_node; end
+
+ # source://spoom//lib/spoom/deadcode/remover.rb#397
+ sig { returns(T::Array[::SyntaxTree::Node]) }
+ def next_nodes; end
+
+ # source://spoom//lib/spoom/deadcode/remover.rb#352
+ sig { returns(::SyntaxTree::Node) }
+ def node; end
+
+ # source://spoom//lib/spoom/deadcode/remover.rb#495
+ sig { params(node: T.any(::Symbol, ::SyntaxTree::Node)).returns(::String) }
+ def node_string(node); end
+
+ # source://spoom//lib/spoom/deadcode/remover.rb#373
+ sig { returns(::Spoom::Deadcode::Remover::NodeContext) }
+ def parent_context; end
+
+ # source://spoom//lib/spoom/deadcode/remover.rb#365
+ sig { returns(::SyntaxTree::Node) }
+ def parent_node; end
+
+ # source://spoom//lib/spoom/deadcode/remover.rb#392
+ sig { returns(T.nilable(::SyntaxTree::Node)) }
+ def previous_node; end
+
+ # source://spoom//lib/spoom/deadcode/remover.rb#382
+ sig { returns(T::Array[::SyntaxTree::Node]) }
+ def previous_nodes; end
+
+ # source://spoom//lib/spoom/deadcode/remover.rb#412
+ sig { returns(T.nilable(::Spoom::Deadcode::Remover::NodeContext)) }
+ def sclass_context; end
+
+ # source://spoom//lib/spoom/deadcode/remover.rb#451
+ sig { params(node: T.nilable(::SyntaxTree::Node)).returns(T::Boolean) }
+ def sorbet_extend_sig?(node); end
+
+ # source://spoom//lib/spoom/deadcode/remover.rb#438
+ sig { params(node: T.nilable(::SyntaxTree::Node)).returns(T::Boolean) }
+ def sorbet_signature?(node); end
+end
+
+# source://spoom//lib/spoom/deadcode/remover.rb#505
+class Spoom::Deadcode::Remover::NodeFinder < ::SyntaxTree::Visitor
+ # source://spoom//lib/spoom/deadcode/remover.rb#554
+ sig { params(location: ::Spoom::Deadcode::Location).void }
+ def initialize(location); end
+
+ # source://spoom//lib/spoom/deadcode/remover.rb#548
+ sig { returns(T.nilable(::SyntaxTree::Node)) }
+ def node; end
+
+ # source://spoom//lib/spoom/deadcode/remover.rb#551
+ sig { returns(T::Array[::SyntaxTree::Node]) }
+ def nodes_nesting; end
+
+ # @return [Array]
+ #
+ # source://spoom//lib/spoom/deadcode/remover.rb#551
+ def nodes_nesting=(_arg0); end
+
+ # source://spoom//lib/spoom/deadcode/remover.rb#562
+ sig { override.params(node: T.nilable(::SyntaxTree::Node)).void }
+ def visit(node); end
+
+ private
+
+ # TODO: remove once SyntaxTree location are fixed
+ #
+ # source://spoom//lib/spoom/deadcode/remover.rb#601
+ sig { params(node: ::SyntaxTree::Node, nodes: T::Array[::SyntaxTree::Node]).returns(::Spoom::Deadcode::Location) }
+ def location_from_children(node, nodes); end
+
+ # TODO: remove once SyntaxTree location are fixed
+ #
+ # source://spoom//lib/spoom/deadcode/remover.rb#586
+ sig { params(node: ::SyntaxTree::Node).returns(::Spoom::Deadcode::Location) }
+ def location_from_node(node); end
+
+ class << self
+ # source://spoom//lib/spoom/deadcode/remover.rb#512
+ sig do
+ params(
+ source: ::String,
+ location: ::Spoom::Deadcode::Location,
+ kind: ::Spoom::Deadcode::Definition::Kind
+ ).returns(::Spoom::Deadcode::Remover::NodeContext)
+ end
+ def find(source, location, kind); end
+
+ # source://spoom//lib/spoom/deadcode/remover.rb#531
+ sig { params(node: ::SyntaxTree::Node, kind: ::Spoom::Deadcode::Definition::Kind).returns(T::Boolean) }
+ def node_match_kind?(node, kind); end
+ end
+end
+
+# source://spoom//lib/spoom/deadcode/remover.rb#29
+class Spoom::Deadcode::Remover::NodeRemover
+ # source://spoom//lib/spoom/deadcode/remover.rb#36
+ sig do
+ params(
+ source: ::String,
+ kind: ::Spoom::Deadcode::Definition::Kind,
+ location: ::Spoom::Deadcode::Location
+ ).void
+ end
+ def initialize(source, kind, location); end
+
+ # source://spoom//lib/spoom/deadcode/remover.rb#46
+ sig { void }
+ def apply_edit; end
+
+ # source://spoom//lib/spoom/deadcode/remover.rb#33
+ sig { returns(::String) }
+ def new_source; end
+
+ private
+
+ # source://spoom//lib/spoom/deadcode/remover.rb#142
+ sig { params(context: ::Spoom::Deadcode::Remover::NodeContext).void }
+ def delete_attr_accessor(context); end
+
+ # source://spoom//lib/spoom/deadcode/remover.rb#290
+ sig { params(start_char: ::Integer, end_char: ::Integer).void }
+ def delete_chars(start_char, end_char); end
+
+ # source://spoom//lib/spoom/deadcode/remover.rb#69
+ sig { params(context: ::Spoom::Deadcode::Remover::NodeContext).void }
+ def delete_constant_assignment(context); end
+
+ # source://spoom//lib/spoom/deadcode/remover.rb#300
+ sig { params(line_number: ::Integer, start_column: ::Integer, end_column: ::Integer).void }
+ def delete_line_part(line_number, start_column, end_column); end
+
+ # source://spoom//lib/spoom/deadcode/remover.rb#283
+ sig { params(start_line: ::Integer, end_line: ::Integer).void }
+ def delete_lines(start_line, end_line); end
+
+ # source://spoom//lib/spoom/deadcode/remover.rb#250
+ sig { params(context: ::Spoom::Deadcode::Remover::NodeContext).void }
+ def delete_node_and_comments_and_sigs(context); end
+
+ # source://spoom//lib/spoom/deadcode/remover.rb#207
+ sig do
+ params(
+ node: ::SyntaxTree::Node,
+ send_context: ::Spoom::Deadcode::Remover::NodeContext,
+ was_removed: T::Boolean
+ ).void
+ end
+ def insert_accessor(node, send_context, was_removed:); end
+
+ # source://spoom//lib/spoom/deadcode/remover.rb#295
+ sig { params(start_char: ::Integer, end_char: ::Integer, replacement: ::String).void }
+ def replace_chars(start_char, end_char, replacement); end
+
+ # source://spoom//lib/spoom/deadcode/remover.rb#315
+ sig do
+ params(
+ node: ::SyntaxTree::MethodAddBlock,
+ name: ::String,
+ kind: ::Spoom::Deadcode::Definition::Kind
+ ).returns(::String)
+ end
+ def transform_sig(node, name:, kind:); end
+end
+
+# An abstraction to simplify handling of SyntaxTree::CallNode, SyntaxTree::Command, SyntaxTree::CommandCall and
+# SyntaxTree::VCall nodes.
+#
+# source://spoom//lib/spoom/deadcode/send.rb#8
+class Spoom::Deadcode::Send < ::T::Struct
+ const :node, ::SyntaxTree::Node
+ const :name, ::String
+ const :recv, T.nilable(::SyntaxTree::Node), default: T.unsafe(nil)
+ const :args, T::Array[::SyntaxTree::Node], default: T.unsafe(nil)
+ const :block, T.nilable(::SyntaxTree::Node), default: T.unsafe(nil)
+
+ # source://spoom//lib/spoom/deadcode/send.rb#22
+ sig do
+ type_parameters(:T)
+ .params(
+ arg_type: T::Class[T.type_parameter(:T)],
+ block: T.proc.params(arg: T.type_parameter(:T)).void
+ ).void
+ end
+ def each_arg(arg_type, &block); end
+
+ # source://spoom//lib/spoom/deadcode/send.rb#29
+ sig { params(block: T.proc.params(key: ::SyntaxTree::Node, value: T.nilable(::SyntaxTree::Node)).void).void }
+ def each_arg_assoc(&block); end
+
+ class << self
+ # source://sorbet-runtime/0.5.11262/lib/types/struct.rb#13
+ def inherited(s); end
end
end
@@ -1362,7 +2613,7 @@ class Spoom::ExecResult < ::T::Struct
def to_s; end
class << self
- # source://sorbet-runtime/0.5.10875/lib/types/struct.rb#13
+ # source://sorbet-runtime/0.5.11262/lib/types/struct.rb#13
def inherited(s); end
end
end
@@ -1374,41 +2625,55 @@ class Spoom::FileCollector
# If `allow_extensions` is empty, all files are collected.
# If `allow_extensions` is an array of extensions, only files with one of these extensions are collected.
#
- # source://spoom//lib/spoom/file_collector.rb#21
- sig { params(allow_extensions: T::Array[::String], exclude_patterns: T::Array[::String]).void }
- def initialize(allow_extensions: T.unsafe(nil), exclude_patterns: T.unsafe(nil)); end
+ # If `allow_mime_types` is empty, all files are collected.
+ # If `allow_mime_types` is an array of mimetypes, files without an extension are collected if their mimetype is in
+ # the list.
+ #
+ # source://spoom//lib/spoom/file_collector.rb#26
+ sig do
+ params(
+ allow_extensions: T::Array[::String],
+ allow_mime_types: T::Array[::String],
+ exclude_patterns: T::Array[::String]
+ ).void
+ end
+ def initialize(allow_extensions: T.unsafe(nil), allow_mime_types: T.unsafe(nil), exclude_patterns: T.unsafe(nil)); end
# source://spoom//lib/spoom/file_collector.rb#9
sig { returns(T::Array[::String]) }
def files; end
- # source://spoom//lib/spoom/file_collector.rb#33
+ # source://spoom//lib/spoom/file_collector.rb#39
sig { params(path: ::String).void }
def visit_path(path); end
- # source://spoom//lib/spoom/file_collector.rb#28
+ # source://spoom//lib/spoom/file_collector.rb#34
sig { params(paths: T::Array[::String]).void }
def visit_paths(paths); end
private
- # source://spoom//lib/spoom/file_collector.rb#50
+ # source://spoom//lib/spoom/file_collector.rb#56
sig { params(path: ::String).returns(::String) }
def clean_path(path); end
- # source://spoom//lib/spoom/file_collector.rb#67
+ # source://spoom//lib/spoom/file_collector.rb#73
sig { params(path: ::String).returns(T::Boolean) }
def excluded_file?(path); end
- # source://spoom//lib/spoom/file_collector.rb#75
+ # source://spoom//lib/spoom/file_collector.rb#88
sig { params(path: ::String).returns(T::Boolean) }
def excluded_path?(path); end
- # source://spoom//lib/spoom/file_collector.rb#62
+ # source://spoom//lib/spoom/file_collector.rb#97
+ sig { params(path: ::String).returns(T.nilable(::String)) }
+ def mime_type_for(path); end
+
+ # source://spoom//lib/spoom/file_collector.rb#68
sig { params(path: ::String).void }
def visit_directory(path); end
- # source://spoom//lib/spoom/file_collector.rb#55
+ # source://spoom//lib/spoom/file_collector.rb#61
sig { params(path: ::String).void }
def visit_file(path); end
end
@@ -1556,7 +2821,7 @@ class Spoom::FileTree::Node < ::T::Struct
def path; end
class << self
- # source://sorbet-runtime/0.5.10875/lib/types/struct.rb#13
+ # source://sorbet-runtime/0.5.11262/lib/types/struct.rb#13
def inherited(s); end
end
end
@@ -1607,11 +2872,6 @@ class Spoom::FileTree::Visitor
# source://spoom//lib/spoom/file_tree.rb#124
sig { params(tree: ::Spoom::FileTree).void }
def visit_tree(tree); end
-
- class << self
- # source://sorbet-runtime/0.5.10875/lib/types/private/abstract/declare.rb#37
- def new(*args, **_arg1, &blk); end
- end
end
# source://spoom//lib/spoom/context/git.rb#5
@@ -1627,7 +2887,7 @@ class Spoom::Git::Commit < ::T::Struct
def timestamp; end
class << self
- # source://sorbet-runtime/0.5.10875/lib/types/struct.rb#13
+ # source://sorbet-runtime/0.5.11262/lib/types/struct.rb#13
def inherited(s); end
# Parse a line formated as `%h %at` into a `Commit`
@@ -1739,7 +2999,7 @@ class Spoom::LSP::Diagnostic < ::T::Struct
sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::Diagnostic) }
def from_json(json); end
- # source://sorbet-runtime/0.5.10875/lib/types/struct.rb#13
+ # source://sorbet-runtime/0.5.11262/lib/types/struct.rb#13
def inherited(s); end
end
end
@@ -1772,7 +3032,7 @@ class Spoom::LSP::DocumentSymbol < ::T::Struct
sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::DocumentSymbol) }
def from_json(json); end
- # source://sorbet-runtime/0.5.10875/lib/types/struct.rb#13
+ # source://sorbet-runtime/0.5.11262/lib/types/struct.rb#13
def inherited(s); end
end
end
@@ -1830,7 +3090,7 @@ class Spoom::LSP::Hover < ::T::Struct
sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::Hover) }
def from_json(json); end
- # source://sorbet-runtime/0.5.10875/lib/types/struct.rb#13
+ # source://sorbet-runtime/0.5.11262/lib/types/struct.rb#13
def inherited(s); end
end
end
@@ -1855,7 +3115,7 @@ class Spoom::LSP::Location < ::T::Struct
sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::Location) }
def from_json(json); end
- # source://sorbet-runtime/0.5.10875/lib/types/struct.rb#13
+ # source://sorbet-runtime/0.5.11262/lib/types/struct.rb#13
def inherited(s); end
end
end
@@ -1866,19 +3126,15 @@ end
#
# source://spoom//lib/spoom/sorbet/lsp/base.rb#12
class Spoom::LSP::Message
- # source://spoom//lib/spoom/sorbet/lsp/base.rb#19
+ # source://spoom//lib/spoom/sorbet/lsp/base.rb#16
sig { void }
def initialize; end
- # source://spoom//lib/spoom/sorbet/lsp/base.rb#24
+ # source://spoom//lib/spoom/sorbet/lsp/base.rb#21
sig { returns(T::Hash[T.untyped, T.untyped]) }
def as_json; end
- # source://spoom//lib/spoom/sorbet/lsp/base.rb#16
- sig { returns(::String) }
- def jsonrpc; end
-
- # source://spoom//lib/spoom/sorbet/lsp/base.rb#32
+ # source://spoom//lib/spoom/sorbet/lsp/base.rb#29
sig { params(args: T.untyped).returns(::String) }
def to_json(*args); end
end
@@ -1887,17 +3143,17 @@ end
#
# A processed notification message must not send a response back. They work like events.
#
-# source://spoom//lib/spoom/sorbet/lsp/base.rb#64
+# source://spoom//lib/spoom/sorbet/lsp/base.rb#58
class Spoom::LSP::Notification < ::Spoom::LSP::Message
- # source://spoom//lib/spoom/sorbet/lsp/base.rb#74
+ # source://spoom//lib/spoom/sorbet/lsp/base.rb#68
sig { params(method: ::String, params: T::Hash[T.untyped, T.untyped]).void }
def initialize(method, params); end
- # source://spoom//lib/spoom/sorbet/lsp/base.rb#68
+ # source://spoom//lib/spoom/sorbet/lsp/base.rb#62
sig { returns(::String) }
def method; end
- # source://spoom//lib/spoom/sorbet/lsp/base.rb#71
+ # source://spoom//lib/spoom/sorbet/lsp/base.rb#65
sig { returns(T::Hash[T.untyped, T.untyped]) }
def params; end
end
@@ -1922,7 +3178,7 @@ class Spoom::LSP::Position < ::T::Struct
sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::Position) }
def from_json(json); end
- # source://sorbet-runtime/0.5.10875/lib/types/struct.rb#13
+ # source://sorbet-runtime/0.5.11262/lib/types/struct.rb#13
def inherited(s); end
end
end
@@ -1960,7 +3216,7 @@ class Spoom::LSP::Range < ::T::Struct
sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::Range) }
def from_json(json); end
- # source://sorbet-runtime/0.5.10875/lib/types/struct.rb#13
+ # source://sorbet-runtime/0.5.11262/lib/types/struct.rb#13
def inherited(s); end
end
end
@@ -1969,21 +3225,17 @@ end
#
# Every processed request must send a response back to the sender of the request.
#
-# source://spoom//lib/spoom/sorbet/lsp/base.rb#40
+# source://spoom//lib/spoom/sorbet/lsp/base.rb#37
class Spoom::LSP::Request < ::Spoom::LSP::Message
- # source://spoom//lib/spoom/sorbet/lsp/base.rb#53
+ # source://spoom//lib/spoom/sorbet/lsp/base.rb#47
sig { params(id: ::Integer, method: ::String, params: T::Hash[T.untyped, T.untyped]).void }
def initialize(id, method, params); end
- # source://spoom//lib/spoom/sorbet/lsp/base.rb#44
+ # source://spoom//lib/spoom/sorbet/lsp/base.rb#41
sig { returns(::Integer) }
def id; end
- # source://spoom//lib/spoom/sorbet/lsp/base.rb#47
- sig { returns(::String) }
- def method; end
-
- # source://spoom//lib/spoom/sorbet/lsp/base.rb#50
+ # source://spoom//lib/spoom/sorbet/lsp/base.rb#44
sig { returns(T::Hash[T.untyped, T.untyped]) }
def params; end
end
@@ -2030,7 +3282,7 @@ class Spoom::LSP::SignatureHelp < ::T::Struct
sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::SignatureHelp) }
def from_json(json); end
- # source://sorbet-runtime/0.5.10875/lib/types/struct.rb#13
+ # source://sorbet-runtime/0.5.11262/lib/types/struct.rb#13
def inherited(s); end
end
end
@@ -2076,55 +3328,46 @@ class Spoom::LSP::SymbolPrinter < ::Spoom::Printer
# source://spoom//lib/spoom/sorbet/lsp/structures.rb#313
sig { returns(T::Set[::Integer]) }
def seen; end
-
- # @return [Set]
- #
- # source://spoom//lib/spoom/sorbet/lsp/structures.rb#313
- def seen=(_arg0); end
end
-# @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
-#
# source://spoom//lib/spoom/printer.rb#7
class Spoom::Printer
include ::Spoom::Colorize
- abstract!
-
- # source://spoom//lib/spoom/printer.rb#19
+ # source://spoom//lib/spoom/printer.rb#17
sig { params(out: T.any(::IO, ::StringIO), colors: T::Boolean, indent_level: ::Integer).void }
def initialize(out: T.unsafe(nil), colors: T.unsafe(nil), indent_level: T.unsafe(nil)); end
# Colorize `string` with color if `@colors`
#
- # source://spoom//lib/spoom/printer.rb#80
+ # source://spoom//lib/spoom/printer.rb#78
sig { params(string: ::String, color: ::Spoom::Color).returns(::String) }
def colorize(string, *color); end
# Decrease indent level
#
- # source://spoom//lib/spoom/printer.rb#33
+ # source://spoom//lib/spoom/printer.rb#31
sig { void }
def dedent; end
# Increase indent level
#
- # source://spoom//lib/spoom/printer.rb#27
+ # source://spoom//lib/spoom/printer.rb#25
sig { void }
def indent; end
- # source://spoom//lib/spoom/printer.rb#16
+ # source://spoom//lib/spoom/printer.rb#14
sig { returns(T.any(::IO, ::StringIO)) }
def out; end
# @return [IO, StringIO]
#
- # source://spoom//lib/spoom/printer.rb#16
+ # source://spoom//lib/spoom/printer.rb#14
def out=(_arg0); end
# Print `string` into `out`
#
- # source://spoom//lib/spoom/printer.rb#39
+ # source://spoom//lib/spoom/printer.rb#37
sig { params(string: T.nilable(::String)).void }
def print(string); end
@@ -2132,32 +3375,27 @@ class Spoom::Printer
#
# Does not use colors unless `@colors`.
#
- # source://spoom//lib/spoom/printer.rb#49
+ # source://spoom//lib/spoom/printer.rb#47
sig { params(string: T.nilable(::String), color: ::Spoom::Color).void }
def print_colored(string, *color); end
# Print `string` with indent and newline
#
- # source://spoom//lib/spoom/printer.rb#64
+ # source://spoom//lib/spoom/printer.rb#62
sig { params(string: T.nilable(::String)).void }
def printl(string); end
# Print a new line into `out`
#
- # source://spoom//lib/spoom/printer.rb#58
+ # source://spoom//lib/spoom/printer.rb#56
sig { void }
def printn; end
# Print an indent space into `out`
#
- # source://spoom//lib/spoom/printer.rb#74
+ # source://spoom//lib/spoom/printer.rb#72
sig { void }
def printt; end
-
- class << self
- # source://sorbet-runtime/0.5.10875/lib/types/private/abstract/declare.rb#37
- def new(*args, **_arg1, &blk); end
- end
end
# source://spoom//lib/spoom.rb#10
@@ -2166,7 +3404,7 @@ Spoom::SPOOM_PATH = T.let(T.unsafe(nil), String)
# source://spoom//lib/spoom/sorbet/config.rb#5
module Spoom::Sorbet; end
-# source://spoom//lib/spoom/sorbet.rb#38
+# source://spoom//lib/spoom/sorbet.rb#39
Spoom::Sorbet::BIN_PATH = T.let(T.unsafe(nil), String)
# source://spoom//lib/spoom/sorbet.rb#36
@@ -2409,7 +3647,10 @@ Spoom::Sorbet::Errors::Parser::HEADER = T.let(T.unsafe(nil), Array)
# source://spoom//lib/spoom/sorbet.rb#37
Spoom::Sorbet::GEM_PATH = T.let(T.unsafe(nil), String)
-# source://spoom//lib/spoom/sorbet.rb#40
+# source://spoom//lib/spoom/sorbet.rb#38
+Spoom::Sorbet::GEM_VERSION = T.let(T.unsafe(nil), String)
+
+# source://spoom//lib/spoom/sorbet.rb#41
Spoom::Sorbet::KILLED_CODE = T.let(T.unsafe(nil), Integer)
# source://spoom//lib/spoom/sorbet/metrics.rb#8
@@ -2432,7 +3673,7 @@ end
# source://spoom//lib/spoom/sorbet/metrics.rb#9
Spoom::Sorbet::MetricsParser::DEFAULT_PREFIX = T.let(T.unsafe(nil), String)
-# source://spoom//lib/spoom/sorbet.rb#41
+# source://spoom//lib/spoom/sorbet.rb#42
Spoom::Sorbet::SEGFAULT_CODE = T.let(T.unsafe(nil), Integer)
# source://spoom//lib/spoom/sorbet/sigils.rb#9
diff --git a/sorbet/rbi/gems/stringio@3.0.6.rbi b/sorbet/rbi/gems/stringio@3.1.0.rbi
similarity index 100%
rename from sorbet/rbi/gems/stringio@3.0.6.rbi
rename to sorbet/rbi/gems/stringio@3.1.0.rbi
diff --git a/sorbet/rbi/gems/syntax_tree@6.1.1.rbi b/sorbet/rbi/gems/syntax_tree@6.2.0.rbi
similarity index 86%
rename from sorbet/rbi/gems/syntax_tree@6.1.1.rbi
rename to sorbet/rbi/gems/syntax_tree@6.2.0.rbi
index f82615267..0c0ba6188 100644
--- a/sorbet/rbi/gems/syntax_tree@6.1.1.rbi
+++ b/sorbet/rbi/gems/syntax_tree@6.2.0.rbi
@@ -14,72 +14,72 @@ module SyntaxTree
class << self
# Parses the given source and returns the formatted source.
#
- # source://syntax_tree//lib/syntax_tree.rb#59
+ # source://syntax_tree//lib/syntax_tree.rb#60
def format(source, maxwidth = T.unsafe(nil), base_indentation = T.unsafe(nil), options: T.unsafe(nil)); end
# Parses the given file and returns the formatted source.
#
- # source://syntax_tree//lib/syntax_tree.rb#75
+ # source://syntax_tree//lib/syntax_tree.rb#76
def format_file(filepath, maxwidth = T.unsafe(nil), base_indentation = T.unsafe(nil), options: T.unsafe(nil)); end
# Accepts a node in the tree and returns the formatted source.
#
- # source://syntax_tree//lib/syntax_tree.rb#85
+ # source://syntax_tree//lib/syntax_tree.rb#86
def format_node(source, node, maxwidth = T.unsafe(nil), base_indentation = T.unsafe(nil), options: T.unsafe(nil)); end
# Indexes the given source code to return a list of all class, module, and
# method definitions. Used to quickly provide indexing capability for IDEs or
# documentation generation.
#
- # source://syntax_tree//lib/syntax_tree.rb#102
+ # source://syntax_tree//lib/syntax_tree.rb#103
def index(source); end
# Indexes the given file to return a list of all class, module, and method
# definitions. Used to quickly provide indexing capability for IDEs or
# documentation generation.
#
- # source://syntax_tree//lib/syntax_tree.rb#109
+ # source://syntax_tree//lib/syntax_tree.rb#110
def index_file(filepath); end
# A convenience method for creating a new mutation visitor.
#
# @yield [visitor]
#
- # source://syntax_tree//lib/syntax_tree.rb#114
+ # source://syntax_tree//lib/syntax_tree.rb#115
def mutation; end
# Parses the given source and returns the syntax tree.
#
- # source://syntax_tree//lib/syntax_tree.rb#121
+ # source://syntax_tree//lib/syntax_tree.rb#122
def parse(source); end
# Parses the given file and returns the syntax tree.
#
- # source://syntax_tree//lib/syntax_tree.rb#128
+ # source://syntax_tree//lib/syntax_tree.rb#129
def parse_file(filepath); end
# Returns the source from the given filepath taking into account any potential
# magic encoding comments.
#
- # source://syntax_tree//lib/syntax_tree.rb#134
+ # source://syntax_tree//lib/syntax_tree.rb#135
def read(filepath); end
# This is a hook provided so that plugins can register themselves as the
# handler for a particular file type.
#
- # source://syntax_tree//lib/syntax_tree.rb#149
+ # source://syntax_tree//lib/syntax_tree.rb#150
def register_handler(extension, handler); end
# Searches through the given source using the given pattern and yields each
# node in the tree that matches the pattern to the given block.
#
- # source://syntax_tree//lib/syntax_tree.rb#155
+ # source://syntax_tree//lib/syntax_tree.rb#156
def search(source, query, &block); end
# Searches through the given file using the given pattern and yields each
# node in the tree that matches the pattern to the given block.
#
- # source://syntax_tree//lib/syntax_tree.rb#164
+ # source://syntax_tree//lib/syntax_tree.rb#165
def search_file(filepath, query, &block); end
end
end
@@ -716,7 +716,7 @@ class SyntaxTree::AryPtn < ::SyntaxTree::Node
# source://syntax_tree//lib/syntax_tree/node.rb#1318
def comments; end
- # [nil | VarRef] the optional constant wrapper
+ # [nil | VarRef | ConstPathRef] the optional constant wrapper
#
# source://syntax_tree//lib/syntax_tree/node.rb#1303
def constant; end
@@ -1415,60 +1415,60 @@ end
#
# method { |value| }
#
-# source://syntax_tree//lib/syntax_tree/node.rb#4309
+# source://syntax_tree//lib/syntax_tree/node.rb#4312
class SyntaxTree::BlockNode < ::SyntaxTree::Node
# @return [BlockNode] a new instance of BlockNode
#
- # source://syntax_tree//lib/syntax_tree/node.rb#4344
+ # source://syntax_tree//lib/syntax_tree/node.rb#4347
def initialize(opening:, block_var:, bodystmt:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#4417
+ # source://syntax_tree//lib/syntax_tree/node.rb#4420
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#4352
+ # source://syntax_tree//lib/syntax_tree/node.rb#4355
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#4426
+ # source://syntax_tree//lib/syntax_tree/node.rb#4429
def arity; end
# [nil | BlockVar] the optional variable declaration within this block
#
- # source://syntax_tree//lib/syntax_tree/node.rb#4336
+ # source://syntax_tree//lib/syntax_tree/node.rb#4339
def block_var; end
# [BodyStmt | Statements] the expressions to be executed within this block
#
- # source://syntax_tree//lib/syntax_tree/node.rb#4339
+ # source://syntax_tree//lib/syntax_tree/node.rb#4342
def bodystmt; end
- # source://syntax_tree//lib/syntax_tree/node.rb#4356
+ # source://syntax_tree//lib/syntax_tree/node.rb#4359
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#4342
+ # source://syntax_tree//lib/syntax_tree/node.rb#4345
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#4360
+ # source://syntax_tree//lib/syntax_tree/node.rb#4363
def copy(opening: T.unsafe(nil), block_var: T.unsafe(nil), bodystmt: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#4356
+ # source://syntax_tree//lib/syntax_tree/node.rb#4359
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#4375
+ # source://syntax_tree//lib/syntax_tree/node.rb#4378
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#4385
+ # source://syntax_tree//lib/syntax_tree/node.rb#4388
def format(q); end
# @return [Boolean]
#
- # source://syntax_tree//lib/syntax_tree/node.rb#4422
+ # source://syntax_tree//lib/syntax_tree/node.rb#4425
def keywords?; end
# [LBrace | Kw] the left brace or the do keyword that opens this block
#
- # source://syntax_tree//lib/syntax_tree/node.rb#4333
+ # source://syntax_tree//lib/syntax_tree/node.rb#4336
def opening; end
private
@@ -1478,7 +1478,7 @@ class SyntaxTree::BlockNode < ::SyntaxTree::Node
#
# @return [Boolean]
#
- # source://syntax_tree//lib/syntax_tree/node.rb#4468
+ # source://syntax_tree//lib/syntax_tree/node.rb#4471
def forced_brace_bounds?(q); end
# If we're a sibling of a control-flow keyword, then we're going to have to
@@ -1486,13 +1486,13 @@ class SyntaxTree::BlockNode < ::SyntaxTree::Node
#
# @return [Boolean]
#
- # source://syntax_tree//lib/syntax_tree/node.rb#4457
+ # source://syntax_tree//lib/syntax_tree/node.rb#4460
def forced_do_end_bounds?(q); end
- # source://syntax_tree//lib/syntax_tree/node.rb#4484
+ # source://syntax_tree//lib/syntax_tree/node.rb#4487
def format_break(q, break_opening, break_closing); end
- # source://syntax_tree//lib/syntax_tree/node.rb#4504
+ # source://syntax_tree//lib/syntax_tree/node.rb#4507
def format_flat(q, flat_opening, flat_closing); end
# If this is nested anywhere inside certain nodes, then we can't change
@@ -1500,33 +1500,33 @@ class SyntaxTree::BlockNode < ::SyntaxTree::Node
#
# @return [Boolean]
#
- # source://syntax_tree//lib/syntax_tree/node.rb#4439
+ # source://syntax_tree//lib/syntax_tree/node.rb#4442
def unchangeable_bounds?(q); end
end
# Formats the opening brace or keyword of a block.
#
-# source://syntax_tree//lib/syntax_tree/node.rb#4311
+# source://syntax_tree//lib/syntax_tree/node.rb#4314
class SyntaxTree::BlockNode::BlockOpenFormatter
# @return [BlockOpenFormatter] a new instance of BlockOpenFormatter
#
- # source://syntax_tree//lib/syntax_tree/node.rb#4318
+ # source://syntax_tree//lib/syntax_tree/node.rb#4321
def initialize(text, node); end
- # source://syntax_tree//lib/syntax_tree/node.rb#4323
+ # source://syntax_tree//lib/syntax_tree/node.rb#4326
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#4327
+ # source://syntax_tree//lib/syntax_tree/node.rb#4330
def format(q); end
# [LBrace | Keyword] the node that is being represented
#
- # source://syntax_tree//lib/syntax_tree/node.rb#4316
+ # source://syntax_tree//lib/syntax_tree/node.rb#4319
def node; end
# [String] the actual output that should be printed
#
- # source://syntax_tree//lib/syntax_tree/node.rb#4313
+ # source://syntax_tree//lib/syntax_tree/node.rb#4316
def text; end
end
@@ -2168,42 +2168,42 @@ end
#
# @@variable
#
-# source://syntax_tree//lib/syntax_tree/node.rb#4043
+# source://syntax_tree//lib/syntax_tree/node.rb#4046
class SyntaxTree::CVar < ::SyntaxTree::Node
# @return [CVar] a new instance of CVar
#
- # source://syntax_tree//lib/syntax_tree/node.rb#4050
+ # source://syntax_tree//lib/syntax_tree/node.rb#4053
def initialize(value:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#4085
+ # source://syntax_tree//lib/syntax_tree/node.rb#4088
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#4056
+ # source://syntax_tree//lib/syntax_tree/node.rb#4059
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#4060
+ # source://syntax_tree//lib/syntax_tree/node.rb#4063
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#4048
+ # source://syntax_tree//lib/syntax_tree/node.rb#4051
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#4064
+ # source://syntax_tree//lib/syntax_tree/node.rb#4067
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#4060
+ # source://syntax_tree//lib/syntax_tree/node.rb#4063
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#4077
+ # source://syntax_tree//lib/syntax_tree/node.rb#4080
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#4081
+ # source://syntax_tree//lib/syntax_tree/node.rb#4084
def format(q); end
# [String] the name of the class variable
#
- # source://syntax_tree//lib/syntax_tree/node.rb#4045
+ # source://syntax_tree//lib/syntax_tree/node.rb#4048
def value; end
end
@@ -2248,16 +2248,16 @@ class SyntaxTree::CallChainFormatter
#
# @return [Boolean]
#
- # source://syntax_tree//lib/syntax_tree/node.rb#2895
+ # source://syntax_tree//lib/syntax_tree/node.rb#2898
def attach_directly?(node); end
- # source://syntax_tree//lib/syntax_tree/node.rb#2905
+ # source://syntax_tree//lib/syntax_tree/node.rb#2908
def format_child(q, child, skip_comments: T.unsafe(nil), skip_operator: T.unsafe(nil), skip_attached: T.unsafe(nil)); end
class << self
# @return [Boolean]
#
- # source://syntax_tree//lib/syntax_tree/node.rb#2876
+ # source://syntax_tree//lib/syntax_tree/node.rb#2879
def chained?(node); end
end
end
@@ -2266,69 +2266,69 @@ end
#
# receiver.message
#
-# source://syntax_tree//lib/syntax_tree/node.rb#2943
+# source://syntax_tree//lib/syntax_tree/node.rb#2946
class SyntaxTree::CallNode < ::SyntaxTree::Node
# @return [CallNode] a new instance of CallNode
#
- # source://syntax_tree//lib/syntax_tree/node.rb#2959
+ # source://syntax_tree//lib/syntax_tree/node.rb#2962
def initialize(receiver:, operator:, message:, arguments:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#3054
+ # source://syntax_tree//lib/syntax_tree/node.rb#3057
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#2968
+ # source://syntax_tree//lib/syntax_tree/node.rb#2971
def accept(visitor); end
# [nil | ArgParen | Args] the arguments to the method call
#
- # source://syntax_tree//lib/syntax_tree/node.rb#2954
+ # source://syntax_tree//lib/syntax_tree/node.rb#2957
def arguments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#3100
+ # source://syntax_tree//lib/syntax_tree/node.rb#3103
def arity; end
- # source://syntax_tree//lib/syntax_tree/node.rb#2972
+ # source://syntax_tree//lib/syntax_tree/node.rb#2975
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#2957
+ # source://syntax_tree//lib/syntax_tree/node.rb#2960
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#2981
+ # source://syntax_tree//lib/syntax_tree/node.rb#2984
def copy(receiver: T.unsafe(nil), operator: T.unsafe(nil), message: T.unsafe(nil), arguments: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#2972
+ # source://syntax_tree//lib/syntax_tree/node.rb#2975
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#3003
+ # source://syntax_tree//lib/syntax_tree/node.rb#3006
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#3014
+ # source://syntax_tree//lib/syntax_tree/node.rb#3017
def format(q); end
# Print out the arguments to this call. If there are no arguments, then do
# nothing.
#
- # source://syntax_tree//lib/syntax_tree/node.rb#3062
+ # source://syntax_tree//lib/syntax_tree/node.rb#3065
def format_arguments(q); end
- # source://syntax_tree//lib/syntax_tree/node.rb#3072
+ # source://syntax_tree//lib/syntax_tree/node.rb#3075
def format_contents(q); end
# [:call | Backtick | Const | Ident | Op] the message being sent
#
- # source://syntax_tree//lib/syntax_tree/node.rb#2951
+ # source://syntax_tree//lib/syntax_tree/node.rb#2954
def message; end
# [nil | :"::" | Op | Period] the operator being used to send the message
#
- # source://syntax_tree//lib/syntax_tree/node.rb#2948
+ # source://syntax_tree//lib/syntax_tree/node.rb#2951
def operator; end
# [nil | Node] the receiver of the method call
#
- # source://syntax_tree//lib/syntax_tree/node.rb#2945
+ # source://syntax_tree//lib/syntax_tree/node.rb#2948
def receiver; end
end
@@ -2365,52 +2365,52 @@ end
# "number"
# end
#
-# source://syntax_tree//lib/syntax_tree/node.rb#3116
+# source://syntax_tree//lib/syntax_tree/node.rb#3119
class SyntaxTree::Case < ::SyntaxTree::Node
# @return [Case] a new instance of Case
#
- # source://syntax_tree//lib/syntax_tree/node.rb#3129
+ # source://syntax_tree//lib/syntax_tree/node.rb#3132
def initialize(keyword:, value:, consequent:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#3187
+ # source://syntax_tree//lib/syntax_tree/node.rb#3190
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#3137
+ # source://syntax_tree//lib/syntax_tree/node.rb#3140
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#3141
+ # source://syntax_tree//lib/syntax_tree/node.rb#3144
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#3127
+ # source://syntax_tree//lib/syntax_tree/node.rb#3130
def comments; end
# [In | When] the next clause in the chain
#
- # source://syntax_tree//lib/syntax_tree/node.rb#3124
+ # source://syntax_tree//lib/syntax_tree/node.rb#3127
def consequent; end
- # source://syntax_tree//lib/syntax_tree/node.rb#3145
+ # source://syntax_tree//lib/syntax_tree/node.rb#3148
def copy(keyword: T.unsafe(nil), value: T.unsafe(nil), consequent: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#3141
+ # source://syntax_tree//lib/syntax_tree/node.rb#3144
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#3160
+ # source://syntax_tree//lib/syntax_tree/node.rb#3163
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#3170
+ # source://syntax_tree//lib/syntax_tree/node.rb#3173
def format(q); end
# [Kw] the keyword that opens this expression
#
- # source://syntax_tree//lib/syntax_tree/node.rb#3118
+ # source://syntax_tree//lib/syntax_tree/node.rb#3121
def keyword; end
# [nil | Node] optional value being switched on
#
- # source://syntax_tree//lib/syntax_tree/node.rb#3121
+ # source://syntax_tree//lib/syntax_tree/node.rb#3124
def value; end
end
@@ -2446,91 +2446,91 @@ end
# class Child < method
# end
#
-# source://syntax_tree//lib/syntax_tree/node.rb#3312
+# source://syntax_tree//lib/syntax_tree/node.rb#3315
class SyntaxTree::ClassDeclaration < ::SyntaxTree::Node
# @return [ClassDeclaration] a new instance of ClassDeclaration
#
- # source://syntax_tree//lib/syntax_tree/node.rb#3326
+ # source://syntax_tree//lib/syntax_tree/node.rb#3329
def initialize(constant:, superclass:, bodystmt:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#3389
+ # source://syntax_tree//lib/syntax_tree/node.rb#3392
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#3334
+ # source://syntax_tree//lib/syntax_tree/node.rb#3337
def accept(visitor); end
# [BodyStmt] the expressions to execute within the context of the class
#
- # source://syntax_tree//lib/syntax_tree/node.rb#3321
+ # source://syntax_tree//lib/syntax_tree/node.rb#3324
def bodystmt; end
- # source://syntax_tree//lib/syntax_tree/node.rb#3338
+ # source://syntax_tree//lib/syntax_tree/node.rb#3341
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#3324
+ # source://syntax_tree//lib/syntax_tree/node.rb#3327
def comments; end
# [ConstPathRef | ConstRef | TopConstRef] the name of the class being
# defined
#
- # source://syntax_tree//lib/syntax_tree/node.rb#3315
+ # source://syntax_tree//lib/syntax_tree/node.rb#3318
def constant; end
- # source://syntax_tree//lib/syntax_tree/node.rb#3342
+ # source://syntax_tree//lib/syntax_tree/node.rb#3345
def copy(constant: T.unsafe(nil), superclass: T.unsafe(nil), bodystmt: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#3338
+ # source://syntax_tree//lib/syntax_tree/node.rb#3341
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#3357
+ # source://syntax_tree//lib/syntax_tree/node.rb#3360
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#3367
+ # source://syntax_tree//lib/syntax_tree/node.rb#3370
def format(q); end
# [nil | Node] the optional superclass declaration
#
- # source://syntax_tree//lib/syntax_tree/node.rb#3318
+ # source://syntax_tree//lib/syntax_tree/node.rb#3321
def superclass; end
private
- # source://syntax_tree//lib/syntax_tree/node.rb#3396
+ # source://syntax_tree//lib/syntax_tree/node.rb#3399
def format_declaration(q); end
end
# Comma represents the use of the , operator.
#
-# source://syntax_tree//lib/syntax_tree/node.rb#3410
+# source://syntax_tree//lib/syntax_tree/node.rb#3413
class SyntaxTree::Comma < ::SyntaxTree::Node
# @return [Comma] a new instance of Comma
#
- # source://syntax_tree//lib/syntax_tree/node.rb#3414
+ # source://syntax_tree//lib/syntax_tree/node.rb#3417
def initialize(value:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#3437
+ # source://syntax_tree//lib/syntax_tree/node.rb#3440
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#3419
+ # source://syntax_tree//lib/syntax_tree/node.rb#3422
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#3423
+ # source://syntax_tree//lib/syntax_tree/node.rb#3426
def child_nodes; end
- # source://syntax_tree//lib/syntax_tree/node.rb#3427
+ # source://syntax_tree//lib/syntax_tree/node.rb#3430
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#3423
+ # source://syntax_tree//lib/syntax_tree/node.rb#3426
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#3433
+ # source://syntax_tree//lib/syntax_tree/node.rb#3436
def deconstruct_keys(_keys); end
# [String] the comma in the string
#
- # source://syntax_tree//lib/syntax_tree/node.rb#3412
+ # source://syntax_tree//lib/syntax_tree/node.rb#3415
def value; end
end
@@ -2540,60 +2540,60 @@ end
#
# method argument
#
-# source://syntax_tree//lib/syntax_tree/node.rb#3448
+# source://syntax_tree//lib/syntax_tree/node.rb#3451
class SyntaxTree::Command < ::SyntaxTree::Node
# @return [Command] a new instance of Command
#
- # source://syntax_tree//lib/syntax_tree/node.rb#3461
+ # source://syntax_tree//lib/syntax_tree/node.rb#3464
def initialize(message:, arguments:, block:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#3511
+ # source://syntax_tree//lib/syntax_tree/node.rb#3514
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#3469
+ # source://syntax_tree//lib/syntax_tree/node.rb#3472
def accept(visitor); end
# [Args] the arguments being sent with the message
#
- # source://syntax_tree//lib/syntax_tree/node.rb#3453
+ # source://syntax_tree//lib/syntax_tree/node.rb#3456
def arguments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#3516
+ # source://syntax_tree//lib/syntax_tree/node.rb#3519
def arity; end
# [nil | BlockNode] the optional block being passed to the method
#
- # source://syntax_tree//lib/syntax_tree/node.rb#3456
+ # source://syntax_tree//lib/syntax_tree/node.rb#3459
def block; end
- # source://syntax_tree//lib/syntax_tree/node.rb#3473
+ # source://syntax_tree//lib/syntax_tree/node.rb#3476
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#3459
+ # source://syntax_tree//lib/syntax_tree/node.rb#3462
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#3477
+ # source://syntax_tree//lib/syntax_tree/node.rb#3480
def copy(message: T.unsafe(nil), arguments: T.unsafe(nil), block: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#3473
+ # source://syntax_tree//lib/syntax_tree/node.rb#3476
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#3492
+ # source://syntax_tree//lib/syntax_tree/node.rb#3495
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#3502
+ # source://syntax_tree//lib/syntax_tree/node.rb#3505
def format(q); end
# [Const | Ident] the message being sent to the implicit receiver
#
- # source://syntax_tree//lib/syntax_tree/node.rb#3450
+ # source://syntax_tree//lib/syntax_tree/node.rb#3453
def message; end
private
- # source://syntax_tree//lib/syntax_tree/node.rb#3522
+ # source://syntax_tree//lib/syntax_tree/node.rb#3525
def align(q, node, &block); end
end
@@ -2602,70 +2602,70 @@ end
#
# object.method argument
#
-# source://syntax_tree//lib/syntax_tree/node.rb#3560
+# source://syntax_tree//lib/syntax_tree/node.rb#3563
class SyntaxTree::CommandCall < ::SyntaxTree::Node
# @return [CommandCall] a new instance of CommandCall
#
- # source://syntax_tree//lib/syntax_tree/node.rb#3579
+ # source://syntax_tree//lib/syntax_tree/node.rb#3582
def initialize(receiver:, operator:, message:, arguments:, block:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#3683
+ # source://syntax_tree//lib/syntax_tree/node.rb#3686
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#3596
+ # source://syntax_tree//lib/syntax_tree/node.rb#3599
def accept(visitor); end
# [nil | Args | ArgParen] the arguments going along with the message
#
- # source://syntax_tree//lib/syntax_tree/node.rb#3571
+ # source://syntax_tree//lib/syntax_tree/node.rb#3574
def arguments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#3689
+ # source://syntax_tree//lib/syntax_tree/node.rb#3692
def arity; end
# [nil | BlockNode] the block associated with this method call
#
- # source://syntax_tree//lib/syntax_tree/node.rb#3574
+ # source://syntax_tree//lib/syntax_tree/node.rb#3577
def block; end
- # source://syntax_tree//lib/syntax_tree/node.rb#3600
+ # source://syntax_tree//lib/syntax_tree/node.rb#3603
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#3577
+ # source://syntax_tree//lib/syntax_tree/node.rb#3580
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#3604
+ # source://syntax_tree//lib/syntax_tree/node.rb#3607
def copy(receiver: T.unsafe(nil), operator: T.unsafe(nil), message: T.unsafe(nil), arguments: T.unsafe(nil), block: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#3600
+ # source://syntax_tree//lib/syntax_tree/node.rb#3603
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#3628
+ # source://syntax_tree//lib/syntax_tree/node.rb#3631
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#3640
+ # source://syntax_tree//lib/syntax_tree/node.rb#3643
def format(q); end
# [:call | Const | Ident | Op] the message being send
#
- # source://syntax_tree//lib/syntax_tree/node.rb#3568
+ # source://syntax_tree//lib/syntax_tree/node.rb#3571
def message; end
# [nil | :"::" | Op | Period] the operator used to send the message
#
- # source://syntax_tree//lib/syntax_tree/node.rb#3565
+ # source://syntax_tree//lib/syntax_tree/node.rb#3568
def operator; end
# [nil | Node] the receiver of the message
#
- # source://syntax_tree//lib/syntax_tree/node.rb#3562
+ # source://syntax_tree//lib/syntax_tree/node.rb#3565
def receiver; end
private
- # source://syntax_tree//lib/syntax_tree/node.rb#3695
+ # source://syntax_tree//lib/syntax_tree/node.rb#3698
def argument_alignment(q, doc); end
end
@@ -2673,112 +2673,112 @@ end
#
# # comment
#
-# source://syntax_tree//lib/syntax_tree/node.rb#3722
+# source://syntax_tree//lib/syntax_tree/node.rb#3725
class SyntaxTree::Comment < ::SyntaxTree::Node
# @return [Comment] a new instance of Comment
#
- # source://syntax_tree//lib/syntax_tree/node.rb#3731
+ # source://syntax_tree//lib/syntax_tree/node.rb#3734
def initialize(value:, inline:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#3790
+ # source://syntax_tree//lib/syntax_tree/node.rb#3793
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#3764
+ # source://syntax_tree//lib/syntax_tree/node.rb#3767
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#3768
+ # source://syntax_tree//lib/syntax_tree/node.rb#3771
def child_nodes; end
- # source://syntax_tree//lib/syntax_tree/node.rb#3760
+ # source://syntax_tree//lib/syntax_tree/node.rb#3763
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#3772
+ # source://syntax_tree//lib/syntax_tree/node.rb#3775
def copy(value: T.unsafe(nil), inline: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#3768
+ # source://syntax_tree//lib/syntax_tree/node.rb#3771
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#3782
+ # source://syntax_tree//lib/syntax_tree/node.rb#3785
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#3786
+ # source://syntax_tree//lib/syntax_tree/node.rb#3789
def format(q); end
# @return [Boolean]
#
- # source://syntax_tree//lib/syntax_tree/node.rb#3756
+ # source://syntax_tree//lib/syntax_tree/node.rb#3759
def ignore?; end
# [boolean] whether or not there is code on the same line as this comment.
# If there is, then inline will be true.
#
- # source://syntax_tree//lib/syntax_tree/node.rb#3728
+ # source://syntax_tree//lib/syntax_tree/node.rb#3731
def inline; end
# [boolean] whether or not there is code on the same line as this comment.
# If there is, then inline will be true.
#
- # source://syntax_tree//lib/syntax_tree/node.rb#3728
+ # source://syntax_tree//lib/syntax_tree/node.rb#3731
def inline?; end
- # source://syntax_tree//lib/syntax_tree/node.rb#3740
+ # source://syntax_tree//lib/syntax_tree/node.rb#3743
def leading!; end
# @return [Boolean]
#
- # source://syntax_tree//lib/syntax_tree/node.rb#3744
+ # source://syntax_tree//lib/syntax_tree/node.rb#3747
def leading?; end
- # source://syntax_tree//lib/syntax_tree/node.rb#3748
+ # source://syntax_tree//lib/syntax_tree/node.rb#3751
def trailing!; end
# @return [Boolean]
#
- # source://syntax_tree//lib/syntax_tree/node.rb#3752
+ # source://syntax_tree//lib/syntax_tree/node.rb#3755
def trailing?; end
# [String] the contents of the comment
#
- # source://syntax_tree//lib/syntax_tree/node.rb#3724
+ # source://syntax_tree//lib/syntax_tree/node.rb#3727
def value; end
end
# Formats an If or Unless node.
#
-# source://syntax_tree//lib/syntax_tree/node.rb#6314
+# source://syntax_tree//lib/syntax_tree/node.rb#6317
class SyntaxTree::ConditionalFormatter
# @return [ConditionalFormatter] a new instance of ConditionalFormatter
#
- # source://syntax_tree//lib/syntax_tree/node.rb#6321
+ # source://syntax_tree//lib/syntax_tree/node.rb#6324
def initialize(keyword, node); end
- # source://syntax_tree//lib/syntax_tree/node.rb#6326
+ # source://syntax_tree//lib/syntax_tree/node.rb#6329
def format(q); end
# [String] the keyword associated with this conditional
#
- # source://syntax_tree//lib/syntax_tree/node.rb#6316
+ # source://syntax_tree//lib/syntax_tree/node.rb#6319
def keyword; end
# [If | Unless] the node that is being formatted
#
- # source://syntax_tree//lib/syntax_tree/node.rb#6319
+ # source://syntax_tree//lib/syntax_tree/node.rb#6322
def node; end
private
# @return [Boolean]
#
- # source://syntax_tree//lib/syntax_tree/node.rb#6450
+ # source://syntax_tree//lib/syntax_tree/node.rb#6453
def contains_conditional?; end
- # source://syntax_tree//lib/syntax_tree/node.rb#6385
+ # source://syntax_tree//lib/syntax_tree/node.rb#6388
def format_break(q, force:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#6377
+ # source://syntax_tree//lib/syntax_tree/node.rb#6380
def format_flat(q); end
- # source://syntax_tree//lib/syntax_tree/node.rb#6405
+ # source://syntax_tree//lib/syntax_tree/node.rb#6408
def format_ternary(q); end
end
@@ -2796,42 +2796,42 @@ end
#
# :Constant
#
-# source://syntax_tree//lib/syntax_tree/node.rb#3809
+# source://syntax_tree//lib/syntax_tree/node.rb#3812
class SyntaxTree::Const < ::SyntaxTree::Node
# @return [Const] a new instance of Const
#
- # source://syntax_tree//lib/syntax_tree/node.rb#3816
+ # source://syntax_tree//lib/syntax_tree/node.rb#3819
def initialize(value:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#3851
+ # source://syntax_tree//lib/syntax_tree/node.rb#3854
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#3822
+ # source://syntax_tree//lib/syntax_tree/node.rb#3825
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#3826
+ # source://syntax_tree//lib/syntax_tree/node.rb#3829
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#3814
+ # source://syntax_tree//lib/syntax_tree/node.rb#3817
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#3830
+ # source://syntax_tree//lib/syntax_tree/node.rb#3833
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#3826
+ # source://syntax_tree//lib/syntax_tree/node.rb#3829
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#3843
+ # source://syntax_tree//lib/syntax_tree/node.rb#3846
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#3847
+ # source://syntax_tree//lib/syntax_tree/node.rb#3850
def format(q); end
# [String] the name of the constant
#
- # source://syntax_tree//lib/syntax_tree/node.rb#3811
+ # source://syntax_tree//lib/syntax_tree/node.rb#3814
def value; end
end
@@ -2841,47 +2841,47 @@ end
#
# object::Const = value
#
-# source://syntax_tree//lib/syntax_tree/node.rb#3862
+# source://syntax_tree//lib/syntax_tree/node.rb#3865
class SyntaxTree::ConstPathField < ::SyntaxTree::Node
# @return [ConstPathField] a new instance of ConstPathField
#
- # source://syntax_tree//lib/syntax_tree/node.rb#3872
+ # source://syntax_tree//lib/syntax_tree/node.rb#3875
def initialize(parent:, constant:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#3916
+ # source://syntax_tree//lib/syntax_tree/node.rb#3919
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#3879
+ # source://syntax_tree//lib/syntax_tree/node.rb#3882
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#3883
+ # source://syntax_tree//lib/syntax_tree/node.rb#3886
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#3870
+ # source://syntax_tree//lib/syntax_tree/node.rb#3873
def comments; end
# [Const] the constant itself
#
- # source://syntax_tree//lib/syntax_tree/node.rb#3867
+ # source://syntax_tree//lib/syntax_tree/node.rb#3870
def constant; end
- # source://syntax_tree//lib/syntax_tree/node.rb#3887
+ # source://syntax_tree//lib/syntax_tree/node.rb#3890
def copy(parent: T.unsafe(nil), constant: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#3883
+ # source://syntax_tree//lib/syntax_tree/node.rb#3886
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#3901
+ # source://syntax_tree//lib/syntax_tree/node.rb#3904
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#3910
+ # source://syntax_tree//lib/syntax_tree/node.rb#3913
def format(q); end
# [Node] the source of the constant
#
- # source://syntax_tree//lib/syntax_tree/node.rb#3864
+ # source://syntax_tree//lib/syntax_tree/node.rb#3867
def parent; end
end
@@ -2889,47 +2889,47 @@ end
#
# object::Const
#
-# source://syntax_tree//lib/syntax_tree/node.rb#3926
+# source://syntax_tree//lib/syntax_tree/node.rb#3929
class SyntaxTree::ConstPathRef < ::SyntaxTree::Node
# @return [ConstPathRef] a new instance of ConstPathRef
#
- # source://syntax_tree//lib/syntax_tree/node.rb#3936
+ # source://syntax_tree//lib/syntax_tree/node.rb#3939
def initialize(parent:, constant:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#3980
+ # source://syntax_tree//lib/syntax_tree/node.rb#3983
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#3943
+ # source://syntax_tree//lib/syntax_tree/node.rb#3946
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#3947
+ # source://syntax_tree//lib/syntax_tree/node.rb#3950
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#3934
+ # source://syntax_tree//lib/syntax_tree/node.rb#3937
def comments; end
# [Const] the constant itself
#
- # source://syntax_tree//lib/syntax_tree/node.rb#3931
+ # source://syntax_tree//lib/syntax_tree/node.rb#3934
def constant; end
- # source://syntax_tree//lib/syntax_tree/node.rb#3951
+ # source://syntax_tree//lib/syntax_tree/node.rb#3954
def copy(parent: T.unsafe(nil), constant: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#3947
+ # source://syntax_tree//lib/syntax_tree/node.rb#3950
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#3965
+ # source://syntax_tree//lib/syntax_tree/node.rb#3968
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#3974
+ # source://syntax_tree//lib/syntax_tree/node.rb#3977
def format(q); end
# [Node] the source of the constant
#
- # source://syntax_tree//lib/syntax_tree/node.rb#3928
+ # source://syntax_tree//lib/syntax_tree/node.rb#3931
def parent; end
end
@@ -2939,42 +2939,42 @@ end
# class Container
# end
#
-# source://syntax_tree//lib/syntax_tree/node.rb#3992
+# source://syntax_tree//lib/syntax_tree/node.rb#3995
class SyntaxTree::ConstRef < ::SyntaxTree::Node
# @return [ConstRef] a new instance of ConstRef
#
- # source://syntax_tree//lib/syntax_tree/node.rb#3999
+ # source://syntax_tree//lib/syntax_tree/node.rb#4002
def initialize(constant:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#4034
+ # source://syntax_tree//lib/syntax_tree/node.rb#4037
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#4005
+ # source://syntax_tree//lib/syntax_tree/node.rb#4008
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#4009
+ # source://syntax_tree//lib/syntax_tree/node.rb#4012
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#3997
+ # source://syntax_tree//lib/syntax_tree/node.rb#4000
def comments; end
# [Const] the constant itself
#
- # source://syntax_tree//lib/syntax_tree/node.rb#3994
+ # source://syntax_tree//lib/syntax_tree/node.rb#3997
def constant; end
- # source://syntax_tree//lib/syntax_tree/node.rb#4013
+ # source://syntax_tree//lib/syntax_tree/node.rb#4016
def copy(constant: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#4009
+ # source://syntax_tree//lib/syntax_tree/node.rb#4012
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#4026
+ # source://syntax_tree//lib/syntax_tree/node.rb#4029
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#4030
+ # source://syntax_tree//lib/syntax_tree/node.rb#4033
def format(q); end
end
@@ -2983,10 +2983,10 @@ end
# statements inside the conditional) then we can't use the modifier form
# and we must use the block form.
#
-# source://syntax_tree//lib/syntax_tree/node.rb#6229
+# source://syntax_tree//lib/syntax_tree/node.rb#6232
module SyntaxTree::ContainsAssignment
class << self
- # source://syntax_tree//lib/syntax_tree/node.rb#6230
+ # source://syntax_tree//lib/syntax_tree/node.rb#6233
def call(parent); end
end
end
@@ -2994,20 +2994,20 @@ end
# The default indentation level for formatting. We allow changing this so
# that Syntax Tree can format arbitrary parts of a document.
#
-# source://syntax_tree//lib/syntax_tree.rb#56
+# source://syntax_tree//lib/syntax_tree.rb#57
SyntaxTree::DEFAULT_INDENTATION = T.let(T.unsafe(nil), Integer)
# This is the default print width when formatting. It can be overridden in the
# CLI by passing the --print-width option or here in the API by passing the
# optional second argument to ::format.
#
-# source://syntax_tree//lib/syntax_tree.rb#48
+# source://syntax_tree//lib/syntax_tree.rb#49
SyntaxTree::DEFAULT_PRINT_WIDTH = T.let(T.unsafe(nil), Integer)
# This is the default ruby version that we're going to target for formatting.
# It shouldn't really be changed except in very niche circumstances.
#
-# source://syntax_tree//lib/syntax_tree.rb#52
+# source://syntax_tree//lib/syntax_tree.rb#53
SyntaxTree::DEFAULT_RUBY_VERSION = T.let(T.unsafe(nil), SyntaxTree::Formatter::SemanticVersion)
# This module provides shortcuts for creating AST nodes.
@@ -3765,47 +3765,273 @@ module SyntaxTree::DSL
def ZSuper; end
end
+# Provides the ability to index source files into a database, then query for
+# the nodes.
+#
+# source://syntax_tree//lib/syntax_tree/database.rb#6
+module SyntaxTree::Database; end
+
+# Query for the attributes of a node, optionally also filtering by type.
+#
+# source://syntax_tree//lib/syntax_tree/database.rb#99
+class SyntaxTree::Database::AttrQuery
+ # @return [AttrQuery] a new instance of AttrQuery
+ #
+ # source://syntax_tree//lib/syntax_tree/database.rb#102
+ def initialize(type, attrs); end
+
+ # Returns the value of attribute attrs.
+ #
+ # source://syntax_tree//lib/syntax_tree/database.rb#100
+ def attrs; end
+
+ # source://syntax_tree//lib/syntax_tree/database.rb#107
+ def each(database, &block); end
+
+ # Returns the value of attribute type.
+ #
+ # source://syntax_tree//lib/syntax_tree/database.rb#100
+ def type; end
+end
+
+# source://syntax_tree//lib/syntax_tree/database.rb#276
+class SyntaxTree::Database::Connection
+ # @return [Connection] a new instance of Connection
+ #
+ # source://syntax_tree//lib/syntax_tree/database.rb#279
+ def initialize(raw_connection); end
+
+ # source://syntax_tree//lib/syntax_tree/database.rb#283
+ def execute(query, binds = T.unsafe(nil)); end
+
+ # source://syntax_tree//lib/syntax_tree/database.rb#287
+ def index_file(filepath); end
+
+ # source://syntax_tree//lib/syntax_tree/database.rb#292
+ def last_insert_row_id; end
+
+ # source://syntax_tree//lib/syntax_tree/database.rb#296
+ def prepare; end
+
+ # Returns the value of attribute raw_connection.
+ #
+ # source://syntax_tree//lib/syntax_tree/database.rb#277
+ def raw_connection; end
+
+ # source://syntax_tree//lib/syntax_tree/database.rb#326
+ def search(query); end
+end
+
+# source://syntax_tree//lib/syntax_tree/database.rb#7
+class SyntaxTree::Database::IndexingVisitor < ::SyntaxTree::FieldVisitor
+ # @return [IndexingVisitor] a new instance of IndexingVisitor
+ #
+ # source://syntax_tree//lib/syntax_tree/database.rb#10
+ def initialize(database, filepath); end
+
+ # Returns the value of attribute database.
+ #
+ # source://syntax_tree//lib/syntax_tree/database.rb#8
+ def database; end
+
+ # Returns the value of attribute filepath.
+ #
+ # source://syntax_tree//lib/syntax_tree/database.rb#8
+ def filepath; end
+
+ # Returns the value of attribute node_id.
+ #
+ # source://syntax_tree//lib/syntax_tree/database.rb#8
+ def node_id; end
+
+ private
+
+ # source://syntax_tree//lib/syntax_tree/database.rb#18
+ def comments(node); end
+
+ # source://syntax_tree//lib/syntax_tree/database.rb#21
+ def field(name, value); end
+
+ # source://syntax_tree//lib/syntax_tree/database.rb#31
+ def list(name, values); end
+
+ # source://syntax_tree//lib/syntax_tree/database.rb#41
+ def node(node, _name); end
+
+ # source://syntax_tree//lib/syntax_tree/database.rb#67
+ def pairs(name, values); end
+
+ # source://syntax_tree//lib/syntax_tree/database.rb#64
+ def text(name, value); end
+end
+
+# Query for the results of either query.
+#
+# source://syntax_tree//lib/syntax_tree/database.rb#136
+class SyntaxTree::Database::OrQuery
+ # @return [OrQuery] a new instance of OrQuery
+ #
+ # source://syntax_tree//lib/syntax_tree/database.rb#139
+ def initialize(left, right); end
+
+ # source://syntax_tree//lib/syntax_tree/database.rb#144
+ def each(database, &block); end
+
+ # Returns the value of attribute left.
+ #
+ # source://syntax_tree//lib/syntax_tree/database.rb#137
+ def left; end
+
+ # Returns the value of attribute right.
+ #
+ # source://syntax_tree//lib/syntax_tree/database.rb#137
+ def right; end
+end
+
+# A pattern matching expression that will be compiled into a query.
+#
+# source://syntax_tree//lib/syntax_tree/database.rb#166
+class SyntaxTree::Database::Pattern
+ # @return [Pattern] a new instance of Pattern
+ #
+ # source://syntax_tree//lib/syntax_tree/database.rb#172
+ def initialize(query); end
+
+ # source://syntax_tree//lib/syntax_tree/database.rb#176
+ def compile; end
+
+ # Returns the value of attribute query.
+ #
+ # source://syntax_tree//lib/syntax_tree/database.rb#170
+ def query; end
+
+ private
+
+ # Shortcut for combining two queries into one that returns the results of
+ # if either query matches.
+ #
+ # source://syntax_tree//lib/syntax_tree/database.rb#195
+ def combine_or(left, right); end
+
+ # in foo | bar
+ #
+ # source://syntax_tree//lib/syntax_tree/database.rb#200
+ def compile_binary(node); end
+
+ # in Ident
+ #
+ # source://syntax_tree//lib/syntax_tree/database.rb#207
+ def compile_const(node); end
+
+ # in SyntaxTree::Ident
+ #
+ # source://syntax_tree//lib/syntax_tree/database.rb#219
+ def compile_const_path_ref(node); end
+
+ # @raise [CompilationError]
+ #
+ # source://syntax_tree//lib/syntax_tree/database.rb#189
+ def compile_error(node); end
+
+ # in Ident[value: String]
+ #
+ # source://syntax_tree//lib/syntax_tree/database.rb#234
+ def compile_hshptn(node); end
+
+ # source://syntax_tree//lib/syntax_tree/database.rb#258
+ def compile_node(node); end
+
+ # in Foo
+ #
+ # source://syntax_tree//lib/syntax_tree/database.rb#248
+ def compile_var_ref(node); end
+end
+
+# source://syntax_tree//lib/syntax_tree/database.rb#167
+class SyntaxTree::Database::Pattern::CompilationError < ::StandardError; end
+
+# A lazy query result.
+#
+# source://syntax_tree//lib/syntax_tree/database.rb#151
+class SyntaxTree::Database::QueryResult
+ # @return [QueryResult] a new instance of QueryResult
+ #
+ # source://syntax_tree//lib/syntax_tree/database.rb#154
+ def initialize(database, query); end
+
+ # Returns the value of attribute database.
+ #
+ # source://syntax_tree//lib/syntax_tree/database.rb#152
+ def database; end
+
+ # source://syntax_tree//lib/syntax_tree/database.rb#159
+ def each(&block); end
+
+ # Returns the value of attribute query.
+ #
+ # source://syntax_tree//lib/syntax_tree/database.rb#152
+ def query; end
+end
+
+# Query for a specific type of node.
+#
+# source://syntax_tree//lib/syntax_tree/database.rb#85
+class SyntaxTree::Database::TypeQuery
+ # @return [TypeQuery] a new instance of TypeQuery
+ #
+ # source://syntax_tree//lib/syntax_tree/database.rb#88
+ def initialize(type); end
+
+ # source://syntax_tree//lib/syntax_tree/database.rb#92
+ def each(database, &block); end
+
+ # Returns the value of attribute type.
+ #
+ # source://syntax_tree//lib/syntax_tree/database.rb#86
+ def type; end
+end
+
# Def represents defining a regular method on the current self object.
#
# def method(param) result end
# def object.method(param) result end
#
-# source://syntax_tree//lib/syntax_tree/node.rb#4095
+# source://syntax_tree//lib/syntax_tree/node.rb#4098
class SyntaxTree::DefNode < ::SyntaxTree::Node
# @return [DefNode] a new instance of DefNode
#
- # source://syntax_tree//lib/syntax_tree/node.rb#4114
+ # source://syntax_tree//lib/syntax_tree/node.rb#4117
def initialize(target:, operator:, name:, params:, bodystmt:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#4214
+ # source://syntax_tree//lib/syntax_tree/node.rb#4217
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#4124
+ # source://syntax_tree//lib/syntax_tree/node.rb#4127
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#4227
+ # source://syntax_tree//lib/syntax_tree/node.rb#4230
def arity; end
# [BodyStmt | Node] the expressions to be executed by the method
#
- # source://syntax_tree//lib/syntax_tree/node.rb#4109
+ # source://syntax_tree//lib/syntax_tree/node.rb#4112
def bodystmt; end
- # source://syntax_tree//lib/syntax_tree/node.rb#4128
+ # source://syntax_tree//lib/syntax_tree/node.rb#4131
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#4112
+ # source://syntax_tree//lib/syntax_tree/node.rb#4115
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#4132
+ # source://syntax_tree//lib/syntax_tree/node.rb#4135
def copy(target: T.unsafe(nil), operator: T.unsafe(nil), name: T.unsafe(nil), params: T.unsafe(nil), bodystmt: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#4128
+ # source://syntax_tree//lib/syntax_tree/node.rb#4131
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#4156
+ # source://syntax_tree//lib/syntax_tree/node.rb#4159
def deconstruct_keys(_keys); end
# Returns true if the method was found in the source in the "endless" form,
@@ -3814,30 +4040,30 @@ class SyntaxTree::DefNode < ::SyntaxTree::Node
#
# @return [Boolean]
#
- # source://syntax_tree//lib/syntax_tree/node.rb#4223
+ # source://syntax_tree//lib/syntax_tree/node.rb#4226
def endless?; end
- # source://syntax_tree//lib/syntax_tree/node.rb#4168
+ # source://syntax_tree//lib/syntax_tree/node.rb#4171
def format(q); end
# [Backtick | Const | Ident | Kw | Op] the name of the method
#
- # source://syntax_tree//lib/syntax_tree/node.rb#4103
+ # source://syntax_tree//lib/syntax_tree/node.rb#4106
def name; end
# [nil | Op | Period] the operator being used to declare the method
#
- # source://syntax_tree//lib/syntax_tree/node.rb#4100
+ # source://syntax_tree//lib/syntax_tree/node.rb#4103
def operator; end
# [nil | Params | Paren] the parameter declaration for the method
#
- # source://syntax_tree//lib/syntax_tree/node.rb#4106
+ # source://syntax_tree//lib/syntax_tree/node.rb#4109
def params; end
# [nil | Node] the target where the method is being defined
#
- # source://syntax_tree//lib/syntax_tree/node.rb#4097
+ # source://syntax_tree//lib/syntax_tree/node.rb#4100
def target; end
end
@@ -3846,42 +4072,42 @@ end
#
# defined?(variable)
#
-# source://syntax_tree//lib/syntax_tree/node.rb#4246
+# source://syntax_tree//lib/syntax_tree/node.rb#4249
class SyntaxTree::Defined < ::SyntaxTree::Node
# @return [Defined] a new instance of Defined
#
- # source://syntax_tree//lib/syntax_tree/node.rb#4253
+ # source://syntax_tree//lib/syntax_tree/node.rb#4256
def initialize(value:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#4296
+ # source://syntax_tree//lib/syntax_tree/node.rb#4299
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#4259
+ # source://syntax_tree//lib/syntax_tree/node.rb#4262
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#4263
+ # source://syntax_tree//lib/syntax_tree/node.rb#4266
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#4251
+ # source://syntax_tree//lib/syntax_tree/node.rb#4254
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#4267
+ # source://syntax_tree//lib/syntax_tree/node.rb#4270
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#4263
+ # source://syntax_tree//lib/syntax_tree/node.rb#4266
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#4280
+ # source://syntax_tree//lib/syntax_tree/node.rb#4283
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#4284
+ # source://syntax_tree//lib/syntax_tree/node.rb#4287
def format(q); end
# [Node] the value being sent to the keyword
#
- # source://syntax_tree//lib/syntax_tree/node.rb#4248
+ # source://syntax_tree//lib/syntax_tree/node.rb#4251
def value; end
end
@@ -3894,48 +4120,48 @@ end
#
# { "#{key}": value }
#
-# source://syntax_tree//lib/syntax_tree/node.rb#4660
+# source://syntax_tree//lib/syntax_tree/node.rb#4663
class SyntaxTree::DynaSymbol < ::SyntaxTree::Node
# @return [DynaSymbol] a new instance of DynaSymbol
#
- # source://syntax_tree//lib/syntax_tree/node.rb#4671
+ # source://syntax_tree//lib/syntax_tree/node.rb#4674
def initialize(parts:, quote:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#4733
+ # source://syntax_tree//lib/syntax_tree/node.rb#4736
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#4678
+ # source://syntax_tree//lib/syntax_tree/node.rb#4681
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#4682
+ # source://syntax_tree//lib/syntax_tree/node.rb#4685
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#4669
+ # source://syntax_tree//lib/syntax_tree/node.rb#4672
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#4686
+ # source://syntax_tree//lib/syntax_tree/node.rb#4689
def copy(parts: T.unsafe(nil), quote: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#4682
+ # source://syntax_tree//lib/syntax_tree/node.rb#4685
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#4700
+ # source://syntax_tree//lib/syntax_tree/node.rb#4703
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#4704
+ # source://syntax_tree//lib/syntax_tree/node.rb#4707
def format(q); end
# [Array[ StringDVar | StringEmbExpr | TStringContent ]] the parts of the
# dynamic symbol
#
- # source://syntax_tree//lib/syntax_tree/node.rb#4663
+ # source://syntax_tree//lib/syntax_tree/node.rb#4666
def parts; end
# [nil | String] the quote used to delimit the dynamic symbol
#
- # source://syntax_tree//lib/syntax_tree/node.rb#4666
+ # source://syntax_tree//lib/syntax_tree/node.rb#4669
def quote; end
private
@@ -3944,7 +4170,7 @@ class SyntaxTree::DynaSymbol < ::SyntaxTree::Node
# lot of rules because it could be in many different contexts with many
# different kinds of escaping.
#
- # source://syntax_tree//lib/syntax_tree/node.rb#4743
+ # source://syntax_tree//lib/syntax_tree/node.rb#4746
def quotes(q); end
end
@@ -4008,47 +4234,47 @@ end
# else
# end
#
-# source://syntax_tree//lib/syntax_tree/node.rb#4789
+# source://syntax_tree//lib/syntax_tree/node.rb#4792
class SyntaxTree::Else < ::SyntaxTree::Node
# @return [Else] a new instance of Else
#
- # source://syntax_tree//lib/syntax_tree/node.rb#4799
+ # source://syntax_tree//lib/syntax_tree/node.rb#4802
def initialize(keyword:, statements:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#4850
+ # source://syntax_tree//lib/syntax_tree/node.rb#4853
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#4806
+ # source://syntax_tree//lib/syntax_tree/node.rb#4809
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#4810
+ # source://syntax_tree//lib/syntax_tree/node.rb#4813
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#4797
+ # source://syntax_tree//lib/syntax_tree/node.rb#4800
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#4814
+ # source://syntax_tree//lib/syntax_tree/node.rb#4817
def copy(keyword: T.unsafe(nil), statements: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#4810
+ # source://syntax_tree//lib/syntax_tree/node.rb#4813
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#4828
+ # source://syntax_tree//lib/syntax_tree/node.rb#4831
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#4837
+ # source://syntax_tree//lib/syntax_tree/node.rb#4840
def format(q); end
# [Kw] the else keyword
#
- # source://syntax_tree//lib/syntax_tree/node.rb#4791
+ # source://syntax_tree//lib/syntax_tree/node.rb#4794
def keyword; end
# [Statements] the expressions to be executed
#
- # source://syntax_tree//lib/syntax_tree/node.rb#4794
+ # source://syntax_tree//lib/syntax_tree/node.rb#4797
def statements; end
end
@@ -4058,52 +4284,52 @@ end
# elsif other_variable
# end
#
-# source://syntax_tree//lib/syntax_tree/node.rb#4862
+# source://syntax_tree//lib/syntax_tree/node.rb#4865
class SyntaxTree::Elsif < ::SyntaxTree::Node
# @return [Elsif] a new instance of Elsif
#
- # source://syntax_tree//lib/syntax_tree/node.rb#4875
+ # source://syntax_tree//lib/syntax_tree/node.rb#4878
def initialize(predicate:, statements:, consequent:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#4939
+ # source://syntax_tree//lib/syntax_tree/node.rb#4942
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#4883
+ # source://syntax_tree//lib/syntax_tree/node.rb#4886
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#4887
+ # source://syntax_tree//lib/syntax_tree/node.rb#4890
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#4873
+ # source://syntax_tree//lib/syntax_tree/node.rb#4876
def comments; end
# [nil | Elsif | Else] the next clause in the chain
#
- # source://syntax_tree//lib/syntax_tree/node.rb#4870
+ # source://syntax_tree//lib/syntax_tree/node.rb#4873
def consequent; end
- # source://syntax_tree//lib/syntax_tree/node.rb#4891
+ # source://syntax_tree//lib/syntax_tree/node.rb#4894
def copy(predicate: T.unsafe(nil), statements: T.unsafe(nil), consequent: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#4887
+ # source://syntax_tree//lib/syntax_tree/node.rb#4890
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#4906
+ # source://syntax_tree//lib/syntax_tree/node.rb#4909
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#4916
+ # source://syntax_tree//lib/syntax_tree/node.rb#4919
def format(q); end
# [Node] the expression to be checked
#
- # source://syntax_tree//lib/syntax_tree/node.rb#4864
+ # source://syntax_tree//lib/syntax_tree/node.rb#4867
def predicate; end
# [Statements] the expressions to be executed
#
- # source://syntax_tree//lib/syntax_tree/node.rb#4867
+ # source://syntax_tree//lib/syntax_tree/node.rb#4870
def statements; end
end
@@ -4114,66 +4340,66 @@ end
# second line
# =end
#
-# source://syntax_tree//lib/syntax_tree/node.rb#4952
+# source://syntax_tree//lib/syntax_tree/node.rb#4955
class SyntaxTree::EmbDoc < ::SyntaxTree::Node
# @return [EmbDoc] a new instance of EmbDoc
#
- # source://syntax_tree//lib/syntax_tree/node.rb#4956
+ # source://syntax_tree//lib/syntax_tree/node.rb#4959
def initialize(value:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#5024
+ # source://syntax_tree//lib/syntax_tree/node.rb#5027
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#4992
+ # source://syntax_tree//lib/syntax_tree/node.rb#4995
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#4996
+ # source://syntax_tree//lib/syntax_tree/node.rb#4999
def child_nodes; end
- # source://syntax_tree//lib/syntax_tree/node.rb#4988
+ # source://syntax_tree//lib/syntax_tree/node.rb#4991
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#5000
+ # source://syntax_tree//lib/syntax_tree/node.rb#5003
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#4996
+ # source://syntax_tree//lib/syntax_tree/node.rb#4999
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#5009
+ # source://syntax_tree//lib/syntax_tree/node.rb#5012
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#5013
+ # source://syntax_tree//lib/syntax_tree/node.rb#5016
def format(q); end
# @return [Boolean]
#
- # source://syntax_tree//lib/syntax_tree/node.rb#4984
+ # source://syntax_tree//lib/syntax_tree/node.rb#4987
def ignore?; end
# @return [Boolean]
#
- # source://syntax_tree//lib/syntax_tree/node.rb#4980
+ # source://syntax_tree//lib/syntax_tree/node.rb#4983
def inline?; end
- # source://syntax_tree//lib/syntax_tree/node.rb#4964
+ # source://syntax_tree//lib/syntax_tree/node.rb#4967
def leading!; end
# @return [Boolean]
#
- # source://syntax_tree//lib/syntax_tree/node.rb#4968
+ # source://syntax_tree//lib/syntax_tree/node.rb#4971
def leading?; end
- # source://syntax_tree//lib/syntax_tree/node.rb#4972
+ # source://syntax_tree//lib/syntax_tree/node.rb#4975
def trailing!; end
# @return [Boolean]
#
- # source://syntax_tree//lib/syntax_tree/node.rb#4976
+ # source://syntax_tree//lib/syntax_tree/node.rb#4979
def trailing?; end
# [String] the contents of the comment
#
- # source://syntax_tree//lib/syntax_tree/node.rb#4954
+ # source://syntax_tree//lib/syntax_tree/node.rb#4957
def value; end
end
@@ -4183,34 +4409,34 @@ end
#
# "Hello, #{person}!"
#
-# source://syntax_tree//lib/syntax_tree/node.rb#5035
+# source://syntax_tree//lib/syntax_tree/node.rb#5038
class SyntaxTree::EmbExprBeg < ::SyntaxTree::Node
# @return [EmbExprBeg] a new instance of EmbExprBeg
#
- # source://syntax_tree//lib/syntax_tree/node.rb#5039
+ # source://syntax_tree//lib/syntax_tree/node.rb#5042
def initialize(value:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#5065
+ # source://syntax_tree//lib/syntax_tree/node.rb#5068
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#5044
+ # source://syntax_tree//lib/syntax_tree/node.rb#5047
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#5048
+ # source://syntax_tree//lib/syntax_tree/node.rb#5051
def child_nodes; end
- # source://syntax_tree//lib/syntax_tree/node.rb#5052
+ # source://syntax_tree//lib/syntax_tree/node.rb#5055
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#5048
+ # source://syntax_tree//lib/syntax_tree/node.rb#5051
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#5061
+ # source://syntax_tree//lib/syntax_tree/node.rb#5064
def deconstruct_keys(_keys); end
# [String] the #{ used in the string
#
- # source://syntax_tree//lib/syntax_tree/node.rb#5037
+ # source://syntax_tree//lib/syntax_tree/node.rb#5040
def value; end
end
@@ -4220,34 +4446,34 @@ end
#
# "Hello, #{person}!"
#
-# source://syntax_tree//lib/syntax_tree/node.rb#5076
+# source://syntax_tree//lib/syntax_tree/node.rb#5079
class SyntaxTree::EmbExprEnd < ::SyntaxTree::Node
# @return [EmbExprEnd] a new instance of EmbExprEnd
#
- # source://syntax_tree//lib/syntax_tree/node.rb#5080
+ # source://syntax_tree//lib/syntax_tree/node.rb#5083
def initialize(value:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#5106
+ # source://syntax_tree//lib/syntax_tree/node.rb#5109
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#5085
+ # source://syntax_tree//lib/syntax_tree/node.rb#5088
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#5089
+ # source://syntax_tree//lib/syntax_tree/node.rb#5092
def child_nodes; end
- # source://syntax_tree//lib/syntax_tree/node.rb#5093
+ # source://syntax_tree//lib/syntax_tree/node.rb#5096
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#5089
+ # source://syntax_tree//lib/syntax_tree/node.rb#5092
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#5102
+ # source://syntax_tree//lib/syntax_tree/node.rb#5105
def deconstruct_keys(_keys); end
# [String] the } used in the string
#
- # source://syntax_tree//lib/syntax_tree/node.rb#5078
+ # source://syntax_tree//lib/syntax_tree/node.rb#5081
def value; end
end
@@ -4259,34 +4485,34 @@ end
#
# In the example above, an EmbVar node represents the # because it forces
#
-# source://syntax_tree//lib/syntax_tree/node.rb#5119
+# source://syntax_tree//lib/syntax_tree/node.rb#5122
class SyntaxTree::EmbVar < ::SyntaxTree::Node
# @return [EmbVar] a new instance of EmbVar
#
- # source://syntax_tree//lib/syntax_tree/node.rb#5123
+ # source://syntax_tree//lib/syntax_tree/node.rb#5126
def initialize(value:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#5149
+ # source://syntax_tree//lib/syntax_tree/node.rb#5152
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#5128
+ # source://syntax_tree//lib/syntax_tree/node.rb#5131
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#5132
+ # source://syntax_tree//lib/syntax_tree/node.rb#5135
def child_nodes; end
- # source://syntax_tree//lib/syntax_tree/node.rb#5136
+ # source://syntax_tree//lib/syntax_tree/node.rb#5139
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#5132
+ # source://syntax_tree//lib/syntax_tree/node.rb#5135
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#5145
+ # source://syntax_tree//lib/syntax_tree/node.rb#5148
def deconstruct_keys(_keys); end
# [String] the # used in the string
#
- # source://syntax_tree//lib/syntax_tree/node.rb#5121
+ # source://syntax_tree//lib/syntax_tree/node.rb#5124
def value; end
end
@@ -4345,47 +4571,47 @@ end
# ensure
# end
#
-# source://syntax_tree//lib/syntax_tree/node.rb#5161
+# source://syntax_tree//lib/syntax_tree/node.rb#5164
class SyntaxTree::Ensure < ::SyntaxTree::Node
# @return [Ensure] a new instance of Ensure
#
- # source://syntax_tree//lib/syntax_tree/node.rb#5171
+ # source://syntax_tree//lib/syntax_tree/node.rb#5174
def initialize(keyword:, statements:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#5220
+ # source://syntax_tree//lib/syntax_tree/node.rb#5223
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#5178
+ # source://syntax_tree//lib/syntax_tree/node.rb#5181
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#5182
+ # source://syntax_tree//lib/syntax_tree/node.rb#5185
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#5169
+ # source://syntax_tree//lib/syntax_tree/node.rb#5172
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#5186
+ # source://syntax_tree//lib/syntax_tree/node.rb#5189
def copy(keyword: T.unsafe(nil), statements: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#5182
+ # source://syntax_tree//lib/syntax_tree/node.rb#5185
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#5200
+ # source://syntax_tree//lib/syntax_tree/node.rb#5203
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#5209
+ # source://syntax_tree//lib/syntax_tree/node.rb#5212
def format(q); end
# [Kw] the ensure keyword that began this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#5163
+ # source://syntax_tree//lib/syntax_tree/node.rb#5166
def keyword; end
# [Statements] the expressions to be executed
#
- # source://syntax_tree//lib/syntax_tree/node.rb#5166
+ # source://syntax_tree//lib/syntax_tree/node.rb#5169
def statements; end
end
@@ -4400,42 +4626,42 @@ end
# position typically represents a rest-type parameter, but in this case is
# used to indicate that a trailing comma was used.
#
-# source://syntax_tree//lib/syntax_tree/node.rb#5236
+# source://syntax_tree//lib/syntax_tree/node.rb#5239
class SyntaxTree::ExcessedComma < ::SyntaxTree::Node
# @return [ExcessedComma] a new instance of ExcessedComma
#
- # source://syntax_tree//lib/syntax_tree/node.rb#5243
+ # source://syntax_tree//lib/syntax_tree/node.rb#5246
def initialize(value:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#5278
+ # source://syntax_tree//lib/syntax_tree/node.rb#5281
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#5249
+ # source://syntax_tree//lib/syntax_tree/node.rb#5252
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#5253
+ # source://syntax_tree//lib/syntax_tree/node.rb#5256
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#5241
+ # source://syntax_tree//lib/syntax_tree/node.rb#5244
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#5257
+ # source://syntax_tree//lib/syntax_tree/node.rb#5260
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#5253
+ # source://syntax_tree//lib/syntax_tree/node.rb#5256
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#5270
+ # source://syntax_tree//lib/syntax_tree/node.rb#5273
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#5274
+ # source://syntax_tree//lib/syntax_tree/node.rb#5277
def format(q); end
# [String] the comma
#
- # source://syntax_tree//lib/syntax_tree/node.rb#5238
+ # source://syntax_tree//lib/syntax_tree/node.rb#5241
def value; end
end
@@ -4444,52 +4670,52 @@ end
#
# object.variable = value
#
-# source://syntax_tree//lib/syntax_tree/node.rb#5288
+# source://syntax_tree//lib/syntax_tree/node.rb#5291
class SyntaxTree::Field < ::SyntaxTree::Node
# @return [Field] a new instance of Field
#
- # source://syntax_tree//lib/syntax_tree/node.rb#5301
+ # source://syntax_tree//lib/syntax_tree/node.rb#5304
def initialize(parent:, operator:, name:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#5351
+ # source://syntax_tree//lib/syntax_tree/node.rb#5354
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#5309
+ # source://syntax_tree//lib/syntax_tree/node.rb#5312
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#5313
+ # source://syntax_tree//lib/syntax_tree/node.rb#5316
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#5299
+ # source://syntax_tree//lib/syntax_tree/node.rb#5302
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#5318
+ # source://syntax_tree//lib/syntax_tree/node.rb#5321
def copy(parent: T.unsafe(nil), operator: T.unsafe(nil), name: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#5313
+ # source://syntax_tree//lib/syntax_tree/node.rb#5316
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#5333
+ # source://syntax_tree//lib/syntax_tree/node.rb#5336
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#5343
+ # source://syntax_tree//lib/syntax_tree/node.rb#5346
def format(q); end
# [Const | Ident] the name of the field being assigned
#
- # source://syntax_tree//lib/syntax_tree/node.rb#5296
+ # source://syntax_tree//lib/syntax_tree/node.rb#5299
def name; end
# [:"::" | Op | Period] the operator being used for the assignment
#
- # source://syntax_tree//lib/syntax_tree/node.rb#5293
+ # source://syntax_tree//lib/syntax_tree/node.rb#5296
def operator; end
# [Node] the parent object that owns the field being assigned
#
- # source://syntax_tree//lib/syntax_tree/node.rb#5290
+ # source://syntax_tree//lib/syntax_tree/node.rb#5293
def parent; end
end
@@ -5001,42 +5227,42 @@ end
#
# 1.0
#
-# source://syntax_tree//lib/syntax_tree/node.rb#5361
+# source://syntax_tree//lib/syntax_tree/node.rb#5364
class SyntaxTree::FloatLiteral < ::SyntaxTree::Node
# @return [FloatLiteral] a new instance of FloatLiteral
#
- # source://syntax_tree//lib/syntax_tree/node.rb#5368
+ # source://syntax_tree//lib/syntax_tree/node.rb#5371
def initialize(value:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#5403
+ # source://syntax_tree//lib/syntax_tree/node.rb#5406
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#5374
+ # source://syntax_tree//lib/syntax_tree/node.rb#5377
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#5378
+ # source://syntax_tree//lib/syntax_tree/node.rb#5381
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#5366
+ # source://syntax_tree//lib/syntax_tree/node.rb#5369
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#5382
+ # source://syntax_tree//lib/syntax_tree/node.rb#5385
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#5378
+ # source://syntax_tree//lib/syntax_tree/node.rb#5381
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#5395
+ # source://syntax_tree//lib/syntax_tree/node.rb#5398
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#5399
+ # source://syntax_tree//lib/syntax_tree/node.rb#5402
def format(q); end
# [String] the value of the floating point number literal
#
- # source://syntax_tree//lib/syntax_tree/node.rb#5363
+ # source://syntax_tree//lib/syntax_tree/node.rb#5366
def value; end
end
@@ -5083,58 +5309,58 @@ end
# in [*, 7, *]
# end
#
-# source://syntax_tree//lib/syntax_tree/node.rb#5415
+# source://syntax_tree//lib/syntax_tree/node.rb#5418
class SyntaxTree::FndPtn < ::SyntaxTree::Node
# @return [FndPtn] a new instance of FndPtn
#
- # source://syntax_tree//lib/syntax_tree/node.rb#5432
+ # source://syntax_tree//lib/syntax_tree/node.rb#5435
def initialize(constant:, left:, values:, right:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#5501
+ # source://syntax_tree//lib/syntax_tree/node.rb#5504
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#5441
+ # source://syntax_tree//lib/syntax_tree/node.rb#5444
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#5445
+ # source://syntax_tree//lib/syntax_tree/node.rb#5448
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#5430
+ # source://syntax_tree//lib/syntax_tree/node.rb#5433
def comments; end
- # [nil | Node] the optional constant wrapper
+ # [nil | VarRef | ConstPathRef] the optional constant wrapper
#
- # source://syntax_tree//lib/syntax_tree/node.rb#5417
+ # source://syntax_tree//lib/syntax_tree/node.rb#5420
def constant; end
- # source://syntax_tree//lib/syntax_tree/node.rb#5449
+ # source://syntax_tree//lib/syntax_tree/node.rb#5452
def copy(constant: T.unsafe(nil), left: T.unsafe(nil), values: T.unsafe(nil), right: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#5445
+ # source://syntax_tree//lib/syntax_tree/node.rb#5448
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#5465
+ # source://syntax_tree//lib/syntax_tree/node.rb#5468
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#5476
+ # source://syntax_tree//lib/syntax_tree/node.rb#5479
def format(q); end
# [VarField] the splat on the left-hand side
#
- # source://syntax_tree//lib/syntax_tree/node.rb#5420
+ # source://syntax_tree//lib/syntax_tree/node.rb#5423
def left; end
# [VarField] the splat on the right-hand side
#
- # source://syntax_tree//lib/syntax_tree/node.rb#5427
+ # source://syntax_tree//lib/syntax_tree/node.rb#5430
def right; end
# [Array[ Node ]] the list of positional expressions in the pattern that
# are being matched
#
- # source://syntax_tree//lib/syntax_tree/node.rb#5424
+ # source://syntax_tree//lib/syntax_tree/node.rb#5427
def values; end
end
@@ -5143,53 +5369,53 @@ end
# for value in list do
# end
#
-# source://syntax_tree//lib/syntax_tree/node.rb#5513
+# source://syntax_tree//lib/syntax_tree/node.rb#5516
class SyntaxTree::For < ::SyntaxTree::Node
# @return [For] a new instance of For
#
- # source://syntax_tree//lib/syntax_tree/node.rb#5527
+ # source://syntax_tree//lib/syntax_tree/node.rb#5530
def initialize(index:, collection:, statements:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#5587
+ # source://syntax_tree//lib/syntax_tree/node.rb#5590
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#5535
+ # source://syntax_tree//lib/syntax_tree/node.rb#5538
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#5539
+ # source://syntax_tree//lib/syntax_tree/node.rb#5542
def child_nodes; end
# [Node] the object being enumerated in the loop
#
- # source://syntax_tree//lib/syntax_tree/node.rb#5519
+ # source://syntax_tree//lib/syntax_tree/node.rb#5522
def collection; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#5525
+ # source://syntax_tree//lib/syntax_tree/node.rb#5528
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#5543
+ # source://syntax_tree//lib/syntax_tree/node.rb#5546
def copy(index: T.unsafe(nil), collection: T.unsafe(nil), statements: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#5539
+ # source://syntax_tree//lib/syntax_tree/node.rb#5542
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#5558
+ # source://syntax_tree//lib/syntax_tree/node.rb#5561
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#5568
+ # source://syntax_tree//lib/syntax_tree/node.rb#5571
def format(q); end
# [MLHS | VarField] the variable declaration being used to
# pull values out of the object being enumerated
#
- # source://syntax_tree//lib/syntax_tree/node.rb#5516
+ # source://syntax_tree//lib/syntax_tree/node.rb#5519
def index; end
# [Statements] the statements to be executed
#
- # source://syntax_tree//lib/syntax_tree/node.rb#5522
+ # source://syntax_tree//lib/syntax_tree/node.rb#5525
def statements; end
end
@@ -5346,49 +5572,49 @@ end
#
# $variable
#
-# source://syntax_tree//lib/syntax_tree/node.rb#5597
+# source://syntax_tree//lib/syntax_tree/node.rb#5600
class SyntaxTree::GVar < ::SyntaxTree::Node
# @return [GVar] a new instance of GVar
#
- # source://syntax_tree//lib/syntax_tree/node.rb#5604
+ # source://syntax_tree//lib/syntax_tree/node.rb#5607
def initialize(value:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#5639
+ # source://syntax_tree//lib/syntax_tree/node.rb#5642
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#5610
+ # source://syntax_tree//lib/syntax_tree/node.rb#5613
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#5614
+ # source://syntax_tree//lib/syntax_tree/node.rb#5617
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#5602
+ # source://syntax_tree//lib/syntax_tree/node.rb#5605
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#5618
+ # source://syntax_tree//lib/syntax_tree/node.rb#5621
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#5614
+ # source://syntax_tree//lib/syntax_tree/node.rb#5617
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#5631
+ # source://syntax_tree//lib/syntax_tree/node.rb#5634
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#5635
+ # source://syntax_tree//lib/syntax_tree/node.rb#5638
def format(q); end
# [String] the name of the global variable
#
- # source://syntax_tree//lib/syntax_tree/node.rb#5599
+ # source://syntax_tree//lib/syntax_tree/node.rb#5602
def value; end
end
# This holds references to objects that respond to both #parse and #format
# so that we can use them in the CLI.
#
-# source://syntax_tree//lib/syntax_tree.rb#42
+# source://syntax_tree//lib/syntax_tree.rb#43
SyntaxTree::HANDLERS = T.let(T.unsafe(nil), Hash)
# This module is responsible for formatting the assocs contained within a
@@ -5436,50 +5662,50 @@ end
#
# { key => value }
#
-# source://syntax_tree//lib/syntax_tree/node.rb#5648
+# source://syntax_tree//lib/syntax_tree/node.rb#5651
class SyntaxTree::HashLiteral < ::SyntaxTree::Node
# @return [HashLiteral] a new instance of HashLiteral
#
- # source://syntax_tree//lib/syntax_tree/node.rb#5684
+ # source://syntax_tree//lib/syntax_tree/node.rb#5687
def initialize(lbrace:, assocs:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#5725
+ # source://syntax_tree//lib/syntax_tree/node.rb#5728
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#5691
+ # source://syntax_tree//lib/syntax_tree/node.rb#5694
def accept(visitor); end
# [Array[ Assoc | AssocSplat ]] the optional contents of the hash
#
- # source://syntax_tree//lib/syntax_tree/node.rb#5679
+ # source://syntax_tree//lib/syntax_tree/node.rb#5682
def assocs; end
- # source://syntax_tree//lib/syntax_tree/node.rb#5695
+ # source://syntax_tree//lib/syntax_tree/node.rb#5698
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#5682
+ # source://syntax_tree//lib/syntax_tree/node.rb#5685
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#5699
+ # source://syntax_tree//lib/syntax_tree/node.rb#5702
def copy(lbrace: T.unsafe(nil), assocs: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#5695
+ # source://syntax_tree//lib/syntax_tree/node.rb#5698
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#5713
+ # source://syntax_tree//lib/syntax_tree/node.rb#5716
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#5717
+ # source://syntax_tree//lib/syntax_tree/node.rb#5720
def format(q); end
- # source://syntax_tree//lib/syntax_tree/node.rb#5730
+ # source://syntax_tree//lib/syntax_tree/node.rb#5733
def format_key(q, key); end
# [LBrace] the left brace that opens this hash
#
- # source://syntax_tree//lib/syntax_tree/node.rb#5676
+ # source://syntax_tree//lib/syntax_tree/node.rb#5679
def lbrace; end
private
@@ -5489,10 +5715,10 @@ class SyntaxTree::HashLiteral < ::SyntaxTree::Node
#
# @return [Boolean]
#
- # source://syntax_tree//lib/syntax_tree/node.rb#5738
+ # source://syntax_tree//lib/syntax_tree/node.rb#5741
def empty_with_comments?; end
- # source://syntax_tree//lib/syntax_tree/node.rb#5742
+ # source://syntax_tree//lib/syntax_tree/node.rb#5745
def format_contents(q); end
end
@@ -5500,19 +5726,19 @@ end
# but _does_ contain comments. In this case we do some special formatting to
# make sure the comments gets indented properly.
#
-# source://syntax_tree//lib/syntax_tree/node.rb#5652
+# source://syntax_tree//lib/syntax_tree/node.rb#5655
class SyntaxTree::HashLiteral::EmptyWithCommentsFormatter
# @return [EmptyWithCommentsFormatter] a new instance of EmptyWithCommentsFormatter
#
- # source://syntax_tree//lib/syntax_tree/node.rb#5656
+ # source://syntax_tree//lib/syntax_tree/node.rb#5659
def initialize(lbrace); end
- # source://syntax_tree//lib/syntax_tree/node.rb#5660
+ # source://syntax_tree//lib/syntax_tree/node.rb#5663
def format(q); end
# [LBrace] the opening brace
#
- # source://syntax_tree//lib/syntax_tree/node.rb#5654
+ # source://syntax_tree//lib/syntax_tree/node.rb#5657
def lbrace; end
end
@@ -5522,65 +5748,65 @@ end
# contents
# DOC
#
-# source://syntax_tree//lib/syntax_tree/node.rb#5771
+# source://syntax_tree//lib/syntax_tree/node.rb#5774
class SyntaxTree::Heredoc < ::SyntaxTree::Node
# @return [Heredoc] a new instance of Heredoc
#
- # source://syntax_tree//lib/syntax_tree/node.rb#5788
+ # source://syntax_tree//lib/syntax_tree/node.rb#5791
def initialize(beginning:, location:, ending: T.unsafe(nil), dedent: T.unsafe(nil), parts: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#5870
+ # source://syntax_tree//lib/syntax_tree/node.rb#5873
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#5797
+ # source://syntax_tree//lib/syntax_tree/node.rb#5800
def accept(visitor); end
# [HeredocBeg] the opening of the heredoc
#
- # source://syntax_tree//lib/syntax_tree/node.rb#5773
+ # source://syntax_tree//lib/syntax_tree/node.rb#5776
def beginning; end
- # source://syntax_tree//lib/syntax_tree/node.rb#5801
+ # source://syntax_tree//lib/syntax_tree/node.rb#5804
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#5786
+ # source://syntax_tree//lib/syntax_tree/node.rb#5789
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#5805
+ # source://syntax_tree//lib/syntax_tree/node.rb#5808
def copy(beginning: T.unsafe(nil), location: T.unsafe(nil), ending: T.unsafe(nil), parts: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#5801
+ # source://syntax_tree//lib/syntax_tree/node.rb#5804
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#5820
+ # source://syntax_tree//lib/syntax_tree/node.rb#5823
def deconstruct_keys(_keys); end
# [Integer] how far to dedent the heredoc
#
- # source://syntax_tree//lib/syntax_tree/node.rb#5779
+ # source://syntax_tree//lib/syntax_tree/node.rb#5782
def dedent; end
# [HeredocEnd] the ending of the heredoc
#
- # source://syntax_tree//lib/syntax_tree/node.rb#5776
+ # source://syntax_tree//lib/syntax_tree/node.rb#5779
def ending; end
- # source://syntax_tree//lib/syntax_tree/node.rb#5835
+ # source://syntax_tree//lib/syntax_tree/node.rb#5838
def format(q); end
# [Array[ StringEmbExpr | StringDVar | TStringContent ]] the parts of the
# heredoc string literal
#
- # source://syntax_tree//lib/syntax_tree/node.rb#5783
+ # source://syntax_tree//lib/syntax_tree/node.rb#5786
def parts; end
end
# This is a very specific behavior where you want to force a newline, but
# don't want to force the break parent.
#
-# source://syntax_tree//lib/syntax_tree/node.rb#5832
+# source://syntax_tree//lib/syntax_tree/node.rb#5835
SyntaxTree::Heredoc::SEPARATOR = T.let(T.unsafe(nil), PrettierPrint::Breakable)
# HeredocBeg represents the beginning declaration of a heredoc.
@@ -5591,42 +5817,42 @@ SyntaxTree::Heredoc::SEPARATOR = T.let(T.unsafe(nil), PrettierPrint::Breakable)
#
# In the example above the HeredocBeg node represents <<~DOC.
#
-# source://syntax_tree//lib/syntax_tree/node.rb#5883
+# source://syntax_tree//lib/syntax_tree/node.rb#5886
class SyntaxTree::HeredocBeg < ::SyntaxTree::Node
# @return [HeredocBeg] a new instance of HeredocBeg
#
- # source://syntax_tree//lib/syntax_tree/node.rb#5890
+ # source://syntax_tree//lib/syntax_tree/node.rb#5893
def initialize(value:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#5925
+ # source://syntax_tree//lib/syntax_tree/node.rb#5928
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#5896
+ # source://syntax_tree//lib/syntax_tree/node.rb#5899
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#5900
+ # source://syntax_tree//lib/syntax_tree/node.rb#5903
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#5888
+ # source://syntax_tree//lib/syntax_tree/node.rb#5891
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#5904
+ # source://syntax_tree//lib/syntax_tree/node.rb#5907
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#5900
+ # source://syntax_tree//lib/syntax_tree/node.rb#5903
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#5917
+ # source://syntax_tree//lib/syntax_tree/node.rb#5920
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#5921
+ # source://syntax_tree//lib/syntax_tree/node.rb#5924
def format(q); end
# [String] the opening declaration of the heredoc
#
- # source://syntax_tree//lib/syntax_tree/node.rb#5885
+ # source://syntax_tree//lib/syntax_tree/node.rb#5888
def value; end
end
@@ -5638,42 +5864,42 @@ end
#
# In the example above the HeredocEnd node represents the closing DOC.
#
-# source://syntax_tree//lib/syntax_tree/node.rb#5937
+# source://syntax_tree//lib/syntax_tree/node.rb#5940
class SyntaxTree::HeredocEnd < ::SyntaxTree::Node
# @return [HeredocEnd] a new instance of HeredocEnd
#
- # source://syntax_tree//lib/syntax_tree/node.rb#5944
+ # source://syntax_tree//lib/syntax_tree/node.rb#5947
def initialize(value:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#5979
+ # source://syntax_tree//lib/syntax_tree/node.rb#5982
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#5950
+ # source://syntax_tree//lib/syntax_tree/node.rb#5953
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#5954
+ # source://syntax_tree//lib/syntax_tree/node.rb#5957
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#5942
+ # source://syntax_tree//lib/syntax_tree/node.rb#5945
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#5958
+ # source://syntax_tree//lib/syntax_tree/node.rb#5961
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#5954
+ # source://syntax_tree//lib/syntax_tree/node.rb#5957
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#5971
+ # source://syntax_tree//lib/syntax_tree/node.rb#5974
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#5975
+ # source://syntax_tree//lib/syntax_tree/node.rb#5978
def format(q); end
# [String] the closing declaration of the heredoc
#
- # source://syntax_tree//lib/syntax_tree/node.rb#5939
+ # source://syntax_tree//lib/syntax_tree/node.rb#5942
def value; end
end
@@ -5684,105 +5910,105 @@ end
# in { key: }
# end
#
-# source://syntax_tree//lib/syntax_tree/node.rb#5991
+# source://syntax_tree//lib/syntax_tree/node.rb#5994
class SyntaxTree::HshPtn < ::SyntaxTree::Node
# @return [HshPtn] a new instance of HshPtn
#
- # source://syntax_tree//lib/syntax_tree/node.rb#6051
+ # source://syntax_tree//lib/syntax_tree/node.rb#6054
def initialize(constant:, keywords:, keyword_rest:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#6144
+ # source://syntax_tree//lib/syntax_tree/node.rb#6147
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#6059
+ # source://syntax_tree//lib/syntax_tree/node.rb#6062
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#6063
+ # source://syntax_tree//lib/syntax_tree/node.rb#6066
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#6049
+ # source://syntax_tree//lib/syntax_tree/node.rb#6052
def comments; end
- # [nil | Node] the optional constant wrapper
+ # [nil | VarRef | ConstPathRef] the optional constant wrapper
#
- # source://syntax_tree//lib/syntax_tree/node.rb#6039
+ # source://syntax_tree//lib/syntax_tree/node.rb#6042
def constant; end
- # source://syntax_tree//lib/syntax_tree/node.rb#6067
+ # source://syntax_tree//lib/syntax_tree/node.rb#6070
def copy(constant: T.unsafe(nil), keywords: T.unsafe(nil), keyword_rest: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#6063
+ # source://syntax_tree//lib/syntax_tree/node.rb#6066
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#6082
+ # source://syntax_tree//lib/syntax_tree/node.rb#6085
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#6092
+ # source://syntax_tree//lib/syntax_tree/node.rb#6095
def format(q); end
# [nil | VarField] an optional parameter to gather up all remaining keywords
#
- # source://syntax_tree//lib/syntax_tree/node.rb#6046
+ # source://syntax_tree//lib/syntax_tree/node.rb#6049
def keyword_rest; end
# [Array[ [DynaSymbol | Label, nil | Node] ]] the set of tuples
# representing the keywords that should be matched against in the pattern
#
- # source://syntax_tree//lib/syntax_tree/node.rb#6043
+ # source://syntax_tree//lib/syntax_tree/node.rb#6046
def keywords; end
private
- # source://syntax_tree//lib/syntax_tree/node.rb#6155
+ # source://syntax_tree//lib/syntax_tree/node.rb#6158
def format_contents(q, parts, nested); end
end
# Formats a key-value pair in a hash pattern. The value is optional.
#
-# source://syntax_tree//lib/syntax_tree/node.rb#5993
+# source://syntax_tree//lib/syntax_tree/node.rb#5996
class SyntaxTree::HshPtn::KeywordFormatter
# @return [KeywordFormatter] a new instance of KeywordFormatter
#
- # source://syntax_tree//lib/syntax_tree/node.rb#6000
+ # source://syntax_tree//lib/syntax_tree/node.rb#6003
def initialize(key, value); end
- # source://syntax_tree//lib/syntax_tree/node.rb#6005
+ # source://syntax_tree//lib/syntax_tree/node.rb#6008
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#6009
+ # source://syntax_tree//lib/syntax_tree/node.rb#6012
def format(q); end
# [Label] the keyword being used
#
- # source://syntax_tree//lib/syntax_tree/node.rb#5995
+ # source://syntax_tree//lib/syntax_tree/node.rb#5998
def key; end
# [Node] the optional value for the keyword
#
- # source://syntax_tree//lib/syntax_tree/node.rb#5998
+ # source://syntax_tree//lib/syntax_tree/node.rb#6001
def value; end
end
# Formats the optional double-splat from the pattern.
#
-# source://syntax_tree//lib/syntax_tree/node.rb#6020
+# source://syntax_tree//lib/syntax_tree/node.rb#6023
class SyntaxTree::HshPtn::KeywordRestFormatter
# @return [KeywordRestFormatter] a new instance of KeywordRestFormatter
#
- # source://syntax_tree//lib/syntax_tree/node.rb#6024
+ # source://syntax_tree//lib/syntax_tree/node.rb#6027
def initialize(keyword_rest); end
- # source://syntax_tree//lib/syntax_tree/node.rb#6028
+ # source://syntax_tree//lib/syntax_tree/node.rb#6031
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#6032
+ # source://syntax_tree//lib/syntax_tree/node.rb#6035
def format(q); end
# [VarField] the parameter that matches the remaining keywords
#
- # source://syntax_tree//lib/syntax_tree/node.rb#6022
+ # source://syntax_tree//lib/syntax_tree/node.rb#6025
def keyword_rest; end
end
@@ -5790,42 +6016,42 @@ end
#
# @variable
#
-# source://syntax_tree//lib/syntax_tree/node.rb#6875
+# source://syntax_tree//lib/syntax_tree/node.rb#6878
class SyntaxTree::IVar < ::SyntaxTree::Node
# @return [IVar] a new instance of IVar
#
- # source://syntax_tree//lib/syntax_tree/node.rb#6882
+ # source://syntax_tree//lib/syntax_tree/node.rb#6885
def initialize(value:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#6917
+ # source://syntax_tree//lib/syntax_tree/node.rb#6920
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#6888
+ # source://syntax_tree//lib/syntax_tree/node.rb#6891
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#6892
+ # source://syntax_tree//lib/syntax_tree/node.rb#6895
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#6880
+ # source://syntax_tree//lib/syntax_tree/node.rb#6883
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#6896
+ # source://syntax_tree//lib/syntax_tree/node.rb#6899
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#6892
+ # source://syntax_tree//lib/syntax_tree/node.rb#6895
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#6909
+ # source://syntax_tree//lib/syntax_tree/node.rb#6912
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#6913
+ # source://syntax_tree//lib/syntax_tree/node.rb#6916
def format(q); end
# [String] the name of the instance variable
#
- # source://syntax_tree//lib/syntax_tree/node.rb#6877
+ # source://syntax_tree//lib/syntax_tree/node.rb#6880
def value; end
end
@@ -5834,42 +6060,42 @@ end
#
# value
#
-# source://syntax_tree//lib/syntax_tree/node.rb#6178
+# source://syntax_tree//lib/syntax_tree/node.rb#6181
class SyntaxTree::Ident < ::SyntaxTree::Node
# @return [Ident] a new instance of Ident
#
- # source://syntax_tree//lib/syntax_tree/node.rb#6185
+ # source://syntax_tree//lib/syntax_tree/node.rb#6188
def initialize(value:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#6220
+ # source://syntax_tree//lib/syntax_tree/node.rb#6223
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#6191
+ # source://syntax_tree//lib/syntax_tree/node.rb#6194
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#6195
+ # source://syntax_tree//lib/syntax_tree/node.rb#6198
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#6183
+ # source://syntax_tree//lib/syntax_tree/node.rb#6186
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#6199
+ # source://syntax_tree//lib/syntax_tree/node.rb#6202
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#6195
+ # source://syntax_tree//lib/syntax_tree/node.rb#6198
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#6212
+ # source://syntax_tree//lib/syntax_tree/node.rb#6215
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#6216
+ # source://syntax_tree//lib/syntax_tree/node.rb#6219
def format(q); end
# [String] the value of the identifier
#
- # source://syntax_tree//lib/syntax_tree/node.rb#6180
+ # source://syntax_tree//lib/syntax_tree/node.rb#6183
def value; end
end
@@ -5878,59 +6104,59 @@ end
# if predicate
# end
#
-# source://syntax_tree//lib/syntax_tree/node.rb#6468
+# source://syntax_tree//lib/syntax_tree/node.rb#6471
class SyntaxTree::IfNode < ::SyntaxTree::Node
# @return [IfNode] a new instance of IfNode
#
- # source://syntax_tree//lib/syntax_tree/node.rb#6481
+ # source://syntax_tree//lib/syntax_tree/node.rb#6484
def initialize(predicate:, statements:, consequent:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#6526
+ # source://syntax_tree//lib/syntax_tree/node.rb#6529
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#6489
+ # source://syntax_tree//lib/syntax_tree/node.rb#6492
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#6493
+ # source://syntax_tree//lib/syntax_tree/node.rb#6496
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#6479
+ # source://syntax_tree//lib/syntax_tree/node.rb#6482
def comments; end
# [nil | Elsif | Else] the next clause in the chain
#
- # source://syntax_tree//lib/syntax_tree/node.rb#6476
+ # source://syntax_tree//lib/syntax_tree/node.rb#6479
def consequent; end
- # source://syntax_tree//lib/syntax_tree/node.rb#6497
+ # source://syntax_tree//lib/syntax_tree/node.rb#6500
def copy(predicate: T.unsafe(nil), statements: T.unsafe(nil), consequent: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#6493
+ # source://syntax_tree//lib/syntax_tree/node.rb#6496
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#6512
+ # source://syntax_tree//lib/syntax_tree/node.rb#6515
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#6522
+ # source://syntax_tree//lib/syntax_tree/node.rb#6525
def format(q); end
# Checks if the node was originally found in the modifier form.
#
# @return [Boolean]
#
- # source://syntax_tree//lib/syntax_tree/node.rb#6532
+ # source://syntax_tree//lib/syntax_tree/node.rb#6535
def modifier?; end
# [Node] the expression to be checked
#
- # source://syntax_tree//lib/syntax_tree/node.rb#6470
+ # source://syntax_tree//lib/syntax_tree/node.rb#6473
def predicate; end
# [Statements] the expressions to be executed
#
- # source://syntax_tree//lib/syntax_tree/node.rb#6473
+ # source://syntax_tree//lib/syntax_tree/node.rb#6476
def statements; end
end
@@ -5938,60 +6164,60 @@ end
#
# predicate ? truthy : falsy
#
-# source://syntax_tree//lib/syntax_tree/node.rb#6541
+# source://syntax_tree//lib/syntax_tree/node.rb#6544
class SyntaxTree::IfOp < ::SyntaxTree::Node
# @return [IfOp] a new instance of IfOp
#
- # source://syntax_tree//lib/syntax_tree/node.rb#6554
+ # source://syntax_tree//lib/syntax_tree/node.rb#6557
def initialize(predicate:, truthy:, falsy:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#6628
+ # source://syntax_tree//lib/syntax_tree/node.rb#6631
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#6562
+ # source://syntax_tree//lib/syntax_tree/node.rb#6565
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#6566
+ # source://syntax_tree//lib/syntax_tree/node.rb#6569
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#6552
+ # source://syntax_tree//lib/syntax_tree/node.rb#6555
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#6570
+ # source://syntax_tree//lib/syntax_tree/node.rb#6573
def copy(predicate: T.unsafe(nil), truthy: T.unsafe(nil), falsy: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#6566
+ # source://syntax_tree//lib/syntax_tree/node.rb#6569
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#6585
+ # source://syntax_tree//lib/syntax_tree/node.rb#6588
def deconstruct_keys(_keys); end
# [Node] the expression to be executed if the predicate is falsy
#
- # source://syntax_tree//lib/syntax_tree/node.rb#6549
+ # source://syntax_tree//lib/syntax_tree/node.rb#6552
def falsy; end
- # source://syntax_tree//lib/syntax_tree/node.rb#6595
+ # source://syntax_tree//lib/syntax_tree/node.rb#6598
def format(q); end
# [Node] the expression to be checked
#
- # source://syntax_tree//lib/syntax_tree/node.rb#6543
+ # source://syntax_tree//lib/syntax_tree/node.rb#6546
def predicate; end
# [Node] the expression to be executed if the predicate is truthy
#
- # source://syntax_tree//lib/syntax_tree/node.rb#6546
+ # source://syntax_tree//lib/syntax_tree/node.rb#6549
def truthy; end
private
- # source://syntax_tree//lib/syntax_tree/node.rb#6635
+ # source://syntax_tree//lib/syntax_tree/node.rb#6638
def format_break(q); end
- # source://syntax_tree//lib/syntax_tree/node.rb#6658
+ # source://syntax_tree//lib/syntax_tree/node.rb#6661
def format_flat(q); end
end
@@ -5999,42 +6225,42 @@ end
#
# 1i
#
-# source://syntax_tree//lib/syntax_tree/node.rb#6677
+# source://syntax_tree//lib/syntax_tree/node.rb#6680
class SyntaxTree::Imaginary < ::SyntaxTree::Node
# @return [Imaginary] a new instance of Imaginary
#
- # source://syntax_tree//lib/syntax_tree/node.rb#6684
+ # source://syntax_tree//lib/syntax_tree/node.rb#6687
def initialize(value:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#6719
+ # source://syntax_tree//lib/syntax_tree/node.rb#6722
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#6690
+ # source://syntax_tree//lib/syntax_tree/node.rb#6693
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#6694
+ # source://syntax_tree//lib/syntax_tree/node.rb#6697
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#6682
+ # source://syntax_tree//lib/syntax_tree/node.rb#6685
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#6698
+ # source://syntax_tree//lib/syntax_tree/node.rb#6701
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#6694
+ # source://syntax_tree//lib/syntax_tree/node.rb#6697
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#6711
+ # source://syntax_tree//lib/syntax_tree/node.rb#6714
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#6715
+ # source://syntax_tree//lib/syntax_tree/node.rb#6718
def format(q); end
# [String] the value of the imaginary number literal
#
- # source://syntax_tree//lib/syntax_tree/node.rb#6679
+ # source://syntax_tree//lib/syntax_tree/node.rb#6682
def value; end
end
@@ -6045,52 +6271,52 @@ end
# in pattern
# end
#
-# source://syntax_tree//lib/syntax_tree/node.rb#6731
+# source://syntax_tree//lib/syntax_tree/node.rb#6734
class SyntaxTree::In < ::SyntaxTree::Node
# @return [In] a new instance of In
#
- # source://syntax_tree//lib/syntax_tree/node.rb#6744
+ # source://syntax_tree//lib/syntax_tree/node.rb#6747
def initialize(pattern:, statements:, consequent:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#6809
+ # source://syntax_tree//lib/syntax_tree/node.rb#6812
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#6752
+ # source://syntax_tree//lib/syntax_tree/node.rb#6755
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#6756
+ # source://syntax_tree//lib/syntax_tree/node.rb#6759
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#6742
+ # source://syntax_tree//lib/syntax_tree/node.rb#6745
def comments; end
# [nil | In | Else] the next clause in the chain
#
- # source://syntax_tree//lib/syntax_tree/node.rb#6739
+ # source://syntax_tree//lib/syntax_tree/node.rb#6742
def consequent; end
- # source://syntax_tree//lib/syntax_tree/node.rb#6760
+ # source://syntax_tree//lib/syntax_tree/node.rb#6763
def copy(pattern: T.unsafe(nil), statements: T.unsafe(nil), consequent: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#6756
+ # source://syntax_tree//lib/syntax_tree/node.rb#6759
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#6775
+ # source://syntax_tree//lib/syntax_tree/node.rb#6778
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#6785
+ # source://syntax_tree//lib/syntax_tree/node.rb#6788
def format(q); end
# [Node] the pattern to check against
#
- # source://syntax_tree//lib/syntax_tree/node.rb#6733
+ # source://syntax_tree//lib/syntax_tree/node.rb#6736
def pattern; end
# [Statements] the expressions to execute if the pattern matched
#
- # source://syntax_tree//lib/syntax_tree/node.rb#6736
+ # source://syntax_tree//lib/syntax_tree/node.rb#6739
def statements; end
end
@@ -6555,42 +6781,42 @@ end
#
# 1
#
-# source://syntax_tree//lib/syntax_tree/node.rb#6819
+# source://syntax_tree//lib/syntax_tree/node.rb#6822
class SyntaxTree::Int < ::SyntaxTree::Node
# @return [Int] a new instance of Int
#
- # source://syntax_tree//lib/syntax_tree/node.rb#6826
+ # source://syntax_tree//lib/syntax_tree/node.rb#6829
def initialize(value:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#6866
+ # source://syntax_tree//lib/syntax_tree/node.rb#6869
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#6832
+ # source://syntax_tree//lib/syntax_tree/node.rb#6835
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#6836
+ # source://syntax_tree//lib/syntax_tree/node.rb#6839
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#6824
+ # source://syntax_tree//lib/syntax_tree/node.rb#6827
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#6840
+ # source://syntax_tree//lib/syntax_tree/node.rb#6843
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#6836
+ # source://syntax_tree//lib/syntax_tree/node.rb#6839
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#6850
+ # source://syntax_tree//lib/syntax_tree/node.rb#6853
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#6854
+ # source://syntax_tree//lib/syntax_tree/node.rb#6857
def format(q); end
# [String] the value of the integer
#
- # source://syntax_tree//lib/syntax_tree/node.rb#6821
+ # source://syntax_tree//lib/syntax_tree/node.rb#6824
def value; end
end
@@ -6647,47 +6873,47 @@ end
#
# then the contents of the symbol node will contain a Kw node.
#
-# source://syntax_tree//lib/syntax_tree/node.rb#6935
+# source://syntax_tree//lib/syntax_tree/node.rb#6938
class SyntaxTree::Kw < ::SyntaxTree::Node
# @return [Kw] a new instance of Kw
#
- # source://syntax_tree//lib/syntax_tree/node.rb#6945
+ # source://syntax_tree//lib/syntax_tree/node.rb#6948
def initialize(value:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#6978
+ # source://syntax_tree//lib/syntax_tree/node.rb#6981
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#6952
+ # source://syntax_tree//lib/syntax_tree/node.rb#6955
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#6956
+ # source://syntax_tree//lib/syntax_tree/node.rb#6959
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#6943
+ # source://syntax_tree//lib/syntax_tree/node.rb#6946
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#6960
+ # source://syntax_tree//lib/syntax_tree/node.rb#6963
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#6956
+ # source://syntax_tree//lib/syntax_tree/node.rb#6959
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#6970
+ # source://syntax_tree//lib/syntax_tree/node.rb#6973
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#6974
+ # source://syntax_tree//lib/syntax_tree/node.rb#6977
def format(q); end
# [Symbol] the symbol version of the value
#
- # source://syntax_tree//lib/syntax_tree/node.rb#6940
+ # source://syntax_tree//lib/syntax_tree/node.rb#6943
def name; end
# [String] the value of the keyword
#
- # source://syntax_tree//lib/syntax_tree/node.rb#6937
+ # source://syntax_tree//lib/syntax_tree/node.rb#6940
def value; end
end
@@ -6696,83 +6922,83 @@ end
#
# def method(**kwargs) end
#
-# source://syntax_tree//lib/syntax_tree/node.rb#6988
+# source://syntax_tree//lib/syntax_tree/node.rb#6991
class SyntaxTree::KwRestParam < ::SyntaxTree::Node
# @return [KwRestParam] a new instance of KwRestParam
#
- # source://syntax_tree//lib/syntax_tree/node.rb#6995
+ # source://syntax_tree//lib/syntax_tree/node.rb#6998
def initialize(name:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#7031
+ # source://syntax_tree//lib/syntax_tree/node.rb#7034
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#7001
+ # source://syntax_tree//lib/syntax_tree/node.rb#7004
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#7005
+ # source://syntax_tree//lib/syntax_tree/node.rb#7008
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#6993
+ # source://syntax_tree//lib/syntax_tree/node.rb#6996
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#7009
+ # source://syntax_tree//lib/syntax_tree/node.rb#7012
def copy(name: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#7005
+ # source://syntax_tree//lib/syntax_tree/node.rb#7008
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#7022
+ # source://syntax_tree//lib/syntax_tree/node.rb#7025
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#7026
+ # source://syntax_tree//lib/syntax_tree/node.rb#7029
def format(q); end
# [nil | Ident] the name of the parameter
#
- # source://syntax_tree//lib/syntax_tree/node.rb#6990
+ # source://syntax_tree//lib/syntax_tree/node.rb#6993
def name; end
end
# LBrace represents the use of a left brace, i.e., {.
#
-# source://syntax_tree//lib/syntax_tree/node.rb#7332
+# source://syntax_tree//lib/syntax_tree/node.rb#7316
class SyntaxTree::LBrace < ::SyntaxTree::Node
# @return [LBrace] a new instance of LBrace
#
- # source://syntax_tree//lib/syntax_tree/node.rb#7339
+ # source://syntax_tree//lib/syntax_tree/node.rb#7323
def initialize(value:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#7374
+ # source://syntax_tree//lib/syntax_tree/node.rb#7358
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#7345
+ # source://syntax_tree//lib/syntax_tree/node.rb#7329
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#7349
+ # source://syntax_tree//lib/syntax_tree/node.rb#7333
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#7337
+ # source://syntax_tree//lib/syntax_tree/node.rb#7321
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#7353
+ # source://syntax_tree//lib/syntax_tree/node.rb#7337
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#7349
+ # source://syntax_tree//lib/syntax_tree/node.rb#7333
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#7366
+ # source://syntax_tree//lib/syntax_tree/node.rb#7350
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#7370
+ # source://syntax_tree//lib/syntax_tree/node.rb#7354
def format(q); end
# [String] the left brace
#
- # source://syntax_tree//lib/syntax_tree/node.rb#7334
+ # source://syntax_tree//lib/syntax_tree/node.rb#7318
def value; end
class << self
@@ -6782,49 +7008,49 @@ class SyntaxTree::LBrace < ::SyntaxTree::Node
# easier to create LBrace nodes without any specific value, this method
# provides a default node.
#
- # source://syntax_tree//lib/syntax_tree/node.rb#7383
+ # source://syntax_tree//lib/syntax_tree/node.rb#7367
def default; end
end
end
# LBracket represents the use of a left bracket, i.e., [.
#
-# source://syntax_tree//lib/syntax_tree/node.rb#7389
+# source://syntax_tree//lib/syntax_tree/node.rb#7373
class SyntaxTree::LBracket < ::SyntaxTree::Node
# @return [LBracket] a new instance of LBracket
#
- # source://syntax_tree//lib/syntax_tree/node.rb#7396
+ # source://syntax_tree//lib/syntax_tree/node.rb#7380
def initialize(value:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#7431
+ # source://syntax_tree//lib/syntax_tree/node.rb#7415
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#7402
+ # source://syntax_tree//lib/syntax_tree/node.rb#7386
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#7406
+ # source://syntax_tree//lib/syntax_tree/node.rb#7390
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#7394
+ # source://syntax_tree//lib/syntax_tree/node.rb#7378
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#7410
+ # source://syntax_tree//lib/syntax_tree/node.rb#7394
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#7406
+ # source://syntax_tree//lib/syntax_tree/node.rb#7390
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#7423
+ # source://syntax_tree//lib/syntax_tree/node.rb#7407
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#7427
+ # source://syntax_tree//lib/syntax_tree/node.rb#7411
def format(q); end
# [String] the left bracket
#
- # source://syntax_tree//lib/syntax_tree/node.rb#7391
+ # source://syntax_tree//lib/syntax_tree/node.rb#7375
def value; end
class << self
@@ -6834,49 +7060,49 @@ class SyntaxTree::LBracket < ::SyntaxTree::Node
# easier to create LBracket nodes without any specific value, this method
# provides a default node.
#
- # source://syntax_tree//lib/syntax_tree/node.rb#7440
+ # source://syntax_tree//lib/syntax_tree/node.rb#7424
def default; end
end
end
# LParen represents the use of a left parenthesis, i.e., (.
#
-# source://syntax_tree//lib/syntax_tree/node.rb#7446
+# source://syntax_tree//lib/syntax_tree/node.rb#7430
class SyntaxTree::LParen < ::SyntaxTree::Node
# @return [LParen] a new instance of LParen
#
- # source://syntax_tree//lib/syntax_tree/node.rb#7453
+ # source://syntax_tree//lib/syntax_tree/node.rb#7437
def initialize(value:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#7488
+ # source://syntax_tree//lib/syntax_tree/node.rb#7472
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#7459
+ # source://syntax_tree//lib/syntax_tree/node.rb#7443
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#7463
+ # source://syntax_tree//lib/syntax_tree/node.rb#7447
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#7451
+ # source://syntax_tree//lib/syntax_tree/node.rb#7435
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#7467
+ # source://syntax_tree//lib/syntax_tree/node.rb#7451
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#7463
+ # source://syntax_tree//lib/syntax_tree/node.rb#7447
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#7480
+ # source://syntax_tree//lib/syntax_tree/node.rb#7464
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#7484
+ # source://syntax_tree//lib/syntax_tree/node.rb#7468
def format(q); end
# [String] the left parenthesis
#
- # source://syntax_tree//lib/syntax_tree/node.rb#7448
+ # source://syntax_tree//lib/syntax_tree/node.rb#7432
def value; end
class << self
@@ -6886,7 +7112,7 @@ class SyntaxTree::LParen < ::SyntaxTree::Node
# easier to create LParen nodes without any specific value, this method
# provides a default node.
#
- # source://syntax_tree//lib/syntax_tree/node.rb#7497
+ # source://syntax_tree//lib/syntax_tree/node.rb#7481
def default; end
end
end
@@ -6905,42 +7131,42 @@ end
#
# In this case "key:" would be the body of the label.
#
-# source://syntax_tree//lib/syntax_tree/node.rb#7049
+# source://syntax_tree//lib/syntax_tree/node.rb#7052
class SyntaxTree::Label < ::SyntaxTree::Node
# @return [Label] a new instance of Label
#
- # source://syntax_tree//lib/syntax_tree/node.rb#7056
+ # source://syntax_tree//lib/syntax_tree/node.rb#7059
def initialize(value:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#7091
+ # source://syntax_tree//lib/syntax_tree/node.rb#7094
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#7062
+ # source://syntax_tree//lib/syntax_tree/node.rb#7065
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#7066
+ # source://syntax_tree//lib/syntax_tree/node.rb#7069
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#7054
+ # source://syntax_tree//lib/syntax_tree/node.rb#7057
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#7070
+ # source://syntax_tree//lib/syntax_tree/node.rb#7073
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#7066
+ # source://syntax_tree//lib/syntax_tree/node.rb#7069
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#7083
+ # source://syntax_tree//lib/syntax_tree/node.rb#7086
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#7087
+ # source://syntax_tree//lib/syntax_tree/node.rb#7090
def format(q); end
# [String] the value of the label
#
- # source://syntax_tree//lib/syntax_tree/node.rb#7051
+ # source://syntax_tree//lib/syntax_tree/node.rb#7054
def value; end
end
@@ -6952,34 +7178,34 @@ end
# hash key. This node is important for determining the type of quote being
# used by the label.
#
-# source://syntax_tree//lib/syntax_tree/node.rb#7103
+# source://syntax_tree//lib/syntax_tree/node.rb#7106
class SyntaxTree::LabelEnd < ::SyntaxTree::Node
# @return [LabelEnd] a new instance of LabelEnd
#
- # source://syntax_tree//lib/syntax_tree/node.rb#7107
+ # source://syntax_tree//lib/syntax_tree/node.rb#7110
def initialize(value:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#7133
+ # source://syntax_tree//lib/syntax_tree/node.rb#7136
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#7112
+ # source://syntax_tree//lib/syntax_tree/node.rb#7115
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#7116
+ # source://syntax_tree//lib/syntax_tree/node.rb#7119
def child_nodes; end
- # source://syntax_tree//lib/syntax_tree/node.rb#7120
+ # source://syntax_tree//lib/syntax_tree/node.rb#7123
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#7116
+ # source://syntax_tree//lib/syntax_tree/node.rb#7119
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#7129
+ # source://syntax_tree//lib/syntax_tree/node.rb#7132
def deconstruct_keys(_keys); end
# [String] the end of the label
#
- # source://syntax_tree//lib/syntax_tree/node.rb#7105
+ # source://syntax_tree//lib/syntax_tree/node.rb#7108
def value; end
end
@@ -6987,47 +7213,47 @@ end
#
# ->(value) { value * 2 }
#
-# source://syntax_tree//lib/syntax_tree/node.rb#7142
+# source://syntax_tree//lib/syntax_tree/node.rb#7145
class SyntaxTree::Lambda < ::SyntaxTree::Node
# @return [Lambda] a new instance of Lambda
#
- # source://syntax_tree//lib/syntax_tree/node.rb#7152
+ # source://syntax_tree//lib/syntax_tree/node.rb#7155
def initialize(params:, statements:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#7255
+ # source://syntax_tree//lib/syntax_tree/node.rb#7239
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#7159
+ # source://syntax_tree//lib/syntax_tree/node.rb#7162
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#7163
+ # source://syntax_tree//lib/syntax_tree/node.rb#7166
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#7150
+ # source://syntax_tree//lib/syntax_tree/node.rb#7153
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#7167
+ # source://syntax_tree//lib/syntax_tree/node.rb#7170
def copy(params: T.unsafe(nil), statements: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#7163
+ # source://syntax_tree//lib/syntax_tree/node.rb#7166
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#7181
+ # source://syntax_tree//lib/syntax_tree/node.rb#7184
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#7190
+ # source://syntax_tree//lib/syntax_tree/node.rb#7193
def format(q); end
# [LambdaVar | Paren] the parameter declaration for this lambda
#
- # source://syntax_tree//lib/syntax_tree/node.rb#7144
+ # source://syntax_tree//lib/syntax_tree/node.rb#7147
def params; end
# [BodyStmt | Statements] the expressions to be executed in this lambda
#
- # source://syntax_tree//lib/syntax_tree/node.rb#7147
+ # source://syntax_tree//lib/syntax_tree/node.rb#7150
def statements; end
end
@@ -7039,52 +7265,52 @@ end
# -> (positional, optional = value, keyword:, █ local) do
# end
#
-# source://syntax_tree//lib/syntax_tree/node.rb#7269
+# source://syntax_tree//lib/syntax_tree/node.rb#7253
class SyntaxTree::LambdaVar < ::SyntaxTree::Node
# @return [LambdaVar] a new instance of LambdaVar
#
- # source://syntax_tree//lib/syntax_tree/node.rb#7279
+ # source://syntax_tree//lib/syntax_tree/node.rb#7263
def initialize(params:, locals:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#7325
+ # source://syntax_tree//lib/syntax_tree/node.rb#7309
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#7286
+ # source://syntax_tree//lib/syntax_tree/node.rb#7270
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#7290
+ # source://syntax_tree//lib/syntax_tree/node.rb#7274
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#7277
+ # source://syntax_tree//lib/syntax_tree/node.rb#7261
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#7294
+ # source://syntax_tree//lib/syntax_tree/node.rb#7278
def copy(params: T.unsafe(nil), locals: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#7290
+ # source://syntax_tree//lib/syntax_tree/node.rb#7274
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#7308
+ # source://syntax_tree//lib/syntax_tree/node.rb#7292
def deconstruct_keys(_keys); end
# @return [Boolean]
#
- # source://syntax_tree//lib/syntax_tree/node.rb#7312
+ # source://syntax_tree//lib/syntax_tree/node.rb#7296
def empty?; end
- # source://syntax_tree//lib/syntax_tree/node.rb#7316
+ # source://syntax_tree//lib/syntax_tree/node.rb#7300
def format(q); end
# [Array[ Ident ]] the list of block-local variable declarations
#
- # source://syntax_tree//lib/syntax_tree/node.rb#7274
+ # source://syntax_tree//lib/syntax_tree/node.rb#7258
def locals; end
# [Params] the parameters being declared with the block
#
- # source://syntax_tree//lib/syntax_tree/node.rb#7271
+ # source://syntax_tree//lib/syntax_tree/node.rb#7255
def params; end
end
@@ -7331,29 +7557,29 @@ end
# Formats an Until or While node.
#
-# source://syntax_tree//lib/syntax_tree/node.rb#11394
+# source://syntax_tree//lib/syntax_tree/node.rb#11378
class SyntaxTree::LoopFormatter
# @return [LoopFormatter] a new instance of LoopFormatter
#
- # source://syntax_tree//lib/syntax_tree/node.rb#11401
+ # source://syntax_tree//lib/syntax_tree/node.rb#11385
def initialize(keyword, node); end
- # source://syntax_tree//lib/syntax_tree/node.rb#11406
+ # source://syntax_tree//lib/syntax_tree/node.rb#11390
def format(q); end
# [String] the name of the keyword used for this loop
#
- # source://syntax_tree//lib/syntax_tree/node.rb#11396
+ # source://syntax_tree//lib/syntax_tree/node.rb#11380
def keyword; end
# [Until | While] the node that is being formatted
#
- # source://syntax_tree//lib/syntax_tree/node.rb#11399
+ # source://syntax_tree//lib/syntax_tree/node.rb#11383
def node; end
private
- # source://syntax_tree//lib/syntax_tree/node.rb#11453
+ # source://syntax_tree//lib/syntax_tree/node.rb#11437
def format_break(q); end
end
@@ -7371,47 +7597,47 @@ end
#
# first, = value
#
-# source://syntax_tree//lib/syntax_tree/node.rb#7516
+# source://syntax_tree//lib/syntax_tree/node.rb#7500
class SyntaxTree::MAssign < ::SyntaxTree::Node
# @return [MAssign] a new instance of MAssign
#
- # source://syntax_tree//lib/syntax_tree/node.rb#7526
+ # source://syntax_tree//lib/syntax_tree/node.rb#7510
def initialize(target:, value:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#7570
+ # source://syntax_tree//lib/syntax_tree/node.rb#7554
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#7533
+ # source://syntax_tree//lib/syntax_tree/node.rb#7517
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#7537
+ # source://syntax_tree//lib/syntax_tree/node.rb#7521
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#7524
+ # source://syntax_tree//lib/syntax_tree/node.rb#7508
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#7541
+ # source://syntax_tree//lib/syntax_tree/node.rb#7525
def copy(target: T.unsafe(nil), value: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#7537
+ # source://syntax_tree//lib/syntax_tree/node.rb#7521
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#7555
+ # source://syntax_tree//lib/syntax_tree/node.rb#7539
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#7559
+ # source://syntax_tree//lib/syntax_tree/node.rb#7543
def format(q); end
# [MLHS | MLHSParen] the target of the multiple assignment
#
- # source://syntax_tree//lib/syntax_tree/node.rb#7518
+ # source://syntax_tree//lib/syntax_tree/node.rb#7502
def target; end
# [Node] the value being assigned
#
- # source://syntax_tree//lib/syntax_tree/node.rb#7521
+ # source://syntax_tree//lib/syntax_tree/node.rb#7505
def value; end
end
@@ -7420,51 +7646,51 @@ end
#
# first, second, third = value
#
-# source://syntax_tree//lib/syntax_tree/node.rb#7654
+# source://syntax_tree//lib/syntax_tree/node.rb#7638
class SyntaxTree::MLHS < ::SyntaxTree::Node
# @return [MLHS] a new instance of MLHS
#
- # source://syntax_tree//lib/syntax_tree/node.rb#7671
+ # source://syntax_tree//lib/syntax_tree/node.rb#7655
def initialize(parts:, location:, comma: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#7709
+ # source://syntax_tree//lib/syntax_tree/node.rb#7693
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#7678
+ # source://syntax_tree//lib/syntax_tree/node.rb#7662
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#7682
+ # source://syntax_tree//lib/syntax_tree/node.rb#7666
def child_nodes; end
# [boolean] whether or not there is a trailing comma at the end of this
# list, which impacts destructuring. It's an attr_accessor so that while
# the syntax tree is being built it can be set by its parent node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#7666
+ # source://syntax_tree//lib/syntax_tree/node.rb#7650
def comma; end
# [boolean] whether or not there is a trailing comma at the end of this
# list, which impacts destructuring. It's an attr_accessor so that while
# the syntax tree is being built it can be set by its parent node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#7666
+ # source://syntax_tree//lib/syntax_tree/node.rb#7650
def comma=(_arg0); end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#7669
+ # source://syntax_tree//lib/syntax_tree/node.rb#7653
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#7686
+ # source://syntax_tree//lib/syntax_tree/node.rb#7670
def copy(parts: T.unsafe(nil), location: T.unsafe(nil), comma: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#7682
+ # source://syntax_tree//lib/syntax_tree/node.rb#7666
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#7700
+ # source://syntax_tree//lib/syntax_tree/node.rb#7684
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#7704
+ # source://syntax_tree//lib/syntax_tree/node.rb#7688
def format(q); end
# [
@@ -7474,7 +7700,7 @@ class SyntaxTree::MLHS < ::SyntaxTree::Node
# ]
# ] the parts of the left-hand side of a multiple assignment
#
- # source://syntax_tree//lib/syntax_tree/node.rb#7661
+ # source://syntax_tree//lib/syntax_tree/node.rb#7645
def parts; end
end
@@ -7483,56 +7709,56 @@ end
#
# (left, right) = value
#
-# source://syntax_tree//lib/syntax_tree/node.rb#7720
+# source://syntax_tree//lib/syntax_tree/node.rb#7704
class SyntaxTree::MLHSParen < ::SyntaxTree::Node
# @return [MLHSParen] a new instance of MLHSParen
#
- # source://syntax_tree//lib/syntax_tree/node.rb#7732
+ # source://syntax_tree//lib/syntax_tree/node.rb#7716
def initialize(contents:, location:, comma: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#7785
+ # source://syntax_tree//lib/syntax_tree/node.rb#7769
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#7739
+ # source://syntax_tree//lib/syntax_tree/node.rb#7723
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#7743
+ # source://syntax_tree//lib/syntax_tree/node.rb#7727
def child_nodes; end
# [boolean] whether or not there is a trailing comma at the end of this
# list, which impacts destructuring. It's an attr_accessor so that while
# the syntax tree is being built it can be set by its parent node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#7727
+ # source://syntax_tree//lib/syntax_tree/node.rb#7711
def comma; end
# [boolean] whether or not there is a trailing comma at the end of this
# list, which impacts destructuring. It's an attr_accessor so that while
# the syntax tree is being built it can be set by its parent node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#7727
+ # source://syntax_tree//lib/syntax_tree/node.rb#7711
def comma=(_arg0); end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#7730
+ # source://syntax_tree//lib/syntax_tree/node.rb#7714
def comments; end
# [MLHS | MLHSParen] the contents inside of the parentheses
#
- # source://syntax_tree//lib/syntax_tree/node.rb#7722
+ # source://syntax_tree//lib/syntax_tree/node.rb#7706
def contents; end
- # source://syntax_tree//lib/syntax_tree/node.rb#7747
+ # source://syntax_tree//lib/syntax_tree/node.rb#7731
def copy(contents: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#7743
+ # source://syntax_tree//lib/syntax_tree/node.rb#7727
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#7760
+ # source://syntax_tree//lib/syntax_tree/node.rb#7744
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#7764
+ # source://syntax_tree//lib/syntax_tree/node.rb#7748
def format(q); end
end
@@ -7541,42 +7767,42 @@ end
#
# values = first, second, third
#
-# source://syntax_tree//lib/syntax_tree/node.rb#7885
+# source://syntax_tree//lib/syntax_tree/node.rb#7869
class SyntaxTree::MRHS < ::SyntaxTree::Node
# @return [MRHS] a new instance of MRHS
#
- # source://syntax_tree//lib/syntax_tree/node.rb#7892
+ # source://syntax_tree//lib/syntax_tree/node.rb#7876
def initialize(parts:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#7927
+ # source://syntax_tree//lib/syntax_tree/node.rb#7911
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#7898
+ # source://syntax_tree//lib/syntax_tree/node.rb#7882
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#7902
+ # source://syntax_tree//lib/syntax_tree/node.rb#7886
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#7890
+ # source://syntax_tree//lib/syntax_tree/node.rb#7874
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#7906
+ # source://syntax_tree//lib/syntax_tree/node.rb#7890
def copy(parts: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#7902
+ # source://syntax_tree//lib/syntax_tree/node.rb#7886
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#7919
+ # source://syntax_tree//lib/syntax_tree/node.rb#7903
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#7923
+ # source://syntax_tree//lib/syntax_tree/node.rb#7907
def format(q); end
# [Array[Node]] the parts that are being assigned
#
- # source://syntax_tree//lib/syntax_tree/node.rb#7887
+ # source://syntax_tree//lib/syntax_tree/node.rb#7871
def parts; end
end
@@ -7833,50 +8059,50 @@ end
#
# method {}
#
-# source://syntax_tree//lib/syntax_tree/node.rb#7579
+# source://syntax_tree//lib/syntax_tree/node.rb#7563
class SyntaxTree::MethodAddBlock < ::SyntaxTree::Node
# @return [MethodAddBlock] a new instance of MethodAddBlock
#
- # source://syntax_tree//lib/syntax_tree/node.rb#7589
+ # source://syntax_tree//lib/syntax_tree/node.rb#7573
def initialize(call:, block:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#7638
+ # source://syntax_tree//lib/syntax_tree/node.rb#7622
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#7596
+ # source://syntax_tree//lib/syntax_tree/node.rb#7580
def accept(visitor); end
# [BlockNode] the block being sent with the method call
#
- # source://syntax_tree//lib/syntax_tree/node.rb#7584
+ # source://syntax_tree//lib/syntax_tree/node.rb#7568
def block; end
# [ARef | CallNode | Command | CommandCall | Super | ZSuper] the method call
#
- # source://syntax_tree//lib/syntax_tree/node.rb#7581
+ # source://syntax_tree//lib/syntax_tree/node.rb#7565
def call; end
- # source://syntax_tree//lib/syntax_tree/node.rb#7600
+ # source://syntax_tree//lib/syntax_tree/node.rb#7584
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#7587
+ # source://syntax_tree//lib/syntax_tree/node.rb#7571
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#7604
+ # source://syntax_tree//lib/syntax_tree/node.rb#7588
def copy(call: T.unsafe(nil), block: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#7600
+ # source://syntax_tree//lib/syntax_tree/node.rb#7584
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#7618
+ # source://syntax_tree//lib/syntax_tree/node.rb#7602
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#7622
+ # source://syntax_tree//lib/syntax_tree/node.rb#7606
def format(q); end
- # source://syntax_tree//lib/syntax_tree/node.rb#7643
+ # source://syntax_tree//lib/syntax_tree/node.rb#7627
def format_contents(q); end
end
@@ -7885,52 +8111,52 @@ end
# module Namespace
# end
#
-# source://syntax_tree//lib/syntax_tree/node.rb#7795
+# source://syntax_tree//lib/syntax_tree/node.rb#7779
class SyntaxTree::ModuleDeclaration < ::SyntaxTree::Node
# @return [ModuleDeclaration] a new instance of ModuleDeclaration
#
- # source://syntax_tree//lib/syntax_tree/node.rb#7805
+ # source://syntax_tree//lib/syntax_tree/node.rb#7789
def initialize(constant:, bodystmt:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#7865
+ # source://syntax_tree//lib/syntax_tree/node.rb#7849
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#7812
+ # source://syntax_tree//lib/syntax_tree/node.rb#7796
def accept(visitor); end
# [BodyStmt] the expressions to be executed in the context of the module
#
- # source://syntax_tree//lib/syntax_tree/node.rb#7800
+ # source://syntax_tree//lib/syntax_tree/node.rb#7784
def bodystmt; end
- # source://syntax_tree//lib/syntax_tree/node.rb#7816
+ # source://syntax_tree//lib/syntax_tree/node.rb#7800
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#7803
+ # source://syntax_tree//lib/syntax_tree/node.rb#7787
def comments; end
# [ConstPathRef | ConstRef | TopConstRef] the name of the module
#
- # source://syntax_tree//lib/syntax_tree/node.rb#7797
+ # source://syntax_tree//lib/syntax_tree/node.rb#7781
def constant; end
- # source://syntax_tree//lib/syntax_tree/node.rb#7820
+ # source://syntax_tree//lib/syntax_tree/node.rb#7804
def copy(constant: T.unsafe(nil), bodystmt: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#7816
+ # source://syntax_tree//lib/syntax_tree/node.rb#7800
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#7834
+ # source://syntax_tree//lib/syntax_tree/node.rb#7818
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#7843
+ # source://syntax_tree//lib/syntax_tree/node.rb#7827
def format(q); end
private
- # source://syntax_tree//lib/syntax_tree/node.rb#7872
+ # source://syntax_tree//lib/syntax_tree/node.rb#7856
def format_declaration(q); end
end
@@ -8433,42 +8659,42 @@ end
#
# next(value)
#
-# source://syntax_tree//lib/syntax_tree/node.rb#7949
+# source://syntax_tree//lib/syntax_tree/node.rb#7933
class SyntaxTree::Next < ::SyntaxTree::Node
# @return [Next] a new instance of Next
#
- # source://syntax_tree//lib/syntax_tree/node.rb#7956
+ # source://syntax_tree//lib/syntax_tree/node.rb#7940
def initialize(arguments:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#7991
+ # source://syntax_tree//lib/syntax_tree/node.rb#7975
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#7962
+ # source://syntax_tree//lib/syntax_tree/node.rb#7946
def accept(visitor); end
# [Args] the arguments passed to the next keyword
#
- # source://syntax_tree//lib/syntax_tree/node.rb#7951
+ # source://syntax_tree//lib/syntax_tree/node.rb#7935
def arguments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#7966
+ # source://syntax_tree//lib/syntax_tree/node.rb#7950
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#7954
+ # source://syntax_tree//lib/syntax_tree/node.rb#7938
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#7970
+ # source://syntax_tree//lib/syntax_tree/node.rb#7954
def copy(arguments: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#7966
+ # source://syntax_tree//lib/syntax_tree/node.rb#7950
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#7983
+ # source://syntax_tree//lib/syntax_tree/node.rb#7967
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#7987
+ # source://syntax_tree//lib/syntax_tree/node.rb#7971
def format(q); end
end
@@ -8531,52 +8757,52 @@ end
#
# not value
#
-# source://syntax_tree//lib/syntax_tree/node.rb#11093
+# source://syntax_tree//lib/syntax_tree/node.rb#11077
class SyntaxTree::Not < ::SyntaxTree::Node
# @return [Not] a new instance of Not
#
- # source://syntax_tree//lib/syntax_tree/node.rb#11104
+ # source://syntax_tree//lib/syntax_tree/node.rb#11088
def initialize(statement:, parentheses:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#11166
+ # source://syntax_tree//lib/syntax_tree/node.rb#11150
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#11111
+ # source://syntax_tree//lib/syntax_tree/node.rb#11095
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#11115
+ # source://syntax_tree//lib/syntax_tree/node.rb#11099
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#11102
+ # source://syntax_tree//lib/syntax_tree/node.rb#11086
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#11119
+ # source://syntax_tree//lib/syntax_tree/node.rb#11103
def copy(statement: T.unsafe(nil), parentheses: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#11115
+ # source://syntax_tree//lib/syntax_tree/node.rb#11099
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#11133
+ # source://syntax_tree//lib/syntax_tree/node.rb#11117
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#11142
+ # source://syntax_tree//lib/syntax_tree/node.rb#11126
def format(q); end
# [boolean] whether or not parentheses were used
#
- # source://syntax_tree//lib/syntax_tree/node.rb#11098
+ # source://syntax_tree//lib/syntax_tree/node.rb#11082
def parentheses; end
# [boolean] whether or not parentheses were used
#
- # source://syntax_tree//lib/syntax_tree/node.rb#11098
+ # source://syntax_tree//lib/syntax_tree/node.rb#11082
def parentheses?; end
# [nil | Node] the statement on which to operate
#
- # source://syntax_tree//lib/syntax_tree/node.rb#11095
+ # source://syntax_tree//lib/syntax_tree/node.rb#11079
def statement; end
end
@@ -8586,47 +8812,47 @@ end
#
# In the example above, the Op node represents the + operator.
#
-# source://syntax_tree//lib/syntax_tree/node.rb#8001
+# source://syntax_tree//lib/syntax_tree/node.rb#7985
class SyntaxTree::Op < ::SyntaxTree::Node
# @return [Op] a new instance of Op
#
- # source://syntax_tree//lib/syntax_tree/node.rb#8011
+ # source://syntax_tree//lib/syntax_tree/node.rb#7995
def initialize(value:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#8044
+ # source://syntax_tree//lib/syntax_tree/node.rb#8028
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#8018
+ # source://syntax_tree//lib/syntax_tree/node.rb#8002
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#8022
+ # source://syntax_tree//lib/syntax_tree/node.rb#8006
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#8009
+ # source://syntax_tree//lib/syntax_tree/node.rb#7993
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#8026
+ # source://syntax_tree//lib/syntax_tree/node.rb#8010
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#8022
+ # source://syntax_tree//lib/syntax_tree/node.rb#8006
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#8036
+ # source://syntax_tree//lib/syntax_tree/node.rb#8020
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#8040
+ # source://syntax_tree//lib/syntax_tree/node.rb#8024
def format(q); end
# [Symbol] the symbol version of the value
#
- # source://syntax_tree//lib/syntax_tree/node.rb#8006
+ # source://syntax_tree//lib/syntax_tree/node.rb#7990
def name; end
# [String] the operator
#
- # source://syntax_tree//lib/syntax_tree/node.rb#8003
+ # source://syntax_tree//lib/syntax_tree/node.rb#7987
def value; end
end
@@ -8635,84 +8861,84 @@ end
#
# variable += value
#
-# source://syntax_tree//lib/syntax_tree/node.rb#8054
+# source://syntax_tree//lib/syntax_tree/node.rb#8038
class SyntaxTree::OpAssign < ::SyntaxTree::Node
# @return [OpAssign] a new instance of OpAssign
#
- # source://syntax_tree//lib/syntax_tree/node.rb#8068
+ # source://syntax_tree//lib/syntax_tree/node.rb#8052
def initialize(target:, operator:, value:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#8127
+ # source://syntax_tree//lib/syntax_tree/node.rb#8111
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#8076
+ # source://syntax_tree//lib/syntax_tree/node.rb#8060
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#8080
+ # source://syntax_tree//lib/syntax_tree/node.rb#8064
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#8066
+ # source://syntax_tree//lib/syntax_tree/node.rb#8050
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#8084
+ # source://syntax_tree//lib/syntax_tree/node.rb#8068
def copy(target: T.unsafe(nil), operator: T.unsafe(nil), value: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#8080
+ # source://syntax_tree//lib/syntax_tree/node.rb#8064
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#8099
+ # source://syntax_tree//lib/syntax_tree/node.rb#8083
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#8109
+ # source://syntax_tree//lib/syntax_tree/node.rb#8093
def format(q); end
# [Op] the operator being used for the assignment
#
- # source://syntax_tree//lib/syntax_tree/node.rb#8060
+ # source://syntax_tree//lib/syntax_tree/node.rb#8044
def operator; end
# [ARefField | ConstPathField | Field | TopConstField | VarField] the target
# to assign the result of the expression to
#
- # source://syntax_tree//lib/syntax_tree/node.rb#8057
+ # source://syntax_tree//lib/syntax_tree/node.rb#8041
def target; end
# [Node] the expression to be assigned
#
- # source://syntax_tree//lib/syntax_tree/node.rb#8063
+ # source://syntax_tree//lib/syntax_tree/node.rb#8047
def value; end
private
# @return [Boolean]
#
- # source://syntax_tree//lib/syntax_tree/node.rb#8134
+ # source://syntax_tree//lib/syntax_tree/node.rb#8118
def skip_indent?; end
end
# The list of nodes that represent patterns inside of pattern matching so that
# when a pattern is being printed it knows if it's nested.
#
-# source://syntax_tree//lib/syntax_tree/node.rb#6171
+# source://syntax_tree//lib/syntax_tree/node.rb#6174
SyntaxTree::PATTERNS = T.let(T.unsafe(nil), Array)
# Params represents defining parameters on a method or lambda.
#
# def method(param) end
#
-# source://syntax_tree//lib/syntax_tree/node.rb#8212
+# source://syntax_tree//lib/syntax_tree/node.rb#8196
class SyntaxTree::Params < ::SyntaxTree::Node
# @return [Params] a new instance of Params
#
- # source://syntax_tree//lib/syntax_tree/node.rb#8314
+ # source://syntax_tree//lib/syntax_tree/node.rb#8298
def initialize(location:, requireds: T.unsafe(nil), optionals: T.unsafe(nil), rest: T.unsafe(nil), posts: T.unsafe(nil), keywords: T.unsafe(nil), keyword_rest: T.unsafe(nil), block: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#8444
+ # source://syntax_tree//lib/syntax_tree/node.rb#8428
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#8344
+ # source://syntax_tree//lib/syntax_tree/node.rb#8328
def accept(visitor); end
# Returns a range representing the possible number of arguments accepted
@@ -8724,29 +8950,29 @@ class SyntaxTree::Params < ::SyntaxTree::Node
#
# has arity 2..4.
#
- # source://syntax_tree//lib/syntax_tree/node.rb#8467
+ # source://syntax_tree//lib/syntax_tree/node.rb#8451
def arity; end
# [nil | BlockArg] the optional block parameter
#
- # source://syntax_tree//lib/syntax_tree/node.rb#8309
+ # source://syntax_tree//lib/syntax_tree/node.rb#8293
def block; end
- # source://syntax_tree//lib/syntax_tree/node.rb#8348
+ # source://syntax_tree//lib/syntax_tree/node.rb#8332
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#8312
+ # source://syntax_tree//lib/syntax_tree/node.rb#8296
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#8362
+ # source://syntax_tree//lib/syntax_tree/node.rb#8346
def copy(location: T.unsafe(nil), requireds: T.unsafe(nil), optionals: T.unsafe(nil), rest: T.unsafe(nil), posts: T.unsafe(nil), keywords: T.unsafe(nil), keyword_rest: T.unsafe(nil), block: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#8348
+ # source://syntax_tree//lib/syntax_tree/node.rb#8332
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#8390
+ # source://syntax_tree//lib/syntax_tree/node.rb#8374
def deconstruct_keys(_keys); end
# Params nodes are the most complicated in the tree. Occasionally you want
@@ -8756,126 +8982,126 @@ class SyntaxTree::Params < ::SyntaxTree::Node
#
# @return [Boolean]
#
- # source://syntax_tree//lib/syntax_tree/node.rb#8339
+ # source://syntax_tree//lib/syntax_tree/node.rb#8323
def empty?; end
- # source://syntax_tree//lib/syntax_tree/node.rb#8404
+ # source://syntax_tree//lib/syntax_tree/node.rb#8388
def format(q); end
# [nil | :nil | ArgsForward | KwRestParam] the optional keyword rest
# parameter
#
- # source://syntax_tree//lib/syntax_tree/node.rb#8306
+ # source://syntax_tree//lib/syntax_tree/node.rb#8290
def keyword_rest; end
# [Array[ [ Label, nil | Node ] ]] any keyword parameters and their
# optional default values
#
- # source://syntax_tree//lib/syntax_tree/node.rb#8302
+ # source://syntax_tree//lib/syntax_tree/node.rb#8286
def keywords; end
# [Array[ [ Ident, Node ] ]] any optional parameters and their default
# values
#
- # source://syntax_tree//lib/syntax_tree/node.rb#8290
+ # source://syntax_tree//lib/syntax_tree/node.rb#8274
def optionals; end
- # [Array[ Ident ]] any positional parameters that exist after a rest
- # parameter
+ # [Array[ Ident | MLHSParen ]] any positional parameters that exist after a
+ # rest parameter
#
- # source://syntax_tree//lib/syntax_tree/node.rb#8298
+ # source://syntax_tree//lib/syntax_tree/node.rb#8282
def posts; end
# [Array[ Ident | MLHSParen ]] any required parameters
#
- # source://syntax_tree//lib/syntax_tree/node.rb#8286
+ # source://syntax_tree//lib/syntax_tree/node.rb#8270
def requireds; end
# [nil | ArgsForward | ExcessedComma | RestParam] the optional rest
# parameter
#
- # source://syntax_tree//lib/syntax_tree/node.rb#8294
+ # source://syntax_tree//lib/syntax_tree/node.rb#8278
def rest; end
private
- # source://syntax_tree//lib/syntax_tree/node.rb#8483
+ # source://syntax_tree//lib/syntax_tree/node.rb#8467
def format_contents(q, parts); end
end
# Formats the keyword position of the parameters. This includes the label,
# as well as an optional default value.
#
-# source://syntax_tree//lib/syntax_tree/node.rb#8240
+# source://syntax_tree//lib/syntax_tree/node.rb#8224
class SyntaxTree::Params::KeywordFormatter
# @return [KeywordFormatter] a new instance of KeywordFormatter
#
- # source://syntax_tree//lib/syntax_tree/node.rb#8247
+ # source://syntax_tree//lib/syntax_tree/node.rb#8231
def initialize(name, value); end
- # source://syntax_tree//lib/syntax_tree/node.rb#8252
+ # source://syntax_tree//lib/syntax_tree/node.rb#8236
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#8256
+ # source://syntax_tree//lib/syntax_tree/node.rb#8240
def format(q); end
# [Ident] the name of the parameter
#
- # source://syntax_tree//lib/syntax_tree/node.rb#8242
+ # source://syntax_tree//lib/syntax_tree/node.rb#8226
def name; end
# [nil | Node] the value of the parameter
#
- # source://syntax_tree//lib/syntax_tree/node.rb#8245
+ # source://syntax_tree//lib/syntax_tree/node.rb#8229
def value; end
end
# Formats the keyword_rest position of the parameters. This can be the **nil
# syntax, the ... syntax, or the ** syntax.
#
-# source://syntax_tree//lib/syntax_tree/node.rb#8268
+# source://syntax_tree//lib/syntax_tree/node.rb#8252
class SyntaxTree::Params::KeywordRestFormatter
# @return [KeywordRestFormatter] a new instance of KeywordRestFormatter
#
- # source://syntax_tree//lib/syntax_tree/node.rb#8272
+ # source://syntax_tree//lib/syntax_tree/node.rb#8256
def initialize(value); end
- # source://syntax_tree//lib/syntax_tree/node.rb#8276
+ # source://syntax_tree//lib/syntax_tree/node.rb#8260
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#8280
+ # source://syntax_tree//lib/syntax_tree/node.rb#8264
def format(q); end
# [:nil | ArgsForward | KwRestParam] the value of the parameter
#
- # source://syntax_tree//lib/syntax_tree/node.rb#8270
+ # source://syntax_tree//lib/syntax_tree/node.rb#8254
def value; end
end
# Formats the optional position of the parameters. This includes the label,
# as well as the default value.
#
-# source://syntax_tree//lib/syntax_tree/node.rb#8215
+# source://syntax_tree//lib/syntax_tree/node.rb#8199
class SyntaxTree::Params::OptionalFormatter
# @return [OptionalFormatter] a new instance of OptionalFormatter
#
- # source://syntax_tree//lib/syntax_tree/node.rb#8222
+ # source://syntax_tree//lib/syntax_tree/node.rb#8206
def initialize(name, value); end
- # source://syntax_tree//lib/syntax_tree/node.rb#8227
+ # source://syntax_tree//lib/syntax_tree/node.rb#8211
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#8231
+ # source://syntax_tree//lib/syntax_tree/node.rb#8215
def format(q); end
# [Ident] the name of the parameter
#
- # source://syntax_tree//lib/syntax_tree/node.rb#8217
+ # source://syntax_tree//lib/syntax_tree/node.rb#8201
def name; end
# [Node] the value of the parameter
#
- # source://syntax_tree//lib/syntax_tree/node.rb#8220
+ # source://syntax_tree//lib/syntax_tree/node.rb#8204
def value; end
end
@@ -8885,47 +9111,47 @@ end
#
# (1 + 2)
#
-# source://syntax_tree//lib/syntax_tree/node.rb#8495
+# source://syntax_tree//lib/syntax_tree/node.rb#8479
class SyntaxTree::Paren < ::SyntaxTree::Node
# @return [Paren] a new instance of Paren
#
- # source://syntax_tree//lib/syntax_tree/node.rb#8505
+ # source://syntax_tree//lib/syntax_tree/node.rb#8489
def initialize(lparen:, contents:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#8561
+ # source://syntax_tree//lib/syntax_tree/node.rb#8545
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#8512
+ # source://syntax_tree//lib/syntax_tree/node.rb#8496
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#8516
+ # source://syntax_tree//lib/syntax_tree/node.rb#8500
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#8503
+ # source://syntax_tree//lib/syntax_tree/node.rb#8487
def comments; end
# [nil | Node] the expression inside the parentheses
#
- # source://syntax_tree//lib/syntax_tree/node.rb#8500
+ # source://syntax_tree//lib/syntax_tree/node.rb#8484
def contents; end
- # source://syntax_tree//lib/syntax_tree/node.rb#8520
+ # source://syntax_tree//lib/syntax_tree/node.rb#8504
def copy(lparen: T.unsafe(nil), contents: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#8516
+ # source://syntax_tree//lib/syntax_tree/node.rb#8500
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#8534
+ # source://syntax_tree//lib/syntax_tree/node.rb#8518
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#8543
+ # source://syntax_tree//lib/syntax_tree/node.rb#8527
def format(q); end
# [LParen] the left parenthesis that opened this statement
#
- # source://syntax_tree//lib/syntax_tree/node.rb#8497
+ # source://syntax_tree//lib/syntax_tree/node.rb#8481
def lparen; end
end
@@ -8961,18 +9187,18 @@ end
# This approach maintains the nice conciseness of the inline version, while
# keeping the correct semantic meaning.
#
-# source://syntax_tree//lib/syntax_tree/node.rb#8171
+# source://syntax_tree//lib/syntax_tree/node.rb#8155
module SyntaxTree::Parentheses
class << self
- # source://syntax_tree//lib/syntax_tree/node.rb#8191
+ # source://syntax_tree//lib/syntax_tree/node.rb#8175
def break(q); end
- # source://syntax_tree//lib/syntax_tree/node.rb#8183
+ # source://syntax_tree//lib/syntax_tree/node.rb#8167
def flat(q); end
end
end
-# source://syntax_tree//lib/syntax_tree/node.rb#8172
+# source://syntax_tree//lib/syntax_tree/node.rb#8156
SyntaxTree::Parentheses::NODES = T.let(T.unsafe(nil), Array)
# Parser is a subclass of the Ripper library that subscribes to the stream of
@@ -10735,42 +10961,42 @@ end
# Period represents the use of the +.+ operator. It is usually found in method
# calls.
#
-# source://syntax_tree//lib/syntax_tree/node.rb#8569
+# source://syntax_tree//lib/syntax_tree/node.rb#8553
class SyntaxTree::Period < ::SyntaxTree::Node
# @return [Period] a new instance of Period
#
- # source://syntax_tree//lib/syntax_tree/node.rb#8576
+ # source://syntax_tree//lib/syntax_tree/node.rb#8560
def initialize(value:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#8611
+ # source://syntax_tree//lib/syntax_tree/node.rb#8595
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#8582
+ # source://syntax_tree//lib/syntax_tree/node.rb#8566
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#8586
+ # source://syntax_tree//lib/syntax_tree/node.rb#8570
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#8574
+ # source://syntax_tree//lib/syntax_tree/node.rb#8558
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#8590
+ # source://syntax_tree//lib/syntax_tree/node.rb#8574
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#8586
+ # source://syntax_tree//lib/syntax_tree/node.rb#8570
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#8603
+ # source://syntax_tree//lib/syntax_tree/node.rb#8587
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#8607
+ # source://syntax_tree//lib/syntax_tree/node.rb#8591
def format(q); end
# [String] the period
#
- # source://syntax_tree//lib/syntax_tree/node.rb#8571
+ # source://syntax_tree//lib/syntax_tree/node.rb#8555
def value; end
end
@@ -10829,42 +11055,42 @@ end
# This can be a plain local variable like the example above. It can also be a
# a class variable, a global variable, or an instance variable.
#
-# source://syntax_tree//lib/syntax_tree/node.rb#11677
+# source://syntax_tree//lib/syntax_tree/node.rb#11661
class SyntaxTree::PinnedVarRef < ::SyntaxTree::Node
# @return [PinnedVarRef] a new instance of PinnedVarRef
#
- # source://syntax_tree//lib/syntax_tree/node.rb#11684
+ # source://syntax_tree//lib/syntax_tree/node.rb#11668
def initialize(value:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#11722
+ # source://syntax_tree//lib/syntax_tree/node.rb#11706
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#11690
+ # source://syntax_tree//lib/syntax_tree/node.rb#11674
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#11694
+ # source://syntax_tree//lib/syntax_tree/node.rb#11678
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#11682
+ # source://syntax_tree//lib/syntax_tree/node.rb#11666
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#11698
+ # source://syntax_tree//lib/syntax_tree/node.rb#11682
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#11694
+ # source://syntax_tree//lib/syntax_tree/node.rb#11678
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#11711
+ # source://syntax_tree//lib/syntax_tree/node.rb#11695
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#11715
+ # source://syntax_tree//lib/syntax_tree/node.rb#11699
def format(q); end
# [Const | CVar | GVar | Ident | IVar] the value of this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#11679
+ # source://syntax_tree//lib/syntax_tree/node.rb#11663
def value; end
end
@@ -10917,42 +11143,42 @@ end
# Program represents the overall syntax tree.
#
-# source://syntax_tree//lib/syntax_tree/node.rb#8617
+# source://syntax_tree//lib/syntax_tree/node.rb#8601
class SyntaxTree::Program < ::SyntaxTree::Node
# @return [Program] a new instance of Program
#
- # source://syntax_tree//lib/syntax_tree/node.rb#8624
+ # source://syntax_tree//lib/syntax_tree/node.rb#8608
def initialize(statements:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#8664
+ # source://syntax_tree//lib/syntax_tree/node.rb#8648
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#8630
+ # source://syntax_tree//lib/syntax_tree/node.rb#8614
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#8634
+ # source://syntax_tree//lib/syntax_tree/node.rb#8618
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#8622
+ # source://syntax_tree//lib/syntax_tree/node.rb#8606
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#8638
+ # source://syntax_tree//lib/syntax_tree/node.rb#8622
def copy(statements: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#8634
+ # source://syntax_tree//lib/syntax_tree/node.rb#8618
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#8651
+ # source://syntax_tree//lib/syntax_tree/node.rb#8635
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#8655
+ # source://syntax_tree//lib/syntax_tree/node.rb#8639
def format(q); end
# [Statements] the top-level expressions of the program
#
- # source://syntax_tree//lib/syntax_tree/node.rb#8619
+ # source://syntax_tree//lib/syntax_tree/node.rb#8603
def statements; end
end
@@ -10960,47 +11186,47 @@ end
#
# %i[one two three]
#
-# source://syntax_tree//lib/syntax_tree/node.rb#8673
+# source://syntax_tree//lib/syntax_tree/node.rb#8657
class SyntaxTree::QSymbols < ::SyntaxTree::Node
# @return [QSymbols] a new instance of QSymbols
#
- # source://syntax_tree//lib/syntax_tree/node.rb#8683
+ # source://syntax_tree//lib/syntax_tree/node.rb#8667
def initialize(beginning:, elements:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#8743
+ # source://syntax_tree//lib/syntax_tree/node.rb#8727
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#8690
+ # source://syntax_tree//lib/syntax_tree/node.rb#8674
def accept(visitor); end
# [QSymbolsBeg] the token that opens this array literal
#
- # source://syntax_tree//lib/syntax_tree/node.rb#8675
+ # source://syntax_tree//lib/syntax_tree/node.rb#8659
def beginning; end
- # source://syntax_tree//lib/syntax_tree/node.rb#8694
+ # source://syntax_tree//lib/syntax_tree/node.rb#8678
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#8681
+ # source://syntax_tree//lib/syntax_tree/node.rb#8665
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#8698
+ # source://syntax_tree//lib/syntax_tree/node.rb#8682
def copy(beginning: T.unsafe(nil), elements: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#8694
+ # source://syntax_tree//lib/syntax_tree/node.rb#8678
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#8712
+ # source://syntax_tree//lib/syntax_tree/node.rb#8696
def deconstruct_keys(_keys); end
# [Array[ TStringContent ]] the elements of the array
#
- # source://syntax_tree//lib/syntax_tree/node.rb#8678
+ # source://syntax_tree//lib/syntax_tree/node.rb#8662
def elements; end
- # source://syntax_tree//lib/syntax_tree/node.rb#8721
+ # source://syntax_tree//lib/syntax_tree/node.rb#8705
def format(q); end
end
@@ -11012,34 +11238,34 @@ end
# these kinds of arrays can start with a lot of different delimiter types
# (e.g., %i| or %i<).
#
-# source://syntax_tree//lib/syntax_tree/node.rb#8756
+# source://syntax_tree//lib/syntax_tree/node.rb#8740
class SyntaxTree::QSymbolsBeg < ::SyntaxTree::Node
# @return [QSymbolsBeg] a new instance of QSymbolsBeg
#
- # source://syntax_tree//lib/syntax_tree/node.rb#8760
+ # source://syntax_tree//lib/syntax_tree/node.rb#8744
def initialize(value:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#8786
+ # source://syntax_tree//lib/syntax_tree/node.rb#8770
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#8765
+ # source://syntax_tree//lib/syntax_tree/node.rb#8749
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#8769
+ # source://syntax_tree//lib/syntax_tree/node.rb#8753
def child_nodes; end
- # source://syntax_tree//lib/syntax_tree/node.rb#8773
+ # source://syntax_tree//lib/syntax_tree/node.rb#8757
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#8769
+ # source://syntax_tree//lib/syntax_tree/node.rb#8753
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#8782
+ # source://syntax_tree//lib/syntax_tree/node.rb#8766
def deconstruct_keys(_keys); end
# [String] the beginning of the array literal
#
- # source://syntax_tree//lib/syntax_tree/node.rb#8758
+ # source://syntax_tree//lib/syntax_tree/node.rb#8742
def value; end
end
@@ -11047,47 +11273,47 @@ end
#
# %w[one two three]
#
-# source://syntax_tree//lib/syntax_tree/node.rb#8795
+# source://syntax_tree//lib/syntax_tree/node.rb#8779
class SyntaxTree::QWords < ::SyntaxTree::Node
# @return [QWords] a new instance of QWords
#
- # source://syntax_tree//lib/syntax_tree/node.rb#8805
+ # source://syntax_tree//lib/syntax_tree/node.rb#8789
def initialize(beginning:, elements:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#8861
+ # source://syntax_tree//lib/syntax_tree/node.rb#8845
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#8812
+ # source://syntax_tree//lib/syntax_tree/node.rb#8796
def accept(visitor); end
# [QWordsBeg] the token that opens this array literal
#
- # source://syntax_tree//lib/syntax_tree/node.rb#8797
+ # source://syntax_tree//lib/syntax_tree/node.rb#8781
def beginning; end
- # source://syntax_tree//lib/syntax_tree/node.rb#8816
+ # source://syntax_tree//lib/syntax_tree/node.rb#8800
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#8803
+ # source://syntax_tree//lib/syntax_tree/node.rb#8787
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#8820
+ # source://syntax_tree//lib/syntax_tree/node.rb#8804
def copy(beginning: T.unsafe(nil), elements: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#8816
+ # source://syntax_tree//lib/syntax_tree/node.rb#8800
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#8830
+ # source://syntax_tree//lib/syntax_tree/node.rb#8814
def deconstruct_keys(_keys); end
# [Array[ TStringContent ]] the elements of the array
#
- # source://syntax_tree//lib/syntax_tree/node.rb#8800
+ # source://syntax_tree//lib/syntax_tree/node.rb#8784
def elements; end
- # source://syntax_tree//lib/syntax_tree/node.rb#8839
+ # source://syntax_tree//lib/syntax_tree/node.rb#8823
def format(q); end
end
@@ -11099,41 +11325,41 @@ end
# kinds of arrays can start with a lot of different delimiter types (e.g.,
# %w| or %w<).
#
-# source://syntax_tree//lib/syntax_tree/node.rb#8874
+# source://syntax_tree//lib/syntax_tree/node.rb#8858
class SyntaxTree::QWordsBeg < ::SyntaxTree::Node
# @return [QWordsBeg] a new instance of QWordsBeg
#
- # source://syntax_tree//lib/syntax_tree/node.rb#8878
+ # source://syntax_tree//lib/syntax_tree/node.rb#8862
def initialize(value:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#8904
+ # source://syntax_tree//lib/syntax_tree/node.rb#8888
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#8883
+ # source://syntax_tree//lib/syntax_tree/node.rb#8867
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#8887
+ # source://syntax_tree//lib/syntax_tree/node.rb#8871
def child_nodes; end
- # source://syntax_tree//lib/syntax_tree/node.rb#8891
+ # source://syntax_tree//lib/syntax_tree/node.rb#8875
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#8887
+ # source://syntax_tree//lib/syntax_tree/node.rb#8871
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#8900
+ # source://syntax_tree//lib/syntax_tree/node.rb#8884
def deconstruct_keys(_keys); end
# [String] the beginning of the array literal
#
- # source://syntax_tree//lib/syntax_tree/node.rb#8876
+ # source://syntax_tree//lib/syntax_tree/node.rb#8860
def value; end
end
# Responsible for providing information about quotes to be used for strings
# and dynamic symbols.
#
-# source://syntax_tree//lib/syntax_tree/node.rb#4612
+# source://syntax_tree//lib/syntax_tree/node.rb#4615
module SyntaxTree::Quotes
class << self
# If there is some part of this string that matches an escape sequence or
@@ -11144,25 +11370,25 @@ module SyntaxTree::Quotes
#
# @return [Boolean]
#
- # source://syntax_tree//lib/syntax_tree/node.rb#4621
+ # source://syntax_tree//lib/syntax_tree/node.rb#4624
def locked?(node, quote); end
# Find the matching closing quote for the given opening quote.
#
- # source://syntax_tree//lib/syntax_tree/node.rb#4628
+ # source://syntax_tree//lib/syntax_tree/node.rb#4631
def matching(quote); end
# Escape and unescape single and double quotes as needed to be able to
# enclose +content+ with +enclosing+.
#
- # source://syntax_tree//lib/syntax_tree/node.rb#4634
+ # source://syntax_tree//lib/syntax_tree/node.rb#4637
def normalize(content, enclosing); end
end
end
# The matching pairs of quotes that can be used with % literals.
#
-# source://syntax_tree//lib/syntax_tree/node.rb#4614
+# source://syntax_tree//lib/syntax_tree/node.rb#4617
SyntaxTree::Quotes::PAIRS = T.let(T.unsafe(nil), Hash)
# RAssign represents a single-line pattern match.
@@ -11170,152 +11396,152 @@ SyntaxTree::Quotes::PAIRS = T.let(T.unsafe(nil), Hash)
# value in pattern
# value => pattern
#
-# source://syntax_tree//lib/syntax_tree/node.rb#3198
+# source://syntax_tree//lib/syntax_tree/node.rb#3201
class SyntaxTree::RAssign < ::SyntaxTree::Node
# @return [RAssign] a new instance of RAssign
#
- # source://syntax_tree//lib/syntax_tree/node.rb#3212
+ # source://syntax_tree//lib/syntax_tree/node.rb#3215
def initialize(value:, operator:, pattern:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#3274
+ # source://syntax_tree//lib/syntax_tree/node.rb#3277
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#3220
+ # source://syntax_tree//lib/syntax_tree/node.rb#3223
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#3224
+ # source://syntax_tree//lib/syntax_tree/node.rb#3227
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#3210
+ # source://syntax_tree//lib/syntax_tree/node.rb#3213
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#3228
+ # source://syntax_tree//lib/syntax_tree/node.rb#3231
def copy(value: T.unsafe(nil), operator: T.unsafe(nil), pattern: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#3224
+ # source://syntax_tree//lib/syntax_tree/node.rb#3227
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#3243
+ # source://syntax_tree//lib/syntax_tree/node.rb#3246
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#3253
+ # source://syntax_tree//lib/syntax_tree/node.rb#3256
def format(q); end
# [Kw | Op] the operator being used to match against the pattern, which is
# either => or in
#
- # source://syntax_tree//lib/syntax_tree/node.rb#3204
+ # source://syntax_tree//lib/syntax_tree/node.rb#3207
def operator; end
# [Node] the pattern on the right-hand side of the expression
#
- # source://syntax_tree//lib/syntax_tree/node.rb#3207
+ # source://syntax_tree//lib/syntax_tree/node.rb#3210
def pattern; end
# [Node] the left-hand expression
#
- # source://syntax_tree//lib/syntax_tree/node.rb#3200
+ # source://syntax_tree//lib/syntax_tree/node.rb#3203
def value; end
end
# RBrace represents the use of a right brace, i.e., +++.
#
-# source://syntax_tree//lib/syntax_tree/node.rb#8961
+# source://syntax_tree//lib/syntax_tree/node.rb#8945
class SyntaxTree::RBrace < ::SyntaxTree::Node
# @return [RBrace] a new instance of RBrace
#
- # source://syntax_tree//lib/syntax_tree/node.rb#8965
+ # source://syntax_tree//lib/syntax_tree/node.rb#8949
def initialize(value:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#8991
+ # source://syntax_tree//lib/syntax_tree/node.rb#8975
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#8970
+ # source://syntax_tree//lib/syntax_tree/node.rb#8954
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#8974
+ # source://syntax_tree//lib/syntax_tree/node.rb#8958
def child_nodes; end
- # source://syntax_tree//lib/syntax_tree/node.rb#8978
+ # source://syntax_tree//lib/syntax_tree/node.rb#8962
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#8974
+ # source://syntax_tree//lib/syntax_tree/node.rb#8958
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#8987
+ # source://syntax_tree//lib/syntax_tree/node.rb#8971
def deconstruct_keys(_keys); end
# [String] the right brace
#
- # source://syntax_tree//lib/syntax_tree/node.rb#8963
+ # source://syntax_tree//lib/syntax_tree/node.rb#8947
def value; end
end
# RBracket represents the use of a right bracket, i.e., +]+.
#
-# source://syntax_tree//lib/syntax_tree/node.rb#8997
+# source://syntax_tree//lib/syntax_tree/node.rb#8981
class SyntaxTree::RBracket < ::SyntaxTree::Node
# @return [RBracket] a new instance of RBracket
#
- # source://syntax_tree//lib/syntax_tree/node.rb#9001
+ # source://syntax_tree//lib/syntax_tree/node.rb#8985
def initialize(value:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#9027
+ # source://syntax_tree//lib/syntax_tree/node.rb#9011
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#9006
+ # source://syntax_tree//lib/syntax_tree/node.rb#8990
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#9010
+ # source://syntax_tree//lib/syntax_tree/node.rb#8994
def child_nodes; end
- # source://syntax_tree//lib/syntax_tree/node.rb#9014
+ # source://syntax_tree//lib/syntax_tree/node.rb#8998
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#9010
+ # source://syntax_tree//lib/syntax_tree/node.rb#8994
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#9023
+ # source://syntax_tree//lib/syntax_tree/node.rb#9007
def deconstruct_keys(_keys); end
# [String] the right bracket
#
- # source://syntax_tree//lib/syntax_tree/node.rb#8999
+ # source://syntax_tree//lib/syntax_tree/node.rb#8983
def value; end
end
# RParen represents the use of a right parenthesis, i.e., +)+.
#
-# source://syntax_tree//lib/syntax_tree/node.rb#9767
+# source://syntax_tree//lib/syntax_tree/node.rb#9751
class SyntaxTree::RParen < ::SyntaxTree::Node
# @return [RParen] a new instance of RParen
#
- # source://syntax_tree//lib/syntax_tree/node.rb#9771
+ # source://syntax_tree//lib/syntax_tree/node.rb#9755
def initialize(value:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#9797
+ # source://syntax_tree//lib/syntax_tree/node.rb#9781
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#9776
+ # source://syntax_tree//lib/syntax_tree/node.rb#9760
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#9780
+ # source://syntax_tree//lib/syntax_tree/node.rb#9764
def child_nodes; end
- # source://syntax_tree//lib/syntax_tree/node.rb#9784
+ # source://syntax_tree//lib/syntax_tree/node.rb#9768
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#9780
+ # source://syntax_tree//lib/syntax_tree/node.rb#9764
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#9793
+ # source://syntax_tree//lib/syntax_tree/node.rb#9777
def deconstruct_keys(_keys); end
# [String] the parenthesis
#
- # source://syntax_tree//lib/syntax_tree/node.rb#9769
+ # source://syntax_tree//lib/syntax_tree/node.rb#9753
def value; end
end
@@ -11331,52 +11557,52 @@ end
#
# One of the sides of the expression may be nil, but not both.
#
-# source://syntax_tree//lib/syntax_tree/node.rb#4537
+# source://syntax_tree//lib/syntax_tree/node.rb#4540
class SyntaxTree::RangeNode < ::SyntaxTree::Node
# @return [RangeNode] a new instance of RangeNode
#
- # source://syntax_tree//lib/syntax_tree/node.rb#4550
+ # source://syntax_tree//lib/syntax_tree/node.rb#4553
def initialize(left:, operator:, right:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#4604
+ # source://syntax_tree//lib/syntax_tree/node.rb#4607
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#4558
+ # source://syntax_tree//lib/syntax_tree/node.rb#4561
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#4562
+ # source://syntax_tree//lib/syntax_tree/node.rb#4565
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#4548
+ # source://syntax_tree//lib/syntax_tree/node.rb#4551
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#4566
+ # source://syntax_tree//lib/syntax_tree/node.rb#4569
def copy(left: T.unsafe(nil), operator: T.unsafe(nil), right: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#4562
+ # source://syntax_tree//lib/syntax_tree/node.rb#4565
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#4581
+ # source://syntax_tree//lib/syntax_tree/node.rb#4584
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#4591
+ # source://syntax_tree//lib/syntax_tree/node.rb#4594
def format(q); end
# [nil | Node] the left side of the expression
#
- # source://syntax_tree//lib/syntax_tree/node.rb#4539
+ # source://syntax_tree//lib/syntax_tree/node.rb#4542
def left; end
# [Op] the operator used for this range
#
- # source://syntax_tree//lib/syntax_tree/node.rb#4542
+ # source://syntax_tree//lib/syntax_tree/node.rb#4545
def operator; end
# [nil | Node] the right side of the expression
#
- # source://syntax_tree//lib/syntax_tree/node.rb#4545
+ # source://syntax_tree//lib/syntax_tree/node.rb#4548
def right; end
end
@@ -11384,42 +11610,42 @@ end
#
# 1r
#
-# source://syntax_tree//lib/syntax_tree/node.rb#8913
+# source://syntax_tree//lib/syntax_tree/node.rb#8897
class SyntaxTree::RationalLiteral < ::SyntaxTree::Node
# @return [RationalLiteral] a new instance of RationalLiteral
#
- # source://syntax_tree//lib/syntax_tree/node.rb#8920
+ # source://syntax_tree//lib/syntax_tree/node.rb#8904
def initialize(value:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#8955
+ # source://syntax_tree//lib/syntax_tree/node.rb#8939
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#8926
+ # source://syntax_tree//lib/syntax_tree/node.rb#8910
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#8930
+ # source://syntax_tree//lib/syntax_tree/node.rb#8914
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#8918
+ # source://syntax_tree//lib/syntax_tree/node.rb#8902
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#8934
+ # source://syntax_tree//lib/syntax_tree/node.rb#8918
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#8930
+ # source://syntax_tree//lib/syntax_tree/node.rb#8914
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#8947
+ # source://syntax_tree//lib/syntax_tree/node.rb#8931
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#8951
+ # source://syntax_tree//lib/syntax_tree/node.rb#8935
def format(q); end
# [String] the rational number literal
#
- # source://syntax_tree//lib/syntax_tree/node.rb#8915
+ # source://syntax_tree//lib/syntax_tree/node.rb#8899
def value; end
end
@@ -11427,37 +11653,37 @@ end
#
# redo
#
-# source://syntax_tree//lib/syntax_tree/node.rb#9036
+# source://syntax_tree//lib/syntax_tree/node.rb#9020
class SyntaxTree::Redo < ::SyntaxTree::Node
# @return [Redo] a new instance of Redo
#
- # source://syntax_tree//lib/syntax_tree/node.rb#9040
+ # source://syntax_tree//lib/syntax_tree/node.rb#9024
def initialize(location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#9070
+ # source://syntax_tree//lib/syntax_tree/node.rb#9054
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#9045
+ # source://syntax_tree//lib/syntax_tree/node.rb#9029
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#9049
+ # source://syntax_tree//lib/syntax_tree/node.rb#9033
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#9038
+ # source://syntax_tree//lib/syntax_tree/node.rb#9022
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#9053
+ # source://syntax_tree//lib/syntax_tree/node.rb#9037
def copy(location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#9049
+ # source://syntax_tree//lib/syntax_tree/node.rb#9033
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#9062
+ # source://syntax_tree//lib/syntax_tree/node.rb#9046
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#9066
+ # source://syntax_tree//lib/syntax_tree/node.rb#9050
def format(q); end
end
@@ -11470,34 +11696,34 @@ end
#
# %r{.+}
#
-# source://syntax_tree//lib/syntax_tree/node.rb#9132
+# source://syntax_tree//lib/syntax_tree/node.rb#9116
class SyntaxTree::RegexpBeg < ::SyntaxTree::Node
# @return [RegexpBeg] a new instance of RegexpBeg
#
- # source://syntax_tree//lib/syntax_tree/node.rb#9136
+ # source://syntax_tree//lib/syntax_tree/node.rb#9120
def initialize(value:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#9162
+ # source://syntax_tree//lib/syntax_tree/node.rb#9146
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#9141
+ # source://syntax_tree//lib/syntax_tree/node.rb#9125
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#9145
+ # source://syntax_tree//lib/syntax_tree/node.rb#9129
def child_nodes; end
- # source://syntax_tree//lib/syntax_tree/node.rb#9149
+ # source://syntax_tree//lib/syntax_tree/node.rb#9133
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#9145
+ # source://syntax_tree//lib/syntax_tree/node.rb#9129
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#9158
+ # source://syntax_tree//lib/syntax_tree/node.rb#9142
def deconstruct_keys(_keys); end
# [String] the beginning of the regular expression
#
- # source://syntax_tree//lib/syntax_tree/node.rb#9134
+ # source://syntax_tree//lib/syntax_tree/node.rb#9118
def value; end
end
@@ -11508,40 +11734,40 @@ end
# In the example above, a RegexpContent node represents everything contained
# within the forward slashes.
#
-# source://syntax_tree//lib/syntax_tree/node.rb#9081
+# source://syntax_tree//lib/syntax_tree/node.rb#9065
class SyntaxTree::RegexpContent < ::SyntaxTree::Node
# @return [RegexpContent] a new instance of RegexpContent
#
- # source://syntax_tree//lib/syntax_tree/node.rb#9089
+ # source://syntax_tree//lib/syntax_tree/node.rb#9073
def initialize(beginning:, parts:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#9117
+ # source://syntax_tree//lib/syntax_tree/node.rb#9101
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#9095
+ # source://syntax_tree//lib/syntax_tree/node.rb#9079
def accept(visitor); end
# [String] the opening of the regular expression
#
- # source://syntax_tree//lib/syntax_tree/node.rb#9083
+ # source://syntax_tree//lib/syntax_tree/node.rb#9067
def beginning; end
- # source://syntax_tree//lib/syntax_tree/node.rb#9099
+ # source://syntax_tree//lib/syntax_tree/node.rb#9083
def child_nodes; end
- # source://syntax_tree//lib/syntax_tree/node.rb#9103
+ # source://syntax_tree//lib/syntax_tree/node.rb#9087
def copy(beginning: T.unsafe(nil), parts: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#9099
+ # source://syntax_tree//lib/syntax_tree/node.rb#9083
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#9113
+ # source://syntax_tree//lib/syntax_tree/node.rb#9097
def deconstruct_keys(_keys); end
# [Array[ StringDVar | StringEmbExpr | TStringContent ]] the parts of the
# regular expression
#
- # source://syntax_tree//lib/syntax_tree/node.rb#9087
+ # source://syntax_tree//lib/syntax_tree/node.rb#9071
def parts; end
end
@@ -11555,34 +11781,34 @@ end
#
# %r{.+}m
#
-# source://syntax_tree//lib/syntax_tree/node.rb#9177
+# source://syntax_tree//lib/syntax_tree/node.rb#9161
class SyntaxTree::RegexpEnd < ::SyntaxTree::Node
# @return [RegexpEnd] a new instance of RegexpEnd
#
- # source://syntax_tree//lib/syntax_tree/node.rb#9181
+ # source://syntax_tree//lib/syntax_tree/node.rb#9165
def initialize(value:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#9207
+ # source://syntax_tree//lib/syntax_tree/node.rb#9191
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#9186
+ # source://syntax_tree//lib/syntax_tree/node.rb#9170
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#9190
+ # source://syntax_tree//lib/syntax_tree/node.rb#9174
def child_nodes; end
- # source://syntax_tree//lib/syntax_tree/node.rb#9194
+ # source://syntax_tree//lib/syntax_tree/node.rb#9178
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#9190
+ # source://syntax_tree//lib/syntax_tree/node.rb#9174
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#9203
+ # source://syntax_tree//lib/syntax_tree/node.rb#9187
def deconstruct_keys(_keys); end
# [String] the end of the regular expression
#
- # source://syntax_tree//lib/syntax_tree/node.rb#9179
+ # source://syntax_tree//lib/syntax_tree/node.rb#9163
def value; end
end
@@ -11590,56 +11816,56 @@ end
#
# /.+/
#
-# source://syntax_tree//lib/syntax_tree/node.rb#9216
+# source://syntax_tree//lib/syntax_tree/node.rb#9200
class SyntaxTree::RegexpLiteral < ::SyntaxTree::Node
# @return [RegexpLiteral] a new instance of RegexpLiteral
#
- # source://syntax_tree//lib/syntax_tree/node.rb#9230
+ # source://syntax_tree//lib/syntax_tree/node.rb#9214
def initialize(beginning:, ending:, parts:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#9312
+ # source://syntax_tree//lib/syntax_tree/node.rb#9296
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#9238
+ # source://syntax_tree//lib/syntax_tree/node.rb#9222
def accept(visitor); end
# [String] the beginning of the regular expression literal
#
- # source://syntax_tree//lib/syntax_tree/node.rb#9218
+ # source://syntax_tree//lib/syntax_tree/node.rb#9202
def beginning; end
- # source://syntax_tree//lib/syntax_tree/node.rb#9242
+ # source://syntax_tree//lib/syntax_tree/node.rb#9226
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#9228
+ # source://syntax_tree//lib/syntax_tree/node.rb#9212
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#9246
+ # source://syntax_tree//lib/syntax_tree/node.rb#9230
def copy(beginning: T.unsafe(nil), ending: T.unsafe(nil), parts: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#9242
+ # source://syntax_tree//lib/syntax_tree/node.rb#9226
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#9261
+ # source://syntax_tree//lib/syntax_tree/node.rb#9245
def deconstruct_keys(_keys); end
# [String] the ending of the regular expression literal
#
- # source://syntax_tree//lib/syntax_tree/node.rb#9221
+ # source://syntax_tree//lib/syntax_tree/node.rb#9205
def ending; end
- # source://syntax_tree//lib/syntax_tree/node.rb#9272
+ # source://syntax_tree//lib/syntax_tree/node.rb#9256
def format(q); end
- # source://syntax_tree//lib/syntax_tree/node.rb#9318
+ # source://syntax_tree//lib/syntax_tree/node.rb#9302
def options; end
# [Array[ StringEmbExpr | StringDVar | TStringContent ]] the parts of the
# regular expression literal
#
- # source://syntax_tree//lib/syntax_tree/node.rb#9225
+ # source://syntax_tree//lib/syntax_tree/node.rb#9209
def parts; end
private
@@ -11651,12 +11877,12 @@ class SyntaxTree::RegexpLiteral < ::SyntaxTree::Node
#
# @return [Boolean]
#
- # source://syntax_tree//lib/syntax_tree/node.rb#9334
+ # source://syntax_tree//lib/syntax_tree/node.rb#9318
def ambiguous?(q); end
# @return [Boolean]
#
- # source://syntax_tree//lib/syntax_tree/node.rb#9324
+ # source://syntax_tree//lib/syntax_tree/node.rb#9308
def include?(pattern); end
end
@@ -11666,60 +11892,60 @@ end
# rescue
# end
#
-# source://syntax_tree//lib/syntax_tree/node.rb#9424
+# source://syntax_tree//lib/syntax_tree/node.rb#9408
class SyntaxTree::Rescue < ::SyntaxTree::Node
# @return [Rescue] a new instance of Rescue
#
- # source://syntax_tree//lib/syntax_tree/node.rb#9440
+ # source://syntax_tree//lib/syntax_tree/node.rb#9424
def initialize(keyword:, exception:, statements:, consequent:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#9536
+ # source://syntax_tree//lib/syntax_tree/node.rb#9520
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#9471
+ # source://syntax_tree//lib/syntax_tree/node.rb#9455
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#9449
+ # source://syntax_tree//lib/syntax_tree/node.rb#9433
def bind_end(end_char, end_column); end
- # source://syntax_tree//lib/syntax_tree/node.rb#9475
+ # source://syntax_tree//lib/syntax_tree/node.rb#9459
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#9438
+ # source://syntax_tree//lib/syntax_tree/node.rb#9422
def comments; end
# [nil | Rescue] the optional next clause in the chain
#
- # source://syntax_tree//lib/syntax_tree/node.rb#9435
+ # source://syntax_tree//lib/syntax_tree/node.rb#9419
def consequent; end
- # source://syntax_tree//lib/syntax_tree/node.rb#9479
+ # source://syntax_tree//lib/syntax_tree/node.rb#9463
def copy(keyword: T.unsafe(nil), exception: T.unsafe(nil), statements: T.unsafe(nil), consequent: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#9475
+ # source://syntax_tree//lib/syntax_tree/node.rb#9459
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#9501
+ # source://syntax_tree//lib/syntax_tree/node.rb#9485
def deconstruct_keys(_keys); end
# [nil | RescueEx] the exceptions being rescued
#
- # source://syntax_tree//lib/syntax_tree/node.rb#9429
+ # source://syntax_tree//lib/syntax_tree/node.rb#9413
def exception; end
- # source://syntax_tree//lib/syntax_tree/node.rb#9512
+ # source://syntax_tree//lib/syntax_tree/node.rb#9496
def format(q); end
# [Kw] the rescue keyword
#
- # source://syntax_tree//lib/syntax_tree/node.rb#9426
+ # source://syntax_tree//lib/syntax_tree/node.rb#9410
def keyword; end
# [Statements] the expressions to evaluate when an error is rescued
#
- # source://syntax_tree//lib/syntax_tree/node.rb#9432
+ # source://syntax_tree//lib/syntax_tree/node.rb#9416
def statements; end
end
@@ -11729,48 +11955,48 @@ end
# rescue Exception => exception
# end
#
-# source://syntax_tree//lib/syntax_tree/node.rb#9349
+# source://syntax_tree//lib/syntax_tree/node.rb#9333
class SyntaxTree::RescueEx < ::SyntaxTree::Node
# @return [RescueEx] a new instance of RescueEx
#
- # source://syntax_tree//lib/syntax_tree/node.rb#9360
+ # source://syntax_tree//lib/syntax_tree/node.rb#9344
def initialize(exceptions:, variable:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#9412
+ # source://syntax_tree//lib/syntax_tree/node.rb#9396
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#9367
+ # source://syntax_tree//lib/syntax_tree/node.rb#9351
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#9371
+ # source://syntax_tree//lib/syntax_tree/node.rb#9355
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#9358
+ # source://syntax_tree//lib/syntax_tree/node.rb#9342
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#9375
+ # source://syntax_tree//lib/syntax_tree/node.rb#9359
def copy(exceptions: T.unsafe(nil), variable: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#9371
+ # source://syntax_tree//lib/syntax_tree/node.rb#9355
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#9389
+ # source://syntax_tree//lib/syntax_tree/node.rb#9373
def deconstruct_keys(_keys); end
# [nil | Node] the list of exceptions being rescued
#
- # source://syntax_tree//lib/syntax_tree/node.rb#9351
+ # source://syntax_tree//lib/syntax_tree/node.rb#9335
def exceptions; end
- # source://syntax_tree//lib/syntax_tree/node.rb#9398
+ # source://syntax_tree//lib/syntax_tree/node.rb#9382
def format(q); end
# [nil | Field | VarField] the expression being used to capture the raised
# exception
#
- # source://syntax_tree//lib/syntax_tree/node.rb#9355
+ # source://syntax_tree//lib/syntax_tree/node.rb#9339
def variable; end
end
@@ -11778,47 +12004,47 @@ end
#
# expression rescue value
#
-# source://syntax_tree//lib/syntax_tree/node.rb#9547
+# source://syntax_tree//lib/syntax_tree/node.rb#9531
class SyntaxTree::RescueMod < ::SyntaxTree::Node
# @return [RescueMod] a new instance of RescueMod
#
- # source://syntax_tree//lib/syntax_tree/node.rb#9557
+ # source://syntax_tree//lib/syntax_tree/node.rb#9541
def initialize(statement:, value:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#9613
+ # source://syntax_tree//lib/syntax_tree/node.rb#9597
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#9564
+ # source://syntax_tree//lib/syntax_tree/node.rb#9548
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#9568
+ # source://syntax_tree//lib/syntax_tree/node.rb#9552
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#9555
+ # source://syntax_tree//lib/syntax_tree/node.rb#9539
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#9572
+ # source://syntax_tree//lib/syntax_tree/node.rb#9556
def copy(statement: T.unsafe(nil), value: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#9568
+ # source://syntax_tree//lib/syntax_tree/node.rb#9552
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#9586
+ # source://syntax_tree//lib/syntax_tree/node.rb#9570
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#9595
+ # source://syntax_tree//lib/syntax_tree/node.rb#9579
def format(q); end
# [Node] the expression to execute
#
- # source://syntax_tree//lib/syntax_tree/node.rb#9549
+ # source://syntax_tree//lib/syntax_tree/node.rb#9533
def statement; end
# [Node] the value to use if the executed expression raises an error
#
- # source://syntax_tree//lib/syntax_tree/node.rb#9552
+ # source://syntax_tree//lib/syntax_tree/node.rb#9536
def value; end
end
@@ -11827,42 +12053,42 @@ end
#
# def method(*rest) end
#
-# source://syntax_tree//lib/syntax_tree/node.rb#9624
+# source://syntax_tree//lib/syntax_tree/node.rb#9608
class SyntaxTree::RestParam < ::SyntaxTree::Node
# @return [RestParam] a new instance of RestParam
#
- # source://syntax_tree//lib/syntax_tree/node.rb#9631
+ # source://syntax_tree//lib/syntax_tree/node.rb#9615
def initialize(name:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#9667
+ # source://syntax_tree//lib/syntax_tree/node.rb#9651
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#9637
+ # source://syntax_tree//lib/syntax_tree/node.rb#9621
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#9641
+ # source://syntax_tree//lib/syntax_tree/node.rb#9625
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#9629
+ # source://syntax_tree//lib/syntax_tree/node.rb#9613
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#9645
+ # source://syntax_tree//lib/syntax_tree/node.rb#9629
def copy(name: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#9641
+ # source://syntax_tree//lib/syntax_tree/node.rb#9625
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#9658
+ # source://syntax_tree//lib/syntax_tree/node.rb#9642
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#9662
+ # source://syntax_tree//lib/syntax_tree/node.rb#9646
def format(q); end
# [nil | Ident] the name of the parameter
#
- # source://syntax_tree//lib/syntax_tree/node.rb#9626
+ # source://syntax_tree//lib/syntax_tree/node.rb#9610
def name; end
end
@@ -11870,37 +12096,37 @@ end
#
# retry
#
-# source://syntax_tree//lib/syntax_tree/node.rb#9676
+# source://syntax_tree//lib/syntax_tree/node.rb#9660
class SyntaxTree::Retry < ::SyntaxTree::Node
# @return [Retry] a new instance of Retry
#
- # source://syntax_tree//lib/syntax_tree/node.rb#9680
+ # source://syntax_tree//lib/syntax_tree/node.rb#9664
def initialize(location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#9710
+ # source://syntax_tree//lib/syntax_tree/node.rb#9694
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#9685
+ # source://syntax_tree//lib/syntax_tree/node.rb#9669
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#9689
+ # source://syntax_tree//lib/syntax_tree/node.rb#9673
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#9678
+ # source://syntax_tree//lib/syntax_tree/node.rb#9662
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#9693
+ # source://syntax_tree//lib/syntax_tree/node.rb#9677
def copy(location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#9689
+ # source://syntax_tree//lib/syntax_tree/node.rb#9673
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#9702
+ # source://syntax_tree//lib/syntax_tree/node.rb#9686
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#9706
+ # source://syntax_tree//lib/syntax_tree/node.rb#9690
def format(q); end
end
@@ -11908,42 +12134,42 @@ end
#
# return value
#
-# source://syntax_tree//lib/syntax_tree/node.rb#9719
+# source://syntax_tree//lib/syntax_tree/node.rb#9703
class SyntaxTree::ReturnNode < ::SyntaxTree::Node
# @return [ReturnNode] a new instance of ReturnNode
#
- # source://syntax_tree//lib/syntax_tree/node.rb#9726
+ # source://syntax_tree//lib/syntax_tree/node.rb#9710
def initialize(arguments:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#9761
+ # source://syntax_tree//lib/syntax_tree/node.rb#9745
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#9732
+ # source://syntax_tree//lib/syntax_tree/node.rb#9716
def accept(visitor); end
# [nil | Args] the arguments being passed to the keyword
#
- # source://syntax_tree//lib/syntax_tree/node.rb#9721
+ # source://syntax_tree//lib/syntax_tree/node.rb#9705
def arguments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#9736
+ # source://syntax_tree//lib/syntax_tree/node.rb#9720
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#9724
+ # source://syntax_tree//lib/syntax_tree/node.rb#9708
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#9740
+ # source://syntax_tree//lib/syntax_tree/node.rb#9724
def copy(arguments: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#9736
+ # source://syntax_tree//lib/syntax_tree/node.rb#9720
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#9753
+ # source://syntax_tree//lib/syntax_tree/node.rb#9737
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#9757
+ # source://syntax_tree//lib/syntax_tree/node.rb#9741
def format(q); end
end
@@ -11954,47 +12180,47 @@ end
# class << self
# end
#
-# source://syntax_tree//lib/syntax_tree/node.rb#9809
+# source://syntax_tree//lib/syntax_tree/node.rb#9793
class SyntaxTree::SClass < ::SyntaxTree::Node
# @return [SClass] a new instance of SClass
#
- # source://syntax_tree//lib/syntax_tree/node.rb#9819
+ # source://syntax_tree//lib/syntax_tree/node.rb#9803
def initialize(target:, bodystmt:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#9870
+ # source://syntax_tree//lib/syntax_tree/node.rb#9854
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#9826
+ # source://syntax_tree//lib/syntax_tree/node.rb#9810
def accept(visitor); end
# [BodyStmt] the expressions to be executed
#
- # source://syntax_tree//lib/syntax_tree/node.rb#9814
+ # source://syntax_tree//lib/syntax_tree/node.rb#9798
def bodystmt; end
- # source://syntax_tree//lib/syntax_tree/node.rb#9830
+ # source://syntax_tree//lib/syntax_tree/node.rb#9814
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#9817
+ # source://syntax_tree//lib/syntax_tree/node.rb#9801
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#9834
+ # source://syntax_tree//lib/syntax_tree/node.rb#9818
def copy(target: T.unsafe(nil), bodystmt: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#9830
+ # source://syntax_tree//lib/syntax_tree/node.rb#9814
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#9848
+ # source://syntax_tree//lib/syntax_tree/node.rb#9832
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#9857
+ # source://syntax_tree//lib/syntax_tree/node.rb#9841
def format(q); end
# [Node] the target of the singleton class to enter
#
- # source://syntax_tree//lib/syntax_tree/node.rb#9811
+ # source://syntax_tree//lib/syntax_tree/node.rb#9795
def target; end
end
@@ -12025,53 +12251,53 @@ end
# propagate that onto void_stmt nodes inside the stmts in order to make sure
# all comments get printed appropriately.
#
-# source://syntax_tree//lib/syntax_tree/node.rb#9883
+# source://syntax_tree//lib/syntax_tree/node.rb#9867
class SyntaxTree::Statements < ::SyntaxTree::Node
# @return [Statements] a new instance of Statements
#
- # source://syntax_tree//lib/syntax_tree/node.rb#9890
+ # source://syntax_tree//lib/syntax_tree/node.rb#9874
def initialize(body:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#10016
+ # source://syntax_tree//lib/syntax_tree/node.rb#10000
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#9943
+ # source://syntax_tree//lib/syntax_tree/node.rb#9927
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#9896
+ # source://syntax_tree//lib/syntax_tree/node.rb#9880
def bind(parser, start_char, start_column, end_char, end_column); end
- # source://syntax_tree//lib/syntax_tree/node.rb#9925
+ # source://syntax_tree//lib/syntax_tree/node.rb#9909
def bind_end(end_char, end_column); end
# [Array[ Node ]] the list of expressions contained within this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#9885
+ # source://syntax_tree//lib/syntax_tree/node.rb#9869
def body; end
- # source://syntax_tree//lib/syntax_tree/node.rb#9947
+ # source://syntax_tree//lib/syntax_tree/node.rb#9931
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#9888
+ # source://syntax_tree//lib/syntax_tree/node.rb#9872
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#9951
+ # source://syntax_tree//lib/syntax_tree/node.rb#9935
def copy(body: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#9947
+ # source://syntax_tree//lib/syntax_tree/node.rb#9931
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#9964
+ # source://syntax_tree//lib/syntax_tree/node.rb#9948
def deconstruct_keys(_keys); end
# @return [Boolean]
#
- # source://syntax_tree//lib/syntax_tree/node.rb#9937
+ # source://syntax_tree//lib/syntax_tree/node.rb#9921
def empty?; end
- # source://syntax_tree//lib/syntax_tree/node.rb#9968
+ # source://syntax_tree//lib/syntax_tree/node.rb#9952
def format(q); end
private
@@ -12080,7 +12306,7 @@ class SyntaxTree::Statements < ::SyntaxTree::Node
# found while this statements list was being parsed and add them into the
# body.
#
- # source://syntax_tree//lib/syntax_tree/node.rb#10025
+ # source://syntax_tree//lib/syntax_tree/node.rb#10009
def attach_comments(parser, start_char, end_char); end
end
@@ -12090,48 +12316,48 @@ end
# "first" \
# "second"
#
-# source://syntax_tree//lib/syntax_tree/node.rb#10140
+# source://syntax_tree//lib/syntax_tree/node.rb#10124
class SyntaxTree::StringConcat < ::SyntaxTree::Node
# @return [StringConcat] a new instance of StringConcat
#
- # source://syntax_tree//lib/syntax_tree/node.rb#10151
+ # source://syntax_tree//lib/syntax_tree/node.rb#10135
def initialize(left:, right:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#10195
+ # source://syntax_tree//lib/syntax_tree/node.rb#10179
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#10158
+ # source://syntax_tree//lib/syntax_tree/node.rb#10142
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#10162
+ # source://syntax_tree//lib/syntax_tree/node.rb#10146
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#10149
+ # source://syntax_tree//lib/syntax_tree/node.rb#10133
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#10166
+ # source://syntax_tree//lib/syntax_tree/node.rb#10150
def copy(left: T.unsafe(nil), right: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#10162
+ # source://syntax_tree//lib/syntax_tree/node.rb#10146
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#10180
+ # source://syntax_tree//lib/syntax_tree/node.rb#10164
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#10184
+ # source://syntax_tree//lib/syntax_tree/node.rb#10168
def format(q); end
# [Heredoc | StringConcat | StringLiteral] the left side of the
# concatenation
#
- # source://syntax_tree//lib/syntax_tree/node.rb#10143
+ # source://syntax_tree//lib/syntax_tree/node.rb#10127
def left; end
# [StringLiteral] the right side of the concatenation
#
- # source://syntax_tree//lib/syntax_tree/node.rb#10146
+ # source://syntax_tree//lib/syntax_tree/node.rb#10130
def right; end
end
@@ -12139,43 +12365,43 @@ end
#
# "string"
#
-# source://syntax_tree//lib/syntax_tree/node.rb#10067
+# source://syntax_tree//lib/syntax_tree/node.rb#10051
class SyntaxTree::StringContent < ::SyntaxTree::Node
# @return [StringContent] a new instance of StringContent
#
- # source://syntax_tree//lib/syntax_tree/node.rb#10075
+ # source://syntax_tree//lib/syntax_tree/node.rb#10059
def initialize(parts:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#10102
+ # source://syntax_tree//lib/syntax_tree/node.rb#10086
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#10081
+ # source://syntax_tree//lib/syntax_tree/node.rb#10065
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#10085
+ # source://syntax_tree//lib/syntax_tree/node.rb#10069
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#10073
+ # source://syntax_tree//lib/syntax_tree/node.rb#10057
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#10089
+ # source://syntax_tree//lib/syntax_tree/node.rb#10073
def copy(parts: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#10085
+ # source://syntax_tree//lib/syntax_tree/node.rb#10069
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#10098
+ # source://syntax_tree//lib/syntax_tree/node.rb#10082
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#10106
+ # source://syntax_tree//lib/syntax_tree/node.rb#10090
def format(q); end
# [Array[ StringEmbExpr | StringDVar | TStringContent ]] the parts of the
# string
#
- # source://syntax_tree//lib/syntax_tree/node.rb#10070
+ # source://syntax_tree//lib/syntax_tree/node.rb#10054
def parts; end
end
@@ -12185,42 +12411,42 @@ end
#
# "#@variable"
#
-# source://syntax_tree//lib/syntax_tree/node.rb#10206
+# source://syntax_tree//lib/syntax_tree/node.rb#10190
class SyntaxTree::StringDVar < ::SyntaxTree::Node
# @return [StringDVar] a new instance of StringDVar
#
- # source://syntax_tree//lib/syntax_tree/node.rb#10213
+ # source://syntax_tree//lib/syntax_tree/node.rb#10197
def initialize(variable:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#10250
+ # source://syntax_tree//lib/syntax_tree/node.rb#10234
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#10219
+ # source://syntax_tree//lib/syntax_tree/node.rb#10203
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#10223
+ # source://syntax_tree//lib/syntax_tree/node.rb#10207
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#10211
+ # source://syntax_tree//lib/syntax_tree/node.rb#10195
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#10227
+ # source://syntax_tree//lib/syntax_tree/node.rb#10211
def copy(variable: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#10223
+ # source://syntax_tree//lib/syntax_tree/node.rb#10207
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#10240
+ # source://syntax_tree//lib/syntax_tree/node.rb#10224
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#10244
+ # source://syntax_tree//lib/syntax_tree/node.rb#10228
def format(q); end
# [Backref | VarRef] the variable being interpolated
#
- # source://syntax_tree//lib/syntax_tree/node.rb#10208
+ # source://syntax_tree//lib/syntax_tree/node.rb#10192
def variable; end
end
@@ -12230,42 +12456,42 @@ end
#
# "string #{expression}"
#
-# source://syntax_tree//lib/syntax_tree/node.rb#10261
+# source://syntax_tree//lib/syntax_tree/node.rb#10245
class SyntaxTree::StringEmbExpr < ::SyntaxTree::Node
# @return [StringEmbExpr] a new instance of StringEmbExpr
#
- # source://syntax_tree//lib/syntax_tree/node.rb#10268
+ # source://syntax_tree//lib/syntax_tree/node.rb#10252
def initialize(statements:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#10325
+ # source://syntax_tree//lib/syntax_tree/node.rb#10309
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#10274
+ # source://syntax_tree//lib/syntax_tree/node.rb#10258
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#10278
+ # source://syntax_tree//lib/syntax_tree/node.rb#10262
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#10266
+ # source://syntax_tree//lib/syntax_tree/node.rb#10250
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#10282
+ # source://syntax_tree//lib/syntax_tree/node.rb#10266
def copy(statements: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#10278
+ # source://syntax_tree//lib/syntax_tree/node.rb#10262
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#10295
+ # source://syntax_tree//lib/syntax_tree/node.rb#10279
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#10299
+ # source://syntax_tree//lib/syntax_tree/node.rb#10283
def format(q); end
# [Statements] the expressions to be interpolated
#
- # source://syntax_tree//lib/syntax_tree/node.rb#10263
+ # source://syntax_tree//lib/syntax_tree/node.rb#10247
def statements; end
end
@@ -12273,48 +12499,48 @@ end
#
# "string"
#
-# source://syntax_tree//lib/syntax_tree/node.rb#10334
+# source://syntax_tree//lib/syntax_tree/node.rb#10318
class SyntaxTree::StringLiteral < ::SyntaxTree::Node
# @return [StringLiteral] a new instance of StringLiteral
#
- # source://syntax_tree//lib/syntax_tree/node.rb#10345
+ # source://syntax_tree//lib/syntax_tree/node.rb#10329
def initialize(parts:, quote:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#10419
+ # source://syntax_tree//lib/syntax_tree/node.rb#10403
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#10352
+ # source://syntax_tree//lib/syntax_tree/node.rb#10336
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#10356
+ # source://syntax_tree//lib/syntax_tree/node.rb#10340
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#10343
+ # source://syntax_tree//lib/syntax_tree/node.rb#10327
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#10360
+ # source://syntax_tree//lib/syntax_tree/node.rb#10344
def copy(parts: T.unsafe(nil), quote: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#10356
+ # source://syntax_tree//lib/syntax_tree/node.rb#10340
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#10374
+ # source://syntax_tree//lib/syntax_tree/node.rb#10358
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#10378
+ # source://syntax_tree//lib/syntax_tree/node.rb#10362
def format(q); end
# [Array[ StringEmbExpr | StringDVar | TStringContent ]] the parts of the
# string literal
#
- # source://syntax_tree//lib/syntax_tree/node.rb#10337
+ # source://syntax_tree//lib/syntax_tree/node.rb#10321
def parts; end
# [nil | String] which quote was used by the string literal
#
- # source://syntax_tree//lib/syntax_tree/node.rb#10340
+ # source://syntax_tree//lib/syntax_tree/node.rb#10324
def quote; end
end
@@ -12323,42 +12549,42 @@ end
#
# super(value)
#
-# source://syntax_tree//lib/syntax_tree/node.rb#10430
+# source://syntax_tree//lib/syntax_tree/node.rb#10414
class SyntaxTree::Super < ::SyntaxTree::Node
# @return [Super] a new instance of Super
#
- # source://syntax_tree//lib/syntax_tree/node.rb#10437
+ # source://syntax_tree//lib/syntax_tree/node.rb#10421
def initialize(arguments:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#10481
+ # source://syntax_tree//lib/syntax_tree/node.rb#10465
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#10443
+ # source://syntax_tree//lib/syntax_tree/node.rb#10427
def accept(visitor); end
# [ArgParen | Args] the arguments to the keyword
#
- # source://syntax_tree//lib/syntax_tree/node.rb#10432
+ # source://syntax_tree//lib/syntax_tree/node.rb#10416
def arguments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#10447
+ # source://syntax_tree//lib/syntax_tree/node.rb#10431
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#10435
+ # source://syntax_tree//lib/syntax_tree/node.rb#10419
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#10451
+ # source://syntax_tree//lib/syntax_tree/node.rb#10435
def copy(arguments: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#10447
+ # source://syntax_tree//lib/syntax_tree/node.rb#10431
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#10464
+ # source://syntax_tree//lib/syntax_tree/node.rb#10448
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#10468
+ # source://syntax_tree//lib/syntax_tree/node.rb#10452
def format(q); end
end
@@ -12379,34 +12605,34 @@ end
# contain ":'" or ":\"". In the case of %s symbols, it will contain the start
# of the symbol including the %s and the delimiter.
#
-# source://syntax_tree//lib/syntax_tree/node.rb#10502
+# source://syntax_tree//lib/syntax_tree/node.rb#10486
class SyntaxTree::SymBeg < ::SyntaxTree::Node
# @return [SymBeg] a new instance of SymBeg
#
- # source://syntax_tree//lib/syntax_tree/node.rb#10506
+ # source://syntax_tree//lib/syntax_tree/node.rb#10490
def initialize(value:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#10532
+ # source://syntax_tree//lib/syntax_tree/node.rb#10516
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#10511
+ # source://syntax_tree//lib/syntax_tree/node.rb#10495
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#10515
+ # source://syntax_tree//lib/syntax_tree/node.rb#10499
def child_nodes; end
- # source://syntax_tree//lib/syntax_tree/node.rb#10519
+ # source://syntax_tree//lib/syntax_tree/node.rb#10503
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#10515
+ # source://syntax_tree//lib/syntax_tree/node.rb#10499
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#10528
+ # source://syntax_tree//lib/syntax_tree/node.rb#10512
def deconstruct_keys(_keys); end
# [String] the beginning of the symbol
#
- # source://syntax_tree//lib/syntax_tree/node.rb#10504
+ # source://syntax_tree//lib/syntax_tree/node.rb#10488
def value; end
end
@@ -12415,35 +12641,35 @@ end
#
# :symbol
#
-# source://syntax_tree//lib/syntax_tree/node.rb#10542
+# source://syntax_tree//lib/syntax_tree/node.rb#10526
class SyntaxTree::SymbolContent < ::SyntaxTree::Node
# @return [SymbolContent] a new instance of SymbolContent
#
- # source://syntax_tree//lib/syntax_tree/node.rb#10547
+ # source://syntax_tree//lib/syntax_tree/node.rb#10531
def initialize(value:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#10573
+ # source://syntax_tree//lib/syntax_tree/node.rb#10557
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#10552
+ # source://syntax_tree//lib/syntax_tree/node.rb#10536
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#10556
+ # source://syntax_tree//lib/syntax_tree/node.rb#10540
def child_nodes; end
- # source://syntax_tree//lib/syntax_tree/node.rb#10560
+ # source://syntax_tree//lib/syntax_tree/node.rb#10544
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#10556
+ # source://syntax_tree//lib/syntax_tree/node.rb#10540
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#10569
+ # source://syntax_tree//lib/syntax_tree/node.rb#10553
def deconstruct_keys(_keys); end
# [Backtick | Const | CVar | GVar | Ident | IVar | Kw | Op] the value of the
# symbol
#
- # source://syntax_tree//lib/syntax_tree/node.rb#10545
+ # source://syntax_tree//lib/syntax_tree/node.rb#10529
def value; end
end
@@ -12452,43 +12678,43 @@ end
#
# :symbol
#
-# source://syntax_tree//lib/syntax_tree/node.rb#10583
+# source://syntax_tree//lib/syntax_tree/node.rb#10567
class SyntaxTree::SymbolLiteral < ::SyntaxTree::Node
# @return [SymbolLiteral] a new instance of SymbolLiteral
#
- # source://syntax_tree//lib/syntax_tree/node.rb#10591
+ # source://syntax_tree//lib/syntax_tree/node.rb#10575
def initialize(value:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#10628
+ # source://syntax_tree//lib/syntax_tree/node.rb#10612
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#10597
+ # source://syntax_tree//lib/syntax_tree/node.rb#10581
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#10601
+ # source://syntax_tree//lib/syntax_tree/node.rb#10585
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#10589
+ # source://syntax_tree//lib/syntax_tree/node.rb#10573
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#10605
+ # source://syntax_tree//lib/syntax_tree/node.rb#10589
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#10601
+ # source://syntax_tree//lib/syntax_tree/node.rb#10585
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#10618
+ # source://syntax_tree//lib/syntax_tree/node.rb#10602
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#10622
+ # source://syntax_tree//lib/syntax_tree/node.rb#10606
def format(q); end
# [Backtick | Const | CVar | GVar | Ident | IVar | Kw | Op | TStringContent]
# the value of the symbol
#
- # source://syntax_tree//lib/syntax_tree/node.rb#10586
+ # source://syntax_tree//lib/syntax_tree/node.rb#10570
def value; end
end
@@ -12496,47 +12722,47 @@ end
#
# %I[one two three]
#
-# source://syntax_tree//lib/syntax_tree/node.rb#10637
+# source://syntax_tree//lib/syntax_tree/node.rb#10621
class SyntaxTree::Symbols < ::SyntaxTree::Node
# @return [Symbols] a new instance of Symbols
#
- # source://syntax_tree//lib/syntax_tree/node.rb#10647
+ # source://syntax_tree//lib/syntax_tree/node.rb#10631
def initialize(beginning:, elements:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#10703
+ # source://syntax_tree//lib/syntax_tree/node.rb#10687
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#10654
+ # source://syntax_tree//lib/syntax_tree/node.rb#10638
def accept(visitor); end
# [SymbolsBeg] the token that opens this array literal
#
- # source://syntax_tree//lib/syntax_tree/node.rb#10639
+ # source://syntax_tree//lib/syntax_tree/node.rb#10623
def beginning; end
- # source://syntax_tree//lib/syntax_tree/node.rb#10658
+ # source://syntax_tree//lib/syntax_tree/node.rb#10642
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#10645
+ # source://syntax_tree//lib/syntax_tree/node.rb#10629
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#10662
+ # source://syntax_tree//lib/syntax_tree/node.rb#10646
def copy(beginning: T.unsafe(nil), elements: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#10658
+ # source://syntax_tree//lib/syntax_tree/node.rb#10642
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#10672
+ # source://syntax_tree//lib/syntax_tree/node.rb#10656
def deconstruct_keys(_keys); end
# [Array[ Word ]] the words in the symbol array literal
#
- # source://syntax_tree//lib/syntax_tree/node.rb#10642
+ # source://syntax_tree//lib/syntax_tree/node.rb#10626
def elements; end
- # source://syntax_tree//lib/syntax_tree/node.rb#10681
+ # source://syntax_tree//lib/syntax_tree/node.rb#10665
def format(q); end
end
@@ -12549,34 +12775,34 @@ end
# kinds of arrays can start with a lot of different delimiter types
# (e.g., %I| or %I<).
#
-# source://syntax_tree//lib/syntax_tree/node.rb#10717
+# source://syntax_tree//lib/syntax_tree/node.rb#10701
class SyntaxTree::SymbolsBeg < ::SyntaxTree::Node
# @return [SymbolsBeg] a new instance of SymbolsBeg
#
- # source://syntax_tree//lib/syntax_tree/node.rb#10721
+ # source://syntax_tree//lib/syntax_tree/node.rb#10705
def initialize(value:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#10747
+ # source://syntax_tree//lib/syntax_tree/node.rb#10731
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#10726
+ # source://syntax_tree//lib/syntax_tree/node.rb#10710
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#10730
+ # source://syntax_tree//lib/syntax_tree/node.rb#10714
def child_nodes; end
- # source://syntax_tree//lib/syntax_tree/node.rb#10734
+ # source://syntax_tree//lib/syntax_tree/node.rb#10718
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#10730
+ # source://syntax_tree//lib/syntax_tree/node.rb#10714
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#10743
+ # source://syntax_tree//lib/syntax_tree/node.rb#10727
def deconstruct_keys(_keys); end
# [String] the beginning of the symbol literal array
#
- # source://syntax_tree//lib/syntax_tree/node.rb#10719
+ # source://syntax_tree//lib/syntax_tree/node.rb#10703
def value; end
end
@@ -12587,34 +12813,34 @@ end
#
# In the example above the TLamBeg represents the +{+ operator.
#
-# source://syntax_tree//lib/syntax_tree/node.rb#10798
+# source://syntax_tree//lib/syntax_tree/node.rb#10782
class SyntaxTree::TLamBeg < ::SyntaxTree::Node
# @return [TLamBeg] a new instance of TLamBeg
#
- # source://syntax_tree//lib/syntax_tree/node.rb#10802
+ # source://syntax_tree//lib/syntax_tree/node.rb#10786
def initialize(value:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#10828
+ # source://syntax_tree//lib/syntax_tree/node.rb#10812
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#10807
+ # source://syntax_tree//lib/syntax_tree/node.rb#10791
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#10811
+ # source://syntax_tree//lib/syntax_tree/node.rb#10795
def child_nodes; end
- # source://syntax_tree//lib/syntax_tree/node.rb#10815
+ # source://syntax_tree//lib/syntax_tree/node.rb#10799
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#10811
+ # source://syntax_tree//lib/syntax_tree/node.rb#10795
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#10824
+ # source://syntax_tree//lib/syntax_tree/node.rb#10808
def deconstruct_keys(_keys); end
# [String] the beginning of the body of the lambda literal
#
- # source://syntax_tree//lib/syntax_tree/node.rb#10800
+ # source://syntax_tree//lib/syntax_tree/node.rb#10784
def value; end
end
@@ -12624,34 +12850,34 @@ end
#
# In the example above the TLambda represents the +->+ operator.
#
-# source://syntax_tree//lib/syntax_tree/node.rb#10757
+# source://syntax_tree//lib/syntax_tree/node.rb#10741
class SyntaxTree::TLambda < ::SyntaxTree::Node
# @return [TLambda] a new instance of TLambda
#
- # source://syntax_tree//lib/syntax_tree/node.rb#10761
+ # source://syntax_tree//lib/syntax_tree/node.rb#10745
def initialize(value:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#10787
+ # source://syntax_tree//lib/syntax_tree/node.rb#10771
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#10766
+ # source://syntax_tree//lib/syntax_tree/node.rb#10750
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#10770
+ # source://syntax_tree//lib/syntax_tree/node.rb#10754
def child_nodes; end
- # source://syntax_tree//lib/syntax_tree/node.rb#10774
+ # source://syntax_tree//lib/syntax_tree/node.rb#10758
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#10770
+ # source://syntax_tree//lib/syntax_tree/node.rb#10754
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#10783
+ # source://syntax_tree//lib/syntax_tree/node.rb#10767
def deconstruct_keys(_keys); end
# [String] the beginning of the lambda literal
#
- # source://syntax_tree//lib/syntax_tree/node.rb#10759
+ # source://syntax_tree//lib/syntax_tree/node.rb#10743
def value; end
end
@@ -12665,34 +12891,34 @@ end
#
# %q{string}
#
-# source://syntax_tree//lib/syntax_tree/node.rb#10950
+# source://syntax_tree//lib/syntax_tree/node.rb#10934
class SyntaxTree::TStringBeg < ::SyntaxTree::Node
# @return [TStringBeg] a new instance of TStringBeg
#
- # source://syntax_tree//lib/syntax_tree/node.rb#10954
+ # source://syntax_tree//lib/syntax_tree/node.rb#10938
def initialize(value:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#10980
+ # source://syntax_tree//lib/syntax_tree/node.rb#10964
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#10959
+ # source://syntax_tree//lib/syntax_tree/node.rb#10943
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#10963
+ # source://syntax_tree//lib/syntax_tree/node.rb#10947
def child_nodes; end
- # source://syntax_tree//lib/syntax_tree/node.rb#10967
+ # source://syntax_tree//lib/syntax_tree/node.rb#10951
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#10963
+ # source://syntax_tree//lib/syntax_tree/node.rb#10947
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#10976
+ # source://syntax_tree//lib/syntax_tree/node.rb#10960
def deconstruct_keys(_keys); end
# [String] the beginning of the string
#
- # source://syntax_tree//lib/syntax_tree/node.rb#10952
+ # source://syntax_tree//lib/syntax_tree/node.rb#10936
def value; end
end
@@ -12705,47 +12931,47 @@ end
# In the example above, TStringContent represents the +string+ token contained
# within the string.
#
-# source://syntax_tree//lib/syntax_tree/node.rb#10993
+# source://syntax_tree//lib/syntax_tree/node.rb#10977
class SyntaxTree::TStringContent < ::SyntaxTree::Node
# @return [TStringContent] a new instance of TStringContent
#
- # source://syntax_tree//lib/syntax_tree/node.rb#11000
+ # source://syntax_tree//lib/syntax_tree/node.rb#10984
def initialize(value:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#11039
+ # source://syntax_tree//lib/syntax_tree/node.rb#11023
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#11010
+ # source://syntax_tree//lib/syntax_tree/node.rb#10994
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#11014
+ # source://syntax_tree//lib/syntax_tree/node.rb#10998
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#10998
+ # source://syntax_tree//lib/syntax_tree/node.rb#10982
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#11018
+ # source://syntax_tree//lib/syntax_tree/node.rb#11002
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#11014
+ # source://syntax_tree//lib/syntax_tree/node.rb#10998
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#11031
+ # source://syntax_tree//lib/syntax_tree/node.rb#11015
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#11035
+ # source://syntax_tree//lib/syntax_tree/node.rb#11019
def format(q); end
# @return [Boolean]
#
- # source://syntax_tree//lib/syntax_tree/node.rb#11006
+ # source://syntax_tree//lib/syntax_tree/node.rb#10990
def match?(pattern); end
# [String] the content of the string
#
- # source://syntax_tree//lib/syntax_tree/node.rb#10995
+ # source://syntax_tree//lib/syntax_tree/node.rb#10979
def value; end
end
@@ -12759,34 +12985,34 @@ end
#
# %q{string}
#
-# source://syntax_tree//lib/syntax_tree/node.rb#11054
+# source://syntax_tree//lib/syntax_tree/node.rb#11038
class SyntaxTree::TStringEnd < ::SyntaxTree::Node
# @return [TStringEnd] a new instance of TStringEnd
#
- # source://syntax_tree//lib/syntax_tree/node.rb#11058
+ # source://syntax_tree//lib/syntax_tree/node.rb#11042
def initialize(value:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#11084
+ # source://syntax_tree//lib/syntax_tree/node.rb#11068
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#11063
+ # source://syntax_tree//lib/syntax_tree/node.rb#11047
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#11067
+ # source://syntax_tree//lib/syntax_tree/node.rb#11051
def child_nodes; end
- # source://syntax_tree//lib/syntax_tree/node.rb#11071
+ # source://syntax_tree//lib/syntax_tree/node.rb#11055
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#11067
+ # source://syntax_tree//lib/syntax_tree/node.rb#11051
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#11080
+ # source://syntax_tree//lib/syntax_tree/node.rb#11064
def deconstruct_keys(_keys); end
# [String] the end of the string
#
- # source://syntax_tree//lib/syntax_tree/node.rb#11056
+ # source://syntax_tree//lib/syntax_tree/node.rb#11040
def value; end
end
@@ -12796,10 +13022,10 @@ end
# statement, and that statement must not be on the denied list of potential
# statements.
#
-# source://syntax_tree//lib/syntax_tree/node.rb#6251
+# source://syntax_tree//lib/syntax_tree/node.rb#6254
module SyntaxTree::Ternaryable
class << self
- # source://syntax_tree//lib/syntax_tree/node.rb#6253
+ # source://syntax_tree//lib/syntax_tree/node.rb#6256
def call(q, node); end
private
@@ -12810,7 +13036,7 @@ module SyntaxTree::Ternaryable
#
# @return [Boolean]
#
- # source://syntax_tree//lib/syntax_tree/node.rb#6291
+ # source://syntax_tree//lib/syntax_tree/node.rb#6294
def ternaryable?(statement); end
end
end
@@ -12821,42 +13047,42 @@ end
#
# ::Constant = value
#
-# source://syntax_tree//lib/syntax_tree/node.rb#10839
+# source://syntax_tree//lib/syntax_tree/node.rb#10823
class SyntaxTree::TopConstField < ::SyntaxTree::Node
# @return [TopConstField] a new instance of TopConstField
#
- # source://syntax_tree//lib/syntax_tree/node.rb#10846
+ # source://syntax_tree//lib/syntax_tree/node.rb#10830
def initialize(constant:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#10882
+ # source://syntax_tree//lib/syntax_tree/node.rb#10866
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#10852
+ # source://syntax_tree//lib/syntax_tree/node.rb#10836
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#10856
+ # source://syntax_tree//lib/syntax_tree/node.rb#10840
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#10844
+ # source://syntax_tree//lib/syntax_tree/node.rb#10828
def comments; end
# [Const] the constant being assigned
#
- # source://syntax_tree//lib/syntax_tree/node.rb#10841
+ # source://syntax_tree//lib/syntax_tree/node.rb#10825
def constant; end
- # source://syntax_tree//lib/syntax_tree/node.rb#10860
+ # source://syntax_tree//lib/syntax_tree/node.rb#10844
def copy(constant: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#10856
+ # source://syntax_tree//lib/syntax_tree/node.rb#10840
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#10873
+ # source://syntax_tree//lib/syntax_tree/node.rb#10857
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#10877
+ # source://syntax_tree//lib/syntax_tree/node.rb#10861
def format(q); end
end
@@ -12865,42 +13091,42 @@ end
#
# ::Constant
#
-# source://syntax_tree//lib/syntax_tree/node.rb#10892
+# source://syntax_tree//lib/syntax_tree/node.rb#10876
class SyntaxTree::TopConstRef < ::SyntaxTree::Node
# @return [TopConstRef] a new instance of TopConstRef
#
- # source://syntax_tree//lib/syntax_tree/node.rb#10899
+ # source://syntax_tree//lib/syntax_tree/node.rb#10883
def initialize(constant:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#10935
+ # source://syntax_tree//lib/syntax_tree/node.rb#10919
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#10905
+ # source://syntax_tree//lib/syntax_tree/node.rb#10889
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#10909
+ # source://syntax_tree//lib/syntax_tree/node.rb#10893
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#10897
+ # source://syntax_tree//lib/syntax_tree/node.rb#10881
def comments; end
# [Const] the constant being referenced
#
- # source://syntax_tree//lib/syntax_tree/node.rb#10894
+ # source://syntax_tree//lib/syntax_tree/node.rb#10878
def constant; end
- # source://syntax_tree//lib/syntax_tree/node.rb#10913
+ # source://syntax_tree//lib/syntax_tree/node.rb#10897
def copy(constant: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#10909
+ # source://syntax_tree//lib/syntax_tree/node.rb#10893
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#10926
+ # source://syntax_tree//lib/syntax_tree/node.rb#10910
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#10930
+ # source://syntax_tree//lib/syntax_tree/node.rb#10914
def format(q); end
end
@@ -12931,47 +13157,47 @@ end
#
# !value
#
-# source://syntax_tree//lib/syntax_tree/node.rb#11177
+# source://syntax_tree//lib/syntax_tree/node.rb#11161
class SyntaxTree::Unary < ::SyntaxTree::Node
# @return [Unary] a new instance of Unary
#
- # source://syntax_tree//lib/syntax_tree/node.rb#11187
+ # source://syntax_tree//lib/syntax_tree/node.rb#11171
def initialize(operator:, statement:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#11230
+ # source://syntax_tree//lib/syntax_tree/node.rb#11214
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#11194
+ # source://syntax_tree//lib/syntax_tree/node.rb#11178
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#11198
+ # source://syntax_tree//lib/syntax_tree/node.rb#11182
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#11185
+ # source://syntax_tree//lib/syntax_tree/node.rb#11169
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#11202
+ # source://syntax_tree//lib/syntax_tree/node.rb#11186
def copy(operator: T.unsafe(nil), statement: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#11198
+ # source://syntax_tree//lib/syntax_tree/node.rb#11182
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#11216
+ # source://syntax_tree//lib/syntax_tree/node.rb#11200
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#11225
+ # source://syntax_tree//lib/syntax_tree/node.rb#11209
def format(q); end
# [String] the operator being used
#
- # source://syntax_tree//lib/syntax_tree/node.rb#11179
+ # source://syntax_tree//lib/syntax_tree/node.rb#11163
def operator; end
# [Node] the statement on which to operate
#
- # source://syntax_tree//lib/syntax_tree/node.rb#11182
+ # source://syntax_tree//lib/syntax_tree/node.rb#11166
def statement; end
end
@@ -12979,42 +13205,42 @@ end
#
# undef method
#
-# source://syntax_tree//lib/syntax_tree/node.rb#11240
+# source://syntax_tree//lib/syntax_tree/node.rb#11224
class SyntaxTree::Undef < ::SyntaxTree::Node
# @return [Undef] a new instance of Undef
#
- # source://syntax_tree//lib/syntax_tree/node.rb#11271
+ # source://syntax_tree//lib/syntax_tree/node.rb#11255
def initialize(symbols:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#11314
+ # source://syntax_tree//lib/syntax_tree/node.rb#11298
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#11277
+ # source://syntax_tree//lib/syntax_tree/node.rb#11261
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#11281
+ # source://syntax_tree//lib/syntax_tree/node.rb#11265
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#11269
+ # source://syntax_tree//lib/syntax_tree/node.rb#11253
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#11285
+ # source://syntax_tree//lib/syntax_tree/node.rb#11269
def copy(symbols: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#11281
+ # source://syntax_tree//lib/syntax_tree/node.rb#11265
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#11298
+ # source://syntax_tree//lib/syntax_tree/node.rb#11282
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#11302
+ # source://syntax_tree//lib/syntax_tree/node.rb#11286
def format(q); end
# [Array[ DynaSymbol | SymbolLiteral ]] the symbols to undefine
#
- # source://syntax_tree//lib/syntax_tree/node.rb#11266
+ # source://syntax_tree//lib/syntax_tree/node.rb#11250
def symbols; end
end
@@ -13022,22 +13248,22 @@ end
# or SymbolLiteral objects. For SymbolLiteral objects we descend directly
# into the value in order to have it come out as bare words.
#
-# source://syntax_tree//lib/syntax_tree/node.rb#11244
+# source://syntax_tree//lib/syntax_tree/node.rb#11228
class SyntaxTree::Undef::UndefArgumentFormatter
# @return [UndefArgumentFormatter] a new instance of UndefArgumentFormatter
#
- # source://syntax_tree//lib/syntax_tree/node.rb#11248
+ # source://syntax_tree//lib/syntax_tree/node.rb#11232
def initialize(node); end
- # source://syntax_tree//lib/syntax_tree/node.rb#11252
+ # source://syntax_tree//lib/syntax_tree/node.rb#11236
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#11260
+ # source://syntax_tree//lib/syntax_tree/node.rb#11244
def format(q); end
# [DynaSymbol | SymbolLiteral] the symbol to undefine
#
- # source://syntax_tree//lib/syntax_tree/node.rb#11246
+ # source://syntax_tree//lib/syntax_tree/node.rb#11230
def node; end
end
@@ -13046,59 +13272,59 @@ end
# unless predicate
# end
#
-# source://syntax_tree//lib/syntax_tree/node.rb#11324
+# source://syntax_tree//lib/syntax_tree/node.rb#11308
class SyntaxTree::UnlessNode < ::SyntaxTree::Node
# @return [UnlessNode] a new instance of UnlessNode
#
- # source://syntax_tree//lib/syntax_tree/node.rb#11337
+ # source://syntax_tree//lib/syntax_tree/node.rb#11321
def initialize(predicate:, statements:, consequent:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#11382
+ # source://syntax_tree//lib/syntax_tree/node.rb#11366
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#11345
+ # source://syntax_tree//lib/syntax_tree/node.rb#11329
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#11349
+ # source://syntax_tree//lib/syntax_tree/node.rb#11333
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#11335
+ # source://syntax_tree//lib/syntax_tree/node.rb#11319
def comments; end
# [nil | Elsif | Else] the next clause in the chain
#
- # source://syntax_tree//lib/syntax_tree/node.rb#11332
+ # source://syntax_tree//lib/syntax_tree/node.rb#11316
def consequent; end
- # source://syntax_tree//lib/syntax_tree/node.rb#11353
+ # source://syntax_tree//lib/syntax_tree/node.rb#11337
def copy(predicate: T.unsafe(nil), statements: T.unsafe(nil), consequent: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#11349
+ # source://syntax_tree//lib/syntax_tree/node.rb#11333
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#11368
+ # source://syntax_tree//lib/syntax_tree/node.rb#11352
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#11378
+ # source://syntax_tree//lib/syntax_tree/node.rb#11362
def format(q); end
# Checks if the node was originally found in the modifier form.
#
# @return [Boolean]
#
- # source://syntax_tree//lib/syntax_tree/node.rb#11388
+ # source://syntax_tree//lib/syntax_tree/node.rb#11372
def modifier?; end
# [Node] the expression to be checked
#
- # source://syntax_tree//lib/syntax_tree/node.rb#11326
+ # source://syntax_tree//lib/syntax_tree/node.rb#11310
def predicate; end
# [Statements] the expressions to be executed
#
- # source://syntax_tree//lib/syntax_tree/node.rb#11329
+ # source://syntax_tree//lib/syntax_tree/node.rb#11313
def statements; end
end
@@ -13107,52 +13333,52 @@ end
# until predicate
# end
#
-# source://syntax_tree//lib/syntax_tree/node.rb#11470
+# source://syntax_tree//lib/syntax_tree/node.rb#11454
class SyntaxTree::UntilNode < ::SyntaxTree::Node
# @return [UntilNode] a new instance of UntilNode
#
- # source://syntax_tree//lib/syntax_tree/node.rb#11480
+ # source://syntax_tree//lib/syntax_tree/node.rb#11464
def initialize(predicate:, statements:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#11522
+ # source://syntax_tree//lib/syntax_tree/node.rb#11506
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#11487
+ # source://syntax_tree//lib/syntax_tree/node.rb#11471
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#11491
+ # source://syntax_tree//lib/syntax_tree/node.rb#11475
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#11478
+ # source://syntax_tree//lib/syntax_tree/node.rb#11462
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#11495
+ # source://syntax_tree//lib/syntax_tree/node.rb#11479
def copy(predicate: T.unsafe(nil), statements: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#11491
+ # source://syntax_tree//lib/syntax_tree/node.rb#11475
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#11509
+ # source://syntax_tree//lib/syntax_tree/node.rb#11493
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#11518
+ # source://syntax_tree//lib/syntax_tree/node.rb#11502
def format(q); end
# @return [Boolean]
#
- # source://syntax_tree//lib/syntax_tree/node.rb#11527
+ # source://syntax_tree//lib/syntax_tree/node.rb#11511
def modifier?; end
# [Node] the expression to be checked
#
- # source://syntax_tree//lib/syntax_tree/node.rb#11472
+ # source://syntax_tree//lib/syntax_tree/node.rb#11456
def predicate; end
# [Statements] the expressions to be executed
#
- # source://syntax_tree//lib/syntax_tree/node.rb#11475
+ # source://syntax_tree//lib/syntax_tree/node.rb#11459
def statements; end
end
@@ -13161,50 +13387,50 @@ end
#
# variable
#
-# source://syntax_tree//lib/syntax_tree/node.rb#11732
+# source://syntax_tree//lib/syntax_tree/node.rb#11716
class SyntaxTree::VCall < ::SyntaxTree::Node
# @return [VCall] a new instance of VCall
#
- # source://syntax_tree//lib/syntax_tree/node.rb#11739
+ # source://syntax_tree//lib/syntax_tree/node.rb#11723
def initialize(value:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#11774
+ # source://syntax_tree//lib/syntax_tree/node.rb#11758
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#11745
+ # source://syntax_tree//lib/syntax_tree/node.rb#11729
def accept(visitor); end
# @return [Boolean]
#
- # source://syntax_tree//lib/syntax_tree/node.rb#11778
+ # source://syntax_tree//lib/syntax_tree/node.rb#11762
def access_control?; end
- # source://syntax_tree//lib/syntax_tree/node.rb#11782
+ # source://syntax_tree//lib/syntax_tree/node.rb#11766
def arity; end
- # source://syntax_tree//lib/syntax_tree/node.rb#11749
+ # source://syntax_tree//lib/syntax_tree/node.rb#11733
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#11737
+ # source://syntax_tree//lib/syntax_tree/node.rb#11721
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#11753
+ # source://syntax_tree//lib/syntax_tree/node.rb#11737
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#11749
+ # source://syntax_tree//lib/syntax_tree/node.rb#11733
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#11766
+ # source://syntax_tree//lib/syntax_tree/node.rb#11750
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#11770
+ # source://syntax_tree//lib/syntax_tree/node.rb#11754
def format(q); end
# [Ident] the value of this expression
#
- # source://syntax_tree//lib/syntax_tree/node.rb#11734
+ # source://syntax_tree//lib/syntax_tree/node.rb#11718
def value; end
end
@@ -13218,42 +13444,42 @@ SyntaxTree::VERSION = T.let(T.unsafe(nil), String)
#
# In the example above, the VarField node represents the +variable+ token.
#
-# source://syntax_tree//lib/syntax_tree/node.rb#11538
+# source://syntax_tree//lib/syntax_tree/node.rb#11522
class SyntaxTree::VarField < ::SyntaxTree::Node
# @return [VarField] a new instance of VarField
#
- # source://syntax_tree//lib/syntax_tree/node.rb#11545
+ # source://syntax_tree//lib/syntax_tree/node.rb#11529
def initialize(value:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#11584
+ # source://syntax_tree//lib/syntax_tree/node.rb#11568
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#11551
+ # source://syntax_tree//lib/syntax_tree/node.rb#11535
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#11555
+ # source://syntax_tree//lib/syntax_tree/node.rb#11539
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#11543
+ # source://syntax_tree//lib/syntax_tree/node.rb#11527
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#11559
+ # source://syntax_tree//lib/syntax_tree/node.rb#11543
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#11555
+ # source://syntax_tree//lib/syntax_tree/node.rb#11539
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#11572
+ # source://syntax_tree//lib/syntax_tree/node.rb#11556
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#11576
+ # source://syntax_tree//lib/syntax_tree/node.rb#11560
def format(q); end
# [nil | :nil | Const | CVar | GVar | Ident | IVar] the target of this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#11540
+ # source://syntax_tree//lib/syntax_tree/node.rb#11524
def value; end
end
@@ -13266,37 +13492,37 @@ end
# keyword (like +self+, +nil+, +true+, or +false+), or a numbered block
# variable.
#
-# source://syntax_tree//lib/syntax_tree/node.rb#11597
+# source://syntax_tree//lib/syntax_tree/node.rb#11581
class SyntaxTree::VarRef < ::SyntaxTree::Node
# @return [VarRef] a new instance of VarRef
#
- # source://syntax_tree//lib/syntax_tree/node.rb#11604
+ # source://syntax_tree//lib/syntax_tree/node.rb#11588
def initialize(value:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#11639
+ # source://syntax_tree//lib/syntax_tree/node.rb#11623
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#11610
+ # source://syntax_tree//lib/syntax_tree/node.rb#11594
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#11614
+ # source://syntax_tree//lib/syntax_tree/node.rb#11598
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#11602
+ # source://syntax_tree//lib/syntax_tree/node.rb#11586
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#11618
+ # source://syntax_tree//lib/syntax_tree/node.rb#11602
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#11614
+ # source://syntax_tree//lib/syntax_tree/node.rb#11598
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#11631
+ # source://syntax_tree//lib/syntax_tree/node.rb#11615
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#11635
+ # source://syntax_tree//lib/syntax_tree/node.rb#11619
def format(q); end
# Oh man I hate this so much. Basically, ripper doesn't provide enough
@@ -13307,12 +13533,12 @@ class SyntaxTree::VarRef < ::SyntaxTree::Node
# To be clear, this method should just not exist. It's not good. It's a
# place of shame. But it's necessary for now, so I'm keeping it.
#
- # source://syntax_tree//lib/syntax_tree/node.rb#11650
+ # source://syntax_tree//lib/syntax_tree/node.rb#11634
def pin(parent, pin); end
# [Const | CVar | GVar | Ident | IVar | Kw] the value of this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#11599
+ # source://syntax_tree//lib/syntax_tree/node.rb#11583
def value; end
end
@@ -14077,37 +14303,37 @@ end
#
# ;;
#
-# source://syntax_tree//lib/syntax_tree/node.rb#11791
+# source://syntax_tree//lib/syntax_tree/node.rb#11775
class SyntaxTree::VoidStmt < ::SyntaxTree::Node
# @return [VoidStmt] a new instance of VoidStmt
#
- # source://syntax_tree//lib/syntax_tree/node.rb#11795
+ # source://syntax_tree//lib/syntax_tree/node.rb#11779
def initialize(location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#11824
+ # source://syntax_tree//lib/syntax_tree/node.rb#11808
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#11800
+ # source://syntax_tree//lib/syntax_tree/node.rb#11784
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#11804
+ # source://syntax_tree//lib/syntax_tree/node.rb#11788
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#11793
+ # source://syntax_tree//lib/syntax_tree/node.rb#11777
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#11808
+ # source://syntax_tree//lib/syntax_tree/node.rb#11792
def copy(location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#11804
+ # source://syntax_tree//lib/syntax_tree/node.rb#11788
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#11817
+ # source://syntax_tree//lib/syntax_tree/node.rb#11801
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#11821
+ # source://syntax_tree//lib/syntax_tree/node.rb#11805
def format(q); end
end
@@ -14117,68 +14343,68 @@ end
# when predicate
# end
#
-# source://syntax_tree//lib/syntax_tree/node.rb#11835
+# source://syntax_tree//lib/syntax_tree/node.rb#11819
class SyntaxTree::When < ::SyntaxTree::Node
# @return [When] a new instance of When
#
- # source://syntax_tree//lib/syntax_tree/node.rb#11848
+ # source://syntax_tree//lib/syntax_tree/node.rb#11832
def initialize(arguments:, statements:, consequent:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#11940
+ # source://syntax_tree//lib/syntax_tree/node.rb#11924
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#11856
+ # source://syntax_tree//lib/syntax_tree/node.rb#11840
def accept(visitor); end
# [Args] the arguments to the when clause
#
- # source://syntax_tree//lib/syntax_tree/node.rb#11837
+ # source://syntax_tree//lib/syntax_tree/node.rb#11821
def arguments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#11860
+ # source://syntax_tree//lib/syntax_tree/node.rb#11844
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#11846
+ # source://syntax_tree//lib/syntax_tree/node.rb#11830
def comments; end
# [nil | Else | When] the next clause in the chain
#
- # source://syntax_tree//lib/syntax_tree/node.rb#11843
+ # source://syntax_tree//lib/syntax_tree/node.rb#11827
def consequent; end
- # source://syntax_tree//lib/syntax_tree/node.rb#11864
+ # source://syntax_tree//lib/syntax_tree/node.rb#11848
def copy(arguments: T.unsafe(nil), statements: T.unsafe(nil), consequent: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#11860
+ # source://syntax_tree//lib/syntax_tree/node.rb#11844
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#11879
+ # source://syntax_tree//lib/syntax_tree/node.rb#11863
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#11905
+ # source://syntax_tree//lib/syntax_tree/node.rb#11889
def format(q); end
# [Statements] the expressions to be executed
#
- # source://syntax_tree//lib/syntax_tree/node.rb#11840
+ # source://syntax_tree//lib/syntax_tree/node.rb#11824
def statements; end
end
# We're going to keep a single instance of this separator around so we don't
# have to allocate a new one every time we format a when clause.
#
-# source://syntax_tree//lib/syntax_tree/node.rb#11903
+# source://syntax_tree//lib/syntax_tree/node.rb#11887
SyntaxTree::When::SEPARATOR = T.let(T.unsafe(nil), SyntaxTree::When::Separator)
# We have a special separator here for when clauses which causes them to
# fill as much of the line as possible as opposed to everything breaking
# into its own line as soon as you hit the print limit.
#
-# source://syntax_tree//lib/syntax_tree/node.rb#11892
+# source://syntax_tree//lib/syntax_tree/node.rb#11876
class SyntaxTree::When::Separator
- # source://syntax_tree//lib/syntax_tree/node.rb#11893
+ # source://syntax_tree//lib/syntax_tree/node.rb#11877
def call(q); end
end
@@ -14187,52 +14413,52 @@ end
# while predicate
# end
#
-# source://syntax_tree//lib/syntax_tree/node.rb#11951
+# source://syntax_tree//lib/syntax_tree/node.rb#11935
class SyntaxTree::WhileNode < ::SyntaxTree::Node
# @return [WhileNode] a new instance of WhileNode
#
- # source://syntax_tree//lib/syntax_tree/node.rb#11961
+ # source://syntax_tree//lib/syntax_tree/node.rb#11945
def initialize(predicate:, statements:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#12003
+ # source://syntax_tree//lib/syntax_tree/node.rb#11987
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#11968
+ # source://syntax_tree//lib/syntax_tree/node.rb#11952
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#11972
+ # source://syntax_tree//lib/syntax_tree/node.rb#11956
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#11959
+ # source://syntax_tree//lib/syntax_tree/node.rb#11943
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#11976
+ # source://syntax_tree//lib/syntax_tree/node.rb#11960
def copy(predicate: T.unsafe(nil), statements: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#11972
+ # source://syntax_tree//lib/syntax_tree/node.rb#11956
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#11990
+ # source://syntax_tree//lib/syntax_tree/node.rb#11974
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#11999
+ # source://syntax_tree//lib/syntax_tree/node.rb#11983
def format(q); end
# @return [Boolean]
#
- # source://syntax_tree//lib/syntax_tree/node.rb#12008
+ # source://syntax_tree//lib/syntax_tree/node.rb#11992
def modifier?; end
# [Node] the expression to be checked
#
- # source://syntax_tree//lib/syntax_tree/node.rb#11953
+ # source://syntax_tree//lib/syntax_tree/node.rb#11937
def predicate; end
# [Statements] the expressions to be executed
#
- # source://syntax_tree//lib/syntax_tree/node.rb#11956
+ # source://syntax_tree//lib/syntax_tree/node.rb#11940
def statements; end
end
@@ -14271,13 +14497,13 @@ module SyntaxTree::WithScope
# Visit for capturing local variables defined in regex named capture groups
#
- # source://syntax_tree//lib/syntax_tree/with_scope.rb#239
+ # source://syntax_tree//lib/syntax_tree/with_scope.rb#236
def visit_binary(node); end
- # source://syntax_tree//lib/syntax_tree/with_scope.rb#192
+ # source://syntax_tree//lib/syntax_tree/with_scope.rb#189
def visit_block_var(node); end
- # source://syntax_tree//lib/syntax_tree/with_scope.rb#185
+ # source://syntax_tree//lib/syntax_tree/with_scope.rb#182
def visit_blockarg(node); end
# Visits for nodes that create new scopes, such as classes, modules
@@ -14289,10 +14515,10 @@ module SyntaxTree::WithScope
# source://syntax_tree//lib/syntax_tree/with_scope.rb#147
def visit_def(node); end
- # source://syntax_tree//lib/syntax_tree/with_scope.rb#178
+ # source://syntax_tree//lib/syntax_tree/with_scope.rb#175
def visit_kwrest_param(node); end
- # source://syntax_tree//lib/syntax_tree/with_scope.rb#192
+ # source://syntax_tree//lib/syntax_tree/with_scope.rb#189
def visit_lambda_var(node); end
# When we find a method invocation with a block, only the code that happens
@@ -14313,36 +14539,36 @@ module SyntaxTree::WithScope
# Visit for keeping track of local variable definitions
#
- # source://syntax_tree//lib/syntax_tree/with_scope.rb#210
+ # source://syntax_tree//lib/syntax_tree/with_scope.rb#207
def visit_pinned_var_ref(node); end
- # source://syntax_tree//lib/syntax_tree/with_scope.rb#171
+ # source://syntax_tree//lib/syntax_tree/with_scope.rb#168
def visit_rest_param(node); end
# Visit for keeping track of local variable definitions
#
- # source://syntax_tree//lib/syntax_tree/with_scope.rb#202
+ # source://syntax_tree//lib/syntax_tree/with_scope.rb#199
def visit_var_field(node); end
# Visits for keeping track of variable and argument usages
#
- # source://syntax_tree//lib/syntax_tree/with_scope.rb#218
+ # source://syntax_tree//lib/syntax_tree/with_scope.rb#215
def visit_var_ref(node); end
# When using regex named capture groups, vcalls might actually be a variable
#
- # source://syntax_tree//lib/syntax_tree/with_scope.rb#230
+ # source://syntax_tree//lib/syntax_tree/with_scope.rb#227
def visit_vcall(node); end
private
- # source://syntax_tree//lib/syntax_tree/with_scope.rb#288
+ # source://syntax_tree//lib/syntax_tree/with_scope.rb#285
def add_argument_definitions(list); end
- # source://syntax_tree//lib/syntax_tree/with_scope.rb#302
+ # source://syntax_tree//lib/syntax_tree/with_scope.rb#299
def next_scope_id; end
- # source://syntax_tree//lib/syntax_tree/with_scope.rb#306
+ # source://syntax_tree//lib/syntax_tree/with_scope.rb#303
def with_scope(parent_scope = T.unsafe(nil)); end
end
@@ -14440,48 +14666,48 @@ end
# In the example above, there would be two Word nodes within a parent Words
# node.
#
-# source://syntax_tree//lib/syntax_tree/node.rb#12020
+# source://syntax_tree//lib/syntax_tree/node.rb#12004
class SyntaxTree::Word < ::SyntaxTree::Node
# @return [Word] a new instance of Word
#
- # source://syntax_tree//lib/syntax_tree/node.rb#12028
+ # source://syntax_tree//lib/syntax_tree/node.rb#12012
def initialize(parts:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#12067
+ # source://syntax_tree//lib/syntax_tree/node.rb#12051
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#12038
+ # source://syntax_tree//lib/syntax_tree/node.rb#12022
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#12042
+ # source://syntax_tree//lib/syntax_tree/node.rb#12026
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#12026
+ # source://syntax_tree//lib/syntax_tree/node.rb#12010
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#12046
+ # source://syntax_tree//lib/syntax_tree/node.rb#12030
def copy(parts: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#12042
+ # source://syntax_tree//lib/syntax_tree/node.rb#12026
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#12059
+ # source://syntax_tree//lib/syntax_tree/node.rb#12043
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#12063
+ # source://syntax_tree//lib/syntax_tree/node.rb#12047
def format(q); end
# @return [Boolean]
#
- # source://syntax_tree//lib/syntax_tree/node.rb#12034
+ # source://syntax_tree//lib/syntax_tree/node.rb#12018
def match?(pattern); end
# [Array[ StringEmbExpr | StringDVar | TStringContent ]] the parts of the
# word
#
- # source://syntax_tree//lib/syntax_tree/node.rb#12023
+ # source://syntax_tree//lib/syntax_tree/node.rb#12007
def parts; end
end
@@ -14489,47 +14715,47 @@ end
#
# %W[one two three]
#
-# source://syntax_tree//lib/syntax_tree/node.rb#12076
+# source://syntax_tree//lib/syntax_tree/node.rb#12060
class SyntaxTree::Words < ::SyntaxTree::Node
# @return [Words] a new instance of Words
#
- # source://syntax_tree//lib/syntax_tree/node.rb#12086
+ # source://syntax_tree//lib/syntax_tree/node.rb#12070
def initialize(beginning:, elements:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#12142
+ # source://syntax_tree//lib/syntax_tree/node.rb#12126
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#12093
+ # source://syntax_tree//lib/syntax_tree/node.rb#12077
def accept(visitor); end
# [WordsBeg] the token that opens this array literal
#
- # source://syntax_tree//lib/syntax_tree/node.rb#12078
+ # source://syntax_tree//lib/syntax_tree/node.rb#12062
def beginning; end
- # source://syntax_tree//lib/syntax_tree/node.rb#12097
+ # source://syntax_tree//lib/syntax_tree/node.rb#12081
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#12084
+ # source://syntax_tree//lib/syntax_tree/node.rb#12068
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#12101
+ # source://syntax_tree//lib/syntax_tree/node.rb#12085
def copy(beginning: T.unsafe(nil), elements: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#12097
+ # source://syntax_tree//lib/syntax_tree/node.rb#12081
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#12111
+ # source://syntax_tree//lib/syntax_tree/node.rb#12095
def deconstruct_keys(_keys); end
# [Array[ Word ]] the elements of this array
#
- # source://syntax_tree//lib/syntax_tree/node.rb#12081
+ # source://syntax_tree//lib/syntax_tree/node.rb#12065
def elements; end
- # source://syntax_tree//lib/syntax_tree/node.rb#12120
+ # source://syntax_tree//lib/syntax_tree/node.rb#12104
def format(q); end
end
@@ -14542,34 +14768,34 @@ end
# Note that these kinds of arrays can start with a lot of different delimiter
# types (e.g., %W| or %W<).
#
-# source://syntax_tree//lib/syntax_tree/node.rb#12156
+# source://syntax_tree//lib/syntax_tree/node.rb#12140
class SyntaxTree::WordsBeg < ::SyntaxTree::Node
# @return [WordsBeg] a new instance of WordsBeg
#
- # source://syntax_tree//lib/syntax_tree/node.rb#12160
+ # source://syntax_tree//lib/syntax_tree/node.rb#12144
def initialize(value:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#12186
+ # source://syntax_tree//lib/syntax_tree/node.rb#12170
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#12165
+ # source://syntax_tree//lib/syntax_tree/node.rb#12149
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#12169
+ # source://syntax_tree//lib/syntax_tree/node.rb#12153
def child_nodes; end
- # source://syntax_tree//lib/syntax_tree/node.rb#12173
+ # source://syntax_tree//lib/syntax_tree/node.rb#12157
def copy(value: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#12169
+ # source://syntax_tree//lib/syntax_tree/node.rb#12153
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#12182
+ # source://syntax_tree//lib/syntax_tree/node.rb#12166
def deconstruct_keys(_keys); end
# [String] the start of the word literal array
#
- # source://syntax_tree//lib/syntax_tree/node.rb#12158
+ # source://syntax_tree//lib/syntax_tree/node.rb#12142
def value; end
end
@@ -14577,35 +14803,35 @@ end
#
# `ls`
#
-# source://syntax_tree//lib/syntax_tree/node.rb#12195
+# source://syntax_tree//lib/syntax_tree/node.rb#12179
class SyntaxTree::XString < ::SyntaxTree::Node
# @return [XString] a new instance of XString
#
- # source://syntax_tree//lib/syntax_tree/node.rb#12200
+ # source://syntax_tree//lib/syntax_tree/node.rb#12184
def initialize(parts:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#12226
+ # source://syntax_tree//lib/syntax_tree/node.rb#12210
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#12205
+ # source://syntax_tree//lib/syntax_tree/node.rb#12189
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#12209
+ # source://syntax_tree//lib/syntax_tree/node.rb#12193
def child_nodes; end
- # source://syntax_tree//lib/syntax_tree/node.rb#12213
+ # source://syntax_tree//lib/syntax_tree/node.rb#12197
def copy(parts: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#12209
+ # source://syntax_tree//lib/syntax_tree/node.rb#12193
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#12222
+ # source://syntax_tree//lib/syntax_tree/node.rb#12206
def deconstruct_keys(_keys); end
# [Array[ StringEmbExpr | StringDVar | TStringContent ]] the parts of the
# xstring
#
- # source://syntax_tree//lib/syntax_tree/node.rb#12198
+ # source://syntax_tree//lib/syntax_tree/node.rb#12182
def parts; end
end
@@ -14613,43 +14839,43 @@ end
#
# `ls`
#
-# source://syntax_tree//lib/syntax_tree/node.rb#12235
+# source://syntax_tree//lib/syntax_tree/node.rb#12219
class SyntaxTree::XStringLiteral < ::SyntaxTree::Node
# @return [XStringLiteral] a new instance of XStringLiteral
#
- # source://syntax_tree//lib/syntax_tree/node.rb#12243
+ # source://syntax_tree//lib/syntax_tree/node.rb#12227
def initialize(parts:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#12280
+ # source://syntax_tree//lib/syntax_tree/node.rb#12264
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#12249
+ # source://syntax_tree//lib/syntax_tree/node.rb#12233
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#12253
+ # source://syntax_tree//lib/syntax_tree/node.rb#12237
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#12241
+ # source://syntax_tree//lib/syntax_tree/node.rb#12225
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#12257
+ # source://syntax_tree//lib/syntax_tree/node.rb#12241
def copy(parts: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#12253
+ # source://syntax_tree//lib/syntax_tree/node.rb#12237
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#12270
+ # source://syntax_tree//lib/syntax_tree/node.rb#12254
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#12274
+ # source://syntax_tree//lib/syntax_tree/node.rb#12258
def format(q); end
# [Array[ StringEmbExpr | StringDVar | TStringContent ]] the parts of the
# xstring
#
- # source://syntax_tree//lib/syntax_tree/node.rb#12238
+ # source://syntax_tree//lib/syntax_tree/node.rb#12222
def parts; end
end
@@ -14660,7 +14886,7 @@ module SyntaxTree::YARV
class << self
# A convenience method for creating a CallData object.
#
- # source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#82
+ # source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#88
def calldata(method, argc = T.unsafe(nil), flags = T.unsafe(nil), kw_arg = T.unsafe(nil)); end
# Compile the given source into a YARV instruction sequence.
@@ -14768,54 +14994,54 @@ end
class SyntaxTree::YARV::Assembler
# @return [Assembler] a new instance of Assembler
#
- # source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#67
+ # source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#66
def initialize(lines); end
- # source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#71
+ # source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#70
def assemble; end
# Returns the value of attribute lines.
#
- # source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#65
+ # source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#64
def lines; end
private
- # source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#89
+ # source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#88
def assemble_iseq(iseq, lines); end
- # source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#409
+ # source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#408
def find_local(iseq, operands); end
- # source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#418
+ # source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#417
def parse(value); end
- # source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#450
+ # source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#449
def parse_calldata(value); end
- # source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#445
+ # source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#444
def parse_nested(lines); end
- # source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#433
+ # source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#432
def parse_number(value); end
- # source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#425
+ # source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#424
def parse_options(value, options); end
- # source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#437
+ # source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#436
def parse_string(value); end
- # source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#441
+ # source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#440
def parse_symbol(value); end
- # source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#429
+ # source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#428
def parse_type(value, type); end
class << self
- # source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#79
+ # source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#78
def assemble(source); end
- # source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#83
+ # source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#82
def assemble_file(filepath); end
end
end
@@ -14823,7 +15049,7 @@ end
# source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#28
SyntaxTree::YARV::Assembler::CALLDATA_FLAGS = T.let(T.unsafe(nil), Hash)
-# source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#44
+# source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#43
SyntaxTree::YARV::Assembler::DEFINED_TYPES = T.let(T.unsafe(nil), Array)
# source://syntax_tree//lib/syntax_tree/yarv/assembler.rb#6
@@ -15117,83 +15343,83 @@ end
class SyntaxTree::YARV::CallData
# @return [CallData] a new instance of CallData
#
- # source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#24
+ # source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#31
def initialize(method, argc = T.unsafe(nil), flags = T.unsafe(nil), kw_arg = T.unsafe(nil)); end
# Returns the value of attribute argc.
#
- # source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#22
+ # source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#29
def argc; end
# @return [Boolean]
#
- # source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#36
+ # source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#43
def flag?(mask); end
# Returns the value of attribute flags.
#
- # source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#22
+ # source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#29
def flags; end
- # source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#46
+ # source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#53
def inspect; end
# Returns the value of attribute kw_arg.
#
- # source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#22
+ # source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#29
def kw_arg; end
# Returns the value of attribute method.
#
- # source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#22
+ # source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#29
def method; end
- # source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#40
+ # source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#47
def to_h; end
class << self
- # source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#71
+ # source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#77
def from(serialized); end
end
end
-# source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#9
+# source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#27
SyntaxTree::YARV::CallData::CALL_ARGS_BLOCKARG = T.let(T.unsafe(nil), Integer)
-# source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#12
+# source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#27
SyntaxTree::YARV::CallData::CALL_ARGS_SIMPLE = T.let(T.unsafe(nil), Integer)
-# source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#8
+# source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#27
SyntaxTree::YARV::CallData::CALL_ARGS_SPLAT = T.let(T.unsafe(nil), Integer)
-# source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#13
+# source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#27
SyntaxTree::YARV::CallData::CALL_BLOCKISEQ = T.let(T.unsafe(nil), Integer)
-# source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#10
+# source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#27
SyntaxTree::YARV::CallData::CALL_FCALL = T.let(T.unsafe(nil), Integer)
-# source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#14
+# source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#27
SyntaxTree::YARV::CallData::CALL_KWARG = T.let(T.unsafe(nil), Integer)
-# source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#15
+# source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#27
SyntaxTree::YARV::CallData::CALL_KW_SPLAT = T.let(T.unsafe(nil), Integer)
-# source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#20
+# source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#27
SyntaxTree::YARV::CallData::CALL_KW_SPLAT_MUT = T.let(T.unsafe(nil), Integer)
-# source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#19
+# source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#27
SyntaxTree::YARV::CallData::CALL_OPT_SEND = T.let(T.unsafe(nil), Integer)
-# source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#17
+# source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#27
SyntaxTree::YARV::CallData::CALL_SUPER = T.let(T.unsafe(nil), Integer)
-# source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#16
+# source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#27
SyntaxTree::YARV::CallData::CALL_TAILCALL = T.let(T.unsafe(nil), Integer)
-# source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#11
+# source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#27
SyntaxTree::YARV::CallData::CALL_VCALL = T.let(T.unsafe(nil), Integer)
-# source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#18
+# source://syntax_tree//lib/syntax_tree/yarv/calldata.rb#27
SyntaxTree::YARV::CallData::CALL_ZSUPER = T.let(T.unsafe(nil), Integer)
# ### Summary
@@ -18165,10 +18391,10 @@ class SyntaxTree::YARV::InstructionSequence
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#168
def initialize(name, file, line, type, parent_iseq = T.unsafe(nil), options = T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#636
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#652
def adjuststack(number); end
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#640
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#656
def anytostring; end
# Returns the value of attribute argument_options.
@@ -18188,34 +18414,34 @@ class SyntaxTree::YARV::InstructionSequence
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#142
def argument_size=(_arg0); end
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#456
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#472
def block_child_iseq(line); end
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#644
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#660
def branchif(label); end
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#648
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#664
def branchnil(label); end
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#652
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#668
def branchunless(label); end
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#549
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#565
def catch_break(iseq, begin_label, end_label, exit_label, restore_sp); end
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#559
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#575
def catch_ensure(iseq, begin_label, end_label, exit_label, restore_sp); end
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#569
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#585
def catch_next(begin_label, end_label, exit_label, restore_sp); end
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#579
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#595
def catch_redo(begin_label, end_label, exit_label, restore_sp); end
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#589
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#605
def catch_rescue(iseq, begin_label, end_label, exit_label, restore_sp); end
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#599
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#615
def catch_retry(begin_label, end_label, exit_label, restore_sp); end
# The catch table for this instruction sequence.
@@ -18223,21 +18449,21 @@ class SyntaxTree::YARV::InstructionSequence
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#146
def catch_table; end
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#656
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#672
def checkkeyword(keyword_bits_index, keyword_index); end
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#660
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#676
def checkmatch(type); end
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#664
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#680
def checktype(type); end
# Child instruction sequence methods
#
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#452
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#468
def child_iseq(name, line, type); end
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#462
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#478
def class_child_iseq(name, line); end
# This method converts our linked list of instructions into a final array
@@ -18246,49 +18472,49 @@ class SyntaxTree::YARV::InstructionSequence
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#305
def compile!; end
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#668
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#684
def concatarray; end
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#672
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#688
def concatstrings(number); end
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#676
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#692
def defineclass(name, class_iseq, flags); end
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#680
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#696
def defined(type, name, message); end
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#684
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#700
def definedivar(name, cache, message); end
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#693
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#709
def definemethod(name, method_iseq); end
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#697
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#713
def definesmethod(name, method_iseq); end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#292
def disasm; end
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#701
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#717
def dup; end
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#705
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#721
def duparray(object); end
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#709
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#725
def duphash(object); end
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#713
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#729
def dupn(number); end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#232
def eval; end
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#632
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#648
def event(name); end
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#717
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#733
def expandarray(length, flags); end
# The source location of the instruction sequence.
@@ -18296,28 +18522,28 @@ class SyntaxTree::YARV::InstructionSequence
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#132
def file; end
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#721
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#737
def getblockparam(index, level); end
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#725
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#741
def getblockparamproxy(index, level); end
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#729
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#745
def getclassvariable(name); end
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#737
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#753
def getconstant(name); end
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#741
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#757
def getglobal(name); end
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#745
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#761
def getinstancevariable(name); end
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#753
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#769
def getlocal(index, level); end
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#772
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#788
def getspecial(key, type); end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#207
@@ -18340,24 +18566,24 @@ class SyntaxTree::YARV::InstructionSequence
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#299
def inspect; end
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#776
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#792
def intern; end
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#780
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#796
def invokeblock(calldata); end
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#784
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#800
def invokesuper(calldata, block_iseq); end
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#788
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#804
def jump(label); end
# Instruction push methods
#
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#613
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#629
def label; end
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#792
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#808
def leave; end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#219
@@ -18378,10 +18604,10 @@ class SyntaxTree::YARV::InstructionSequence
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#199
def local_variable(name, level = T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#466
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#482
def method_child_iseq(name, line); end
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#470
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#486
def module_child_iseq(name, line); end
# The name of the instruction sequence.
@@ -18389,43 +18615,43 @@ class SyntaxTree::YARV::InstructionSequence
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#129
def name; end
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#796
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#812
def newarray(number); end
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#800
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#816
def newarraykwsplat(number); end
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#804
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#820
def newhash(number); end
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#808
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#824
def newrange(exclude_end); end
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#812
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#828
def nop; end
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#816
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#832
def objtostring(calldata); end
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#820
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#836
def once(iseq, cache); end
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#824
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#840
def opt_aref_with(object, calldata); end
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#828
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#844
def opt_aset_with(object, calldata); end
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#832
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#848
def opt_case_dispatch(case_dispatch_hash, else_label); end
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#836
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#852
def opt_getconstant_path(names); end
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#872
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#888
def opt_getinlinecache(label, cache); end
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#876
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#892
def opt_setinlinecache(cache); end
# These are various compilation options provided.
@@ -18438,61 +18664,61 @@ class SyntaxTree::YARV::InstructionSequence
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#138
def parent_iseq; end
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#880
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#896
def pop; end
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#617
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#633
def push(value); end
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#884
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#900
def putnil; end
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#888
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#904
def putobject(object); end
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#906
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#922
def putself; end
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#910
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#926
def putspecialobject(object); end
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#914
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#930
def putstring(object); end
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#918
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#934
def send(calldata, block_iseq = T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#922
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#938
def setblockparam(index, level); end
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#926
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#942
def setclassvariable(name); end
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#934
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#950
def setconstant(name); end
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#938
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#954
def setglobal(name); end
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#942
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#958
def setinstancevariable(name); end
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#950
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#966
def setlocal(index, level); end
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#969
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#985
def setn(number); end
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#973
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#989
def setspecial(key); end
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#474
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#490
def singleton_class_child_iseq(line); end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#341
def specialize_instructions!; end
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#977
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#993
def splatarray(flag); end
# An object that will track the current size of the stack and the
@@ -18506,10 +18732,10 @@ class SyntaxTree::YARV::InstructionSequence
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#159
def storage_index; end
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#981
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#997
def swap; end
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#985
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#1001
def throw(type); end
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#236
@@ -18524,10 +18750,10 @@ class SyntaxTree::YARV::InstructionSequence
# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#288
def to_son; end
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#989
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#1005
def topn(number); end
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#993
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#1009
def toregexp(options, length); end
# The type of the instruction sequence.
@@ -18539,7 +18765,7 @@ class SyntaxTree::YARV::InstructionSequence
# This method will create a new instruction sequence from a serialized
# RubyVM::InstructionSequence object.
#
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#999
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#1015
def from(source, options = T.unsafe(nil), parent_iseq = T.unsafe(nil)); end
# This provides a handle to the rb_iseq_load function, which allows you
@@ -18551,74 +18777,74 @@ class SyntaxTree::YARV::InstructionSequence
end
end
-# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#494
+# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#510
class SyntaxTree::YARV::InstructionSequence::CatchBreak < ::SyntaxTree::YARV::InstructionSequence::CatchEntry
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#495
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#511
def to_a; end
end
-# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#507
+# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#523
class SyntaxTree::YARV::InstructionSequence::CatchEnsure < ::SyntaxTree::YARV::InstructionSequence::CatchEntry
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#508
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#524
def to_a; end
end
# Catch table methods
#
-# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#482
+# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#498
class SyntaxTree::YARV::InstructionSequence::CatchEntry
# @return [CatchEntry] a new instance of CatchEntry
#
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#485
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#501
def initialize(iseq, begin_label, end_label, exit_label, restore_sp); end
# Returns the value of attribute begin_label.
#
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#483
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#499
def begin_label; end
# Returns the value of attribute end_label.
#
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#483
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#499
def end_label; end
# Returns the value of attribute exit_label.
#
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#483
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#499
def exit_label; end
# Returns the value of attribute iseq.
#
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#483
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#499
def iseq; end
# Returns the value of attribute restore_sp.
#
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#483
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#499
def restore_sp; end
end
-# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#519
+# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#535
class SyntaxTree::YARV::InstructionSequence::CatchNext < ::SyntaxTree::YARV::InstructionSequence::CatchEntry
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#520
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#536
def to_a; end
end
-# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#525
+# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#541
class SyntaxTree::YARV::InstructionSequence::CatchRedo < ::SyntaxTree::YARV::InstructionSequence::CatchEntry
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#526
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#542
def to_a; end
end
-# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#531
+# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#547
class SyntaxTree::YARV::InstructionSequence::CatchRescue < ::SyntaxTree::YARV::InstructionSequence::CatchEntry
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#532
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#548
def to_a; end
end
-# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#543
+# source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#559
class SyntaxTree::YARV::InstructionSequence::CatchRetry < ::SyntaxTree::YARV::InstructionSequence::CatchEntry
- # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#544
+ # source://syntax_tree//lib/syntax_tree/yarv/instruction_sequence.rb#560
def to_a; end
end
@@ -19101,6 +19327,104 @@ class SyntaxTree::YARV::Legacy::OptGetInlineCache < ::SyntaxTree::YARV::Instruct
def to_a(_iseq); end
end
+# ### Summary
+#
+# `opt_newarray_max` is a specialization that occurs when the `max` method
+# is called on an array literal. It pops the values of the array off the
+# stack and pushes on the result.
+#
+# ### Usage
+#
+# ~~~ruby
+# [a, b, c].max
+# ~~~
+#
+# source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#139
+class SyntaxTree::YARV::Legacy::OptNewArrayMax < ::SyntaxTree::YARV::Instruction
+ # @return [OptNewArrayMax] a new instance of OptNewArrayMax
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#142
+ def initialize(number); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#158
+ def ==(other); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#174
+ def call(vm); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#154
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#146
+ def disasm(fmt); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#162
+ def length; end
+
+ # Returns the value of attribute number.
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#140
+ def number; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#166
+ def pops; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#170
+ def pushes; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#150
+ def to_a(_iseq); end
+end
+
+# ### Summary
+#
+# `opt_newarray_min` is a specialization that occurs when the `min` method
+# is called on an array literal. It pops the values of the array off the
+# stack and pushes on the result.
+#
+# ### Usage
+#
+# ~~~ruby
+# [a, b, c].min
+# ~~~
+#
+# source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#191
+class SyntaxTree::YARV::Legacy::OptNewArrayMin < ::SyntaxTree::YARV::Instruction
+ # @return [OptNewArrayMin] a new instance of OptNewArrayMin
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#194
+ def initialize(number); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#210
+ def ==(other); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#226
+ def call(vm); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#206
+ def deconstruct_keys(_keys); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#198
+ def disasm(fmt); end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#214
+ def length; end
+
+ # Returns the value of attribute number.
+ #
+ # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#192
+ def number; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#218
+ def pops; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#222
+ def pushes; end
+
+ # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#202
+ def to_a(_iseq); end
+end
+
# ### Summary
#
# `opt_setinlinecache` sets an inline cache for a constant lookup. It pops
@@ -19116,40 +19440,40 @@ end
# Constant
# ~~~
#
-# source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#142
+# source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#246
class SyntaxTree::YARV::Legacy::OptSetInlineCache < ::SyntaxTree::YARV::Instruction
# @return [OptSetInlineCache] a new instance of OptSetInlineCache
#
- # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#145
+ # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#249
def initialize(cache); end
- # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#161
+ # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#265
def ==(other); end
# Returns the value of attribute cache.
#
- # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#143
+ # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#247
def cache; end
- # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#177
+ # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#281
def call(vm); end
- # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#157
+ # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#261
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#149
+ # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#253
def disasm(fmt); end
- # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#165
+ # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#269
def length; end
- # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#169
+ # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#273
def pops; end
- # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#173
+ # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#277
def pushes; end
- # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#153
+ # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#257
def to_a(_iseq); end
end
@@ -19167,40 +19491,40 @@ end
# @@class_variable = 1
# ~~~
#
-# source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#195
+# source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#299
class SyntaxTree::YARV::Legacy::SetClassVariable < ::SyntaxTree::YARV::Instruction
# @return [SetClassVariable] a new instance of SetClassVariable
#
- # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#198
+ # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#302
def initialize(name); end
- # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#214
+ # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#318
def ==(other); end
- # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#230
+ # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#334
def call(vm); end
- # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#226
+ # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#330
def canonical; end
- # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#210
+ # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#314
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#202
+ # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#306
def disasm(fmt); end
- # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#218
+ # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#322
def length; end
# Returns the value of attribute name.
#
- # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#196
+ # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#300
def name; end
- # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#222
+ # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#326
def pops; end
- # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#206
+ # source://syntax_tree//lib/syntax_tree/yarv/legacy.rb#310
def to_a(_iseq); end
end
@@ -20733,9 +21057,10 @@ end
# ### Summary
#
-# `opt_newarray_max` is a specialization that occurs when the `max` method
-# is called on an array literal. It pops the values of the array off the
-# stack and pushes on the result.
+# `opt_newarray_send` is a specialization that occurs when a dynamic array
+# literal is created and immediately sent the `min`, `max`, or `hash`
+# methods. It pops the values of the array off the stack and pushes on the
+# result of the method call.
#
# ### Usage
#
@@ -20743,89 +21068,45 @@ end
# [a, b, c].max
# ~~~
#
-# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3831
-class SyntaxTree::YARV::OptNewArrayMax < ::SyntaxTree::YARV::Instruction
- # @return [OptNewArrayMax] a new instance of OptNewArrayMax
+# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3832
+class SyntaxTree::YARV::OptNewArraySend < ::SyntaxTree::YARV::Instruction
+ # @return [OptNewArraySend] a new instance of OptNewArraySend
#
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3834
- def initialize(number); end
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3835
+ def initialize(number, method); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3850
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3855
def ==(other); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3866
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3872
def call(vm); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3846
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3851
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3838
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3840
def disasm(fmt); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3854
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3860
def length; end
- # Returns the value of attribute number.
- #
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3832
- def number; end
-
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3858
- def pops; end
-
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3862
- def pushes; end
-
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3842
- def to_a(_iseq); end
-end
-
-# ### Summary
-#
-# `opt_newarray_min` is a specialization that occurs when the `min` method
-# is called on an array literal. It pops the values of the array off the
-# stack and pushes on the result.
-#
-# ### Usage
-#
-# ~~~ruby
-# [a, b, c].min
-# ~~~
-#
-# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3883
-class SyntaxTree::YARV::OptNewArrayMin < ::SyntaxTree::YARV::Instruction
- # @return [OptNewArrayMin] a new instance of OptNewArrayMin
+ # Returns the value of attribute method.
#
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3886
- def initialize(number); end
-
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3902
- def ==(other); end
-
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3918
- def call(vm); end
-
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3898
- def deconstruct_keys(_keys); end
-
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3890
- def disasm(fmt); end
-
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3906
- def length; end
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3833
+ def method; end
# Returns the value of attribute number.
#
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3884
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3833
def number; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3910
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3864
def pops; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3914
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3868
def pushes; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3894
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3847
def to_a(_iseq); end
end
@@ -20842,43 +21123,43 @@ end
# "".nil?
# ~~~
#
-# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3936
+# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3890
class SyntaxTree::YARV::OptNilP < ::SyntaxTree::YARV::Instruction
# @return [OptNilP] a new instance of OptNilP
#
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3939
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3893
def initialize(calldata); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3955
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3909
def ==(other); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3975
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3929
def call(vm); end
# Returns the value of attribute calldata.
#
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3937
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3891
def calldata; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3971
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3925
def canonical; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3951
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3905
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3943
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3897
def disasm(fmt); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3959
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3913
def length; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3963
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3917
def pops; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3967
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3921
def pushes; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3947
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3901
def to_a(_iseq); end
end
@@ -20893,43 +21174,43 @@ end
# !true
# ~~~
#
-# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3991
+# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3945
class SyntaxTree::YARV::OptNot < ::SyntaxTree::YARV::Instruction
# @return [OptNot] a new instance of OptNot
#
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3994
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3948
def initialize(calldata); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4010
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3964
def ==(other); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4030
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3984
def call(vm); end
# Returns the value of attribute calldata.
#
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3992
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3946
def calldata; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4026
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3980
def canonical; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4006
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3960
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3998
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3952
def disasm(fmt); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4014
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3968
def length; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4018
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3972
def pops; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4022
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3976
def pushes; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4002
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#3956
def to_a(_iseq); end
end
@@ -20946,43 +21227,43 @@ end
# 2 | 3
# ~~~
#
-# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4048
+# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4002
class SyntaxTree::YARV::OptOr < ::SyntaxTree::YARV::Instruction
# @return [OptOr] a new instance of OptOr
#
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4051
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4005
def initialize(calldata); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4067
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4021
def ==(other); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4087
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4041
def call(vm); end
# Returns the value of attribute calldata.
#
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4049
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4003
def calldata; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4083
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4037
def canonical; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4063
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4017
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4055
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4009
def disasm(fmt); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4071
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4025
def length; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4075
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4029
def pops; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4079
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4033
def pushes; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4059
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4013
def to_a(_iseq); end
end
@@ -20999,43 +21280,43 @@ end
# 2 + 3
# ~~~
#
-# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4105
+# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4059
class SyntaxTree::YARV::OptPlus < ::SyntaxTree::YARV::Instruction
# @return [OptPlus] a new instance of OptPlus
#
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4108
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4062
def initialize(calldata); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4124
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4078
def ==(other); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4144
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4098
def call(vm); end
# Returns the value of attribute calldata.
#
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4106
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4060
def calldata; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4140
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4094
def canonical; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4120
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4074
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4112
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4066
def disasm(fmt); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4128
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4082
def length; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4132
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4086
def pops; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4136
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4090
def pushes; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4116
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4070
def to_a(_iseq); end
end
@@ -21051,43 +21332,43 @@ end
# /a/ =~ "a"
# ~~~
#
-# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4161
+# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4115
class SyntaxTree::YARV::OptRegExpMatch2 < ::SyntaxTree::YARV::Instruction
# @return [OptRegExpMatch2] a new instance of OptRegExpMatch2
#
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4164
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4118
def initialize(calldata); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4180
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4134
def ==(other); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4200
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4154
def call(vm); end
# Returns the value of attribute calldata.
#
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4162
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4116
def calldata; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4196
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4150
def canonical; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4176
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4130
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4168
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4122
def disasm(fmt); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4184
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4138
def length; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4188
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4142
def pops; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4192
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4146
def pushes; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4172
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4126
def to_a(_iseq); end
end
@@ -21103,43 +21384,43 @@ end
# puts "Hello, world!"
# ~~~
#
-# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4217
+# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4171
class SyntaxTree::YARV::OptSendWithoutBlock < ::SyntaxTree::YARV::Instruction
# @return [OptSendWithoutBlock] a new instance of OptSendWithoutBlock
#
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4220
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4174
def initialize(calldata); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4236
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4190
def ==(other); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4256
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4210
def call(vm); end
# Returns the value of attribute calldata.
#
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4218
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4172
def calldata; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4252
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4206
def canonical; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4232
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4186
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4224
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4178
def disasm(fmt); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4240
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4194
def length; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4244
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4198
def pops; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4248
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4202
def pushes; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4228
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4182
def to_a(_iseq); end
end
@@ -21156,43 +21437,43 @@ end
# "".size
# ~~~
#
-# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4274
+# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4228
class SyntaxTree::YARV::OptSize < ::SyntaxTree::YARV::Instruction
# @return [OptSize] a new instance of OptSize
#
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4277
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4231
def initialize(calldata); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4293
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4247
def ==(other); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4313
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4267
def call(vm); end
# Returns the value of attribute calldata.
#
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4275
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4229
def calldata; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4309
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4263
def canonical; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4289
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4243
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4281
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4235
def disasm(fmt); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4297
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4251
def length; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4301
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4255
def pops; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4305
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4259
def pushes; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4285
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4239
def to_a(_iseq); end
end
@@ -21208,42 +21489,42 @@ end
# "hello".freeze
# ~~~
#
-# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4330
+# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4284
class SyntaxTree::YARV::OptStrFreeze < ::SyntaxTree::YARV::Instruction
# @return [OptStrFreeze] a new instance of OptStrFreeze
#
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4333
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4287
def initialize(object, calldata); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4353
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4307
def ==(other); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4366
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4320
def call(vm); end
# Returns the value of attribute calldata.
#
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4331
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4285
def calldata; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4349
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4303
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4338
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4292
def disasm(fmt); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4358
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4312
def length; end
# Returns the value of attribute object.
#
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4331
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4285
def object; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4362
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4316
def pushes; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4345
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4299
def to_a(_iseq); end
end
@@ -21259,42 +21540,42 @@ end
# -"string"
# ~~~
#
-# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4383
+# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4337
class SyntaxTree::YARV::OptStrUMinus < ::SyntaxTree::YARV::Instruction
# @return [OptStrUMinus] a new instance of OptStrUMinus
#
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4386
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4340
def initialize(object, calldata); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4406
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4360
def ==(other); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4419
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4373
def call(vm); end
# Returns the value of attribute calldata.
#
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4384
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4338
def calldata; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4402
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4356
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4391
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4345
def disasm(fmt); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4411
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4365
def length; end
# Returns the value of attribute object.
#
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4384
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4338
def object; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4415
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4369
def pushes; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4398
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4352
def to_a(_iseq); end
end
@@ -21311,43 +21592,43 @@ end
# "".succ
# ~~~
#
-# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4437
+# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4391
class SyntaxTree::YARV::OptSucc < ::SyntaxTree::YARV::Instruction
# @return [OptSucc] a new instance of OptSucc
#
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4440
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4394
def initialize(calldata); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4456
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4410
def ==(other); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4476
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4430
def call(vm); end
# Returns the value of attribute calldata.
#
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4438
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4392
def calldata; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4472
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4426
def canonical; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4452
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4406
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4444
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4398
def disasm(fmt); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4460
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4414
def length; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4464
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4418
def pops; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4468
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4422
def pushes; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4448
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4402
def to_a(_iseq); end
end
@@ -21361,29 +21642,29 @@ end
# a ||= 2
# ~~~
#
-# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4491
+# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4445
class SyntaxTree::YARV::Pop < ::SyntaxTree::YARV::Instruction
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4504
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4458
def ==(other); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4512
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4466
def call(vm); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4500
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4454
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4492
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4446
def disasm(fmt); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4508
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4462
def pops; end
# @return [Boolean]
#
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4516
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4470
def side_effects?; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4496
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4450
def to_a(_iseq); end
end
@@ -21397,32 +21678,32 @@ end
# nil
# ~~~
#
-# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4531
+# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4485
class SyntaxTree::YARV::PutNil < ::SyntaxTree::YARV::Instruction
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4544
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4498
def ==(other); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4556
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4510
def call(vm); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4552
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4506
def canonical; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4540
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4494
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4532
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4486
def disasm(fmt); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4548
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4502
def pushes; end
# @return [Boolean]
#
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4560
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4514
def side_effects?; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4536
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4490
def to_a(_iseq); end
end
@@ -21436,42 +21717,42 @@ end
# 5
# ~~~
#
-# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4575
+# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4529
class SyntaxTree::YARV::PutObject < ::SyntaxTree::YARV::Instruction
# @return [PutObject] a new instance of PutObject
#
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4578
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4532
def initialize(object); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4594
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4548
def ==(other); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4606
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4560
def call(vm); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4590
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4544
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4582
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4536
def disasm(fmt); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4598
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4552
def length; end
# Returns the value of attribute object.
#
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4576
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4530
def object; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4602
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4556
def pushes; end
# @return [Boolean]
#
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4610
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4564
def side_effects?; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4586
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4540
def to_a(_iseq); end
end
@@ -21487,32 +21768,32 @@ end
# 0
# ~~~
#
-# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4627
+# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4581
class SyntaxTree::YARV::PutObjectInt2Fix0 < ::SyntaxTree::YARV::Instruction
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4640
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4594
def ==(other); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4652
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4606
def call(vm); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4648
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4602
def canonical; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4636
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4590
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4628
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4582
def disasm(fmt); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4644
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4598
def pushes; end
# @return [Boolean]
#
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4656
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4610
def side_effects?; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4632
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4586
def to_a(_iseq); end
end
@@ -21528,32 +21809,32 @@ end
# 1
# ~~~
#
-# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4673
+# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4627
class SyntaxTree::YARV::PutObjectInt2Fix1 < ::SyntaxTree::YARV::Instruction
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4686
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4640
def ==(other); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4698
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4652
def call(vm); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4694
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4648
def canonical; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4682
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4636
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4674
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4628
def disasm(fmt); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4690
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4644
def pushes; end
# @return [Boolean]
#
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4702
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4656
def side_effects?; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4678
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4632
def to_a(_iseq); end
end
@@ -21567,29 +21848,29 @@ end
# puts "Hello, world!"
# ~~~
#
-# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4717
+# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4671
class SyntaxTree::YARV::PutSelf < ::SyntaxTree::YARV::Instruction
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4730
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4684
def ==(other); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4738
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4692
def call(vm); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4726
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4680
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4718
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4672
def disasm(fmt); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4734
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4688
def pushes; end
# @return [Boolean]
#
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4742
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4696
def side_effects?; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4722
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4676
def to_a(_iseq); end
end
@@ -21605,47 +21886,47 @@ end
# alias foo bar
# ~~~
#
-# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4759
+# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4713
class SyntaxTree::YARV::PutSpecialObject < ::SyntaxTree::YARV::Instruction
# @return [PutSpecialObject] a new instance of PutSpecialObject
#
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4766
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4720
def initialize(object); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4782
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4736
def ==(other); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4794
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4748
def call(vm); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4778
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4732
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4770
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4724
def disasm(fmt); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4786
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4740
def length; end
# Returns the value of attribute object.
#
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4764
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4718
def object; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4790
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4744
def pushes; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4774
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4728
def to_a(_iseq); end
end
-# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4761
+# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4715
SyntaxTree::YARV::PutSpecialObject::OBJECT_CBASE = T.let(T.unsafe(nil), Integer)
-# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4762
+# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4716
SyntaxTree::YARV::PutSpecialObject::OBJECT_CONST_BASE = T.let(T.unsafe(nil), Integer)
-# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4760
+# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4714
SyntaxTree::YARV::PutSpecialObject::OBJECT_VMCORE = T.let(T.unsafe(nil), Integer)
# ### Summary
@@ -21658,37 +21939,37 @@ SyntaxTree::YARV::PutSpecialObject::OBJECT_VMCORE = T.let(T.unsafe(nil), Integer
# "foo"
# ~~~
#
-# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4818
+# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4772
class SyntaxTree::YARV::PutString < ::SyntaxTree::YARV::Instruction
# @return [PutString] a new instance of PutString
#
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4821
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4775
def initialize(object); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4837
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4791
def ==(other); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4849
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4803
def call(vm); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4833
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4787
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4825
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4779
def disasm(fmt); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4841
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4795
def length; end
# Returns the value of attribute object.
#
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4819
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4773
def object; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4845
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4799
def pushes; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4829
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4783
def to_a(_iseq); end
end
@@ -21979,45 +22260,45 @@ end
# "hello".tap { |i| p i }
# ~~~
#
-# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4867
+# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4821
class SyntaxTree::YARV::Send < ::SyntaxTree::YARV::Instruction
# @return [Send] a new instance of Send
#
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4870
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4824
def initialize(calldata, block_iseq); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4891
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4845
def ==(other); end
# Returns the value of attribute block_iseq.
#
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4868
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4822
def block_iseq; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4909
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4863
def call(vm); end
# Returns the value of attribute calldata.
#
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4868
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4822
def calldata; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4887
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4841
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4875
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4829
def disasm(fmt); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4896
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4850
def length; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4900
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4854
def pops; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4905
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4859
def pushes; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4883
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4837
def to_a(_iseq); end
end
@@ -22036,42 +22317,42 @@ end
# end
# ~~~
#
-# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4951
+# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4905
class SyntaxTree::YARV::SetBlockParam < ::SyntaxTree::YARV::Instruction
# @return [SetBlockParam] a new instance of SetBlockParam
#
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4954
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4908
def initialize(index, level); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4973
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4927
def ==(other); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4986
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4940
def call(vm); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4969
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4923
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4959
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4913
def disasm(fmt); end
# Returns the value of attribute index.
#
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4952
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4906
def index; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4978
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4932
def length; end
# Returns the value of attribute level.
#
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4952
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4906
def level; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4982
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4936
def pops; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4963
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4917
def to_a(iseq); end
end
@@ -22088,42 +22369,42 @@ end
# @@class_variable = 1
# ~~~
#
-# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5004
+# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4958
class SyntaxTree::YARV::SetClassVariable < ::SyntaxTree::YARV::Instruction
# @return [SetClassVariable] a new instance of SetClassVariable
#
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5007
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4961
def initialize(name, cache); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5027
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4981
def ==(other); end
# Returns the value of attribute cache.
#
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5005
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4959
def cache; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5040
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4994
def call(vm); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5023
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4977
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5012
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4966
def disasm(fmt); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5032
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4986
def length; end
# Returns the value of attribute name.
#
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5005
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4959
def name; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5036
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4990
def pops; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5019
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#4973
def to_a(_iseq); end
end
@@ -22138,37 +22419,37 @@ end
# Constant = 1
# ~~~
#
-# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5058
+# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5012
class SyntaxTree::YARV::SetConstant < ::SyntaxTree::YARV::Instruction
# @return [SetConstant] a new instance of SetConstant
#
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5061
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5015
def initialize(name); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5077
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5031
def ==(other); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5089
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5043
def call(vm); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5073
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5027
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5065
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5019
def disasm(fmt); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5081
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5035
def length; end
# Returns the value of attribute name.
#
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5059
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5013
def name; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5085
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5039
def pops; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5069
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5023
def to_a(_iseq); end
end
@@ -22183,37 +22464,37 @@ end
# $global = 5
# ~~~
#
-# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5106
+# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5060
class SyntaxTree::YARV::SetGlobal < ::SyntaxTree::YARV::Instruction
# @return [SetGlobal] a new instance of SetGlobal
#
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5109
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5063
def initialize(name); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5125
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5079
def ==(other); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5137
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5091
def call(vm); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5121
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5075
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5113
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5067
def disasm(fmt); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5129
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5083
def length; end
# Returns the value of attribute name.
#
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5107
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5061
def name; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5133
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5087
def pops; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5117
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5071
def to_a(_iseq); end
end
@@ -22232,42 +22513,42 @@ end
# ~~~ruby
# ~~~
#
-# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5160
+# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5114
class SyntaxTree::YARV::SetInstanceVariable < ::SyntaxTree::YARV::Instruction
# @return [SetInstanceVariable] a new instance of SetInstanceVariable
#
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5163
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5117
def initialize(name, cache); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5183
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5137
def ==(other); end
# Returns the value of attribute cache.
#
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5161
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5115
def cache; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5196
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5150
def call(vm); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5179
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5133
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5168
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5122
def disasm(fmt); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5188
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5142
def length; end
# Returns the value of attribute name.
#
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5161
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5115
def name; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5192
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5146
def pops; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5175
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5129
def to_a(_iseq); end
end
@@ -22285,42 +22566,42 @@ end
# tap { tap { value = 10 } }
# ~~~
#
-# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5216
+# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5170
class SyntaxTree::YARV::SetLocal < ::SyntaxTree::YARV::Instruction
# @return [SetLocal] a new instance of SetLocal
#
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5219
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5173
def initialize(index, level); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5238
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5192
def ==(other); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5250
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5204
def call(vm); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5234
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5188
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5224
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5178
def disasm(fmt); end
# Returns the value of attribute index.
#
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5217
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5171
def index; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5242
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5196
def length; end
# Returns the value of attribute level.
#
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5217
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5171
def level; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5246
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5200
def pops; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5228
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5182
def to_a(iseq); end
end
@@ -22337,40 +22618,40 @@ end
# value = 5
# ~~~
#
-# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5268
+# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5222
class SyntaxTree::YARV::SetLocalWC0 < ::SyntaxTree::YARV::Instruction
# @return [SetLocalWC0] a new instance of SetLocalWC0
#
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5271
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5225
def initialize(index); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5287
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5241
def ==(other); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5303
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5257
def call(vm); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5299
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5253
def canonical; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5283
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5237
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5275
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5229
def disasm(fmt); end
# Returns the value of attribute index.
#
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5269
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5223
def index; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5291
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5245
def length; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5295
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5249
def pops; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5279
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5233
def to_a(iseq); end
end
@@ -22387,40 +22668,40 @@ end
# self.then { value = 10 }
# ~~~
#
-# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5321
+# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5275
class SyntaxTree::YARV::SetLocalWC1 < ::SyntaxTree::YARV::Instruction
# @return [SetLocalWC1] a new instance of SetLocalWC1
#
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5324
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5278
def initialize(index); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5340
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5294
def ==(other); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5356
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5310
def call(vm); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5352
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5306
def canonical; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5336
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5290
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5328
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5282
def disasm(fmt); end
# Returns the value of attribute index.
#
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5322
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5276
def index; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5344
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5298
def length; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5348
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5302
def pops; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5332
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5286
def to_a(iseq); end
end
@@ -22435,40 +22716,40 @@ end
# {}[:key] = 'val'
# ~~~
#
-# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5372
+# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5326
class SyntaxTree::YARV::SetN < ::SyntaxTree::YARV::Instruction
# @return [SetN] a new instance of SetN
#
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5375
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5329
def initialize(number); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5391
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5345
def ==(other); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5407
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5361
def call(vm); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5387
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5341
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5379
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5333
def disasm(fmt); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5395
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5349
def length; end
# Returns the value of attribute number.
#
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5373
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5327
def number; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5399
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5353
def pops; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5403
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5357
def pushes; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5383
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5337
def to_a(_iseq); end
end
@@ -22484,37 +22765,37 @@ end
# baz if (foo == 1) .. (bar == 1)
# ~~~
#
-# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5424
+# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5378
class SyntaxTree::YARV::SetSpecial < ::SyntaxTree::YARV::Instruction
# @return [SetSpecial] a new instance of SetSpecial
#
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5427
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5381
def initialize(key); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5443
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5397
def ==(other); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5455
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5409
def call(vm); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5439
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5393
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5431
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5385
def disasm(fmt); end
# Returns the value of attribute key.
#
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5425
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5379
def key; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5447
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5401
def length; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5451
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5405
def pops; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5435
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5389
def to_a(_iseq); end
end
@@ -22530,40 +22811,40 @@ end
# x = *(5)
# ~~~
#
-# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5479
+# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5433
class SyntaxTree::YARV::SplatArray < ::SyntaxTree::YARV::Instruction
# @return [SplatArray] a new instance of SplatArray
#
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5482
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5436
def initialize(flag); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5498
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5452
def ==(other); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5514
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5468
def call(vm); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5494
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5448
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5486
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5440
def disasm(fmt); end
# Returns the value of attribute flag.
#
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5480
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5434
def flag; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5502
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5456
def length; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5506
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5460
def pops; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5510
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5464
def pushes; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5490
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5444
def to_a(_iseq); end
end
@@ -22581,27 +22862,27 @@ end
# !!defined?([[]])
# ~~~
#
-# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5553
+# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5507
class SyntaxTree::YARV::Swap < ::SyntaxTree::YARV::Instruction
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5566
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5520
def ==(other); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5578
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5532
def call(vm); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5562
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5516
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5554
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5508
def disasm(fmt); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5570
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5524
def pops; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5574
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5528
def pushes; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5558
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5512
def to_a(_iseq); end
end
@@ -22617,79 +22898,79 @@ end
# [1, 2, 3].map { break 2 }
# ~~~
#
-# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5596
+# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5550
class SyntaxTree::YARV::Throw < ::SyntaxTree::YARV::Instruction
# @return [Throw] a new instance of Throw
#
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5612
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5566
def initialize(type); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5628
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5582
def ==(other); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5644
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5598
def call(vm); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5624
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5578
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5616
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5570
def disasm(fmt); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5632
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5586
def length; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5636
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5590
def pops; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5640
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5594
def pushes; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5620
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5574
def to_a(_iseq); end
# Returns the value of attribute type.
#
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5610
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5564
def type; end
private
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5671
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5625
def error_backtrace(vm); end
end
-# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5599
+# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5553
SyntaxTree::YARV::Throw::RUBY_TAG_BREAK = T.let(T.unsafe(nil), Integer)
-# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5605
+# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5559
SyntaxTree::YARV::Throw::RUBY_TAG_FATAL = T.let(T.unsafe(nil), Integer)
-# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5600
+# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5554
SyntaxTree::YARV::Throw::RUBY_TAG_NEXT = T.let(T.unsafe(nil), Integer)
-# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5597
+# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5551
SyntaxTree::YARV::Throw::RUBY_TAG_NONE = T.let(T.unsafe(nil), Integer)
-# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5603
+# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5557
SyntaxTree::YARV::Throw::RUBY_TAG_RAISE = T.let(T.unsafe(nil), Integer)
-# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5602
+# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5556
SyntaxTree::YARV::Throw::RUBY_TAG_REDO = T.let(T.unsafe(nil), Integer)
-# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5601
+# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5555
SyntaxTree::YARV::Throw::RUBY_TAG_RETRY = T.let(T.unsafe(nil), Integer)
-# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5598
+# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5552
SyntaxTree::YARV::Throw::RUBY_TAG_RETURN = T.let(T.unsafe(nil), Integer)
-# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5604
+# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5558
SyntaxTree::YARV::Throw::RUBY_TAG_THROW = T.let(T.unsafe(nil), Integer)
-# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5607
+# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5561
SyntaxTree::YARV::Throw::VM_THROW_NO_ESCAPE_FLAG = T.let(T.unsafe(nil), Integer)
-# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5608
+# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5562
SyntaxTree::YARV::Throw::VM_THROW_STATE_MASK = T.let(T.unsafe(nil), Integer)
# ### Summary
@@ -22703,42 +22984,42 @@ SyntaxTree::YARV::Throw::VM_THROW_STATE_MASK = T.let(T.unsafe(nil), Integer)
# /foo #{bar}/
# ~~~
#
-# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5746
+# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5700
class SyntaxTree::YARV::ToRegExp < ::SyntaxTree::YARV::Instruction
# @return [ToRegExp] a new instance of ToRegExp
#
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5749
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5703
def initialize(options, length); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5766
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5720
def ==(other); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5779
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5733
def call(vm); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5762
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5716
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5754
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5708
def disasm(fmt); end
# Returns the value of attribute length.
#
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5747
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5701
def length; end
# Returns the value of attribute options.
#
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5747
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5701
def options; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5771
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5725
def pops; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5775
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5729
def pushes; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5758
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5712
def to_a(_iseq); end
end
@@ -22756,37 +23037,37 @@ end
# end
# ~~~
#
-# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5699
+# source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5653
class SyntaxTree::YARV::TopN < ::SyntaxTree::YARV::Instruction
# @return [TopN] a new instance of TopN
#
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5702
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5656
def initialize(number); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5718
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5672
def ==(other); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5730
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5684
def call(vm); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5714
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5668
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5706
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5660
def disasm(fmt); end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5722
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5676
def length; end
# Returns the value of attribute number.
#
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5700
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5654
def number; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5726
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5680
def pushes; end
- # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5710
+ # source://syntax_tree//lib/syntax_tree/yarv/instructions.rb#5664
def to_a(_iseq); end
end
@@ -23173,42 +23454,42 @@ end
#
# yield value
#
-# source://syntax_tree//lib/syntax_tree/node.rb#12289
+# source://syntax_tree//lib/syntax_tree/node.rb#12273
class SyntaxTree::YieldNode < ::SyntaxTree::Node
# @return [YieldNode] a new instance of YieldNode
#
- # source://syntax_tree//lib/syntax_tree/node.rb#12296
+ # source://syntax_tree//lib/syntax_tree/node.rb#12280
def initialize(arguments:, location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#12350
+ # source://syntax_tree//lib/syntax_tree/node.rb#12334
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#12302
+ # source://syntax_tree//lib/syntax_tree/node.rb#12286
def accept(visitor); end
# [nil | Args | Paren] the arguments passed to the yield
#
- # source://syntax_tree//lib/syntax_tree/node.rb#12291
+ # source://syntax_tree//lib/syntax_tree/node.rb#12275
def arguments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#12306
+ # source://syntax_tree//lib/syntax_tree/node.rb#12290
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#12294
+ # source://syntax_tree//lib/syntax_tree/node.rb#12278
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#12310
+ # source://syntax_tree//lib/syntax_tree/node.rb#12294
def copy(arguments: T.unsafe(nil), location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#12306
+ # source://syntax_tree//lib/syntax_tree/node.rb#12290
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#12323
+ # source://syntax_tree//lib/syntax_tree/node.rb#12307
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#12327
+ # source://syntax_tree//lib/syntax_tree/node.rb#12311
def format(q); end
end
@@ -23216,36 +23497,36 @@ end
#
# super
#
-# source://syntax_tree//lib/syntax_tree/node.rb#12359
+# source://syntax_tree//lib/syntax_tree/node.rb#12343
class SyntaxTree::ZSuper < ::SyntaxTree::Node
# @return [ZSuper] a new instance of ZSuper
#
- # source://syntax_tree//lib/syntax_tree/node.rb#12363
+ # source://syntax_tree//lib/syntax_tree/node.rb#12347
def initialize(location:); end
- # source://syntax_tree//lib/syntax_tree/node.rb#12393
+ # source://syntax_tree//lib/syntax_tree/node.rb#12377
def ===(other); end
- # source://syntax_tree//lib/syntax_tree/node.rb#12368
+ # source://syntax_tree//lib/syntax_tree/node.rb#12352
def accept(visitor); end
- # source://syntax_tree//lib/syntax_tree/node.rb#12372
+ # source://syntax_tree//lib/syntax_tree/node.rb#12356
def child_nodes; end
# [Array[ Comment | EmbDoc ]] the comments attached to this node
#
- # source://syntax_tree//lib/syntax_tree/node.rb#12361
+ # source://syntax_tree//lib/syntax_tree/node.rb#12345
def comments; end
- # source://syntax_tree//lib/syntax_tree/node.rb#12376
+ # source://syntax_tree//lib/syntax_tree/node.rb#12360
def copy(location: T.unsafe(nil)); end
- # source://syntax_tree//lib/syntax_tree/node.rb#12372
+ # source://syntax_tree//lib/syntax_tree/node.rb#12356
def deconstruct; end
- # source://syntax_tree//lib/syntax_tree/node.rb#12385
+ # source://syntax_tree//lib/syntax_tree/node.rb#12369
def deconstruct_keys(_keys); end
- # source://syntax_tree//lib/syntax_tree/node.rb#12389
+ # source://syntax_tree//lib/syntax_tree/node.rb#12373
def format(q); end
end
diff --git a/sorbet/rbi/gems/tapioca@0.11.6.rbi b/sorbet/rbi/gems/tapioca@0.12.0.rbi
similarity index 80%
rename from sorbet/rbi/gems/tapioca@0.11.6.rbi
rename to sorbet/rbi/gems/tapioca@0.12.0.rbi
index ad846fef4..0d6767538 100644
--- a/sorbet/rbi/gems/tapioca@0.11.6.rbi
+++ b/sorbet/rbi/gems/tapioca@0.12.0.rbi
@@ -1,11 +1,30 @@
-# typed: false
+# typed: true
# DO NOT EDIT MANUALLY
# This is an autogenerated file for types exported from the `tapioca` gem.
# Please instead update this file by running `bin/tapioca gem tapioca`.
class Bundler::Dependency < ::Gem::Dependency
- include ::Tapioca::Gemfile::AutoRequireHook
+ include ::Tapioca::BundlerExt::AutoRequireHook
+end
+
+# source://tapioca//lib/tapioca/helpers/git_attributes.rb#4
+class GitAttributes
+ class << self
+ # source://tapioca//lib/tapioca/helpers/git_attributes.rb#9
+ sig { params(path: ::Pathname).void }
+ def create_generated_attribute_file(path); end
+
+ # source://tapioca//lib/tapioca/helpers/git_attributes.rb#16
+ sig { params(path: ::Pathname).void }
+ def create_vendored_attribute_file(path); end
+
+ private
+
+ # source://tapioca//lib/tapioca/helpers/git_attributes.rb#25
+ sig { params(path: ::Pathname, content: ::String).void }
+ def create_gitattributes_file(path, content); end
+ end
end
# We need to do the alias-method-chain dance since Bootsnap does the same,
@@ -35,7 +54,7 @@ module RBI; end
# source://tapioca//lib/tapioca/rbi_ext/model.rb#5
class RBI::Tree < ::RBI::NodeWithComments
- # source://rbi/0.0.16/lib/rbi/model.rb#115
+ # source://rbi/0.1.9/lib/rbi/model.rb#119
sig do
params(
loc: T.nilable(::RBI::Loc),
@@ -45,19 +64,19 @@ class RBI::Tree < ::RBI::NodeWithComments
end
def initialize(loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end
- # source://rbi/0.0.16/lib/rbi/model.rb#122
+ # source://rbi/0.1.9/lib/rbi/model.rb#126
sig { params(node: ::RBI::Node).void }
def <<(node); end
- # source://rbi/0.0.16/lib/rbi/printer.rb#224
+ # source://rbi/0.1.9/lib/rbi/printer.rb#226
sig { override.params(v: ::RBI::Printer).void }
def accept_printer(v); end
- # source://rbi/0.0.16/lib/rbi/rewriters/add_sig_templates.rb#66
+ # source://rbi/0.1.9/lib/rbi/rewriters/add_sig_templates.rb#66
sig { params(with_todo_comment: T::Boolean).void }
def add_sig_templates!(with_todo_comment: T.unsafe(nil)); end
- # source://rbi/0.0.16/lib/rbi/rewriters/annotate.rb#48
+ # source://rbi/0.1.9/lib/rbi/rewriters/annotate.rb#49
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
@@ -121,23 +140,27 @@ class RBI::Tree < ::RBI::NodeWithComments
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/0.0.16/lib/rbi/rewriters/deannotate.rb#40
+ # source://rbi/0.1.9/lib/rbi/rewriters/deannotate.rb#41
sig { params(annotation: ::String).void }
def deannotate!(annotation); end
- # source://rbi/0.0.16/lib/rbi/model.rb#128
+ # source://rbi/0.1.9/lib/rbi/model.rb#132
sig { returns(T::Boolean) }
def empty?; end
- # source://rbi/0.0.16/lib/rbi/rewriters/group_nodes.rb#38
+ # source://rbi/0.1.9/lib/rbi/rewriters/filter_versions.rb#118
+ sig { params(version: ::Gem::Version).void }
+ def filter_versions!(version); end
+
+ # source://rbi/0.1.9/lib/rbi/rewriters/group_nodes.rb#38
sig { void }
def group_nodes!; end
- # source://rbi/0.0.16/lib/rbi/index.rb#64
+ # source://rbi/0.1.9/lib/rbi/index.rb#68
sig { returns(::RBI::Index) }
def index; end
- # source://rbi/0.0.16/lib/rbi/rewriters/merge_trees.rb#318
+ # source://rbi/0.1.9/lib/rbi/rewriters/merge_trees.rb#324
sig do
params(
other: ::RBI::Tree,
@@ -148,23 +171,23 @@ class RBI::Tree < ::RBI::NodeWithComments
end
def merge(other, left_name: T.unsafe(nil), right_name: T.unsafe(nil), keep: T.unsafe(nil)); end
- # source://rbi/0.0.16/lib/rbi/rewriters/nest_non_public_methods.rb#45
+ # source://rbi/0.1.9/lib/rbi/rewriters/nest_non_public_methods.rb#46
sig { void }
def nest_non_public_methods!; end
- # source://rbi/0.0.16/lib/rbi/rewriters/nest_singleton_methods.rb#35
+ # source://rbi/0.1.9/lib/rbi/rewriters/nest_singleton_methods.rb#36
sig { void }
def nest_singleton_methods!; end
- # source://rbi/0.0.16/lib/rbi/model.rb#106
+ # source://rbi/0.1.9/lib/rbi/model.rb#110
sig { returns(T::Array[::RBI::Node]) }
def nodes; end
- # source://rbi/0.0.16/lib/rbi/printer.rb#231
+ # source://rbi/0.1.9/lib/rbi/printer.rb#233
sig { override.returns(T::Boolean) }
def oneline?; end
- # source://rbi/0.0.16/lib/rbi/rewriters/sort_nodes.rb#107
+ # source://rbi/0.1.9/lib/rbi/rewriters/sort_nodes.rb#119
sig { void }
def sort_nodes!; end
@@ -185,21 +208,26 @@ class RBI::TypedParam < ::T::Struct
const :type, ::String
class << self
- # source://sorbet-runtime/0.5.10875/lib/types/struct.rb#13
+ # source://sorbet-runtime/0.5.11262/lib/types/struct.rb#13
def inherited(s); end
end
end
# source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#5
module T::Generic
+ include ::Kernel
+
# source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#13
def [](*types); end
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#47
+ def has_attached_class!(variance = T.unsafe(nil), &bounds_proc); end
+
# source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#21
- def type_member(variance = T.unsafe(nil), fixed: T.unsafe(nil), lower: T.unsafe(nil), upper: T.unsafe(nil), &bounds_proc); end
+ def type_member(variance = T.unsafe(nil), &bounds_proc); end
- # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#37
- def type_template(variance = T.unsafe(nil), fixed: T.unsafe(nil), lower: T.unsafe(nil), upper: T.unsafe(nil), &bounds_proc); end
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#34
+ def type_template(variance = T.unsafe(nil), &bounds_proc); end
end
# This module intercepts calls to generic type instantiations and type variable definitions.
@@ -214,11 +242,14 @@ module T::Generic::TypeStoragePatch
# source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#13
def [](*types); end
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#47
+ def has_attached_class!(variance = T.unsafe(nil), &bounds_proc); end
+
# source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#21
- def type_member(variance = T.unsafe(nil), fixed: T.unsafe(nil), lower: T.unsafe(nil), upper: T.unsafe(nil), &bounds_proc); end
+ def type_member(variance = T.unsafe(nil), &bounds_proc); end
- # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#37
- def type_template(variance = T.unsafe(nil), fixed: T.unsafe(nil), lower: T.unsafe(nil), upper: T.unsafe(nil), &bounds_proc); end
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#34
+ def type_template(variance = T.unsafe(nil), &bounds_proc); end
end
# source://tapioca//lib/tapioca/sorbet_ext/proc_bind_patch.rb#28
@@ -302,18 +333,18 @@ end
# source://tapioca//lib/tapioca/sorbet_ext/name_patch.rb#6
class T::Types::Simple < ::T::Types::Base
- # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#64
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#70
def name; end
end
-# source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#59
+# source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#65
module T::Types::Simple::GenericPatch
# This method intercepts calls to the `name` method for simple types, so that
# it can ask the name to the type if the type is generic, since, by this point,
# we've created a clone of that type with the `name` method returning the
# appropriate name for that specific concrete type.
#
- # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#64
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#70
def name; end
end
@@ -329,17 +360,17 @@ end
# source://tapioca//lib/tapioca/sorbet_ext/name_patch.rb#8
T::Types::Simple::NamePatch::NAME_METHOD = T.let(T.unsafe(nil), UnboundMethod)
-# source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#84
+# source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#87
module T::Utils::Private
class << self
- # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#86
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#89
def coerce_and_check_module_types(val, check_val, check_module_type); end
end
end
-# source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#85
+# source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#88
module T::Utils::Private::PrivateCoercePatch
- # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#86
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#89
def coerce_and_check_module_types(val, check_val, check_module_type); end
end
@@ -360,6 +391,43 @@ end
# source://tapioca//lib/tapioca.rb#37
Tapioca::BINARY_FILE = T.let(T.unsafe(nil), String)
+# source://tapioca//lib/tapioca/bundler_ext/auto_require_hook.rb#5
+module Tapioca::BundlerExt; end
+
+# This is a module that gets prepended to `Bundler::Dependency` and
+# makes sure even gems marked as `require: false` are required during
+# `Bundler.require`.
+#
+# source://tapioca//lib/tapioca/bundler_ext/auto_require_hook.rb#9
+module Tapioca::BundlerExt::AutoRequireHook
+ requires_ancestor { Bundler::Dependency }
+
+ # source://tapioca//lib/tapioca/bundler_ext/auto_require_hook.rb#46
+ sig { returns(T.untyped) }
+ def autorequire; end
+
+ class << self
+ # @return [Boolean]
+ #
+ # source://tapioca//lib/tapioca/bundler_ext/auto_require_hook.rb#26
+ def enabled?; end
+
+ # source://tapioca//lib/tapioca/bundler_ext/auto_require_hook.rb#22
+ sig { params(name: T.untyped).returns(T::Boolean) }
+ def excluded?(name); end
+
+ # source://tapioca//lib/tapioca/bundler_ext/auto_require_hook.rb#36
+ sig do
+ type_parameters(:Result)
+ .params(
+ exclude: T::Array[::String],
+ blk: T.proc.returns(T.type_parameter(:Result))
+ ).returns(T.type_parameter(:Result))
+ end
+ def override_require_false(exclude:, &blk); end
+ end
+end
+
# source://tapioca//lib/tapioca.rb#60
Tapioca::CENTRAL_REPO_ANNOTATIONS_DIR = T.let(T.unsafe(nil), String)
@@ -375,40 +443,42 @@ class Tapioca::Cli < ::Thor
include ::Tapioca::ConfigHelper
include ::Tapioca::EnvHelper
- # source://tapioca//lib/tapioca/cli.rb#336
+ # source://tapioca//lib/tapioca/cli.rb#355
def __print_version; end
- # source://tapioca//lib/tapioca/cli.rb#316
+ # source://tapioca//lib/tapioca/cli.rb#337
def annotations; end
- # source://tapioca//lib/tapioca/cli.rb#286
+ # source://tapioca//lib/tapioca/cli.rb#309
def check_shims; end
- # source://tapioca//lib/tapioca/cli.rb#41
+ # source://tapioca//lib/tapioca/cli.rb#46
def configure; end
- # source://tapioca//lib/tapioca/cli.rb#133
+ # source://tapioca//lib/tapioca/cli.rb#138
def dsl(*constant_or_paths); end
- # source://tapioca//lib/tapioca/cli.rb#238
+ # @raise [MalformattedArgumentError]
+ #
+ # source://tapioca//lib/tapioca/cli.rb#253
def gem(*gems); end
# source://tapioca//lib/tapioca/cli.rb#27
def init; end
- # source://tapioca//lib/tapioca/cli.rb#52
+ # source://tapioca//lib/tapioca/cli.rb#57
def require; end
- # source://tapioca//lib/tapioca/cli.rb#71
+ # source://tapioca//lib/tapioca/cli.rb#74
def todo; end
private
- # source://tapioca//lib/tapioca/cli.rb#350
+ # source://tapioca//lib/tapioca/cli.rb#369
def print_init_next_steps; end
class << self
- # source://tapioca//lib/tapioca/cli.rb#342
+ # source://tapioca//lib/tapioca/cli.rb#361
def exit_on_failure?; end
end
end
@@ -436,6 +506,239 @@ end
# source://tapioca//lib/tapioca/commands.rb#5
module Tapioca::Commands; end
+# @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
+#
+# source://tapioca//lib/tapioca/commands/abstract_dsl.rb#6
+class Tapioca::Commands::AbstractDsl < ::Tapioca::Commands::CommandWithoutTracker
+ include ::Tapioca::SorbetHelper
+ include ::Tapioca::RBIFilesHelper
+
+ abstract!
+
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#31
+ sig do
+ params(
+ requested_constants: T::Array[::String],
+ requested_paths: T::Array[::Pathname],
+ outpath: ::Pathname,
+ only: T::Array[::String],
+ exclude: T::Array[::String],
+ file_header: T::Boolean,
+ tapioca_path: ::String,
+ quiet: T::Boolean,
+ verbose: T::Boolean,
+ number_of_workers: T.nilable(::Integer),
+ auto_strictness: T::Boolean,
+ gem_dir: ::String,
+ rbi_formatter: ::Tapioca::RBIFormatter,
+ app_root: ::String,
+ halt_upon_load_error: T::Boolean
+ ).void
+ end
+ def initialize(requested_constants:, requested_paths:, outpath:, only:, exclude:, file_header:, tapioca_path:, quiet: T.unsafe(nil), verbose: T.unsafe(nil), number_of_workers: T.unsafe(nil), auto_strictness: T.unsafe(nil), gem_dir: T.unsafe(nil), rbi_formatter: T.unsafe(nil), app_root: T.unsafe(nil), halt_upon_load_error: T.unsafe(nil)); end
+
+ private
+
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#94
+ sig { returns(T::Array[::String]) }
+ def all_requested_constants; end
+
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#284
+ sig { params(cause: ::Symbol, files: T::Array[::String]).returns(::String) }
+ def build_error_for_files(cause, files); end
+
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#208
+ sig do
+ params(
+ constant_name: ::String,
+ rbi: ::RBI::File,
+ outpath: ::Pathname,
+ quiet: T::Boolean
+ ).returns(T.nilable(::Pathname))
+ end
+ def compile_dsl_rbi(constant_name, rbi, outpath: T.unsafe(nil), quiet: T.unsafe(nil)); end
+
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#146
+ sig { params(constant_names: T::Array[::String], ignore_missing: T::Boolean).returns(T::Array[::Module]) }
+ def constantize(constant_names, ignore_missing: T.unsafe(nil)); end
+
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#169
+ sig { params(compiler_names: T::Array[::String]).returns(T::Array[T.class_of(Tapioca::Dsl::Compiler)]) }
+ def constantize_compilers(compiler_names); end
+
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#344
+ sig { returns(T::Array[::String]) }
+ def constants_from_requested_paths; end
+
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#117
+ sig { returns(::Tapioca::Dsl::Pipeline) }
+ def create_pipeline; end
+
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#247
+ sig { params(constant_name: ::String).returns(::Pathname) }
+ def dsl_rbi_filename(constant_name); end
+
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#132
+ sig { params(requested_constants: T::Array[::String], path: ::Pathname).returns(T::Set[::Pathname]) }
+ def existing_rbi_filenames(requested_constants, path: T.unsafe(nil)); end
+
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#339
+ sig { params(constant: ::String).returns(::String) }
+ def generate_command_for(constant); end
+
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#70
+ sig { params(outpath: ::Pathname, quiet: T::Boolean).returns(T::Set[::Pathname]) }
+ def generate_dsl_rbi_files(outpath, quiet:); end
+
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#107
+ sig { void }
+ def load_application; end
+
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#226
+ sig { params(dir: ::Pathname).void }
+ def perform_dsl_verification(dir); end
+
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#102
+ sig { returns(::Tapioca::Dsl::Pipeline) }
+ def pipeline; end
+
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#235
+ sig { params(files: T::Set[::Pathname]).void }
+ def purge_stale_dsl_rbi_files(files); end
+
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#334
+ sig { params(constant: ::String).returns(::String) }
+ def rbi_filename_for(constant); end
+
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#315
+ sig { params(path: ::Pathname).returns(T::Array[::Pathname]) }
+ def rbi_files_in(path); end
+
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#293
+ sig { params(diff: T::Hash[::String, ::Symbol], command: ::Symbol).void }
+ def report_diff_and_exit_if_out_of_date(diff, command); end
+
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#188
+ sig { params(name: ::String).returns(T.nilable(T.class_of(Tapioca::Dsl::Compiler))) }
+ def resolve(name); end
+
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#322
+ sig { params(class_name: ::String).returns(::String) }
+ def underscore(class_name); end
+
+ # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#252
+ sig { params(tmp_dir: ::Pathname).returns(T::Hash[::String, ::Symbol]) }
+ def verify_dsl_rbi(tmp_dir:); end
+end
+
+# @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
+#
+# source://tapioca//lib/tapioca/commands/abstract_gem.rb#6
+class Tapioca::Commands::AbstractGem < ::Tapioca::Commands::Command
+ include ::Tapioca::SorbetHelper
+ include ::Tapioca::RBIFilesHelper
+
+ abstract!
+
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#32
+ sig do
+ params(
+ gem_names: T::Array[::String],
+ exclude: T::Array[::String],
+ include_dependencies: T::Boolean,
+ prerequire: T.nilable(::String),
+ postrequire: ::String,
+ typed_overrides: T::Hash[::String, ::String],
+ outpath: ::Pathname,
+ file_header: T::Boolean,
+ include_doc: T::Boolean,
+ include_loc: T::Boolean,
+ include_exported_rbis: T::Boolean,
+ number_of_workers: T.nilable(::Integer),
+ auto_strictness: T::Boolean,
+ dsl_dir: ::String,
+ rbi_formatter: ::Tapioca::RBIFormatter,
+ halt_upon_load_error: T::Boolean
+ ).void
+ end
+ def initialize(gem_names:, exclude:, include_dependencies:, prerequire:, postrequire:, typed_overrides:, outpath:, file_header:, include_doc:, include_loc:, include_exported_rbis:, number_of_workers: T.unsafe(nil), auto_strictness: T.unsafe(nil), dsl_dir: T.unsafe(nil), rbi_formatter: T.unsafe(nil), halt_upon_load_error: T.unsafe(nil)); end
+
+ private
+
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#221
+ sig { returns(T::Array[::String]) }
+ def added_rbis; end
+
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#282
+ sig { params(cause: ::Symbol, files: T::Array[::String]).returns(::String) }
+ def build_error_for_files(cause, files); end
+
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#110
+ sig { params(gem: ::Tapioca::Gemfile::GemSpec).void }
+ def compile_gem_rbi(gem); end
+
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#216
+ sig { params(gem_name: ::String).returns(::Pathname) }
+ def existing_rbi(gem_name); end
+
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#264
+ sig { returns(T::Hash[::String, ::String]) }
+ def existing_rbis; end
+
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#228
+ sig { params(gem_name: ::String).returns(::Pathname) }
+ def expected_rbi(gem_name); end
+
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#270
+ sig { returns(T::Hash[::String, ::String]) }
+ def expected_rbis; end
+
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#98
+ sig do
+ params(
+ gem: ::Tapioca::Gemfile::GemSpec,
+ dependencies: T::Array[::Tapioca::Gemfile::GemSpec]
+ ).returns(T::Array[::Tapioca::Gemfile::GemSpec])
+ end
+ def gem_dependencies(gem, dependencies = T.unsafe(nil)); end
+
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#233
+ sig { params(gem_name: ::String).returns(T::Boolean) }
+ def gem_rbi_exists?(gem_name); end
+
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#277
+ sig { params(gem_name: ::String, version: ::String).returns(::Pathname) }
+ def gem_rbi_filename(gem_name, version); end
+
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#77
+ sig { params(gem_names: T::Array[::String]).returns(T::Array[::Tapioca::Gemfile::GemSpec]) }
+ def gems_to_generate(gem_names); end
+
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#287
+ sig { params(gem: ::Tapioca::Gemfile::GemSpec, file: ::RBI::File).void }
+ def merge_with_exported_rbi(gem, file); end
+
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#258
+ sig { params(old_filename: ::Pathname, new_filename: ::Pathname).void }
+ def move(old_filename, new_filename); end
+
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#168
+ sig { void }
+ def perform_additions; end
+
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#141
+ sig { void }
+ def perform_removals; end
+
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#211
+ sig { returns(T::Array[::String]) }
+ def removed_rbis; end
+
+ # source://tapioca//lib/tapioca/commands/abstract_gem.rb#238
+ sig { params(diff: T::Hash[::String, ::Symbol], command: ::Symbol).void }
+ def report_diff_and_exit_if_out_of_date(diff, command); end
+end
+
# source://tapioca//lib/tapioca/commands/annotations.rb#6
class Tapioca::Commands::Annotations < ::Tapioca::Commands::CommandWithoutTracker
# source://tapioca//lib/tapioca/commands/annotations.rb#18
@@ -450,69 +753,69 @@ class Tapioca::Commands::Annotations < ::Tapioca::Commands::CommandWithoutTracke
end
def initialize(central_repo_root_uris:, auth: T.unsafe(nil), netrc_file: T.unsafe(nil), central_repo_index_path: T.unsafe(nil), typed_overrides: T.unsafe(nil)); end
- # source://tapioca//lib/tapioca/commands/annotations.rb#36
- sig { override.void }
- def execute; end
-
private
- # source://tapioca//lib/tapioca/commands/annotations.rb#191
+ # source://tapioca//lib/tapioca/commands/annotations.rb#193
sig { params(name: ::String, content: ::String).returns(::String) }
def add_header(name, content); end
- # source://tapioca//lib/tapioca/commands/annotations.rb#211
+ # source://tapioca//lib/tapioca/commands/annotations.rb#213
sig { params(name: ::String, content: ::String).returns(::String) }
def apply_typed_override(name, content); end
- # source://tapioca//lib/tapioca/commands/annotations.rb#132
+ # source://tapioca//lib/tapioca/commands/annotations.rb#39
+ sig { override.void }
+ def execute; end
+
+ # source://tapioca//lib/tapioca/commands/annotations.rb#136
sig { params(repo_uris: T::Array[::String], gem_name: ::String).void }
def fetch_annotation(repo_uris, gem_name); end
- # source://tapioca//lib/tapioca/commands/annotations.rb#109
+ # source://tapioca//lib/tapioca/commands/annotations.rb#113
sig { params(gem_names: T::Array[::String]).returns(T::Array[::String]) }
def fetch_annotations(gem_names); end
- # source://tapioca//lib/tapioca/commands/annotations.rb#150
+ # source://tapioca//lib/tapioca/commands/annotations.rb#152
sig { params(repo_uri: ::String, path: ::String).returns(T.nilable(::String)) }
def fetch_file(repo_uri, path); end
- # source://tapioca//lib/tapioca/commands/annotations.rb#167
+ # source://tapioca//lib/tapioca/commands/annotations.rb#169
sig { params(repo_uri: ::String, path: ::String).returns(T.nilable(::String)) }
def fetch_http_file(repo_uri, path); end
- # source://tapioca//lib/tapioca/commands/annotations.rb#98
+ # source://tapioca//lib/tapioca/commands/annotations.rb#102
sig { params(repo_uri: ::String, repo_number: T.nilable(::Integer)).returns(T.nilable(Tapioca::RepoIndex)) }
def fetch_index(repo_uri, repo_number:); end
- # source://tapioca//lib/tapioca/commands/annotations.rb#77
+ # source://tapioca//lib/tapioca/commands/annotations.rb#81
sig { returns(T::Hash[::String, Tapioca::RepoIndex]) }
def fetch_indexes; end
- # source://tapioca//lib/tapioca/commands/annotations.rb#159
+ # source://tapioca//lib/tapioca/commands/annotations.rb#161
sig { params(repo_uri: ::String, path: ::String).returns(T.nilable(::String)) }
def fetch_local_file(repo_uri, path); end
- # source://tapioca//lib/tapioca/commands/annotations.rb#46
+ # source://tapioca//lib/tapioca/commands/annotations.rb#50
sig { returns(T::Array[::String]) }
def list_gemfile_gems; end
- # source://tapioca//lib/tapioca/commands/annotations.rb#223
+ # source://tapioca//lib/tapioca/commands/annotations.rb#225
sig { params(gem_name: ::String, contents: T::Array[::String]).returns(T.nilable(::String)) }
def merge_files(gem_name, contents); end
- # source://tapioca//lib/tapioca/commands/annotations.rb#56
+ # source://tapioca//lib/tapioca/commands/annotations.rb#60
sig { params(project_gems: T::Array[::String]).void }
def remove_expired_annotations(project_gems); end
- # source://tapioca//lib/tapioca/commands/annotations.rb#250
+ # source://tapioca//lib/tapioca/commands/annotations.rb#252
sig { returns(T::Hash[::String, T.nilable(::String)]) }
def repo_tokens; end
- # source://tapioca//lib/tapioca/commands/annotations.rb#278
+ # source://tapioca//lib/tapioca/commands/annotations.rb#280
sig { params(path: ::String, repo_uri: ::String, message: ::String).void }
def say_http_error(path, repo_uri, message:); end
- # source://tapioca//lib/tapioca/commands/annotations.rb#262
+ # source://tapioca//lib/tapioca/commands/annotations.rb#264
sig { params(repo_uri: ::String).returns(T.nilable(::String)) }
def token_for(repo_uri); end
end
@@ -536,7 +839,9 @@ class Tapioca::Commands::CheckShims < ::Tapioca::Commands::CommandWithoutTracker
end
def initialize(gem_rbi_dir:, dsl_rbi_dir:, annotations_rbi_dir:, shim_rbi_dir:, todo_rbi_file:, payload:, number_of_workers:); end
- # source://tapioca//lib/tapioca/commands/check_shims.rb#42
+ private
+
+ # source://tapioca//lib/tapioca/commands/check_shims.rb#44
sig { override.void }
def execute; end
end
@@ -558,19 +863,17 @@ class Tapioca::Commands::Command
sig { void }
def initialize; end
- # @abstract
- #
- # source://tapioca//lib/tapioca/commands/command.rb#25
- sig { abstract.void }
- def execute; end
-
- # source://thor/1.2.2/lib/thor/base.rb#139
+ # source://thor/1.3.0/lib/thor/base.rb#155
sig { returns(::Thor::Actions) }
def file_writer; end
+ # source://tapioca//lib/tapioca/commands/command.rb#25
+ sig(:final) { void }
+ def run; end
+
private
- # source://tapioca//lib/tapioca/commands/command.rb#46
+ # source://tapioca//lib/tapioca/commands/command.rb#53
sig do
params(
path: T.any(::Pathname, ::String),
@@ -582,295 +885,131 @@ class Tapioca::Commands::Command
end
def create_file(path, content, force: T.unsafe(nil), skip: T.unsafe(nil), verbose: T.unsafe(nil)); end
- # source://tapioca//lib/tapioca/commands/command.rb#30
+ # source://tapioca//lib/tapioca/commands/command.rb#37
sig { params(command: ::Symbol, args: ::String).returns(::String) }
def default_command(command, *args); end
- # source://tapioca//lib/tapioca/commands/command.rb#56
- sig { params(path: T.any(::Pathname, ::String), verbose: T::Boolean).void }
- def remove_file(path, verbose: T.unsafe(nil)); end
-
- class << self
- # source://sorbet-runtime/0.5.10875/lib/types/private/abstract/declare.rb#37
- def new(*args, **_arg1, &blk); end
- end
-end
-
-# source://tapioca//lib/tapioca/commands/command.rb#10
-class Tapioca::Commands::Command::FileWriter < ::Thor
- include ::Thor::Actions
- extend ::Thor::Actions::ClassMethods
-end
-
-# @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
-#
-# source://tapioca//lib/tapioca/commands/command_without_tracker.rb#6
-class Tapioca::Commands::CommandWithoutTracker < ::Tapioca::Commands::Command
- abstract!
-
- # source://tapioca//lib/tapioca/commands/command_without_tracker.rb#12
- sig { void }
- def initialize; end
-
- class << self
- # source://sorbet-runtime/0.5.10875/lib/types/private/abstract/declare.rb#37
- def new(*args, **_arg1, &blk); end
- end
-end
-
-# source://tapioca//lib/tapioca/commands/configure.rb#6
-class Tapioca::Commands::Configure < ::Tapioca::Commands::CommandWithoutTracker
- # source://tapioca//lib/tapioca/commands/configure.rb#14
- sig { params(sorbet_config: ::String, tapioca_config: ::String, default_postrequire: ::String).void }
- def initialize(sorbet_config:, tapioca_config:, default_postrequire:); end
-
- # source://tapioca//lib/tapioca/commands/configure.rb#30
- sig { override.void }
- def execute; end
-
- private
-
- # source://tapioca//lib/tapioca/commands/configure.rb#79
- sig { void }
- def create_binstub; end
-
- # source://tapioca//lib/tapioca/commands/configure.rb#69
- sig { void }
- def create_post_require; end
-
- # source://tapioca//lib/tapioca/commands/configure.rb#40
- sig { void }
- def create_sorbet_config; end
-
- # source://tapioca//lib/tapioca/commands/configure.rb#50
- sig { void }
- def create_tapioca_config; end
-
- # source://tapioca//lib/tapioca/commands/configure.rb#92
- sig { returns(::Bundler::Installer) }
- def installer; end
-
- # source://tapioca//lib/tapioca/commands/configure.rb#97
- sig { returns(T.any(::Bundler::StubSpecification, ::Gem::Specification)) }
- def spec; end
-end
-
-# source://tapioca//lib/tapioca/commands/dsl.rb#6
-class Tapioca::Commands::Dsl < ::Tapioca::Commands::CommandWithoutTracker
- include ::Tapioca::SorbetHelper
- include ::Tapioca::RBIFilesHelper
-
- # source://tapioca//lib/tapioca/commands/dsl.rb#29
- sig do
- params(
- requested_constants: T::Array[::String],
- requested_paths: T::Array[::Pathname],
- outpath: ::Pathname,
- only: T::Array[::String],
- exclude: T::Array[::String],
- file_header: T::Boolean,
- tapioca_path: ::String,
- should_verify: T::Boolean,
- quiet: T::Boolean,
- verbose: T::Boolean,
- number_of_workers: T.nilable(::Integer),
- auto_strictness: T::Boolean,
- gem_dir: ::String,
- rbi_formatter: ::Tapioca::RBIFormatter,
- app_root: ::String
- ).void
- end
- def initialize(requested_constants:, requested_paths:, outpath:, only:, exclude:, file_header:, tapioca_path:, should_verify: T.unsafe(nil), quiet: T.unsafe(nil), verbose: T.unsafe(nil), number_of_workers: T.unsafe(nil), auto_strictness: T.unsafe(nil), gem_dir: T.unsafe(nil), rbi_formatter: T.unsafe(nil), app_root: T.unsafe(nil)); end
-
- # source://tapioca//lib/tapioca/commands/dsl.rb#93
- sig { override.void }
+ # @abstract
+ #
+ # source://tapioca//lib/tapioca/commands/command.rb#34
+ sig { abstract.void }
def execute; end
- # source://tapioca//lib/tapioca/commands/dsl.rb#66
- sig { void }
- def list_compilers; end
-
- private
-
- # source://tapioca//lib/tapioca/commands/dsl.rb#325
- sig { params(cause: ::Symbol, files: T::Array[::String]).returns(::String) }
- def build_error_for_files(cause, files); end
-
- # source://tapioca//lib/tapioca/commands/dsl.rb#249
- sig do
- params(
- constant_name: ::String,
- rbi: ::RBI::File,
- outpath: ::Pathname,
- quiet: T::Boolean
- ).returns(T.nilable(::Pathname))
- end
- def compile_dsl_rbi(constant_name, rbi, outpath: T.unsafe(nil), quiet: T.unsafe(nil)); end
-
- # source://tapioca//lib/tapioca/commands/dsl.rb#187
- sig { params(constant_names: T::Array[::String], ignore_missing: T::Boolean).returns(T::Array[::Module]) }
- def constantize(constant_names, ignore_missing: T.unsafe(nil)); end
-
- # source://tapioca//lib/tapioca/commands/dsl.rb#210
- sig { params(compiler_names: T::Array[::String]).returns(T::Array[T.class_of(Tapioca::Dsl::Compiler)]) }
- def constantize_compilers(compiler_names); end
-
- # source://tapioca//lib/tapioca/commands/dsl.rb#385
- sig { returns(T::Array[::String]) }
- def constants_from_requested_paths; end
-
- # source://tapioca//lib/tapioca/commands/dsl.rb#158
- sig { returns(::Tapioca::Dsl::Pipeline) }
- def create_pipeline; end
-
- # source://tapioca//lib/tapioca/commands/dsl.rb#288
- sig { params(constant_name: ::String).returns(::Pathname) }
- def dsl_rbi_filename(constant_name); end
-
- # source://tapioca//lib/tapioca/commands/dsl.rb#173
- sig { params(requested_constants: T::Array[::String], path: ::Pathname).returns(T::Set[::Pathname]) }
- def existing_rbi_filenames(requested_constants, path: T.unsafe(nil)); end
-
- # source://tapioca//lib/tapioca/commands/dsl.rb#380
- sig { params(constant: ::String).returns(::String) }
- def generate_command_for(constant); end
-
- # source://tapioca//lib/tapioca/commands/dsl.rb#267
- sig { params(dir: ::Pathname).void }
- def perform_dsl_verification(dir); end
+ # source://tapioca//lib/tapioca/commands/command.rb#63
+ sig { params(path: T.any(::Pathname, ::String), verbose: T::Boolean).void }
+ def remove_file(path, verbose: T.unsafe(nil)); end
+end
- # source://tapioca//lib/tapioca/commands/dsl.rb#276
- sig { params(files: T::Set[::Pathname]).void }
- def purge_stale_dsl_rbi_files(files); end
+# source://tapioca//lib/tapioca/commands/command.rb#10
+class Tapioca::Commands::Command::FileWriter < ::Thor
+ include ::Thor::Actions
+ extend ::Thor::Actions::ClassMethods
+end
- # source://tapioca//lib/tapioca/commands/dsl.rb#375
- sig { params(constant: ::String).returns(::String) }
- def rbi_filename_for(constant); end
+# @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
+#
+# source://tapioca//lib/tapioca/commands/command_without_tracker.rb#6
+class Tapioca::Commands::CommandWithoutTracker < ::Tapioca::Commands::Command
+ abstract!
- # source://tapioca//lib/tapioca/commands/dsl.rb#356
- sig { params(path: ::Pathname).returns(T::Array[::Pathname]) }
- def rbi_files_in(path); end
+ # source://tapioca//lib/tapioca/commands/command_without_tracker.rb#12
+ sig { void }
+ def initialize; end
+end
- # source://tapioca//lib/tapioca/commands/dsl.rb#334
- sig { params(diff: T::Hash[::String, ::Symbol], command: ::Symbol).void }
- def report_diff_and_exit_if_out_of_date(diff, command); end
+# source://tapioca//lib/tapioca/commands/configure.rb#6
+class Tapioca::Commands::Configure < ::Tapioca::Commands::CommandWithoutTracker
+ # source://tapioca//lib/tapioca/commands/configure.rb#14
+ sig { params(sorbet_config: ::String, tapioca_config: ::String, default_postrequire: ::String).void }
+ def initialize(sorbet_config:, tapioca_config:, default_postrequire:); end
- # source://tapioca//lib/tapioca/commands/dsl.rb#229
- sig { params(name: ::String).returns(T.nilable(T.class_of(Tapioca::Dsl::Compiler))) }
- def resolve(name); end
+ private
- # source://tapioca//lib/tapioca/commands/dsl.rb#363
- sig { params(class_name: ::String).returns(::String) }
- def underscore(class_name); end
+ # source://tapioca//lib/tapioca/commands/configure.rb#79
+ sig { void }
+ def create_binstub; end
- # source://tapioca//lib/tapioca/commands/dsl.rb#293
- sig { params(tmp_dir: ::Pathname).returns(T::Hash[::String, ::Symbol]) }
- def verify_dsl_rbi(tmp_dir:); end
-end
+ # source://tapioca//lib/tapioca/commands/configure.rb#69
+ sig { void }
+ def create_post_require; end
-# source://tapioca//lib/tapioca/commands/gem.rb#6
-class Tapioca::Commands::Gem < ::Tapioca::Commands::Command
- include ::Tapioca::SorbetHelper
- include ::Tapioca::RBIFilesHelper
+ # source://tapioca//lib/tapioca/commands/configure.rb#40
+ sig { void }
+ def create_sorbet_config; end
- # source://tapioca//lib/tapioca/commands/gem.rb#28
- sig do
- params(
- gem_names: T::Array[::String],
- exclude: T::Array[::String],
- prerequire: T.nilable(::String),
- postrequire: ::String,
- typed_overrides: T::Hash[::String, ::String],
- outpath: ::Pathname,
- file_header: T::Boolean,
- include_doc: T::Boolean,
- include_loc: T::Boolean,
- include_exported_rbis: T::Boolean,
- number_of_workers: T.nilable(::Integer),
- auto_strictness: T::Boolean,
- dsl_dir: ::String,
- rbi_formatter: ::Tapioca::RBIFormatter
- ).void
- end
- def initialize(gem_names:, exclude:, prerequire:, postrequire:, typed_overrides:, outpath:, file_header:, include_doc:, include_loc:, include_exported_rbis:, number_of_workers: T.unsafe(nil), auto_strictness: T.unsafe(nil), dsl_dir: T.unsafe(nil), rbi_formatter: T.unsafe(nil)); end
+ # source://tapioca//lib/tapioca/commands/configure.rb#50
+ sig { void }
+ def create_tapioca_config; end
- # source://tapioca//lib/tapioca/commands/gem.rb#67
+ # source://tapioca//lib/tapioca/commands/configure.rb#32
sig { override.void }
def execute; end
- # source://tapioca//lib/tapioca/commands/gem.rb#105
- sig { params(should_verify: T::Boolean, exclude: T::Array[::String]).void }
- def sync(should_verify: T.unsafe(nil), exclude: T.unsafe(nil)); end
-
- private
+ # source://tapioca//lib/tapioca/commands/configure.rb#92
+ sig { returns(::Bundler::Installer) }
+ def installer; end
- # source://tapioca//lib/tapioca/commands/gem.rb#283
- sig { returns(T::Array[::String]) }
- def added_rbis; end
+ # source://tapioca//lib/tapioca/commands/configure.rb#97
+ sig { returns(T.any(::Bundler::StubSpecification, ::Gem::Specification)) }
+ def spec; end
+end
- # source://tapioca//lib/tapioca/commands/gem.rb#344
- sig { params(cause: ::Symbol, files: T::Array[::String]).returns(::String) }
- def build_error_for_files(cause, files); end
+# source://tapioca//lib/tapioca/commands/dsl_compiler_list.rb#6
+class Tapioca::Commands::DslCompilerList < ::Tapioca::Commands::AbstractDsl
+ private
- # source://tapioca//lib/tapioca/commands/gem.rb#154
- sig { params(gem: ::Tapioca::Gemfile::GemSpec).void }
- def compile_gem_rbi(gem); end
+ # source://tapioca//lib/tapioca/commands/dsl_compiler_list.rb#10
+ sig { override.void }
+ def execute; end
+end
- # source://tapioca//lib/tapioca/commands/gem.rb#278
- sig { params(gem_name: ::String).returns(::Pathname) }
- def existing_rbi(gem_name); end
+# source://tapioca//lib/tapioca/commands/dsl_generate.rb#6
+class Tapioca::Commands::DslGenerate < ::Tapioca::Commands::AbstractDsl
+ private
- # source://tapioca//lib/tapioca/commands/gem.rb#326
- sig { returns(T::Hash[::String, ::String]) }
- def existing_rbis; end
+ # source://tapioca//lib/tapioca/commands/dsl_generate.rb#10
+ sig { override.void }
+ def execute; end
+end
- # source://tapioca//lib/tapioca/commands/gem.rb#290
- sig { params(gem_name: ::String).returns(::Pathname) }
- def expected_rbi(gem_name); end
+# source://tapioca//lib/tapioca/commands/dsl_verify.rb#6
+class Tapioca::Commands::DslVerify < ::Tapioca::Commands::AbstractDsl
+ private
- # source://tapioca//lib/tapioca/commands/gem.rb#332
- sig { returns(T::Hash[::String, ::String]) }
- def expected_rbis; end
+ # source://tapioca//lib/tapioca/commands/dsl_verify.rb#10
+ sig { override.void }
+ def execute; end
+end
- # source://tapioca//lib/tapioca/commands/gem.rb#295
- sig { params(gem_name: ::String).returns(T::Boolean) }
- def gem_rbi_exists?(gem_name); end
+# source://tapioca//lib/tapioca/commands/gem_generate.rb#6
+class Tapioca::Commands::GemGenerate < ::Tapioca::Commands::AbstractGem
+ private
- # source://tapioca//lib/tapioca/commands/gem.rb#339
- sig { params(gem_name: ::String, version: ::String).returns(::Pathname) }
- def gem_rbi_filename(gem_name, version); end
+ # source://tapioca//lib/tapioca/commands/gem_generate.rb#10
+ sig { override.void }
+ def execute; end
+end
- # source://tapioca//lib/tapioca/commands/gem.rb#139
- sig { params(gem_names: T::Array[::String]).returns(T::Array[::Tapioca::Gemfile::GemSpec]) }
- def gems_to_generate(gem_names); end
+# source://tapioca//lib/tapioca/commands/gem_sync.rb#6
+class Tapioca::Commands::GemSync < ::Tapioca::Commands::AbstractGem
+ private
- # source://tapioca//lib/tapioca/commands/gem.rb#349
- sig { params(gem: ::Tapioca::Gemfile::GemSpec, file: ::RBI::File).void }
- def merge_with_exported_rbi(gem, file); end
+ # source://tapioca//lib/tapioca/commands/gem_sync.rb#10
+ sig { override.void }
+ def execute; end
+end
- # source://tapioca//lib/tapioca/commands/gem.rb#320
- sig { params(old_filename: ::Pathname, new_filename: ::Pathname).void }
- def move(old_filename, new_filename); end
+# source://tapioca//lib/tapioca/commands/gem_verify.rb#6
+class Tapioca::Commands::GemVerify < ::Tapioca::Commands::AbstractGem
+ private
- # source://tapioca//lib/tapioca/commands/gem.rb#231
- sig { void }
- def perform_additions; end
+ # source://tapioca//lib/tapioca/commands/gem_verify.rb#10
+ sig { override.void }
+ def execute; end
- # source://tapioca//lib/tapioca/commands/gem.rb#204
+ # source://tapioca//lib/tapioca/commands/gem_verify.rb#17
sig { void }
- def perform_removals; end
-
- # source://tapioca//lib/tapioca/commands/gem.rb#185
- sig { params(exclude: T::Array[::String]).void }
- def perform_sync_verification(exclude: T.unsafe(nil)); end
-
- # source://tapioca//lib/tapioca/commands/gem.rb#273
- sig { returns(T::Array[::String]) }
- def removed_rbis; end
-
- # source://tapioca//lib/tapioca/commands/gem.rb#300
- sig { params(diff: T::Hash[::String, ::Symbol], command: ::Symbol).void }
- def report_diff_and_exit_if_out_of_date(diff, command); end
+ def perform_sync_verification; end
end
# source://tapioca//lib/tapioca/commands/require.rb#6
@@ -879,7 +1018,9 @@ class Tapioca::Commands::Require < ::Tapioca::Commands::CommandWithoutTracker
sig { params(requires_path: ::String, sorbet_config_path: ::String).void }
def initialize(requires_path:, sorbet_config_path:); end
- # source://tapioca//lib/tapioca/commands/require.rb#21
+ private
+
+ # source://tapioca//lib/tapioca/commands/require.rb#23
sig { override.void }
def execute; end
end
@@ -888,25 +1029,32 @@ end
class Tapioca::Commands::Todo < ::Tapioca::Commands::CommandWithoutTracker
include ::Tapioca::SorbetHelper
- # source://tapioca//lib/tapioca/commands/todo.rb#15
+ # source://tapioca//lib/tapioca/commands/todo.rb#26
sig { params(todo_file: ::String, file_header: T::Boolean).void }
def initialize(todo_file:, file_header:); end
- # source://tapioca//lib/tapioca/commands/todo.rb#23
- sig { override.void }
- def execute; end
+ # source://tapioca//lib/tapioca/commands/todo.rb#34
+ sig { void }
+ def run_with_deprecation; end
private
- # source://tapioca//lib/tapioca/commands/todo.rb#49
+ # source://tapioca//lib/tapioca/commands/todo.rb#44
+ sig { override.void }
+ def execute; end
+
+ # source://tapioca//lib/tapioca/commands/todo.rb#68
sig { params(constants: T::Array[::String], command: ::String).returns(::RBI::File) }
def rbi(constants, command:); end
- # source://tapioca//lib/tapioca/commands/todo.rb#69
+ # source://tapioca//lib/tapioca/commands/todo.rb#88
sig { returns(T::Array[::String]) }
def unresolved_constants; end
end
+# source://tapioca//lib/tapioca/commands/todo.rb#9
+Tapioca::Commands::Todo::DEPRECATION_MESSAGE = T.let(T.unsafe(nil), String)
+
# source://tapioca//lib/tapioca/helpers/config_helper.rb#5
module Tapioca::ConfigHelper
requires_ancestor { Thor }
@@ -977,7 +1125,7 @@ class Tapioca::ConfigHelper::ConfigError < ::T::Struct
const :message_parts, T::Array[::Tapioca::ConfigHelper::ConfigErrorMessagePart]
class << self
- # source://sorbet-runtime/0.5.10875/lib/types/struct.rb#13
+ # source://sorbet-runtime/0.5.11262/lib/types/struct.rb#13
def inherited(s); end
end
end
@@ -988,7 +1136,7 @@ class Tapioca::ConfigHelper::ConfigErrorMessagePart < ::T::Struct
const :colors, T::Array[::Symbol]
class << self
- # source://sorbet-runtime/0.5.10875/lib/types/struct.rb#13
+ # source://sorbet-runtime/0.5.11262/lib/types/struct.rb#13
def inherited(s); end
end
end
@@ -1045,17 +1193,17 @@ class Tapioca::Dsl::Compiler
ConstantType = type_member { { upper: Module } }
- # source://tapioca//lib/tapioca/dsl/compiler.rb#60
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#64
sig { params(pipeline: ::Tapioca::Dsl::Pipeline, root: ::RBI::Tree, constant: ConstantType).void }
def initialize(pipeline, root, constant); end
# NOTE: This should eventually accept an `Error` object or `Exception` rather than simply a `String`.
#
- # source://tapioca//lib/tapioca/dsl/compiler.rb#77
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#81
sig { params(error: ::String).void }
def add_error(error); end
- # source://tapioca//lib/tapioca/dsl/compiler.rb#68
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#72
sig { params(compiler_name: ::String).returns(T::Boolean) }
def compiler_enabled?(compiler_name); end
@@ -1065,7 +1213,7 @@ class Tapioca::Dsl::Compiler
# @abstract
#
- # source://tapioca//lib/tapioca/dsl/compiler.rb#73
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#77
sig { abstract.void }
def decorate; end
@@ -1075,21 +1223,21 @@ class Tapioca::Dsl::Compiler
private
- # source://tapioca//lib/tapioca/dsl/compiler.rb#126
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#130
sig { params(method_def: T.any(::Method, ::UnboundMethod)).returns(T::Array[::RBI::TypedParam]) }
def compile_method_parameters_to_rbi(method_def); end
- # source://tapioca//lib/tapioca/dsl/compiler.rb#162
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#166
sig { params(method_def: T.any(::Method, ::UnboundMethod)).returns(::String) }
def compile_method_return_type_to_rbi(method_def); end
- # source://tapioca//lib/tapioca/dsl/compiler.rb#116
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#120
sig { params(scope: ::RBI::Scope, method_def: T.any(::Method, ::UnboundMethod), class_method: T::Boolean).void }
def create_method_from_def(scope, method_def, class_method: T.unsafe(nil)); end
# Get the types of each parameter from a method signature
#
- # source://tapioca//lib/tapioca/dsl/compiler.rb#90
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#94
sig { params(method_def: T.any(::Method, ::UnboundMethod), signature: T.untyped).returns(T::Array[::String]) }
def parameters_types_from_signature(method_def, signature); end
@@ -1104,9 +1252,6 @@ class Tapioca::Dsl::Compiler
sig { params(constant: ::Module).returns(T::Boolean) }
def handles?(constant); end
- # source://sorbet-runtime/0.5.10875/lib/types/private/abstract/declare.rb#37
- def new(*args, **_arg1, &blk); end
-
# source://tapioca//lib/tapioca/dsl/compiler.rb#37
sig { returns(T::Set[::Module]) }
def processable_constants; end
@@ -1114,10 +1259,10 @@ class Tapioca::Dsl::Compiler
private
# source://tapioca//lib/tapioca/dsl/compiler.rb#47
- sig { returns(T::Enumerable[::Class]) }
+ sig { returns(T::Enumerable[T::Class[T.anything]]) }
def all_classes; end
- # source://tapioca//lib/tapioca/dsl/compiler.rb#53
+ # source://tapioca//lib/tapioca/dsl/compiler.rb#55
sig { returns(T::Enumerable[::Module]) }
def all_modules; end
end
@@ -1194,15 +1339,15 @@ class Tapioca::Dsl::Pipeline
private
- # source://tapioca//lib/tapioca/dsl/pipeline.rb#193
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#199
sig { void }
def abort_if_pending_migrations!; end
- # source://tapioca//lib/tapioca/dsl/pipeline.rb#139
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#144
sig { params(constants: T::Set[::Module]).returns(T::Set[::Module]) }
def filter_anonymous_and_reloaded_constants(constants); end
- # source://tapioca//lib/tapioca/dsl/pipeline.rb#122
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#124
sig do
params(
requested_compilers: T::Array[T.class_of(Tapioca::Dsl::Compiler)],
@@ -1211,7 +1356,7 @@ class Tapioca::Dsl::Pipeline
end
def gather_active_compilers(requested_compilers, excluded_compilers); end
- # source://tapioca//lib/tapioca/dsl/pipeline.rb#130
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#132
sig do
params(
requested_constants: T::Array[::Module],
@@ -1220,11 +1365,11 @@ class Tapioca::Dsl::Pipeline
end
def gather_constants(requested_constants, requested_paths); end
- # source://tapioca//lib/tapioca/dsl/pipeline.rb#167
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#173
sig { params(constant: ::Module).returns(T.nilable(::RBI::File)) }
def rbi_for_constant(constant); end
- # source://tapioca//lib/tapioca/dsl/pipeline.rb#186
+ # source://tapioca//lib/tapioca/dsl/pipeline.rb#192
sig { params(error: ::String).returns(T.noreturn) }
def report_error(error); end
end
@@ -1299,11 +1444,6 @@ end
# source://tapioca//lib/tapioca/gem/events.rb#6
class Tapioca::Gem::Event
abstract!
-
- class << self
- # source://sorbet-runtime/0.5.10875/lib/types/private/abstract/declare.rb#37
- def new(*args, **_arg1, &blk); end
- end
end
# source://tapioca//lib/tapioca/gem/events.rb#43
@@ -1354,11 +1494,6 @@ class Tapioca::Gem::Listeners::Base
# source://tapioca//lib/tapioca/gem/listeners/base.rb#41
sig { params(event: ::Tapioca::Gem::ScopeNodeAdded).void }
def on_scope(event); end
-
- class << self
- # source://sorbet-runtime/0.5.10875/lib/types/private/abstract/declare.rb#37
- def new(*args, **_arg1, &blk); end
- end
end
# source://tapioca//lib/tapioca/gem/listeners/dynamic_mixins.rb#7
@@ -1406,11 +1541,19 @@ class Tapioca::Gem::Listeners::Methods < ::Tapioca::Gem::Listeners::Base
private
- # source://tapioca//lib/tapioca/gem/listeners/methods.rb#34
- sig { params(tree: ::RBI::Tree, module_name: ::String, mod: ::Module, for_visibility: T::Array[::Symbol]).void }
- def compile_directly_owned_methods(tree, module_name, mod, for_visibility = T.unsafe(nil)); end
+ # source://tapioca//lib/tapioca/gem/listeners/methods.rb#35
+ sig do
+ params(
+ tree: ::RBI::Tree,
+ module_name: ::String,
+ mod: ::Module,
+ for_visibility: T::Array[::Symbol],
+ attached_class: T.nilable(::Module)
+ ).void
+ end
+ def compile_directly_owned_methods(tree, module_name, mod, for_visibility = T.unsafe(nil), attached_class: T.unsafe(nil)); end
- # source://tapioca//lib/tapioca/gem/listeners/methods.rb#63
+ # source://tapioca//lib/tapioca/gem/listeners/methods.rb#71
sig do
params(
tree: ::RBI::Tree,
@@ -1422,18 +1565,22 @@ class Tapioca::Gem::Listeners::Methods < ::Tapioca::Gem::Listeners::Base
end
def compile_method(tree, symbol_name, constant, method, visibility = T.unsafe(nil)); end
- # source://tapioca//lib/tapioca/gem/listeners/methods.rb#191
+ # source://tapioca//lib/tapioca/gem/listeners/methods.rb#211
sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) }
def ignore?(event); end
- # source://tapioca//lib/tapioca/gem/listeners/methods.rb#184
+ # source://tapioca//lib/tapioca/gem/listeners/methods.rb#204
sig { params(constant: ::Module).returns(T.nilable(::UnboundMethod)) }
def initialize_method_for(constant); end
- # source://tapioca//lib/tapioca/gem/listeners/methods.rb#165
+ # source://tapioca//lib/tapioca/gem/listeners/methods.rb#172
sig { params(mod: ::Module).returns(T::Hash[::Symbol, T::Array[::Symbol]]) }
def method_names_by_visibility(mod); end
+ # source://tapioca//lib/tapioca/gem/listeners/methods.rb#196
+ sig { params(attached_class: T.nilable(::Module), method_name: ::Symbol).returns(T.nilable(T::Boolean)) }
+ def method_new_in_abstract_class?(attached_class, method_name); end
+
# Check whether the method is defined by the constant.
#
# In most cases, it works to check that the constant is the method owner. However,
@@ -1444,7 +1591,7 @@ class Tapioca::Gem::Listeners::Methods < ::Tapioca::Gem::Listeners::Base
# It walks up the ancestor tree via the `super_method` method; if any of the super
# methods are owned by the constant, it means that the constant declares the method.
#
- # source://tapioca//lib/tapioca/gem/listeners/methods.rb#151
+ # source://tapioca//lib/tapioca/gem/listeners/methods.rb#158
sig { params(method: ::UnboundMethod, constant: ::Module).returns(T::Boolean) }
def method_owned_by_constant?(method, constant); end
@@ -1452,7 +1599,7 @@ class Tapioca::Gem::Listeners::Methods < ::Tapioca::Gem::Listeners::Base
sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void }
def on_scope(event); end
- # source://tapioca//lib/tapioca/gem/listeners/methods.rb#174
+ # source://tapioca//lib/tapioca/gem/listeners/methods.rb#181
sig { params(constant: ::Module, method_name: ::String).returns(T::Boolean) }
def struct_method?(constant, method_name); end
end
@@ -1534,7 +1681,7 @@ class Tapioca::Gem::Listeners::SorbetHelpers < ::Tapioca::Gem::Listeners::Base
private
- # source://tapioca//lib/tapioca/gem/listeners/sorbet_helpers.rb#28
+ # source://tapioca//lib/tapioca/gem/listeners/sorbet_helpers.rb#27
sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) }
def ignore?(event); end
@@ -1545,13 +1692,16 @@ end
# source://tapioca//lib/tapioca/gem/listeners/sorbet_props.rb#7
class Tapioca::Gem::Listeners::SorbetProps < ::Tapioca::Gem::Listeners::Base
+ include ::Tapioca::SorbetHelper
+ include ::Tapioca::RBIHelper
+
private
- # source://tapioca//lib/tapioca/gem/listeners/sorbet_props.rb#32
+ # source://tapioca//lib/tapioca/gem/listeners/sorbet_props.rb#33
sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) }
def ignore?(event); end
- # source://tapioca//lib/tapioca/gem/listeners/sorbet_props.rb#13
+ # source://tapioca//lib/tapioca/gem/listeners/sorbet_props.rb#14
sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void }
def on_scope(event); end
end
@@ -1582,7 +1732,7 @@ class Tapioca::Gem::Listeners::SorbetSignatures < ::Tapioca::Gem::Listeners::Bas
sig { params(signature: T.untyped, parameters: T::Array[[::Symbol, ::String]]).returns(::RBI::Sig) }
def compile_signature(signature, parameters); end
- # source://tapioca//lib/tapioca/gem/listeners/sorbet_signatures.rb#78
+ # source://tapioca//lib/tapioca/gem/listeners/sorbet_signatures.rb#79
sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) }
def ignore?(event); end
@@ -1609,10 +1759,14 @@ class Tapioca::Gem::Listeners::SorbetTypeVariables < ::Tapioca::Gem::Listeners::
sig { params(tree: ::RBI::Tree, constant: ::Module).void }
def compile_type_variable_declarations(tree, constant); end
- # source://tapioca//lib/tapioca/gem/listeners/sorbet_type_variables.rb#50
+ # source://tapioca//lib/tapioca/gem/listeners/sorbet_type_variables.rb#63
sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) }
def ignore?(event); end
+ # source://tapioca//lib/tapioca/gem/listeners/sorbet_type_variables.rb#50
+ sig { params(type_variable: ::Tapioca::TypeVariableModule).returns(T.nilable(::RBI::Node)) }
+ def node_from_type_variable(type_variable); end
+
# source://tapioca//lib/tapioca/gem/listeners/sorbet_type_variables.rb#15
sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void }
def on_scope(event); end
@@ -1739,11 +1893,6 @@ class Tapioca::Gem::NodeAdded < ::Tapioca::Gem::Event
# source://tapioca//lib/tapioca/gem/events.rb#64
sig { returns(::String) }
def symbol; end
-
- class << self
- # source://sorbet-runtime/0.5.10875/lib/types/private/abstract/declare.rb#37
- def new(*args, **_arg1, &blk); end
- end
end
# source://tapioca//lib/tapioca/gem/pipeline.rb#6
@@ -1761,7 +1910,7 @@ class Tapioca::Gem::Pipeline
sig { returns(::RBI::Tree) }
def compile; end
- # source://tapioca//lib/tapioca/gem/pipeline.rb#110
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#119
sig { params(name: T.any(::String, ::Symbol)).returns(T::Boolean) }
def constant_in_gem?(name); end
@@ -1769,31 +1918,33 @@ class Tapioca::Gem::Pipeline
sig { returns(::Tapioca::Gemfile::GemSpec) }
def gem; end
- # source://tapioca//lib/tapioca/gem/pipeline.rb#122
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#137
sig { params(method: ::UnboundMethod).returns(T::Boolean) }
def method_in_gem?(method); end
- # source://tapioca//lib/tapioca/gem/pipeline.rb#130
+ # Helpers
+ #
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#147
sig { params(constant: ::Module).returns(T.nilable(::String)) }
def name_of(constant); end
- # source://tapioca//lib/tapioca/gem/pipeline.rb#69
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#71
sig { params(symbol: ::String, constant: ::Module, node: ::RBI::Const).void }
def push_const(symbol, constant, node); end
- # source://tapioca//lib/tapioca/gem/pipeline.rb#59
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#61
sig { params(symbol: ::String, constant: ::BasicObject).void }
def push_constant(symbol, constant); end
- # source://tapioca//lib/tapioca/gem/pipeline.rb#64
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#66
sig { params(symbol: ::String, constant: ::Module).void }
def push_foreign_constant(symbol, constant); end
- # source://tapioca//lib/tapioca/gem/pipeline.rb#83
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#85
sig { params(symbol: ::String, constant: ::Module, node: ::RBI::Scope).void }
def push_foreign_scope(symbol, constant, node); end
- # source://tapioca//lib/tapioca/gem/pipeline.rb#97
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#99
sig do
params(
symbol: ::String,
@@ -1806,103 +1957,148 @@ class Tapioca::Gem::Pipeline
end
def push_method(symbol, constant, method, node, signature, parameters); end
- # source://tapioca//lib/tapioca/gem/pipeline.rb#76
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#78
sig { params(symbol: ::String, constant: ::Module, node: ::RBI::Scope).void }
def push_scope(symbol, constant, node); end
- # source://tapioca//lib/tapioca/gem/pipeline.rb#54
+ # Events handling
+ #
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#56
sig { params(symbol: ::String).void }
def push_symbol(symbol); end
- # source://tapioca//lib/tapioca/gem/pipeline.rb#102
+ # Constants and properties filtering
+ #
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#106
sig { params(symbol_name: ::String).returns(T::Boolean) }
def symbol_in_payload?(symbol_name); end
private
- # source://tapioca//lib/tapioca/gem/pipeline.rb#376
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#440
sig { params(name: ::String).void }
def add_to_alias_namespace(name); end
- # source://tapioca//lib/tapioca/gem/pipeline.rb#381
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#445
sig { params(name: ::String).returns(T::Boolean) }
def alias_namespaced?(name); end
- # source://tapioca//lib/tapioca/gem/pipeline.rb#225
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#244
sig { params(name: ::String, constant: ::Module).void }
def compile_alias(name, constant); end
- # source://tapioca//lib/tapioca/gem/pipeline.rb#211
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#230
sig { params(symbol: ::String, constant: ::BasicObject).void }
def compile_constant(symbol, constant); end
- # Compile
+ # Compiling
#
- # source://tapioca//lib/tapioca/gem/pipeline.rb#206
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#219
sig { params(symbol: ::String, constant: ::Module).void }
def compile_foreign_constant(symbol, constant); end
- # source://tapioca//lib/tapioca/gem/pipeline.rb#283
- sig { params(name: ::String, constant: ::Module, foreign_constant: T::Boolean).void }
- def compile_module(name, constant, foreign_constant: T.unsafe(nil)); end
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#298
+ sig { params(name: ::String, constant: ::Module).void }
+ def compile_module(name, constant); end
- # source://tapioca//lib/tapioca/gem/pipeline.rb#247
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#265
sig { params(name: ::String, value: ::BasicObject).void }
def compile_object(name, value); end
- # source://tapioca//lib/tapioca/gem/pipeline.rb#308
- sig { params(constant: ::Class).returns(T.nilable(::String)) }
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#309
+ sig { params(name: ::String, constant: ::Module).returns(::RBI::Scope) }
+ def compile_scope(name, constant); end
+
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#323
+ sig { params(constant: T::Class[T.anything]).returns(T.nilable(::String)) }
def compile_superclass(constant); end
- # source://tapioca//lib/tapioca/gem/pipeline.rb#357
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#421
sig { params(constant: ::Module, strict: T::Boolean).returns(T::Boolean) }
def defined_in_gem?(constant, strict: T.unsafe(nil)); end
- # source://tapioca//lib/tapioca/gem/pipeline.rb#158
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#177
sig { params(event: ::Tapioca::Gem::Event).void }
def dispatch(event); end
- # source://tapioca//lib/tapioca/gem/pipeline.rb#398
+ # Helpers
+ #
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#464
sig { params(constant: T.all(::Module, ::T::Generic)).returns(::String) }
def generic_name_of(constant); end
- # source://tapioca//lib/tapioca/gem/pipeline.rb#369
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#433
sig { params(constant: ::Module).returns(T::Set[::String]) }
def get_file_candidates(constant); end
- # source://tapioca//lib/tapioca/gem/pipeline.rb#145
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#162
sig { params(gem: ::Tapioca::Gemfile::GemSpec).returns(T::Set[::String]) }
def load_bootstrap_symbols(gem); end
- # source://tapioca//lib/tapioca/gem/pipeline.rb#388
- sig { params(name: ::String).void }
- def mark_seen(name); end
-
- # source://tapioca//lib/tapioca/gem/pipeline.rb#414
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#480
sig { params(constant: ::Module, class_name: T.nilable(::String)).returns(T.nilable(::String)) }
def name_of_proxy_target(constant, class_name); end
- # source://tapioca//lib/tapioca/gem/pipeline.rb#153
+ # Events handling
+ #
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#172
sig { returns(::Tapioca::Gem::Event) }
def next_event; end
- # source://tapioca//lib/tapioca/gem/pipeline.rb#181
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#200
sig { params(event: ::Tapioca::Gem::ConstantFound).void }
def on_constant(event); end
- # source://tapioca//lib/tapioca/gem/pipeline.rb#199
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#212
sig { params(event: ::Tapioca::Gem::NodeAdded).void }
def on_node(event); end
- # source://tapioca//lib/tapioca/gem/pipeline.rb#172
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#191
sig { params(event: ::Tapioca::Gem::SymbolFound).void }
def on_symbol(event); end
- # source://tapioca//lib/tapioca/gem/pipeline.rb#393
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#452
+ sig { params(name: ::String).void }
+ def seen!(name); end
+
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#457
sig { params(name: ::String).returns(T::Boolean) }
def seen?(name); end
+
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#391
+ sig { params(name: ::String, constant: ::Module).returns(T::Boolean) }
+ def skip_alias?(name, constant); end
+
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#379
+ sig { params(name: ::String, constant: T.anything).returns(T::Boolean) }
+ def skip_constant?(name, constant); end
+
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#408
+ sig { params(name: ::String, constant: ::Module).returns(T::Boolean) }
+ def skip_foreign_constant?(name, constant); end
+
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#413
+ sig { params(name: ::String, constant: ::Module).returns(T::Boolean) }
+ def skip_module?(name, constant); end
+
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#400
+ sig { params(name: ::String, constant: ::BasicObject).returns(T::Boolean) }
+ def skip_object?(name, constant); end
+
+ # Constants and properties filtering
+ #
+ # source://tapioca//lib/tapioca/gem/pipeline.rb#374
+ sig { params(name: ::String).returns(T::Boolean) }
+ def skip_symbol?(name); end
end
+# this looks something like:
+# "(eval at /path/to/file.rb:123)"
+# and we are just interested in the "/path/to/file.rb" part
+#
+# source://tapioca//lib/tapioca/gem/pipeline.rb#116
+Tapioca::Gem::Pipeline::EVAL_SOURCE_FILE_PATTERN = T.let(T.unsafe(nil), Regexp)
+
# source://tapioca//lib/tapioca/gem/pipeline.rb#11
Tapioca::Gem::Pipeline::IGNORED_SYMBOLS = T.let(T.unsafe(nil), Array)
@@ -1953,189 +2149,170 @@ module Tapioca::GemHelper
def path_in_dir?(path, dir); end
end
-# source://tapioca//lib/tapioca/gemfile.rb#5
+# source://tapioca//lib/tapioca/gemfile.rb#7
class Tapioca::Gemfile
- # source://tapioca//lib/tapioca/gemfile.rb#69
- sig { params(exclude: T::Array[::String]).void }
- def initialize(exclude); end
+ # source://tapioca//lib/tapioca/gemfile.rb#27
+ sig { params(excluded_gems: T::Array[::String]).void }
+ def initialize(excluded_gems); end
- # source://tapioca//lib/tapioca/gemfile.rb#60
+ # source://tapioca//lib/tapioca/gemfile.rb#18
sig { returns(::Bundler::Definition) }
def definition; end
- # source://tapioca//lib/tapioca/gemfile.rb#63
+ # source://tapioca//lib/tapioca/gemfile.rb#21
sig { returns(T::Array[::Tapioca::Gemfile::GemSpec]) }
def dependencies; end
- # source://tapioca//lib/tapioca/gemfile.rb#80
+ # source://tapioca//lib/tapioca/gemfile.rb#40
sig { params(gem_name: ::String).returns(T.nilable(::Tapioca::Gemfile::GemSpec)) }
def gem(gem_name); end
- # source://tapioca//lib/tapioca/gemfile.rb#66
+ # source://tapioca//lib/tapioca/gemfile.rb#24
sig { returns(T::Array[::String]) }
def missing_specs; end
- # source://tapioca//lib/tapioca/gemfile.rb#85
+ # source://tapioca//lib/tapioca/gemfile.rb#45
sig { void }
def require_bundle; end
private
- # source://tapioca//lib/tapioca/gemfile.rb#130
+ # source://tapioca//lib/tapioca/gemfile.rb#92
sig { returns(::String) }
def dir; end
- # source://tapioca//lib/tapioca/gemfile.rb#92
+ # source://tapioca//lib/tapioca/gemfile.rb#54
sig { returns(::File) }
def gemfile; end
- # source://tapioca//lib/tapioca/gemfile.rb#125
+ # source://tapioca//lib/tapioca/gemfile.rb#87
sig { returns(T::Array[::Symbol]) }
def groups; end
- # source://tapioca//lib/tapioca/gemfile.rb#95
+ # source://tapioca//lib/tapioca/gemfile.rb#57
sig { returns([T::Array[::Tapioca::Gemfile::GemSpec], T::Array[::String]]) }
def load_dependencies; end
# @return [File]
#
- # source://tapioca//lib/tapioca/gemfile.rb#92
+ # source://tapioca//lib/tapioca/gemfile.rb#54
def lockfile; end
- # source://tapioca//lib/tapioca/gemfile.rb#106
+ # source://tapioca//lib/tapioca/gemfile.rb#68
sig { returns([T::Enumerable[T.any(::Bundler::StubSpecification, ::Gem::Specification)], T::Array[::String]]) }
def materialize_deps; end
- # source://tapioca//lib/tapioca/gemfile.rb#120
+ # source://tapioca//lib/tapioca/gemfile.rb#82
sig { returns(::Bundler::Runtime) }
def runtime; end
end
-# This is a module that gets prepended to `Bundler::Dependency` and
-# makes sure even gems marked as `require: false` are required during
-# `Bundler.require`.
-#
-# source://tapioca//lib/tapioca/gemfile.rb#18
-module Tapioca::Gemfile::AutoRequireHook
- requires_ancestor { Bundler::Dependency }
-
- # source://tapioca//lib/tapioca/gemfile.rb#39
- sig { returns(T.untyped) }
- def autorequire; end
-
- class << self
- # source://tapioca//lib/tapioca/gemfile.rb#30
- sig { params(exclude: T::Array[::String]).returns(T::Array[::String]) }
- def exclude=(exclude); end
-
- # source://tapioca//lib/tapioca/gemfile.rb#33
- sig { params(name: T.untyped).returns(T::Boolean) }
- def excluded?(name); end
- end
-end
-
-# source://tapioca//lib/tapioca/gemfile.rb#134
+# source://tapioca//lib/tapioca/gemfile.rb#96
class Tapioca::Gemfile::GemSpec
include ::Tapioca::GemHelper
- # source://tapioca//lib/tapioca/gemfile.rb#173
+ # source://tapioca//lib/tapioca/gemfile.rb#136
sig { params(spec: T.any(::Bundler::StubSpecification, ::Gem::Specification)).void }
def initialize(spec); end
- # source://tapioca//lib/tapioca/gemfile.rb#183
+ # source://tapioca//lib/tapioca/gemfile.rb#146
sig { params(other: ::BasicObject).returns(T::Boolean) }
def ==(other); end
- # source://tapioca//lib/tapioca/gemfile.rb#203
+ # source://tapioca//lib/tapioca/gemfile.rb#171
sig { params(path: ::String).returns(T::Boolean) }
def contains_path?(path); end
- # source://tapioca//lib/tapioca/gemfile.rb#222
+ # source://tapioca//lib/tapioca/gemfile.rb#161
+ sig { returns(T::Array[::Gem::Dependency]) }
+ def dependencies; end
+
+ # source://tapioca//lib/tapioca/gemfile.rb#190
sig { returns(T::Boolean) }
def export_rbi_files?; end
- # source://tapioca//lib/tapioca/gemfile.rb#217
+ # source://tapioca//lib/tapioca/gemfile.rb#185
sig { returns(T::Array[::String]) }
def exported_rbi_files; end
- # source://tapioca//lib/tapioca/gemfile.rb#227
+ # source://tapioca//lib/tapioca/gemfile.rb#195
sig { returns(::RBI::MergeTree) }
def exported_rbi_tree; end
- # source://tapioca//lib/tapioca/gemfile.rb#170
+ # source://tapioca//lib/tapioca/gemfile.rb#133
sig { returns(T::Array[::Pathname]) }
def files; end
- # source://tapioca//lib/tapioca/gemfile.rb#167
+ # source://tapioca//lib/tapioca/gemfile.rb#130
sig { returns(::String) }
def full_gem_path; end
- # source://tapioca//lib/tapioca/gemfile.rb#188
+ # source://tapioca//lib/tapioca/gemfile.rb#151
sig { params(gemfile_dir: ::String).returns(T::Boolean) }
def ignore?(gemfile_dir); end
- # source://tapioca//lib/tapioca/gemfile.rb#193
+ # source://tapioca//lib/tapioca/gemfile.rb#156
sig { returns(::String) }
def name; end
- # source://tapioca//lib/tapioca/gemfile.rb#212
+ # source://tapioca//lib/tapioca/gemfile.rb#180
sig { void }
def parse_yard_docs; end
- # source://tapioca//lib/tapioca/gemfile.rb#198
+ # source://tapioca//lib/tapioca/gemfile.rb#166
sig { returns(::String) }
def rbi_file_name; end
- # source://tapioca//lib/tapioca/gemfile.rb#239
+ # source://tapioca//lib/tapioca/gemfile.rb#207
sig { params(file: ::Pathname).returns(::Pathname) }
def relative_path_for(file); end
# @return [String]
#
- # source://tapioca//lib/tapioca/gemfile.rb#167
+ # source://tapioca//lib/tapioca/gemfile.rb#130
def version; end
private
- # source://tapioca//lib/tapioca/gemfile.rb#250
+ # source://tapioca//lib/tapioca/gemfile.rb#218
sig { returns(T::Array[::Pathname]) }
def collect_files; end
- # source://tapioca//lib/tapioca/gemfile.rb#265
+ # source://tapioca//lib/tapioca/gemfile.rb#233
sig { returns(T.nilable(T::Boolean)) }
def default_gem?; end
- # source://tapioca//lib/tapioca/gemfile.rb#323
+ # source://tapioca//lib/tapioca/gemfile.rb#292
sig { returns(T::Boolean) }
def gem_ignored?; end
- # source://tapioca//lib/tapioca/gemfile.rb#302
+ # source://tapioca//lib/tapioca/gemfile.rb#271
sig { params(path: ::String).returns(T::Boolean) }
def has_parent_gemspec?(path); end
- # source://tapioca//lib/tapioca/gemfile.rb#270
+ # source://tapioca//lib/tapioca/gemfile.rb#238
sig { returns(::Regexp) }
def require_paths_prefix_matcher; end
- # source://tapioca//lib/tapioca/gemfile.rb#281
+ # source://tapioca//lib/tapioca/gemfile.rb#250
sig { params(file: ::String).returns(::Pathname) }
def resolve_to_ruby_lib_dir(file); end
- # source://tapioca//lib/tapioca/gemfile.rb#295
+ # source://tapioca//lib/tapioca/gemfile.rb#264
sig { returns(::String) }
def version_string; end
class << self
- # source://tapioca//lib/tapioca/gemfile.rb#142
+ # source://tapioca//lib/tapioca/gemfile.rb#104
sig { returns(T::Hash[::String, ::Tapioca::Gemfile::GemSpec]) }
def spec_lookup_by_file_path; end
end
end
-# source://tapioca//lib/tapioca/gemfile.rb#154
+# source://tapioca//lib/tapioca/gemfile.rb#116
Tapioca::Gemfile::GemSpec::IGNORED_GEMS = T.let(T.unsafe(nil), Array)
-# source://tapioca//lib/tapioca/gemfile.rb#8
+# source://tapioca//lib/tapioca/gemfile.rb#10
Tapioca::Gemfile::Spec = T.type_alias { T.any(::Bundler::StubSpecification, ::Gem::Specification) }
# source://tapioca//lib/tapioca/loaders/loader.rb#5
@@ -2143,73 +2320,89 @@ module Tapioca::Loaders; end
# source://tapioca//lib/tapioca/loaders/dsl.rb#6
class Tapioca::Loaders::Dsl < ::Tapioca::Loaders::Loader
- # source://tapioca//lib/tapioca/loaders/dsl.rb#29
- sig { params(tapioca_path: ::String, eager_load: T::Boolean, app_root: ::String).void }
- def initialize(tapioca_path:, eager_load: T.unsafe(nil), app_root: T.unsafe(nil)); end
+ # source://tapioca//lib/tapioca/loaders/dsl.rb#38
+ sig do
+ params(
+ tapioca_path: ::String,
+ eager_load: T::Boolean,
+ app_root: ::String,
+ halt_upon_load_error: T::Boolean
+ ).void
+ end
+ def initialize(tapioca_path:, eager_load: T.unsafe(nil), app_root: T.unsafe(nil), halt_upon_load_error: T.unsafe(nil)); end
- # source://tapioca//lib/tapioca/loaders/dsl.rb#20
+ # source://tapioca//lib/tapioca/loaders/dsl.rb#27
sig { override.void }
def load; end
protected
- # source://tapioca//lib/tapioca/loaders/dsl.rb#61
+ # source://tapioca//lib/tapioca/loaders/dsl.rb#81
sig { void }
def load_application; end
- # source://tapioca//lib/tapioca/loaders/dsl.rb#43
+ # source://tapioca//lib/tapioca/loaders/dsl.rb#63
sig { void }
def load_dsl_compilers; end
- # source://tapioca//lib/tapioca/loaders/dsl.rb#38
+ # source://tapioca//lib/tapioca/loaders/dsl.rb#48
sig { void }
def load_dsl_extensions; end
class << self
- # source://tapioca//lib/tapioca/loaders/dsl.rb#13
- sig { params(tapioca_path: ::String, eager_load: T::Boolean, app_root: ::String).void }
- def load_application(tapioca_path:, eager_load: T.unsafe(nil), app_root: T.unsafe(nil)); end
+ # source://tapioca//lib/tapioca/loaders/dsl.rb#15
+ sig do
+ params(
+ tapioca_path: ::String,
+ eager_load: T::Boolean,
+ app_root: ::String,
+ halt_upon_load_error: T::Boolean
+ ).void
+ end
+ def load_application(tapioca_path:, eager_load: T.unsafe(nil), app_root: T.unsafe(nil), halt_upon_load_error: T.unsafe(nil)); end
end
end
# source://tapioca//lib/tapioca/loaders/gem.rb#6
class Tapioca::Loaders::Gem < ::Tapioca::Loaders::Loader
- # source://tapioca//lib/tapioca/loaders/gem.rb#46
+ # source://tapioca//lib/tapioca/loaders/gem.rb#49
sig do
params(
bundle: ::Tapioca::Gemfile,
prerequire: T.nilable(::String),
postrequire: ::String,
- default_command: ::String
+ default_command: ::String,
+ halt_upon_load_error: T::Boolean
).void
end
- def initialize(bundle:, prerequire:, postrequire:, default_command:); end
+ def initialize(bundle:, prerequire:, postrequire:, default_command:, halt_upon_load_error:); end
- # source://tapioca//lib/tapioca/loaders/gem.rb#32
+ # source://tapioca//lib/tapioca/loaders/gem.rb#34
sig { override.void }
def load; end
protected
- # source://tapioca//lib/tapioca/loaders/gem.rb#76
+ # source://tapioca//lib/tapioca/loaders/gem.rb#80
sig { params(file: ::String, error: ::LoadError).void }
def explain_failed_require(file, error); end
- # source://tapioca//lib/tapioca/loaders/gem.rb#56
+ # source://tapioca//lib/tapioca/loaders/gem.rb#60
sig { void }
def require_gem_file; end
class << self
- # source://tapioca//lib/tapioca/loaders/gem.rb#20
+ # source://tapioca//lib/tapioca/loaders/gem.rb#21
sig do
params(
bundle: ::Tapioca::Gemfile,
prerequire: T.nilable(::String),
postrequire: ::String,
- default_command: ::String
+ default_command: ::String,
+ halt_upon_load_error: T::Boolean
).void
end
- def load_application(bundle:, prerequire:, postrequire:, default_command:); end
+ def load_application(bundle:, prerequire:, postrequire:, default_command:, halt_upon_load_error:); end
end
end
@@ -2235,68 +2428,82 @@ class Tapioca::Loaders::Loader
private
- # source://tapioca//lib/tapioca/loaders/loader.rb#182
+ # Rails 7.2 renamed `eager_load_paths` to `all_eager_load_paths`, which maintains the same original functionality.
+ # The `eager_load_paths` method still exists, but doesn't return all paths anymore and causes Tapioca to miss some
+ # engine paths. The following commit is the change:
+ # https://github.com/rails/rails/commit/ebfca905db14020589c22e6937382e6f8f687664
+ #
+ # @param engine [T.class_of(Rails::Engine)]
+ # @return [Array]
+ #
+ # source://sorbet-runtime/0.5.11262/lib/types/private/methods/_methods.rb#257
+ def eager_load_paths(*args, **_arg1, &blk); end
+
+ # source://tapioca//lib/tapioca/loaders/loader.rb#198
sig { void }
def eager_load_rails_app; end
# @return [Array]
#
- # source://tapioca//lib/tapioca/loaders/loader.rb#153
+ # source://tapioca//lib/tapioca/loaders/loader.rb#169
def engines; end
- # source://tapioca//lib/tapioca/loaders/loader.rb#24
+ # source://tapioca//lib/tapioca/loaders/loader.rb#29
sig do
params(
gemfile: ::Tapioca::Gemfile,
initialize_file: T.nilable(::String),
- require_file: T.nilable(::String)
+ require_file: T.nilable(::String),
+ halt_upon_load_error: T::Boolean
).void
end
- def load_bundle(gemfile, initialize_file, require_file); end
+ def load_bundle(gemfile, initialize_file, require_file, halt_upon_load_error); end
- # source://tapioca//lib/tapioca/loaders/loader.rb#111
+ # source://tapioca//lib/tapioca/loaders/loader.rb#127
sig { void }
def load_engines_in_classic_mode; end
- # source://tapioca//lib/tapioca/loaders/loader.rb#89
+ # source://tapioca//lib/tapioca/loaders/loader.rb#105
sig { void }
def load_engines_in_zeitwerk_mode; end
- # source://tapioca//lib/tapioca/loaders/loader.rb#37
- sig { params(environment_load: T::Boolean, eager_load: T::Boolean, app_root: ::String).void }
- def load_rails_application(environment_load: T.unsafe(nil), eager_load: T.unsafe(nil), app_root: T.unsafe(nil)); end
+ # source://tapioca//lib/tapioca/loaders/loader.rb#49
+ sig do
+ params(
+ environment_load: T::Boolean,
+ eager_load: T::Boolean,
+ app_root: ::String,
+ halt_upon_load_error: T::Boolean
+ ).void
+ end
+ def load_rails_application(environment_load: T.unsafe(nil), eager_load: T.unsafe(nil), app_root: T.unsafe(nil), halt_upon_load_error: T.unsafe(nil)); end
- # source://tapioca//lib/tapioca/loaders/loader.rb#64
+ # source://tapioca//lib/tapioca/loaders/loader.rb#80
sig { void }
def load_rails_engines; end
- # source://tapioca//lib/tapioca/loaders/loader.rb#203
+ # source://tapioca//lib/tapioca/loaders/loader.rb#219
sig { params(file: T.nilable(::String)).void }
def require_helper(file); end
- # source://tapioca//lib/tapioca/loaders/loader.rb#78
+ # source://tapioca//lib/tapioca/loaders/loader.rb#94
def run_initializers; end
- # source://tapioca//lib/tapioca/loaders/loader.rb#167
+ # source://tapioca//lib/tapioca/loaders/loader.rb#183
sig { params(path: ::String).void }
def safe_require(path); end
- # source://tapioca//lib/tapioca/loaders/loader.rb#174
+ # source://tapioca//lib/tapioca/loaders/loader.rb#190
sig { void }
def silence_deprecations; end
- # source://tapioca//lib/tapioca/loaders/loader.rb#136
+ # source://tapioca//lib/tapioca/loaders/loader.rb#152
sig { params(blk: T.proc.void).void }
def with_rails_application(&blk); end
- # source://tapioca//lib/tapioca/loaders/loader.rb#129
+ # source://tapioca//lib/tapioca/loaders/loader.rb#145
sig { returns(T::Boolean) }
def zeitwerk_mode?; end
-
- class << self
- # source://sorbet-runtime/0.5.10875/lib/types/private/abstract/declare.rb#37
- def new(*args, **_arg1, &blk); end
- end
end
# source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#5
@@ -2334,7 +2541,7 @@ module Tapioca::RBIFilesHelper
dsl_dir: ::String,
auto_strictness: T::Boolean,
gems: T::Array[::Tapioca::Gemfile::GemSpec],
- compilers: T::Enumerable[::Class]
+ compilers: T::Enumerable[T.class_of(Tapioca::Dsl::Compiler)]
).void
end
def validate_rbi_files(command:, gem_dir:, dsl_dir:, auto_strictness:, gems: T.unsafe(nil), compilers: T.unsafe(nil)); end
@@ -2643,7 +2850,7 @@ module Tapioca::Runtime::GenericTypeRegistry
def create_generic_type(constant, name); end
# source://tapioca//lib/tapioca/runtime/generic_type_registry.rb#155
- sig { params(constant: ::Class).returns(::Class) }
+ sig { params(constant: T::Class[T.anything]).returns(T::Class[T.anything]) }
def create_safe_subclass(constant); end
# source://tapioca//lib/tapioca/runtime/generic_type_registry.rb#182
@@ -2668,6 +2875,10 @@ module Tapioca::Runtime::Reflection
extend ::Tapioca::Runtime::AttachedClassOf
extend ::Tapioca::Runtime::Reflection
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#196
+ sig { params(constant: ::Module).returns(T.untyped) }
+ def abstract_type_of(constant); end
+
# source://tapioca//lib/tapioca/runtime/reflection.rb#77
sig { params(constant: ::Module).returns(T::Array[::Module]) }
def ancestors_of(constant); end
@@ -2677,7 +2888,7 @@ module Tapioca::Runtime::Reflection
def are_equal?(object, other); end
# source://tapioca//lib/tapioca/runtime/reflection.rb#56
- sig { params(object: ::BasicObject).returns(::Class) }
+ sig { params(object: ::BasicObject).returns(T::Class[T.anything]) }
def class_of(object); end
# @param constant [BasicObject]
@@ -2712,7 +2923,7 @@ module Tapioca::Runtime::Reflection
sig do
type_parameters(:U)
.params(
- klass: T.all(::Class, T.type_parameter(:U))
+ klass: T.all(T.type_parameter(:U), T::Class[T.anything])
).returns(T::Array[T.type_parameter(:U)])
end
def descendants_of(klass); end
@@ -2721,6 +2932,10 @@ module Tapioca::Runtime::Reflection
sig { params(constant: ::Module).returns(T::Set[::String]) }
def file_candidates_for(constant); end
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#202
+ sig { params(constant: ::Module).returns(T::Boolean) }
+ def final_module?(constant); end
+
# source://tapioca//lib/tapioca/runtime/reflection.rb#112
sig { params(constant: ::Module).returns(T::Array[::Module]) }
def inherited_ancestors_of(constant); end
@@ -2765,33 +2980,41 @@ module Tapioca::Runtime::Reflection
sig { params(locations: T.nilable(T::Array[::Thread::Backtrace::Location])).returns(::String) }
def resolve_loc(locations); end
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#207
+ sig { params(constant: ::Module).returns(T::Boolean) }
+ def sealed_module?(constant); end
+
# source://tapioca//lib/tapioca/runtime/reflection.rb#133
sig { params(method: T.any(::Method, ::UnboundMethod)).returns(T.untyped) }
def signature_of(method); end
# source://tapioca//lib/tapioca/runtime/reflection.rb#72
- sig { params(constant: ::Module).returns(::Class) }
+ sig { params(constant: ::Module).returns(T::Class[T.anything]) }
def singleton_class_of(constant); end
# source://tapioca//lib/tapioca/runtime/reflection.rb#82
- sig { params(constant: ::Class).returns(T.nilable(::Class)) }
+ sig { params(constant: T::Class[T.anything]).returns(T.nilable(T::Class[T.anything])) }
def superclass_of(constant); end
private
- # source://tapioca//lib/tapioca/runtime/reflection.rb#228
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#244
sig { params(parent: ::Module, name: ::String).returns(T.nilable(::Module)) }
def child_module_for_parent_with_name(parent, name); end
- # source://tapioca//lib/tapioca/runtime/reflection.rb#239
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#260
+ sig { params(name: ::String).returns(T::Boolean) }
+ def has_aliased_namespace?(name); end
+
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#255
sig { params(method: ::UnboundMethod).returns(T::Boolean) }
def method_defined_by_forwardable_module?(method); end
- # source://tapioca//lib/tapioca/runtime/reflection.rb#214
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#230
sig { params(constant: ::Module).returns(T::Array[::UnboundMethod]) }
def methods_for(constant); end
- # source://tapioca//lib/tapioca/runtime/reflection.rb#198
+ # source://tapioca//lib/tapioca/runtime/reflection.rb#214
sig { params(constant: ::Module).returns(T::Array[::UnboundMethod]) }
def relevant_methods_for(constant); end
end
@@ -3031,15 +3254,15 @@ Tapioca::SORBET_DIR = T.let(T.unsafe(nil), String)
# source://tapioca//lib/tapioca/helpers/sorbet_helper.rb#5
module Tapioca::SorbetHelper
- # source://tapioca//lib/tapioca/helpers/sorbet_helper.rb#33
+ # source://tapioca//lib/tapioca/helpers/sorbet_helper.rb#32
sig { params(sorbet_args: ::String).returns(::Spoom::ExecResult) }
def sorbet(*sorbet_args); end
- # source://tapioca//lib/tapioca/helpers/sorbet_helper.rb#38
+ # source://tapioca//lib/tapioca/helpers/sorbet_helper.rb#37
sig { returns(::String) }
def sorbet_path; end
- # source://tapioca//lib/tapioca/helpers/sorbet_helper.rb#45
+ # source://tapioca//lib/tapioca/helpers/sorbet_helper.rb#44
sig { params(feature: ::Symbol, version: T.nilable(::Gem::Version)).returns(T::Boolean) }
def sorbet_supports?(feature, version: T.unsafe(nil)); end
end
@@ -3105,7 +3328,7 @@ module Tapioca::Static::SymbolLoader
sig { params(gem: ::Tapioca::Gemfile::GemSpec).returns(T::Set[::String]) }
def engine_symbols(gem); end
- # source://tapioca//lib/tapioca/static/symbol_loader.rb#40
+ # source://tapioca//lib/tapioca/static/symbol_loader.rb#48
sig { params(gem: ::Tapioca::Gemfile::GemSpec).returns(T::Set[::String]) }
def gem_symbols(gem); end
@@ -3113,7 +3336,7 @@ module Tapioca::Static::SymbolLoader
sig { returns(T::Set[::String]) }
def payload_symbols; end
- # source://tapioca//lib/tapioca/static/symbol_loader.rb#45
+ # source://tapioca//lib/tapioca/static/symbol_loader.rb#53
sig { params(paths: T::Array[::Pathname]).returns(T::Set[::String]) }
def symbols_from_paths(paths); end
@@ -3121,10 +3344,10 @@ module Tapioca::Static::SymbolLoader
# @return [Array]
#
- # source://sorbet-runtime/0.5.10875/lib/types/private/methods/_methods.rb#255
+ # source://sorbet-runtime/0.5.11262/lib/types/private/methods/_methods.rb#257
def engines(*args, **_arg1, &blk); end
- # source://tapioca//lib/tapioca/static/symbol_loader.rb#73
+ # source://tapioca//lib/tapioca/static/symbol_loader.rb#82
sig { params(input: ::String, table_type: ::String).returns(::String) }
def symbol_table_json_from(input, table_type: T.unsafe(nil)); end
end
@@ -3164,16 +3387,16 @@ Tapioca::TAPIOCA_CONFIG_FILE = T.let(T.unsafe(nil), String)
# source://tapioca//lib/tapioca.rb#34
Tapioca::TAPIOCA_DIR = T.let(T.unsafe(nil), String)
-# source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#122
+# source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#108
class Tapioca::TypeVariable < ::T::Types::TypeVariable
# @return [TypeVariable] a new instance of TypeVariable
#
- # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#123
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#109
def initialize(name, variance); end
# Returns the value of attribute name.
#
- # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#128
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#114
def name; end
end
@@ -3183,69 +3406,55 @@ end
# need to do any matching of constants to type variables to bind their names, Ruby will
# do that automatically for us and we get the `name` method for free from `Module`.
#
-# source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#136
+# source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#122
class Tapioca::TypeVariableModule < ::Module
- # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#158
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#146
sig do
params(
context: ::Module,
type: ::Tapioca::TypeVariableModule::Type,
variance: ::Symbol,
- fixed: T.untyped,
- lower: T.untyped,
- upper: T.untyped,
bounds_proc: T.nilable(T.proc.returns(T::Hash[::Symbol, T.untyped]))
).void
end
- def initialize(context, type, variance, fixed, lower, upper, bounds_proc); end
+ def initialize(context, type, variance, bounds_proc); end
- # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#212
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#181
sig { returns(::Tapioca::TypeVariable) }
def coerce_to_type_variable; end
- # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#192
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#161
sig { returns(T::Boolean) }
def fixed?; end
- # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#173
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#155
sig { returns(T.nilable(::String)) }
def name; end
- # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#197
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#166
sig { returns(::String) }
def serialize; end
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#136
+ sig { returns(::Tapioca::TypeVariableModule::Type) }
+ def type; end
+
private
- # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#246
+ # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#188
sig { returns(T::Hash[::Symbol, T.untyped]) }
def bounds; end
-
- # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#222
- sig do
- params(
- fixed: T.untyped,
- lower: T.untyped,
- upper: T.untyped
- ).returns(T.proc.returns(T::Hash[::Symbol, T.untyped]))
- end
- def build_bounds_proc(fixed, lower, upper); end
-
- # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#236
- sig do
- type_parameters(:Result)
- .params(
- block: T.proc.returns(T.type_parameter(:Result))
- ).returns(T.type_parameter(:Result))
- end
- def with_bound_name_pre_3_0(&block); end
end
-# source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#139
+# source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#133
+Tapioca::TypeVariableModule::DEFAULT_BOUNDS_PROC = T.let(T.unsafe(nil), Proc)
+
+# source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#125
class Tapioca::TypeVariableModule::Type < ::T::Enum
enums do
Member = new
Template = new
+ HasAttachedClass = new
end
end
@@ -3263,14 +3472,14 @@ class URI::Source < ::URI::File
sig { params(v: T.nilable(::String)).returns(T::Boolean) }
def check_host(v); end
- # source://uri/0.12.0/uri/generic.rb#243
+ # source://uri/0.12.1/uri/generic.rb#243
def gem_name; end
# source://tapioca//lib/tapioca/helpers/source_uri.rb#25
sig { returns(T.nilable(::String)) }
def gem_version; end
- # source://uri/0.12.0/uri/generic.rb#283
+ # source://uri/0.12.1/uri/generic.rb#283
def line_number; end
# source://tapioca//lib/tapioca/helpers/source_uri.rb#51
diff --git a/sorbet/rbi/gems/thor@1.2.2.rbi b/sorbet/rbi/gems/thor@1.3.0.rbi
similarity index 80%
rename from sorbet/rbi/gems/thor@1.2.2.rbi
rename to sorbet/rbi/gems/thor@1.3.0.rbi
index dcb11ee22..9ed8f62fc 100644
--- a/sorbet/rbi/gems/thor@1.2.2.rbi
+++ b/sorbet/rbi/gems/thor@1.3.0.rbi
@@ -4,6 +4,30 @@
# This is an autogenerated file for types exported from the `thor` gem.
# Please instead update this file by running `bin/tapioca gem thor`.
+# source://thor//lib/thor/shell/lcs_diff.rb#1
+module LCSDiff
+ protected
+
+ # Overwrite show_diff to show diff with colors if Diff::LCS is
+ # available.
+ #
+ # source://thor//lib/thor/shell/lcs_diff.rb#6
+ def show_diff(destination, content); end
+
+ private
+
+ # Check if Diff::LCS is loaded. If it is, use it to create pretty output
+ # for diff.
+ #
+ # @return [Boolean]
+ #
+ # source://thor//lib/thor/shell/lcs_diff.rb#37
+ def diff_lcs_loaded?; end
+
+ # source://thor//lib/thor/shell/lcs_diff.rb#21
+ def output_diff_line(diff); end
+end
+
# source://thor//lib/thor/command.rb#1
class Thor
include ::Thor::Base
@@ -12,23 +36,63 @@ class Thor
extend ::Thor::Base::ClassMethods
extend ::Thor::Invocation::ClassMethods
- # source://thor//lib/thor.rb#505
+ # source://thor//lib/thor.rb#652
def help(command = T.unsafe(nil), subcommand = T.unsafe(nil)); end
class << self
+ # Adds and declares option group for required at least one of options in the
+ # block of arguments. You can declare options as the outside of the block.
+ #
+ # If :for is given as option, it allows you to change the options from
+ # a previous defined command.
+ #
+ # ==== Parameters
+ # Array[Thor::Option.name]
+ # options:: :for is applied for previous defined command.
+ #
+ # ==== Examples
+ #
+ # at_least_one do
+ # option :one
+ # option :two
+ # end
+ #
+ # Or
+ #
+ # option :one
+ # option :two
+ # at_least_one :one, :two
+ #
+ # If you do not give "--one" and "--two" AtLeastOneRequiredArgumentError
+ # will be raised.
+ #
+ # You can use at_least_one and exclusive at the same time.
+ #
+ # exclusive do
+ # at_least_one do
+ # option :one
+ # option :two
+ # end
+ # end
+ #
+ # Then it is required either only one of "--one" or "--two".
+ #
+ # source://thor//lib/thor.rb#246
+ def at_least_one(*args, &block); end
+
# Extend check unknown options to accept a hash of conditions.
#
# === Parameters
# options: A hash containing :only and/or :except keys
#
- # source://thor//lib/thor.rb#255
+ # source://thor//lib/thor.rb#350
def check_unknown_options!(options = T.unsafe(nil)); end
# Overwrite check_unknown_options? to take subcommands and options into account.
#
# @return [Boolean]
#
- # source://thor//lib/thor.rb#268
+ # source://thor//lib/thor.rb#363
def check_unknown_options?(config); end
# Prints help information for the given command.
@@ -37,7 +101,7 @@ class Thor
# shell
# command_name
#
- # source://thor//lib/thor.rb#172
+ # source://thor//lib/thor.rb#258
def command_help(shell, command_name); end
# Sets the default command when thor is executed without an explicit command to be called.
@@ -76,28 +140,64 @@ class Thor
# ==== Parameters
# Symbol ...:: A list of commands that should be affected.
#
- # source://thor//lib/thor.rb#339
+ # source://thor//lib/thor.rb#434
def disable_required_check!(*command_names); end
# @return [Boolean]
#
- # source://thor//lib/thor.rb#343
+ # source://thor//lib/thor.rb#438
def disable_required_check?(command); end
+ # Adds and declares option group for exclusive options in the
+ # block and arguments. You can declare options as the outside of the block.
+ #
+ # If :for is given as option, it allows you to change the options from
+ # a previous defined command.
+ #
+ # ==== Parameters
+ # Array[Thor::Option.name]
+ # options:: :for is applied for previous defined command.
+ #
+ # ==== Examples
+ #
+ # exclusive do
+ # option :one
+ # option :two
+ # end
+ #
+ # Or
+ #
+ # option :one
+ # option :two
+ # exclusive :one, :two
+ #
+ # If you give "--one" and "--two" at the same time ExclusiveArgumentsError
+ # will be raised.
+ #
+ # source://thor//lib/thor.rb#203
+ def exclusive(*args, &block); end
+
# Prints help information for this class.
#
# ==== Parameters
# shell
#
- # source://thor//lib/thor.rb#195
+ # source://thor//lib/thor.rb#288
def help(shell, subcommand = T.unsafe(nil)); end
# Defines the long description of the next command.
#
+ # Long description is by default indented, line-wrapped and repeated whitespace merged.
+ # In order to print long description verbatim, with indentation and spacing exactly
+ # as found in the code, use the +wrap+ option
+ #
+ # long_desc 'your very long description', wrap: false
+ #
# ==== Parameters
# long description
+ # options
#
- # source://thor//lib/thor.rb#71
+ # source://thor//lib/thor.rb#78
def long_desc(long_description, options = T.unsafe(nil)); end
# Maps an input to a command. If you define:
@@ -113,9 +213,78 @@ class Thor
# ==== Parameters
# Hash[String|Array => Symbol]:: Maps the string or the strings in the array to the given command.
#
- # source://thor//lib/thor.rb#93
+ # source://thor//lib/thor.rb#101
def map(mappings = T.unsafe(nil), **kw); end
+ # Adds and declares option group for required at least one of options in the
+ # block of arguments. You can declare options as the outside of the block.
+ #
+ # If :for is given as option, it allows you to change the options from
+ # a previous defined command.
+ #
+ # ==== Parameters
+ # Array[Thor::Option.name]
+ # options:: :for is applied for previous defined command.
+ #
+ # ==== Examples
+ #
+ # at_least_one do
+ # option :one
+ # option :two
+ # end
+ #
+ # Or
+ #
+ # option :one
+ # option :two
+ # at_least_one :one, :two
+ #
+ # If you do not give "--one" and "--two" AtLeastOneRequiredArgumentError
+ # will be raised.
+ #
+ # You can use at_least_one and exclusive at the same time.
+ #
+ # exclusive do
+ # at_least_one do
+ # option :one
+ # option :two
+ # end
+ # end
+ #
+ # Then it is required either only one of "--one" or "--two".
+ #
+ # source://thor//lib/thor.rb#246
+ def method_at_least_one(*args, &block); end
+
+ # Adds and declares option group for exclusive options in the
+ # block and arguments. You can declare options as the outside of the block.
+ #
+ # If :for is given as option, it allows you to change the options from
+ # a previous defined command.
+ #
+ # ==== Parameters
+ # Array[Thor::Option.name]
+ # options:: :for is applied for previous defined command.
+ #
+ # ==== Examples
+ #
+ # exclusive do
+ # option :one
+ # option :two
+ # end
+ #
+ # Or
+ #
+ # option :one
+ # option :two
+ # exclusive :one, :two
+ #
+ # If you give "--one" and "--two" at the same time ExclusiveArgumentsError
+ # will be raised.
+ #
+ # source://thor//lib/thor.rb#203
+ def method_exclusive(*args, &block); end
+
# Adds an option to the set of method options. If :for is given as option,
# it allows you to change the options from a previous defined command.
#
@@ -123,7 +292,7 @@ class Thor
# # magic
# end
#
- # method_option :foo => :bar, :for => :previous_command
+ # method_option :foo, :for => :previous_command
#
# def next_command
# # magic
@@ -142,7 +311,7 @@ class Thor
# :banner - String to show on usage notes.
# :hide - If you want to hide this option from the help.
#
- # source://thor//lib/thor.rb#155
+ # source://thor//lib/thor.rb#163
def method_option(name, options = T.unsafe(nil)); end
# Declares the options for the next command to be declared.
@@ -152,7 +321,7 @@ class Thor
# is the type of the option. Can be :string, :array, :hash, :boolean, :numeric
# or :required (string). If you give a value, the type of the value is used.
#
- # source://thor//lib/thor.rb#121
+ # source://thor//lib/thor.rb#129
def method_options(options = T.unsafe(nil)); end
# Adds an option to the set of method options. If :for is given as option,
@@ -162,7 +331,7 @@ class Thor
# # magic
# end
#
- # method_option :foo => :bar, :for => :previous_command
+ # method_option :foo, :for => :previous_command
#
# def next_command
# # magic
@@ -181,7 +350,7 @@ class Thor
# :banner - String to show on usage notes.
# :hide - If you want to hide this option from the help.
#
- # source://thor//lib/thor.rb#155
+ # source://thor//lib/thor.rb#163
def option(name, options = T.unsafe(nil)); end
# Declares the options for the next command to be declared.
@@ -191,7 +360,7 @@ class Thor
# is the type of the option. Can be :string, :array, :hash, :boolean, :numeric
# or :required (string). If you give a value, the type of the value is used.
#
- # source://thor//lib/thor.rb#121
+ # source://thor//lib/thor.rb#129
def options(options = T.unsafe(nil)); end
# Allows for custom "Command" package naming.
@@ -205,12 +374,12 @@ class Thor
# Returns commands ready to be printed.
#
- # source://thor//lib/thor.rb#214
+ # source://thor//lib/thor.rb#309
def printable_commands(all = T.unsafe(nil), subcommand = T.unsafe(nil)); end
# Returns commands ready to be printed.
#
- # source://thor//lib/thor.rb#214
+ # source://thor//lib/thor.rb#309
def printable_tasks(all = T.unsafe(nil), subcommand = T.unsafe(nil)); end
# Registers another Thor subclass as a command.
@@ -262,27 +431,27 @@ class Thor
# ==== Parameters
# Symbol ...:: A list of commands that should be affected.
#
- # source://thor//lib/thor.rb#325
+ # source://thor//lib/thor.rb#420
def stop_on_unknown_option!(*command_names); end
# @return [Boolean]
#
- # source://thor//lib/thor.rb#329
+ # source://thor//lib/thor.rb#424
def stop_on_unknown_option?(command); end
- # source://thor//lib/thor.rb#234
+ # source://thor//lib/thor.rb#329
def subcommand(subcommand, subcommand_class); end
- # source://thor//lib/thor.rb#230
+ # source://thor//lib/thor.rb#325
def subcommand_classes; end
- # source://thor//lib/thor.rb#225
+ # source://thor//lib/thor.rb#320
def subcommands; end
- # source://thor//lib/thor.rb#234
+ # source://thor//lib/thor.rb#329
def subtask(subcommand, subcommand_class); end
- # source://thor//lib/thor.rb#225
+ # source://thor//lib/thor.rb#320
def subtasks; end
# Prints help information for the given command.
@@ -291,7 +460,7 @@ class Thor
# shell
# command_name
#
- # source://thor//lib/thor.rb#172
+ # source://thor//lib/thor.rb#258
def task_help(shell, command_name); end
protected
@@ -301,50 +470,66 @@ class Thor
# the command that is going to be invoked and a boolean which indicates if
# the namespace should be displayed as arguments.
#
- # source://thor//lib/thor.rb#400
+ # source://thor//lib/thor.rb#535
def banner(command, namespace = T.unsafe(nil), subcommand = T.unsafe(nil)); end
- # source://thor//lib/thor.rb#406
+ # source://thor//lib/thor.rb#541
def baseclass; end
- # source://thor//lib/thor.rb#414
+ # source://thor//lib/thor.rb#549
def create_command(meth); end
- # source://thor//lib/thor.rb#414
+ # source://thor//lib/thor.rb#549
def create_task(meth); end
# help command has the required check disabled by default.
#
- # source://thor//lib/thor.rb#354
+ # source://thor//lib/thor.rb#467
def disable_required_check; end
# The method responsible for dispatching given the args.
#
# @yield [instance]
#
- # source://thor//lib/thor.rb#359
+ # source://thor//lib/thor.rb#494
def dispatch(meth, given_args, given_opts, config); end
- # source://thor//lib/thor.rb#410
+ # source://thor//lib/thor.rb#545
def dynamic_command_class; end
# this is the logic that takes the command name passed in by the user
# and determines whether it is an unambiguous substrings of a command or
# alias name.
#
- # source://thor//lib/thor.rb#476
+ # source://thor//lib/thor.rb#615
def find_command_possibilities(meth); end
# this is the logic that takes the command name passed in by the user
# and determines whether it is an unambiguous substrings of a command or
# alias name.
#
- # source://thor//lib/thor.rb#476
+ # source://thor//lib/thor.rb#615
def find_task_possibilities(meth); end
- # source://thor//lib/thor.rb#436
+ # source://thor//lib/thor.rb#575
def initialize_added; end
+ # Returns this class at least one of required options array set.
+ #
+ # ==== Returns
+ # Array[Array[Thor::Option.name]]
+ #
+ # source://thor//lib/thor.rb#458
+ def method_at_least_one_option_names; end
+
+ # Returns this class exclusive options array set.
+ #
+ # ==== Returns
+ # Array[Array[Thor::Option.name]]
+ #
+ # source://thor//lib/thor.rb#449
+ def method_exclusive_option_names; end
+
# receives a (possibly nil) command name and returns a name that is in
# the commands hash. In addition to normalizing aliases, this logic
# will determine if a shortened command is an unambiguous substring of
@@ -355,7 +540,7 @@ class Thor
#
# @raise [AmbiguousTaskError]
#
- # source://thor//lib/thor.rb#455
+ # source://thor//lib/thor.rb#594
def normalize_command_name(meth); end
# receives a (possibly nil) command name and returns a name that is in
@@ -368,26 +553,40 @@ class Thor
#
# @raise [AmbiguousTaskError]
#
- # source://thor//lib/thor.rb#455
+ # source://thor//lib/thor.rb#594
def normalize_task_name(meth); end
+ # source://thor//lib/thor.rb#482
+ def print_at_least_one_required_options(shell, command = T.unsafe(nil)); end
+
+ # source://thor//lib/thor.rb#471
+ def print_exclusive_options(shell, command = T.unsafe(nil)); end
+
# Retrieve the command name from given args.
#
- # source://thor//lib/thor.rb#442
+ # source://thor//lib/thor.rb#581
def retrieve_command_name(args); end
# Retrieve the command name from given args.
#
- # source://thor//lib/thor.rb#442
+ # source://thor//lib/thor.rb#581
def retrieve_task_name(args); end
- # source://thor//lib/thor.rb#349
+ # Sort the commands, lexicographically by default.
+ #
+ # Can be overridden in the subclass to change the display order of the
+ # commands.
+ #
+ # source://thor//lib/thor.rb#642
+ def sort_commands!(list); end
+
+ # source://thor//lib/thor.rb#462
def stop_on_unknown_option; end
- # source://thor//lib/thor.rb#491
+ # source://thor//lib/thor.rb#630
def subcommand_help(cmd); end
- # source://thor//lib/thor.rb#491
+ # source://thor//lib/thor.rb#630
def subtask_help(cmd); end
end
end
@@ -463,7 +662,7 @@ module Thor::Actions
# 'config.gem "rspec"'
# end
#
- # source://thor//lib/thor/actions/file_manipulation.rb#195
+ # source://thor//lib/thor/actions/file_manipulation.rb#193
def append_file(path, *args, &block); end
# Append text to a file. Since it depends on insert_into_file, it's reversible.
@@ -481,7 +680,7 @@ module Thor::Actions
# 'config.gem "rspec"'
# end
#
- # source://thor//lib/thor/actions/file_manipulation.rb#195
+ # source://thor//lib/thor/actions/file_manipulation.rb#193
def append_to_file(path, *args, &block); end
# Loads an external file and execute it in the instance binding.
@@ -522,7 +721,7 @@ module Thor::Actions
#
# chmod "script/server", 0755
#
- # source://thor//lib/thor/actions/file_manipulation.rb#148
+ # source://thor//lib/thor/actions/file_manipulation.rb#146
def chmod(path, mode, config = T.unsafe(nil)); end
# Comment all lines matching a given regex. It will leave the space
@@ -538,7 +737,7 @@ module Thor::Actions
#
# comment_lines 'config/initializers/session_store.rb', /cookie_store/
#
- # source://thor//lib/thor/actions/file_manipulation.rb#312
+ # source://thor//lib/thor/actions/file_manipulation.rb#310
def comment_lines(path, flag, *args); end
# ==== Examples
@@ -673,17 +872,20 @@ module Thor::Actions
# ==== Parameters
# source:: the address of the given content.
# destination:: the relative path to the destination root.
- # config:: give :verbose => false to not log the status.
+ # config:: give :verbose => false to not log the status, and
+ # :http_headers => to add headers to an http request.
#
# ==== Examples
#
# get "http://gist.github.com/103208", "doc/README"
#
+ # get "http://gist.github.com/103208", "doc/README", :http_headers => {"Content-Type" => "application/json"}
+ #
# get "http://gist.github.com/103208" do |content|
# content.split("\n").first
# end
#
- # source://thor//lib/thor/actions/file_manipulation.rb#79
+ # source://thor//lib/thor/actions/file_manipulation.rb#82
def get(source, *args, &block); end
# Run a regular expression replacement on a file.
@@ -703,7 +905,7 @@ module Thor::Actions
# match << " no more. Use thor!"
# end
#
- # source://thor//lib/thor/actions/file_manipulation.rb#265
+ # source://thor//lib/thor/actions/file_manipulation.rb#263
def gsub_file(path, flag, *args, &block); end
# Goes to the root and execute the given block.
@@ -728,7 +930,7 @@ module Thor::Actions
# " filter_parameter :password\n"
# end
#
- # source://thor//lib/thor/actions/file_manipulation.rb#219
+ # source://thor//lib/thor/actions/file_manipulation.rb#217
def inject_into_class(path, klass, *args, &block); end
# source://thor//lib/thor/actions/inject_into_file.rb#26
@@ -751,7 +953,7 @@ module Thor::Actions
# " def help; 'help'; end\n"
# end
#
- # source://thor//lib/thor/actions/file_manipulation.rb#242
+ # source://thor//lib/thor/actions/file_manipulation.rb#240
def inject_into_module(path, module_name, *args, &block); end
# source://thor//lib/thor/actions/inject_into_file.rb#26
@@ -803,7 +1005,7 @@ module Thor::Actions
# 'config.gem "rspec"'
# end
#
- # source://thor//lib/thor/actions/file_manipulation.rb#173
+ # source://thor//lib/thor/actions/file_manipulation.rb#171
def prepend_file(path, *args, &block); end
# Prepend text to a file. Since it depends on insert_into_file, it's reversible.
@@ -821,7 +1023,7 @@ module Thor::Actions
# 'config.gem "rspec"'
# end
#
- # source://thor//lib/thor/actions/file_manipulation.rb#173
+ # source://thor//lib/thor/actions/file_manipulation.rb#171
def prepend_to_file(path, *args, &block); end
# Returns the given path relative to the absolute root (ie, root where
@@ -841,7 +1043,7 @@ module Thor::Actions
# remove_file 'README'
# remove_file 'app/controllers/application_controller.rb'
#
- # source://thor//lib/thor/actions/file_manipulation.rb#329
+ # source://thor//lib/thor/actions/file_manipulation.rb#327
def remove_dir(path, config = T.unsafe(nil)); end
# Removes a file at the given location.
@@ -855,7 +1057,7 @@ module Thor::Actions
# remove_file 'README'
# remove_file 'app/controllers/application_controller.rb'
#
- # source://thor//lib/thor/actions/file_manipulation.rb#329
+ # source://thor//lib/thor/actions/file_manipulation.rb#327
def remove_file(path, config = T.unsafe(nil)); end
# Executes a command returning the contents of the command.
@@ -871,7 +1073,7 @@ module Thor::Actions
# run('ln -s ~/edge rails')
# end
#
- # source://thor//lib/thor/actions.rb#249
+ # source://thor//lib/thor/actions.rb#248
def run(command, config = T.unsafe(nil)); end
# Executes a ruby script (taking into account WIN32 platform quirks).
@@ -880,7 +1082,7 @@ module Thor::Actions
# command:: the command to be executed.
# config:: give :verbose => false to not log the status.
#
- # source://thor//lib/thor/actions.rb#286
+ # source://thor//lib/thor/actions.rb#285
def run_ruby_script(command, config = T.unsafe(nil)); end
# Holds source paths in instance so they can be manipulated.
@@ -903,7 +1105,7 @@ module Thor::Actions
#
# template "doc/README"
#
- # source://thor//lib/thor/actions/file_manipulation.rb#115
+ # source://thor//lib/thor/actions/file_manipulation.rb#118
def template(source, *args, &block); end
# Run a thor command. A hash of options can be given and it's converted to
@@ -924,7 +1126,7 @@ module Thor::Actions
# thor :list, :all => true, :substring => 'rails'
# #=> thor list --all --substring=rails
#
- # source://thor//lib/thor/actions.rb#309
+ # source://thor//lib/thor/actions.rb#308
def thor(command, *args); end
# Uncomment all lines matching a given regex. It will leave the space
@@ -940,40 +1142,40 @@ module Thor::Actions
#
# uncomment_lines 'config/initializers/session_store.rb', /active_record/
#
- # source://thor//lib/thor/actions/file_manipulation.rb#293
+ # source://thor//lib/thor/actions/file_manipulation.rb#291
def uncomment_lines(path, flag, *args); end
protected
- # source://thor//lib/thor/actions.rb#330
+ # source://thor//lib/thor/actions.rb#329
def _cleanup_options_and_set(options, key); end
# Allow current root to be shared between invocations.
#
- # source://thor//lib/thor/actions.rb#326
+ # source://thor//lib/thor/actions.rb#325
def _shared_configuration; end
private
- # source://thor//lib/thor/actions/file_manipulation.rb#350
+ # source://thor//lib/thor/actions/file_manipulation.rb#348
def capture(*args); end
- # source://thor//lib/thor/actions/file_manipulation.rb#346
+ # source://thor//lib/thor/actions/file_manipulation.rb#344
def concat(string); end
# Returns the value of attribute output_buffer.
#
- # source://thor//lib/thor/actions/file_manipulation.rb#341
+ # source://thor//lib/thor/actions/file_manipulation.rb#339
def output_buffer; end
# Sets the attribute output_buffer
#
# @param value the value to set the attribute output_buffer to.
#
- # source://thor//lib/thor/actions/file_manipulation.rb#341
+ # source://thor//lib/thor/actions/file_manipulation.rb#339
def output_buffer=(_arg0); end
- # source://thor//lib/thor/actions/file_manipulation.rb#354
+ # source://thor//lib/thor/actions/file_manipulation.rb#352
def with_output_buffer(buf = T.unsafe(nil)); end
class << self
@@ -985,9 +1187,9 @@ end
# Thor::Actions#capture depends on what kind of buffer is used in ERB.
# Thus CapturableERB fixes ERB to use String buffer.
#
-# source://thor//lib/thor/actions/file_manipulation.rb#366
+# source://thor//lib/thor/actions/file_manipulation.rb#364
class Thor::Actions::CapturableERB < ::ERB
- # source://thor//lib/thor/actions/file_manipulation.rb#367
+ # source://thor//lib/thor/actions/file_manipulation.rb#365
def set_eoutvar(compiler, eoutvar = T.unsafe(nil)); end
end
@@ -1043,12 +1245,12 @@ class Thor::Actions::CreateFile < ::Thor::Actions::EmptyDirectory
# source://thor//lib/thor/actions/create_file.rb#45
def identical?; end
- # source://thor//lib/thor/actions/create_file.rb#59
+ # source://thor//lib/thor/actions/create_file.rb#60
def invoke!; end
# Holds the content to be added to the file.
#
- # source://thor//lib/thor/actions/create_file.rb#51
+ # source://thor//lib/thor/actions/create_file.rb#52
def render; end
protected
@@ -1057,19 +1259,19 @@ class Thor::Actions::CreateFile < ::Thor::Actions::EmptyDirectory
#
# @return [Boolean]
#
- # source://thor//lib/thor/actions/create_file.rb#99
+ # source://thor//lib/thor/actions/create_file.rb#100
def force_on_collision?; end
# If force is true, run the action, otherwise check if it's not being
# skipped. If both are false, show the file_collision menu, if the menu
# returns true, force it, otherwise skip.
#
- # source://thor//lib/thor/actions/create_file.rb#85
+ # source://thor//lib/thor/actions/create_file.rb#86
def force_or_skip_or_conflict(force, skip, &block); end
# Now on conflict we check if the file is identical or not.
#
- # source://thor//lib/thor/actions/create_file.rb#72
+ # source://thor//lib/thor/actions/create_file.rb#73
def on_conflict_behavior(&block); end
end
@@ -1261,17 +1463,25 @@ class Thor::Actions::InjectIntoFile < ::Thor::Actions::EmptyDirectory
# source://thor//lib/thor/actions/inject_into_file.rb#37
def replacement; end
- # source://thor//lib/thor/actions/inject_into_file.rb#72
+ # source://thor//lib/thor/actions/inject_into_file.rb#74
def revoke!; end
protected
+ # source://thor//lib/thor/actions/inject_into_file.rb#110
+ def content; end
+
# Adds the content to the file.
#
- # source://thor//lib/thor/actions/inject_into_file.rb#108
+ # source://thor//lib/thor/actions/inject_into_file.rb#120
def replace!(regexp, string, force); end
- # source://thor//lib/thor/actions/inject_into_file.rb#88
+ # @return [Boolean]
+ #
+ # source://thor//lib/thor/actions/inject_into_file.rb#114
+ def replacement_present?; end
+
+ # source://thor//lib/thor/actions/inject_into_file.rb#90
def say_status(behavior, warning: T.unsafe(nil), color: T.unsafe(nil)); end
end
@@ -1297,10 +1507,10 @@ end
# source://thor//lib/thor/actions/inject_into_file.rb#24
Thor::Actions::WARNINGS = T.let(T.unsafe(nil), Hash)
-# source://thor//lib/thor/error.rb#68
+# source://thor//lib/thor/error.rb#57
class Thor::AmbiguousCommandError < ::Thor::Error; end
-# source://thor//lib/thor/error.rb#70
+# source://thor//lib/thor/error.rb#59
Thor::AmbiguousTaskError = Thor::AmbiguousCommandError
# source://thor//lib/thor/parser/argument.rb#2
@@ -1331,6 +1541,9 @@ class Thor::Argument
# source://thor//lib/thor/parser/argument.rb#5
def enum; end
+ # source://thor//lib/thor/parser/argument.rb#55
+ def enum_to_s; end
+
# Returns the value of attribute name.
#
# source://thor//lib/thor/parser/argument.rb#5
@@ -1341,6 +1554,9 @@ class Thor::Argument
# source://thor//lib/thor/parser/argument.rb#5
def name; end
+ # source://thor//lib/thor/parser/argument.rb#27
+ def print_default; end
+
# Returns the value of attribute required.
#
# source://thor//lib/thor/parser/argument.rb#5
@@ -1348,12 +1564,12 @@ class Thor::Argument
# @return [Boolean]
#
- # source://thor//lib/thor/parser/argument.rb#31
+ # source://thor//lib/thor/parser/argument.rb#42
def required?; end
# @return [Boolean]
#
- # source://thor//lib/thor/parser/argument.rb#35
+ # source://thor//lib/thor/parser/argument.rb#46
def show_default?; end
# Returns the value of attribute type.
@@ -1361,22 +1577,22 @@ class Thor::Argument
# source://thor//lib/thor/parser/argument.rb#5
def type; end
- # source://thor//lib/thor/parser/argument.rb#27
+ # source://thor//lib/thor/parser/argument.rb#38
def usage; end
protected
- # source://thor//lib/thor/parser/argument.rb#55
+ # source://thor//lib/thor/parser/argument.rb#74
def default_banner; end
# @return [Boolean]
#
- # source://thor//lib/thor/parser/argument.rb#51
+ # source://thor//lib/thor/parser/argument.rb#70
def valid_type?(type); end
# @raise [ArgumentError]
#
- # source://thor//lib/thor/parser/argument.rb#46
+ # source://thor//lib/thor/parser/argument.rb#65
def validate!; end
end
@@ -1392,10 +1608,10 @@ class Thor::Arguments
# source://thor//lib/thor/parser/arguments.rb#26
def initialize(arguments = T.unsafe(nil)); end
- # source://thor//lib/thor/parser/arguments.rb#44
+ # source://thor//lib/thor/parser/arguments.rb#40
def parse(args); end
- # source://thor//lib/thor/parser/arguments.rb#57
+ # source://thor//lib/thor/parser/arguments.rb#53
def remaining; end
private
@@ -1404,22 +1620,22 @@ class Thor::Arguments
#
# @raise [RequiredArgumentMissingError]
#
- # source://thor//lib/thor/parser/arguments.rb#170
+ # source://thor//lib/thor/parser/arguments.rb#186
def check_requirement!; end
# @return [Boolean]
#
- # source://thor//lib/thor/parser/arguments.rb#88
+ # source://thor//lib/thor/parser/arguments.rb#84
def current_is_value?; end
# @return [Boolean]
#
- # source://thor//lib/thor/parser/arguments.rb#68
+ # source://thor//lib/thor/parser/arguments.rb#64
def last?; end
# @return [Boolean]
#
- # source://thor//lib/thor/parser/arguments.rb#63
+ # source://thor//lib/thor/parser/arguments.rb#59
def no_or_skip?(arg); end
# Runs through the argument array getting all strings until no string is
@@ -1431,7 +1647,7 @@ class Thor::Arguments
#
# ["a", "b", "c"]
#
- # source://thor//lib/thor/parser/arguments.rb#122
+ # source://thor//lib/thor/parser/arguments.rb#118
def parse_array(name); end
# Runs through the argument array getting strings that contains ":" and
@@ -1443,14 +1659,14 @@ class Thor::Arguments
#
# { "name" => "string", "age" => "integer" }
#
- # source://thor//lib/thor/parser/arguments.rb#101
+ # source://thor//lib/thor/parser/arguments.rb#97
def parse_hash(name); end
# Check if the peek is numeric format and return a Float or Integer.
# Check if the peek is included in enum if enum is provided.
# Otherwise raises an error.
#
- # source://thor//lib/thor/parser/arguments.rb#133
+ # source://thor//lib/thor/parser/arguments.rb#139
def parse_numeric(name); end
# Parse string:
@@ -1458,18 +1674,23 @@ class Thor::Arguments
# for --no-string-arg, nil
# Check if the peek is included in enum if enum is provided. Otherwise raises an error.
#
- # source://thor//lib/thor/parser/arguments.rb#154
+ # source://thor//lib/thor/parser/arguments.rb#158
def parse_string(name); end
- # source://thor//lib/thor/parser/arguments.rb#72
+ # source://thor//lib/thor/parser/arguments.rb#68
def peek; end
- # source://thor//lib/thor/parser/arguments.rb#76
+ # source://thor//lib/thor/parser/arguments.rb#72
def shift; end
- # source://thor//lib/thor/parser/arguments.rb#80
+ # source://thor//lib/thor/parser/arguments.rb#76
def unshift(arg); end
+ # Raises an error if the switch is an enum and the values aren't included on it.
+ #
+ # source://thor//lib/thor/parser/arguments.rb#172
+ def validate_enum_value!(name, value, message); end
+
class << self
# source://thor//lib/thor/parser/arguments.rb#19
def parse(*args); end
@@ -1485,6 +1706,9 @@ end
# source://thor//lib/thor/parser/arguments.rb#3
Thor::Arguments::NUMERIC = T.let(T.unsafe(nil), Regexp)
+# source://thor//lib/thor/error.rb#104
+class Thor::AtLeastOneRequiredArgumentError < ::Thor::InvocationError; end
+
# source://thor//lib/thor/shell.rb#4
module Thor::Base
include ::Thor::Invocation
@@ -1549,13 +1773,13 @@ module Thor::Base
def parent_options=(_arg0); end
class << self
- # source://thor//lib/thor/base.rb#100
+ # source://thor//lib/thor/base.rb#116
def included(base); end
# Whenever a class inherits from Thor or Thor::Group, we should track the
# class and the file on Thor::Base. This is the method responsible for it.
#
- # source://thor//lib/thor/base.rb#128
+ # source://thor//lib/thor/base.rb#144
def register_klass_file(klass); end
# Returns the shell used in all Thor classes. If you are in a Unix platform
@@ -1576,7 +1800,7 @@ module Thor::Base
# ==== Returns
# Hash[path => Class]
#
- # source://thor//lib/thor/base.rb#121
+ # source://thor//lib/thor/base.rb#137
def subclass_files; end
# Returns the classes that inherits from Thor or Thor::Group.
@@ -1584,12 +1808,12 @@ module Thor::Base
# ==== Returns
# Array[Class]
#
- # source://thor//lib/thor/base.rb#112
+ # source://thor//lib/thor/base.rb#128
def subclasses; end
end
end
-# source://thor//lib/thor/base.rb#137
+# source://thor//lib/thor/base.rb#153
module Thor::Base::ClassMethods
# Returns the commands for this Thor class and all subclasses.
#
@@ -1597,7 +1821,7 @@ module Thor::Base::ClassMethods
# Hash:: An ordered hash with commands names as keys and Thor::Command
# objects as values.
#
- # source://thor//lib/thor/base.rb#383
+ # source://thor//lib/thor/base.rb#482
def all_commands; end
# Returns the commands for this Thor class and all subclasses.
@@ -1606,13 +1830,13 @@ module Thor::Base::ClassMethods
# Hash:: An ordered hash with commands names as keys and Thor::Command
# objects as values.
#
- # source://thor//lib/thor/base.rb#383
+ # source://thor//lib/thor/base.rb#482
def all_tasks; end
# If you want to use defaults that don't match the type of an option,
# either specify `check_default_type: false` or call `allow_incompatible_default_type!`
#
- # source://thor//lib/thor/base.rb#173
+ # source://thor//lib/thor/base.rb#189
def allow_incompatible_default_type!; end
# Adds an argument to the class and creates an attr_accessor for it.
@@ -1650,7 +1874,7 @@ module Thor::Base::ClassMethods
# ==== Errors
# ArgumentError:: Raised if you supply a required argument after a non required one.
#
- # source://thor//lib/thor/base.rb#245
+ # source://thor//lib/thor/base.rb#261
def argument(name, options = T.unsafe(nil)); end
# Returns this class arguments, looking up in the ancestors chain.
@@ -1658,42 +1882,116 @@ module Thor::Base::ClassMethods
# ==== Returns
# Array[Thor::Argument]
#
- # source://thor//lib/thor/base.rb#277
+ # source://thor//lib/thor/base.rb#293
def arguments; end
- # source://thor//lib/thor/base.rb#146
+ # source://thor//lib/thor/base.rb#162
def attr_accessor(*_arg0); end
- # source://thor//lib/thor/base.rb#138
+ # source://thor//lib/thor/base.rb#154
def attr_reader(*_arg0); end
- # source://thor//lib/thor/base.rb#142
+ # source://thor//lib/thor/base.rb#158
def attr_writer(*_arg0); end
- # source://thor//lib/thor/base.rb#177
+ # source://thor//lib/thor/base.rb#193
def check_default_type; end
# If you want to raise an error when the default value of an option does not match
# the type call check_default_type!
# This will be the default; for compatibility a deprecation warning is issued if necessary.
#
- # source://thor//lib/thor/base.rb#167
+ # source://thor//lib/thor/base.rb#183
def check_default_type!; end
- # source://thor//lib/thor/base.rb#156
+ # source://thor//lib/thor/base.rb#172
def check_unknown_options; end
# If you want to raise an error for unknown options, call check_unknown_options!
# This is disabled by default to allow dynamic invocations.
#
- # source://thor//lib/thor/base.rb#152
+ # source://thor//lib/thor/base.rb#168
def check_unknown_options!; end
# @return [Boolean]
#
- # source://thor//lib/thor/base.rb#160
+ # source://thor//lib/thor/base.rb#176
def check_unknown_options?(config); end
+ # Adds and declares option group for required at least one of options in the
+ # block and arguments. You can declare options as the outside of the block.
+ #
+ # ==== Examples
+ #
+ # class_at_least_one do
+ # class_option :one
+ # class_option :two
+ # end
+ #
+ # Or
+ #
+ # class_option :one
+ # class_option :two
+ # class_at_least_one :one, :two
+ #
+ # If you do not give "--one" and "--two" AtLeastOneRequiredArgumentError
+ # will be raised.
+ #
+ # You can use class_at_least_one and class_exclusive at the same time.
+ #
+ # class_exclusive do
+ # class_at_least_one do
+ # class_option :one
+ # class_option :two
+ # end
+ # end
+ #
+ # Then it is required either only one of "--one" or "--two".
+ #
+ # source://thor//lib/thor/base.rb#392
+ def class_at_least_one(*args, &block); end
+
+ # Returns this class at least one of required options array set, looking up in the ancestors chain.
+ #
+ # ==== Returns
+ # Array[Array[Thor::Option.name]]
+ #
+ # source://thor//lib/thor/base.rb#411
+ def class_at_least_one_option_names; end
+
+ # Adds and declares option group for exclusive options in the
+ # block and arguments. You can declare options as the outside of the block.
+ #
+ # ==== Parameters
+ # Array[Thor::Option.name]
+ #
+ # ==== Examples
+ #
+ # class_exclusive do
+ # class_option :one
+ # class_option :two
+ # end
+ #
+ # Or
+ #
+ # class_option :one
+ # class_option :two
+ # class_exclusive :one, :two
+ #
+ # If you give "--one" and "--two" at the same time ExclusiveArgumentsError
+ # will be raised.
+ #
+ # source://thor//lib/thor/base.rb#357
+ def class_exclusive(*args, &block); end
+
+ # Returns this class exclusive options array set, looking up in the ancestors chain.
+ #
+ # ==== Returns
+ # Array[Array[Thor::Option.name]]
+ #
+ # source://thor//lib/thor/base.rb#402
+ def class_exclusive_option_names; end
+
# Adds an option to the set of class options
#
# ==== Parameters
@@ -1710,7 +2008,7 @@ module Thor::Base::ClassMethods
# :banner:: -- String to show on usage notes.
# :hide:: -- If you want to hide this option from the help.
#
- # source://thor//lib/thor/base.rb#312
+ # source://thor//lib/thor/base.rb#328
def class_option(name, options = T.unsafe(nil)); end
# Adds a bunch of options to the set of class options.
@@ -1722,7 +2020,7 @@ module Thor::Base::ClassMethods
# ==== Parameters
# Hash[Symbol => Object]
#
- # source://thor//lib/thor/base.rb#290
+ # source://thor//lib/thor/base.rb#306
def class_options(options = T.unsafe(nil)); end
# Returns the commands for this Thor class.
@@ -1731,7 +2029,7 @@ module Thor::Base::ClassMethods
# Hash:: An ordered hash with commands names as keys and Thor::Command
# objects as values.
#
- # source://thor//lib/thor/base.rb#372
+ # source://thor//lib/thor/base.rb#471
def commands; end
# If true, option set will not suspend the execution of the command when
@@ -1739,14 +2037,14 @@ module Thor::Base::ClassMethods
#
# @return [Boolean]
#
- # source://thor//lib/thor/base.rb#191
+ # source://thor//lib/thor/base.rb#207
def disable_required_check?(command_name); end
# A flag that makes the process exit with status 1 if any error happens.
#
# @return [Boolean]
#
- # source://thor//lib/thor/base.rb#529
+ # source://thor//lib/thor/base.rb#628
def exit_on_failure?; end
# Defines the group. This is used when thor list is invoked so you can specify
@@ -1755,22 +2053,22 @@ module Thor::Base::ClassMethods
# ==== Parameters
# name
#
- # source://thor//lib/thor/base.rb#358
+ # source://thor//lib/thor/base.rb#457
def group(name = T.unsafe(nil)); end
# @raise [InvocationError]
#
- # source://thor//lib/thor/base.rb#519
+ # source://thor//lib/thor/base.rb#618
def handle_argument_error(command, error, args, arity); end
# @raise [UndefinedCommandError]
#
- # source://thor//lib/thor/base.rb#514
+ # source://thor//lib/thor/base.rb#613
def handle_no_command_error(command, has_namespace = T.unsafe(nil)); end
# @raise [UndefinedCommandError]
#
- # source://thor//lib/thor/base.rb#514
+ # source://thor//lib/thor/base.rb#613
def handle_no_task_error(command, has_namespace = T.unsafe(nil)); end
# Sets the namespace for the Thor or Thor::Group class. By default the
@@ -1795,7 +2093,7 @@ module Thor::Base::ClassMethods
#
# thor :my_command
#
- # source://thor//lib/thor/base.rb#467
+ # source://thor//lib/thor/base.rb#566
def namespace(name = T.unsafe(nil)); end
# All methods defined inside the given block are not added as commands.
@@ -1817,15 +2115,15 @@ module Thor::Base::ClassMethods
# remove_command :this_is_not_a_command
# end
#
- # source://thor//lib/thor/base.rb#431
+ # source://thor//lib/thor/base.rb#530
def no_commands(&block); end
# @return [Boolean]
#
- # source://thor//lib/thor/base.rb#441
+ # source://thor//lib/thor/base.rb#540
def no_commands?; end
- # source://thor//lib/thor/base.rb#437
+ # source://thor//lib/thor/base.rb#536
def no_commands_context; end
# All methods defined inside the given block are not added as commands.
@@ -1847,7 +2145,7 @@ module Thor::Base::ClassMethods
# remove_command :this_is_not_a_command
# end
#
- # source://thor//lib/thor/base.rb#431
+ # source://thor//lib/thor/base.rb#530
def no_tasks(&block); end
# Allows to use private methods from parent in child classes as commands.
@@ -1860,7 +2158,7 @@ module Thor::Base::ClassMethods
# public_command :foo
# public_command :foo, :bar, :baz
#
- # source://thor//lib/thor/base.rb#507
+ # source://thor//lib/thor/base.rb#606
def public_command(*names); end
# Allows to use private methods from parent in child classes as commands.
@@ -1873,7 +2171,7 @@ module Thor::Base::ClassMethods
# public_command :foo
# public_command :foo, :bar, :baz
#
- # source://thor//lib/thor/base.rb#507
+ # source://thor//lib/thor/base.rb#606
def public_task(*names); end
# Removes a previous defined argument. If :undefine is given, undefine
@@ -1887,7 +2185,7 @@ module Thor::Base::ClassMethods
# remove_argument :foo
# remove_argument :foo, :bar, :baz, :undefine => true
#
- # source://thor//lib/thor/base.rb#327
+ # source://thor//lib/thor/base.rb#426
def remove_argument(*names); end
# Removes a previous defined class option.
@@ -1900,7 +2198,7 @@ module Thor::Base::ClassMethods
# remove_class_option :foo
# remove_class_option :foo, :bar, :baz
#
- # source://thor//lib/thor/base.rb#346
+ # source://thor//lib/thor/base.rb#445
def remove_class_option(*names); end
# Removes a given command from this Thor class. This is usually done if you
@@ -1915,7 +2213,7 @@ module Thor::Base::ClassMethods
# options:: You can give :undefine => true if you want commands the method
# to be undefined from the class as well.
#
- # source://thor//lib/thor/base.rb#401
+ # source://thor//lib/thor/base.rb#500
def remove_command(*names); end
# Removes a given command from this Thor class. This is usually done if you
@@ -1930,7 +2228,7 @@ module Thor::Base::ClassMethods
# options:: You can give :undefine => true if you want commands the method
# to be undefined from the class as well.
#
- # source://thor//lib/thor/base.rb#401
+ # source://thor//lib/thor/base.rb#500
def remove_task(*names); end
# Parses the command and options from the given args, instantiate the class
@@ -1941,7 +2239,7 @@ module Thor::Base::ClassMethods
# script = MyScript.new(args, options, config)
# script.invoke(:command, first_arg, second_arg, third_arg)
#
- # source://thor//lib/thor/base.rb#483
+ # source://thor//lib/thor/base.rb#582
def start(given_args = T.unsafe(nil), config = T.unsafe(nil)); end
# If true, option parsing is suspended as soon as an unknown option or a
@@ -1950,22 +2248,22 @@ module Thor::Base::ClassMethods
#
# @return [Boolean]
#
- # source://thor//lib/thor/base.rb#185
+ # source://thor//lib/thor/base.rb#201
def stop_on_unknown_option?(command_name); end
- # source://thor//lib/thor/base.rb#202
+ # source://thor//lib/thor/base.rb#218
def strict_args_position; end
# If you want only strict string args (useful when cascading thor classes),
# call strict_args_position! This is disabled by default to allow dynamic
# invocations.
#
- # source://thor//lib/thor/base.rb#198
+ # source://thor//lib/thor/base.rb#214
def strict_args_position!; end
# @return [Boolean]
#
- # source://thor//lib/thor/base.rb#206
+ # source://thor//lib/thor/base.rb#222
def strict_args_position?(config); end
# Returns the commands for this Thor class.
@@ -1974,7 +2272,7 @@ module Thor::Base::ClassMethods
# Hash:: An ordered hash with commands names as keys and Thor::Command
# objects as values.
#
- # source://thor//lib/thor/base.rb#372
+ # source://thor//lib/thor/base.rb#471
def tasks; end
protected
@@ -1982,12 +2280,12 @@ module Thor::Base::ClassMethods
# SIGNATURE: Sets the baseclass. This is where the superclass lookup
# finishes.
#
- # source://thor//lib/thor/base.rb#678
+ # source://thor//lib/thor/base.rb#777
def baseclass; end
# The basename of the program invoking the thor class.
#
- # source://thor//lib/thor/base.rb#672
+ # source://thor//lib/thor/base.rb#771
def basename; end
# Build an option and adds it to the given scope.
@@ -1997,7 +2295,7 @@ module Thor::Base::ClassMethods
# options:: Described in both class_option and method_option.
# scope:: Options hash that is being built up
#
- # source://thor//lib/thor/base.rb#589
+ # source://thor//lib/thor/base.rb#688
def build_option(name, options, scope); end
# Receives a hash of options, parse them and add to the scope. This is a
@@ -2008,83 +2306,100 @@ module Thor::Base::ClassMethods
# ==== Parameters
# Hash[Symbol => Object]
#
- # source://thor//lib/thor/base.rb#600
+ # source://thor//lib/thor/base.rb#699
def build_options(options, scope); end
+ # Get target(method_options or class_options) options
+ # of before and after by block evaluation.
+ #
+ # source://thor//lib/thor/base.rb#808
+ def built_option_names(target, opt = T.unsafe(nil), &block); end
+
# Prints the class options per group. If an option does not belong to
# any group, it's printed as Class option.
#
- # source://thor//lib/thor/base.rb#539
+ # source://thor//lib/thor/base.rb#638
def class_options_help(shell, groups = T.unsafe(nil)); end
+ # Get command scope member by name.
+ #
+ # source://thor//lib/thor/base.rb#816
+ def command_scope_member(name, options = T.unsafe(nil)); end
+
# SIGNATURE: Creates a new command if valid_command? is true. This method is
# called when a new method is added to the class.
#
- # source://thor//lib/thor/base.rb#683
+ # source://thor//lib/thor/base.rb#782
def create_command(meth); end
# SIGNATURE: Creates a new command if valid_command? is true. This method is
# called when a new method is added to the class.
#
- # source://thor//lib/thor/base.rb#683
+ # source://thor//lib/thor/base.rb#782
def create_task(meth); end
# SIGNATURE: The hook invoked by start.
#
# @raise [NotImplementedError]
#
- # source://thor//lib/thor/base.rb#693
+ # source://thor//lib/thor/base.rb#792
def dispatch(command, given_args, given_opts, config); end
# Finds a command with the given name. If the command belongs to the current
# class, just return it, otherwise dup it and add the fresh copy to the
# current command hash.
#
- # source://thor//lib/thor/base.rb#609
+ # source://thor//lib/thor/base.rb#708
def find_and_refresh_command(name); end
# Finds a command with the given name. If the command belongs to the current
# class, just return it, otherwise dup it and add the fresh copy to the
# current command hash.
#
- # source://thor//lib/thor/base.rb#609
+ # source://thor//lib/thor/base.rb#708
def find_and_refresh_task(name); end
# Retrieves a value from superclass. If it reaches the baseclass,
# returns default.
#
- # source://thor//lib/thor/base.rb#650
+ # source://thor//lib/thor/base.rb#749
def from_superclass(method, default = T.unsafe(nil)); end
# Every time someone inherits from a Thor class, register the klass
# and file into baseclass.
#
- # source://thor//lib/thor/base.rb#622
+ # source://thor//lib/thor/base.rb#721
def inherited(klass); end
# SIGNATURE: Defines behavior when the initialize method is added to the
# class.
#
- # source://thor//lib/thor/base.rb#689
+ # source://thor//lib/thor/base.rb#788
def initialize_added; end
# Raises an error if the word given is a Thor reserved word.
#
# @return [Boolean]
#
- # source://thor//lib/thor/base.rb#578
+ # source://thor//lib/thor/base.rb#677
def is_thor_reserved_word?(word, type); end
# Fire this callback whenever a method is added. Added methods are
# tracked as commands by invoking the create_command method.
#
- # source://thor//lib/thor/base.rb#630
+ # source://thor//lib/thor/base.rb#729
def method_added(meth); end
# Receives a set of options and print them.
#
- # source://thor//lib/thor/base.rb#557
+ # source://thor//lib/thor/base.rb#656
def print_options(shell, options, group_name = T.unsafe(nil)); end
+
+ # Register a relation of options for target(method_option/class_option)
+ # by args and block.
+ #
+ # source://thor//lib/thor/base.rb#798
+ def register_options_relation_for(target, relation, *args, &block); end
end
# source://thor//lib/thor/command.rb#2
@@ -2092,68 +2407,74 @@ class Thor::Command < ::Struct
# @return [Command] a new instance of Command
#
# source://thor//lib/thor/command.rb#5
- def initialize(name, description, long_description, usage, options = T.unsafe(nil)); end
+ def initialize(name, description, long_description, wrap_long_description, usage, options = T.unsafe(nil), options_relation = T.unsafe(nil)); end
# Returns the formatted usage by injecting given required arguments
# and required options into the given usage.
#
- # source://thor//lib/thor/command.rb#41
+ # source://thor//lib/thor/command.rb#42
def formatted_usage(klass, namespace = T.unsafe(nil), subcommand = T.unsafe(nil)); end
# @return [Boolean]
#
- # source://thor//lib/thor/command.rb#14
+ # source://thor//lib/thor/command.rb#15
def hidden?; end
+ # source://thor//lib/thor/command.rb#70
+ def method_at_least_one_option_names; end
+
+ # source://thor//lib/thor/command.rb#66
+ def method_exclusive_option_names; end
+
# By default, a command invokes a method in the thor class. You can change this
# implementation to create custom commands.
#
- # source://thor//lib/thor/command.rb#20
+ # source://thor//lib/thor/command.rb#21
def run(instance, args = T.unsafe(nil)); end
protected
# @return [Boolean]
#
- # source://thor//lib/thor/command.rb#105
+ # source://thor//lib/thor/command.rb#114
def handle_argument_error?(instance, error, caller); end
# @return [Boolean]
#
- # source://thor//lib/thor/command.rb#112
+ # source://thor//lib/thor/command.rb#121
def handle_no_method_error?(instance, error, caller); end
# @return [Boolean]
#
- # source://thor//lib/thor/command.rb#95
+ # source://thor//lib/thor/command.rb#104
def local_method?(instance, name); end
# @return [Boolean]
#
- # source://thor//lib/thor/command.rb#78
+ # source://thor//lib/thor/command.rb#87
def not_debugging?(instance); end
# @return [Boolean]
#
- # source://thor//lib/thor/command.rb#91
+ # source://thor//lib/thor/command.rb#100
def private_method?(instance); end
# Given a target, checks if this class name is a public method.
#
# @return [Boolean]
#
- # source://thor//lib/thor/command.rb#87
+ # source://thor//lib/thor/command.rb#96
def public_method?(instance); end
# Add usage with required arguments
#
- # source://thor//lib/thor/command.rb#68
+ # source://thor//lib/thor/command.rb#77
def required_arguments_for(klass, usage); end
- # source://thor//lib/thor/command.rb#82
+ # source://thor//lib/thor/command.rb#91
def required_options; end
- # source://thor//lib/thor/command.rb#100
+ # source://thor//lib/thor/command.rb#109
def sans_backtrace(backtrace, caller); end
private
@@ -2200,35 +2521,38 @@ class Thor::CoreExt::HashWithIndifferentAccess < ::Hash
# @return [Boolean]
#
- # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#41
+ # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#45
def key?(key); end
- # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#49
+ # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#53
def merge(other); end
- # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#53
+ # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#57
def merge!(other); end
- # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#68
+ # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#72
def replace(other_hash); end
- # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#60
+ # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#64
def reverse_merge(other); end
- # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#64
+ # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#68
def reverse_merge!(other_hash); end
+ # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#41
+ def slice(*keys); end
+
# Convert to a Hash with String keys.
#
- # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#73
+ # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#77
def to_hash; end
- # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#45
+ # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#49
def values_at(*indices); end
protected
- # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#79
+ # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#83
def convert_key(key); end
# Magic predicates. For instance:
@@ -2237,33 +2561,33 @@ class Thor::CoreExt::HashWithIndifferentAccess < ::Hash
# options.shebang # => "/usr/lib/local/ruby"
# options.test_framework?(:rspec) # => options[:test_framework] == :rspec
#
- # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#89
+ # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#93
def method_missing(method, *args); end
end
-# source://thor//lib/thor/error.rb#14
+# source://thor//lib/thor/error.rb#3
module Thor::Correctable
- # source://thor//lib/thor/error.rb#19
+ # source://thor//lib/thor/error.rb#8
def corrections; end
- # source://thor//lib/thor/error.rb#15
+ # source://thor//lib/thor/error.rb#4
def to_s; end
end
# A dynamic command that handles method missing scenarios.
#
-# source://thor//lib/thor/command.rb#128
+# source://thor//lib/thor/command.rb#137
class Thor::DynamicCommand < ::Thor::Command
# @return [DynamicCommand] a new instance of DynamicCommand
#
- # source://thor//lib/thor/command.rb#129
+ # source://thor//lib/thor/command.rb#138
def initialize(name, options = T.unsafe(nil)); end
- # source://thor//lib/thor/command.rb#133
+ # source://thor//lib/thor/command.rb#142
def run(instance, args = T.unsafe(nil)); end
end
-# source://thor//lib/thor/command.rb#141
+# source://thor//lib/thor/command.rb#150
Thor::DynamicTask = Thor::DynamicCommand
# Thor::Error is raised when it's caused by wrong usage of thor classes. Those
@@ -2273,9 +2597,12 @@ Thor::DynamicTask = Thor::DynamicCommand
# overwrites a thor keyword, SHOULD NOT raise a Thor::Error. This way, we
# ensure that developer errors are shown with full backtrace.
#
-# source://thor//lib/thor/error.rb#31
+# source://thor//lib/thor/error.rb#20
class Thor::Error < ::StandardError; end
+# source://thor//lib/thor/error.rb#101
+class Thor::ExclusiveArgumentError < ::Thor::InvocationError; end
+
# Thor has a special class called Thor::Group. The main difference to Thor class
# is that it invokes all commands at once. It also include some methods that allows
# invocations to be done at the class method, which are not available to Thor
@@ -2449,15 +2776,15 @@ Thor::HELP_MAPPINGS = T.let(T.unsafe(nil), Array)
# A command that is hidden in help messages but still invocable.
#
-# source://thor//lib/thor/command.rb#120
+# source://thor//lib/thor/command.rb#129
class Thor::HiddenCommand < ::Thor::Command
# @return [Boolean]
#
- # source://thor//lib/thor/command.rb#121
+ # source://thor//lib/thor/command.rb#130
def hidden?; end
end
-# source://thor//lib/thor/command.rb#125
+# source://thor//lib/thor/command.rb#134
Thor::HiddenTask = Thor::HiddenCommand
# source://thor//lib/thor/invocation.rb#2
@@ -2611,7 +2938,7 @@ end
# Raised when a command was found, but not invoked properly.
#
-# source://thor//lib/thor/error.rb#73
+# source://thor//lib/thor/error.rb#62
class Thor::InvocationError < ::Thor::Error; end
# source://thor//lib/thor/line_editor/basic.rb#2
@@ -2724,7 +3051,7 @@ class Thor::LineEditor::Readline::PathCompletion
def text; end
end
-# source://thor//lib/thor/error.rb#109
+# source://thor//lib/thor/error.rb#98
class Thor::MalformattedArgumentError < ::Thor::InvocationError; end
# source://thor//lib/thor/nested_context.rb#2
@@ -2751,12 +3078,6 @@ class Thor::NestedContext
def push; end
end
-# source://thor//lib/thor/error.rb#8
-class Thor::NoKwargSpellChecker < ::DidYouMean::SpellChecker
- # source://thor//lib/thor/error.rb#9
- def initialize(dictionary); end
-end
-
# source://thor//lib/thor/parser/option.rb#2
class Thor::Option < ::Thor::Argument
# @return [Option] a new instance of Option
@@ -2772,10 +3093,10 @@ class Thor::Option < ::Thor::Argument
# source://thor//lib/thor/parser/option.rb#99
def aliases_for_usage; end
- # source://thor//lib/thor/parser/option.rb#109
+ # source://thor//lib/thor/parser/option.rb#118
def array?; end
- # source://thor//lib/thor/parser/option.rb#109
+ # source://thor//lib/thor/parser/option.rb#118
def boolean?; end
# Returns the value of attribute group.
@@ -2783,7 +3104,7 @@ class Thor::Option < ::Thor::Argument
# source://thor//lib/thor/parser/option.rb#3
def group; end
- # source://thor//lib/thor/parser/option.rb#109
+ # source://thor//lib/thor/parser/option.rb#118
def hash?; end
# Returns the value of attribute hide.
@@ -2799,7 +3120,7 @@ class Thor::Option < ::Thor::Argument
# source://thor//lib/thor/parser/option.rb#3
def lazy_default; end
- # source://thor//lib/thor/parser/option.rb#109
+ # source://thor//lib/thor/parser/option.rb#118
def numeric?; end
# Returns the value of attribute repeatable.
@@ -2807,7 +3128,12 @@ class Thor::Option < ::Thor::Argument
# source://thor//lib/thor/parser/option.rb#3
def repeatable; end
- # source://thor//lib/thor/parser/option.rb#109
+ # @return [Boolean]
+ #
+ # source://thor//lib/thor/parser/option.rb#107
+ def show_default?; end
+
+ # source://thor//lib/thor/parser/option.rb#118
def string?; end
# source://thor//lib/thor/parser/option.rb#75
@@ -2818,25 +3144,30 @@ class Thor::Option < ::Thor::Argument
protected
- # source://thor//lib/thor/parser/option.rb#159
+ # source://thor//lib/thor/parser/option.rb#168
def dasherize(str); end
# @return [Boolean]
#
- # source://thor//lib/thor/parser/option.rb#151
+ # source://thor//lib/thor/parser/option.rb#160
def dasherized?; end
- # source://thor//lib/thor/parser/option.rb#155
+ # source://thor//lib/thor/parser/option.rb#164
def undasherize(str); end
# @raise [ArgumentError]
#
- # source://thor//lib/thor/parser/option.rb#117
+ # source://thor//lib/thor/parser/option.rb#126
def validate!; end
- # source://thor//lib/thor/parser/option.rb#122
+ # source://thor//lib/thor/parser/option.rb#131
def validate_default_type!; end
+ private
+
+ # source://thor//lib/thor/parser/option.rb#174
+ def normalize_aliases(aliases); end
+
class << self
# This parse quick options given as method_options. It makes several
# assumptions, but you can be more specific using the option method.
@@ -2883,31 +3214,37 @@ class Thor::Options < ::Thor::Arguments
# @return [Options] a new instance of Options
#
# source://thor//lib/thor/parser/options.rb#32
- def initialize(hash_options = T.unsafe(nil), defaults = T.unsafe(nil), stop_on_unknown = T.unsafe(nil), disable_required_check = T.unsafe(nil)); end
+ def initialize(hash_options = T.unsafe(nil), defaults = T.unsafe(nil), stop_on_unknown = T.unsafe(nil), disable_required_check = T.unsafe(nil), relations = T.unsafe(nil)); end
+
+ # source://thor//lib/thor/parser/options.rb#156
+ def check_at_least_one!; end
+
+ # source://thor//lib/thor/parser/options.rb#144
+ def check_exclusive!; end
# @raise [UnknownArgumentError]
#
- # source://thor//lib/thor/parser/options.rb#141
+ # source://thor//lib/thor/parser/options.rb#168
def check_unknown!; end
- # source://thor//lib/thor/parser/options.rb#88
+ # source://thor//lib/thor/parser/options.rb#89
def parse(args); end
- # source://thor//lib/thor/parser/options.rb#64
+ # source://thor//lib/thor/parser/options.rb#65
def peek; end
- # source://thor//lib/thor/parser/options.rb#60
+ # source://thor//lib/thor/parser/options.rb#61
def remaining; end
- # source://thor//lib/thor/parser/options.rb#78
+ # source://thor//lib/thor/parser/options.rb#79
def shift; end
- # source://thor//lib/thor/parser/options.rb#83
+ # source://thor//lib/thor/parser/options.rb#84
def unshift(arg, is_value: T.unsafe(nil)); end
protected
- # source://thor//lib/thor/parser/options.rb#151
+ # source://thor//lib/thor/parser/options.rb#189
def assign_result!(option, result); end
# Check if the current value in peek is a registered switch.
@@ -2917,45 +3254,50 @@ class Thor::Options < ::Thor::Arguments
#
# @return [Boolean]
#
- # source://thor//lib/thor/parser/options.rb#165
+ # source://thor//lib/thor/parser/options.rb#203
def current_is_switch?; end
# @return [Boolean]
#
- # source://thor//lib/thor/parser/options.rb#177
+ # source://thor//lib/thor/parser/options.rb#215
def current_is_switch_formatted?; end
# @return [Boolean]
#
- # source://thor//lib/thor/parser/options.rb#187
+ # source://thor//lib/thor/parser/options.rb#225
def current_is_value?; end
+ # Option names changes to swith name or human name
+ #
+ # source://thor//lib/thor/parser/options.rb#179
+ def names_to_switch_names(names = T.unsafe(nil)); end
+
# Check if the given argument is actually a shortcut.
#
- # source://thor//lib/thor/parser/options.rb#206
+ # source://thor//lib/thor/parser/options.rb#244
def normalize_switch(arg); end
# Parse boolean values which can be given as --foo=true, --foo or --no-foo.
#
- # source://thor//lib/thor/parser/options.rb#217
+ # source://thor//lib/thor/parser/options.rb#255
def parse_boolean(switch); end
# Parse the value at the peek analyzing if it requires an input or not.
#
- # source://thor//lib/thor/parser/options.rb#235
+ # source://thor//lib/thor/parser/options.rb#273
def parse_peek(switch, option); end
# @return [Boolean]
#
- # source://thor//lib/thor/parser/options.rb#210
+ # source://thor//lib/thor/parser/options.rb#248
def parsing_options?; end
# @return [Boolean]
#
- # source://thor//lib/thor/parser/options.rb#192
+ # source://thor//lib/thor/parser/options.rb#230
def switch?(arg); end
- # source://thor//lib/thor/parser/options.rb#196
+ # source://thor//lib/thor/parser/options.rb#234
def switch_option(arg); end
class << self
@@ -3019,7 +3361,7 @@ module Thor::RakeCompat
end
end
-# source://thor//lib/thor/error.rb#106
+# source://thor//lib/thor/error.rb#95
class Thor::RequiredArgumentMissingError < ::Thor::InvocationError; end
# source://thor//lib/thor/util.rb#4
@@ -3108,13 +3450,13 @@ module Thor::Shell
def _shared_configuration; end
end
-# source://thor//lib/thor/shell/basic.rb#3
+# source://thor//lib/thor/shell/basic.rb#7
class Thor::Shell::Basic
# Initialize base, mute and padding to nil.
#
# @return [Basic] a new instance of Basic
#
- # source://thor//lib/thor/shell/basic.rb#11
+ # source://thor//lib/thor/shell/basic.rb#13
def initialize; end
# Asks something to the user and receives a response.
@@ -3147,19 +3489,19 @@ class Thor::Shell::Basic
#
# ask("Where should the file be saved?", :path => true)
#
- # source://thor//lib/thor/shell/basic.rb#78
+ # source://thor//lib/thor/shell/basic.rb#80
def ask(statement, *args); end
# Returns the value of attribute base.
#
- # source://thor//lib/thor/shell/basic.rb#6
+ # source://thor//lib/thor/shell/basic.rb#8
def base; end
# Sets the attribute base
#
# @param value the value to set the attribute base to.
#
- # source://thor//lib/thor/shell/basic.rb#6
+ # source://thor//lib/thor/shell/basic.rb#8
def base=(_arg0); end
# Called if something goes wrong during the execution. This is used by Thor
@@ -3167,7 +3509,7 @@ class Thor::Shell::Basic
# wrong, you can always raise an exception. If you raise a Thor::Error, it
# will be rescued and wrapped in the method below.
#
- # source://thor//lib/thor/shell/basic.rb#342
+ # source://thor//lib/thor/shell/basic.rb#251
def error(statement); end
# Deals with file collision and returns true if the file should be
@@ -3178,24 +3520,24 @@ class Thor::Shell::Basic
# destination:: the destination file to solve conflicts
# block:: an optional block that returns the value to be used in diff and merge
#
- # source://thor//lib/thor/shell/basic.rb#285
+ # source://thor//lib/thor/shell/basic.rb#207
def file_collision(destination); end
# Sets the output padding while executing a block and resets it.
#
- # source://thor//lib/thor/shell/basic.rb#41
+ # source://thor//lib/thor/shell/basic.rb#43
def indent(count = T.unsafe(nil)); end
# Mute everything that's inside given block
#
- # source://thor//lib/thor/shell/basic.rb#20
+ # source://thor//lib/thor/shell/basic.rb#22
def mute; end
# Check if base is muted
#
# @return [Boolean]
#
- # source://thor//lib/thor/shell/basic.rb#29
+ # source://thor//lib/thor/shell/basic.rb#31
def mute?; end
# Make a question the to user and returns true if the user replies "n" or
@@ -3203,17 +3545,17 @@ class Thor::Shell::Basic
#
# @return [Boolean]
#
- # source://thor//lib/thor/shell/basic.rb#154
+ # source://thor//lib/thor/shell/basic.rb#156
def no?(statement, color = T.unsafe(nil)); end
# Returns the value of attribute padding.
#
- # source://thor//lib/thor/shell/basic.rb#7
+ # source://thor//lib/thor/shell/basic.rb#9
def padding; end
# Sets the output padding, not allowing less than zero values.
#
- # source://thor//lib/thor/shell/basic.rb#35
+ # source://thor//lib/thor/shell/basic.rb#37
def padding=(value); end
# Prints values in columns
@@ -3221,7 +3563,7 @@ class Thor::Shell::Basic
# ==== Parameters
# Array[String, String, ...]
#
- # source://thor//lib/thor/shell/basic.rb#163
+ # source://thor//lib/thor/shell/basic.rb#165
def print_in_columns(array); end
# Prints a table.
@@ -3232,8 +3574,9 @@ class Thor::Shell::Basic
# ==== Options
# indent:: Indent the first column by indent value.
# colwidth:: Force the first column to colwidth spaces wide.
+ # borders:: Adds ascii borders.
#
- # source://thor//lib/thor/shell/basic.rb#185
+ # source://thor//lib/thor/shell/basic.rb#180
def print_table(array, options = T.unsafe(nil)); end
# Prints a long string, word-wrapping the text to the current width of the
@@ -3245,7 +3588,7 @@ class Thor::Shell::Basic
# ==== Options
# indent:: Indent each line of the printed paragraph by indent value.
#
- # source://thor//lib/thor/shell/basic.rb#247
+ # source://thor//lib/thor/shell/basic.rb#194
def print_wrapped(message, options = T.unsafe(nil)); end
# Say (print) something to the user. If the sentence ends with a whitespace
@@ -3255,7 +3598,7 @@ class Thor::Shell::Basic
# ==== Example
# say("I know you knew that.")
#
- # source://thor//lib/thor/shell/basic.rb#96
+ # source://thor//lib/thor/shell/basic.rb#98
def say(message = T.unsafe(nil), color = T.unsafe(nil), force_new_line = T.unsafe(nil)); end
# Say (print) an error to the user. If the sentence ends with a whitespace
@@ -3265,7 +3608,7 @@ class Thor::Shell::Basic
# ==== Example
# say_error("error: something went wrong")
#
- # source://thor//lib/thor/shell/basic.rb#113
+ # source://thor//lib/thor/shell/basic.rb#115
def say_error(message = T.unsafe(nil), color = T.unsafe(nil), force_new_line = T.unsafe(nil)); end
# Say a status with the given color and appends the message. Since this
@@ -3273,110 +3616,89 @@ class Thor::Shell::Basic
# in log_status, avoiding the message from being shown. If a Symbol is
# given in log_status, it's used as the color.
#
- # source://thor//lib/thor/shell/basic.rb#128
+ # source://thor//lib/thor/shell/basic.rb#130
def say_status(status, message, log_status = T.unsafe(nil)); end
# Apply color to the given string with optional bold. Disabled in the
# Thor::Shell::Basic class.
#
- # source://thor//lib/thor/shell/basic.rb#349
+ # source://thor//lib/thor/shell/basic.rb#258
def set_color(string, *_arg1); end
- # source://thor//lib/thor/shell/basic.rb#326
- def terminal_width; end
-
# Make a question the to user and returns true if the user replies "y" or
# "yes".
#
# @return [Boolean]
#
- # source://thor//lib/thor/shell/basic.rb#147
+ # source://thor//lib/thor/shell/basic.rb#149
def yes?(statement, color = T.unsafe(nil)); end
protected
- # source://thor//lib/thor/shell/basic.rb#486
+ # source://thor//lib/thor/shell/basic.rb#362
def answer_match(possibilities, answer, case_insensitive); end
- # source://thor//lib/thor/shell/basic.rb#443
- def as_unicode; end
-
- # source://thor//lib/thor/shell/basic.rb#473
+ # source://thor//lib/thor/shell/basic.rb#349
def ask_filtered(statement, color, options); end
- # source://thor//lib/thor/shell/basic.rb#456
+ # source://thor//lib/thor/shell/basic.rb#332
def ask_simply(statement, color, options); end
# @return [Boolean]
#
- # source://thor//lib/thor/shell/basic.rb#360
+ # source://thor//lib/thor/shell/basic.rb#269
def can_display_colors?; end
- # Calculate the dynamic width of the terminal
- #
- # source://thor//lib/thor/shell/basic.rb#415
- def dynamic_width; end
-
- # source://thor//lib/thor/shell/basic.rb#419
- def dynamic_width_stty; end
-
- # source://thor//lib/thor/shell/basic.rb#423
- def dynamic_width_tput; end
-
- # source://thor//lib/thor/shell/basic.rb#387
- def file_collision_help; end
+ # source://thor//lib/thor/shell/basic.rb#296
+ def file_collision_help(block_given); end
- # source://thor//lib/thor/shell/basic.rb#507
+ # source://thor//lib/thor/shell/basic.rb#383
def git_merge_tool; end
# @return [Boolean]
#
- # source://thor//lib/thor/shell/basic.rb#377
+ # source://thor//lib/thor/shell/basic.rb#286
def is?(value); end
- # source://thor//lib/thor/shell/basic.rb#364
+ # source://thor//lib/thor/shell/basic.rb#273
def lookup_color(color); end
- # source://thor//lib/thor/shell/basic.rb#494
+ # source://thor//lib/thor/shell/basic.rb#370
def merge(destination, content); end
- # source://thor//lib/thor/shell/basic.rb#503
+ # source://thor//lib/thor/shell/basic.rb#379
def merge_tool; end
- # source://thor//lib/thor/shell/basic.rb#355
+ # source://thor//lib/thor/shell/basic.rb#264
def prepare_message(message, *color); end
# @return [Boolean]
#
- # source://thor//lib/thor/shell/basic.rb#410
+ # source://thor//lib/thor/shell/basic.rb#324
def quiet?; end
- # source://thor//lib/thor/shell/basic.rb#399
+ # source://thor//lib/thor/shell/basic.rb#313
def show_diff(destination, content); end
- # source://thor//lib/thor/shell/basic.rb#373
+ # source://thor//lib/thor/shell/basic.rb#282
def stderr; end
- # source://thor//lib/thor/shell/basic.rb#369
+ # source://thor//lib/thor/shell/basic.rb#278
def stdout; end
- # source://thor//lib/thor/shell/basic.rb#431
- def truncate(string, width); end
-
# @return [Boolean]
#
- # source://thor//lib/thor/shell/basic.rb#427
+ # source://thor//lib/thor/shell/basic.rb#328
def unix?; end
end
-# source://thor//lib/thor/shell/basic.rb#4
-Thor::Shell::Basic::DEFAULT_TERMINAL_WIDTH = T.let(T.unsafe(nil), Integer)
-
# Inherit from Thor::Shell::Basic and add set_color behavior. Check
# Thor::Shell::Basic to see all available methods.
#
-# source://thor//lib/thor/shell/color.rb#8
+# source://thor//lib/thor/shell/color.rb#9
class Thor::Shell::Color < ::Thor::Shell::Basic
+ include ::LCSDiff
+
# Set color by using a string or one of the defined constants. If a third
# option is set to true, it also adds bold to the string. This is based
# on Highline implementation and it automatically appends CLEAR to the end
@@ -3409,139 +3731,145 @@ class Thor::Shell::Color < ::Thor::Shell::Basic
# :on_cyan
# :on_white
#
- # source://thor//lib/thor/shell/color.rb#79
+ # source://thor//lib/thor/shell/color.rb#82
def set_color(string, *colors); end
protected
# @return [Boolean]
#
- # source://thor//lib/thor/shell/color.rb#107
+ # source://thor//lib/thor/shell/color.rb#110
def are_colors_disabled?; end
# @return [Boolean]
#
- # source://thor//lib/thor/shell/color.rb#103
+ # source://thor//lib/thor/shell/color.rb#106
def are_colors_supported?; end
# @return [Boolean]
#
- # source://thor//lib/thor/shell/color.rb#99
+ # source://thor//lib/thor/shell/color.rb#102
def can_display_colors?; end
-
- # Check if Diff::LCS is loaded. If it is, use it to create pretty output
- # for diff.
- #
- # @return [Boolean]
- #
- # source://thor//lib/thor/shell/color.rb#144
- def diff_lcs_loaded?; end
-
- # source://thor//lib/thor/shell/color.rb#127
- def output_diff_line(diff); end
-
- # Overwrite show_diff to show diff with colors if Diff::LCS is
- # available.
- #
- # source://thor//lib/thor/shell/color.rb#114
- def show_diff(destination, content); end
end
# Set the terminal's foreground ANSI color to black.
#
-# source://thor//lib/thor/shell/color.rb#15
+# source://thor//lib/thor/shell/color.rb#18
Thor::Shell::Color::BLACK = T.let(T.unsafe(nil), String)
# Set the terminal's foreground ANSI color to blue.
#
-# source://thor//lib/thor/shell/color.rb#23
+# source://thor//lib/thor/shell/color.rb#26
Thor::Shell::Color::BLUE = T.let(T.unsafe(nil), String)
# The start of an ANSI bold sequence.
#
-# source://thor//lib/thor/shell/color.rb#12
+# source://thor//lib/thor/shell/color.rb#15
Thor::Shell::Color::BOLD = T.let(T.unsafe(nil), String)
# Embed in a String to clear all previous ANSI sequences.
#
-# source://thor//lib/thor/shell/color.rb#10
+# source://thor//lib/thor/shell/color.rb#13
Thor::Shell::Color::CLEAR = T.let(T.unsafe(nil), String)
# Set the terminal's foreground ANSI color to cyan.
#
-# source://thor//lib/thor/shell/color.rb#27
+# source://thor//lib/thor/shell/color.rb#30
Thor::Shell::Color::CYAN = T.let(T.unsafe(nil), String)
# Set the terminal's foreground ANSI color to green.
#
-# source://thor//lib/thor/shell/color.rb#19
+# source://thor//lib/thor/shell/color.rb#22
Thor::Shell::Color::GREEN = T.let(T.unsafe(nil), String)
# Set the terminal's foreground ANSI color to magenta.
#
-# source://thor//lib/thor/shell/color.rb#25
+# source://thor//lib/thor/shell/color.rb#28
Thor::Shell::Color::MAGENTA = T.let(T.unsafe(nil), String)
# Set the terminal's background ANSI color to black.
#
-# source://thor//lib/thor/shell/color.rb#32
+# source://thor//lib/thor/shell/color.rb#35
Thor::Shell::Color::ON_BLACK = T.let(T.unsafe(nil), String)
# Set the terminal's background ANSI color to blue.
#
-# source://thor//lib/thor/shell/color.rb#40
+# source://thor//lib/thor/shell/color.rb#43
Thor::Shell::Color::ON_BLUE = T.let(T.unsafe(nil), String)
# Set the terminal's background ANSI color to cyan.
#
-# source://thor//lib/thor/shell/color.rb#44
+# source://thor//lib/thor/shell/color.rb#47
Thor::Shell::Color::ON_CYAN = T.let(T.unsafe(nil), String)
# Set the terminal's background ANSI color to green.
#
-# source://thor//lib/thor/shell/color.rb#36
+# source://thor//lib/thor/shell/color.rb#39
Thor::Shell::Color::ON_GREEN = T.let(T.unsafe(nil), String)
# Set the terminal's background ANSI color to magenta.
#
-# source://thor//lib/thor/shell/color.rb#42
+# source://thor//lib/thor/shell/color.rb#45
Thor::Shell::Color::ON_MAGENTA = T.let(T.unsafe(nil), String)
# Set the terminal's background ANSI color to red.
#
-# source://thor//lib/thor/shell/color.rb#34
+# source://thor//lib/thor/shell/color.rb#37
Thor::Shell::Color::ON_RED = T.let(T.unsafe(nil), String)
# Set the terminal's background ANSI color to white.
#
-# source://thor//lib/thor/shell/color.rb#46
+# source://thor//lib/thor/shell/color.rb#49
Thor::Shell::Color::ON_WHITE = T.let(T.unsafe(nil), String)
# Set the terminal's background ANSI color to yellow.
#
-# source://thor//lib/thor/shell/color.rb#38
+# source://thor//lib/thor/shell/color.rb#41
Thor::Shell::Color::ON_YELLOW = T.let(T.unsafe(nil), String)
# Set the terminal's foreground ANSI color to red.
#
-# source://thor//lib/thor/shell/color.rb#17
+# source://thor//lib/thor/shell/color.rb#20
Thor::Shell::Color::RED = T.let(T.unsafe(nil), String)
# Set the terminal's foreground ANSI color to white.
#
-# source://thor//lib/thor/shell/color.rb#29
+# source://thor//lib/thor/shell/color.rb#32
Thor::Shell::Color::WHITE = T.let(T.unsafe(nil), String)
# Set the terminal's foreground ANSI color to yellow.
#
-# source://thor//lib/thor/shell/color.rb#21
+# source://thor//lib/thor/shell/color.rb#24
Thor::Shell::Color::YELLOW = T.let(T.unsafe(nil), String)
+# source://thor//lib/thor/shell/column_printer.rb#5
+class Thor::Shell::ColumnPrinter
+ # @return [ColumnPrinter] a new instance of ColumnPrinter
+ #
+ # source://thor//lib/thor/shell/column_printer.rb#8
+ def initialize(stdout, options = T.unsafe(nil)); end
+
+ # Returns the value of attribute options.
+ #
+ # source://thor//lib/thor/shell/column_printer.rb#6
+ def options; end
+
+ # source://thor//lib/thor/shell/column_printer.rb#14
+ def print(array); end
+
+ # Returns the value of attribute stdout.
+ #
+ # source://thor//lib/thor/shell/column_printer.rb#6
+ def stdout; end
+end
+
# Inherit from Thor::Shell::Basic and add set_color behavior. Check
# Thor::Shell::Basic to see all available methods.
#
-# source://thor//lib/thor/shell/html.rb#8
+# source://thor//lib/thor/shell/html.rb#9
class Thor::Shell::HTML < ::Thor::Shell::Basic
+ include ::LCSDiff
+
# Ask something to the user and receives a response.
#
# ==== Example
@@ -3551,7 +3879,7 @@ class Thor::Shell::HTML < ::Thor::Shell::Basic
#
# @raise [NotImplementedError]
#
- # source://thor//lib/thor/shell/html.rb#70
+ # source://thor//lib/thor/shell/html.rb#73
def ask(statement, color = T.unsafe(nil)); end
# Set color by using a string or one of the defined constants. If a third
@@ -3559,122 +3887,174 @@ class Thor::Shell::HTML < ::Thor::Shell::Basic
# on Highline implementation and it automatically appends CLEAR to the end
# of the returned String.
#
- # source://thor//lib/thor/shell/html.rb#51
+ # source://thor//lib/thor/shell/html.rb#54
def set_color(string, *colors); end
protected
# @return [Boolean]
#
- # source://thor//lib/thor/shell/html.rb#76
+ # source://thor//lib/thor/shell/html.rb#79
def can_display_colors?; end
-
- # Check if Diff::LCS is loaded. If it is, use it to create pretty output
- # for diff.
- #
- # @return [Boolean]
- #
- # source://thor//lib/thor/shell/html.rb#113
- def diff_lcs_loaded?; end
-
- # source://thor//lib/thor/shell/html.rb#96
- def output_diff_line(diff); end
-
- # Overwrite show_diff to show diff with colors if Diff::LCS is
- # available.
- #
- # source://thor//lib/thor/shell/html.rb#83
- def show_diff(destination, content); end
end
# Set the terminal's foreground HTML color to black.
#
-# source://thor//lib/thor/shell/html.rb#13
+# source://thor//lib/thor/shell/html.rb#16
Thor::Shell::HTML::BLACK = T.let(T.unsafe(nil), String)
# Set the terminal's foreground HTML color to blue.
#
-# source://thor//lib/thor/shell/html.rb#21
+# source://thor//lib/thor/shell/html.rb#24
Thor::Shell::HTML::BLUE = T.let(T.unsafe(nil), String)
# The start of an HTML bold sequence.
#
-# source://thor//lib/thor/shell/html.rb#10
+# source://thor//lib/thor/shell/html.rb#13
Thor::Shell::HTML::BOLD = T.let(T.unsafe(nil), String)
# Set the terminal's foreground HTML color to cyan.
#
-# source://thor//lib/thor/shell/html.rb#25
+# source://thor//lib/thor/shell/html.rb#28
Thor::Shell::HTML::CYAN = T.let(T.unsafe(nil), String)
# Set the terminal's foreground HTML color to green.
#
-# source://thor//lib/thor/shell/html.rb#17
+# source://thor//lib/thor/shell/html.rb#20
Thor::Shell::HTML::GREEN = T.let(T.unsafe(nil), String)
# Set the terminal's foreground HTML color to magenta.
#
-# source://thor//lib/thor/shell/html.rb#23
+# source://thor//lib/thor/shell/html.rb#26
Thor::Shell::HTML::MAGENTA = T.let(T.unsafe(nil), String)
# Set the terminal's background HTML color to black.
#
-# source://thor//lib/thor/shell/html.rb#30
+# source://thor//lib/thor/shell/html.rb#33
Thor::Shell::HTML::ON_BLACK = T.let(T.unsafe(nil), String)
# Set the terminal's background HTML color to blue.
#
-# source://thor//lib/thor/shell/html.rb#38
+# source://thor//lib/thor/shell/html.rb#41
Thor::Shell::HTML::ON_BLUE = T.let(T.unsafe(nil), String)
# Set the terminal's background HTML color to cyan.
#
-# source://thor//lib/thor/shell/html.rb#42
+# source://thor//lib/thor/shell/html.rb#45
Thor::Shell::HTML::ON_CYAN = T.let(T.unsafe(nil), String)
# Set the terminal's background HTML color to green.
#
-# source://thor//lib/thor/shell/html.rb#34
+# source://thor//lib/thor/shell/html.rb#37
Thor::Shell::HTML::ON_GREEN = T.let(T.unsafe(nil), String)
# Set the terminal's background HTML color to magenta.
#
-# source://thor//lib/thor/shell/html.rb#40
+# source://thor//lib/thor/shell/html.rb#43
Thor::Shell::HTML::ON_MAGENTA = T.let(T.unsafe(nil), String)
# Set the terminal's background HTML color to red.
#
-# source://thor//lib/thor/shell/html.rb#32
+# source://thor//lib/thor/shell/html.rb#35
Thor::Shell::HTML::ON_RED = T.let(T.unsafe(nil), String)
# Set the terminal's background HTML color to white.
#
-# source://thor//lib/thor/shell/html.rb#44
+# source://thor//lib/thor/shell/html.rb#47
Thor::Shell::HTML::ON_WHITE = T.let(T.unsafe(nil), String)
# Set the terminal's background HTML color to yellow.
#
-# source://thor//lib/thor/shell/html.rb#36
+# source://thor//lib/thor/shell/html.rb#39
Thor::Shell::HTML::ON_YELLOW = T.let(T.unsafe(nil), String)
# Set the terminal's foreground HTML color to red.
#
-# source://thor//lib/thor/shell/html.rb#15
+# source://thor//lib/thor/shell/html.rb#18
Thor::Shell::HTML::RED = T.let(T.unsafe(nil), String)
# Set the terminal's foreground HTML color to white.
#
-# source://thor//lib/thor/shell/html.rb#27
+# source://thor//lib/thor/shell/html.rb#30
Thor::Shell::HTML::WHITE = T.let(T.unsafe(nil), String)
# Set the terminal's foreground HTML color to yellow.
#
-# source://thor//lib/thor/shell/html.rb#19
+# source://thor//lib/thor/shell/html.rb#22
Thor::Shell::HTML::YELLOW = T.let(T.unsafe(nil), String)
# source://thor//lib/thor/shell.rb#24
Thor::Shell::SHELL_DELEGATED_METHODS = T.let(T.unsafe(nil), Array)
+# source://thor//lib/thor/shell/table_printer.rb#6
+class Thor::Shell::TablePrinter < ::Thor::Shell::ColumnPrinter
+ # @return [TablePrinter] a new instance of TablePrinter
+ #
+ # source://thor//lib/thor/shell/table_printer.rb#9
+ def initialize(stdout, options = T.unsafe(nil)); end
+
+ # source://thor//lib/thor/shell/table_printer.rb#18
+ def print(array); end
+
+ private
+
+ # source://thor//lib/thor/shell/table_printer.rb#120
+ def as_unicode; end
+
+ # source://thor//lib/thor/shell/table_printer.rb#72
+ def format_cell(column, row_size, index); end
+
+ # source://thor//lib/thor/shell/table_printer.rb#115
+ def indentation; end
+
+ # source://thor//lib/thor/shell/table_printer.rb#47
+ def prepare(array); end
+
+ # source://thor//lib/thor/shell/table_printer.rb#96
+ def print_border_separator; end
+
+ # source://thor//lib/thor/shell/table_printer.rb#103
+ def truncate(string); end
+end
+
+# source://thor//lib/thor/shell/table_printer.rb#7
+Thor::Shell::TablePrinter::BORDER_SEPARATOR = T.let(T.unsafe(nil), Symbol)
+
+# source://thor//lib/thor/shell/terminal.rb#3
+module Thor::Shell::Terminal
+ class << self
+ # source://thor//lib/thor/shell/terminal.rb#9
+ def terminal_width; end
+
+ # @return [Boolean]
+ #
+ # source://thor//lib/thor/shell/terminal.rb#20
+ def unix?; end
+
+ private
+
+ # Calculate the dynamic width of the terminal
+ #
+ # source://thor//lib/thor/shell/terminal.rb#27
+ def dynamic_width; end
+
+ # source://thor//lib/thor/shell/terminal.rb#31
+ def dynamic_width_stty; end
+
+ # source://thor//lib/thor/shell/terminal.rb#35
+ def dynamic_width_tput; end
+ end
+end
+
+# source://thor//lib/thor/shell/terminal.rb#4
+Thor::Shell::Terminal::DEFAULT_TERMINAL_WIDTH = T.let(T.unsafe(nil), Integer)
+
+# source://thor//lib/thor/shell/wrapped_printer.rb#6
+class Thor::Shell::WrappedPrinter < ::Thor::Shell::ColumnPrinter
+ # source://thor//lib/thor/shell/wrapped_printer.rb#7
+ def print(message); end
+end
+
# source://thor//lib/thor/base.rb#23
Thor::TEMPLATE_EXTNAME = T.let(T.unsafe(nil), String)
@@ -3683,89 +4063,89 @@ Thor::TEMPLATE_EXTNAME = T.let(T.unsafe(nil), String)
# source://thor//lib/thor/base.rb#20
Thor::THOR_RESERVED_WORDS = T.let(T.unsafe(nil), Array)
-# source://thor//lib/thor/command.rb#117
+# source://thor//lib/thor/command.rb#126
Thor::Task = Thor::Command
# Raised when a command was not found.
#
-# source://thor//lib/thor/error.rb#35
+# source://thor//lib/thor/error.rb#24
class Thor::UndefinedCommandError < ::Thor::Error
include ::Thor::Correctable
# @return [UndefinedCommandError] a new instance of UndefinedCommandError
#
- # source://thor//lib/thor/error.rb#54
+ # source://thor//lib/thor/error.rb#43
def initialize(command, all_commands, namespace); end
# Returns the value of attribute all_commands.
#
- # source://thor//lib/thor/error.rb#52
+ # source://thor//lib/thor/error.rb#41
def all_commands; end
# Returns the value of attribute command.
#
- # source://thor//lib/thor/error.rb#52
+ # source://thor//lib/thor/error.rb#41
def command; end
end
-# source://thor//lib/thor/error.rb#36
+# source://thor//lib/thor/error.rb#25
class Thor::UndefinedCommandError::SpellChecker
# @return [SpellChecker] a new instance of SpellChecker
#
- # source://thor//lib/thor/error.rb#39
+ # source://thor//lib/thor/error.rb#28
def initialize(error); end
- # source://thor//lib/thor/error.rb#43
+ # source://thor//lib/thor/error.rb#32
def corrections; end
# Returns the value of attribute error.
#
- # source://thor//lib/thor/error.rb#37
+ # source://thor//lib/thor/error.rb#26
def error; end
- # source://thor//lib/thor/error.rb#47
+ # source://thor//lib/thor/error.rb#36
def spell_checker; end
end
-# source://thor//lib/thor/error.rb#66
+# source://thor//lib/thor/error.rb#55
Thor::UndefinedTaskError = Thor::UndefinedCommandError
-# source://thor//lib/thor/error.rb#76
+# source://thor//lib/thor/error.rb#65
class Thor::UnknownArgumentError < ::Thor::Error
include ::Thor::Correctable
# @return [UnknownArgumentError] a new instance of UnknownArgumentError
#
- # source://thor//lib/thor/error.rb#96
+ # source://thor//lib/thor/error.rb#85
def initialize(switches, unknown); end
# Returns the value of attribute switches.
#
- # source://thor//lib/thor/error.rb#94
+ # source://thor//lib/thor/error.rb#83
def switches; end
# Returns the value of attribute unknown.
#
- # source://thor//lib/thor/error.rb#94
+ # source://thor//lib/thor/error.rb#83
def unknown; end
end
-# source://thor//lib/thor/error.rb#77
+# source://thor//lib/thor/error.rb#66
class Thor::UnknownArgumentError::SpellChecker
# @return [SpellChecker] a new instance of SpellChecker
#
- # source://thor//lib/thor/error.rb#80
+ # source://thor//lib/thor/error.rb#69
def initialize(error); end
- # source://thor//lib/thor/error.rb#84
+ # source://thor//lib/thor/error.rb#73
def corrections; end
# Returns the value of attribute error.
#
- # source://thor//lib/thor/error.rb#78
+ # source://thor//lib/thor/error.rb#67
def error; end
- # source://thor//lib/thor/error.rb#89
+ # source://thor//lib/thor/error.rb#78
def spell_checker; end
end
@@ -3806,7 +4186,7 @@ module Thor::Util
# ==== Returns
# String
#
- # source://thor//lib/thor/util.rb#263
+ # source://thor//lib/thor/util.rb#264
def escape_globs(path); end
# Returns a string that has had any HTML characters escaped.
@@ -3821,7 +4201,7 @@ module Thor::Util
# ==== Returns
# String
#
- # source://thor//lib/thor/util.rb#279
+ # source://thor//lib/thor/util.rb#280
def escape_html(string); end
# Receives a namespace and search for it in the Thor::Base subclasses.
@@ -3884,13 +4264,13 @@ module Thor::Util
# Where to look for Thor files.
#
- # source://thor//lib/thor/util.rb#212
+ # source://thor//lib/thor/util.rb#213
def globs_for(path); end
# Receives a path and load the thor file in the path. The file is evaluated
# inside the sandbox to avoid namespacing conflicts.
#
- # source://thor//lib/thor/util.rb#152
+ # source://thor//lib/thor/util.rb#153
def load_thorfile(path, content = T.unsafe(nil), debug = T.unsafe(nil)); end
# Receives a constant and converts it to a Thor namespace. Since Thor
@@ -3925,7 +4305,7 @@ module Thor::Util
# Return the path to the ruby interpreter taking into account multiple
# installations and windows extensions.
#
- # source://thor//lib/thor/util.rb#220
+ # source://thor//lib/thor/util.rb#221
def ruby_command; end
# Receives a string and convert it to snake case. SnakeCase returns snake_case.
@@ -3946,7 +4326,7 @@ module Thor::Util
# Returns the root where thor files are located, depending on the OS.
#
- # source://thor//lib/thor/util.rb#191
+ # source://thor//lib/thor/util.rb#192
def thor_root; end
# Returns the files in the thor root. On Windows thor_root will be something
@@ -3956,10 +4336,10 @@ module Thor::Util
#
# If we don't #gsub the \ character, Dir.glob will fail.
#
- # source://thor//lib/thor/util.rb#202
+ # source://thor//lib/thor/util.rb#203
def thor_root_glob; end
- # source://thor//lib/thor/util.rb#167
+ # source://thor//lib/thor/util.rb#168
def user_home; end
end
end
diff --git a/sorbet/rbi/gems/unicode-display_width@2.4.2.rbi b/sorbet/rbi/gems/unicode-display_width@2.5.0.rbi
similarity index 100%
rename from sorbet/rbi/gems/unicode-display_width@2.4.2.rbi
rename to sorbet/rbi/gems/unicode-display_width@2.5.0.rbi
diff --git a/sorbet/rbi/gems/unparser@0.6.7.rbi b/sorbet/rbi/gems/unparser@0.6.7.rbi
deleted file mode 100644
index 8c3ff8945..000000000
--- a/sorbet/rbi/gems/unparser@0.6.7.rbi
+++ /dev/null
@@ -1,4524 +0,0 @@
-# typed: true
-
-# DO NOT EDIT MANUALLY
-# This is an autogenerated file for types exported from the `unparser` gem.
-# Please instead update this file by running `bin/tapioca gem unparser`.
-
-# Library namespace
-#
-# source://unparser//lib/unparser/equalizer.rb#3
-module Unparser
- class << self
- # Construct a parser buffer from string
- #
- # @param source [String]
- # @return [Parser::Source::Buffer]
- #
- # source://unparser//lib/unparser.rb#147
- def buffer(source, identification = T.unsafe(nil)); end
-
- # Parse string into AST
- #
- # @param source [String]
- # @return [Parser::AST::Node, nil]
- #
- # source://unparser//lib/unparser.rb#105
- def parse(source); end
-
- # Parse string into either syntax error or AST
- #
- # @param source [String]
- # @return [Either]
- #
- # source://unparser//lib/unparser.rb#114
- def parse_either(source); end
-
- # Parse string into AST, with comments
- #
- # @param source [String]
- # @return [Parser::AST::Node]
- #
- # source://unparser//lib/unparser.rb#125
- def parse_with_comments(source); end
-
- # Parser instance that produces AST unparser understands
- #
- # @api private
- # @return [Parser::Base]
- #
- # source://unparser//lib/unparser.rb#134
- def parser; end
-
- # Unparse an AST (and, optionally, comments) into a string
- #
- # @api public
- # @param node [Parser::AST::Node, nil]
- # @param comment_array [Array]
- # @raise InvalidNodeError
- # if the node passed is invalid
- # @return [String]
- #
- # source://unparser//lib/unparser.rb#60
- def unparse(node, comment_array = T.unsafe(nil)); end
-
- # Unparse capturing errors
- #
- # This is mostly useful for writing testing tools against unparser.
- #
- # @param node [Parser::AST::Node, nil]
- # @return [Either]
- #
- # source://unparser//lib/unparser.rb#96
- def unparse_either(node); end
-
- # Unparse with validation
- #
- # @param node [Parser::AST::Node, nil]
- # @param comment_array [Array]
- # @return [Either]
- #
- # source://unparser//lib/unparser.rb#78
- def unparse_validate(node, comment_array = T.unsafe(nil)); end
- end
-end
-
-# Namespace for AST processing tools
-#
-# source://unparser//lib/unparser/ast.rb#5
-module Unparser::AST
- class << self
- # Return local variables that get assigned in scope
- #
- # @api private
- # @param node [Parser::AST::Node]
- # @return [Set]
- #
- # source://unparser//lib/unparser/ast.rb#57
- def local_variable_assignments(node); end
-
- # Return local variables read
- #
- # @api private
- # @param node [Parser::AST::Node]
- # @return [Set]
- #
- # source://unparser//lib/unparser/ast.rb#72
- def local_variable_reads(node); end
-
- # Test for local variable inherited scope reset
- #
- # @api private
- # @param node [Parser::AST::Node]
- # @return [Boolean]
- #
- # source://unparser//lib/unparser/ast.rb#33
- def not_close_scope?(node); end
-
- # Test for local variable scope reset
- #
- # @api private
- # @param node [Parser::AST::Node]
- # @return [Boolean]
- #
- # source://unparser//lib/unparser/ast.rb#45
- def not_reset_scope?(node); end
- end
-end
-
-# Nodes that assign a local variable
-#
-# source://unparser//lib/unparser/ast.rb#14
-Unparser::AST::ASSIGN_NODES = T.let(T.unsafe(nil), Set)
-
-# source://unparser//lib/unparser/ast.rb#11
-Unparser::AST::CLOSE_NODES = T.let(T.unsafe(nil), Array)
-
-# AST enumerator
-#
-# source://unparser//lib/unparser/ast.rb#80
-class Unparser::AST::Enumerator
- include ::Enumerable
- include ::Unparser::Equalizer::Methods
- include ::Unparser::Adamantium
- include ::Unparser::Adamantium::InstanceMethods
- extend ::Unparser::Adamantium::ModuleMethods
- extend ::Unparser::Adamantium::ClassMethods
-
- # Return each node
- #
- # @api private
- # @return [Enumerator] if no block given
- # @return [self] otherwise
- #
- # source://unparser//lib/unparser/ast.rb#106
- def each(&block); end
-
- # Return nodes selected by type
- #
- # @api private
- # @param type [Symbol]
- # @return [Enumerable]
- #
- # source://unparser//lib/unparser/ast.rb#130
- def type(type); end
-
- # Return nodes selected by types
- #
- # @api private
- # @param types [Enumerable]
- # @return [Enumerable]
- #
- # source://unparser//lib/unparser/ast.rb#118
- def types(types); end
-
- class << self
- # Return new instance
- #
- # @api private
- # @param node [Parser::AST::Node]
- # @param controller [#call(node)]
- # @return [Enumerator]
- #
- # source://unparser//lib/unparser/ast.rb#92
- def new(node, controller = T.unsafe(nil)); end
-
- private
-
- # Return frozne set of objects
- #
- # @api private
- # @param enumerable [Enumerable]
- # @return [Set]
- #
- # source://unparser//lib/unparser/ast.rb#142
- def set(enumerable); end
-
- # Return nodes of type
- #
- # @api private
- # @param node [Parser::AST::Node]
- # @param type [Symbol]
- # @return [Enumerable>] ]
- # otherwise
- #
- # source://unparser//lib/unparser/ast/local_variable_scope.rb#121
- def each(node, &block); end
-
- private
-
- # source://unparser//lib/unparser/ast/local_variable_scope.rb#127
- def current; end
-
- # source://unparser//lib/unparser/ast/local_variable_scope.rb#156
- def define(name); end
-
- # source://unparser//lib/unparser/ast/local_variable_scope.rb#141
- def enter(node); end
-
- # source://unparser//lib/unparser/ast/local_variable_scope.rb#152
- def leave(node); end
-
- # source://unparser//lib/unparser/ast/local_variable_scope.rb#168
- def pop; end
-
- # source://unparser//lib/unparser/ast/local_variable_scope.rb#164
- def push_inherit; end
-
- # source://unparser//lib/unparser/ast/local_variable_scope.rb#160
- def push_reset; end
-
- # @yield [node, current.dup, before]
- #
- # source://unparser//lib/unparser/ast/local_variable_scope.rb#131
- def visit(node, &block); end
-
- class << self
- # Enumerate each node with its local variable scope
- #
- # @api private
- # @param node [Parser::AST::Node]
- # @return [self]
- #
- # source://unparser//lib/unparser/ast/local_variable_scope.rb#106
- def each(node, &block); end
- end
-end
-
-# source://unparser//lib/unparser/ast.rb#9
-Unparser::AST::RESET_NODES = T.let(T.unsafe(nil), Array)
-
-# source://unparser//lib/unparser/ast.rb#7
-Unparser::AST::TAUTOLOGY = T.let(T.unsafe(nil), Proc)
-
-# Controlled AST walker walking the AST in deeth first search with pre order
-#
-# source://unparser//lib/unparser/ast.rb#164
-class Unparser::AST::Walker
- include ::Unparser::Equalizer::Methods
-
- # Call walker with node
- #
- # @api private
- # @param node [Parser::AST::Node]
- # @return [undefined]
- #
- # source://unparser//lib/unparser/ast.rb#188
- def call(node); end
-
- class << self
- # Call ast walker
- #
- # @api private
- # @param node [Parser::AST::Node]
- # @return [self]
- #
- # source://unparser//lib/unparser/ast.rb#175
- def call(node, controller = T.unsafe(nil), &block); end
- end
-end
-
-# Module to allow class and methods to be abstract
-#
-# Original code before vendoring and reduction from: https://github.com/dkubb/abstract_type.
-#
-# source://unparser//lib/unparser/abstract_type.rb#7
-module Unparser::AbstractType
- mixes_in_class_methods ::Unparser::AbstractType::AbstractMethodDeclarations
-
- class << self
- private
-
- # Define the new method on the abstract type
- #
- # Ensures that the instance cannot be of the abstract type
- # and must be a descendant.
- #
- # @api private
- # @param abstract_class [Class]
- # @return [undefined]
- #
- # source://unparser//lib/unparser/abstract_type.rb#35
- def create_new_method(abstract_class); end
-
- # Hook called when module is included
- #
- # @api private
- # @param descendant [Module] the module or class including AbstractType
- # @return [undefined]
- #
- # source://unparser//lib/unparser/abstract_type.rb#17
- def included(descendant); end
- end
-end
-
-# source://unparser//lib/unparser/abstract_type.rb#47
-module Unparser::AbstractType::AbstractMethodDeclarations
- # Create abstract instance methods
- #
- # @api public
- # @example
- # class Foo
- # include AbstractType
- #
- # # Create an abstract instance method
- # abstract_method :some_method
- # end
- # @param names [Array<#to_s>]
- # @return [self]
- #
- # source://unparser//lib/unparser/abstract_type.rb#64
- def abstract_method(*names); end
-
- # Create abstract singleton methods
- #
- # @api private
- # @example
- # class Foo
- # include AbstractType
- #
- # # Create an abstract instance method
- # abstract_singleton_method :some_method
- # end
- # @param names [Array<#to_s>]
- # @return [self]
- #
- # source://unparser//lib/unparser/abstract_type.rb#84
- def abstract_singleton_method(*names); end
-
- private
-
- # Create abstract instance method
- #
- # @api private
- # @param name [#to_s] the name of the method to create
- # @return [undefined]
- #
- # source://unparser//lib/unparser/abstract_type.rb#113
- def create_abstract_instance_method(name); end
-
- # Create abstract singleton method
- #
- # @api private
- # @param name [#to_s] the name of the method to create
- # @return [undefined]
- #
- # source://unparser//lib/unparser/abstract_type.rb#99
- def create_abstract_singleton_method(name); end
-end
-
-# Allows objects to be made immutable
-#
-# Original code before vendoring and reduction from: https://github.com/dkubb/adamantium.
-#
-# source://unparser//lib/unparser/adamantium.rb#7
-module Unparser::Adamantium
- include ::Unparser::Adamantium::InstanceMethods
-
- mixes_in_class_methods ::Unparser::Adamantium::ModuleMethods
- mixes_in_class_methods ::Unparser::Adamantium::ClassMethods
-
- class << self
- private
-
- # ModuleMethods
- #
- # source://unparser//lib/unparser/adamantium.rb#141
- def included(descendant); end
- end
-end
-
-# Methods mixed in to adamantium classes
-#
-# source://unparser//lib/unparser/adamantium.rb#70
-module Unparser::Adamantium::ClassMethods
- # Instantiate a new frozen object
- #
- # @api public
- # @return [Object]
- #
- # source://unparser//lib/unparser/adamantium.rb#77
- def new(*_arg0); end
-end
-
-# source://unparser//lib/unparser/adamantium.rb#8
-module Unparser::Adamantium::InstanceMethods
- # A noop #dup for immutable objects
- #
- # @api public
- # @return [self]
- #
- # source://unparser//lib/unparser/adamantium.rb#14
- def dup; end
-
- # Freeze the object
- #
- # @api public
- # @return [Object]
- #
- # source://unparser//lib/unparser/adamantium.rb#23
- def freeze; end
-
- private
-
- # source://unparser//lib/unparser/adamantium.rb#30
- def memoized_method_cache; end
-end
-
-# Storage for memoized methods
-#
-# source://unparser//lib/unparser/adamantium.rb#37
-class Unparser::Adamantium::Memory
- # Initialize the memory storage for memoized methods
- #
- # @api private
- # @return [undefined]
- #
- # source://unparser//lib/unparser/adamantium.rb#44
- def initialize(values); end
-
- # Fetch the value from memory, or evaluate if it does not exist
- #
- # @api public
- # @param name [Symbol]
- # @yieldreturn [Object] the value to memoize
- #
- # source://unparser//lib/unparser/adamantium.rb#58
- def fetch(name); end
-end
-
-# Build the memoized method
-#
-# source://unparser//lib/unparser/adamantium/method_builder.rb#6
-class Unparser::Adamantium::MethodBuilder
- # Initialize an object to build a memoized method
- #
- # @api private
- # @param descendant [Module]
- # @param method_name [Symbol]
- # @return [undefined]
- #
- # source://unparser//lib/unparser/adamantium/method_builder.rb#47
- def initialize(descendant, method_name); end
-
- # Build a new memoized method
- #
- # @api public
- # @example
- # method_builder.call # => creates new method
- # @return [UnboundMethod]
- #
- # source://unparser//lib/unparser/adamantium/method_builder.rb#63
- def call; end
-
- private
-
- # source://unparser//lib/unparser/adamantium/method_builder.rb#72
- def assert_arity(arity); end
-
- # source://unparser//lib/unparser/adamantium/method_builder.rb#83
- def create_memoized_method; end
-
- # source://unparser//lib/unparser/adamantium/method_builder.rb#78
- def remove_original_method; end
-
- # source://unparser//lib/unparser/adamantium/method_builder.rb#97
- def set_method_visibility; end
-
- # source://unparser//lib/unparser/adamantium/method_builder.rb#101
- def visibility; end
-end
-
-# Raised when a block is passed to a memoized method
-#
-# source://unparser//lib/unparser/adamantium/method_builder.rb#25
-class Unparser::Adamantium::MethodBuilder::BlockNotAllowedError < ::ArgumentError
- # Initialize a block not allowed exception
- #
- # @api private
- # @param descendant [Module]
- # @param method [Symbol]
- # @return [BlockNotAllowedError] a new instance of BlockNotAllowedError
- #
- # source://unparser//lib/unparser/adamantium/method_builder.rb#33
- def initialize(descendant, method); end
-end
-
-# Raised when the method arity is invalid
-#
-# source://unparser//lib/unparser/adamantium/method_builder.rb#9
-class Unparser::Adamantium::MethodBuilder::InvalidArityError < ::ArgumentError
- # Initialize an invalid arity exception
- #
- # @api private
- # @param descendant [Module]
- # @param method [Symbol]
- # @param arity [Integer]
- # @return [InvalidArityError] a new instance of InvalidArityError
- #
- # source://unparser//lib/unparser/adamantium/method_builder.rb#18
- def initialize(descendant, method, arity); end
-end
-
-# Methods mixed in to adamantium modules
-#
-# source://unparser//lib/unparser/adamantium.rb#84
-module Unparser::Adamantium::ModuleMethods
- # Memoize a list of methods
- #
- # @api public
- # @param methods [Array<#to_s>] a list of methods to memoize
- # @return [self]
- #
- # source://unparser//lib/unparser/adamantium.rb#94
- def memoize(*methods); end
-
- # Test if method is memoized
- #
- # @param name [Symbol]
- # @return [Bool]
- #
- # source://unparser//lib/unparser/adamantium.rb#104
- def memoized?(method_name); end
-
- # Return unmemoized instance method
- #
- # @api public
- # @param name [Symbol]
- # @raise [NameError] raised if the method is unknown
- # @return [UnboundMethod] the memoized method
- #
- # source://unparser//lib/unparser/adamantium.rb#119
- def unmemoized_instance_method(method_name); end
-
- private
-
- # source://unparser//lib/unparser/adamantium.rb#127
- def memoize_method(method_name); end
-
- # source://unparser//lib/unparser/adamantium.rb#135
- def memoized_methods; end
-end
-
-# Original code before vendoring and reduction from: https://github.com/mbj/anima.
-#
-# source://unparser//lib/unparser/anima.rb#5
-class Unparser::Anima < ::Module
- include ::Unparser::Equalizer::Methods
- include ::Unparser::Adamantium
- include ::Unparser::Adamantium::InstanceMethods
- extend ::Unparser::Adamantium::ModuleMethods
- extend ::Unparser::Adamantium::ClassMethods
-
- # Initialize object
- #
- #
- # @return [undefined]
- #
- # source://unparser//lib/unparser/anima.rb#18
- def initialize(*names); end
-
- # Return new anima with attributes added
- #
- # @example
- # anima = Anima.new(:foo)
- # anima.add(:bar) # equals Anima.new(:foo, :bar)
- # @return [Anima]
- #
- # source://unparser//lib/unparser/anima.rb#31
- def add(*names); end
-
- # Return attribute names
- #
- # @return [Enumerable]
- #
- # source://unparser//lib/unparser/adamantium/method_builder.rb#87
- def attribute_names(&block); end
-
- # Return names
- #
- # @return [AttributeSet]
- #
- # source://unparser//lib/unparser/anima.rb#11
- def attributes; end
-
- # Return attributes hash for instance
- #
- # @param object [Object]
- # @return [Hash]
- #
- # source://unparser//lib/unparser/anima.rb#52
- def attributes_hash(object); end
-
- # Initialize instance
- #
- # @param object [Object]
- # @param attribute_hash [Hash]
- # @return [self]
- #
- # source://unparser//lib/unparser/anima.rb#73
- def initialize_instance(object, attribute_hash); end
-
- # Return new anima with attributes removed
- #
- # @example
- # anima = Anima.new(:foo, :bar)
- # anima.remove(:bar) # equals Anima.new(:foo)
- # @return [Anima]
- #
- # source://unparser//lib/unparser/anima.rb#43
- def remove(*names); end
-
- private
-
- # Fail unless keys in +attribute_hash+ matches #attribute_names
- #
- # @param klass [Class] the class being initialized
- # @param attribute_hash [Hash] the attributes to initialize +object+ with
- # @raise [Error]
- # @return [undefined]
- #
- # source://unparser//lib/unparser/anima.rb#164
- def assert_known_attributes(klass, attribute_hash); end
-
- # Infect the instance with anima
- #
- # @param scope [Class, Module]
- # @return [undefined]
- #
- # source://unparser//lib/unparser/anima.rb#137
- def included(descendant); end
-
- # Return new instance
- #
- # @param attributes [Enumerable]
- # @return [Anima]
- #
- # source://unparser//lib/unparser/anima.rb#180
- def new(attributes); end
-end
-
-# An attribute
-#
-# source://unparser//lib/unparser/anima/attribute.rb#6
-class Unparser::Anima::Attribute
- include ::Unparser::Equalizer::Methods
- include ::Unparser::Adamantium
- include ::Unparser::Adamantium::InstanceMethods
- extend ::Unparser::Adamantium::ModuleMethods
- extend ::Unparser::Adamantium::ClassMethods
-
- # Initialize attribute
- #
- # @param name [Symbol]
- # @return [Attribute] a new instance of Attribute
- #
- # source://unparser//lib/unparser/anima/attribute.rb#12
- def initialize(name); end
-
- # Get attribute value from object
- #
- # @param object [Object]
- # @return [Object]
- #
- # source://unparser//lib/unparser/anima/attribute.rb#42
- def get(object); end
-
- # Return instance variable name
- #
- # @return [Symbol]
- #
- # source://unparser//lib/unparser/anima/attribute.rb#25
- def instance_variable_name; end
-
- # Load attribute
- #
- # @param object [Object]
- # @param attributes [Hash]
- # @return [self]
- #
- # source://unparser//lib/unparser/anima/attribute.rb#33
- def load(object, attributes); end
-
- # Return attribute name
- #
- # @return [Symbol]
- #
- # source://unparser//lib/unparser/anima/attribute.rb#20
- def name; end
-
- # Set attribute value in object
- #
- # @param object [Object]
- # @param value [Object]
- # @return [self]
- #
- # source://unparser//lib/unparser/anima/attribute.rb#52
- def set(object, value); end
-end
-
-# Abstract base class for anima errors
-#
-# source://unparser//lib/unparser/anima/error.rb#6
-class Unparser::Anima::Error < ::RuntimeError
- # Initialize object
- #
- # @param klass [Class] the class being initialized
- # @param missing [Enumerable]
- # @param unknown [Enumerable]
- # @return [undefined]
- #
- # source://unparser//lib/unparser/anima/error.rb#18
- def initialize(klass, missing, unknown); end
-end
-
-# source://unparser//lib/unparser/anima/error.rb#7
-Unparser::Anima::Error::FORMAT = T.let(T.unsafe(nil), String)
-
-# Static instance methods for anima infected classes
-#
-# source://unparser//lib/unparser/anima.rb#82
-module Unparser::Anima::InstanceMethods
- # Initialize an anima infected object
- #
- #
- # @param attributes [#to_h] a hash that matches anima defined attributes
- # @return [undefined]
- #
- # source://unparser//lib/unparser/anima.rb#91
- def initialize(attributes); end
-
- # Return a hash representation of an anima infected object
- #
- # @api public
- # @example
- # anima.to_h # => { :foo => : bar }
- # @return [Hash]
- #
- # source://unparser//lib/unparser/anima.rb#104
- def to_h; end
-
- # Return updated instance
- #
- # @api public
- # @example
- # klass = Class.new do
- # include Anima.new(:foo, :bar)
- # end
- #
- # foo = klass.new(:foo => 1, :bar => 2)
- # updated = foo.with(:foo => 3)
- # updated.foo # => 3
- # updated.bar # => 2
- # @param attributes [Hash]
- # @return [Anima]
- #
- # source://unparser//lib/unparser/anima.rb#125
- def with(attributes); end
-end
-
-# Buffer used to emit into
-#
-# source://unparser//lib/unparser/buffer.rb#6
-class Unparser::Buffer
- # Initialize object
- #
- # @api private
- # @return [undefined]
- #
- # source://unparser//lib/unparser/buffer.rb#16
- def initialize; end
-
- # Append string
- #
- # @api private
- # @param string [String]
- # @return [self]
- #
- # source://unparser//lib/unparser/buffer.rb#29
- def append(string); end
-
- # Append a string without an indentation prefix
- #
- # @api private
- # @param string [String]
- # @return [self]
- #
- # source://unparser//lib/unparser/buffer.rb#45
- def append_without_prefix(string); end
-
- # Return content of buffer
- #
- # @api private
- # @return [String]
- #
- # source://unparser//lib/unparser/buffer.rb#104
- def content; end
-
- # Test for a fresh line
- #
- # @api private
- # @return [Boolean]
- #
- # source://unparser//lib/unparser/buffer.rb#94
- def fresh_line?; end
-
- # Increase indent
- #
- # @api private
- # @return [self]
- #
- # source://unparser//lib/unparser/buffer.rb#55
- def indent; end
-
- # Write newline
- #
- # @api private
- # @return [self]
- #
- # source://unparser//lib/unparser/buffer.rb#77
- def nl; end
-
- # source://unparser//lib/unparser/buffer.rb#81
- def root_indent; end
-
- # Decrease indent
- #
- # @api private
- # @return [self]
- #
- # source://unparser//lib/unparser/buffer.rb#66
- def unindent; end
-
- # Write raw fragment to buffer
- #
- # Does not do indentation logic.
- #
- # @param fragment [String]
- # @return [self]
- #
- # source://unparser//lib/unparser/buffer.rb#115
- def write(fragment); end
-
- private
-
- # source://unparser//lib/unparser/buffer.rb#124
- def prefix; end
-end
-
-# source://unparser//lib/unparser/buffer.rb#122
-Unparser::Buffer::INDENT_SPACE = T.let(T.unsafe(nil), String)
-
-# source://unparser//lib/unparser/buffer.rb#8
-Unparser::Buffer::NL = T.let(T.unsafe(nil), String)
-
-# Unparser specific AST builder defaulting to modern AST format
-#
-# source://unparser//lib/unparser.rb#23
-class Unparser::Builder < ::Parser::Builders::Default
- # @return [Builder] a new instance of Builder
- #
- # source://unparser//lib/unparser.rb#26
- def initialize; end
-end
-
-# Unparser CLI implementation
-#
-# source://unparser//lib/unparser/cli.rb#5
-class Unparser::CLI
- # Initialize object
- #
- # @api private
- # @param arguments [Array]
- # @return [undefined]
- #
- # source://unparser//lib/unparser/cli.rb#74
- def initialize(arguments); end
-
- # Add options
- #
- #
- # @api private
- # @param builder [OptionParser]
- # @return [undefined]
- #
- # source://unparser//lib/unparser/cli.rb#102
- def add_options(builder); end
-
- # Return exit status
- #
- # @api private
- # @return [Integer]
- #
- # source://unparser//lib/unparser/cli.rb#132
- def exit_status; end
-
- private
-
- # source://unparser//lib/unparser/cli.rb#155
- def effective_targets; end
-
- # source://unparser//lib/unparser/cli.rb#143
- def process_target(target); end
-
- # source://unparser//lib/unparser/cli.rb#170
- def targets(file_name); end
-
- class << self
- # Run CLI
- #
- # @api private
- # @param arguments [Array]
- # @return [Integer] the exit status
- #
- # source://unparser//lib/unparser/cli.rb#63
- def run(*arguments); end
- end
-end
-
-# source://unparser//lib/unparser/cli.rb#8
-Unparser::CLI::EXIT_FAILURE = T.let(T.unsafe(nil), Integer)
-
-# source://unparser//lib/unparser/cli.rb#7
-Unparser::CLI::EXIT_SUCCESS = T.let(T.unsafe(nil), Integer)
-
-# source://unparser//lib/unparser/cli.rb#10
-class Unparser::CLI::Target
- include ::Unparser::AbstractType
- extend ::Unparser::AbstractType::AbstractMethodDeclarations
-
- class << self
- # source://unparser//lib/unparser/abstract_type.rb#36
- def new(*args, &block); end
- end
-end
-
-# Path target
-#
-# source://unparser//lib/unparser/cli.rb#14
-class Unparser::CLI::Target::Path < ::Unparser::CLI::Target
- include ::Unparser::Equalizer::Methods
-
- # Literal for this target
- #
- # @return [Validation]
- #
- # source://unparser//lib/unparser/cli.rb#27
- def literal_validation; end
-
- # Validation for this target
- #
- # @return [Validation]
- #
- # source://unparser//lib/unparser/cli.rb#20
- def validation; end
-end
-
-# String target
-#
-# source://unparser//lib/unparser/cli.rb#33
-class Unparser::CLI::Target::String
- include ::Unparser::Equalizer::Methods
-
- # Literal for this target
- #
- # @return [Validation]
- #
- # source://unparser//lib/unparser/cli.rb#46
- def literal_validation; end
-
- # Validation for this target
- #
- # @return [Validation]
- #
- # source://unparser//lib/unparser/cli.rb#39
- def validation; end
-end
-
-# Class to colorize strings
-#
-# source://unparser//lib/unparser/color.rb#5
-class Unparser::Color
- include ::Unparser::Equalizer::Methods
- include ::Unparser::Adamantium
- include ::Unparser::Adamantium::InstanceMethods
- extend ::Unparser::Adamantium::ModuleMethods
- extend ::Unparser::Adamantium::ClassMethods
-
- # Format text with color
- #
- # @param text [String]
- # @return [String]
- #
- # source://unparser//lib/unparser/color.rb#13
- def format(text); end
-end
-
-# source://unparser//lib/unparser/color.rb#39
-Unparser::Color::GREEN = T.let(T.unsafe(nil), Unparser::Color)
-
-# source://unparser//lib/unparser/color.rb#17
-Unparser::Color::NONE = T.let(T.unsafe(nil), T.untyped)
-
-# source://unparser//lib/unparser/color.rb#38
-Unparser::Color::RED = T.let(T.unsafe(nil), Unparser::Color)
-
-# Holds the comments that remain to be emitted
-#
-# source://unparser//lib/unparser/comments.rb#6
-class Unparser::Comments
- # Initialize object
- #
- # @api private
- # @param comments [Array]
- # @return [undefined]
- #
- # source://unparser//lib/unparser/comments.rb#30
- def initialize(comments); end
-
- # Consume part or all of the node
- #
- # @api private
- # @param node [Parser::AST::Node]
- # @param source_part [Symbol]
- # @return [undefined]
- #
- # source://unparser//lib/unparser/comments.rb#44
- def consume(node, source_part = T.unsafe(nil)); end
-
- # Proxy to singleton
- #
- # NOTICE:
- # Delegating to stateless helpers is a pattern I saw many times in our code.
- # Maybe we should make another helper module? include SingletonDelegator.new(:source_range) ?
- #
- # @api private
- # @return [undefined]
- #
- # source://unparser//lib/unparser/comments.rb#18
- def source_range(*arguments); end
-
- # Take all remaining comments
- #
- # @api private
- # @return [Array]
- #
- # source://unparser//lib/unparser/comments.rb#68
- def take_all; end
-
- # Take comments appear in the source before the specified part of the node
- #
- # @api private
- # @param node [Parser::AST::Node]
- # @param source_part [Symbol]
- # @return [Array]
- #
- # source://unparser//lib/unparser/comments.rb#81
- def take_before(node, source_part); end
-
- # Take end-of-line comments
- #
- # @api private
- # @return [Array]
- #
- # source://unparser//lib/unparser/comments.rb#55
- def take_eol_comments; end
-
- private
-
- # source://unparser//lib/unparser/comments.rb#119
- def take_up_to_line(line); end
-
- # source://unparser//lib/unparser/comments.rb#114
- def take_while; end
-
- # source://unparser//lib/unparser/comments.rb#123
- def unshift_documents(comments); end
-
- class << self
- # Return source location part
- #
- # FIXME: This method should not be needed. It does to much inline signalling.
- #
- # :reek:ManualDispatch
- #
- # @api private
- # @param node [Parser::AST::Node]
- # @param part [Symbol]
- # @return [Parser::Source::Range] if present
- # @return [nil] otherwise
- #
- # source://unparser//lib/unparser/comments.rb#107
- def source_range(node, part); end
- end
-end
-
-# A mixin to define a composition
-#
-# Original code before vendoring and reduction from: https://github.com/mbj/concord.
-#
-# source://unparser//lib/unparser/concord.rb#7
-class Unparser::Concord < ::Module
- include ::Unparser::Equalizer::Methods
- include ::Unparser::Adamantium
- include ::Unparser::Adamantium::InstanceMethods
- extend ::Unparser::Adamantium::ModuleMethods
- extend ::Unparser::Adamantium::ClassMethods
-
- # Initialize object
- #
- #
- # @api private
- # @return [undefined]
- #
- # source://unparser//lib/unparser/concord.rb#30
- def initialize(*names); end
-
- # Return names
- #
- # @api private
- # @return [Enumerable]
- #
- # source://unparser//lib/unparser/concord.rb#19
- def names; end
-
- private
-
- # Define equalizer
- #
- # @api private
- # @return [undefined]
- #
- # source://unparser//lib/unparser/concord.rb#48
- def define_equalizer; end
-
- # Define initialize method
- #
- # @api private
- # @return [undefined]
- #
- # source://unparser//lib/unparser/concord.rb#72
- def define_initialize; end
-
- # Define readers
- #
- # @api private
- # @return [undefined]
- #
- # source://unparser//lib/unparser/concord.rb#58
- def define_readers; end
-
- # Return instance variable names
- #
- # @api private
- # @return [String]
- #
- # source://unparser//lib/unparser/concord.rb#92
- def instance_variable_names; end
-end
-
-# The maximum number of objects the hosting class is composed of
-#
-# source://unparser//lib/unparser/concord.rb#11
-Unparser::Concord::MAX_NR_OF_OBJECTS = T.let(T.unsafe(nil), Integer)
-
-# Mixin for public attribute readers
-#
-# source://unparser//lib/unparser/concord.rb#97
-class Unparser::Concord::Public < ::Unparser::Concord
- # Hook called when module is included
- #
- # @api private
- # @param descendant [Class, Module]
- # @return [undefined]
- #
- # source://unparser//lib/unparser/concord.rb#107
- def included(descendant); end
-end
-
-# All unparser constants maybe included in other libraries.
-#
-# source://unparser//lib/unparser/constants.rb#5
-module Unparser::Constants; end
-
-# All binary operators of the ruby language
-#
-# source://unparser//lib/unparser/constants.rb#13
-Unparser::Constants::BINARY_OPERATORS = T.let(T.unsafe(nil), Set)
-
-# source://unparser//lib/unparser/constants.rb#63
-Unparser::Constants::KEYWORDS = T.let(T.unsafe(nil), Set)
-
-# source://unparser//lib/unparser/constants.rb#45
-Unparser::Constants::K_ALIAS = T.let(T.unsafe(nil), String)
-
-# source://unparser//lib/unparser/constants.rb#44
-Unparser::Constants::K_AND = T.let(T.unsafe(nil), String)
-
-# source://unparser//lib/unparser/constants.rb#23
-Unparser::Constants::K_BEGIN = T.let(T.unsafe(nil), String)
-
-# source://unparser//lib/unparser/constants.rb#37
-Unparser::Constants::K_BREAK = T.let(T.unsafe(nil), String)
-
-# source://unparser//lib/unparser/constants.rb#24
-Unparser::Constants::K_CASE = T.let(T.unsafe(nil), String)
-
-# source://unparser//lib/unparser/constants.rb#25
-Unparser::Constants::K_CLASS = T.let(T.unsafe(nil), String)
-
-# source://unparser//lib/unparser/constants.rb#21
-Unparser::Constants::K_DEF = T.let(T.unsafe(nil), String)
-
-# source://unparser//lib/unparser/constants.rb#28
-Unparser::Constants::K_DEFINE = T.let(T.unsafe(nil), String)
-
-# source://unparser//lib/unparser/constants.rb#33
-Unparser::Constants::K_DEFINED = T.let(T.unsafe(nil), String)
-
-# Keywords
-#
-# source://unparser//lib/unparser/constants.rb#20
-Unparser::Constants::K_DO = T.let(T.unsafe(nil), String)
-
-# source://unparser//lib/unparser/constants.rb#59
-Unparser::Constants::K_EEND = T.let(T.unsafe(nil), String)
-
-# source://unparser//lib/unparser/constants.rb#46
-Unparser::Constants::K_ELSE = T.let(T.unsafe(nil), String)
-
-# source://unparser//lib/unparser/constants.rb#47
-Unparser::Constants::K_ELSIF = T.let(T.unsafe(nil), String)
-
-# source://unparser//lib/unparser/constants.rb#58
-Unparser::Constants::K_ENCODING = T.let(T.unsafe(nil), String)
-
-# source://unparser//lib/unparser/constants.rb#22
-Unparser::Constants::K_END = T.let(T.unsafe(nil), String)
-
-# source://unparser//lib/unparser/constants.rb#27
-Unparser::Constants::K_ENSURE = T.let(T.unsafe(nil), String)
-
-# source://unparser//lib/unparser/constants.rb#41
-Unparser::Constants::K_FALSE = T.let(T.unsafe(nil), String)
-
-# source://unparser//lib/unparser/constants.rb#60
-Unparser::Constants::K_FILE = T.let(T.unsafe(nil), String)
-
-# source://unparser//lib/unparser/constants.rb#48
-Unparser::Constants::K_FOR = T.let(T.unsafe(nil), String)
-
-# source://unparser//lib/unparser/constants.rb#43
-Unparser::Constants::K_IF = T.let(T.unsafe(nil), String)
-
-# source://unparser//lib/unparser/constants.rb#51
-Unparser::Constants::K_IN = T.let(T.unsafe(nil), String)
-
-# source://unparser//lib/unparser/constants.rb#29
-Unparser::Constants::K_MODULE = T.let(T.unsafe(nil), String)
-
-# source://unparser//lib/unparser/constants.rb#40
-Unparser::Constants::K_NEXT = T.let(T.unsafe(nil), String)
-
-# source://unparser//lib/unparser/constants.rb#49
-Unparser::Constants::K_NIL = T.let(T.unsafe(nil), String)
-
-# source://unparser//lib/unparser/constants.rb#50
-Unparser::Constants::K_NOT = T.let(T.unsafe(nil), String)
-
-# source://unparser//lib/unparser/constants.rb#52
-Unparser::Constants::K_OR = T.let(T.unsafe(nil), String)
-
-# source://unparser//lib/unparser/constants.rb#35
-Unparser::Constants::K_POSTEXE = T.let(T.unsafe(nil), String)
-
-# source://unparser//lib/unparser/constants.rb#34
-Unparser::Constants::K_PREEXE = T.let(T.unsafe(nil), String)
-
-# source://unparser//lib/unparser/constants.rb#39
-Unparser::Constants::K_REDO = T.let(T.unsafe(nil), String)
-
-# source://unparser//lib/unparser/constants.rb#30
-Unparser::Constants::K_RESCUE = T.let(T.unsafe(nil), String)
-
-# source://unparser//lib/unparser/constants.rb#38
-Unparser::Constants::K_RETRY = T.let(T.unsafe(nil), String)
-
-# source://unparser//lib/unparser/constants.rb#31
-Unparser::Constants::K_RETURN = T.let(T.unsafe(nil), String)
-
-# source://unparser//lib/unparser/constants.rb#26
-Unparser::Constants::K_SELF = T.let(T.unsafe(nil), String)
-
-# source://unparser//lib/unparser/constants.rb#36
-Unparser::Constants::K_SUPER = T.let(T.unsafe(nil), String)
-
-# source://unparser//lib/unparser/constants.rb#61
-Unparser::Constants::K_THEN = T.let(T.unsafe(nil), String)
-
-# source://unparser//lib/unparser/constants.rb#42
-Unparser::Constants::K_TRUE = T.let(T.unsafe(nil), String)
-
-# source://unparser//lib/unparser/constants.rb#32
-Unparser::Constants::K_UNDEF = T.let(T.unsafe(nil), String)
-
-# source://unparser//lib/unparser/constants.rb#53
-Unparser::Constants::K_UNLESS = T.let(T.unsafe(nil), String)
-
-# source://unparser//lib/unparser/constants.rb#56
-Unparser::Constants::K_UNTIL = T.let(T.unsafe(nil), String)
-
-# source://unparser//lib/unparser/constants.rb#54
-Unparser::Constants::K_WHEN = T.let(T.unsafe(nil), String)
-
-# source://unparser//lib/unparser/constants.rb#55
-Unparser::Constants::K_WHILE = T.let(T.unsafe(nil), String)
-
-# source://unparser//lib/unparser/constants.rb#57
-Unparser::Constants::K_YIELD = T.let(T.unsafe(nil), String)
-
-# All unary operators of the ruby language
-#
-# source://unparser//lib/unparser/constants.rb#8
-Unparser::Constants::UNARY_OPERATORS = T.let(T.unsafe(nil), Set)
-
-# DSL to help defining emitters
-#
-# source://unparser//lib/unparser/dsl.rb#5
-module Unparser::DSL
- private
-
- # source://unparser//lib/unparser/dsl.rb#32
- def children(*names); end
-
- # source://unparser//lib/unparser/dsl.rb#17
- def define_child(name, index); end
-
- # source://unparser//lib/unparser/dsl.rb#24
- def define_group(name, range); end
-
- # source://unparser//lib/unparser/dsl.rb#9
- def define_remaining_children(names); end
-end
-
-# Class to create diffs from source code
-#
-# source://unparser//lib/unparser/diff.rb#5
-class Unparser::Diff
- include ::Unparser::Equalizer::Methods
- include ::Unparser::Adamantium
- include ::Unparser::Adamantium::InstanceMethods
- extend ::Unparser::Adamantium::ModuleMethods
- extend ::Unparser::Adamantium::ClassMethods
-
- # Colorized unified source diff between old and new
- #
- # @return [String] if there is a diff
- # @return [nil] otherwise
- #
- # source://unparser//lib/unparser/adamantium/method_builder.rb#87
- def colorized_diff(&block); end
-
- # Unified source diff between old and new
- #
- # @return [String] if there is exactly one diff
- # @return [nil] otherwise
- #
- # source://unparser//lib/unparser/adamantium/method_builder.rb#87
- def diff(&block); end
-
- private
-
- # source://unparser//lib/unparser/diff.rb#62
- def diffs; end
-
- # source://unparser//lib/unparser/diff.rb#66
- def hunks; end
-
- # source://unparser//lib/unparser/diff.rb#81
- def max_length; end
-
- # source://unparser//lib/unparser/diff.rb#72
- def minimized_hunk; end
-
- class << self
- # Build new object from source strings
- #
- # @param old [String]
- # @param new [String]
- # @return [Diff]
- #
- # source://unparser//lib/unparser/diff.rb#46
- def build(old, new); end
-
- private
-
- # source://unparser//lib/unparser/diff.rb#85
- def colorize_line(line); end
-
- # Break up source into lines
- #
- # @param source [String]
- # @return [Array]
- #
- # source://unparser//lib/unparser/diff.rb#55
- def lines(source); end
- end
-end
-
-# source://unparser//lib/unparser/diff.rb#8
-Unparser::Diff::ADDITION = T.let(T.unsafe(nil), String)
-
-# source://unparser//lib/unparser/diff.rb#9
-Unparser::Diff::DELETION = T.let(T.unsafe(nil), String)
-
-# source://unparser//lib/unparser/diff.rb#10
-Unparser::Diff::NEWLINE = T.let(T.unsafe(nil), String)
-
-# source://unparser//lib/unparser.rb#34
-Unparser::EMPTY_ARRAY = T.let(T.unsafe(nil), Array)
-
-# source://unparser//lib/unparser.rb#33
-Unparser::EMPTY_STRING = T.let(T.unsafe(nil), String)
-
-# RequireBLock
-#
-# source://unparser//lib/unparser/either.rb#21
-class Unparser::Either
- include ::Unparser::RequireBlock
- include ::Unparser::Equalizer::Methods
- include ::Unparser::Adamantium
- include ::Unparser::Adamantium::InstanceMethods
- extend ::Unparser::Adamantium::ModuleMethods
- extend ::Unparser::Adamantium::ClassMethods
-
- # Test for left constructor
- #
- # @return [Boolean]
- #
- # source://unparser//lib/unparser/either.rb#42
- def left?; end
-
- # Test for right constructor
- #
- # @return [Boolean]
- #
- # source://unparser//lib/unparser/either.rb#49
- def right?; end
-
- class << self
- # Execute block and wrap error in left
- #
- # @param exception [Class]
- # @return [Either]
- #
- # source://unparser//lib/unparser/either.rb#33
- def wrap_error(*exceptions); end
- end
-end
-
-# source://unparser//lib/unparser/either.rb#53
-class Unparser::Either::Left < ::Unparser::Either
- # Evaluate applicative block
- #
- # @return [Either::Left