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] - # - # source://unparser//lib/unparser/either.rb#64 - def bind(&block); end - - # Evaluate left side of branch - # - # @param left [#call] - # @param _right [#call] - # - # source://unparser//lib/unparser/either.rb#98 - def either(left, _right); end - - # Evaluate functor block - # - # @return [Either::Left] - # - # source://unparser//lib/unparser/either.rb#57 - def fmap(&block); end - - # Unwrap value from left - # - # @return [Object] - # - # source://unparser//lib/unparser/either.rb#71 - def from_left; end - - # Unwrap value from right - # - # @return [Object] - # - # source://unparser//lib/unparser/either.rb#79 - def from_right; end - - # Map over left value - # - # @return [Either::Right] - # - # source://unparser//lib/unparser/either.rb#90 - def lmap; end -end - -# Left -# -# source://unparser//lib/unparser/either.rb#103 -class Unparser::Either::Right < ::Unparser::Either - # Evaluate applicative block - # - # @return [Either] - # @yield [value] - # - # source://unparser//lib/unparser/either.rb#114 - def bind; end - - # Evaluate right side of branch - # - # @param _left [#call] - # @param right [#call] - # - # source://unparser//lib/unparser/either.rb#148 - def either(_left, right); end - - # Evaluate functor block - # - # @return [Either::Right] - # - # source://unparser//lib/unparser/either.rb#107 - def fmap; end - - # Unwrap value from left - # - # @return [Object] - # - # source://unparser//lib/unparser/either.rb#122 - def from_left; end - - # Unwrap value from right - # - # @return [Object] - # - # source://unparser//lib/unparser/either.rb#133 - def from_right; end - - # Map over left value - # - # @return [Either::Right] - # - # source://unparser//lib/unparser/either.rb#140 - def lmap(&block); end -end - -# Emitter base class -# -# source://unparser//lib/unparser/emitter.rb#7 -class Unparser::Emitter - include ::Unparser::NodeHelpers - include ::Unparser::Generation - include ::Unparser::Constants - include ::Unparser::AbstractType - include ::Unparser::Adamantium - include ::Unparser::Adamantium::InstanceMethods - include ::Unparser::Anima::InstanceMethods - include ::Unparser::Equalizer::Methods - extend ::Unparser::AbstractType::AbstractMethodDeclarations - extend ::Unparser::Adamantium::ModuleMethods - extend ::Unparser::Adamantium::ClassMethods - extend ::Unparser::DSL - - # source://unparser//lib/unparser/anima.rb#146 - def buffer; end - - # source://unparser//lib/unparser/anima.rb#146 - def comments; end - - # Dispatch node write as statement - # - # @api private - # @return [undefined] - # - # source://unparser//lib/unparser/abstract_type.rb#114 - def dispatch(*_arg0); end - - # source://unparser//lib/unparser/emitter.rb#59 - def emit_mlhs; end - - # source://unparser//lib/unparser/anima.rb#146 - def local_variable_scope; end - - # source://unparser//lib/unparser/anima.rb#146 - def node; end - - # LocalVariableRoot - # - # source://unparser//lib/unparser/emitter.rb#38 - def node_type; end - - class << self - # source://unparser//lib/unparser/anima.rb#140 - def anima; end - - # Return emitter - # - # - # @api private - # @return [Emitter] - # - # source://unparser//lib/unparser/emitter.rb#70 - def emitter(buffer:, comments:, node:, local_variable_scope:); end - - # source://unparser//lib/unparser/abstract_type.rb#36 - def new(*args, &block); end - - private - - # Register emitter for type - # - # @api private - # @param types [Symbol] - # @return [undefined] - # - # source://unparser//lib/unparser/emitter.rb#50 - def handle(*types); end - end -end - -# Emitter for alias nodes -# -# source://unparser//lib/unparser/emitter/alias.rb#6 -class Unparser::Emitter::Alias < ::Unparser::Emitter - private - - # source://unparser//lib/unparser/emitter/alias.rb#14 - def dispatch; end - - # source://unparser//lib/unparser/dsl.rb#11 - def remaining_children; end - - # source://unparser//lib/unparser/dsl.rb#18 - def source; end - - # source://unparser//lib/unparser/dsl.rb#18 - def target; end -end - -# Arguments emitter -# -# source://unparser//lib/unparser/emitter/args.rb#6 -class Unparser::Emitter::Args < ::Unparser::Emitter - # source://unparser//lib/unparser/emitter/args.rb#7 - def emit_block_arguments; end - - # source://unparser//lib/unparser/emitter/args.rb#15 - def emit_def_arguments; end - - # source://unparser//lib/unparser/emitter/args.rb#19 - def emit_lambda_arguments; end - - private - - # source://unparser//lib/unparser/emitter/args.rb#26 - def emit_shadowargs; end - - # source://unparser//lib/unparser/adamantium/method_builder.rb#87 - def normal_arguments(&block); end - - # source://unparser//lib/unparser/adamantium/method_builder.rb#87 - def shadowargs(&block); end -end - -# Argument emitter -# -# source://unparser//lib/unparser/emitter/argument.rb#84 -class Unparser::Emitter::Argument < ::Unparser::Emitter - private - - # source://unparser//lib/unparser/emitter/argument.rb#91 - def dispatch; end - - # source://unparser//lib/unparser/dsl.rb#18 - def name; end - - # source://unparser//lib/unparser/dsl.rb#11 - def remaining_children; end -end - -# Array literal emitter -# -# source://unparser//lib/unparser/emitter/array.rb#6 -class Unparser::Emitter::Array < ::Unparser::Emitter - # source://unparser//lib/unparser/emitter/array.rb#9 - def emit_heredoc_reminders; end - - private - - # source://unparser//lib/unparser/emitter/array.rb#15 - def dispatch; end - - # source://unparser//lib/unparser/adamantium/method_builder.rb#87 - def emitters(&block); end -end - -# Emitter for array patterns -# -# source://unparser//lib/unparser/emitter/array_pattern.rb#6 -class Unparser::Emitter::ArrayPattern < ::Unparser::Emitter - private - - # source://unparser//lib/unparser/emitter/array_pattern.rb#13 - def dispatch; end - - # source://unparser//lib/unparser/emitter/array_pattern.rb#20 - def emit_member(node); end -end - -# Base class for assignment emitters -# -# source://unparser//lib/unparser/emitter/assignment.rb#7 -class Unparser::Emitter::Assignment < ::Unparser::Emitter - # source://unparser//lib/unparser/emitter/assignment.rb#14 - def emit_heredoc_reminders; end - - # source://unparser//lib/unparser/abstract_type.rb#114 - def emit_left(*_arg0); end - - # source://unparser//lib/unparser/emitter/assignment.rb#10 - def symbol_name; end - - private - - # source://unparser//lib/unparser/emitter/assignment.rb#22 - def dispatch; end - - # source://unparser//lib/unparser/emitter/assignment.rb#27 - def emit_right; end -end - -# source://unparser//lib/unparser/emitter/assignment.rb#8 -Unparser::Emitter::Assignment::BINARY_OPERATOR = T.let(T.unsafe(nil), Array) - -# Constant assignment emitter -# -# source://unparser//lib/unparser/emitter/assignment.rb#57 -class Unparser::Emitter::Assignment::Constant < ::Unparser::Emitter::Assignment - private - - # source://unparser//lib/unparser/dsl.rb#18 - def base; end - - # source://unparser//lib/unparser/emitter/assignment.rb#65 - def emit_left; end - - # source://unparser//lib/unparser/dsl.rb#18 - def name; end - - # source://unparser//lib/unparser/dsl.rb#11 - def remaining_children; end - - # source://unparser//lib/unparser/dsl.rb#18 - def right; end -end - -# Variable assignment emitter -# -# source://unparser//lib/unparser/emitter/assignment.rb#42 -class Unparser::Emitter::Assignment::Variable < ::Unparser::Emitter::Assignment - private - - # source://unparser//lib/unparser/emitter/assignment.rb#50 - def emit_left; end - - # source://unparser//lib/unparser/dsl.rb#18 - def name; end - - # source://unparser//lib/unparser/dsl.rb#11 - def remaining_children; end - - # source://unparser//lib/unparser/dsl.rb#18 - def right; end -end - -# Emitter for begin nodes -# -# source://unparser//lib/unparser/emitter/begin.rb#7 -class Unparser::Emitter::Begin < ::Unparser::Emitter - # source://unparser//lib/unparser/emitter/begin.rb#11 - def emit_heredoc_reminders; end - - private - - # source://unparser//lib/unparser/dsl.rb#18 - def body; end - - # source://unparser//lib/unparser/emitter/begin.rb#19 - def dispatch; end - - # source://unparser//lib/unparser/dsl.rb#11 - def remaining_children; end -end - -# Non send binary operator / keyword emitter -# -# source://unparser//lib/unparser/emitter/binary.rb#6 -class Unparser::Emitter::Binary < ::Unparser::Emitter - private - - # source://unparser//lib/unparser/emitter/binary.rb#11 - def dispatch; end - - # source://unparser//lib/unparser/adamantium/method_builder.rb#87 - def writer(&block); end -end - -# Base class for and and or op-assign -# -# source://unparser//lib/unparser/emitter/op_assign.rb#7 -class Unparser::Emitter::BinaryAssign < ::Unparser::Emitter - # source://unparser//lib/unparser/emitter/op_assign.rb#17 - def emit_heredoc_reminders; end - - private - - # source://unparser//lib/unparser/emitter/op_assign.rb#24 - def dispatch; end - - # source://unparser//lib/unparser/dsl.rb#18 - def expression; end - - # source://unparser//lib/unparser/dsl.rb#11 - def remaining_children; end - - # source://unparser//lib/unparser/dsl.rb#18 - def target; end -end - -# source://unparser//lib/unparser/emitter/op_assign.rb#10 -Unparser::Emitter::BinaryAssign::MAP = T.let(T.unsafe(nil), Hash) - -# Block emitter -# -# source://unparser//lib/unparser/emitter/block.rb#7 -class Unparser::Emitter::Block < ::Unparser::Emitter - private - - # source://unparser//lib/unparser/dsl.rb#18 - def arguments; end - - # source://unparser//lib/unparser/dsl.rb#18 - def body; end - - # source://unparser//lib/unparser/emitter/block.rb#14 - def dispatch; end - - # source://unparser//lib/unparser/emitter/block.rb#75 - def emit_block_arguments; end - - # source://unparser//lib/unparser/emitter/block.rb#67 - def emit_lambda_arguments; end - - # source://unparser//lib/unparser/emitter/block.rb#61 - def emit_send_target; end - - # source://unparser//lib/unparser/emitter/block.rb#49 - def emit_target; end - - # @return [Boolean] - # - # source://unparser//lib/unparser/emitter/block.rb#24 - def need_do?; end - - # @return [Boolean] - # - # source://unparser//lib/unparser/emitter/block.rb#71 - def numblock?; end - - # source://unparser//lib/unparser/dsl.rb#11 - def remaining_children; end - - # source://unparser//lib/unparser/dsl.rb#18 - def target; end - - # source://unparser//lib/unparser/adamantium/method_builder.rb#87 - def target_writer(&block); end - - # source://unparser//lib/unparser/emitter/block.rb#36 - def write_close; end - - # source://unparser//lib/unparser/emitter/block.rb#28 - def write_open; end -end - -# Block pass node emitter -# -# source://unparser//lib/unparser/emitter/argument.rb#123 -class Unparser::Emitter::BlockPass < ::Unparser::Emitter - private - - # source://unparser//lib/unparser/emitter/argument.rb#130 - def dispatch; end - - # source://unparser//lib/unparser/dsl.rb#18 - def name; end - - # source://unparser//lib/unparser/dsl.rb#11 - def remaining_children; end -end - -# Emitter for toplevel constant reference nodes -# -# source://unparser//lib/unparser/emitter/cbase.rb#6 -class Unparser::Emitter::CBase < ::Unparser::Emitter - private - - # Perform dispatch - # - # @api private - # @return [undefined] - # - # source://unparser//lib/unparser/emitter/cbase.rb#17 - def dispatch; end -end - -# Emitter for case nodes -# -# source://unparser//lib/unparser/emitter/case.rb#6 -class Unparser::Emitter::Case < ::Unparser::Emitter - private - - # source://unparser//lib/unparser/dsl.rb#18 - def condition; end - - # source://unparser//lib/unparser/emitter/case.rb#14 - def dispatch; end - - # source://unparser//lib/unparser/emitter/case.rb#35 - def emit_condition; end - - # source://unparser//lib/unparser/emitter/case.rb#22 - def emit_else; end - - # source://unparser//lib/unparser/emitter/case.rb#30 - def emit_whens; end - - # source://unparser//lib/unparser/dsl.rb#11 - def remaining_children; end - - # source://unparser//lib/unparser/adamantium/method_builder.rb#87 - def whens(&block); end -end - -# Emitter for case guards -# -# source://unparser//lib/unparser/emitter/case_guard.rb#6 -class Unparser::Emitter::CaseGuard < ::Unparser::Emitter - private - - # source://unparser//lib/unparser/dsl.rb#18 - def condition; end - - # source://unparser//lib/unparser/emitter/case_guard.rb#19 - def dispatch; end - - # source://unparser//lib/unparser/dsl.rb#11 - def remaining_children; end -end - -# source://unparser//lib/unparser/emitter/case_guard.rb#10 -Unparser::Emitter::CaseGuard::MAP = T.let(T.unsafe(nil), Hash) - -# Emitter for case matches -# -# source://unparser//lib/unparser/emitter/case_match.rb#6 -class Unparser::Emitter::CaseMatch < ::Unparser::Emitter - private - - # source://unparser//lib/unparser/emitter/case_match.rb#20 - def dispatch; end - - # source://unparser//lib/unparser/emitter/case_match.rb#16 - def else_branch; end - - # source://unparser//lib/unparser/emitter/case_match.rb#30 - def emit_else_branch; end - - # source://unparser//lib/unparser/adamantium/method_builder.rb#87 - def patterns(&block); end - - # source://unparser//lib/unparser/dsl.rb#11 - def remaining_children; end - - # source://unparser//lib/unparser/dsl.rb#18 - def target; end -end - -# Emitter for class nodes -# -# source://unparser//lib/unparser/emitter/class.rb#6 -class Unparser::Emitter::Class < ::Unparser::Emitter - include ::Unparser::Emitter::LocalVariableRoot - - # source://unparser//lib/unparser/adamantium/method_builder.rb#87 - def local_variable_scope(&block); end - - private - - # source://unparser//lib/unparser/dsl.rb#18 - def body; end - - # source://unparser//lib/unparser/emitter/class.rb#15 - def dispatch; end - - # source://unparser//lib/unparser/emitter/class.rb#23 - def emit_superclass; end - - # source://unparser//lib/unparser/dsl.rb#18 - def name; end - - # source://unparser//lib/unparser/dsl.rb#11 - def remaining_children; end - - # source://unparser//lib/unparser/dsl.rb#18 - def superclass; end -end - -# Emitter for constant access -# -# source://unparser//lib/unparser/emitter/variable.rb#21 -class Unparser::Emitter::Const < ::Unparser::Emitter - private - - # source://unparser//lib/unparser/emitter/variable.rb#28 - def dispatch; end - - # source://unparser//lib/unparser/emitter/variable.rb#33 - def emit_scope; end - - # source://unparser//lib/unparser/dsl.rb#18 - def name; end - - # source://unparser//lib/unparser/dsl.rb#11 - def remaining_children; end - - # source://unparser//lib/unparser/dsl.rb#18 - def scope; end -end - -# Emitter for const pattern node -# -# source://unparser//lib/unparser/emitter/const_pattern.rb#6 -class Unparser::Emitter::ConstPattern < ::Unparser::Emitter - private - - # source://unparser//lib/unparser/dsl.rb#18 - def const; end - - # source://unparser//lib/unparser/emitter/const_pattern.rb#14 - def dispatch; end - - # source://unparser//lib/unparser/dsl.rb#18 - def pattern; end - - # source://unparser//lib/unparser/dsl.rb#11 - def remaining_children; end -end - -# Dynamic string emitter -# -# source://unparser//lib/unparser/emitter/dstr.rb#6 -class Unparser::Emitter::DStr < ::Unparser::Emitter - # source://unparser//lib/unparser/emitter/dstr.rb#10 - def emit_heredoc_reminders; end - - private - - # source://unparser//lib/unparser/emitter/dstr.rb#16 - def dispatch; end -end - -# Dynamic symbol literal emitter -# -# source://unparser//lib/unparser/emitter/dsym.rb#6 -class Unparser::Emitter::DSym < ::Unparser::Emitter - private - - # source://unparser//lib/unparser/emitter/dsym.rb#11 - def dispatch; end - - # source://unparser//lib/unparser/emitter/dsym.rb#34 - def emit_begin_child(component); end - - # source://unparser//lib/unparser/emitter/dsym.rb#24 - def emit_str_child(value); end -end - -# Emitter for def node -# -# source://unparser//lib/unparser/emitter/def.rb#6 -class Unparser::Emitter::Def < ::Unparser::Emitter - include ::Unparser::Emitter::LocalVariableRoot - - # source://unparser//lib/unparser/adamantium/method_builder.rb#87 - def local_variable_scope(&block); end - - private - - # source://unparser//lib/unparser/abstract_type.rb#114 - def body(*_arg0); end - - # source://unparser//lib/unparser/emitter/def.rb#17 - def dispatch; end - - # source://unparser//lib/unparser/emitter/def.rb#25 - def emit_arguments; end - - # source://unparser//lib/unparser/abstract_type.rb#114 - def emit_name(*_arg0); end -end - -# Instance def emitter -# -# source://unparser//lib/unparser/emitter/def.rb#34 -class Unparser::Emitter::Def::Instance < ::Unparser::Emitter::Def - private - - # source://unparser//lib/unparser/dsl.rb#18 - def arguments; end - - # source://unparser//lib/unparser/dsl.rb#18 - def body; end - - # source://unparser//lib/unparser/emitter/def.rb#41 - def emit_name; end - - # source://unparser//lib/unparser/dsl.rb#18 - def name; end - - # source://unparser//lib/unparser/dsl.rb#11 - def remaining_children; end -end - -# Emitter for defines on singleton -# -# source://unparser//lib/unparser/emitter/def.rb#48 -class Unparser::Emitter::Def::Singleton < ::Unparser::Emitter::Def - private - - # source://unparser//lib/unparser/dsl.rb#18 - def arguments; end - - # source://unparser//lib/unparser/dsl.rb#18 - def body; end - - # source://unparser//lib/unparser/emitter/def.rb#56 - def emit_name; end - - # source://unparser//lib/unparser/dsl.rb#18 - def name; end - - # source://unparser//lib/unparser/dsl.rb#11 - def remaining_children; end - - # source://unparser//lib/unparser/dsl.rb#18 - def subject; end - - # @return [Boolean] - # - # source://unparser//lib/unparser/emitter/def.rb#63 - def subject_without_parens?; end -end - -# Emitter for defined? nodes -# -# source://unparser//lib/unparser/emitter/defined.rb#6 -class Unparser::Emitter::Defined < ::Unparser::Emitter - private - - # source://unparser//lib/unparser/emitter/defined.rb#13 - def dispatch; end - - # source://unparser//lib/unparser/dsl.rb#11 - def remaining_children; end - - # source://unparser//lib/unparser/dsl.rb#18 - def subject; end -end - -# Emitter for in pattern nodes -# -# source://unparser//lib/unparser/emitter/find_pattern.rb#6 -class Unparser::Emitter::FindPattern < ::Unparser::Emitter - private - - # source://unparser//lib/unparser/emitter/find_pattern.rb#11 - def dispatch; end -end - -# Emitter for flip flops -# -# source://unparser//lib/unparser/emitter/flipflop.rb#6 -class Unparser::Emitter::FlipFlop < ::Unparser::Emitter - # source://unparser//lib/unparser/emitter/flipflop.rb#17 - def symbol_name; end - - private - - # source://unparser//lib/unparser/emitter/flipflop.rb#27 - def dispatch; end - - # source://unparser//lib/unparser/dsl.rb#18 - def left; end - - # source://unparser//lib/unparser/dsl.rb#11 - def remaining_children; end - - # source://unparser//lib/unparser/dsl.rb#18 - def right; end -end - -# source://unparser//lib/unparser/emitter/flipflop.rb#7 -Unparser::Emitter::FlipFlop::MAP = T.let(T.unsafe(nil), Hash) - -# source://unparser//lib/unparser/emitter/flipflop.rb#12 -Unparser::Emitter::FlipFlop::SYMBOLS = T.let(T.unsafe(nil), Hash) - -# Emiter for float literals -# -# source://unparser//lib/unparser/emitter/float.rb#6 -class Unparser::Emitter::Float < ::Unparser::Emitter - private - - # source://unparser//lib/unparser/emitter/float.rb#16 - def dispatch; end - - # source://unparser//lib/unparser/dsl.rb#11 - def remaining_children; end - - # source://unparser//lib/unparser/dsl.rb#18 - def value; end -end - -# source://unparser//lib/unparser/emitter/float.rb#11 -Unparser::Emitter::Float::INFINITY = T.let(T.unsafe(nil), Float) - -# source://unparser//lib/unparser/emitter/float.rb#12 -Unparser::Emitter::Float::NEG_INFINITY = T.let(T.unsafe(nil), Float) - -# Emitter control flow modifiers -# -# source://unparser//lib/unparser/emitter/flow_modifier.rb#6 -class Unparser::Emitter::FlowModifier < ::Unparser::Emitter - # source://unparser//lib/unparser/emitter/flow_modifier.rb#17 - def emit_heredoc_reminders; end - - private - - # source://unparser//lib/unparser/emitter/flow_modifier.rb#25 - def dispatch; end - - # source://unparser//lib/unparser/emitter/flow_modifier.rb#36 - def emit_arguments; end -end - -# source://unparser//lib/unparser/emitter/flow_modifier.rb#7 -Unparser::Emitter::FlowModifier::MAP = T.let(T.unsafe(nil), Hash) - -# Emitter for for nodes -# -# source://unparser//lib/unparser/emitter/for.rb#6 -class Unparser::Emitter::For < ::Unparser::Emitter - private - - # source://unparser//lib/unparser/dsl.rb#18 - def assignment; end - - # source://unparser//lib/unparser/dsl.rb#18 - def body; end - - # source://unparser//lib/unparser/dsl.rb#18 - def condition; end - - # source://unparser//lib/unparser/emitter/for.rb#13 - def dispatch; end - - # source://unparser//lib/unparser/emitter/for.rb#20 - def emit_condition; end - - # source://unparser//lib/unparser/dsl.rb#11 - def remaining_children; end -end - -# Emitter for forwarding arguments -# -# source://unparser//lib/unparser/emitter/argument.rb#6 -class Unparser::Emitter::ForwardArg < ::Unparser::Emitter - private - - # source://unparser//lib/unparser/emitter/argument.rb#20 - def dispatch; end - - # source://unparser//lib/unparser/dsl.rb#18 - def name; end - - # source://unparser//lib/unparser/dsl.rb#11 - def remaining_children; end -end - -# source://unparser//lib/unparser/emitter/argument.rb#7 -Unparser::Emitter::ForwardArg::MAP = T.let(T.unsafe(nil), Hash) - -# Emitter for Hash literals -# -# source://unparser//lib/unparser/emitter/hash.rb#6 -class Unparser::Emitter::Hash < ::Unparser::Emitter - # source://unparser//lib/unparser/emitter/hash.rb#9 - def emit_heredoc_reminders; end - - private - - # source://unparser//lib/unparser/emitter/hash.rb#15 - def dispatch; end - - # source://unparser//lib/unparser/emitter/hash.rb#31 - def emit_hash_body; end - - # source://unparser//lib/unparser/emitter/hash.rb#27 - def emit_heredoc_reminder_member(node); end -end - -# Emitter for hash patterns -# -# source://unparser//lib/unparser/emitter/hash_pattern.rb#6 -class Unparser::Emitter::HashPattern < ::Unparser::Emitter - # source://unparser//lib/unparser/emitter/hash_pattern.rb#10 - def emit_const_pattern; end - - private - - # source://unparser//lib/unparser/emitter/hash_pattern.rb#18 - def dispatch; end - - # source://unparser//lib/unparser/emitter/hash_pattern.rb#24 - def emit_hash_body; end - - # source://unparser//lib/unparser/emitter/hash_pattern.rb#41 - def emit_match_var(node); end - - # source://unparser//lib/unparser/emitter/hash_pattern.rb#28 - def emit_member(node); end - - # source://unparser//lib/unparser/emitter/hash_pattern.rb#46 - def emit_pair(node); end - - # source://unparser//lib/unparser/emitter/hash_pattern.rb#62 - def write_symbol_body(symbol); end -end - -# Base class for pre and postexe emitters -# -# source://unparser//lib/unparser/emitter/hookexe.rb#6 -class Unparser::Emitter::Hookexe < ::Unparser::Emitter - private - - # source://unparser//lib/unparser/dsl.rb#18 - def body; end - - # source://unparser//lib/unparser/emitter/hookexe.rb#19 - def dispatch; end - - # source://unparser//lib/unparser/dsl.rb#11 - def remaining_children; end -end - -# source://unparser//lib/unparser/emitter/hookexe.rb#8 -Unparser::Emitter::Hookexe::MAP = T.let(T.unsafe(nil), Hash) - -# Emitter if nodes -# -# source://unparser//lib/unparser/emitter/if.rb#6 -class Unparser::Emitter::If < ::Unparser::Emitter - # source://unparser//lib/unparser/emitter/if.rb#11 - def emit_ternary; end - - private - - # source://unparser//lib/unparser/dsl.rb#18 - def condition; end - - # source://unparser//lib/unparser/emitter/if.rb#21 - def dispatch; end - - # source://unparser//lib/unparser/dsl.rb#18 - def else_branch; end - - # source://unparser//lib/unparser/emitter/if.rb#59 - def emit_condition; end - - # source://unparser//lib/unparser/emitter/if.rb#71 - def emit_else_branch; end - - # source://unparser//lib/unparser/emitter/if.rb#63 - def emit_if_branch; end - - # source://unparser//lib/unparser/emitter/if.rb#43 - def emit_normal; end - - # source://unparser//lib/unparser/emitter/if.rb#37 - def emit_postcondition; end - - # source://unparser//lib/unparser/dsl.rb#18 - def if_branch; end - - # source://unparser//lib/unparser/emitter/if.rb#55 - def keyword; end - - # @return [Boolean] - # - # source://unparser//lib/unparser/emitter/if.rb#29 - def postcondition?; end - - # source://unparser//lib/unparser/dsl.rb#11 - def remaining_children; end - - # @return [Boolean] - # - # source://unparser//lib/unparser/emitter/if.rb#51 - def unless?; end -end - -# Emitter for in pattern nodes -# -# source://unparser//lib/unparser/emitter/in_match.rb#6 -class Unparser::Emitter::InMatch < ::Unparser::Emitter - private - - # source://unparser//lib/unparser/emitter/in_match.rb#14 - def dispatch; end - - # source://unparser//lib/unparser/dsl.rb#18 - def pattern; end - - # source://unparser//lib/unparser/dsl.rb#11 - def remaining_children; end - - # source://unparser//lib/unparser/dsl.rb#18 - def target; end -end - -# Emitter for in pattern nodes -# -# source://unparser//lib/unparser/emitter/in_pattern.rb#6 -class Unparser::Emitter::InPattern < ::Unparser::Emitter - private - - # source://unparser//lib/unparser/dsl.rb#18 - def branch; end - - # source://unparser//lib/unparser/emitter/in_pattern.rb#14 - def dispatch; end - - # source://unparser//lib/unparser/dsl.rb#18 - def else_branch; end - - # source://unparser//lib/unparser/dsl.rb#11 - def remaining_children; end - - # source://unparser//lib/unparser/dsl.rb#18 - def target; end - - # source://unparser//lib/unparser/dsl.rb#18 - def unless_guard; end -end - -# Emitter for send to index references -# -# source://unparser//lib/unparser/emitter/index.rb#6 -class Unparser::Emitter::Index < ::Unparser::Emitter - private - - # source://unparser//lib/unparser/emitter/index.rb#10 - def dispatch; end - - # source://unparser//lib/unparser/emitter/index.rb#15 - def emit_receiver; end -end - -# Emitter for assign to index nodes -# -# source://unparser//lib/unparser/emitter/index.rb#34 -class Unparser::Emitter::Index::Assign < ::Unparser::Emitter::Index - # source://unparser//lib/unparser/emitter/index.rb#47 - def dispatch; end - - # source://unparser//lib/unparser/emitter/index.rb#43 - def emit_heredoc_reminders; end - - # source://unparser//lib/unparser/emitter/index.rb#54 - def emit_mlhs; end - - private - - # source://unparser//lib/unparser/emitter/index.rb#61 - def emit_operation(indices); end -end - -# source://unparser//lib/unparser/emitter/index.rb#39 -Unparser::Emitter::Index::Assign::NO_VALUE_PARENT = T.let(T.unsafe(nil), Set) - -# source://unparser//lib/unparser/emitter/index.rb#38 -Unparser::Emitter::Index::Assign::VALUE_RANGE = T.let(T.unsafe(nil), Range) - -# source://unparser//lib/unparser/emitter/index.rb#19 -class Unparser::Emitter::Index::Reference < ::Unparser::Emitter::Index - private - - # source://unparser//lib/unparser/emitter/index.rb#26 - def emit_operation; end - - # source://unparser//lib/unparser/adamantium/method_builder.rb#87 - def indices(&block); end -end - -# Emitter for explicit begins -# -# source://unparser//lib/unparser/emitter/kwbegin.rb#6 -class Unparser::Emitter::KWBegin < ::Unparser::Emitter - private - - # source://unparser//lib/unparser/emitter/kwbegin.rb#11 - def dispatch; end - - # source://unparser//lib/unparser/emitter/kwbegin.rb#25 - def emit_multiple_body; end -end - -# Optional keyword argument emitter -# -# source://unparser//lib/unparser/emitter/argument.rb#41 -class Unparser::Emitter::KeywordOptional < ::Unparser::Emitter - private - - # source://unparser//lib/unparser/emitter/argument.rb#48 - def dispatch; end - - # source://unparser//lib/unparser/dsl.rb#18 - def name; end - - # source://unparser//lib/unparser/dsl.rb#11 - def remaining_children; end - - # source://unparser//lib/unparser/dsl.rb#18 - def value; end -end - -# Emitter for splats -# -# source://unparser//lib/unparser/emitter/splat.rb#6 -class Unparser::Emitter::KwSplat < ::Unparser::Emitter - private - - # source://unparser//lib/unparser/emitter/splat.rb#13 - def dispatch; end - - # source://unparser//lib/unparser/dsl.rb#11 - def remaining_children; end - - # source://unparser//lib/unparser/dsl.rb#18 - def subject; end -end - -# Keyword argument emitter -# -# source://unparser//lib/unparser/emitter/argument.rb#56 -class Unparser::Emitter::Kwarg < ::Unparser::Emitter - private - - # source://unparser//lib/unparser/emitter/argument.rb#63 - def dispatch; end - - # source://unparser//lib/unparser/dsl.rb#18 - def name; end - - # source://unparser//lib/unparser/dsl.rb#11 - def remaining_children; end -end - -# source://unparser//lib/unparser/emitter/kwargs.rb#5 -class Unparser::Emitter::Kwargs < ::Unparser::Emitter - # source://unparser//lib/unparser/emitter/kwargs.rb#8 - def dispatch; end -end - -# Emitter for lambda nodes -# -# source://unparser//lib/unparser/emitter/lambda.rb#6 -class Unparser::Emitter::Lambda < ::Unparser::Emitter - private - - # source://unparser//lib/unparser/emitter/lambda.rb#11 - def dispatch; end -end - -# source://unparser//lib/unparser/emitter.rb#20 -module Unparser::Emitter::LocalVariableRoot - # Return local variable root - # - # @api private - # @return [Parser::AST::Node] - # - # source://unparser//lib/unparser/emitter.rb#27 - def local_variable_scope; end - - class << self - # @private - # - # source://unparser//lib/unparser/emitter.rb#31 - def included(descendant); end - end -end - -# Emitter for multiple assignment nodes -# -# source://unparser//lib/unparser/emitter/masgn.rb#6 -class Unparser::Emitter::MASGN < ::Unparser::Emitter - private - - # source://unparser//lib/unparser/emitter/masgn.rb#13 - def dispatch; end - - # source://unparser//lib/unparser/dsl.rb#11 - def remaining_children; end - - # source://unparser//lib/unparser/dsl.rb#18 - def source; end - - # source://unparser//lib/unparser/dsl.rb#18 - def target; end -end - -# Emitter for multiple assignment left hand side -# -# source://unparser//lib/unparser/emitter/mlhs.rb#6 -class Unparser::Emitter::MLHS < ::Unparser::Emitter - private - - # source://unparser//lib/unparser/emitter/mlhs.rb#15 - def dispatch; end - - # source://unparser//lib/unparser/emitter/mlhs.rb#31 - def emit_many; end - - # source://unparser//lib/unparser/emitter/mlhs.rb#23 - def emit_one_child_mlhs; end -end - -# source://unparser//lib/unparser/emitter/mlhs.rb#9 -Unparser::Emitter::MLHS::NO_COMMA = T.let(T.unsafe(nil), Array) - -# Base class for special match node emitters -# -# source://unparser//lib/unparser/emitter/match.rb#7 -class Unparser::Emitter::Match < ::Unparser::Emitter; end - -# Emitter for match current line -# -# source://unparser//lib/unparser/emitter/match.rb#25 -class Unparser::Emitter::Match::CurrentLine < ::Unparser::Emitter::Match - private - - # source://unparser//lib/unparser/emitter/match.rb#32 - def dispatch; end - - # source://unparser//lib/unparser/dsl.rb#18 - def regexp; end - - # source://unparser//lib/unparser/dsl.rb#11 - def remaining_children; end -end - -# Emitter for match with local variable assignment -# -# source://unparser//lib/unparser/emitter/match.rb#9 -class Unparser::Emitter::Match::Lvasgn < ::Unparser::Emitter::Match - private - - # source://unparser//lib/unparser/emitter/match.rb#16 - def dispatch; end - - # source://unparser//lib/unparser/dsl.rb#18 - def lvasgn; end - - # source://unparser//lib/unparser/dsl.rb#18 - def regexp; end - - # source://unparser//lib/unparser/dsl.rb#11 - def remaining_children; end -end - -# Emitter for in pattern nodes -# -# source://unparser//lib/unparser/emitter/match_alt.rb#6 -class Unparser::Emitter::MatchAlt < ::Unparser::Emitter - private - - # source://unparser//lib/unparser/emitter/match_alt.rb#14 - def dispatch; end - - # source://unparser//lib/unparser/dsl.rb#18 - def left; end - - # source://unparser//lib/unparser/dsl.rb#11 - def remaining_children; end - - # source://unparser//lib/unparser/dsl.rb#18 - def right; end -end - -# Emitter for in pattern nodes -# -# source://unparser//lib/unparser/emitter/match_as.rb#6 -class Unparser::Emitter::MatchAs < ::Unparser::Emitter - private - - # source://unparser//lib/unparser/emitter/match_as.rb#14 - def dispatch; end - - # source://unparser//lib/unparser/dsl.rb#18 - def left; end - - # source://unparser//lib/unparser/dsl.rb#11 - def remaining_children; end - - # source://unparser//lib/unparser/dsl.rb#18 - def right; end -end - -# Emitter for in pattern nodes -# -# source://unparser//lib/unparser/emitter/match_pattern.rb#6 -class Unparser::Emitter::MatchPattern < ::Unparser::Emitter - private - - # source://unparser//lib/unparser/emitter/match_pattern.rb#23 - def dispatch; end - - # source://unparser//lib/unparser/dsl.rb#18 - def pattern; end - - # source://unparser//lib/unparser/dsl.rb#11 - def remaining_children; end - - # source://unparser//lib/unparser/dsl.rb#18 - def target; end -end - -# Modern ast format emits `match_pattern` -# node on single line pre 3.0, but 3.0+ uses `match_pattern_p` -# -# source://unparser//lib/unparser/emitter/match_pattern.rb#14 -Unparser::Emitter::MatchPattern::SYMBOL = T.let(T.unsafe(nil), String) - -# source://unparser//lib/unparser/emitter/match_pattern_p.rb#5 -class Unparser::Emitter::MatchPatternP < ::Unparser::Emitter - private - - # source://unparser//lib/unparser/emitter/match_pattern_p.rb#13 - def dispatch; end - - # source://unparser//lib/unparser/dsl.rb#18 - def pattern; end - - # source://unparser//lib/unparser/dsl.rb#11 - def remaining_children; end - - # source://unparser//lib/unparser/dsl.rb#18 - def target; end -end - -# Emiter for match rest nodes -# -# source://unparser//lib/unparser/emitter/match_rest.rb#6 -class Unparser::Emitter::MatchRest < ::Unparser::Emitter - # source://unparser//lib/unparser/emitter/match_rest.rb#11 - def dispatch; end - - # source://unparser//lib/unparser/emitter/match_rest.rb#16 - def emit_array_pattern; end - - # source://unparser//lib/unparser/emitter/match_rest.rb#21 - def emit_hash_pattern; end - - private - - # source://unparser//lib/unparser/emitter/match_rest.rb#28 - def emit_match_var; end - - # source://unparser//lib/unparser/dsl.rb#18 - def match_var; end - - # source://unparser//lib/unparser/dsl.rb#11 - def remaining_children; end -end - -# Emitter for in pattern nodes -# -# source://unparser//lib/unparser/emitter/match_var.rb#6 -class Unparser::Emitter::MatchVar < ::Unparser::Emitter - private - - # source://unparser//lib/unparser/emitter/match_var.rb#14 - def dispatch; end - - # source://unparser//lib/unparser/dsl.rb#18 - def name; end - - # source://unparser//lib/unparser/dsl.rb#11 - def remaining_children; end -end - -# Emitter for module nodes -# -# source://unparser//lib/unparser/emitter/module.rb#6 -class Unparser::Emitter::Module < ::Unparser::Emitter - include ::Unparser::Emitter::LocalVariableRoot - - # source://unparser//lib/unparser/adamantium/method_builder.rb#87 - def local_variable_scope(&block); end - - private - - # source://unparser//lib/unparser/dsl.rb#18 - def body; end - - # source://unparser//lib/unparser/emitter/module.rb#15 - def dispatch; end - - # source://unparser//lib/unparser/dsl.rb#18 - def name; end - - # source://unparser//lib/unparser/dsl.rb#11 - def remaining_children; end -end - -# source://unparser//lib/unparser/emitter.rb#18 -Unparser::Emitter::NO_INDENT = T.let(T.unsafe(nil), Array) - -# Emitter for nth_ref nodes (regexp captures) -# -# source://unparser//lib/unparser/emitter/variable.rb#42 -class Unparser::Emitter::NthRef < ::Unparser::Emitter - private - - # source://unparser//lib/unparser/emitter/variable.rb#50 - def dispatch; end - - # source://unparser//lib/unparser/dsl.rb#18 - def name; end - - # source://unparser//lib/unparser/dsl.rb#11 - def remaining_children; end -end - -# source://unparser//lib/unparser/emitter/variable.rb#43 -Unparser::Emitter::NthRef::PREFIX = T.let(T.unsafe(nil), String) - -# Emitter for op assign -# -# source://unparser//lib/unparser/emitter/op_assign.rb#33 -class Unparser::Emitter::OpAssign < ::Unparser::Emitter - private - - # source://unparser//lib/unparser/emitter/op_assign.rb#40 - def dispatch; end - - # source://unparser//lib/unparser/emitter/op_assign.rb#46 - def emit_operator; end - - # source://unparser//lib/unparser/dsl.rb#18 - def operator; end - - # source://unparser//lib/unparser/dsl.rb#11 - def remaining_children; end - - # source://unparser//lib/unparser/dsl.rb#18 - def target; end - - # source://unparser//lib/unparser/dsl.rb#18 - def value; end -end - -# Optional argument emitter -# -# source://unparser//lib/unparser/emitter/argument.rb#27 -class Unparser::Emitter::Optarg < ::Unparser::Emitter - private - - # source://unparser//lib/unparser/emitter/argument.rb#34 - def dispatch; end - - # source://unparser//lib/unparser/dsl.rb#18 - def name; end - - # source://unparser//lib/unparser/dsl.rb#11 - def remaining_children; end - - # source://unparser//lib/unparser/dsl.rb#18 - def value; end -end - -# Emitter for key value pairs in hash literals or kwargs -# -# source://unparser//lib/unparser/emitter/pair.rb#6 -class Unparser::Emitter::Pair < ::Unparser::Emitter - private - - # @return [Boolean] - # - # source://unparser//lib/unparser/emitter/pair.rb#28 - def colon?(key); end - - # source://unparser//lib/unparser/emitter/pair.rb#17 - def dispatch; end - - # source://unparser//lib/unparser/dsl.rb#18 - def key; end - - # source://unparser//lib/unparser/dsl.rb#11 - def remaining_children; end - - # source://unparser//lib/unparser/dsl.rb#18 - def value; end -end - -# source://unparser//lib/unparser/emitter/pair.rb#7 -Unparser::Emitter::Pair::BAREWORD = T.let(T.unsafe(nil), Regexp) - -# Emitter for pin nodes -# -# source://unparser//lib/unparser/emitter/pin.rb#6 -class Unparser::Emitter::Pin < ::Unparser::Emitter - private - - # source://unparser//lib/unparser/emitter/pin.rb#13 - def dispatch; end - - # source://unparser//lib/unparser/dsl.rb#11 - def remaining_children; end - - # source://unparser//lib/unparser/dsl.rb#18 - def target; end -end - -# Emitter for postconditions -# -# source://unparser//lib/unparser/emitter/repetition.rb#7 -class Unparser::Emitter::Post < ::Unparser::Emitter - private - - # source://unparser//lib/unparser/dsl.rb#18 - def body; end - - # source://unparser//lib/unparser/dsl.rb#18 - def condition; end - - # source://unparser//lib/unparser/emitter/repetition.rb#19 - def dispatch; end - - # source://unparser//lib/unparser/dsl.rb#11 - def remaining_children; end -end - -# source://unparser//lib/unparser/emitter/repetition.rb#10 -Unparser::Emitter::Post::MAP = T.let(T.unsafe(nil), Hash) - -# Base class for primitive emitters -# -# source://unparser//lib/unparser/emitter/primitive.rb#6 -class Unparser::Emitter::Primitive < ::Unparser::Emitter - private - - # source://unparser//lib/unparser/dsl.rb#11 - def remaining_children; end - - # source://unparser//lib/unparser/dsl.rb#18 - def value; end -end - -# Emitter for complex literals -# -# source://unparser//lib/unparser/emitter/primitive.rb#24 -class Unparser::Emitter::Primitive::Complex < ::Unparser::Emitter::Primitive - private - - # source://unparser//lib/unparser/emitter/primitive.rb#39 - def dispatch; end - - # source://unparser//lib/unparser/emitter/primitive.rb#44 - def emit_imaginary; end - - # source://unparser//lib/unparser/emitter/primitive.rb#48 - def imaginary_node; end -end - -# source://unparser//lib/unparser/emitter/primitive.rb#30 -Unparser::Emitter::Primitive::Complex::MAP = T.let(T.unsafe(nil), Hash) - -# source://unparser//lib/unparser/emitter/primitive.rb#28 -Unparser::Emitter::Primitive::Complex::RATIONAL_FORMAT = T.let(T.unsafe(nil), String) - -# Emitter for primitives based on Object#inspect -# -# source://unparser//lib/unparser/emitter/primitive.rb#11 -class Unparser::Emitter::Primitive::Inspect < ::Unparser::Emitter::Primitive - private - - # source://unparser//lib/unparser/emitter/primitive.rb#17 - def dispatch; end -end - -# Emiter for numeric literals -# -# source://unparser//lib/unparser/emitter/primitive.rb#80 -class Unparser::Emitter::Primitive::Numeric < ::Unparser::Emitter::Primitive - private - - # source://unparser//lib/unparser/emitter/primitive.rb#86 - def dispatch; end -end - -# Emitter for rational literals -# -# source://unparser//lib/unparser/emitter/primitive.rb#56 -class Unparser::Emitter::Primitive::Rational < ::Unparser::Emitter::Primitive - private - - # source://unparser//lib/unparser/emitter/primitive.rb#65 - def dispatch; end - - # source://unparser//lib/unparser/emitter/primitive.rb#73 - def write_rational(value); end -end - -# source://unparser//lib/unparser/emitter/primitive.rb#60 -Unparser::Emitter::Primitive::Rational::RATIONAL_FORMAT = T.let(T.unsafe(nil), String) - -# Progarg emitter -# -# source://unparser//lib/unparser/emitter/argument.rb#98 -class Unparser::Emitter::Procarg < ::Unparser::Emitter - private - - # source://unparser//lib/unparser/emitter/argument.rb#105 - def dispatch; end - - # @return [Boolean] - # - # source://unparser//lib/unparser/emitter/argument.rb#115 - def needs_parens?; end -end - -# source://unparser//lib/unparser/emitter/argument.rb#101 -Unparser::Emitter::Procarg::PARENS = T.let(T.unsafe(nil), Array) - -# Registry for node emitters -# -# source://unparser//lib/unparser/emitter.rb#16 -Unparser::Emitter::REGISTRY = T.let(T.unsafe(nil), Hash) - -# Range emitters -# -# source://unparser//lib/unparser/emitter/range.rb#6 -class Unparser::Emitter::Range < ::Unparser::Emitter - # source://unparser//lib/unparser/emitter/range.rb#17 - def symbol_name; end - - private - - # source://unparser//lib/unparser/dsl.rb#18 - def begin_node; end - - # source://unparser//lib/unparser/emitter/range.rb#27 - def dispatch; end - - # source://unparser//lib/unparser/dsl.rb#18 - def end_node; end - - # source://unparser//lib/unparser/dsl.rb#11 - def remaining_children; end -end - -# source://unparser//lib/unparser/emitter/range.rb#12 -Unparser::Emitter::Range::SYMBOLS = T.let(T.unsafe(nil), Hash) - -# source://unparser//lib/unparser/emitter/range.rb#7 -Unparser::Emitter::Range::TOKENS = T.let(T.unsafe(nil), Hash) - -# Emitter for regexp literals -# -# source://unparser//lib/unparser/emitter/regexp.rb#6 -class Unparser::Emitter::Regexp < ::Unparser::Emitter - private - - # source://unparser//lib/unparser/adamantium/method_builder.rb#87 - def body(&block); end - - # source://unparser//lib/unparser/emitter/regexp.rb#13 - def dispatch; end - - # source://unparser//lib/unparser/emitter/regexp.rb#24 - def emit_body(node); end - - # source://unparser//lib/unparser/emitter/regexp.rb#20 - def emit_options; end -end - -# Emitter for while and until nodes -# -# source://unparser//lib/unparser/emitter/repetition.rb#27 -class Unparser::Emitter::Repetition < ::Unparser::Emitter - private - - # source://unparser//lib/unparser/dsl.rb#18 - def body; end - - # source://unparser//lib/unparser/dsl.rb#18 - def condition; end - - # source://unparser//lib/unparser/emitter/repetition.rb#39 - def dispatch; end - - # source://unparser//lib/unparser/emitter/repetition.rb#51 - def emit_keyword; end - - # source://unparser//lib/unparser/emitter/repetition.rb#55 - def emit_normal; end - - # source://unparser//lib/unparser/emitter/repetition.rb#66 - def emit_postcontrol; end - - # @return [Boolean] - # - # source://unparser//lib/unparser/emitter/repetition.rb#47 - def postcontrol?; end - - # source://unparser//lib/unparser/dsl.rb#11 - def remaining_children; end -end - -# source://unparser//lib/unparser/emitter/repetition.rb#28 -Unparser::Emitter::Repetition::MAP = T.let(T.unsafe(nil), Hash) - -# Emitter for rescue nodes -# -# source://unparser//lib/unparser/emitter/rescue.rb#6 -class Unparser::Emitter::Rescue < ::Unparser::Emitter - private - - # source://unparser//lib/unparser/emitter/rescue.rb#11 - def dispatch; end -end - -# Rest argument emitter -# -# source://unparser//lib/unparser/emitter/argument.rb#70 -class Unparser::Emitter::Restarg < ::Unparser::Emitter - private - - # source://unparser//lib/unparser/emitter/argument.rb#77 - def dispatch; end - - # source://unparser//lib/unparser/dsl.rb#18 - def name; end - - # source://unparser//lib/unparser/dsl.rb#11 - def remaining_children; end -end - -# Root emitter a special case -# -# source://unparser//lib/unparser/emitter/root.rb#6 -class Unparser::Emitter::Root < ::Unparser::Emitter - include ::Unparser::Emitter::LocalVariableRoot - - # source://unparser//lib/unparser/concord.rb#60 - def buffer; end - - # source://unparser//lib/unparser/concord.rb#60 - def comments; end - - # source://unparser//lib/unparser/emitter/root.rb#14 - def dispatch; end - - # source://unparser//lib/unparser/adamantium/method_builder.rb#87 - def local_variable_scope(&block); end - - # source://unparser//lib/unparser/concord.rb#60 - def node; end -end - -# source://unparser//lib/unparser/emitter/root.rb#10 -Unparser::Emitter::Root::END_NL = T.let(T.unsafe(nil), Array) - -# Emitter for sclass nodes -# -# source://unparser//lib/unparser/emitter/class.rb#33 -class Unparser::Emitter::SClass < ::Unparser::Emitter - private - - # source://unparser//lib/unparser/dsl.rb#18 - def body; end - - # source://unparser//lib/unparser/emitter/class.rb#40 - def dispatch; end - - # source://unparser//lib/unparser/dsl.rb#18 - def object; end - - # source://unparser//lib/unparser/dsl.rb#11 - def remaining_children; end -end - -# Emitter for send -# -# source://unparser//lib/unparser/emitter/send.rb#6 -class Unparser::Emitter::Send < ::Unparser::Emitter - # source://unparser//lib/unparser/emitter/send.rb#13 - def emit_heredoc_reminders; end - - # source://unparser//lib/unparser/emitter/send.rb#9 - def emit_mlhs; end - - private - - # source://unparser//lib/unparser/emitter/send.rb#19 - def dispatch; end - - # source://unparser//lib/unparser/adamantium/method_builder.rb#87 - def writer(&block); end -end - -# Emitter for simple nodes that generate a single token -# -# source://unparser//lib/unparser/emitter/simple.rb#6 -class Unparser::Emitter::Simple < ::Unparser::Emitter - private - - # source://unparser//lib/unparser/emitter/simple.rb#28 - def dispatch; end -end - -# source://unparser//lib/unparser/emitter/simple.rb#7 -Unparser::Emitter::Simple::MAP = T.let(T.unsafe(nil), Hash) - -# Emitter for splats -# -# source://unparser//lib/unparser/emitter/splat.rb#20 -class Unparser::Emitter::Splat < ::Unparser::Emitter - # source://unparser//lib/unparser/emitter/splat.rb#25 - def emit_mlhs; end - - private - - # source://unparser//lib/unparser/emitter/splat.rb#32 - def dispatch; end - - # source://unparser//lib/unparser/dsl.rb#11 - def remaining_children; end - - # source://unparser//lib/unparser/dsl.rb#18 - def subject; end - - # source://unparser//lib/unparser/adamantium/method_builder.rb#87 - def subject_emitter(&block); end -end - -# Emitter for super nodes -# -# source://unparser//lib/unparser/emitter/super.rb#7 -class Unparser::Emitter::Super < ::Unparser::Emitter - private - - # source://unparser//lib/unparser/emitter/super.rb#12 - def dispatch; end -end - -# Emitter for undef nodes -# -# source://unparser//lib/unparser/emitter/undef.rb#6 -class Unparser::Emitter::Undef < ::Unparser::Emitter - private - - # source://unparser//lib/unparser/emitter/undef.rb#11 - def dispatch; end -end - -# Emitter for various variable accesses -# -# source://unparser//lib/unparser/emitter/variable.rb#7 -class Unparser::Emitter::Variable < ::Unparser::Emitter - private - - # source://unparser//lib/unparser/emitter/variable.rb#14 - def dispatch; end - - # source://unparser//lib/unparser/dsl.rb#18 - def name; end - - # source://unparser//lib/unparser/dsl.rb#11 - def remaining_children; end -end - -# Emitter for when nodes -# -# source://unparser//lib/unparser/emitter/case.rb#44 -class Unparser::Emitter::When < ::Unparser::Emitter - private - - # source://unparser//lib/unparser/adamantium/method_builder.rb#87 - def captures(&block); end - - # source://unparser//lib/unparser/emitter/case.rb#51 - def dispatch; end - - # source://unparser//lib/unparser/emitter/case.rb#57 - def emit_captures; end -end - -# Dynamic execute string literal emitter -# -# source://unparser//lib/unparser/emitter/xstr.rb#6 -class Unparser::Emitter::XStr < ::Unparser::Emitter - private - - # source://unparser//lib/unparser/emitter/xstr.rb#12 - def dispatch; end - - # source://unparser//lib/unparser/emitter/xstr.rb#65 - def emit_begin(component); end - - # source://unparser//lib/unparser/emitter/xstr.rb#24 - def emit_heredoc; end - - # source://unparser//lib/unparser/emitter/xstr.rb#51 - def emit_string(value); end - - # source://unparser//lib/unparser/emitter/xstr.rb#39 - def emit_xstr; end - - # source://unparser//lib/unparser/emitter/xstr.rb#55 - def escape_xstr(input); end - - # @return [Boolean] - # - # source://unparser//lib/unparser/emitter/xstr.rb#20 - def heredoc?; end -end - -# Emitter for yield node -# -# source://unparser//lib/unparser/emitter/yield.rb#7 -class Unparser::Emitter::Yield < ::Unparser::Emitter - private - - # source://unparser//lib/unparser/emitter/yield.rb#12 - def dispatch; end -end - -# Define equality, equivalence and inspection methods -# -# Original code before vendoring and reduction from: https://github.com/dkubb/equalizer. -# -# source://unparser//lib/unparser/equalizer.rb#7 -class Unparser::Equalizer < ::Module - # Initialize an Equalizer with the given keys - # - # Will use the keys with which it is initialized to define #cmp?, - # #hash, and #inspect - # - # - # @api private - # @param keys [Array] - # @return [undefined] - # - # source://unparser//lib/unparser/equalizer.rb#20 - def initialize(*keys); end - - private - - # source://unparser//lib/unparser/equalizer.rb#39 - def define_cmp_method; end - - # source://unparser//lib/unparser/equalizer.rb#49 - def define_hash_method; end - - # source://unparser//lib/unparser/equalizer.rb#56 - def define_inspect_method; end - - # source://unparser//lib/unparser/equalizer.rb#33 - def define_methods; end - - # source://unparser//lib/unparser/equalizer.rb#29 - def included(descendant); end -end - -# The comparison methods -# -# source://unparser//lib/unparser/equalizer.rb#66 -module Unparser::Equalizer::Methods - # Compare the object with other object for equivalency - # - # @api public - # @example - # object == other # => true or false - # @param other [Object] the other object to compare with - # @return [Boolean] - # - # source://unparser//lib/unparser/equalizer.rb#93 - def ==(other); end - - # Compare the object with other object for equality - # - # @api public - # @example - # object.eql?(other) # => true or false - # @param other [Object] the other object to compare with - # @return [Boolean] - # - # source://unparser//lib/unparser/equalizer.rb#78 - def eql?(other); end -end - -# source://unparser//lib/unparser/generation.rb#5 -module Unparser::Generation - # source://unparser//lib/unparser/generation.rb#10 - def emit_heredoc_reminders; end - - # source://unparser//lib/unparser/generation.rb#12 - def symbol_name; end - - # source://unparser//lib/unparser/generation.rb#14 - def write_to_buffer; end - - private - - # source://unparser//lib/unparser/generation.rb#247 - def children; end - - # source://unparser//lib/unparser/generation.rb#239 - def conditional_parentheses(flag, &block); end - - # source://unparser//lib/unparser/generation.rb#21 - def delimited(nodes, delimiter = T.unsafe(nil), &block); end - - # source://unparser//lib/unparser/generation.rb#123 - def emit_body(node, indent: T.unsafe(nil)); end - - # source://unparser//lib/unparser/generation.rb#196 - def emit_body_ensure_rescue(node); end - - # source://unparser//lib/unparser/generation.rb#145 - def emit_body_inner(node); end - - # source://unparser//lib/unparser/generation.rb#158 - def emit_body_member(node); end - - # source://unparser//lib/unparser/generation.rb#180 - def emit_body_rescue(node); end - - # source://unparser//lib/unparser/generation.rb#77 - def emit_comments(comments); end - - # source://unparser//lib/unparser/generation.rb#69 - def emit_comments_before(source_part = T.unsafe(nil)); end - - # source://unparser//lib/unparser/generation.rb#166 - def emit_ensure(node); end - - # source://unparser//lib/unparser/generation.rb#60 - def emit_eof_comments; end - - # source://unparser//lib/unparser/generation.rb#54 - def emit_eol_comments; end - - # source://unparser//lib/unparser/generation.rb#27 - def emit_join(nodes, emit_node, emit_delimiter); end - - # source://unparser//lib/unparser/generation.rb#115 - def emit_optional_body(node, indent: T.unsafe(nil)); end - - # source://unparser//lib/unparser/generation.rb#188 - def emit_optional_body_ensure_rescue(node); end - - # source://unparser//lib/unparser/generation.rb#206 - def emit_rescue_postcontrol(node); end - - # source://unparser//lib/unparser/generation.rb#212 - def emit_rescue_regular(node); end - - # source://unparser//lib/unparser/generation.rb#220 - def emitter(node); end - - # source://unparser//lib/unparser/generation.rb#235 - def first_child; end - - # source://unparser//lib/unparser/generation.rb#106 - def indented; end - - # source://unparser//lib/unparser/generation.rb#93 - def k_end; end - - # source://unparser//lib/unparser/generation.rb#39 - def nl; end - - # source://unparser//lib/unparser/generation.rb#100 - def parentheses(open = T.unsafe(nil), close = T.unsafe(nil)); end - - # source://unparser//lib/unparser/generation.rb#224 - def visit(node); end - - # source://unparser//lib/unparser/generation.rb#228 - def visit_deep(node); end - - # source://unparser//lib/unparser/generation.rb#44 - def with_comments; end - - # source://unparser//lib/unparser/generation.rb#89 - def write(*strings); end - - # source://unparser//lib/unparser/generation.rb#216 - def writer_with(klass, node); end - - # source://unparser//lib/unparser/generation.rb#50 - def ws; end -end - -# source://unparser//lib/unparser/generation.rb#6 -Unparser::Generation::EXTRA_NL = T.let(T.unsafe(nil), Array) - -# Error raised when unparser encounters an invalid AST -# -# source://unparser//lib/unparser.rb#39 -class Unparser::InvalidNodeError < ::RuntimeError - # @return [InvalidNodeError] a new instance of InvalidNodeError - # - # source://unparser//lib/unparser.rb#42 - def initialize(message, node); end - - # Returns the value of attribute node. - # - # source://unparser//lib/unparser.rb#40 - def node; end -end - -# source://unparser//lib/unparser/node_details.rb#4 -module Unparser::NodeDetails - include ::Unparser::NodeHelpers - include ::Unparser::Constants - - private - - # source://unparser//lib/unparser/node_details.rb#17 - def children; end - - class << self - # @private - # - # source://unparser//lib/unparser/node_details.rb#7 - def included(descendant); end - end -end - -# source://unparser//lib/unparser/node_details/send.rb#5 -class Unparser::NodeDetails::Send - include ::Unparser::NodeHelpers - include ::Unparser::Constants - include ::Unparser::NodeDetails - include ::Unparser::Equalizer::Methods - include ::Unparser::Adamantium - include ::Unparser::Adamantium::InstanceMethods - extend ::Unparser::Adamantium::ModuleMethods - extend ::Unparser::Adamantium::ClassMethods - extend ::Unparser::DSL - - # source://unparser//lib/unparser/adamantium/method_builder.rb#87 - def arguments(&block); end - - # @return [Boolean] - # - # source://unparser//lib/unparser/node_details/send.rb#36 - def arguments?; end - - # @return [Boolean] - # - # source://unparser//lib/unparser/adamantium/method_builder.rb#87 - def assignment?(&block); end - - # @return [Boolean] - # - # source://unparser//lib/unparser/node_details/send.rb#32 - def assignment_operator?; end - - # @return [Boolean] - # - # source://unparser//lib/unparser/node_details/send.rb#21 - def binary_syntax_allowed?; end - - # source://unparser//lib/unparser/node_details/send.rb#40 - def non_assignment_selector; end - - # source://unparser//lib/unparser/dsl.rb#18 - def receiver; end - - # source://unparser//lib/unparser/dsl.rb#18 - def selector; end - - # @return [Boolean] - # - # source://unparser//lib/unparser/node_details/send.rb#17 - def selector_binary_operator?; end - - # @return [Boolean] - # - # source://unparser//lib/unparser/node_details/send.rb#28 - def selector_unary_operator?; end - - # source://unparser//lib/unparser/adamantium/method_builder.rb#87 - def string_selector(&block); end - - private - - # source://unparser//lib/unparser/dsl.rb#11 - def remaining_children; end -end - -# source://unparser//lib/unparser/node_details/send.rb#8 -Unparser::NodeDetails::Send::ASSIGN_SUFFIX = T.let(T.unsafe(nil), String) - -# source://unparser//lib/unparser/node_details/send.rb#9 -Unparser::NodeDetails::Send::NON_ASSIGN_RANGE = T.let(T.unsafe(nil), Range) - -# source://unparser//lib/unparser/node_helpers.rb#4 -module Unparser::NodeHelpers - # Helper for building nodes - # - # @api private - # @param type [Symbol] - # @param children [Array] - # @return [Parser::AST::Node] - # - # source://unparser//lib/unparser/node_helpers.rb#26 - def n(type, children = T.unsafe(nil)); end - - # @return [Boolean] - # - # source://unparser//lib/unparser/node_helpers.rb#30 - def n?(type, node); end - - # Helper for building nodes - # - # @api private - # @param type [Symbol] - # @param children [Parser::AST::Node] - # @return [Parser::AST::Node] - # - # source://unparser//lib/unparser/node_helpers.rb#14 - def s(type, *children); end - - # source://unparser//lib/unparser/node_helpers.rb#71 - def unwrap_single_begin(node); end - - private - - # source://unparser//lib/unparser/node_helpers.rb#65 - def n_arg?(node); end - - # source://unparser//lib/unparser/node_helpers.rb#65 - def n_args?(node); end - - # source://unparser//lib/unparser/node_helpers.rb#65 - def n_array?(node); end - - # source://unparser//lib/unparser/node_helpers.rb#65 - def n_array_pattern?(node); end - - # source://unparser//lib/unparser/node_helpers.rb#65 - def n_begin?(node); end - - # source://unparser//lib/unparser/node_helpers.rb#65 - def n_block?(node); end - - # source://unparser//lib/unparser/node_helpers.rb#65 - def n_cbase?(node); end - - # source://unparser//lib/unparser/node_helpers.rb#65 - def n_const?(node); end - - # source://unparser//lib/unparser/node_helpers.rb#65 - def n_dstr?(node); end - - # source://unparser//lib/unparser/node_helpers.rb#65 - def n_empty_else?(node); end - - # source://unparser//lib/unparser/node_helpers.rb#65 - def n_ensure?(node); end - - # source://unparser//lib/unparser/node_helpers.rb#65 - def n_hash?(node); end - - # source://unparser//lib/unparser/node_helpers.rb#65 - def n_hash_pattern?(node); end - - # source://unparser//lib/unparser/node_helpers.rb#65 - def n_if?(node); end - - # source://unparser//lib/unparser/node_helpers.rb#65 - def n_in_pattern?(node); end - - # source://unparser//lib/unparser/node_helpers.rb#65 - def n_int?(node); end - - # source://unparser//lib/unparser/node_helpers.rb#65 - def n_kwarg?(node); end - - # source://unparser//lib/unparser/node_helpers.rb#65 - def n_kwargs?(node); end - - # source://unparser//lib/unparser/node_helpers.rb#65 - def n_kwsplat?(node); end - - # source://unparser//lib/unparser/node_helpers.rb#65 - def n_lambda?(node); end - - # source://unparser//lib/unparser/node_helpers.rb#65 - def n_match_rest?(node); end - - # source://unparser//lib/unparser/node_helpers.rb#65 - def n_pair?(node); end - - # source://unparser//lib/unparser/node_helpers.rb#65 - def n_rescue?(node); end - - # source://unparser//lib/unparser/node_helpers.rb#65 - def n_send?(node); end - - # source://unparser//lib/unparser/node_helpers.rb#65 - def n_shadowarg?(node); end - - # source://unparser//lib/unparser/node_helpers.rb#65 - def n_splat?(node); end - - # source://unparser//lib/unparser/node_helpers.rb#65 - def n_str?(node); end - - # source://unparser//lib/unparser/node_helpers.rb#65 - def n_sym?(node); end -end - -# source://unparser//lib/unparser/either.rb#4 -module Unparser::RequireBlock - private - - # Raise error unless block is provided - # - # @raise [MissingBlockError] if no block is given - # @return [self] - # - # source://unparser//lib/unparser/either.rb#14 - def require_block; end -end - -# source://unparser//lib/unparser/emitter.rb#4 -class Unparser::UnknownNodeError < ::ArgumentError; end - -# Validation of unparser results -# -# source://unparser//lib/unparser/validation.rb#5 -class Unparser::Validation - include ::Unparser::Anima::InstanceMethods - include ::Unparser::Equalizer::Methods - include ::Unparser::Adamantium - include ::Unparser::Adamantium::InstanceMethods - extend ::Unparser::Adamantium::ModuleMethods - extend ::Unparser::Adamantium::ClassMethods - - # source://unparser//lib/unparser/anima.rb#146 - def generated_node; end - - # source://unparser//lib/unparser/anima.rb#146 - def generated_source; end - - # source://unparser//lib/unparser/anima.rb#146 - def identification; end - - # source://unparser//lib/unparser/anima.rb#146 - def original_node; end - - # source://unparser//lib/unparser/anima.rb#146 - def original_source; end - - # Return error report - # - # @api private - # @return [String] - # - # source://unparser//lib/unparser/adamantium/method_builder.rb#87 - def report(&block); end - - # Test if source could be unparsed successfully - # - # @api private - # @return [Boolean] - # - # source://unparser//lib/unparser/validation.rb#20 - def success?; end - - private - - # source://unparser//lib/unparser/validation.rb#106 - def make_report(label, attribute_name); end - - # source://unparser//lib/unparser/validation.rb#118 - def node_diff_report; end - - # source://unparser//lib/unparser/validation.rb#110 - def report_exception(exception); end - - class << self - # source://unparser//lib/unparser/anima.rb#140 - def anima; end - - # Create validator from node - # - # @param original_node [Parser::AST::Node] - # @return [Validator] - # - # source://unparser//lib/unparser/validation.rb#79 - def from_node(original_node); end - - # Create validator from file - # - # @param path [Pathname] - # @return [Validator] - # - # source://unparser//lib/unparser/validation.rb#100 - def from_path(path); end - - # Create validator from string - # - # @param original_source [String] - # @return [Validator] - # - # source://unparser//lib/unparser/validation.rb#53 - def from_string(original_source); end - - private - - # source://unparser//lib/unparser/validation.rb#133 - def const_unit(_value); end - end -end - -# source://unparser//lib/unparser/validation.rb#136 -class Unparser::Validation::Literal < ::Unparser::Validation - # source://unparser//lib/unparser/validation.rb#141 - def report; end - - # @return [Boolean] - # - # source://unparser//lib/unparser/validation.rb#137 - def success?; end - - private - - # source://unparser//lib/unparser/validation.rb#156 - def source_diff_report; end -end - -# source://unparser//lib/unparser/writer.rb#4 -module Unparser::Writer - include ::Unparser::NodeHelpers - include ::Unparser::Generation - include ::Unparser::Anima::InstanceMethods - include ::Unparser::Equalizer::Methods - - mixes_in_class_methods ::Unparser::DSL - - class << self - # @private - # - # source://unparser//lib/unparser/writer.rb#7 - def included(descendant); end - end -end - -# source://unparser//lib/unparser/writer/binary.rb#5 -class Unparser::Writer::Binary - include ::Unparser::Adamantium - include ::Unparser::Adamantium::InstanceMethods - include ::Unparser::NodeHelpers - include ::Unparser::Generation - include ::Unparser::Writer - include ::Unparser::Anima::InstanceMethods - include ::Unparser::Equalizer::Methods - extend ::Unparser::Adamantium::ModuleMethods - extend ::Unparser::Adamantium::ClassMethods - extend ::Unparser::DSL - - # source://unparser//lib/unparser/anima.rb#146 - def buffer; end - - # source://unparser//lib/unparser/anima.rb#146 - def comments; end - - # source://unparser//lib/unparser/writer/binary.rb#54 - def dispatch; end - - # source://unparser//lib/unparser/writer/binary.rb#46 - def emit_operator; end - - # source://unparser//lib/unparser/anima.rb#146 - def local_variable_scope; end - - # source://unparser//lib/unparser/anima.rb#146 - def node; end - - # source://unparser//lib/unparser/writer/binary.rb#50 - def symbol_name; end - - private - - # source://unparser//lib/unparser/writer/binary.rb#62 - def effective_symbol; end - - # source://unparser//lib/unparser/writer/binary.rb#74 - def emit_with(map); end - - # source://unparser//lib/unparser/writer/binary.rb#80 - def keyword_symbol; end - - # source://unparser//lib/unparser/dsl.rb#18 - def left; end - - # source://unparser//lib/unparser/adamantium/method_builder.rb#87 - def left_emitter(&block); end - - # source://unparser//lib/unparser/writer/binary.rb#84 - def operator_symbol; end - - # source://unparser//lib/unparser/dsl.rb#11 - def remaining_children; end - - # source://unparser//lib/unparser/dsl.rb#18 - def right; end - - # source://unparser//lib/unparser/adamantium/method_builder.rb#87 - def right_emitter(&block); end - - class << self - # source://unparser//lib/unparser/anima.rb#140 - def anima; end - end -end - -# source://unparser//lib/unparser/writer/binary.rb#22 -Unparser::Writer::Binary::KEYWORD_SYMBOLS = T.let(T.unsafe(nil), Hash) - -# source://unparser//lib/unparser/writer/binary.rb#16 -Unparser::Writer::Binary::KEYWORD_TOKENS = T.let(T.unsafe(nil), Hash) - -# source://unparser//lib/unparser/writer/binary.rb#34 -Unparser::Writer::Binary::MAP = T.let(T.unsafe(nil), Hash) - -# source://unparser//lib/unparser/writer/binary.rb#42 -Unparser::Writer::Binary::NEED_KEYWORD = T.let(T.unsafe(nil), Array) - -# source://unparser//lib/unparser/writer/binary.rb#28 -Unparser::Writer::Binary::OPERATOR_SYMBOLS = T.let(T.unsafe(nil), Hash) - -# source://unparser//lib/unparser/writer/binary.rb#10 -Unparser::Writer::Binary::OPERATOR_TOKENS = T.let(T.unsafe(nil), Hash) - -# source://unparser//lib/unparser/writer/dynamic_string.rb#5 -class Unparser::Writer::DynamicString - include ::Unparser::Adamantium - include ::Unparser::Adamantium::InstanceMethods - include ::Unparser::NodeHelpers - include ::Unparser::Generation - include ::Unparser::Writer - include ::Unparser::Anima::InstanceMethods - include ::Unparser::Equalizer::Methods - extend ::Unparser::Adamantium::ModuleMethods - extend ::Unparser::Adamantium::ClassMethods - extend ::Unparser::DSL - - # source://unparser//lib/unparser/anima.rb#146 - def buffer; end - - # source://unparser//lib/unparser/anima.rb#146 - def comments; end - - # source://unparser//lib/unparser/writer/dynamic_string.rb#32 - def dispatch; end - - # source://unparser//lib/unparser/writer/dynamic_string.rb#25 - def emit_heredoc_reminder; end - - # source://unparser//lib/unparser/anima.rb#146 - def local_variable_scope; end - - # source://unparser//lib/unparser/anima.rb#146 - def node; end - - private - - # @return [Boolean] - # - # source://unparser//lib/unparser/writer/dynamic_string.rb#159 - def breakpoint?(child, current); end - - # source://unparser//lib/unparser/writer/dynamic_string.rb#63 - def classify(node); end - - # source://unparser//lib/unparser/writer/dynamic_string.rb#71 - def classify_str(node); end - - # source://unparser//lib/unparser/writer/dynamic_string.rb#193 - def emit_body(children); end - - # source://unparser//lib/unparser/writer/dynamic_string.rb#149 - def emit_dstr; end - - # source://unparser//lib/unparser/writer/dynamic_string.rb#132 - def emit_dynamic(child); end - - # source://unparser//lib/unparser/writer/dynamic_string.rb#145 - def emit_dynamic_component(node); end - - # source://unparser//lib/unparser/writer/dynamic_string.rb#54 - def emit_heredoc_body; end - - # source://unparser//lib/unparser/writer/dynamic_string.rb#59 - def emit_heredoc_footer; end - - # source://unparser//lib/unparser/writer/dynamic_string.rb#50 - def emit_heredoc_header; end - - # source://unparser//lib/unparser/writer/dynamic_string.rb#116 - def emit_normal_heredoc_body; end - - # source://unparser//lib/unparser/writer/dynamic_string.rb#185 - def emit_segment(children, index); end - - # source://unparser//lib/unparser/writer/dynamic_string.rb#128 - def escape_dynamic(string); end - - # @return [Boolean] - # - # source://unparser//lib/unparser/writer/dynamic_string.rb#46 - def heredoc?; end - - # source://unparser//lib/unparser/writer/dynamic_string.rb#42 - def heredoc_header; end - - # @return [Boolean] - # - # source://unparser//lib/unparser/writer/dynamic_string.rb#95 - def heredoc_pattern?; end - - # @return [Boolean] - # - # source://unparser//lib/unparser/writer/dynamic_string.rb#105 - def heredoc_pattern_2?; end - - # @return [Boolean] - # - # source://unparser//lib/unparser/writer/dynamic_string.rb#99 - def heredoc_pattern_3?; end - - # @return [Boolean] - # - # source://unparser//lib/unparser/writer/dynamic_string.rb#111 - def nl_last_child?; end - - # source://unparser//lib/unparser/writer/dynamic_string.rb#169 - def segments; end - - # @return [Boolean] - # - # source://unparser//lib/unparser/writer/dynamic_string.rb#87 - def str_empty?(node); end - - # @return [Boolean] - # - # source://unparser//lib/unparser/writer/dynamic_string.rb#83 - def str_nl?(node); end - - # @return [Boolean] - # - # source://unparser//lib/unparser/writer/dynamic_string.rb#91 - def str_ws?(node); end - - class << self - # source://unparser//lib/unparser/anima.rb#140 - def anima; end - end -end - -# source://unparser//lib/unparser/writer/dynamic_string.rb#21 -Unparser::Writer::DynamicString::FLAT_INTERPOLATION = T.let(T.unsafe(nil), Set) - -# source://unparser//lib/unparser/writer/dynamic_string.rb#8 -Unparser::Writer::DynamicString::PATTERNS_2 = T.let(T.unsafe(nil), Array) - -# source://unparser//lib/unparser/writer/dynamic_string.rb#14 -Unparser::Writer::DynamicString::PATTERNS_3 = T.let(T.unsafe(nil), Array) - -# Writer for rescue bodies -# -# source://unparser//lib/unparser/writer/resbody.rb#6 -class Unparser::Writer::Resbody - include ::Unparser::NodeHelpers - include ::Unparser::Generation - include ::Unparser::Writer - include ::Unparser::Anima::InstanceMethods - include ::Unparser::Equalizer::Methods - extend ::Unparser::DSL - - # source://unparser//lib/unparser/anima.rb#146 - def buffer; end - - # source://unparser//lib/unparser/anima.rb#146 - def comments; end - - # source://unparser//lib/unparser/writer/resbody.rb#11 - def emit_postcontrol; end - - # source://unparser//lib/unparser/writer/resbody.rb#16 - def emit_regular; end - - # source://unparser//lib/unparser/anima.rb#146 - def local_variable_scope; end - - # source://unparser//lib/unparser/anima.rb#146 - def node; end - - private - - # source://unparser//lib/unparser/dsl.rb#18 - def assignment; end - - # source://unparser//lib/unparser/dsl.rb#18 - def body; end - - # source://unparser//lib/unparser/writer/resbody.rb#32 - def emit_assignment; end - - # source://unparser//lib/unparser/writer/resbody.rb#25 - def emit_exception; end - - # source://unparser//lib/unparser/dsl.rb#18 - def exception; end - - # source://unparser//lib/unparser/dsl.rb#11 - def remaining_children; end - - class << self - # source://unparser//lib/unparser/anima.rb#140 - def anima; end - end -end - -# source://unparser//lib/unparser/writer/rescue.rb#5 -class Unparser::Writer::Rescue - include ::Unparser::Adamantium - include ::Unparser::Adamantium::InstanceMethods - include ::Unparser::NodeHelpers - include ::Unparser::Generation - include ::Unparser::Writer - include ::Unparser::Anima::InstanceMethods - include ::Unparser::Equalizer::Methods - extend ::Unparser::Adamantium::ModuleMethods - extend ::Unparser::Adamantium::ClassMethods - extend ::Unparser::DSL - - # source://unparser//lib/unparser/anima.rb#146 - def buffer; end - - # source://unparser//lib/unparser/anima.rb#146 - def comments; end - - # source://unparser//lib/unparser/writer/rescue.rb#23 - def emit_heredoc_reminders; end - - # source://unparser//lib/unparser/writer/rescue.rb#27 - def emit_postcontrol; end - - # source://unparser//lib/unparser/writer/rescue.rb#12 - def emit_regular; end - - # source://unparser//lib/unparser/anima.rb#146 - def local_variable_scope; end - - # source://unparser//lib/unparser/anima.rb#146 - def node; end - - private - - # source://unparser//lib/unparser/dsl.rb#18 - def body; end - - # source://unparser//lib/unparser/writer/rescue.rb#34 - def else_node; end - - # source://unparser//lib/unparser/writer/rescue.rb#38 - def emit_rescue_body(node); end - - # source://unparser//lib/unparser/dsl.rb#11 - def remaining_children; end - - # source://unparser//lib/unparser/adamantium/method_builder.rb#87 - def rescue_bodies(&block); end - - # source://unparser//lib/unparser/dsl.rb#18 - def rescue_body; end - - class << self - # source://unparser//lib/unparser/anima.rb#140 - def anima; end - end -end - -# Writer for send -# -# source://unparser//lib/unparser/writer/send.rb#6 -class Unparser::Writer::Send - include ::Unparser::NodeHelpers - include ::Unparser::Generation - include ::Unparser::Constants - include ::Unparser::Adamantium - include ::Unparser::Adamantium::InstanceMethods - include ::Unparser::Writer - include ::Unparser::Anima::InstanceMethods - include ::Unparser::Equalizer::Methods - extend ::Unparser::Adamantium::ModuleMethods - extend ::Unparser::Adamantium::ClassMethods - extend ::Unparser::DSL - - # source://unparser//lib/unparser/anima.rb#146 - def buffer; end - - # source://unparser//lib/unparser/anima.rb#146 - def comments; end - - # source://unparser//lib/unparser/writer/send.rb#21 - def dispatch; end - - # source://unparser//lib/unparser/writer/send.rb#33 - def emit_heredoc_reminders; end - - # source://unparser//lib/unparser/writer/send.rb#25 - def emit_mlhs; end - - # source://unparser//lib/unparser/writer/send.rb#29 - def emit_selector; end - - # source://unparser//lib/unparser/anima.rb#146 - def local_variable_scope; end - - # source://unparser//lib/unparser/anima.rb#146 - def node; end - - private - - # source://unparser//lib/unparser/writer/send.rb#73 - def arguments; end - - # @return [Boolean] - # - # source://unparser//lib/unparser/writer/send.rb#85 - def avoid_clash?; end - - # source://unparser//lib/unparser/adamantium/method_builder.rb#87 - def details(&block); end - - # source://unparser//lib/unparser/adamantium/method_builder.rb#87 - def effective_writer(&block); end - - # source://unparser//lib/unparser/writer/send.rb#45 - def effective_writer_class; end - - # source://unparser//lib/unparser/writer/send.rb#65 - def emit_arguments; end - - # source://unparser//lib/unparser/writer/send.rb#81 - def emit_heredoc_reminder(argument); end - - # source://unparser//lib/unparser/writer/send.rb#77 - def emit_normal_arguments; end - - # source://unparser//lib/unparser/writer/send.rb#61 - def emit_operator; end - - # source://unparser//lib/unparser/writer/send.rb#106 - def emit_send_regular(node); end - - # @return [Boolean] - # - # source://unparser//lib/unparser/writer/send.rb#89 - def local_variable_clash?; end - - # @return [Boolean] - # - # source://unparser//lib/unparser/writer/send.rb#93 - def parses_as_constant?; end - - # source://unparser//lib/unparser/dsl.rb#18 - def receiver; end - - # source://unparser//lib/unparser/dsl.rb#11 - def remaining_children; end - - # source://unparser//lib/unparser/dsl.rb#18 - def selector; end - - # @return [Boolean] - # - # source://unparser//lib/unparser/writer/send.rb#57 - def write_as_attribute_assignment?; end - - class << self - # source://unparser//lib/unparser/anima.rb#140 - def anima; end - end -end - -# Writer for send as attribute assignment -# -# source://unparser//lib/unparser/writer/send/attribute_assignment.rb#7 -class Unparser::Writer::Send::AttributeAssignment < ::Unparser::Writer::Send - # source://unparser//lib/unparser/writer/send/attribute_assignment.rb#10 - def dispatch; end - - # source://unparser//lib/unparser/writer/send/attribute_assignment.rb#22 - def emit_send_mlhs; end - - private - - # source://unparser//lib/unparser/writer/send/attribute_assignment.rb#34 - def emit_attribute; end - - # source://unparser//lib/unparser/writer/send/attribute_assignment.rb#29 - def emit_receiver; end - - # source://unparser//lib/unparser/dsl.rb#18 - def first_argument; end - - # source://unparser//lib/unparser/dsl.rb#18 - def receiver; end - - # source://unparser//lib/unparser/dsl.rb#11 - def remaining_children; end - - # source://unparser//lib/unparser/dsl.rb#18 - def selector; end -end - -# Writer for binary sends -# -# source://unparser//lib/unparser/writer/send/binary.rb#7 -class Unparser::Writer::Send::Binary < ::Unparser::Writer::Send - # source://unparser//lib/unparser/writer/send/binary.rb#8 - def dispatch; end - - private - - # source://unparser//lib/unparser/writer/send/binary.rb#16 - def emit_operator; end - - # source://unparser//lib/unparser/writer/send/binary.rb#20 - def emit_right; end -end - -# source://unparser//lib/unparser/writer/send.rb#9 -Unparser::Writer::Send::INDEX_ASSIGN = T.let(T.unsafe(nil), Symbol) - -# source://unparser//lib/unparser/writer/send.rb#10 -Unparser::Writer::Send::INDEX_REFERENCE = T.let(T.unsafe(nil), Symbol) - -# source://unparser//lib/unparser/writer/send.rb#12 -Unparser::Writer::Send::OPERATORS = T.let(T.unsafe(nil), Hash) - -# Writer for "regular" receiver.selector(arguments...) case -# -# source://unparser//lib/unparser/writer/send/regular.rb#7 -class Unparser::Writer::Send::Regular < ::Unparser::Writer::Send - # source://unparser//lib/unparser/writer/send/regular.rb#8 - def dispatch; end - - # source://unparser//lib/unparser/writer/send/regular.rb#18 - def emit_arguments_without_heredoc_body; end - - # source://unparser//lib/unparser/writer/send/regular.rb#22 - def emit_receiver; end - - # source://unparser//lib/unparser/writer/send/regular.rb#14 - def emit_send_mlhs; end -end - -# Writer for unary sends -# -# source://unparser//lib/unparser/writer/send/unary.rb#7 -class Unparser::Writer::Send::Unary < ::Unparser::Writer::Send - # source://unparser//lib/unparser/writer/send/unary.rb#15 - def dispatch; end -end - -# source://unparser//lib/unparser/writer/send/unary.rb#8 -Unparser::Writer::Send::Unary::MAP = T.let(T.unsafe(nil), Hash) diff --git a/sorbet/rbi/gems/yarp@0.9.0.rbi b/sorbet/rbi/gems/yarp@0.10.0.rbi similarity index 86% rename from sorbet/rbi/gems/yarp@0.9.0.rbi rename to sorbet/rbi/gems/yarp@0.10.0.rbi index a711b4265..f45a2f811 100644 --- a/sorbet/rbi/gems/yarp@0.9.0.rbi +++ b/sorbet/rbi/gems/yarp@0.10.0.rbi @@ -63,7 +63,7 @@ end # alias foo bar # ^^^^^^^^^^^^^ # -# source://yarp//lib/yarp/node.rb#14 +# source://yarp//lib/yarp/node.rb#13 class YARP::AliasNode < ::YARP::Node # def initialize: (new_name: Node, old_name: Node, keyword_loc: Location, location: Location) -> void # @@ -124,7 +124,7 @@ end # foo => bar | baz # ^^^^^^^^^ # -# source://yarp//lib/yarp/node.rb#70 +# source://yarp//lib/yarp/node.rb#69 class YARP::AlternationPatternNode < ::YARP::Node # def initialize: (left: Node, right: Node, operator_loc: Location, location: Location) -> void # @@ -185,7 +185,7 @@ end # left and right # ^^^^^^^^^^^^^^ # -# source://yarp//lib/yarp/node.rb#126 +# source://yarp//lib/yarp/node.rb#125 class YARP::AndNode < ::YARP::Node # def initialize: (left: Node, right: Node, operator_loc: Location, location: Location) -> void # @@ -246,7 +246,7 @@ end # return foo, bar, baz # ^^^^^^^^^^^^^ # -# source://yarp//lib/yarp/node.rb#182 +# source://yarp//lib/yarp/node.rb#181 class YARP::ArgumentsNode < ::YARP::Node # def initialize: (arguments: Array[Node], location: Location) -> void # @@ -293,7 +293,7 @@ end # [1, 2, 3] # ^^^^^^^^^ # -# source://yarp//lib/yarp/node.rb#224 +# source://yarp//lib/yarp/node.rb#223 class YARP::ArrayNode < ::YARP::Node # def initialize: (elements: Array[Node], opening_loc: Location?, closing_loc: Location?, location: Location) -> void # @@ -371,7 +371,7 @@ end # foo in Bar[1, 2, 3] # ^^^^^^^^^^^^^^^^^^^ # -# source://yarp//lib/yarp/node.rb#297 +# source://yarp//lib/yarp/node.rb#296 class YARP::ArrayPatternNode < ::YARP::Node # def initialize: (constant: Node?, requireds: Array[Node], rest: Node?, posts: Array[Node], opening_loc: Location?, closing_loc: Location?, location: Location) -> void # @@ -452,7 +452,7 @@ end # { a => b } # ^^^^^^ # -# source://yarp//lib/yarp/node.rb#373 +# source://yarp//lib/yarp/node.rb#372 class YARP::AssocNode < ::YARP::Node # def initialize: (key: Node, value: Node?, operator_loc: Location?, location: Location) -> void # @@ -513,7 +513,7 @@ end # { **foo } # ^^^^^ # -# source://yarp//lib/yarp/node.rb#429 +# source://yarp//lib/yarp/node.rb#428 class YARP::AssocSplatNode < ::YARP::Node # def initialize: (value: Node?, operator_loc: Location, location: Location) -> void # @@ -571,7 +571,7 @@ YARP::BACKEND = T.let(T.unsafe(nil), Symbol) # $' # ^^ # -# source://yarp//lib/yarp/node.rb#480 +# source://yarp//lib/yarp/node.rb#479 class YARP::BackReferenceReadNode < ::YARP::Node # def initialize: (location: Location) -> void # @@ -631,7 +631,7 @@ end # end # ^^^^^ # -# source://yarp//lib/yarp/node.rb#518 +# source://yarp//lib/yarp/node.rb#517 class YARP::BeginNode < ::YARP::Node # def initialize: (begin_keyword_loc: Location?, statements: StatementsNode?, rescue_clause: RescueNode?, else_clause: ElseNode?, ensure_clause: EnsureNode?, end_keyword_loc: Location?, location: Location) -> void # @@ -715,7 +715,7 @@ end # bar(&args) # ^^^^^^^^^^ # -# source://yarp//lib/yarp/node.rb#598 +# source://yarp//lib/yarp/node.rb#597 class YARP::BlockArgumentNode < ::YARP::Node # def initialize: (expression: Node?, operator_loc: Location, location: Location) -> void # @@ -771,7 +771,7 @@ end # [1, 2, 3].each { |i| puts x } # ^^^^^^^^^^^^^^ # -# source://yarp//lib/yarp/node.rb#649 +# source://yarp//lib/yarp/node.rb#648 class YARP::BlockNode < ::YARP::Node # def initialize: (locals: Array[Symbol], parameters: BlockParametersNode?, body: Node?, opening_loc: Location, closing_loc: Location, location: Location) -> void # @@ -848,7 +848,7 @@ end # ^^ # end # -# source://yarp//lib/yarp/node.rb#721 +# source://yarp//lib/yarp/node.rb#720 class YARP::BlockParameterNode < ::YARP::Node # def initialize: (name_loc: Location?, operator_loc: Location, location: Location) -> void # @@ -913,7 +913,7 @@ end # ^^^^^^^^^^^^^^^^^ # end # -# source://yarp//lib/yarp/node.rb#781 +# source://yarp//lib/yarp/node.rb#780 class YARP::BlockParametersNode < ::YARP::Node # def initialize: (parameters: ParametersNode?, locals: Array[Location], opening_loc: Location?, closing_loc: Location?, location: Location) -> void # @@ -984,7 +984,7 @@ end # break foo # ^^^^^^^^^ # -# source://yarp//lib/yarp/node.rb#847 +# source://yarp//lib/yarp/node.rb#846 class YARP::BreakNode < ::YARP::Node # def initialize: (arguments: ArgumentsNode?, keyword_loc: Location, location: Location) -> void # @@ -1055,7 +1055,7 @@ end # foo&.bar # ^^^^^^^^ # -# source://yarp//lib/yarp/node.rb#913 +# source://yarp//lib/yarp/node.rb#912 class YARP::CallNode < ::YARP::Node # def initialize: (receiver: Node?, operator_loc: Location?, message_loc: Location?, opening_loc: Location?, arguments: ArgumentsNode?, closing_loc: Location?, block: BlockNode?, flags: Integer, name: String, location: Location) -> void # @@ -1170,17 +1170,17 @@ class YARP::CallNode < ::YARP::Node def variable_call?; end end -# source://yarp//lib/yarp/node.rb#7993 +# source://yarp//lib/yarp/node.rb#7983 module YARP::CallNodeFlags; end # &. operator # -# source://yarp//lib/yarp/node.rb#7995 +# source://yarp//lib/yarp/node.rb#7985 YARP::CallNodeFlags::SAFE_NAVIGATION = T.let(T.unsafe(nil), Integer) # a call that could have been a local variable # -# source://yarp//lib/yarp/node.rb#7998 +# source://yarp//lib/yarp/node.rb#7988 YARP::CallNodeFlags::VARIABLE_CALL = T.let(T.unsafe(nil), Integer) # Represents the use of the `&&=` operator on a call. @@ -1188,7 +1188,7 @@ YARP::CallNodeFlags::VARIABLE_CALL = T.let(T.unsafe(nil), Integer) # foo.bar &&= value # ^^^^^^^^^^^^^^^^^ # -# source://yarp//lib/yarp/node.rb#1024 +# source://yarp//lib/yarp/node.rb#1023 class YARP::CallOperatorAndWriteNode < ::YARP::Node # def initialize: (target: CallNode, operator_loc: Location, value: Node, location: Location) -> void # @@ -1249,7 +1249,7 @@ end # foo.bar ||= value # ^^^^^^^^^^^^^^^^^ # -# source://yarp//lib/yarp/node.rb#1080 +# source://yarp//lib/yarp/node.rb#1079 class YARP::CallOperatorOrWriteNode < ::YARP::Node # def initialize: (target: CallNode, value: Node, operator_loc: Location, location: Location) -> void # @@ -1310,14 +1310,14 @@ end # foo.bar += baz # ^^^^^^^^^^^^^^ # -# source://yarp//lib/yarp/node.rb#1136 +# source://yarp//lib/yarp/node.rb#1135 class YARP::CallOperatorWriteNode < ::YARP::Node - # def initialize: (target: CallNode, operator_loc: Location, value: Node, operator_id: Symbol, location: Location) -> void + # def initialize: (target: CallNode, operator_loc: Location, value: Node, operator: Symbol, location: Location) -> void # # @return [CallOperatorWriteNode] a new instance of CallOperatorWriteNode # # source://yarp//lib/yarp/node.rb#1149 - def initialize(target, operator_loc, value, operator_id, location); end + def initialize(target, operator_loc, value, operator, location); end # def accept: (visitor: Visitor) -> void # @@ -1345,15 +1345,10 @@ class YARP::CallOperatorWriteNode < ::YARP::Node # source://yarp//lib/yarp/node.rb#1182 def deconstruct_keys(keys); end - # def operator: () -> String - # - # source://yarp//lib/yarp/node.rb#1187 - def operator; end - - # attr_reader operator_id: Symbol + # attr_reader operator: Symbol # # source://yarp//lib/yarp/node.rb#1146 - def operator_id; end + def operator; end # attr_reader operator_loc: Location # @@ -1376,59 +1371,59 @@ end # foo => [bar => baz] # ^^^^^^^^^^^^ # -# source://yarp//lib/yarp/node.rb#1197 +# source://yarp//lib/yarp/node.rb#1191 class YARP::CapturePatternNode < ::YARP::Node # def initialize: (value: Node, target: Node, operator_loc: Location, location: Location) -> void # # @return [CapturePatternNode] a new instance of CapturePatternNode # - # source://yarp//lib/yarp/node.rb#1207 + # source://yarp//lib/yarp/node.rb#1202 def initialize(value, target, operator_loc, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#1215 + # source://yarp//lib/yarp/node.rb#1210 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#1220 + # source://yarp//lib/yarp/node.rb#1215 def child_nodes; end # def copy: (**params) -> CapturePatternNode # - # source://yarp//lib/yarp/node.rb#1225 + # source://yarp//lib/yarp/node.rb#1220 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#1220 + # source://yarp//lib/yarp/node.rb#1215 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#1238 + # source://yarp//lib/yarp/node.rb#1233 def deconstruct_keys(keys); end # def operator: () -> String # - # source://yarp//lib/yarp/node.rb#1243 + # source://yarp//lib/yarp/node.rb#1238 def operator; end # attr_reader operator_loc: Location # - # source://yarp//lib/yarp/node.rb#1204 + # source://yarp//lib/yarp/node.rb#1199 def operator_loc; end # attr_reader target: Node # - # source://yarp//lib/yarp/node.rb#1201 + # source://yarp//lib/yarp/node.rb#1196 def target; end # attr_reader value: Node # - # source://yarp//lib/yarp/node.rb#1198 + # source://yarp//lib/yarp/node.rb#1193 def value; end end @@ -1439,74 +1434,74 @@ end # when false # end # -# source://yarp//lib/yarp/node.rb#1255 +# source://yarp//lib/yarp/node.rb#1249 class YARP::CaseNode < ::YARP::Node # def initialize: (predicate: Node?, conditions: Array[Node], consequent: ElseNode?, case_keyword_loc: Location, end_keyword_loc: Location, location: Location) -> void # # @return [CaseNode] a new instance of CaseNode # - # source://yarp//lib/yarp/node.rb#1271 + # source://yarp//lib/yarp/node.rb#1266 def initialize(predicate, conditions, consequent, case_keyword_loc, end_keyword_loc, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#1281 + # source://yarp//lib/yarp/node.rb#1276 def accept(visitor); end # def case_keyword: () -> String # - # source://yarp//lib/yarp/node.rb#1311 + # source://yarp//lib/yarp/node.rb#1306 def case_keyword; end # attr_reader case_keyword_loc: Location # - # source://yarp//lib/yarp/node.rb#1265 + # source://yarp//lib/yarp/node.rb#1260 def case_keyword_loc; end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#1286 + # source://yarp//lib/yarp/node.rb#1281 def child_nodes; end # attr_reader conditions: Array[Node] # - # source://yarp//lib/yarp/node.rb#1259 + # source://yarp//lib/yarp/node.rb#1254 def conditions; end # attr_reader consequent: ElseNode? # - # source://yarp//lib/yarp/node.rb#1262 + # source://yarp//lib/yarp/node.rb#1257 def consequent; end # def copy: (**params) -> CaseNode # - # source://yarp//lib/yarp/node.rb#1291 + # source://yarp//lib/yarp/node.rb#1286 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#1286 + # source://yarp//lib/yarp/node.rb#1281 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#1306 + # source://yarp//lib/yarp/node.rb#1301 def deconstruct_keys(keys); end # def end_keyword: () -> String # - # source://yarp//lib/yarp/node.rb#1316 + # source://yarp//lib/yarp/node.rb#1311 def end_keyword; end # attr_reader end_keyword_loc: Location # - # source://yarp//lib/yarp/node.rb#1268 + # source://yarp//lib/yarp/node.rb#1263 def end_keyword_loc; end # attr_reader predicate: Node? # - # source://yarp//lib/yarp/node.rb#1256 + # source://yarp//lib/yarp/node.rb#1251 def predicate; end end @@ -1515,94 +1510,94 @@ end # class Foo end # ^^^^^^^^^^^^^ # -# source://yarp//lib/yarp/node.rb#1326 +# source://yarp//lib/yarp/node.rb#1320 class YARP::ClassNode < ::YARP::Node # def initialize: (locals: Array[Symbol], class_keyword_loc: Location, constant_path: Node, inheritance_operator_loc: Location?, superclass: Node?, body: Node?, end_keyword_loc: Location, name: String, location: Location) -> void # # @return [ClassNode] a new instance of ClassNode # - # source://yarp//lib/yarp/node.rb#1351 + # source://yarp//lib/yarp/node.rb#1346 def initialize(locals, class_keyword_loc, constant_path, inheritance_operator_loc, superclass, body, end_keyword_loc, name, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#1364 + # source://yarp//lib/yarp/node.rb#1359 def accept(visitor); end # attr_reader body: Node? # - # source://yarp//lib/yarp/node.rb#1342 + # source://yarp//lib/yarp/node.rb#1337 def body; end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#1369 + # source://yarp//lib/yarp/node.rb#1364 def child_nodes; end # def class_keyword: () -> String # - # source://yarp//lib/yarp/node.rb#1397 + # source://yarp//lib/yarp/node.rb#1392 def class_keyword; end # attr_reader class_keyword_loc: Location # - # source://yarp//lib/yarp/node.rb#1330 + # source://yarp//lib/yarp/node.rb#1325 def class_keyword_loc; end # attr_reader constant_path: Node # - # source://yarp//lib/yarp/node.rb#1333 + # source://yarp//lib/yarp/node.rb#1328 def constant_path; end # def copy: (**params) -> ClassNode # - # source://yarp//lib/yarp/node.rb#1374 + # source://yarp//lib/yarp/node.rb#1369 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#1369 + # source://yarp//lib/yarp/node.rb#1364 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#1392 + # source://yarp//lib/yarp/node.rb#1387 def deconstruct_keys(keys); end # def end_keyword: () -> String # - # source://yarp//lib/yarp/node.rb#1407 + # source://yarp//lib/yarp/node.rb#1402 def end_keyword; end # attr_reader end_keyword_loc: Location # - # source://yarp//lib/yarp/node.rb#1345 + # source://yarp//lib/yarp/node.rb#1340 def end_keyword_loc; end # def inheritance_operator: () -> String? # - # source://yarp//lib/yarp/node.rb#1402 + # source://yarp//lib/yarp/node.rb#1397 def inheritance_operator; end # attr_reader inheritance_operator_loc: Location? # - # source://yarp//lib/yarp/node.rb#1336 + # source://yarp//lib/yarp/node.rb#1331 def inheritance_operator_loc; end # attr_reader locals: Array[Symbol] # - # source://yarp//lib/yarp/node.rb#1327 + # source://yarp//lib/yarp/node.rb#1322 def locals; end # attr_reader name: String # - # source://yarp//lib/yarp/node.rb#1348 + # source://yarp//lib/yarp/node.rb#1343 def name; end # attr_reader superclass: Node? # - # source://yarp//lib/yarp/node.rb#1339 + # source://yarp//lib/yarp/node.rb#1334 def superclass; end end @@ -1611,34 +1606,34 @@ end # @@target &&= value # ^^^^^^^^^^^^^^^^ # -# source://yarp//lib/yarp/node.rb#1417 +# source://yarp//lib/yarp/node.rb#1411 class YARP::ClassVariableAndWriteNode < ::YARP::Node - # def initialize: (name_loc: Location, operator_loc: Location, value: Node, location: Location) -> void + # def initialize: (name: Symbol, name_loc: Location, operator_loc: Location, value: Node, location: Location) -> void # # @return [ClassVariableAndWriteNode] a new instance of ClassVariableAndWriteNode # - # source://yarp//lib/yarp/node.rb#1427 - def initialize(name_loc, operator_loc, value, location); end + # source://yarp//lib/yarp/node.rb#1425 + def initialize(name, name_loc, operator_loc, value, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#1435 + # source://yarp//lib/yarp/node.rb#1434 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#1440 + # source://yarp//lib/yarp/node.rb#1439 def child_nodes; end # def copy: (**params) -> ClassVariableAndWriteNode # - # source://yarp//lib/yarp/node.rb#1445 + # source://yarp//lib/yarp/node.rb#1444 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#1440 + # source://yarp//lib/yarp/node.rb#1439 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] @@ -1646,29 +1641,29 @@ class YARP::ClassVariableAndWriteNode < ::YARP::Node # source://yarp//lib/yarp/node.rb#1458 def deconstruct_keys(keys); end - # def name: () -> String + # attr_reader name: Symbol # - # source://yarp//lib/yarp/node.rb#1463 + # source://yarp//lib/yarp/node.rb#1413 def name; end # attr_reader name_loc: Location # - # source://yarp//lib/yarp/node.rb#1418 + # source://yarp//lib/yarp/node.rb#1416 def name_loc; end # def operator: () -> String # - # source://yarp//lib/yarp/node.rb#1468 + # source://yarp//lib/yarp/node.rb#1463 def operator; end # attr_reader operator_loc: Location # - # source://yarp//lib/yarp/node.rb#1421 + # source://yarp//lib/yarp/node.rb#1419 def operator_loc; end # attr_reader value: Node # - # source://yarp//lib/yarp/node.rb#1424 + # source://yarp//lib/yarp/node.rb#1422 def value; end end @@ -1677,34 +1672,34 @@ end # @@target += value # ^^^^^^^^^^^^^^^^^ # -# source://yarp//lib/yarp/node.rb#1478 +# source://yarp//lib/yarp/node.rb#1472 class YARP::ClassVariableOperatorWriteNode < ::YARP::Node - # def initialize: (name_loc: Location, operator_loc: Location, value: Node, operator: Symbol, location: Location) -> void + # def initialize: (name: Symbol, name_loc: Location, operator_loc: Location, value: Node, operator: Symbol, location: Location) -> void # # @return [ClassVariableOperatorWriteNode] a new instance of ClassVariableOperatorWriteNode # - # source://yarp//lib/yarp/node.rb#1491 - def initialize(name_loc, operator_loc, value, operator, location); end + # source://yarp//lib/yarp/node.rb#1489 + def initialize(name, name_loc, operator_loc, value, operator, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#1500 + # source://yarp//lib/yarp/node.rb#1499 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#1505 + # source://yarp//lib/yarp/node.rb#1504 def child_nodes; end # def copy: (**params) -> ClassVariableOperatorWriteNode # - # source://yarp//lib/yarp/node.rb#1510 + # source://yarp//lib/yarp/node.rb#1509 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#1505 + # source://yarp//lib/yarp/node.rb#1504 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] @@ -1712,29 +1707,29 @@ class YARP::ClassVariableOperatorWriteNode < ::YARP::Node # source://yarp//lib/yarp/node.rb#1524 def deconstruct_keys(keys); end - # def name: () -> String + # attr_reader name: Symbol # - # source://yarp//lib/yarp/node.rb#1529 + # source://yarp//lib/yarp/node.rb#1474 def name; end # attr_reader name_loc: Location # - # source://yarp//lib/yarp/node.rb#1479 + # source://yarp//lib/yarp/node.rb#1477 def name_loc; end # attr_reader operator: Symbol # - # source://yarp//lib/yarp/node.rb#1488 + # source://yarp//lib/yarp/node.rb#1486 def operator; end # attr_reader operator_loc: Location # - # source://yarp//lib/yarp/node.rb#1482 + # source://yarp//lib/yarp/node.rb#1480 def operator_loc; end # attr_reader value: Node # - # source://yarp//lib/yarp/node.rb#1485 + # source://yarp//lib/yarp/node.rb#1483 def value; end end @@ -1743,34 +1738,34 @@ end # @@target ||= value # ^^^^^^^^^^^^^^^^^^ # -# source://yarp//lib/yarp/node.rb#1539 +# source://yarp//lib/yarp/node.rb#1533 class YARP::ClassVariableOrWriteNode < ::YARP::Node - # def initialize: (name_loc: Location, operator_loc: Location, value: Node, location: Location) -> void + # def initialize: (name: Symbol, name_loc: Location, operator_loc: Location, value: Node, location: Location) -> void # # @return [ClassVariableOrWriteNode] a new instance of ClassVariableOrWriteNode # - # source://yarp//lib/yarp/node.rb#1549 - def initialize(name_loc, operator_loc, value, location); end + # source://yarp//lib/yarp/node.rb#1547 + def initialize(name, name_loc, operator_loc, value, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#1557 + # source://yarp//lib/yarp/node.rb#1556 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#1562 + # source://yarp//lib/yarp/node.rb#1561 def child_nodes; end # def copy: (**params) -> ClassVariableOrWriteNode # - # source://yarp//lib/yarp/node.rb#1567 + # source://yarp//lib/yarp/node.rb#1566 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#1562 + # source://yarp//lib/yarp/node.rb#1561 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] @@ -1778,29 +1773,29 @@ class YARP::ClassVariableOrWriteNode < ::YARP::Node # source://yarp//lib/yarp/node.rb#1580 def deconstruct_keys(keys); end - # def name: () -> String + # attr_reader name: Symbol # - # source://yarp//lib/yarp/node.rb#1585 + # source://yarp//lib/yarp/node.rb#1535 def name; end # attr_reader name_loc: Location # - # source://yarp//lib/yarp/node.rb#1540 + # source://yarp//lib/yarp/node.rb#1538 def name_loc; end # def operator: () -> String # - # source://yarp//lib/yarp/node.rb#1590 + # source://yarp//lib/yarp/node.rb#1585 def operator; end # attr_reader operator_loc: Location # - # source://yarp//lib/yarp/node.rb#1543 + # source://yarp//lib/yarp/node.rb#1541 def operator_loc; end # attr_reader value: Node # - # source://yarp//lib/yarp/node.rb#1546 + # source://yarp//lib/yarp/node.rb#1544 def value; end end @@ -1809,40 +1804,45 @@ end # @@foo # ^^^^^ # -# source://yarp//lib/yarp/node.rb#1600 +# source://yarp//lib/yarp/node.rb#1594 class YARP::ClassVariableReadNode < ::YARP::Node - # def initialize: (location: Location) -> void + # def initialize: (name: Symbol, location: Location) -> void # # @return [ClassVariableReadNode] a new instance of ClassVariableReadNode # - # source://yarp//lib/yarp/node.rb#1601 - def initialize(location); end + # source://yarp//lib/yarp/node.rb#1599 + def initialize(name, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#1606 + # source://yarp//lib/yarp/node.rb#1605 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#1611 + # source://yarp//lib/yarp/node.rb#1610 def child_nodes; end # def copy: (**params) -> ClassVariableReadNode # - # source://yarp//lib/yarp/node.rb#1616 + # source://yarp//lib/yarp/node.rb#1615 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#1611 + # source://yarp//lib/yarp/node.rb#1610 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # # source://yarp//lib/yarp/node.rb#1626 def deconstruct_keys(keys); end + + # attr_reader name: Symbol + # + # source://yarp//lib/yarp/node.rb#1596 + def name; end end # Represents writing to a class variable in a context that doesn't have an explicit value. @@ -1850,40 +1850,45 @@ end # @@foo, @@bar = baz # ^^^^^ ^^^^^ # -# source://yarp//lib/yarp/node.rb#1636 +# source://yarp//lib/yarp/node.rb#1635 class YARP::ClassVariableTargetNode < ::YARP::Node - # def initialize: (location: Location) -> void + # def initialize: (name: Symbol, location: Location) -> void # # @return [ClassVariableTargetNode] a new instance of ClassVariableTargetNode # - # source://yarp//lib/yarp/node.rb#1637 - def initialize(location); end + # source://yarp//lib/yarp/node.rb#1640 + def initialize(name, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#1642 + # source://yarp//lib/yarp/node.rb#1646 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#1647 + # source://yarp//lib/yarp/node.rb#1651 def child_nodes; end # def copy: (**params) -> ClassVariableTargetNode # - # source://yarp//lib/yarp/node.rb#1652 + # source://yarp//lib/yarp/node.rb#1656 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#1647 + # source://yarp//lib/yarp/node.rb#1651 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#1662 + # source://yarp//lib/yarp/node.rb#1667 def deconstruct_keys(keys); end + + # attr_reader name: Symbol + # + # source://yarp//lib/yarp/node.rb#1637 + def name; end end # Represents writing to a class variable. @@ -1891,64 +1896,64 @@ end # @@foo = 1 # ^^^^^^^^^ # -# source://yarp//lib/yarp/node.rb#1672 +# source://yarp//lib/yarp/node.rb#1676 class YARP::ClassVariableWriteNode < ::YARP::Node - # def initialize: (name_loc: Location, value: Node?, operator_loc: Location?, location: Location) -> void + # def initialize: (name: Symbol, name_loc: Location, value: Node?, operator_loc: Location?, location: Location) -> void # # @return [ClassVariableWriteNode] a new instance of ClassVariableWriteNode # - # source://yarp//lib/yarp/node.rb#1682 - def initialize(name_loc, value, operator_loc, location); end + # source://yarp//lib/yarp/node.rb#1690 + def initialize(name, name_loc, value, operator_loc, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#1690 + # source://yarp//lib/yarp/node.rb#1699 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#1695 + # source://yarp//lib/yarp/node.rb#1704 def child_nodes; end # def copy: (**params) -> ClassVariableWriteNode # - # source://yarp//lib/yarp/node.rb#1700 + # source://yarp//lib/yarp/node.rb#1709 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#1695 + # source://yarp//lib/yarp/node.rb#1704 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#1713 + # source://yarp//lib/yarp/node.rb#1723 def deconstruct_keys(keys); end - # def name: () -> String + # attr_reader name: Symbol # - # source://yarp//lib/yarp/node.rb#1718 + # source://yarp//lib/yarp/node.rb#1678 def name; end # attr_reader name_loc: Location # - # source://yarp//lib/yarp/node.rb#1673 + # source://yarp//lib/yarp/node.rb#1681 def name_loc; end # def operator: () -> String? # - # source://yarp//lib/yarp/node.rb#1723 + # source://yarp//lib/yarp/node.rb#1728 def operator; end # attr_reader operator_loc: Location? # - # source://yarp//lib/yarp/node.rb#1679 + # source://yarp//lib/yarp/node.rb#1687 def operator_loc; end # attr_reader value: Node? # - # source://yarp//lib/yarp/node.rb#1676 + # source://yarp//lib/yarp/node.rb#1684 def value; end end @@ -1983,64 +1988,64 @@ YARP::Comment::TYPES = T.let(T.unsafe(nil), Array) # Target &&= value # ^^^^^^^^^^^^^^^^ # -# source://yarp//lib/yarp/node.rb#1733 +# source://yarp//lib/yarp/node.rb#1737 class YARP::ConstantAndWriteNode < ::YARP::Node # def initialize: (name_loc: Location, operator_loc: Location, value: Node, location: Location) -> void # # @return [ConstantAndWriteNode] a new instance of ConstantAndWriteNode # - # source://yarp//lib/yarp/node.rb#1743 + # source://yarp//lib/yarp/node.rb#1748 def initialize(name_loc, operator_loc, value, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#1751 + # source://yarp//lib/yarp/node.rb#1756 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#1756 + # source://yarp//lib/yarp/node.rb#1761 def child_nodes; end # def copy: (**params) -> ConstantAndWriteNode # - # source://yarp//lib/yarp/node.rb#1761 + # source://yarp//lib/yarp/node.rb#1766 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#1756 + # source://yarp//lib/yarp/node.rb#1761 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#1774 + # source://yarp//lib/yarp/node.rb#1779 def deconstruct_keys(keys); end # def name: () -> String # - # source://yarp//lib/yarp/node.rb#1779 + # source://yarp//lib/yarp/node.rb#1784 def name; end # attr_reader name_loc: Location # - # source://yarp//lib/yarp/node.rb#1734 + # source://yarp//lib/yarp/node.rb#1739 def name_loc; end # def operator: () -> String # - # source://yarp//lib/yarp/node.rb#1784 + # source://yarp//lib/yarp/node.rb#1789 def operator; end # attr_reader operator_loc: Location # - # source://yarp//lib/yarp/node.rb#1737 + # source://yarp//lib/yarp/node.rb#1742 def operator_loc; end # attr_reader value: Node # - # source://yarp//lib/yarp/node.rb#1740 + # source://yarp//lib/yarp/node.rb#1745 def value; end end @@ -2049,64 +2054,64 @@ end # Target += value # ^^^^^^^^^^^^^^^ # -# source://yarp//lib/yarp/node.rb#1794 +# source://yarp//lib/yarp/node.rb#1798 class YARP::ConstantOperatorWriteNode < ::YARP::Node # def initialize: (name_loc: Location, operator_loc: Location, value: Node, operator: Symbol, location: Location) -> void # # @return [ConstantOperatorWriteNode] a new instance of ConstantOperatorWriteNode # - # source://yarp//lib/yarp/node.rb#1807 + # source://yarp//lib/yarp/node.rb#1812 def initialize(name_loc, operator_loc, value, operator, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#1816 + # source://yarp//lib/yarp/node.rb#1821 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#1821 + # source://yarp//lib/yarp/node.rb#1826 def child_nodes; end # def copy: (**params) -> ConstantOperatorWriteNode # - # source://yarp//lib/yarp/node.rb#1826 + # source://yarp//lib/yarp/node.rb#1831 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#1821 + # source://yarp//lib/yarp/node.rb#1826 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#1840 + # source://yarp//lib/yarp/node.rb#1845 def deconstruct_keys(keys); end # def name: () -> String # - # source://yarp//lib/yarp/node.rb#1845 + # source://yarp//lib/yarp/node.rb#1850 def name; end # attr_reader name_loc: Location # - # source://yarp//lib/yarp/node.rb#1795 + # source://yarp//lib/yarp/node.rb#1800 def name_loc; end # attr_reader operator: Symbol # - # source://yarp//lib/yarp/node.rb#1804 + # source://yarp//lib/yarp/node.rb#1809 def operator; end # attr_reader operator_loc: Location # - # source://yarp//lib/yarp/node.rb#1798 + # source://yarp//lib/yarp/node.rb#1803 def operator_loc; end # attr_reader value: Node # - # source://yarp//lib/yarp/node.rb#1801 + # source://yarp//lib/yarp/node.rb#1806 def value; end end @@ -2115,64 +2120,64 @@ end # Target ||= value # ^^^^^^^^^^^^^^^^ # -# source://yarp//lib/yarp/node.rb#1855 +# source://yarp//lib/yarp/node.rb#1859 class YARP::ConstantOrWriteNode < ::YARP::Node # def initialize: (name_loc: Location, operator_loc: Location, value: Node, location: Location) -> void # # @return [ConstantOrWriteNode] a new instance of ConstantOrWriteNode # - # source://yarp//lib/yarp/node.rb#1865 + # source://yarp//lib/yarp/node.rb#1870 def initialize(name_loc, operator_loc, value, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#1873 + # source://yarp//lib/yarp/node.rb#1878 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#1878 + # source://yarp//lib/yarp/node.rb#1883 def child_nodes; end # def copy: (**params) -> ConstantOrWriteNode # - # source://yarp//lib/yarp/node.rb#1883 + # source://yarp//lib/yarp/node.rb#1888 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#1878 + # source://yarp//lib/yarp/node.rb#1883 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#1896 + # source://yarp//lib/yarp/node.rb#1901 def deconstruct_keys(keys); end # def name: () -> String # - # source://yarp//lib/yarp/node.rb#1901 + # source://yarp//lib/yarp/node.rb#1906 def name; end # attr_reader name_loc: Location # - # source://yarp//lib/yarp/node.rb#1856 + # source://yarp//lib/yarp/node.rb#1861 def name_loc; end # def operator: () -> String # - # source://yarp//lib/yarp/node.rb#1906 + # source://yarp//lib/yarp/node.rb#1911 def operator; end # attr_reader operator_loc: Location # - # source://yarp//lib/yarp/node.rb#1859 + # source://yarp//lib/yarp/node.rb#1864 def operator_loc; end # attr_reader value: Node # - # source://yarp//lib/yarp/node.rb#1862 + # source://yarp//lib/yarp/node.rb#1867 def value; end end @@ -2181,59 +2186,59 @@ end # Parent::Child &&= value # ^^^^^^^^^^^^^^^^^^^^^^^ # -# source://yarp//lib/yarp/node.rb#1916 +# source://yarp//lib/yarp/node.rb#1920 class YARP::ConstantPathAndWriteNode < ::YARP::Node # def initialize: (target: ConstantPathNode, operator_loc: Location, value: Node, location: Location) -> void # # @return [ConstantPathAndWriteNode] a new instance of ConstantPathAndWriteNode # - # source://yarp//lib/yarp/node.rb#1926 + # source://yarp//lib/yarp/node.rb#1931 def initialize(target, operator_loc, value, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#1934 + # source://yarp//lib/yarp/node.rb#1939 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#1939 + # source://yarp//lib/yarp/node.rb#1944 def child_nodes; end # def copy: (**params) -> ConstantPathAndWriteNode # - # source://yarp//lib/yarp/node.rb#1944 + # source://yarp//lib/yarp/node.rb#1949 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#1939 + # source://yarp//lib/yarp/node.rb#1944 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#1957 + # source://yarp//lib/yarp/node.rb#1962 def deconstruct_keys(keys); end # def operator: () -> String # - # source://yarp//lib/yarp/node.rb#1962 + # source://yarp//lib/yarp/node.rb#1967 def operator; end # attr_reader operator_loc: Location # - # source://yarp//lib/yarp/node.rb#1920 + # source://yarp//lib/yarp/node.rb#1925 def operator_loc; end # attr_reader target: ConstantPathNode # - # source://yarp//lib/yarp/node.rb#1917 + # source://yarp//lib/yarp/node.rb#1922 def target; end # attr_reader value: Node # - # source://yarp//lib/yarp/node.rb#1923 + # source://yarp//lib/yarp/node.rb#1928 def value; end end @@ -2242,59 +2247,59 @@ end # Foo::Bar # ^^^^^^^^ # -# source://yarp//lib/yarp/node.rb#1972 +# source://yarp//lib/yarp/node.rb#1976 class YARP::ConstantPathNode < ::YARP::Node # def initialize: (parent: Node?, child: Node, delimiter_loc: Location, location: Location) -> void # # @return [ConstantPathNode] a new instance of ConstantPathNode # - # source://yarp//lib/yarp/node.rb#1982 + # source://yarp//lib/yarp/node.rb#1987 def initialize(parent, child, delimiter_loc, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#1990 + # source://yarp//lib/yarp/node.rb#1995 def accept(visitor); end # attr_reader child: Node # - # source://yarp//lib/yarp/node.rb#1976 + # source://yarp//lib/yarp/node.rb#1981 def child; end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#1995 + # source://yarp//lib/yarp/node.rb#2000 def child_nodes; end # def copy: (**params) -> ConstantPathNode # - # source://yarp//lib/yarp/node.rb#2000 + # source://yarp//lib/yarp/node.rb#2005 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#1995 + # source://yarp//lib/yarp/node.rb#2000 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#2013 + # source://yarp//lib/yarp/node.rb#2018 def deconstruct_keys(keys); end # def delimiter: () -> String # - # source://yarp//lib/yarp/node.rb#2018 + # source://yarp//lib/yarp/node.rb#2023 def delimiter; end # attr_reader delimiter_loc: Location # - # source://yarp//lib/yarp/node.rb#1979 + # source://yarp//lib/yarp/node.rb#1984 def delimiter_loc; end # attr_reader parent: Node? # - # source://yarp//lib/yarp/node.rb#1973 + # source://yarp//lib/yarp/node.rb#1978 def parent; end end @@ -2303,59 +2308,59 @@ end # Parent::Child += value # ^^^^^^^^^^^^^^^^^^^^^^ # -# source://yarp//lib/yarp/node.rb#2028 +# source://yarp//lib/yarp/node.rb#2032 class YARP::ConstantPathOperatorWriteNode < ::YARP::Node # def initialize: (target: ConstantPathNode, operator_loc: Location, value: Node, operator: Symbol, location: Location) -> void # # @return [ConstantPathOperatorWriteNode] a new instance of ConstantPathOperatorWriteNode # - # source://yarp//lib/yarp/node.rb#2041 + # source://yarp//lib/yarp/node.rb#2046 def initialize(target, operator_loc, value, operator, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#2050 + # source://yarp//lib/yarp/node.rb#2055 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#2055 + # source://yarp//lib/yarp/node.rb#2060 def child_nodes; end # def copy: (**params) -> ConstantPathOperatorWriteNode # - # source://yarp//lib/yarp/node.rb#2060 + # source://yarp//lib/yarp/node.rb#2065 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#2055 + # source://yarp//lib/yarp/node.rb#2060 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#2074 + # source://yarp//lib/yarp/node.rb#2079 def deconstruct_keys(keys); end # attr_reader operator: Symbol # - # source://yarp//lib/yarp/node.rb#2038 + # source://yarp//lib/yarp/node.rb#2043 def operator; end # attr_reader operator_loc: Location # - # source://yarp//lib/yarp/node.rb#2032 + # source://yarp//lib/yarp/node.rb#2037 def operator_loc; end # attr_reader target: ConstantPathNode # - # source://yarp//lib/yarp/node.rb#2029 + # source://yarp//lib/yarp/node.rb#2034 def target; end # attr_reader value: Node # - # source://yarp//lib/yarp/node.rb#2035 + # source://yarp//lib/yarp/node.rb#2040 def value; end end @@ -2364,59 +2369,59 @@ end # Parent::Child ||= value # ^^^^^^^^^^^^^^^^^^^^^^^ # -# source://yarp//lib/yarp/node.rb#2084 +# source://yarp//lib/yarp/node.rb#2088 class YARP::ConstantPathOrWriteNode < ::YARP::Node # def initialize: (target: ConstantPathNode, operator_loc: Location, value: Node, location: Location) -> void # # @return [ConstantPathOrWriteNode] a new instance of ConstantPathOrWriteNode # - # source://yarp//lib/yarp/node.rb#2094 + # source://yarp//lib/yarp/node.rb#2099 def initialize(target, operator_loc, value, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#2102 + # source://yarp//lib/yarp/node.rb#2107 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#2107 + # source://yarp//lib/yarp/node.rb#2112 def child_nodes; end # def copy: (**params) -> ConstantPathOrWriteNode # - # source://yarp//lib/yarp/node.rb#2112 + # source://yarp//lib/yarp/node.rb#2117 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#2107 + # source://yarp//lib/yarp/node.rb#2112 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#2125 + # source://yarp//lib/yarp/node.rb#2130 def deconstruct_keys(keys); end # def operator: () -> String # - # source://yarp//lib/yarp/node.rb#2130 + # source://yarp//lib/yarp/node.rb#2135 def operator; end # attr_reader operator_loc: Location # - # source://yarp//lib/yarp/node.rb#2088 + # source://yarp//lib/yarp/node.rb#2093 def operator_loc; end # attr_reader target: ConstantPathNode # - # source://yarp//lib/yarp/node.rb#2085 + # source://yarp//lib/yarp/node.rb#2090 def target; end # attr_reader value: Node # - # source://yarp//lib/yarp/node.rb#2091 + # source://yarp//lib/yarp/node.rb#2096 def value; end end @@ -2425,59 +2430,59 @@ end # Foo::Foo, Bar::Bar = baz # ^^^^^^^^ ^^^^^^^^ # -# source://yarp//lib/yarp/node.rb#2140 +# source://yarp//lib/yarp/node.rb#2144 class YARP::ConstantPathTargetNode < ::YARP::Node # def initialize: (parent: Node?, child: Node, delimiter_loc: Location, location: Location) -> void # # @return [ConstantPathTargetNode] a new instance of ConstantPathTargetNode # - # source://yarp//lib/yarp/node.rb#2150 + # source://yarp//lib/yarp/node.rb#2155 def initialize(parent, child, delimiter_loc, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#2158 + # source://yarp//lib/yarp/node.rb#2163 def accept(visitor); end # attr_reader child: Node # - # source://yarp//lib/yarp/node.rb#2144 + # source://yarp//lib/yarp/node.rb#2149 def child; end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#2163 + # source://yarp//lib/yarp/node.rb#2168 def child_nodes; end # def copy: (**params) -> ConstantPathTargetNode # - # source://yarp//lib/yarp/node.rb#2168 + # source://yarp//lib/yarp/node.rb#2173 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#2163 + # source://yarp//lib/yarp/node.rb#2168 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#2181 + # source://yarp//lib/yarp/node.rb#2186 def deconstruct_keys(keys); end # def delimiter: () -> String # - # source://yarp//lib/yarp/node.rb#2186 + # source://yarp//lib/yarp/node.rb#2191 def delimiter; end # attr_reader delimiter_loc: Location # - # source://yarp//lib/yarp/node.rb#2147 + # source://yarp//lib/yarp/node.rb#2152 def delimiter_loc; end # attr_reader parent: Node? # - # source://yarp//lib/yarp/node.rb#2141 + # source://yarp//lib/yarp/node.rb#2146 def parent; end end @@ -2492,59 +2497,59 @@ end # ::Foo::Bar = 1 # ^^^^^^^^^^^^^^ # -# source://yarp//lib/yarp/node.rb#2202 +# source://yarp//lib/yarp/node.rb#2206 class YARP::ConstantPathWriteNode < ::YARP::Node # def initialize: (target: ConstantPathNode, operator_loc: Location, value: Node, location: Location) -> void # # @return [ConstantPathWriteNode] a new instance of ConstantPathWriteNode # - # source://yarp//lib/yarp/node.rb#2212 + # source://yarp//lib/yarp/node.rb#2217 def initialize(target, operator_loc, value, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#2220 + # source://yarp//lib/yarp/node.rb#2225 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#2225 + # source://yarp//lib/yarp/node.rb#2230 def child_nodes; end # def copy: (**params) -> ConstantPathWriteNode # - # source://yarp//lib/yarp/node.rb#2230 + # source://yarp//lib/yarp/node.rb#2235 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#2225 + # source://yarp//lib/yarp/node.rb#2230 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#2243 + # source://yarp//lib/yarp/node.rb#2248 def deconstruct_keys(keys); end # def operator: () -> String # - # source://yarp//lib/yarp/node.rb#2248 + # source://yarp//lib/yarp/node.rb#2253 def operator; end # attr_reader operator_loc: Location # - # source://yarp//lib/yarp/node.rb#2206 + # source://yarp//lib/yarp/node.rb#2211 def operator_loc; end # attr_reader target: ConstantPathNode # - # source://yarp//lib/yarp/node.rb#2203 + # source://yarp//lib/yarp/node.rb#2208 def target; end # attr_reader value: Node # - # source://yarp//lib/yarp/node.rb#2209 + # source://yarp//lib/yarp/node.rb#2214 def value; end end @@ -2553,39 +2558,39 @@ end # Foo # ^^^ # -# source://yarp//lib/yarp/node.rb#2258 +# source://yarp//lib/yarp/node.rb#2262 class YARP::ConstantReadNode < ::YARP::Node # def initialize: (location: Location) -> void # # @return [ConstantReadNode] a new instance of ConstantReadNode # - # source://yarp//lib/yarp/node.rb#2259 + # source://yarp//lib/yarp/node.rb#2264 def initialize(location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#2264 + # source://yarp//lib/yarp/node.rb#2269 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#2269 + # source://yarp//lib/yarp/node.rb#2274 def child_nodes; end # def copy: (**params) -> ConstantReadNode # - # source://yarp//lib/yarp/node.rb#2274 + # source://yarp//lib/yarp/node.rb#2279 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#2269 + # source://yarp//lib/yarp/node.rb#2274 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#2284 + # source://yarp//lib/yarp/node.rb#2289 def deconstruct_keys(keys); end end @@ -2594,39 +2599,39 @@ end # Foo, Bar = baz # ^^^ ^^^ # -# source://yarp//lib/yarp/node.rb#2294 +# source://yarp//lib/yarp/node.rb#2298 class YARP::ConstantTargetNode < ::YARP::Node # def initialize: (location: Location) -> void # # @return [ConstantTargetNode] a new instance of ConstantTargetNode # - # source://yarp//lib/yarp/node.rb#2295 + # source://yarp//lib/yarp/node.rb#2300 def initialize(location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#2300 + # source://yarp//lib/yarp/node.rb#2305 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#2305 + # source://yarp//lib/yarp/node.rb#2310 def child_nodes; end # def copy: (**params) -> ConstantTargetNode # - # source://yarp//lib/yarp/node.rb#2310 + # source://yarp//lib/yarp/node.rb#2315 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#2305 + # source://yarp//lib/yarp/node.rb#2310 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#2320 + # source://yarp//lib/yarp/node.rb#2325 def deconstruct_keys(keys); end end @@ -2635,744 +2640,744 @@ end # Foo = 1 # ^^^^^^^ # -# source://yarp//lib/yarp/node.rb#2330 +# source://yarp//lib/yarp/node.rb#2334 class YARP::ConstantWriteNode < ::YARP::Node # def initialize: (name_loc: Location, value: Node, operator_loc: Location, location: Location) -> void # # @return [ConstantWriteNode] a new instance of ConstantWriteNode # - # source://yarp//lib/yarp/node.rb#2340 + # source://yarp//lib/yarp/node.rb#2345 def initialize(name_loc, value, operator_loc, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#2348 + # source://yarp//lib/yarp/node.rb#2353 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#2353 + # source://yarp//lib/yarp/node.rb#2358 def child_nodes; end # def copy: (**params) -> ConstantWriteNode # - # source://yarp//lib/yarp/node.rb#2358 + # source://yarp//lib/yarp/node.rb#2363 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#2353 + # source://yarp//lib/yarp/node.rb#2358 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#2371 + # source://yarp//lib/yarp/node.rb#2376 def deconstruct_keys(keys); end # def name: () -> String # - # source://yarp//lib/yarp/node.rb#2376 + # source://yarp//lib/yarp/node.rb#2381 def name; end # attr_reader name_loc: Location # - # source://yarp//lib/yarp/node.rb#2331 + # source://yarp//lib/yarp/node.rb#2336 def name_loc; end # def operator: () -> String # - # source://yarp//lib/yarp/node.rb#2381 + # source://yarp//lib/yarp/node.rb#2386 def operator; end # attr_reader operator_loc: Location # - # source://yarp//lib/yarp/node.rb#2337 + # source://yarp//lib/yarp/node.rb#2342 def operator_loc; end # attr_reader value: Node # - # source://yarp//lib/yarp/node.rb#2334 + # source://yarp//lib/yarp/node.rb#2339 def value; end end -# source://yarp//lib/yarp/node.rb#8441 +# source://yarp//lib/yarp/node.rb#8431 module YARP::DSL private # Create a new AliasNode node # - # source://yarp//lib/yarp/node.rb#8450 + # source://yarp//lib/yarp/node.rb#8440 def AliasNode(new_name, old_name, keyword_loc, location = T.unsafe(nil)); end # Create a new AlternationPatternNode node # - # source://yarp//lib/yarp/node.rb#8455 + # source://yarp//lib/yarp/node.rb#8445 def AlternationPatternNode(left, right, operator_loc, location = T.unsafe(nil)); end # Create a new AndNode node # - # source://yarp//lib/yarp/node.rb#8460 + # source://yarp//lib/yarp/node.rb#8450 def AndNode(left, right, operator_loc, location = T.unsafe(nil)); end # Create a new ArgumentsNode node # - # source://yarp//lib/yarp/node.rb#8465 + # source://yarp//lib/yarp/node.rb#8455 def ArgumentsNode(arguments, location = T.unsafe(nil)); end # Create a new ArrayNode node # - # source://yarp//lib/yarp/node.rb#8470 + # source://yarp//lib/yarp/node.rb#8460 def ArrayNode(elements, opening_loc, closing_loc, location = T.unsafe(nil)); end # Create a new ArrayPatternNode node # - # source://yarp//lib/yarp/node.rb#8475 + # source://yarp//lib/yarp/node.rb#8465 def ArrayPatternNode(constant, requireds, rest, posts, opening_loc, closing_loc, location = T.unsafe(nil)); end # Create a new AssocNode node # - # source://yarp//lib/yarp/node.rb#8480 + # source://yarp//lib/yarp/node.rb#8470 def AssocNode(key, value, operator_loc, location = T.unsafe(nil)); end # Create a new AssocSplatNode node # - # source://yarp//lib/yarp/node.rb#8485 + # source://yarp//lib/yarp/node.rb#8475 def AssocSplatNode(value, operator_loc, location = T.unsafe(nil)); end # Create a new BackReferenceReadNode node # - # source://yarp//lib/yarp/node.rb#8490 + # source://yarp//lib/yarp/node.rb#8480 def BackReferenceReadNode(location = T.unsafe(nil)); end # Create a new BeginNode node # - # source://yarp//lib/yarp/node.rb#8495 + # source://yarp//lib/yarp/node.rb#8485 def BeginNode(begin_keyword_loc, statements, rescue_clause, else_clause, ensure_clause, end_keyword_loc, location = T.unsafe(nil)); end # Create a new BlockArgumentNode node # - # source://yarp//lib/yarp/node.rb#8500 + # source://yarp//lib/yarp/node.rb#8490 def BlockArgumentNode(expression, operator_loc, location = T.unsafe(nil)); end # Create a new BlockNode node # - # source://yarp//lib/yarp/node.rb#8505 + # source://yarp//lib/yarp/node.rb#8495 def BlockNode(locals, parameters, body, opening_loc, closing_loc, location = T.unsafe(nil)); end # Create a new BlockParameterNode node # - # source://yarp//lib/yarp/node.rb#8510 + # source://yarp//lib/yarp/node.rb#8500 def BlockParameterNode(name_loc, operator_loc, location = T.unsafe(nil)); end # Create a new BlockParametersNode node # - # source://yarp//lib/yarp/node.rb#8515 + # source://yarp//lib/yarp/node.rb#8505 def BlockParametersNode(parameters, locals, opening_loc, closing_loc, location = T.unsafe(nil)); end # Create a new BreakNode node # - # source://yarp//lib/yarp/node.rb#8520 + # source://yarp//lib/yarp/node.rb#8510 def BreakNode(arguments, keyword_loc, location = T.unsafe(nil)); end # Create a new CallNode node # - # source://yarp//lib/yarp/node.rb#8525 + # source://yarp//lib/yarp/node.rb#8515 def CallNode(receiver, operator_loc, message_loc, opening_loc, arguments, closing_loc, block, flags, name, location = T.unsafe(nil)); end # Create a new CallOperatorAndWriteNode node # - # source://yarp//lib/yarp/node.rb#8530 + # source://yarp//lib/yarp/node.rb#8520 def CallOperatorAndWriteNode(target, operator_loc, value, location = T.unsafe(nil)); end # Create a new CallOperatorOrWriteNode node # - # source://yarp//lib/yarp/node.rb#8535 + # source://yarp//lib/yarp/node.rb#8525 def CallOperatorOrWriteNode(target, value, operator_loc, location = T.unsafe(nil)); end # Create a new CallOperatorWriteNode node # - # source://yarp//lib/yarp/node.rb#8540 - def CallOperatorWriteNode(target, operator_loc, value, operator_id, location = T.unsafe(nil)); end + # source://yarp//lib/yarp/node.rb#8530 + def CallOperatorWriteNode(target, operator_loc, value, operator, location = T.unsafe(nil)); end # Create a new CapturePatternNode node # - # source://yarp//lib/yarp/node.rb#8545 + # source://yarp//lib/yarp/node.rb#8535 def CapturePatternNode(value, target, operator_loc, location = T.unsafe(nil)); end # Create a new CaseNode node # - # source://yarp//lib/yarp/node.rb#8550 + # source://yarp//lib/yarp/node.rb#8540 def CaseNode(predicate, conditions, consequent, case_keyword_loc, end_keyword_loc, location = T.unsafe(nil)); end # Create a new ClassNode node # - # source://yarp//lib/yarp/node.rb#8555 + # source://yarp//lib/yarp/node.rb#8545 def ClassNode(locals, class_keyword_loc, constant_path, inheritance_operator_loc, superclass, body, end_keyword_loc, name, location = T.unsafe(nil)); end # Create a new ClassVariableAndWriteNode node # - # source://yarp//lib/yarp/node.rb#8560 - def ClassVariableAndWriteNode(name_loc, operator_loc, value, location = T.unsafe(nil)); end + # source://yarp//lib/yarp/node.rb#8550 + def ClassVariableAndWriteNode(name, name_loc, operator_loc, value, location = T.unsafe(nil)); end # Create a new ClassVariableOperatorWriteNode node # - # source://yarp//lib/yarp/node.rb#8565 - def ClassVariableOperatorWriteNode(name_loc, operator_loc, value, operator, location = T.unsafe(nil)); end + # source://yarp//lib/yarp/node.rb#8555 + def ClassVariableOperatorWriteNode(name, name_loc, operator_loc, value, operator, location = T.unsafe(nil)); end # Create a new ClassVariableOrWriteNode node # - # source://yarp//lib/yarp/node.rb#8570 - def ClassVariableOrWriteNode(name_loc, operator_loc, value, location = T.unsafe(nil)); end + # source://yarp//lib/yarp/node.rb#8560 + def ClassVariableOrWriteNode(name, name_loc, operator_loc, value, location = T.unsafe(nil)); end # Create a new ClassVariableReadNode node # - # source://yarp//lib/yarp/node.rb#8575 - def ClassVariableReadNode(location = T.unsafe(nil)); end + # source://yarp//lib/yarp/node.rb#8565 + def ClassVariableReadNode(name, location = T.unsafe(nil)); end # Create a new ClassVariableTargetNode node # - # source://yarp//lib/yarp/node.rb#8580 - def ClassVariableTargetNode(location = T.unsafe(nil)); end + # source://yarp//lib/yarp/node.rb#8570 + def ClassVariableTargetNode(name, location = T.unsafe(nil)); end # Create a new ClassVariableWriteNode node # - # source://yarp//lib/yarp/node.rb#8585 - def ClassVariableWriteNode(name_loc, value, operator_loc, location = T.unsafe(nil)); end + # source://yarp//lib/yarp/node.rb#8575 + def ClassVariableWriteNode(name, name_loc, value, operator_loc, location = T.unsafe(nil)); end # Create a new ConstantAndWriteNode node # - # source://yarp//lib/yarp/node.rb#8590 + # source://yarp//lib/yarp/node.rb#8580 def ConstantAndWriteNode(name_loc, operator_loc, value, location = T.unsafe(nil)); end # Create a new ConstantOperatorWriteNode node # - # source://yarp//lib/yarp/node.rb#8595 + # source://yarp//lib/yarp/node.rb#8585 def ConstantOperatorWriteNode(name_loc, operator_loc, value, operator, location = T.unsafe(nil)); end # Create a new ConstantOrWriteNode node # - # source://yarp//lib/yarp/node.rb#8600 + # source://yarp//lib/yarp/node.rb#8590 def ConstantOrWriteNode(name_loc, operator_loc, value, location = T.unsafe(nil)); end # Create a new ConstantPathAndWriteNode node # - # source://yarp//lib/yarp/node.rb#8605 + # source://yarp//lib/yarp/node.rb#8595 def ConstantPathAndWriteNode(target, operator_loc, value, location = T.unsafe(nil)); end # Create a new ConstantPathNode node # - # source://yarp//lib/yarp/node.rb#8610 + # source://yarp//lib/yarp/node.rb#8600 def ConstantPathNode(parent, child, delimiter_loc, location = T.unsafe(nil)); end # Create a new ConstantPathOperatorWriteNode node # - # source://yarp//lib/yarp/node.rb#8615 + # source://yarp//lib/yarp/node.rb#8605 def ConstantPathOperatorWriteNode(target, operator_loc, value, operator, location = T.unsafe(nil)); end # Create a new ConstantPathOrWriteNode node # - # source://yarp//lib/yarp/node.rb#8620 + # source://yarp//lib/yarp/node.rb#8610 def ConstantPathOrWriteNode(target, operator_loc, value, location = T.unsafe(nil)); end # Create a new ConstantPathTargetNode node # - # source://yarp//lib/yarp/node.rb#8625 + # source://yarp//lib/yarp/node.rb#8615 def ConstantPathTargetNode(parent, child, delimiter_loc, location = T.unsafe(nil)); end # Create a new ConstantPathWriteNode node # - # source://yarp//lib/yarp/node.rb#8630 + # source://yarp//lib/yarp/node.rb#8620 def ConstantPathWriteNode(target, operator_loc, value, location = T.unsafe(nil)); end # Create a new ConstantReadNode node # - # source://yarp//lib/yarp/node.rb#8635 + # source://yarp//lib/yarp/node.rb#8625 def ConstantReadNode(location = T.unsafe(nil)); end # Create a new ConstantTargetNode node # - # source://yarp//lib/yarp/node.rb#8640 + # source://yarp//lib/yarp/node.rb#8630 def ConstantTargetNode(location = T.unsafe(nil)); end # Create a new ConstantWriteNode node # - # source://yarp//lib/yarp/node.rb#8645 + # source://yarp//lib/yarp/node.rb#8635 def ConstantWriteNode(name_loc, value, operator_loc, location = T.unsafe(nil)); end # Create a new DefNode node # - # source://yarp//lib/yarp/node.rb#8650 + # source://yarp//lib/yarp/node.rb#8640 def DefNode(name_loc, receiver, parameters, body, locals, def_keyword_loc, operator_loc, lparen_loc, rparen_loc, equal_loc, end_keyword_loc, location = T.unsafe(nil)); end # Create a new DefinedNode node # - # source://yarp//lib/yarp/node.rb#8655 + # source://yarp//lib/yarp/node.rb#8645 def DefinedNode(lparen_loc, value, rparen_loc, keyword_loc, location = T.unsafe(nil)); end # Create a new ElseNode node # - # source://yarp//lib/yarp/node.rb#8660 + # source://yarp//lib/yarp/node.rb#8650 def ElseNode(else_keyword_loc, statements, end_keyword_loc, location = T.unsafe(nil)); end # Create a new EmbeddedStatementsNode node # - # source://yarp//lib/yarp/node.rb#8665 + # source://yarp//lib/yarp/node.rb#8655 def EmbeddedStatementsNode(opening_loc, statements, closing_loc, location = T.unsafe(nil)); end # Create a new EmbeddedVariableNode node # - # source://yarp//lib/yarp/node.rb#8670 + # source://yarp//lib/yarp/node.rb#8660 def EmbeddedVariableNode(operator_loc, variable, location = T.unsafe(nil)); end # Create a new EnsureNode node # - # source://yarp//lib/yarp/node.rb#8675 + # source://yarp//lib/yarp/node.rb#8665 def EnsureNode(ensure_keyword_loc, statements, end_keyword_loc, location = T.unsafe(nil)); end # Create a new FalseNode node # - # source://yarp//lib/yarp/node.rb#8680 + # source://yarp//lib/yarp/node.rb#8670 def FalseNode(location = T.unsafe(nil)); end # Create a new FindPatternNode node # - # source://yarp//lib/yarp/node.rb#8685 + # source://yarp//lib/yarp/node.rb#8675 def FindPatternNode(constant, left, requireds, right, opening_loc, closing_loc, location = T.unsafe(nil)); end # Create a new FlipFlopNode node # - # source://yarp//lib/yarp/node.rb#8690 + # source://yarp//lib/yarp/node.rb#8680 def FlipFlopNode(left, right, operator_loc, flags, location = T.unsafe(nil)); end # Create a new FloatNode node # - # source://yarp//lib/yarp/node.rb#8695 + # source://yarp//lib/yarp/node.rb#8685 def FloatNode(location = T.unsafe(nil)); end # Create a new ForNode node # - # source://yarp//lib/yarp/node.rb#8700 + # source://yarp//lib/yarp/node.rb#8690 def ForNode(index, collection, statements, for_keyword_loc, in_keyword_loc, do_keyword_loc, end_keyword_loc, location = T.unsafe(nil)); end # Create a new ForwardingArgumentsNode node # - # source://yarp//lib/yarp/node.rb#8705 + # source://yarp//lib/yarp/node.rb#8695 def ForwardingArgumentsNode(location = T.unsafe(nil)); end # Create a new ForwardingParameterNode node # - # source://yarp//lib/yarp/node.rb#8710 + # source://yarp//lib/yarp/node.rb#8700 def ForwardingParameterNode(location = T.unsafe(nil)); end # Create a new ForwardingSuperNode node # - # source://yarp//lib/yarp/node.rb#8715 + # source://yarp//lib/yarp/node.rb#8705 def ForwardingSuperNode(block, location = T.unsafe(nil)); end # Create a new GlobalVariableAndWriteNode node # - # source://yarp//lib/yarp/node.rb#8720 + # source://yarp//lib/yarp/node.rb#8710 def GlobalVariableAndWriteNode(name_loc, operator_loc, value, location = T.unsafe(nil)); end # Create a new GlobalVariableOperatorWriteNode node # - # source://yarp//lib/yarp/node.rb#8725 + # source://yarp//lib/yarp/node.rb#8715 def GlobalVariableOperatorWriteNode(name_loc, operator_loc, value, operator, location = T.unsafe(nil)); end # Create a new GlobalVariableOrWriteNode node # - # source://yarp//lib/yarp/node.rb#8730 + # source://yarp//lib/yarp/node.rb#8720 def GlobalVariableOrWriteNode(name_loc, operator_loc, value, location = T.unsafe(nil)); end # Create a new GlobalVariableReadNode node # - # source://yarp//lib/yarp/node.rb#8735 + # source://yarp//lib/yarp/node.rb#8725 def GlobalVariableReadNode(location = T.unsafe(nil)); end # Create a new GlobalVariableTargetNode node # - # source://yarp//lib/yarp/node.rb#8740 + # source://yarp//lib/yarp/node.rb#8730 def GlobalVariableTargetNode(location = T.unsafe(nil)); end # Create a new GlobalVariableWriteNode node # - # source://yarp//lib/yarp/node.rb#8745 - def GlobalVariableWriteNode(name_loc, operator_loc, value, location = T.unsafe(nil)); end + # source://yarp//lib/yarp/node.rb#8735 + def GlobalVariableWriteNode(name_loc, value, operator_loc, location = T.unsafe(nil)); end # Create a new HashNode node # - # source://yarp//lib/yarp/node.rb#8750 + # source://yarp//lib/yarp/node.rb#8740 def HashNode(opening_loc, elements, closing_loc, location = T.unsafe(nil)); end # Create a new HashPatternNode node # - # source://yarp//lib/yarp/node.rb#8755 + # source://yarp//lib/yarp/node.rb#8745 def HashPatternNode(constant, assocs, kwrest, opening_loc, closing_loc, location = T.unsafe(nil)); end # Create a new IfNode node # - # source://yarp//lib/yarp/node.rb#8760 + # source://yarp//lib/yarp/node.rb#8750 def IfNode(if_keyword_loc, predicate, statements, consequent, end_keyword_loc, location = T.unsafe(nil)); end # Create a new ImaginaryNode node # - # source://yarp//lib/yarp/node.rb#8765 + # source://yarp//lib/yarp/node.rb#8755 def ImaginaryNode(numeric, location = T.unsafe(nil)); end # Create a new InNode node # - # source://yarp//lib/yarp/node.rb#8770 + # source://yarp//lib/yarp/node.rb#8760 def InNode(pattern, statements, in_loc, then_loc, location = T.unsafe(nil)); end # Create a new InstanceVariableAndWriteNode node # - # source://yarp//lib/yarp/node.rb#8775 - def InstanceVariableAndWriteNode(name_loc, operator_loc, value, location = T.unsafe(nil)); end + # source://yarp//lib/yarp/node.rb#8765 + def InstanceVariableAndWriteNode(name, name_loc, operator_loc, value, location = T.unsafe(nil)); end # Create a new InstanceVariableOperatorWriteNode node # - # source://yarp//lib/yarp/node.rb#8780 - def InstanceVariableOperatorWriteNode(name_loc, operator_loc, value, operator, location = T.unsafe(nil)); end + # source://yarp//lib/yarp/node.rb#8770 + def InstanceVariableOperatorWriteNode(name, name_loc, operator_loc, value, operator, location = T.unsafe(nil)); end # Create a new InstanceVariableOrWriteNode node # - # source://yarp//lib/yarp/node.rb#8785 - def InstanceVariableOrWriteNode(name_loc, operator_loc, value, location = T.unsafe(nil)); end + # source://yarp//lib/yarp/node.rb#8775 + def InstanceVariableOrWriteNode(name, name_loc, operator_loc, value, location = T.unsafe(nil)); end # Create a new InstanceVariableReadNode node # - # source://yarp//lib/yarp/node.rb#8790 - def InstanceVariableReadNode(location = T.unsafe(nil)); end + # source://yarp//lib/yarp/node.rb#8780 + def InstanceVariableReadNode(name, location = T.unsafe(nil)); end # Create a new InstanceVariableTargetNode node # - # source://yarp//lib/yarp/node.rb#8795 - def InstanceVariableTargetNode(location = T.unsafe(nil)); end + # source://yarp//lib/yarp/node.rb#8785 + def InstanceVariableTargetNode(name, location = T.unsafe(nil)); end # Create a new InstanceVariableWriteNode node # - # source://yarp//lib/yarp/node.rb#8800 - def InstanceVariableWriteNode(name_loc, value, operator_loc, location = T.unsafe(nil)); end + # source://yarp//lib/yarp/node.rb#8790 + def InstanceVariableWriteNode(name, name_loc, value, operator_loc, location = T.unsafe(nil)); end # Create a new IntegerNode node # - # source://yarp//lib/yarp/node.rb#8805 + # source://yarp//lib/yarp/node.rb#8795 def IntegerNode(location = T.unsafe(nil)); end # Create a new InterpolatedRegularExpressionNode node # - # source://yarp//lib/yarp/node.rb#8810 + # source://yarp//lib/yarp/node.rb#8800 def InterpolatedRegularExpressionNode(opening_loc, parts, closing_loc, flags, location = T.unsafe(nil)); end # Create a new InterpolatedStringNode node # - # source://yarp//lib/yarp/node.rb#8815 + # source://yarp//lib/yarp/node.rb#8805 def InterpolatedStringNode(opening_loc, parts, closing_loc, location = T.unsafe(nil)); end # Create a new InterpolatedSymbolNode node # - # source://yarp//lib/yarp/node.rb#8820 + # source://yarp//lib/yarp/node.rb#8810 def InterpolatedSymbolNode(opening_loc, parts, closing_loc, location = T.unsafe(nil)); end # Create a new InterpolatedXStringNode node # - # source://yarp//lib/yarp/node.rb#8825 + # source://yarp//lib/yarp/node.rb#8815 def InterpolatedXStringNode(opening_loc, parts, closing_loc, location = T.unsafe(nil)); end # Create a new KeywordHashNode node # - # source://yarp//lib/yarp/node.rb#8830 + # source://yarp//lib/yarp/node.rb#8820 def KeywordHashNode(elements, location = T.unsafe(nil)); end # Create a new KeywordParameterNode node # - # source://yarp//lib/yarp/node.rb#8835 + # source://yarp//lib/yarp/node.rb#8825 def KeywordParameterNode(name_loc, value, location = T.unsafe(nil)); end # Create a new KeywordRestParameterNode node # - # source://yarp//lib/yarp/node.rb#8840 + # source://yarp//lib/yarp/node.rb#8830 def KeywordRestParameterNode(operator_loc, name_loc, location = T.unsafe(nil)); end # Create a new LambdaNode node # - # source://yarp//lib/yarp/node.rb#8845 + # source://yarp//lib/yarp/node.rb#8835 def LambdaNode(locals, operator_loc, opening_loc, closing_loc, parameters, body, location = T.unsafe(nil)); end # Create a new LocalVariableAndWriteNode node # - # source://yarp//lib/yarp/node.rb#8850 - def LocalVariableAndWriteNode(name_loc, operator_loc, value, constant_id, depth, location = T.unsafe(nil)); end + # source://yarp//lib/yarp/node.rb#8840 + def LocalVariableAndWriteNode(name_loc, operator_loc, value, name, depth, location = T.unsafe(nil)); end # Create a new LocalVariableOperatorWriteNode node # - # source://yarp//lib/yarp/node.rb#8855 - def LocalVariableOperatorWriteNode(name_loc, operator_loc, value, constant_id, operator_id, depth, location = T.unsafe(nil)); end + # source://yarp//lib/yarp/node.rb#8845 + def LocalVariableOperatorWriteNode(name_loc, operator_loc, value, name, operator, depth, location = T.unsafe(nil)); end # Create a new LocalVariableOrWriteNode node # - # source://yarp//lib/yarp/node.rb#8860 - def LocalVariableOrWriteNode(name_loc, operator_loc, value, constant_id, depth, location = T.unsafe(nil)); end + # source://yarp//lib/yarp/node.rb#8850 + def LocalVariableOrWriteNode(name_loc, operator_loc, value, name, depth, location = T.unsafe(nil)); end # Create a new LocalVariableReadNode node # - # source://yarp//lib/yarp/node.rb#8865 - def LocalVariableReadNode(constant_id, depth, location = T.unsafe(nil)); end + # source://yarp//lib/yarp/node.rb#8855 + def LocalVariableReadNode(name, depth, location = T.unsafe(nil)); end # Create a new LocalVariableTargetNode node # - # source://yarp//lib/yarp/node.rb#8870 - def LocalVariableTargetNode(constant_id, depth, location = T.unsafe(nil)); end + # source://yarp//lib/yarp/node.rb#8860 + def LocalVariableTargetNode(name, depth, location = T.unsafe(nil)); end # Create a new LocalVariableWriteNode node # - # source://yarp//lib/yarp/node.rb#8875 - def LocalVariableWriteNode(constant_id, depth, value, name_loc, operator_loc, location = T.unsafe(nil)); end + # source://yarp//lib/yarp/node.rb#8865 + def LocalVariableWriteNode(name, depth, name_loc, value, operator_loc, location = T.unsafe(nil)); end # Create a new Location object # - # source://yarp//lib/yarp/node.rb#8445 + # source://yarp//lib/yarp/node.rb#8435 def Location(source = T.unsafe(nil), start_offset = T.unsafe(nil), length = T.unsafe(nil)); end # Create a new MatchPredicateNode node # - # source://yarp//lib/yarp/node.rb#8880 + # source://yarp//lib/yarp/node.rb#8870 def MatchPredicateNode(value, pattern, operator_loc, location = T.unsafe(nil)); end # Create a new MatchRequiredNode node # - # source://yarp//lib/yarp/node.rb#8885 + # source://yarp//lib/yarp/node.rb#8875 def MatchRequiredNode(value, pattern, operator_loc, location = T.unsafe(nil)); end # Create a new MissingNode node # - # source://yarp//lib/yarp/node.rb#8890 + # source://yarp//lib/yarp/node.rb#8880 def MissingNode(location = T.unsafe(nil)); end # Create a new ModuleNode node # - # source://yarp//lib/yarp/node.rb#8895 + # source://yarp//lib/yarp/node.rb#8885 def ModuleNode(locals, module_keyword_loc, constant_path, body, end_keyword_loc, name, location = T.unsafe(nil)); end # Create a new MultiWriteNode node # - # source://yarp//lib/yarp/node.rb#8900 + # source://yarp//lib/yarp/node.rb#8890 def MultiWriteNode(targets, operator_loc, value, lparen_loc, rparen_loc, location = T.unsafe(nil)); end # Create a new NextNode node # - # source://yarp//lib/yarp/node.rb#8905 + # source://yarp//lib/yarp/node.rb#8895 def NextNode(arguments, keyword_loc, location = T.unsafe(nil)); end # Create a new NilNode node # - # source://yarp//lib/yarp/node.rb#8910 + # source://yarp//lib/yarp/node.rb#8900 def NilNode(location = T.unsafe(nil)); end # Create a new NoKeywordsParameterNode node # - # source://yarp//lib/yarp/node.rb#8915 + # source://yarp//lib/yarp/node.rb#8905 def NoKeywordsParameterNode(operator_loc, keyword_loc, location = T.unsafe(nil)); end # Create a new NumberedReferenceReadNode node # - # source://yarp//lib/yarp/node.rb#8920 - def NumberedReferenceReadNode(location = T.unsafe(nil)); end + # source://yarp//lib/yarp/node.rb#8910 + def NumberedReferenceReadNode(number, location = T.unsafe(nil)); end # Create a new OptionalParameterNode node # - # source://yarp//lib/yarp/node.rb#8925 - def OptionalParameterNode(constant_id, name_loc, operator_loc, value, location = T.unsafe(nil)); end + # source://yarp//lib/yarp/node.rb#8915 + def OptionalParameterNode(name, name_loc, operator_loc, value, location = T.unsafe(nil)); end # Create a new OrNode node # - # source://yarp//lib/yarp/node.rb#8930 + # source://yarp//lib/yarp/node.rb#8920 def OrNode(left, right, operator_loc, location = T.unsafe(nil)); end # Create a new ParametersNode node # - # source://yarp//lib/yarp/node.rb#8935 + # source://yarp//lib/yarp/node.rb#8925 def ParametersNode(requireds, optionals, posts, rest, keywords, keyword_rest, block, location = T.unsafe(nil)); end # Create a new ParenthesesNode node # - # source://yarp//lib/yarp/node.rb#8940 + # source://yarp//lib/yarp/node.rb#8930 def ParenthesesNode(body, opening_loc, closing_loc, location = T.unsafe(nil)); end # Create a new PinnedExpressionNode node # - # source://yarp//lib/yarp/node.rb#8945 + # source://yarp//lib/yarp/node.rb#8935 def PinnedExpressionNode(expression, operator_loc, lparen_loc, rparen_loc, location = T.unsafe(nil)); end # Create a new PinnedVariableNode node # - # source://yarp//lib/yarp/node.rb#8950 + # source://yarp//lib/yarp/node.rb#8940 def PinnedVariableNode(variable, operator_loc, location = T.unsafe(nil)); end # Create a new PostExecutionNode node # - # source://yarp//lib/yarp/node.rb#8955 + # source://yarp//lib/yarp/node.rb#8945 def PostExecutionNode(statements, keyword_loc, opening_loc, closing_loc, location = T.unsafe(nil)); end # Create a new PreExecutionNode node # - # source://yarp//lib/yarp/node.rb#8960 + # source://yarp//lib/yarp/node.rb#8950 def PreExecutionNode(statements, keyword_loc, opening_loc, closing_loc, location = T.unsafe(nil)); end # Create a new ProgramNode node # - # source://yarp//lib/yarp/node.rb#8965 + # source://yarp//lib/yarp/node.rb#8955 def ProgramNode(locals, statements, location = T.unsafe(nil)); end # Create a new RangeNode node # - # source://yarp//lib/yarp/node.rb#8970 + # source://yarp//lib/yarp/node.rb#8960 def RangeNode(left, right, operator_loc, flags, location = T.unsafe(nil)); end # Create a new RationalNode node # - # source://yarp//lib/yarp/node.rb#8975 + # source://yarp//lib/yarp/node.rb#8965 def RationalNode(numeric, location = T.unsafe(nil)); end # Create a new RedoNode node # - # source://yarp//lib/yarp/node.rb#8980 + # source://yarp//lib/yarp/node.rb#8970 def RedoNode(location = T.unsafe(nil)); end # Create a new RegularExpressionNode node # - # source://yarp//lib/yarp/node.rb#8985 + # source://yarp//lib/yarp/node.rb#8975 def RegularExpressionNode(opening_loc, content_loc, closing_loc, unescaped, flags, location = T.unsafe(nil)); end # Create a new RequiredDestructuredParameterNode node # - # source://yarp//lib/yarp/node.rb#8990 + # source://yarp//lib/yarp/node.rb#8980 def RequiredDestructuredParameterNode(parameters, opening_loc, closing_loc, location = T.unsafe(nil)); end # Create a new RequiredParameterNode node # - # source://yarp//lib/yarp/node.rb#8995 - def RequiredParameterNode(constant_id, location = T.unsafe(nil)); end + # source://yarp//lib/yarp/node.rb#8985 + def RequiredParameterNode(name, location = T.unsafe(nil)); end # Create a new RescueModifierNode node # - # source://yarp//lib/yarp/node.rb#9000 + # source://yarp//lib/yarp/node.rb#8990 def RescueModifierNode(expression, keyword_loc, rescue_expression, location = T.unsafe(nil)); end # Create a new RescueNode node # - # source://yarp//lib/yarp/node.rb#9005 + # source://yarp//lib/yarp/node.rb#8995 def RescueNode(keyword_loc, exceptions, operator_loc, reference, statements, consequent, location = T.unsafe(nil)); end # Create a new RestParameterNode node # - # source://yarp//lib/yarp/node.rb#9010 + # source://yarp//lib/yarp/node.rb#9000 def RestParameterNode(operator_loc, name_loc, location = T.unsafe(nil)); end # Create a new RetryNode node # - # source://yarp//lib/yarp/node.rb#9015 + # source://yarp//lib/yarp/node.rb#9005 def RetryNode(location = T.unsafe(nil)); end # Create a new ReturnNode node # - # source://yarp//lib/yarp/node.rb#9020 + # source://yarp//lib/yarp/node.rb#9010 def ReturnNode(keyword_loc, arguments, location = T.unsafe(nil)); end # Create a new SelfNode node # - # source://yarp//lib/yarp/node.rb#9025 + # source://yarp//lib/yarp/node.rb#9015 def SelfNode(location = T.unsafe(nil)); end # Create a new SingletonClassNode node # - # source://yarp//lib/yarp/node.rb#9030 + # source://yarp//lib/yarp/node.rb#9020 def SingletonClassNode(locals, class_keyword_loc, operator_loc, expression, body, end_keyword_loc, location = T.unsafe(nil)); end # Create a new SourceEncodingNode node # - # source://yarp//lib/yarp/node.rb#9035 + # source://yarp//lib/yarp/node.rb#9025 def SourceEncodingNode(location = T.unsafe(nil)); end # Create a new SourceFileNode node # - # source://yarp//lib/yarp/node.rb#9040 + # source://yarp//lib/yarp/node.rb#9030 def SourceFileNode(filepath, location = T.unsafe(nil)); end # Create a new SourceLineNode node # - # source://yarp//lib/yarp/node.rb#9045 + # source://yarp//lib/yarp/node.rb#9035 def SourceLineNode(location = T.unsafe(nil)); end # Create a new SplatNode node # - # source://yarp//lib/yarp/node.rb#9050 + # source://yarp//lib/yarp/node.rb#9040 def SplatNode(operator_loc, expression, location = T.unsafe(nil)); end # Create a new StatementsNode node # - # source://yarp//lib/yarp/node.rb#9055 + # source://yarp//lib/yarp/node.rb#9045 def StatementsNode(body, location = T.unsafe(nil)); end # Create a new StringConcatNode node # - # source://yarp//lib/yarp/node.rb#9060 + # source://yarp//lib/yarp/node.rb#9050 def StringConcatNode(left, right, location = T.unsafe(nil)); end # Create a new StringNode node # - # source://yarp//lib/yarp/node.rb#9065 + # source://yarp//lib/yarp/node.rb#9055 def StringNode(opening_loc, content_loc, closing_loc, unescaped, location = T.unsafe(nil)); end # Create a new SuperNode node # - # source://yarp//lib/yarp/node.rb#9070 + # source://yarp//lib/yarp/node.rb#9060 def SuperNode(keyword_loc, lparen_loc, arguments, rparen_loc, block, location = T.unsafe(nil)); end # Create a new SymbolNode node # - # source://yarp//lib/yarp/node.rb#9075 + # source://yarp//lib/yarp/node.rb#9065 def SymbolNode(opening_loc, value_loc, closing_loc, unescaped, location = T.unsafe(nil)); end # Create a new TrueNode node # - # source://yarp//lib/yarp/node.rb#9080 + # source://yarp//lib/yarp/node.rb#9070 def TrueNode(location = T.unsafe(nil)); end # Create a new UndefNode node # - # source://yarp//lib/yarp/node.rb#9085 + # source://yarp//lib/yarp/node.rb#9075 def UndefNode(names, keyword_loc, location = T.unsafe(nil)); end # Create a new UnlessNode node # - # source://yarp//lib/yarp/node.rb#9090 + # source://yarp//lib/yarp/node.rb#9080 def UnlessNode(keyword_loc, predicate, statements, consequent, end_keyword_loc, location = T.unsafe(nil)); end # Create a new UntilNode node # - # source://yarp//lib/yarp/node.rb#9095 + # source://yarp//lib/yarp/node.rb#9085 def UntilNode(keyword_loc, closing_loc, predicate, statements, flags, location = T.unsafe(nil)); end # Create a new WhenNode node # - # source://yarp//lib/yarp/node.rb#9100 + # source://yarp//lib/yarp/node.rb#9090 def WhenNode(keyword_loc, conditions, statements, location = T.unsafe(nil)); end # Create a new WhileNode node # - # source://yarp//lib/yarp/node.rb#9105 + # source://yarp//lib/yarp/node.rb#9095 def WhileNode(keyword_loc, closing_loc, predicate, statements, flags, location = T.unsafe(nil)); end # Create a new XStringNode node # - # source://yarp//lib/yarp/node.rb#9110 + # source://yarp//lib/yarp/node.rb#9100 def XStringNode(opening_loc, content_loc, closing_loc, unescaped, location = T.unsafe(nil)); end # Create a new YieldNode node # - # source://yarp//lib/yarp/node.rb#9115 + # source://yarp//lib/yarp/node.rb#9105 def YieldNode(keyword_loc, lparen_loc, arguments, rparen_loc, location = T.unsafe(nil)); end end @@ -3442,129 +3447,129 @@ end # end # ^^^^^^^^^^ # -# source://yarp//lib/yarp/node.rb#2392 +# source://yarp//lib/yarp/node.rb#2396 class YARP::DefNode < ::YARP::Node # def initialize: (name_loc: Location, receiver: Node?, parameters: ParametersNode?, body: Node?, locals: Array[Symbol], def_keyword_loc: Location, operator_loc: Location?, lparen_loc: Location?, rparen_loc: Location?, equal_loc: Location?, end_keyword_loc: Location?, location: Location) -> void # # @return [DefNode] a new instance of DefNode # - # source://yarp//lib/yarp/node.rb#2426 + # source://yarp//lib/yarp/node.rb#2431 def initialize(name_loc, receiver, parameters, body, locals, def_keyword_loc, operator_loc, lparen_loc, rparen_loc, equal_loc, end_keyword_loc, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#2442 + # source://yarp//lib/yarp/node.rb#2447 def accept(visitor); end # attr_reader body: Node? # - # source://yarp//lib/yarp/node.rb#2402 + # source://yarp//lib/yarp/node.rb#2407 def body; end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#2447 + # source://yarp//lib/yarp/node.rb#2452 def child_nodes; end # def copy: (**params) -> DefNode # - # source://yarp//lib/yarp/node.rb#2452 + # source://yarp//lib/yarp/node.rb#2457 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#2447 + # source://yarp//lib/yarp/node.rb#2452 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#2473 + # source://yarp//lib/yarp/node.rb#2478 def deconstruct_keys(keys); end # def def_keyword: () -> String # - # source://yarp//lib/yarp/node.rb#2483 + # source://yarp//lib/yarp/node.rb#2488 def def_keyword; end # attr_reader def_keyword_loc: Location # - # source://yarp//lib/yarp/node.rb#2408 + # source://yarp//lib/yarp/node.rb#2413 def def_keyword_loc; end # def end_keyword: () -> String? # - # source://yarp//lib/yarp/node.rb#2508 + # source://yarp//lib/yarp/node.rb#2513 def end_keyword; end # attr_reader end_keyword_loc: Location? # - # source://yarp//lib/yarp/node.rb#2423 + # source://yarp//lib/yarp/node.rb#2428 def end_keyword_loc; end # def equal: () -> String? # - # source://yarp//lib/yarp/node.rb#2503 + # source://yarp//lib/yarp/node.rb#2508 def equal; end # attr_reader equal_loc: Location? # - # source://yarp//lib/yarp/node.rb#2420 + # source://yarp//lib/yarp/node.rb#2425 def equal_loc; end # attr_reader locals: Array[Symbol] # - # source://yarp//lib/yarp/node.rb#2405 + # source://yarp//lib/yarp/node.rb#2410 def locals; end # def lparen: () -> String? # - # source://yarp//lib/yarp/node.rb#2493 + # source://yarp//lib/yarp/node.rb#2498 def lparen; end # attr_reader lparen_loc: Location? # - # source://yarp//lib/yarp/node.rb#2414 + # source://yarp//lib/yarp/node.rb#2419 def lparen_loc; end # def name: () -> String # - # source://yarp//lib/yarp/node.rb#2478 + # source://yarp//lib/yarp/node.rb#2483 def name; end # attr_reader name_loc: Location # - # source://yarp//lib/yarp/node.rb#2393 + # source://yarp//lib/yarp/node.rb#2398 def name_loc; end # def operator: () -> String? # - # source://yarp//lib/yarp/node.rb#2488 + # source://yarp//lib/yarp/node.rb#2493 def operator; end # attr_reader operator_loc: Location? # - # source://yarp//lib/yarp/node.rb#2411 + # source://yarp//lib/yarp/node.rb#2416 def operator_loc; end # attr_reader parameters: ParametersNode? # - # source://yarp//lib/yarp/node.rb#2399 + # source://yarp//lib/yarp/node.rb#2404 def parameters; end # attr_reader receiver: Node? # - # source://yarp//lib/yarp/node.rb#2396 + # source://yarp//lib/yarp/node.rb#2401 def receiver; end # def rparen: () -> String? # - # source://yarp//lib/yarp/node.rb#2498 + # source://yarp//lib/yarp/node.rb#2503 def rparen; end # attr_reader rparen_loc: Location? # - # source://yarp//lib/yarp/node.rb#2417 + # source://yarp//lib/yarp/node.rb#2422 def rparen_loc; end end @@ -3573,78 +3578,78 @@ end # defined?(a) # ^^^^^^^^^^^ # -# source://yarp//lib/yarp/node.rb#2518 +# source://yarp//lib/yarp/node.rb#2522 class YARP::DefinedNode < ::YARP::Node # def initialize: (lparen_loc: Location?, value: Node, rparen_loc: Location?, keyword_loc: Location, location: Location) -> void # # @return [DefinedNode] a new instance of DefinedNode # - # source://yarp//lib/yarp/node.rb#2531 + # source://yarp//lib/yarp/node.rb#2536 def initialize(lparen_loc, value, rparen_loc, keyword_loc, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#2540 + # source://yarp//lib/yarp/node.rb#2545 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#2545 + # source://yarp//lib/yarp/node.rb#2550 def child_nodes; end # def copy: (**params) -> DefinedNode # - # source://yarp//lib/yarp/node.rb#2550 + # source://yarp//lib/yarp/node.rb#2555 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#2545 + # source://yarp//lib/yarp/node.rb#2550 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#2564 + # source://yarp//lib/yarp/node.rb#2569 def deconstruct_keys(keys); end # def keyword: () -> String # - # source://yarp//lib/yarp/node.rb#2579 + # source://yarp//lib/yarp/node.rb#2584 def keyword; end # attr_reader keyword_loc: Location # - # source://yarp//lib/yarp/node.rb#2528 + # source://yarp//lib/yarp/node.rb#2533 def keyword_loc; end # def lparen: () -> String? # - # source://yarp//lib/yarp/node.rb#2569 + # source://yarp//lib/yarp/node.rb#2574 def lparen; end # attr_reader lparen_loc: Location? # - # source://yarp//lib/yarp/node.rb#2519 + # source://yarp//lib/yarp/node.rb#2524 def lparen_loc; end # def rparen: () -> String? # - # source://yarp//lib/yarp/node.rb#2574 + # source://yarp//lib/yarp/node.rb#2579 def rparen; end # attr_reader rparen_loc: Location? # - # source://yarp//lib/yarp/node.rb#2525 + # source://yarp//lib/yarp/node.rb#2530 def rparen_loc; end # attr_reader value: Node # - # source://yarp//lib/yarp/node.rb#2522 + # source://yarp//lib/yarp/node.rb#2527 def value; end end -# source://yarp//lib/yarp/desugar_visitor.rb#9 +# source://yarp//lib/yarp/desugar_visitor.rb#4 class YARP::DesugarVisitor < ::YARP::MutationVisitor # @@foo &&= bar # @@ -3661,16 +3666,16 @@ class YARP::DesugarVisitor < ::YARP::MutationVisitor # # @@foo = @@foo + bar # - # source://yarp//lib/yarp/desugar_visitor.rb#38 + # source://yarp//lib/yarp/desugar_visitor.rb#28 def visit_class_variable_operator_write_node(node); end # @@foo ||= bar # # becomes # - # @@foo || @@foo = bar + # defined?(@@foo) ? @@foo : @@foo = bar # - # source://yarp//lib/yarp/desugar_visitor.rb#24 + # source://yarp//lib/yarp/desugar_visitor.rb#19 def visit_class_variable_or_write_node(node); end # Foo &&= bar @@ -3679,7 +3684,7 @@ class YARP::DesugarVisitor < ::YARP::MutationVisitor # # Foo && Foo = bar # - # source://yarp//lib/yarp/desugar_visitor.rb#47 + # source://yarp//lib/yarp/desugar_visitor.rb#37 def visit_constant_and_write_node(node); end # Foo += bar @@ -3688,52 +3693,25 @@ class YARP::DesugarVisitor < ::YARP::MutationVisitor # # Foo = Foo + bar # - # source://yarp//lib/yarp/desugar_visitor.rb#75 + # source://yarp//lib/yarp/desugar_visitor.rb#55 def visit_constant_operator_write_node(node); end # Foo ||= bar # # becomes # - # Foo || Foo = bar + # defined?(Foo) ? Foo : Foo = bar # - # source://yarp//lib/yarp/desugar_visitor.rb#61 + # source://yarp//lib/yarp/desugar_visitor.rb#46 def visit_constant_or_write_node(node); end - # Foo::Bar &&= baz - # - # becomes - # - # Foo::Bar && Foo::Bar = baz - # - # source://yarp//lib/yarp/desugar_visitor.rb#84 - def visit_constant_path_and_write_node(node); end - - # Foo::Bar += baz - # - # becomes - # - # Foo::Bar = Foo::Bar + baz - # - # source://yarp//lib/yarp/desugar_visitor.rb#112 - def visit_constant_path_operator_write_node(node); end - - # Foo::Bar ||= baz - # - # becomes - # - # Foo::Bar || Foo::Bar = baz - # - # source://yarp//lib/yarp/desugar_visitor.rb#98 - def visit_constant_path_or_write_node(node); end - # $foo &&= bar # # becomes # # $foo && $foo = bar # - # source://yarp//lib/yarp/desugar_visitor.rb#137 + # source://yarp//lib/yarp/desugar_visitor.rb#64 def visit_global_variable_and_write_node(node); end # $foo += bar @@ -3742,31 +3720,31 @@ class YARP::DesugarVisitor < ::YARP::MutationVisitor # # $foo = $foo + bar # - # source://yarp//lib/yarp/desugar_visitor.rb#165 + # source://yarp//lib/yarp/desugar_visitor.rb#82 def visit_global_variable_operator_write_node(node); end # $foo ||= bar # # becomes # - # $foo || $foo = bar + # defined?($foo) ? $foo : $foo = bar # - # source://yarp//lib/yarp/desugar_visitor.rb#151 + # source://yarp//lib/yarp/desugar_visitor.rb#73 def visit_global_variable_or_write_node(node); end # becomes # - # source://yarp//lib/yarp/desugar_visitor.rb#174 + # source://yarp//lib/yarp/desugar_visitor.rb#91 def visit_instance_variable_and_write_node(node); end # becomes # - # source://yarp//lib/yarp/desugar_visitor.rb#202 + # source://yarp//lib/yarp/desugar_visitor.rb#109 def visit_instance_variable_operator_write_node(node); end # becomes # - # source://yarp//lib/yarp/desugar_visitor.rb#188 + # source://yarp//lib/yarp/desugar_visitor.rb#100 def visit_instance_variable_or_write_node(node); end # foo &&= bar @@ -3775,7 +3753,7 @@ class YARP::DesugarVisitor < ::YARP::MutationVisitor # # foo && foo = bar # - # source://yarp//lib/yarp/desugar_visitor.rb#211 + # source://yarp//lib/yarp/desugar_visitor.rb#118 def visit_local_variable_and_write_node(node); end # foo += bar @@ -3784,7 +3762,7 @@ class YARP::DesugarVisitor < ::YARP::MutationVisitor # # foo = foo + bar # - # source://yarp//lib/yarp/desugar_visitor.rb#239 + # source://yarp//lib/yarp/desugar_visitor.rb#136 def visit_local_variable_operator_write_node(node); end # foo ||= bar @@ -3793,15 +3771,30 @@ class YARP::DesugarVisitor < ::YARP::MutationVisitor # # foo || foo = bar # - # source://yarp//lib/yarp/desugar_visitor.rb#225 + # source://yarp//lib/yarp/desugar_visitor.rb#127 def visit_local_variable_or_write_node(node); end private + # Desugar `x &&= y` to `x && x = y` + # + # source://yarp//lib/yarp/desugar_visitor.rb#143 + def desugar_and_write_node(node, read_class, write_class, arguments: T.unsafe(nil)); end + # Desugar `x += y` to `x = x + y` # - # source://yarp//lib/yarp/desugar_visitor.rb#246 - def desugar_operator_write_node(node, write_class, read_class, arguments: T.unsafe(nil)); end + # source://yarp//lib/yarp/desugar_visitor.rb#153 + def desugar_operator_write_node(node, read_class, write_class, arguments: T.unsafe(nil)); end + + # Desugar `x ||= y` to `defined?(x) ? x : x = y` + # + # source://yarp//lib/yarp/desugar_visitor.rb#185 + def desugar_or_write_defined_node(node, read_class, write_class, arguments: T.unsafe(nil)); end + + # Desugar `x ||= y` to `x || x = y` + # + # source://yarp//lib/yarp/desugar_visitor.rb#175 + def desugar_or_write_node(node, read_class, write_class, arguments: T.unsafe(nil)); end end # Represents an `else` clause in a `case`, `if`, or `unless` statement. @@ -3809,64 +3802,64 @@ end # if a then b else c end # ^^^^^^^^^^ # -# source://yarp//lib/yarp/node.rb#2589 +# source://yarp//lib/yarp/node.rb#2593 class YARP::ElseNode < ::YARP::Node # def initialize: (else_keyword_loc: Location, statements: StatementsNode?, end_keyword_loc: Location?, location: Location) -> void # # @return [ElseNode] a new instance of ElseNode # - # source://yarp//lib/yarp/node.rb#2599 + # source://yarp//lib/yarp/node.rb#2604 def initialize(else_keyword_loc, statements, end_keyword_loc, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#2607 + # source://yarp//lib/yarp/node.rb#2612 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#2612 + # source://yarp//lib/yarp/node.rb#2617 def child_nodes; end # def copy: (**params) -> ElseNode # - # source://yarp//lib/yarp/node.rb#2617 + # source://yarp//lib/yarp/node.rb#2622 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#2612 + # source://yarp//lib/yarp/node.rb#2617 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#2630 + # source://yarp//lib/yarp/node.rb#2635 def deconstruct_keys(keys); end # def else_keyword: () -> String # - # source://yarp//lib/yarp/node.rb#2635 + # source://yarp//lib/yarp/node.rb#2640 def else_keyword; end # attr_reader else_keyword_loc: Location # - # source://yarp//lib/yarp/node.rb#2590 + # source://yarp//lib/yarp/node.rb#2595 def else_keyword_loc; end # def end_keyword: () -> String? # - # source://yarp//lib/yarp/node.rb#2640 + # source://yarp//lib/yarp/node.rb#2645 def end_keyword; end # attr_reader end_keyword_loc: Location? # - # source://yarp//lib/yarp/node.rb#2596 + # source://yarp//lib/yarp/node.rb#2601 def end_keyword_loc; end # attr_reader statements: StatementsNode? # - # source://yarp//lib/yarp/node.rb#2593 + # source://yarp//lib/yarp/node.rb#2598 def statements; end end @@ -3875,64 +3868,64 @@ end # "foo #{bar}" # ^^^^^^ # -# source://yarp//lib/yarp/node.rb#2650 +# source://yarp//lib/yarp/node.rb#2654 class YARP::EmbeddedStatementsNode < ::YARP::Node # def initialize: (opening_loc: Location, statements: StatementsNode?, closing_loc: Location, location: Location) -> void # # @return [EmbeddedStatementsNode] a new instance of EmbeddedStatementsNode # - # source://yarp//lib/yarp/node.rb#2660 + # source://yarp//lib/yarp/node.rb#2665 def initialize(opening_loc, statements, closing_loc, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#2668 + # source://yarp//lib/yarp/node.rb#2673 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#2673 + # source://yarp//lib/yarp/node.rb#2678 def child_nodes; end # def closing: () -> String # - # source://yarp//lib/yarp/node.rb#2701 + # source://yarp//lib/yarp/node.rb#2706 def closing; end # attr_reader closing_loc: Location # - # source://yarp//lib/yarp/node.rb#2657 + # source://yarp//lib/yarp/node.rb#2662 def closing_loc; end # def copy: (**params) -> EmbeddedStatementsNode # - # source://yarp//lib/yarp/node.rb#2678 + # source://yarp//lib/yarp/node.rb#2683 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#2673 + # source://yarp//lib/yarp/node.rb#2678 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#2691 + # source://yarp//lib/yarp/node.rb#2696 def deconstruct_keys(keys); end # def opening: () -> String # - # source://yarp//lib/yarp/node.rb#2696 + # source://yarp//lib/yarp/node.rb#2701 def opening; end # attr_reader opening_loc: Location # - # source://yarp//lib/yarp/node.rb#2651 + # source://yarp//lib/yarp/node.rb#2656 def opening_loc; end # attr_reader statements: StatementsNode? # - # source://yarp//lib/yarp/node.rb#2654 + # source://yarp//lib/yarp/node.rb#2659 def statements; end end @@ -3941,54 +3934,54 @@ end # "foo #@bar" # ^^^^^ # -# source://yarp//lib/yarp/node.rb#2711 +# source://yarp//lib/yarp/node.rb#2715 class YARP::EmbeddedVariableNode < ::YARP::Node # def initialize: (operator_loc: Location, variable: Node, location: Location) -> void # # @return [EmbeddedVariableNode] a new instance of EmbeddedVariableNode # - # source://yarp//lib/yarp/node.rb#2718 + # source://yarp//lib/yarp/node.rb#2723 def initialize(operator_loc, variable, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#2725 + # source://yarp//lib/yarp/node.rb#2730 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#2730 + # source://yarp//lib/yarp/node.rb#2735 def child_nodes; end # def copy: (**params) -> EmbeddedVariableNode # - # source://yarp//lib/yarp/node.rb#2735 + # source://yarp//lib/yarp/node.rb#2740 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#2730 + # source://yarp//lib/yarp/node.rb#2735 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#2747 + # source://yarp//lib/yarp/node.rb#2752 def deconstruct_keys(keys); end # def operator: () -> String # - # source://yarp//lib/yarp/node.rb#2752 + # source://yarp//lib/yarp/node.rb#2757 def operator; end # attr_reader operator_loc: Location # - # source://yarp//lib/yarp/node.rb#2712 + # source://yarp//lib/yarp/node.rb#2717 def operator_loc; end # attr_reader variable: Node # - # source://yarp//lib/yarp/node.rb#2715 + # source://yarp//lib/yarp/node.rb#2720 def variable; end end @@ -4001,64 +3994,64 @@ end # bar # end # -# source://yarp//lib/yarp/node.rb#2766 +# source://yarp//lib/yarp/node.rb#2770 class YARP::EnsureNode < ::YARP::Node # def initialize: (ensure_keyword_loc: Location, statements: StatementsNode?, end_keyword_loc: Location, location: Location) -> void # # @return [EnsureNode] a new instance of EnsureNode # - # source://yarp//lib/yarp/node.rb#2776 + # source://yarp//lib/yarp/node.rb#2781 def initialize(ensure_keyword_loc, statements, end_keyword_loc, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#2784 + # source://yarp//lib/yarp/node.rb#2789 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#2789 + # source://yarp//lib/yarp/node.rb#2794 def child_nodes; end # def copy: (**params) -> EnsureNode # - # source://yarp//lib/yarp/node.rb#2794 + # source://yarp//lib/yarp/node.rb#2799 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#2789 + # source://yarp//lib/yarp/node.rb#2794 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#2807 + # source://yarp//lib/yarp/node.rb#2812 def deconstruct_keys(keys); end # def end_keyword: () -> String # - # source://yarp//lib/yarp/node.rb#2817 + # source://yarp//lib/yarp/node.rb#2822 def end_keyword; end # attr_reader end_keyword_loc: Location # - # source://yarp//lib/yarp/node.rb#2773 + # source://yarp//lib/yarp/node.rb#2778 def end_keyword_loc; end # def ensure_keyword: () -> String # - # source://yarp//lib/yarp/node.rb#2812 + # source://yarp//lib/yarp/node.rb#2817 def ensure_keyword; end # attr_reader ensure_keyword_loc: Location # - # source://yarp//lib/yarp/node.rb#2767 + # source://yarp//lib/yarp/node.rb#2772 def ensure_keyword_loc; end # attr_reader statements: StatementsNode? # - # source://yarp//lib/yarp/node.rb#2770 + # source://yarp//lib/yarp/node.rb#2775 def statements; end end @@ -4067,39 +4060,39 @@ end # false # ^^^^^ # -# source://yarp//lib/yarp/node.rb#2827 +# source://yarp//lib/yarp/node.rb#2831 class YARP::FalseNode < ::YARP::Node # def initialize: (location: Location) -> void # # @return [FalseNode] a new instance of FalseNode # - # source://yarp//lib/yarp/node.rb#2828 + # source://yarp//lib/yarp/node.rb#2833 def initialize(location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#2833 + # source://yarp//lib/yarp/node.rb#2838 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#2838 + # source://yarp//lib/yarp/node.rb#2843 def child_nodes; end # def copy: (**params) -> FalseNode # - # source://yarp//lib/yarp/node.rb#2843 + # source://yarp//lib/yarp/node.rb#2848 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#2838 + # source://yarp//lib/yarp/node.rb#2843 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#2853 + # source://yarp//lib/yarp/node.rb#2858 def deconstruct_keys(keys); end end @@ -4114,79 +4107,79 @@ end # foo in Foo(*bar, baz, *qux) # ^^^^^^^^^^^^^^^^^^^^^^^^^^^ # -# source://yarp//lib/yarp/node.rb#2869 +# source://yarp//lib/yarp/node.rb#2873 class YARP::FindPatternNode < ::YARP::Node # def initialize: (constant: Node?, left: Node, requireds: Array[Node], right: Node, opening_loc: Location?, closing_loc: Location?, location: Location) -> void # # @return [FindPatternNode] a new instance of FindPatternNode # - # source://yarp//lib/yarp/node.rb#2888 + # source://yarp//lib/yarp/node.rb#2893 def initialize(constant, left, requireds, right, opening_loc, closing_loc, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#2899 + # source://yarp//lib/yarp/node.rb#2904 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#2904 + # source://yarp//lib/yarp/node.rb#2909 def child_nodes; end # def closing: () -> String? # - # source://yarp//lib/yarp/node.rb#2935 + # source://yarp//lib/yarp/node.rb#2940 def closing; end # attr_reader closing_loc: Location? # - # source://yarp//lib/yarp/node.rb#2885 + # source://yarp//lib/yarp/node.rb#2890 def closing_loc; end # attr_reader constant: Node? # - # source://yarp//lib/yarp/node.rb#2870 + # source://yarp//lib/yarp/node.rb#2875 def constant; end # def copy: (**params) -> FindPatternNode # - # source://yarp//lib/yarp/node.rb#2909 + # source://yarp//lib/yarp/node.rb#2914 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#2904 + # source://yarp//lib/yarp/node.rb#2909 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#2925 + # source://yarp//lib/yarp/node.rb#2930 def deconstruct_keys(keys); end # attr_reader left: Node # - # source://yarp//lib/yarp/node.rb#2873 + # source://yarp//lib/yarp/node.rb#2878 def left; end # def opening: () -> String? # - # source://yarp//lib/yarp/node.rb#2930 + # source://yarp//lib/yarp/node.rb#2935 def opening; end # attr_reader opening_loc: Location? # - # source://yarp//lib/yarp/node.rb#2882 + # source://yarp//lib/yarp/node.rb#2887 def opening_loc; end # attr_reader requireds: Array[Node] # - # source://yarp//lib/yarp/node.rb#2876 + # source://yarp//lib/yarp/node.rb#2881 def requireds; end # attr_reader right: Node # - # source://yarp//lib/yarp/node.rb#2879 + # source://yarp//lib/yarp/node.rb#2884 def right; end end @@ -4195,71 +4188,71 @@ end # baz if foo .. bar # ^^^^^^^^^^ # -# source://yarp//lib/yarp/node.rb#2945 +# source://yarp//lib/yarp/node.rb#2949 class YARP::FlipFlopNode < ::YARP::Node # def initialize: (left: Node?, right: Node?, operator_loc: Location, flags: Integer, location: Location) -> void # # @return [FlipFlopNode] a new instance of FlipFlopNode # - # source://yarp//lib/yarp/node.rb#2958 + # source://yarp//lib/yarp/node.rb#2963 def initialize(left, right, operator_loc, flags, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#2967 + # source://yarp//lib/yarp/node.rb#2972 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#2972 + # source://yarp//lib/yarp/node.rb#2977 def child_nodes; end # def copy: (**params) -> FlipFlopNode # - # source://yarp//lib/yarp/node.rb#2977 + # source://yarp//lib/yarp/node.rb#2982 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#2972 + # source://yarp//lib/yarp/node.rb#2977 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#2991 + # source://yarp//lib/yarp/node.rb#2996 def deconstruct_keys(keys); end # def exclude_end?: () -> bool # # @return [Boolean] # - # source://yarp//lib/yarp/node.rb#3001 + # source://yarp//lib/yarp/node.rb#3006 def exclude_end?; end # attr_reader flags: Integer # - # source://yarp//lib/yarp/node.rb#2955 + # source://yarp//lib/yarp/node.rb#2960 def flags; end # attr_reader left: Node? # - # source://yarp//lib/yarp/node.rb#2946 + # source://yarp//lib/yarp/node.rb#2951 def left; end # def operator: () -> String # - # source://yarp//lib/yarp/node.rb#2996 + # source://yarp//lib/yarp/node.rb#3001 def operator; end # attr_reader operator_loc: Location # - # source://yarp//lib/yarp/node.rb#2952 + # source://yarp//lib/yarp/node.rb#2957 def operator_loc; end # attr_reader right: Node? # - # source://yarp//lib/yarp/node.rb#2949 + # source://yarp//lib/yarp/node.rb#2954 def right; end end @@ -4274,33 +4267,33 @@ class YARP::FloatNode < ::YARP::Node # # @return [FloatNode] a new instance of FloatNode # - # source://yarp//lib/yarp/node.rb#3012 + # source://yarp//lib/yarp/node.rb#3017 def initialize(location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#3017 + # source://yarp//lib/yarp/node.rb#3022 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#3022 + # source://yarp//lib/yarp/node.rb#3027 def child_nodes; end # def copy: (**params) -> FloatNode # - # source://yarp//lib/yarp/node.rb#3027 + # source://yarp//lib/yarp/node.rb#3032 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#3022 + # source://yarp//lib/yarp/node.rb#3027 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#3037 + # source://yarp//lib/yarp/node.rb#3042 def deconstruct_keys(keys); end # source://yarp//lib/yarp.rb#337 @@ -4312,94 +4305,94 @@ end # for i in a end # ^^^^^^^^^^^^^^ # -# source://yarp//lib/yarp/node.rb#3047 +# source://yarp//lib/yarp/node.rb#3051 class YARP::ForNode < ::YARP::Node # def initialize: (index: Node, collection: Node, statements: StatementsNode?, for_keyword_loc: Location, in_keyword_loc: Location, do_keyword_loc: Location?, end_keyword_loc: Location, location: Location) -> void # # @return [ForNode] a new instance of ForNode # - # source://yarp//lib/yarp/node.rb#3069 + # source://yarp//lib/yarp/node.rb#3074 def initialize(index, collection, statements, for_keyword_loc, in_keyword_loc, do_keyword_loc, end_keyword_loc, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#3081 + # source://yarp//lib/yarp/node.rb#3086 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#3086 + # source://yarp//lib/yarp/node.rb#3091 def child_nodes; end # attr_reader collection: Node # - # source://yarp//lib/yarp/node.rb#3051 + # source://yarp//lib/yarp/node.rb#3056 def collection; end # def copy: (**params) -> ForNode # - # source://yarp//lib/yarp/node.rb#3091 + # source://yarp//lib/yarp/node.rb#3096 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#3086 + # source://yarp//lib/yarp/node.rb#3091 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#3108 + # source://yarp//lib/yarp/node.rb#3113 def deconstruct_keys(keys); end # def do_keyword: () -> String? # - # source://yarp//lib/yarp/node.rb#3123 + # source://yarp//lib/yarp/node.rb#3128 def do_keyword; end # attr_reader do_keyword_loc: Location? # - # source://yarp//lib/yarp/node.rb#3063 + # source://yarp//lib/yarp/node.rb#3068 def do_keyword_loc; end # def end_keyword: () -> String # - # source://yarp//lib/yarp/node.rb#3128 + # source://yarp//lib/yarp/node.rb#3133 def end_keyword; end # attr_reader end_keyword_loc: Location # - # source://yarp//lib/yarp/node.rb#3066 + # source://yarp//lib/yarp/node.rb#3071 def end_keyword_loc; end # def for_keyword: () -> String # - # source://yarp//lib/yarp/node.rb#3113 + # source://yarp//lib/yarp/node.rb#3118 def for_keyword; end # attr_reader for_keyword_loc: Location # - # source://yarp//lib/yarp/node.rb#3057 + # source://yarp//lib/yarp/node.rb#3062 def for_keyword_loc; end # def in_keyword: () -> String # - # source://yarp//lib/yarp/node.rb#3118 + # source://yarp//lib/yarp/node.rb#3123 def in_keyword; end # attr_reader in_keyword_loc: Location # - # source://yarp//lib/yarp/node.rb#3060 + # source://yarp//lib/yarp/node.rb#3065 def in_keyword_loc; end # attr_reader index: Node # - # source://yarp//lib/yarp/node.rb#3048 + # source://yarp//lib/yarp/node.rb#3053 def index; end # attr_reader statements: StatementsNode? # - # source://yarp//lib/yarp/node.rb#3054 + # source://yarp//lib/yarp/node.rb#3059 def statements; end end @@ -4410,39 +4403,39 @@ end # ^^^^^^^^ # end # -# source://yarp//lib/yarp/node.rb#3140 +# source://yarp//lib/yarp/node.rb#3144 class YARP::ForwardingArgumentsNode < ::YARP::Node # def initialize: (location: Location) -> void # # @return [ForwardingArgumentsNode] a new instance of ForwardingArgumentsNode # - # source://yarp//lib/yarp/node.rb#3141 + # source://yarp//lib/yarp/node.rb#3146 def initialize(location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#3146 + # source://yarp//lib/yarp/node.rb#3151 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#3151 + # source://yarp//lib/yarp/node.rb#3156 def child_nodes; end # def copy: (**params) -> ForwardingArgumentsNode # - # source://yarp//lib/yarp/node.rb#3156 + # source://yarp//lib/yarp/node.rb#3161 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#3151 + # source://yarp//lib/yarp/node.rb#3156 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#3166 + # source://yarp//lib/yarp/node.rb#3171 def deconstruct_keys(keys); end end @@ -4452,39 +4445,39 @@ end # ^^^ # end # -# source://yarp//lib/yarp/node.rb#3177 +# source://yarp//lib/yarp/node.rb#3181 class YARP::ForwardingParameterNode < ::YARP::Node # def initialize: (location: Location) -> void # # @return [ForwardingParameterNode] a new instance of ForwardingParameterNode # - # source://yarp//lib/yarp/node.rb#3178 + # source://yarp//lib/yarp/node.rb#3183 def initialize(location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#3183 + # source://yarp//lib/yarp/node.rb#3188 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#3188 + # source://yarp//lib/yarp/node.rb#3193 def child_nodes; end # def copy: (**params) -> ForwardingParameterNode # - # source://yarp//lib/yarp/node.rb#3193 + # source://yarp//lib/yarp/node.rb#3198 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#3188 + # source://yarp//lib/yarp/node.rb#3193 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#3203 + # source://yarp//lib/yarp/node.rb#3208 def deconstruct_keys(keys); end end @@ -4493,44 +4486,44 @@ end # super # ^^^^^ # -# source://yarp//lib/yarp/node.rb#3213 +# source://yarp//lib/yarp/node.rb#3217 class YARP::ForwardingSuperNode < ::YARP::Node # def initialize: (block: BlockNode?, location: Location) -> void # # @return [ForwardingSuperNode] a new instance of ForwardingSuperNode # - # source://yarp//lib/yarp/node.rb#3217 + # source://yarp//lib/yarp/node.rb#3222 def initialize(block, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#3223 + # source://yarp//lib/yarp/node.rb#3228 def accept(visitor); end # attr_reader block: BlockNode? # - # source://yarp//lib/yarp/node.rb#3214 + # source://yarp//lib/yarp/node.rb#3219 def block; end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#3228 + # source://yarp//lib/yarp/node.rb#3233 def child_nodes; end # def copy: (**params) -> ForwardingSuperNode # - # source://yarp//lib/yarp/node.rb#3233 + # source://yarp//lib/yarp/node.rb#3238 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#3228 + # source://yarp//lib/yarp/node.rb#3233 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#3244 + # source://yarp//lib/yarp/node.rb#3249 def deconstruct_keys(keys); end end @@ -4539,64 +4532,64 @@ end # $target &&= value # ^^^^^^^^^^^^^^^^^ # -# source://yarp//lib/yarp/node.rb#3254 +# source://yarp//lib/yarp/node.rb#3258 class YARP::GlobalVariableAndWriteNode < ::YARP::Node # def initialize: (name_loc: Location, operator_loc: Location, value: Node, location: Location) -> void # # @return [GlobalVariableAndWriteNode] a new instance of GlobalVariableAndWriteNode # - # source://yarp//lib/yarp/node.rb#3264 + # source://yarp//lib/yarp/node.rb#3269 def initialize(name_loc, operator_loc, value, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#3272 + # source://yarp//lib/yarp/node.rb#3277 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#3277 + # source://yarp//lib/yarp/node.rb#3282 def child_nodes; end # def copy: (**params) -> GlobalVariableAndWriteNode # - # source://yarp//lib/yarp/node.rb#3282 + # source://yarp//lib/yarp/node.rb#3287 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#3277 + # source://yarp//lib/yarp/node.rb#3282 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#3295 + # source://yarp//lib/yarp/node.rb#3300 def deconstruct_keys(keys); end # def name: () -> String # - # source://yarp//lib/yarp/node.rb#3300 + # source://yarp//lib/yarp/node.rb#3305 def name; end # attr_reader name_loc: Location # - # source://yarp//lib/yarp/node.rb#3255 + # source://yarp//lib/yarp/node.rb#3260 def name_loc; end # def operator: () -> String # - # source://yarp//lib/yarp/node.rb#3305 + # source://yarp//lib/yarp/node.rb#3310 def operator; end # attr_reader operator_loc: Location # - # source://yarp//lib/yarp/node.rb#3258 + # source://yarp//lib/yarp/node.rb#3263 def operator_loc; end # attr_reader value: Node # - # source://yarp//lib/yarp/node.rb#3261 + # source://yarp//lib/yarp/node.rb#3266 def value; end end @@ -4605,64 +4598,64 @@ end # $target += value # ^^^^^^^^^^^^^^^^ # -# source://yarp//lib/yarp/node.rb#3315 +# source://yarp//lib/yarp/node.rb#3319 class YARP::GlobalVariableOperatorWriteNode < ::YARP::Node # def initialize: (name_loc: Location, operator_loc: Location, value: Node, operator: Symbol, location: Location) -> void # # @return [GlobalVariableOperatorWriteNode] a new instance of GlobalVariableOperatorWriteNode # - # source://yarp//lib/yarp/node.rb#3328 + # source://yarp//lib/yarp/node.rb#3333 def initialize(name_loc, operator_loc, value, operator, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#3337 + # source://yarp//lib/yarp/node.rb#3342 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#3342 + # source://yarp//lib/yarp/node.rb#3347 def child_nodes; end # def copy: (**params) -> GlobalVariableOperatorWriteNode # - # source://yarp//lib/yarp/node.rb#3347 + # source://yarp//lib/yarp/node.rb#3352 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#3342 + # source://yarp//lib/yarp/node.rb#3347 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#3361 + # source://yarp//lib/yarp/node.rb#3366 def deconstruct_keys(keys); end # def name: () -> String # - # source://yarp//lib/yarp/node.rb#3366 + # source://yarp//lib/yarp/node.rb#3371 def name; end # attr_reader name_loc: Location # - # source://yarp//lib/yarp/node.rb#3316 + # source://yarp//lib/yarp/node.rb#3321 def name_loc; end # attr_reader operator: Symbol # - # source://yarp//lib/yarp/node.rb#3325 + # source://yarp//lib/yarp/node.rb#3330 def operator; end # attr_reader operator_loc: Location # - # source://yarp//lib/yarp/node.rb#3319 + # source://yarp//lib/yarp/node.rb#3324 def operator_loc; end # attr_reader value: Node # - # source://yarp//lib/yarp/node.rb#3322 + # source://yarp//lib/yarp/node.rb#3327 def value; end end @@ -4671,64 +4664,64 @@ end # $target ||= value # ^^^^^^^^^^^^^^^^^ # -# source://yarp//lib/yarp/node.rb#3376 +# source://yarp//lib/yarp/node.rb#3380 class YARP::GlobalVariableOrWriteNode < ::YARP::Node # def initialize: (name_loc: Location, operator_loc: Location, value: Node, location: Location) -> void # # @return [GlobalVariableOrWriteNode] a new instance of GlobalVariableOrWriteNode # - # source://yarp//lib/yarp/node.rb#3386 + # source://yarp//lib/yarp/node.rb#3391 def initialize(name_loc, operator_loc, value, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#3394 + # source://yarp//lib/yarp/node.rb#3399 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#3399 + # source://yarp//lib/yarp/node.rb#3404 def child_nodes; end # def copy: (**params) -> GlobalVariableOrWriteNode # - # source://yarp//lib/yarp/node.rb#3404 + # source://yarp//lib/yarp/node.rb#3409 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#3399 + # source://yarp//lib/yarp/node.rb#3404 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#3417 + # source://yarp//lib/yarp/node.rb#3422 def deconstruct_keys(keys); end # def name: () -> String # - # source://yarp//lib/yarp/node.rb#3422 + # source://yarp//lib/yarp/node.rb#3427 def name; end # attr_reader name_loc: Location # - # source://yarp//lib/yarp/node.rb#3377 + # source://yarp//lib/yarp/node.rb#3382 def name_loc; end # def operator: () -> String # - # source://yarp//lib/yarp/node.rb#3427 + # source://yarp//lib/yarp/node.rb#3432 def operator; end # attr_reader operator_loc: Location # - # source://yarp//lib/yarp/node.rb#3380 + # source://yarp//lib/yarp/node.rb#3385 def operator_loc; end # attr_reader value: Node # - # source://yarp//lib/yarp/node.rb#3383 + # source://yarp//lib/yarp/node.rb#3388 def value; end end @@ -4737,39 +4730,39 @@ end # $foo # ^^^^ # -# source://yarp//lib/yarp/node.rb#3437 +# source://yarp//lib/yarp/node.rb#3441 class YARP::GlobalVariableReadNode < ::YARP::Node # def initialize: (location: Location) -> void # # @return [GlobalVariableReadNode] a new instance of GlobalVariableReadNode # - # source://yarp//lib/yarp/node.rb#3438 + # source://yarp//lib/yarp/node.rb#3443 def initialize(location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#3443 + # source://yarp//lib/yarp/node.rb#3448 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#3448 + # source://yarp//lib/yarp/node.rb#3453 def child_nodes; end # def copy: (**params) -> GlobalVariableReadNode # - # source://yarp//lib/yarp/node.rb#3453 + # source://yarp//lib/yarp/node.rb#3458 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#3448 + # source://yarp//lib/yarp/node.rb#3453 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#3463 + # source://yarp//lib/yarp/node.rb#3468 def deconstruct_keys(keys); end end @@ -4778,39 +4771,39 @@ end # $foo, $bar = baz # ^^^^ ^^^^ # -# source://yarp//lib/yarp/node.rb#3473 +# source://yarp//lib/yarp/node.rb#3477 class YARP::GlobalVariableTargetNode < ::YARP::Node # def initialize: (location: Location) -> void # # @return [GlobalVariableTargetNode] a new instance of GlobalVariableTargetNode # - # source://yarp//lib/yarp/node.rb#3474 + # source://yarp//lib/yarp/node.rb#3479 def initialize(location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#3479 + # source://yarp//lib/yarp/node.rb#3484 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#3484 + # source://yarp//lib/yarp/node.rb#3489 def child_nodes; end # def copy: (**params) -> GlobalVariableTargetNode # - # source://yarp//lib/yarp/node.rb#3489 + # source://yarp//lib/yarp/node.rb#3494 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#3484 + # source://yarp//lib/yarp/node.rb#3489 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#3499 + # source://yarp//lib/yarp/node.rb#3504 def deconstruct_keys(keys); end end @@ -4819,64 +4812,64 @@ end # $foo = 1 # ^^^^^^^^ # -# source://yarp//lib/yarp/node.rb#3509 +# source://yarp//lib/yarp/node.rb#3513 class YARP::GlobalVariableWriteNode < ::YARP::Node - # def initialize: (name_loc: Location, operator_loc: Location, value: Node, location: Location) -> void + # def initialize: (name_loc: Location, value: Node, operator_loc: Location, location: Location) -> void # # @return [GlobalVariableWriteNode] a new instance of GlobalVariableWriteNode # - # source://yarp//lib/yarp/node.rb#3519 - def initialize(name_loc, operator_loc, value, location); end + # source://yarp//lib/yarp/node.rb#3524 + def initialize(name_loc, value, operator_loc, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#3527 + # source://yarp//lib/yarp/node.rb#3532 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#3532 + # source://yarp//lib/yarp/node.rb#3537 def child_nodes; end # def copy: (**params) -> GlobalVariableWriteNode # - # source://yarp//lib/yarp/node.rb#3537 + # source://yarp//lib/yarp/node.rb#3542 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#3532 + # source://yarp//lib/yarp/node.rb#3537 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#3550 + # source://yarp//lib/yarp/node.rb#3555 def deconstruct_keys(keys); end # def name: () -> String # - # source://yarp//lib/yarp/node.rb#3555 + # source://yarp//lib/yarp/node.rb#3560 def name; end # attr_reader name_loc: Location # - # source://yarp//lib/yarp/node.rb#3510 + # source://yarp//lib/yarp/node.rb#3515 def name_loc; end # def operator: () -> String # - # source://yarp//lib/yarp/node.rb#3560 + # source://yarp//lib/yarp/node.rb#3565 def operator; end # attr_reader operator_loc: Location # - # source://yarp//lib/yarp/node.rb#3513 + # source://yarp//lib/yarp/node.rb#3521 def operator_loc; end # attr_reader value: Node # - # source://yarp//lib/yarp/node.rb#3516 + # source://yarp//lib/yarp/node.rb#3518 def value; end end @@ -4885,64 +4878,64 @@ end # { a => b } # ^^^^^^^^^^ # -# source://yarp//lib/yarp/node.rb#3570 +# source://yarp//lib/yarp/node.rb#3574 class YARP::HashNode < ::YARP::Node # def initialize: (opening_loc: Location, elements: Array[Node], closing_loc: Location, location: Location) -> void # # @return [HashNode] a new instance of HashNode # - # source://yarp//lib/yarp/node.rb#3580 + # source://yarp//lib/yarp/node.rb#3585 def initialize(opening_loc, elements, closing_loc, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#3588 + # source://yarp//lib/yarp/node.rb#3593 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#3593 + # source://yarp//lib/yarp/node.rb#3598 def child_nodes; end # def closing: () -> String # - # source://yarp//lib/yarp/node.rb#3621 + # source://yarp//lib/yarp/node.rb#3626 def closing; end # attr_reader closing_loc: Location # - # source://yarp//lib/yarp/node.rb#3577 + # source://yarp//lib/yarp/node.rb#3582 def closing_loc; end # def copy: (**params) -> HashNode # - # source://yarp//lib/yarp/node.rb#3598 + # source://yarp//lib/yarp/node.rb#3603 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#3593 + # source://yarp//lib/yarp/node.rb#3598 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#3611 + # source://yarp//lib/yarp/node.rb#3616 def deconstruct_keys(keys); end # attr_reader elements: Array[Node] # - # source://yarp//lib/yarp/node.rb#3574 + # source://yarp//lib/yarp/node.rb#3579 def elements; end # def opening: () -> String # - # source://yarp//lib/yarp/node.rb#3616 + # source://yarp//lib/yarp/node.rb#3621 def opening; end # attr_reader opening_loc: Location # - # source://yarp//lib/yarp/node.rb#3571 + # source://yarp//lib/yarp/node.rb#3576 def opening_loc; end end @@ -4954,74 +4947,74 @@ end # foo => { a: 1, b: 2, **c } # ^^^^^^^^^^^^^^^^^^^ # -# source://yarp//lib/yarp/node.rb#3634 +# source://yarp//lib/yarp/node.rb#3638 class YARP::HashPatternNode < ::YARP::Node # def initialize: (constant: Node?, assocs: Array[Node], kwrest: Node?, opening_loc: Location?, closing_loc: Location?, location: Location) -> void # # @return [HashPatternNode] a new instance of HashPatternNode # - # source://yarp//lib/yarp/node.rb#3650 + # source://yarp//lib/yarp/node.rb#3655 def initialize(constant, assocs, kwrest, opening_loc, closing_loc, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#3660 + # source://yarp//lib/yarp/node.rb#3665 def accept(visitor); end # attr_reader assocs: Array[Node] # - # source://yarp//lib/yarp/node.rb#3638 + # source://yarp//lib/yarp/node.rb#3643 def assocs; end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#3665 + # source://yarp//lib/yarp/node.rb#3670 def child_nodes; end # def closing: () -> String? # - # source://yarp//lib/yarp/node.rb#3695 + # source://yarp//lib/yarp/node.rb#3700 def closing; end # attr_reader closing_loc: Location? # - # source://yarp//lib/yarp/node.rb#3647 + # source://yarp//lib/yarp/node.rb#3652 def closing_loc; end # attr_reader constant: Node? # - # source://yarp//lib/yarp/node.rb#3635 + # source://yarp//lib/yarp/node.rb#3640 def constant; end # def copy: (**params) -> HashPatternNode # - # source://yarp//lib/yarp/node.rb#3670 + # source://yarp//lib/yarp/node.rb#3675 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#3665 + # source://yarp//lib/yarp/node.rb#3670 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#3685 + # source://yarp//lib/yarp/node.rb#3690 def deconstruct_keys(keys); end # attr_reader kwrest: Node? # - # source://yarp//lib/yarp/node.rb#3641 + # source://yarp//lib/yarp/node.rb#3646 def kwrest; end # def opening: () -> String? # - # source://yarp//lib/yarp/node.rb#3690 + # source://yarp//lib/yarp/node.rb#3695 def opening; end # attr_reader opening_loc: Location? # - # source://yarp//lib/yarp/node.rb#3644 + # source://yarp//lib/yarp/node.rb#3649 def opening_loc; end end @@ -5033,77 +5026,77 @@ end # if foo then bar end # ^^^^^^^^^^^^^^^^^^^ # -# source://yarp//lib/yarp/node.rb#3708 +# source://yarp//lib/yarp/node.rb#3712 class YARP::IfNode < ::YARP::Node # def initialize: (if_keyword_loc: Location?, predicate: Node, statements: StatementsNode?, consequent: Node?, end_keyword_loc: Location?, location: Location) -> void # # @return [IfNode] a new instance of IfNode # - # source://yarp//lib/yarp/node.rb#3724 + # source://yarp//lib/yarp/node.rb#3729 def initialize(if_keyword_loc, predicate, statements, consequent, end_keyword_loc, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#3734 + # source://yarp//lib/yarp/node.rb#3739 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#3743 + # source://yarp//lib/yarp/node.rb#3748 def child_nodes; end # attr_reader consequent: Node? # - # source://yarp//lib/yarp/node.rb#3718 + # source://yarp//lib/yarp/node.rb#3723 def consequent; end # def copy: (**params) -> IfNode # - # source://yarp//lib/yarp/node.rb#3748 + # source://yarp//lib/yarp/node.rb#3753 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#3743 + # source://yarp//lib/yarp/node.rb#3748 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#3763 + # source://yarp//lib/yarp/node.rb#3768 def deconstruct_keys(keys); end # def end_keyword: () -> String? # - # source://yarp//lib/yarp/node.rb#3773 + # source://yarp//lib/yarp/node.rb#3778 def end_keyword; end # attr_reader end_keyword_loc: Location? # - # source://yarp//lib/yarp/node.rb#3721 + # source://yarp//lib/yarp/node.rb#3726 def end_keyword_loc; end # def if_keyword: () -> String? # - # source://yarp//lib/yarp/node.rb#3768 + # source://yarp//lib/yarp/node.rb#3773 def if_keyword; end # attr_reader if_keyword_loc: Location? # - # source://yarp//lib/yarp/node.rb#3709 + # source://yarp//lib/yarp/node.rb#3714 def if_keyword_loc; end # attr_reader predicate: Node # - # source://yarp//lib/yarp/node.rb#3712 + # source://yarp//lib/yarp/node.rb#3717 def predicate; end - # source://yarp//lib/yarp/node.rb#3738 + # source://yarp//lib/yarp/node.rb#3743 def set_newline_flag(newline_marked); end # attr_reader statements: StatementsNode? # - # source://yarp//lib/yarp/node.rb#3715 + # source://yarp//lib/yarp/node.rb#3720 def statements; end end @@ -5118,38 +5111,38 @@ class YARP::ImaginaryNode < ::YARP::Node # # @return [ImaginaryNode] a new instance of ImaginaryNode # - # source://yarp//lib/yarp/node.rb#3787 + # source://yarp//lib/yarp/node.rb#3792 def initialize(numeric, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#3793 + # source://yarp//lib/yarp/node.rb#3798 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#3798 + # source://yarp//lib/yarp/node.rb#3803 def child_nodes; end # def copy: (**params) -> ImaginaryNode # - # source://yarp//lib/yarp/node.rb#3803 + # source://yarp//lib/yarp/node.rb#3808 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#3798 + # source://yarp//lib/yarp/node.rb#3803 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#3814 + # source://yarp//lib/yarp/node.rb#3819 def deconstruct_keys(keys); end # attr_reader numeric: Node # - # source://yarp//lib/yarp/node.rb#3784 + # source://yarp//lib/yarp/node.rb#3789 def numeric; end # source://yarp//lib/yarp.rb#343 @@ -5161,69 +5154,69 @@ end # case a; in b then c end # ^^^^^^^^^^^ # -# source://yarp//lib/yarp/node.rb#3824 +# source://yarp//lib/yarp/node.rb#3828 class YARP::InNode < ::YARP::Node # def initialize: (pattern: Node, statements: StatementsNode?, in_loc: Location, then_loc: Location?, location: Location) -> void # # @return [InNode] a new instance of InNode # - # source://yarp//lib/yarp/node.rb#3837 + # source://yarp//lib/yarp/node.rb#3842 def initialize(pattern, statements, in_loc, then_loc, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#3846 + # source://yarp//lib/yarp/node.rb#3851 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#3851 + # source://yarp//lib/yarp/node.rb#3856 def child_nodes; end # def copy: (**params) -> InNode # - # source://yarp//lib/yarp/node.rb#3856 + # source://yarp//lib/yarp/node.rb#3861 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#3851 + # source://yarp//lib/yarp/node.rb#3856 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#3870 + # source://yarp//lib/yarp/node.rb#3875 def deconstruct_keys(keys); end # def in: () -> String # - # source://yarp//lib/yarp/node.rb#3875 + # source://yarp//lib/yarp/node.rb#3880 def in; end # attr_reader in_loc: Location # - # source://yarp//lib/yarp/node.rb#3831 + # source://yarp//lib/yarp/node.rb#3836 def in_loc; end # attr_reader pattern: Node # - # source://yarp//lib/yarp/node.rb#3825 + # source://yarp//lib/yarp/node.rb#3830 def pattern; end # attr_reader statements: StatementsNode? # - # source://yarp//lib/yarp/node.rb#3828 + # source://yarp//lib/yarp/node.rb#3833 def statements; end # def then: () -> String? # - # source://yarp//lib/yarp/node.rb#3880 + # source://yarp//lib/yarp/node.rb#3885 def then; end # attr_reader then_loc: Location? # - # source://yarp//lib/yarp/node.rb#3834 + # source://yarp//lib/yarp/node.rb#3839 def then_loc; end end @@ -5232,64 +5225,64 @@ end # @target &&= value # ^^^^^^^^^^^^^^^^^ # -# source://yarp//lib/yarp/node.rb#3890 +# source://yarp//lib/yarp/node.rb#3894 class YARP::InstanceVariableAndWriteNode < ::YARP::Node - # def initialize: (name_loc: Location, operator_loc: Location, value: Node, location: Location) -> void + # def initialize: (name: Symbol, name_loc: Location, operator_loc: Location, value: Node, location: Location) -> void # # @return [InstanceVariableAndWriteNode] a new instance of InstanceVariableAndWriteNode # - # source://yarp//lib/yarp/node.rb#3900 - def initialize(name_loc, operator_loc, value, location); end + # source://yarp//lib/yarp/node.rb#3908 + def initialize(name, name_loc, operator_loc, value, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#3908 + # source://yarp//lib/yarp/node.rb#3917 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#3913 + # source://yarp//lib/yarp/node.rb#3922 def child_nodes; end # def copy: (**params) -> InstanceVariableAndWriteNode # - # source://yarp//lib/yarp/node.rb#3918 + # source://yarp//lib/yarp/node.rb#3927 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#3913 + # source://yarp//lib/yarp/node.rb#3922 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#3931 + # source://yarp//lib/yarp/node.rb#3941 def deconstruct_keys(keys); end - # def name: () -> String + # attr_reader name: Symbol # - # source://yarp//lib/yarp/node.rb#3936 + # source://yarp//lib/yarp/node.rb#3896 def name; end # attr_reader name_loc: Location # - # source://yarp//lib/yarp/node.rb#3891 + # source://yarp//lib/yarp/node.rb#3899 def name_loc; end # def operator: () -> String # - # source://yarp//lib/yarp/node.rb#3941 + # source://yarp//lib/yarp/node.rb#3946 def operator; end # attr_reader operator_loc: Location # - # source://yarp//lib/yarp/node.rb#3894 + # source://yarp//lib/yarp/node.rb#3902 def operator_loc; end # attr_reader value: Node # - # source://yarp//lib/yarp/node.rb#3897 + # source://yarp//lib/yarp/node.rb#3905 def value; end end @@ -5298,64 +5291,64 @@ end # @target += value # ^^^^^^^^^^^^^^^^ # -# source://yarp//lib/yarp/node.rb#3951 +# source://yarp//lib/yarp/node.rb#3955 class YARP::InstanceVariableOperatorWriteNode < ::YARP::Node - # def initialize: (name_loc: Location, operator_loc: Location, value: Node, operator: Symbol, location: Location) -> void + # def initialize: (name: Symbol, name_loc: Location, operator_loc: Location, value: Node, operator: Symbol, location: Location) -> void # # @return [InstanceVariableOperatorWriteNode] a new instance of InstanceVariableOperatorWriteNode # - # source://yarp//lib/yarp/node.rb#3964 - def initialize(name_loc, operator_loc, value, operator, location); end + # source://yarp//lib/yarp/node.rb#3972 + def initialize(name, name_loc, operator_loc, value, operator, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#3973 + # source://yarp//lib/yarp/node.rb#3982 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#3978 + # source://yarp//lib/yarp/node.rb#3987 def child_nodes; end # def copy: (**params) -> InstanceVariableOperatorWriteNode # - # source://yarp//lib/yarp/node.rb#3983 + # source://yarp//lib/yarp/node.rb#3992 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#3978 + # source://yarp//lib/yarp/node.rb#3987 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#3997 + # source://yarp//lib/yarp/node.rb#4007 def deconstruct_keys(keys); end - # def name: () -> String + # attr_reader name: Symbol # - # source://yarp//lib/yarp/node.rb#4002 + # source://yarp//lib/yarp/node.rb#3957 def name; end # attr_reader name_loc: Location # - # source://yarp//lib/yarp/node.rb#3952 + # source://yarp//lib/yarp/node.rb#3960 def name_loc; end # attr_reader operator: Symbol # - # source://yarp//lib/yarp/node.rb#3961 + # source://yarp//lib/yarp/node.rb#3969 def operator; end # attr_reader operator_loc: Location # - # source://yarp//lib/yarp/node.rb#3955 + # source://yarp//lib/yarp/node.rb#3963 def operator_loc; end # attr_reader value: Node # - # source://yarp//lib/yarp/node.rb#3958 + # source://yarp//lib/yarp/node.rb#3966 def value; end end @@ -5364,64 +5357,64 @@ end # @target ||= value # ^^^^^^^^^^^^^^^^^ # -# source://yarp//lib/yarp/node.rb#4012 +# source://yarp//lib/yarp/node.rb#4016 class YARP::InstanceVariableOrWriteNode < ::YARP::Node - # def initialize: (name_loc: Location, operator_loc: Location, value: Node, location: Location) -> void + # def initialize: (name: Symbol, name_loc: Location, operator_loc: Location, value: Node, location: Location) -> void # # @return [InstanceVariableOrWriteNode] a new instance of InstanceVariableOrWriteNode # - # source://yarp//lib/yarp/node.rb#4022 - def initialize(name_loc, operator_loc, value, location); end + # source://yarp//lib/yarp/node.rb#4030 + def initialize(name, name_loc, operator_loc, value, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#4030 + # source://yarp//lib/yarp/node.rb#4039 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#4035 + # source://yarp//lib/yarp/node.rb#4044 def child_nodes; end # def copy: (**params) -> InstanceVariableOrWriteNode # - # source://yarp//lib/yarp/node.rb#4040 + # source://yarp//lib/yarp/node.rb#4049 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#4035 + # source://yarp//lib/yarp/node.rb#4044 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#4053 + # source://yarp//lib/yarp/node.rb#4063 def deconstruct_keys(keys); end - # def name: () -> String + # attr_reader name: Symbol # - # source://yarp//lib/yarp/node.rb#4058 + # source://yarp//lib/yarp/node.rb#4018 def name; end # attr_reader name_loc: Location # - # source://yarp//lib/yarp/node.rb#4013 + # source://yarp//lib/yarp/node.rb#4021 def name_loc; end # def operator: () -> String # - # source://yarp//lib/yarp/node.rb#4063 + # source://yarp//lib/yarp/node.rb#4068 def operator; end # attr_reader operator_loc: Location # - # source://yarp//lib/yarp/node.rb#4016 + # source://yarp//lib/yarp/node.rb#4024 def operator_loc; end # attr_reader value: Node # - # source://yarp//lib/yarp/node.rb#4019 + # source://yarp//lib/yarp/node.rb#4027 def value; end end @@ -5430,40 +5423,45 @@ end # @foo # ^^^^ # -# source://yarp//lib/yarp/node.rb#4073 +# source://yarp//lib/yarp/node.rb#4077 class YARP::InstanceVariableReadNode < ::YARP::Node - # def initialize: (location: Location) -> void + # def initialize: (name: Symbol, location: Location) -> void # # @return [InstanceVariableReadNode] a new instance of InstanceVariableReadNode # - # source://yarp//lib/yarp/node.rb#4074 - def initialize(location); end + # source://yarp//lib/yarp/node.rb#4082 + def initialize(name, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#4079 + # source://yarp//lib/yarp/node.rb#4088 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#4084 + # source://yarp//lib/yarp/node.rb#4093 def child_nodes; end # def copy: (**params) -> InstanceVariableReadNode # - # source://yarp//lib/yarp/node.rb#4089 + # source://yarp//lib/yarp/node.rb#4098 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#4084 + # source://yarp//lib/yarp/node.rb#4093 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#4099 + # source://yarp//lib/yarp/node.rb#4109 def deconstruct_keys(keys); end + + # attr_reader name: Symbol + # + # source://yarp//lib/yarp/node.rb#4079 + def name; end end # Represents writing to an instance variable in a context that doesn't have an explicit value. @@ -5471,40 +5469,45 @@ end # @foo, @bar = baz # ^^^^ ^^^^ # -# source://yarp//lib/yarp/node.rb#4109 +# source://yarp//lib/yarp/node.rb#4118 class YARP::InstanceVariableTargetNode < ::YARP::Node - # def initialize: (location: Location) -> void + # def initialize: (name: Symbol, location: Location) -> void # # @return [InstanceVariableTargetNode] a new instance of InstanceVariableTargetNode # - # source://yarp//lib/yarp/node.rb#4110 - def initialize(location); end + # source://yarp//lib/yarp/node.rb#4123 + def initialize(name, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#4115 + # source://yarp//lib/yarp/node.rb#4129 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#4120 + # source://yarp//lib/yarp/node.rb#4134 def child_nodes; end # def copy: (**params) -> InstanceVariableTargetNode # - # source://yarp//lib/yarp/node.rb#4125 + # source://yarp//lib/yarp/node.rb#4139 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#4120 + # source://yarp//lib/yarp/node.rb#4134 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#4135 + # source://yarp//lib/yarp/node.rb#4150 def deconstruct_keys(keys); end + + # attr_reader name: Symbol + # + # source://yarp//lib/yarp/node.rb#4120 + def name; end end # Represents writing to an instance variable. @@ -5512,64 +5515,64 @@ end # @foo = 1 # ^^^^^^^^ # -# source://yarp//lib/yarp/node.rb#4145 +# source://yarp//lib/yarp/node.rb#4159 class YARP::InstanceVariableWriteNode < ::YARP::Node - # def initialize: (name_loc: Location, value: Node, operator_loc: Location, location: Location) -> void + # def initialize: (name: Symbol, name_loc: Location, value: Node, operator_loc: Location, location: Location) -> void # # @return [InstanceVariableWriteNode] a new instance of InstanceVariableWriteNode # - # source://yarp//lib/yarp/node.rb#4155 - def initialize(name_loc, value, operator_loc, location); end + # source://yarp//lib/yarp/node.rb#4173 + def initialize(name, name_loc, value, operator_loc, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#4163 + # source://yarp//lib/yarp/node.rb#4182 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#4168 + # source://yarp//lib/yarp/node.rb#4187 def child_nodes; end # def copy: (**params) -> InstanceVariableWriteNode # - # source://yarp//lib/yarp/node.rb#4173 + # source://yarp//lib/yarp/node.rb#4192 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#4168 + # source://yarp//lib/yarp/node.rb#4187 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#4186 + # source://yarp//lib/yarp/node.rb#4206 def deconstruct_keys(keys); end - # def name: () -> String + # attr_reader name: Symbol # - # source://yarp//lib/yarp/node.rb#4191 + # source://yarp//lib/yarp/node.rb#4161 def name; end # attr_reader name_loc: Location # - # source://yarp//lib/yarp/node.rb#4146 + # source://yarp//lib/yarp/node.rb#4164 def name_loc; end # def operator: () -> String # - # source://yarp//lib/yarp/node.rb#4196 + # source://yarp//lib/yarp/node.rb#4211 def operator; end # attr_reader operator_loc: Location # - # source://yarp//lib/yarp/node.rb#4152 + # source://yarp//lib/yarp/node.rb#4170 def operator_loc; end # attr_reader value: Node # - # source://yarp//lib/yarp/node.rb#4149 + # source://yarp//lib/yarp/node.rb#4167 def value; end end @@ -5584,33 +5587,33 @@ class YARP::IntegerNode < ::YARP::Node # # @return [IntegerNode] a new instance of IntegerNode # - # source://yarp//lib/yarp/node.rb#4207 + # source://yarp//lib/yarp/node.rb#4222 def initialize(location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#4212 + # source://yarp//lib/yarp/node.rb#4227 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#4217 + # source://yarp//lib/yarp/node.rb#4232 def child_nodes; end # def copy: (**params) -> IntegerNode # - # source://yarp//lib/yarp/node.rb#4222 + # source://yarp//lib/yarp/node.rb#4237 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#4217 + # source://yarp//lib/yarp/node.rb#4232 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#4232 + # source://yarp//lib/yarp/node.rb#4247 def deconstruct_keys(keys); end # source://yarp//lib/yarp.rb#349 @@ -5622,128 +5625,128 @@ end # /foo #{bar} baz/ # ^^^^^^^^^^^^^^^^ # -# source://yarp//lib/yarp/node.rb#4242 +# source://yarp//lib/yarp/node.rb#4256 class YARP::InterpolatedRegularExpressionNode < ::YARP::Node # def initialize: (opening_loc: Location, parts: Array[Node], closing_loc: Location, flags: Integer, location: Location) -> void # # @return [InterpolatedRegularExpressionNode] a new instance of InterpolatedRegularExpressionNode # - # source://yarp//lib/yarp/node.rb#4255 + # source://yarp//lib/yarp/node.rb#4270 def initialize(opening_loc, parts, closing_loc, flags, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#4264 + # source://yarp//lib/yarp/node.rb#4279 def accept(visitor); end # def ascii_8bit?: () -> bool # # @return [Boolean] # - # source://yarp//lib/yarp/node.rb#4328 + # source://yarp//lib/yarp/node.rb#4343 def ascii_8bit?; end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#4274 + # source://yarp//lib/yarp/node.rb#4289 def child_nodes; end # def closing: () -> String # - # source://yarp//lib/yarp/node.rb#4303 + # source://yarp//lib/yarp/node.rb#4318 def closing; end # attr_reader closing_loc: Location # - # source://yarp//lib/yarp/node.rb#4249 + # source://yarp//lib/yarp/node.rb#4264 def closing_loc; end # def copy: (**params) -> InterpolatedRegularExpressionNode # - # source://yarp//lib/yarp/node.rb#4279 + # source://yarp//lib/yarp/node.rb#4294 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#4274 + # source://yarp//lib/yarp/node.rb#4289 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#4293 + # source://yarp//lib/yarp/node.rb#4308 def deconstruct_keys(keys); end # def euc_jp?: () -> bool # # @return [Boolean] # - # source://yarp//lib/yarp/node.rb#4323 + # source://yarp//lib/yarp/node.rb#4338 def euc_jp?; end # def extended?: () -> bool # # @return [Boolean] # - # source://yarp//lib/yarp/node.rb#4318 + # source://yarp//lib/yarp/node.rb#4333 def extended?; end # attr_reader flags: Integer # - # source://yarp//lib/yarp/node.rb#4252 + # source://yarp//lib/yarp/node.rb#4267 def flags; end # def ignore_case?: () -> bool # # @return [Boolean] # - # source://yarp//lib/yarp/node.rb#4308 + # source://yarp//lib/yarp/node.rb#4323 def ignore_case?; end # def multi_line?: () -> bool # # @return [Boolean] # - # source://yarp//lib/yarp/node.rb#4313 + # source://yarp//lib/yarp/node.rb#4328 def multi_line?; end # def once?: () -> bool # # @return [Boolean] # - # source://yarp//lib/yarp/node.rb#4343 + # source://yarp//lib/yarp/node.rb#4358 def once?; end # def opening: () -> String # - # source://yarp//lib/yarp/node.rb#4298 + # source://yarp//lib/yarp/node.rb#4313 def opening; end # attr_reader opening_loc: Location # - # source://yarp//lib/yarp/node.rb#4243 + # source://yarp//lib/yarp/node.rb#4258 def opening_loc; end # attr_reader parts: Array[Node] # - # source://yarp//lib/yarp/node.rb#4246 + # source://yarp//lib/yarp/node.rb#4261 def parts; end - # source://yarp//lib/yarp/node.rb#4268 + # source://yarp//lib/yarp/node.rb#4283 def set_newline_flag(newline_marked); end # def utf_8?: () -> bool # # @return [Boolean] # - # source://yarp//lib/yarp/node.rb#4338 + # source://yarp//lib/yarp/node.rb#4353 def utf_8?; end # def windows_31j?: () -> bool # # @return [Boolean] # - # source://yarp//lib/yarp/node.rb#4333 + # source://yarp//lib/yarp/node.rb#4348 def windows_31j?; end end @@ -5752,67 +5755,67 @@ end # "foo #{bar} baz" # ^^^^^^^^^^^^^^^^ # -# source://yarp//lib/yarp/node.rb#4353 +# source://yarp//lib/yarp/node.rb#4367 class YARP::InterpolatedStringNode < ::YARP::Node # def initialize: (opening_loc: Location?, parts: Array[Node], closing_loc: Location?, location: Location) -> void # # @return [InterpolatedStringNode] a new instance of InterpolatedStringNode # - # source://yarp//lib/yarp/node.rb#4363 + # source://yarp//lib/yarp/node.rb#4378 def initialize(opening_loc, parts, closing_loc, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#4371 + # source://yarp//lib/yarp/node.rb#4386 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#4381 + # source://yarp//lib/yarp/node.rb#4396 def child_nodes; end # def closing: () -> String? # - # source://yarp//lib/yarp/node.rb#4409 + # source://yarp//lib/yarp/node.rb#4424 def closing; end # attr_reader closing_loc: Location? # - # source://yarp//lib/yarp/node.rb#4360 + # source://yarp//lib/yarp/node.rb#4375 def closing_loc; end # def copy: (**params) -> InterpolatedStringNode # - # source://yarp//lib/yarp/node.rb#4386 + # source://yarp//lib/yarp/node.rb#4401 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#4381 + # source://yarp//lib/yarp/node.rb#4396 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#4399 + # source://yarp//lib/yarp/node.rb#4414 def deconstruct_keys(keys); end # def opening: () -> String? # - # source://yarp//lib/yarp/node.rb#4404 + # source://yarp//lib/yarp/node.rb#4419 def opening; end # attr_reader opening_loc: Location? # - # source://yarp//lib/yarp/node.rb#4354 + # source://yarp//lib/yarp/node.rb#4369 def opening_loc; end # attr_reader parts: Array[Node] # - # source://yarp//lib/yarp/node.rb#4357 + # source://yarp//lib/yarp/node.rb#4372 def parts; end - # source://yarp//lib/yarp/node.rb#4375 + # source://yarp//lib/yarp/node.rb#4390 def set_newline_flag(newline_marked); end end @@ -5821,67 +5824,67 @@ end # :"foo #{bar} baz" # ^^^^^^^^^^^^^^^^^ # -# source://yarp//lib/yarp/node.rb#4419 +# source://yarp//lib/yarp/node.rb#4433 class YARP::InterpolatedSymbolNode < ::YARP::Node # def initialize: (opening_loc: Location?, parts: Array[Node], closing_loc: Location?, location: Location) -> void # # @return [InterpolatedSymbolNode] a new instance of InterpolatedSymbolNode # - # source://yarp//lib/yarp/node.rb#4429 + # source://yarp//lib/yarp/node.rb#4444 def initialize(opening_loc, parts, closing_loc, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#4437 + # source://yarp//lib/yarp/node.rb#4452 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#4447 + # source://yarp//lib/yarp/node.rb#4462 def child_nodes; end # def closing: () -> String? # - # source://yarp//lib/yarp/node.rb#4475 + # source://yarp//lib/yarp/node.rb#4490 def closing; end # attr_reader closing_loc: Location? # - # source://yarp//lib/yarp/node.rb#4426 + # source://yarp//lib/yarp/node.rb#4441 def closing_loc; end # def copy: (**params) -> InterpolatedSymbolNode # - # source://yarp//lib/yarp/node.rb#4452 + # source://yarp//lib/yarp/node.rb#4467 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#4447 + # source://yarp//lib/yarp/node.rb#4462 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#4465 + # source://yarp//lib/yarp/node.rb#4480 def deconstruct_keys(keys); end # def opening: () -> String? # - # source://yarp//lib/yarp/node.rb#4470 + # source://yarp//lib/yarp/node.rb#4485 def opening; end # attr_reader opening_loc: Location? # - # source://yarp//lib/yarp/node.rb#4420 + # source://yarp//lib/yarp/node.rb#4435 def opening_loc; end # attr_reader parts: Array[Node] # - # source://yarp//lib/yarp/node.rb#4423 + # source://yarp//lib/yarp/node.rb#4438 def parts; end - # source://yarp//lib/yarp/node.rb#4441 + # source://yarp//lib/yarp/node.rb#4456 def set_newline_flag(newline_marked); end end @@ -5890,67 +5893,67 @@ end # `foo #{bar} baz` # ^^^^^^^^^^^^^^^^ # -# source://yarp//lib/yarp/node.rb#4485 +# source://yarp//lib/yarp/node.rb#4499 class YARP::InterpolatedXStringNode < ::YARP::Node # def initialize: (opening_loc: Location, parts: Array[Node], closing_loc: Location, location: Location) -> void # # @return [InterpolatedXStringNode] a new instance of InterpolatedXStringNode # - # source://yarp//lib/yarp/node.rb#4495 + # source://yarp//lib/yarp/node.rb#4510 def initialize(opening_loc, parts, closing_loc, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#4503 + # source://yarp//lib/yarp/node.rb#4518 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#4513 + # source://yarp//lib/yarp/node.rb#4528 def child_nodes; end # def closing: () -> String # - # source://yarp//lib/yarp/node.rb#4541 + # source://yarp//lib/yarp/node.rb#4556 def closing; end # attr_reader closing_loc: Location # - # source://yarp//lib/yarp/node.rb#4492 + # source://yarp//lib/yarp/node.rb#4507 def closing_loc; end # def copy: (**params) -> InterpolatedXStringNode # - # source://yarp//lib/yarp/node.rb#4518 + # source://yarp//lib/yarp/node.rb#4533 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#4513 + # source://yarp//lib/yarp/node.rb#4528 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#4531 + # source://yarp//lib/yarp/node.rb#4546 def deconstruct_keys(keys); end # def opening: () -> String # - # source://yarp//lib/yarp/node.rb#4536 + # source://yarp//lib/yarp/node.rb#4551 def opening; end # attr_reader opening_loc: Location # - # source://yarp//lib/yarp/node.rb#4486 + # source://yarp//lib/yarp/node.rb#4501 def opening_loc; end # attr_reader parts: Array[Node] # - # source://yarp//lib/yarp/node.rb#4489 + # source://yarp//lib/yarp/node.rb#4504 def parts; end - # source://yarp//lib/yarp/node.rb#4507 + # source://yarp//lib/yarp/node.rb#4522 def set_newline_flag(newline_marked); end end @@ -5959,44 +5962,44 @@ end # foo(a: b) # ^^^^ # -# source://yarp//lib/yarp/node.rb#4551 +# source://yarp//lib/yarp/node.rb#4565 class YARP::KeywordHashNode < ::YARP::Node # def initialize: (elements: Array[Node], location: Location) -> void # # @return [KeywordHashNode] a new instance of KeywordHashNode # - # source://yarp//lib/yarp/node.rb#4555 + # source://yarp//lib/yarp/node.rb#4570 def initialize(elements, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#4561 + # source://yarp//lib/yarp/node.rb#4576 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#4566 + # source://yarp//lib/yarp/node.rb#4581 def child_nodes; end # def copy: (**params) -> KeywordHashNode # - # source://yarp//lib/yarp/node.rb#4571 + # source://yarp//lib/yarp/node.rb#4586 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#4566 + # source://yarp//lib/yarp/node.rb#4581 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#4582 + # source://yarp//lib/yarp/node.rb#4597 def deconstruct_keys(keys); end # attr_reader elements: Array[Node] # - # source://yarp//lib/yarp/node.rb#4552 + # source://yarp//lib/yarp/node.rb#4567 def elements; end end @@ -6010,54 +6013,54 @@ end # ^^^^ # end # -# source://yarp//lib/yarp/node.rb#4597 +# source://yarp//lib/yarp/node.rb#4611 class YARP::KeywordParameterNode < ::YARP::Node # def initialize: (name_loc: Location, value: Node?, location: Location) -> void # # @return [KeywordParameterNode] a new instance of KeywordParameterNode # - # source://yarp//lib/yarp/node.rb#4604 + # source://yarp//lib/yarp/node.rb#4619 def initialize(name_loc, value, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#4611 + # source://yarp//lib/yarp/node.rb#4626 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#4616 + # source://yarp//lib/yarp/node.rb#4631 def child_nodes; end # def copy: (**params) -> KeywordParameterNode # - # source://yarp//lib/yarp/node.rb#4621 + # source://yarp//lib/yarp/node.rb#4636 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#4616 + # source://yarp//lib/yarp/node.rb#4631 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#4633 + # source://yarp//lib/yarp/node.rb#4648 def deconstruct_keys(keys); end # def name: () -> String # - # source://yarp//lib/yarp/node.rb#4638 + # source://yarp//lib/yarp/node.rb#4653 def name; end # attr_reader name_loc: Location # - # source://yarp//lib/yarp/node.rb#4598 + # source://yarp//lib/yarp/node.rb#4613 def name_loc; end # attr_reader value: Node? # - # source://yarp//lib/yarp/node.rb#4601 + # source://yarp//lib/yarp/node.rb#4616 def value; end end @@ -6067,59 +6070,59 @@ end # ^^^ # end # -# source://yarp//lib/yarp/node.rb#4649 +# source://yarp//lib/yarp/node.rb#4663 class YARP::KeywordRestParameterNode < ::YARP::Node # def initialize: (operator_loc: Location, name_loc: Location?, location: Location) -> void # # @return [KeywordRestParameterNode] a new instance of KeywordRestParameterNode # - # source://yarp//lib/yarp/node.rb#4656 + # source://yarp//lib/yarp/node.rb#4671 def initialize(operator_loc, name_loc, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#4663 + # source://yarp//lib/yarp/node.rb#4678 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#4668 + # source://yarp//lib/yarp/node.rb#4683 def child_nodes; end # def copy: (**params) -> KeywordRestParameterNode # - # source://yarp//lib/yarp/node.rb#4673 + # source://yarp//lib/yarp/node.rb#4688 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#4668 + # source://yarp//lib/yarp/node.rb#4683 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#4685 + # source://yarp//lib/yarp/node.rb#4700 def deconstruct_keys(keys); end # def name: () -> String? # - # source://yarp//lib/yarp/node.rb#4695 + # source://yarp//lib/yarp/node.rb#4710 def name; end # attr_reader name_loc: Location? # - # source://yarp//lib/yarp/node.rb#4653 + # source://yarp//lib/yarp/node.rb#4668 def name_loc; end # def operator: () -> String # - # source://yarp//lib/yarp/node.rb#4690 + # source://yarp//lib/yarp/node.rb#4705 def operator; end # attr_reader operator_loc: Location # - # source://yarp//lib/yarp/node.rb#4650 + # source://yarp//lib/yarp/node.rb#4665 def operator_loc; end end @@ -6128,84 +6131,84 @@ end # ->(value) { value * 2 } # ^^^^^^^^^^^^^^^^^^^^^^^ # -# source://yarp//lib/yarp/node.rb#4705 +# source://yarp//lib/yarp/node.rb#4719 class YARP::LambdaNode < ::YARP::Node # def initialize: (locals: Array[Symbol], operator_loc: Location, opening_loc: Location, closing_loc: Location, parameters: BlockParametersNode?, body: Node?, location: Location) -> void # # @return [LambdaNode] a new instance of LambdaNode # - # source://yarp//lib/yarp/node.rb#4724 + # source://yarp//lib/yarp/node.rb#4739 def initialize(locals, operator_loc, opening_loc, closing_loc, parameters, body, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#4735 + # source://yarp//lib/yarp/node.rb#4750 def accept(visitor); end # attr_reader body: Node? # - # source://yarp//lib/yarp/node.rb#4721 + # source://yarp//lib/yarp/node.rb#4736 def body; end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#4740 + # source://yarp//lib/yarp/node.rb#4755 def child_nodes; end # def closing: () -> String # - # source://yarp//lib/yarp/node.rb#4776 + # source://yarp//lib/yarp/node.rb#4791 def closing; end # attr_reader closing_loc: Location # - # source://yarp//lib/yarp/node.rb#4715 + # source://yarp//lib/yarp/node.rb#4730 def closing_loc; end # def copy: (**params) -> LambdaNode # - # source://yarp//lib/yarp/node.rb#4745 + # source://yarp//lib/yarp/node.rb#4760 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#4740 + # source://yarp//lib/yarp/node.rb#4755 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#4761 + # source://yarp//lib/yarp/node.rb#4776 def deconstruct_keys(keys); end # attr_reader locals: Array[Symbol] # - # source://yarp//lib/yarp/node.rb#4706 + # source://yarp//lib/yarp/node.rb#4721 def locals; end # def opening: () -> String # - # source://yarp//lib/yarp/node.rb#4771 + # source://yarp//lib/yarp/node.rb#4786 def opening; end # attr_reader opening_loc: Location # - # source://yarp//lib/yarp/node.rb#4712 + # source://yarp//lib/yarp/node.rb#4727 def opening_loc; end # def operator: () -> String # - # source://yarp//lib/yarp/node.rb#4766 + # source://yarp//lib/yarp/node.rb#4781 def operator; end # attr_reader operator_loc: Location # - # source://yarp//lib/yarp/node.rb#4709 + # source://yarp//lib/yarp/node.rb#4724 def operator_loc; end # attr_reader parameters: BlockParametersNode? # - # source://yarp//lib/yarp/node.rb#4718 + # source://yarp//lib/yarp/node.rb#4733 def parameters; end end @@ -6439,74 +6442,69 @@ end # target &&= value # ^^^^^^^^^^^^^^^^ # -# source://yarp//lib/yarp/node.rb#4786 +# source://yarp//lib/yarp/node.rb#4800 class YARP::LocalVariableAndWriteNode < ::YARP::Node - # def initialize: (name_loc: Location, operator_loc: Location, value: Node, constant_id: Symbol, depth: Integer, location: Location) -> void + # def initialize: (name_loc: Location, operator_loc: Location, value: Node, name: Symbol, depth: Integer, location: Location) -> void # # @return [LocalVariableAndWriteNode] a new instance of LocalVariableAndWriteNode # - # source://yarp//lib/yarp/node.rb#4802 - def initialize(name_loc, operator_loc, value, constant_id, depth, location); end + # source://yarp//lib/yarp/node.rb#4817 + def initialize(name_loc, operator_loc, value, name, depth, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#4812 + # source://yarp//lib/yarp/node.rb#4827 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#4817 + # source://yarp//lib/yarp/node.rb#4832 def child_nodes; end - # attr_reader constant_id: Symbol - # - # source://yarp//lib/yarp/node.rb#4796 - def constant_id; end - # def copy: (**params) -> LocalVariableAndWriteNode # - # source://yarp//lib/yarp/node.rb#4822 + # source://yarp//lib/yarp/node.rb#4837 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#4817 + # source://yarp//lib/yarp/node.rb#4832 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#4837 + # source://yarp//lib/yarp/node.rb#4852 def deconstruct_keys(keys); end # attr_reader depth: Integer # - # source://yarp//lib/yarp/node.rb#4799 + # source://yarp//lib/yarp/node.rb#4814 def depth; end - # def name: () -> String + # attr_reader name: Symbol # - # source://yarp//lib/yarp/node.rb#4842 + # source://yarp//lib/yarp/node.rb#4811 def name; end # attr_reader name_loc: Location # - # source://yarp//lib/yarp/node.rb#4787 + # source://yarp//lib/yarp/node.rb#4802 def name_loc; end # def operator: () -> String # - # source://yarp//lib/yarp/node.rb#4847 + # source://yarp//lib/yarp/node.rb#4857 def operator; end # attr_reader operator_loc: Location # - # source://yarp//lib/yarp/node.rb#4790 + # source://yarp//lib/yarp/node.rb#4805 def operator_loc; end # attr_reader value: Node # - # source://yarp//lib/yarp/node.rb#4793 + # source://yarp//lib/yarp/node.rb#4808 def value; end end @@ -6515,79 +6513,69 @@ end # target += value # ^^^^^^^^^^^^^^^ # -# source://yarp//lib/yarp/node.rb#4857 +# source://yarp//lib/yarp/node.rb#4866 class YARP::LocalVariableOperatorWriteNode < ::YARP::Node - # def initialize: (name_loc: Location, operator_loc: Location, value: Node, constant_id: Symbol, operator_id: Symbol, depth: Integer, location: Location) -> void + # def initialize: (name_loc: Location, operator_loc: Location, value: Node, name: Symbol, operator: Symbol, depth: Integer, location: Location) -> void # # @return [LocalVariableOperatorWriteNode] a new instance of LocalVariableOperatorWriteNode # - # source://yarp//lib/yarp/node.rb#4876 - def initialize(name_loc, operator_loc, value, constant_id, operator_id, depth, location); end + # source://yarp//lib/yarp/node.rb#4886 + def initialize(name_loc, operator_loc, value, name, operator, depth, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#4887 + # source://yarp//lib/yarp/node.rb#4897 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#4892 + # source://yarp//lib/yarp/node.rb#4902 def child_nodes; end - # attr_reader constant_id: Symbol - # - # source://yarp//lib/yarp/node.rb#4867 - def constant_id; end - # def copy: (**params) -> LocalVariableOperatorWriteNode # - # source://yarp//lib/yarp/node.rb#4897 + # source://yarp//lib/yarp/node.rb#4907 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#4892 + # source://yarp//lib/yarp/node.rb#4902 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#4913 + # source://yarp//lib/yarp/node.rb#4923 def deconstruct_keys(keys); end # attr_reader depth: Integer # - # source://yarp//lib/yarp/node.rb#4873 + # source://yarp//lib/yarp/node.rb#4883 def depth; end - # def name: () -> String + # attr_reader name: Symbol # - # source://yarp//lib/yarp/node.rb#4918 + # source://yarp//lib/yarp/node.rb#4877 def name; end # attr_reader name_loc: Location # - # source://yarp//lib/yarp/node.rb#4858 + # source://yarp//lib/yarp/node.rb#4868 def name_loc; end - # def operator: () -> String + # attr_reader operator: Symbol # - # source://yarp//lib/yarp/node.rb#4923 + # source://yarp//lib/yarp/node.rb#4880 def operator; end - # attr_reader operator_id: Symbol - # - # source://yarp//lib/yarp/node.rb#4870 - def operator_id; end - # attr_reader operator_loc: Location # - # source://yarp//lib/yarp/node.rb#4861 + # source://yarp//lib/yarp/node.rb#4871 def operator_loc; end # attr_reader value: Node # - # source://yarp//lib/yarp/node.rb#4864 + # source://yarp//lib/yarp/node.rb#4874 def value; end end @@ -6596,14 +6584,14 @@ end # target ||= value # ^^^^^^^^^^^^^^^^ # -# source://yarp//lib/yarp/node.rb#4933 +# source://yarp//lib/yarp/node.rb#4932 class YARP::LocalVariableOrWriteNode < ::YARP::Node - # def initialize: (name_loc: Location, operator_loc: Location, value: Node, constant_id: Symbol, depth: Integer, location: Location) -> void + # def initialize: (name_loc: Location, operator_loc: Location, value: Node, name: Symbol, depth: Integer, location: Location) -> void # # @return [LocalVariableOrWriteNode] a new instance of LocalVariableOrWriteNode # # source://yarp//lib/yarp/node.rb#4949 - def initialize(name_loc, operator_loc, value, constant_id, depth, location); end + def initialize(name_loc, operator_loc, value, name, depth, location); end # def accept: (visitor: Visitor) -> void # @@ -6615,11 +6603,6 @@ class YARP::LocalVariableOrWriteNode < ::YARP::Node # source://yarp//lib/yarp/node.rb#4964 def child_nodes; end - # attr_reader constant_id: Symbol - # - # source://yarp//lib/yarp/node.rb#4943 - def constant_id; end - # def copy: (**params) -> LocalVariableOrWriteNode # # source://yarp//lib/yarp/node.rb#4969 @@ -6641,9 +6624,9 @@ class YARP::LocalVariableOrWriteNode < ::YARP::Node # source://yarp//lib/yarp/node.rb#4946 def depth; end - # def name: () -> String + # attr_reader name: Symbol # - # source://yarp//lib/yarp/node.rb#4989 + # source://yarp//lib/yarp/node.rb#4943 def name; end # attr_reader name_loc: Location @@ -6653,7 +6636,7 @@ class YARP::LocalVariableOrWriteNode < ::YARP::Node # def operator: () -> String # - # source://yarp//lib/yarp/node.rb#4994 + # source://yarp//lib/yarp/node.rb#4989 def operator; end # attr_reader operator_loc: Location @@ -6674,50 +6657,50 @@ end # foo # ^^^ # -# source://yarp//lib/yarp/node.rb#5006 +# source://yarp//lib/yarp/node.rb#5000 class YARP::LocalVariableReadNode < ::YARP::Node - # def initialize: (constant_id: Symbol, depth: Integer, location: Location) -> void + # def initialize: (name: Symbol, depth: Integer, location: Location) -> void # # @return [LocalVariableReadNode] a new instance of LocalVariableReadNode # - # source://yarp//lib/yarp/node.rb#5013 - def initialize(constant_id, depth, location); end + # source://yarp//lib/yarp/node.rb#5008 + def initialize(name, depth, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#5020 + # source://yarp//lib/yarp/node.rb#5015 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#5025 + # source://yarp//lib/yarp/node.rb#5020 def child_nodes; end - # attr_reader constant_id: Symbol - # - # source://yarp//lib/yarp/node.rb#5007 - def constant_id; end - # def copy: (**params) -> LocalVariableReadNode # - # source://yarp//lib/yarp/node.rb#5030 + # source://yarp//lib/yarp/node.rb#5025 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#5025 + # source://yarp//lib/yarp/node.rb#5020 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#5042 + # source://yarp//lib/yarp/node.rb#5037 def deconstruct_keys(keys); end # attr_reader depth: Integer # - # source://yarp//lib/yarp/node.rb#5010 + # source://yarp//lib/yarp/node.rb#5005 def depth; end + + # attr_reader name: Symbol + # + # source://yarp//lib/yarp/node.rb#5002 + def name; end end # Represents writing to a local variable in a context that doesn't have an explicit value. @@ -6725,50 +6708,50 @@ end # foo, bar = baz # ^^^ ^^^ # -# source://yarp//lib/yarp/node.rb#5052 +# source://yarp//lib/yarp/node.rb#5046 class YARP::LocalVariableTargetNode < ::YARP::Node - # def initialize: (constant_id: Symbol, depth: Integer, location: Location) -> void + # def initialize: (name: Symbol, depth: Integer, location: Location) -> void # # @return [LocalVariableTargetNode] a new instance of LocalVariableTargetNode # - # source://yarp//lib/yarp/node.rb#5059 - def initialize(constant_id, depth, location); end + # source://yarp//lib/yarp/node.rb#5054 + def initialize(name, depth, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#5066 + # source://yarp//lib/yarp/node.rb#5061 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#5071 + # source://yarp//lib/yarp/node.rb#5066 def child_nodes; end - # attr_reader constant_id: Symbol - # - # source://yarp//lib/yarp/node.rb#5053 - def constant_id; end - # def copy: (**params) -> LocalVariableTargetNode # - # source://yarp//lib/yarp/node.rb#5076 + # source://yarp//lib/yarp/node.rb#5071 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#5071 + # source://yarp//lib/yarp/node.rb#5066 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#5088 + # source://yarp//lib/yarp/node.rb#5083 def deconstruct_keys(keys); end # attr_reader depth: Integer # - # source://yarp//lib/yarp/node.rb#5056 + # source://yarp//lib/yarp/node.rb#5051 def depth; end + + # attr_reader name: Symbol + # + # source://yarp//lib/yarp/node.rb#5048 + def name; end end # Represents writing to a local variable. @@ -6776,74 +6759,69 @@ end # foo = 1 # ^^^^^^^ # -# source://yarp//lib/yarp/node.rb#5098 +# source://yarp//lib/yarp/node.rb#5092 class YARP::LocalVariableWriteNode < ::YARP::Node - # def initialize: (constant_id: Symbol, depth: Integer, value: Node, name_loc: Location, operator_loc: Location, location: Location) -> void + # def initialize: (name: Symbol, depth: Integer, name_loc: Location, value: Node, operator_loc: Location, location: Location) -> void # # @return [LocalVariableWriteNode] a new instance of LocalVariableWriteNode # - # source://yarp//lib/yarp/node.rb#5114 - def initialize(constant_id, depth, value, name_loc, operator_loc, location); end + # source://yarp//lib/yarp/node.rb#5109 + def initialize(name, depth, name_loc, value, operator_loc, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#5124 + # source://yarp//lib/yarp/node.rb#5119 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#5129 + # source://yarp//lib/yarp/node.rb#5124 def child_nodes; end - # attr_reader constant_id: Symbol - # - # source://yarp//lib/yarp/node.rb#5099 - def constant_id; end - # def copy: (**params) -> LocalVariableWriteNode # - # source://yarp//lib/yarp/node.rb#5134 + # source://yarp//lib/yarp/node.rb#5129 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#5129 + # source://yarp//lib/yarp/node.rb#5124 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#5149 + # source://yarp//lib/yarp/node.rb#5144 def deconstruct_keys(keys); end # attr_reader depth: Integer # - # source://yarp//lib/yarp/node.rb#5102 + # source://yarp//lib/yarp/node.rb#5097 def depth; end - # def name: () -> String + # attr_reader name: Symbol # - # source://yarp//lib/yarp/node.rb#5154 + # source://yarp//lib/yarp/node.rb#5094 def name; end # attr_reader name_loc: Location # - # source://yarp//lib/yarp/node.rb#5108 + # source://yarp//lib/yarp/node.rb#5100 def name_loc; end # def operator: () -> String # - # source://yarp//lib/yarp/node.rb#5159 + # source://yarp//lib/yarp/node.rb#5149 def operator; end # attr_reader operator_loc: Location # - # source://yarp//lib/yarp/node.rb#5111 + # source://yarp//lib/yarp/node.rb#5106 def operator_loc; end # attr_reader value: Node # - # source://yarp//lib/yarp/node.rb#5105 + # source://yarp//lib/yarp/node.rb#5103 def value; end end @@ -6938,12 +6916,12 @@ class YARP::Location end end -# source://yarp//lib/yarp/node.rb#8001 +# source://yarp//lib/yarp/node.rb#7991 module YARP::LoopFlags; end # a loop after a begin statement, so the body is executed first before the condition # -# source://yarp//lib/yarp/node.rb#8003 +# source://yarp//lib/yarp/node.rb#7993 YARP::LoopFlags::BEGIN_MODIFIER = T.let(T.unsafe(nil), Integer) # Represents the use of the modifier `in` operator. @@ -6951,59 +6929,59 @@ YARP::LoopFlags::BEGIN_MODIFIER = T.let(T.unsafe(nil), Integer) # foo in bar # ^^^^^^^^^^ # -# source://yarp//lib/yarp/node.rb#5169 +# source://yarp//lib/yarp/node.rb#5158 class YARP::MatchPredicateNode < ::YARP::Node # def initialize: (value: Node, pattern: Node, operator_loc: Location, location: Location) -> void # # @return [MatchPredicateNode] a new instance of MatchPredicateNode # - # source://yarp//lib/yarp/node.rb#5179 + # source://yarp//lib/yarp/node.rb#5169 def initialize(value, pattern, operator_loc, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#5187 + # source://yarp//lib/yarp/node.rb#5177 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#5192 + # source://yarp//lib/yarp/node.rb#5182 def child_nodes; end # def copy: (**params) -> MatchPredicateNode # - # source://yarp//lib/yarp/node.rb#5197 + # source://yarp//lib/yarp/node.rb#5187 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#5192 + # source://yarp//lib/yarp/node.rb#5182 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#5210 + # source://yarp//lib/yarp/node.rb#5200 def deconstruct_keys(keys); end # def operator: () -> String # - # source://yarp//lib/yarp/node.rb#5215 + # source://yarp//lib/yarp/node.rb#5205 def operator; end # attr_reader operator_loc: Location # - # source://yarp//lib/yarp/node.rb#5176 + # source://yarp//lib/yarp/node.rb#5166 def operator_loc; end # attr_reader pattern: Node # - # source://yarp//lib/yarp/node.rb#5173 + # source://yarp//lib/yarp/node.rb#5163 def pattern; end # attr_reader value: Node # - # source://yarp//lib/yarp/node.rb#5170 + # source://yarp//lib/yarp/node.rb#5160 def value; end end @@ -7012,98 +6990,98 @@ end # foo => bar # ^^^^^^^^^^ # -# source://yarp//lib/yarp/node.rb#5225 +# source://yarp//lib/yarp/node.rb#5214 class YARP::MatchRequiredNode < ::YARP::Node # def initialize: (value: Node, pattern: Node, operator_loc: Location, location: Location) -> void # # @return [MatchRequiredNode] a new instance of MatchRequiredNode # - # source://yarp//lib/yarp/node.rb#5235 + # source://yarp//lib/yarp/node.rb#5225 def initialize(value, pattern, operator_loc, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#5243 + # source://yarp//lib/yarp/node.rb#5233 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#5248 + # source://yarp//lib/yarp/node.rb#5238 def child_nodes; end # def copy: (**params) -> MatchRequiredNode # - # source://yarp//lib/yarp/node.rb#5253 + # source://yarp//lib/yarp/node.rb#5243 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#5248 + # source://yarp//lib/yarp/node.rb#5238 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#5266 + # source://yarp//lib/yarp/node.rb#5256 def deconstruct_keys(keys); end # def operator: () -> String # - # source://yarp//lib/yarp/node.rb#5271 + # source://yarp//lib/yarp/node.rb#5261 def operator; end # attr_reader operator_loc: Location # - # source://yarp//lib/yarp/node.rb#5232 + # source://yarp//lib/yarp/node.rb#5222 def operator_loc; end # attr_reader pattern: Node # - # source://yarp//lib/yarp/node.rb#5229 + # source://yarp//lib/yarp/node.rb#5219 def pattern; end # attr_reader value: Node # - # source://yarp//lib/yarp/node.rb#5226 + # source://yarp//lib/yarp/node.rb#5216 def value; end end # Represents a node that is missing from the source and results in a syntax # error. # -# source://yarp//lib/yarp/node.rb#5279 +# source://yarp//lib/yarp/node.rb#5268 class YARP::MissingNode < ::YARP::Node # def initialize: (location: Location) -> void # # @return [MissingNode] a new instance of MissingNode # - # source://yarp//lib/yarp/node.rb#5280 + # source://yarp//lib/yarp/node.rb#5270 def initialize(location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#5285 + # source://yarp//lib/yarp/node.rb#5275 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#5290 + # source://yarp//lib/yarp/node.rb#5280 def child_nodes; end # def copy: (**params) -> MissingNode # - # source://yarp//lib/yarp/node.rb#5295 + # source://yarp//lib/yarp/node.rb#5285 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#5290 + # source://yarp//lib/yarp/node.rb#5280 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#5305 + # source://yarp//lib/yarp/node.rb#5295 def deconstruct_keys(keys); end end @@ -7112,79 +7090,79 @@ end # module Foo end # ^^^^^^^^^^^^^^ # -# source://yarp//lib/yarp/node.rb#5315 +# source://yarp//lib/yarp/node.rb#5304 class YARP::ModuleNode < ::YARP::Node # def initialize: (locals: Array[Symbol], module_keyword_loc: Location, constant_path: Node, body: Node?, end_keyword_loc: Location, name: String, location: Location) -> void # # @return [ModuleNode] a new instance of ModuleNode # - # source://yarp//lib/yarp/node.rb#5334 + # source://yarp//lib/yarp/node.rb#5324 def initialize(locals, module_keyword_loc, constant_path, body, end_keyword_loc, name, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#5345 + # source://yarp//lib/yarp/node.rb#5335 def accept(visitor); end # attr_reader body: Node? # - # source://yarp//lib/yarp/node.rb#5325 + # source://yarp//lib/yarp/node.rb#5315 def body; end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#5350 + # source://yarp//lib/yarp/node.rb#5340 def child_nodes; end # attr_reader constant_path: Node # - # source://yarp//lib/yarp/node.rb#5322 + # source://yarp//lib/yarp/node.rb#5312 def constant_path; end # def copy: (**params) -> ModuleNode # - # source://yarp//lib/yarp/node.rb#5355 + # source://yarp//lib/yarp/node.rb#5345 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#5350 + # source://yarp//lib/yarp/node.rb#5340 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#5371 + # source://yarp//lib/yarp/node.rb#5361 def deconstruct_keys(keys); end # def end_keyword: () -> String # - # source://yarp//lib/yarp/node.rb#5381 + # source://yarp//lib/yarp/node.rb#5371 def end_keyword; end # attr_reader end_keyword_loc: Location # - # source://yarp//lib/yarp/node.rb#5328 + # source://yarp//lib/yarp/node.rb#5318 def end_keyword_loc; end # attr_reader locals: Array[Symbol] # - # source://yarp//lib/yarp/node.rb#5316 + # source://yarp//lib/yarp/node.rb#5306 def locals; end # def module_keyword: () -> String # - # source://yarp//lib/yarp/node.rb#5376 + # source://yarp//lib/yarp/node.rb#5366 def module_keyword; end # attr_reader module_keyword_loc: Location # - # source://yarp//lib/yarp/node.rb#5319 + # source://yarp//lib/yarp/node.rb#5309 def module_keyword_loc; end # attr_reader name: String # - # source://yarp//lib/yarp/node.rb#5331 + # source://yarp//lib/yarp/node.rb#5321 def name; end end @@ -7193,79 +7171,79 @@ end # a, b, c = 1, 2, 3 # ^^^^^^^^^^^^^^^^^ # -# source://yarp//lib/yarp/node.rb#5391 +# source://yarp//lib/yarp/node.rb#5380 class YARP::MultiWriteNode < ::YARP::Node # def initialize: (targets: Array[Node], operator_loc: Location?, value: Node?, lparen_loc: Location?, rparen_loc: Location?, location: Location) -> void # # @return [MultiWriteNode] a new instance of MultiWriteNode # - # source://yarp//lib/yarp/node.rb#5407 + # source://yarp//lib/yarp/node.rb#5397 def initialize(targets, operator_loc, value, lparen_loc, rparen_loc, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#5417 + # source://yarp//lib/yarp/node.rb#5407 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#5422 + # source://yarp//lib/yarp/node.rb#5412 def child_nodes; end # def copy: (**params) -> MultiWriteNode # - # source://yarp//lib/yarp/node.rb#5427 + # source://yarp//lib/yarp/node.rb#5417 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#5422 + # source://yarp//lib/yarp/node.rb#5412 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#5442 + # source://yarp//lib/yarp/node.rb#5432 def deconstruct_keys(keys); end # def lparen: () -> String? # - # source://yarp//lib/yarp/node.rb#5452 + # source://yarp//lib/yarp/node.rb#5442 def lparen; end # attr_reader lparen_loc: Location? # - # source://yarp//lib/yarp/node.rb#5401 + # source://yarp//lib/yarp/node.rb#5391 def lparen_loc; end # def operator: () -> String? # - # source://yarp//lib/yarp/node.rb#5447 + # source://yarp//lib/yarp/node.rb#5437 def operator; end # attr_reader operator_loc: Location? # - # source://yarp//lib/yarp/node.rb#5395 + # source://yarp//lib/yarp/node.rb#5385 def operator_loc; end # def rparen: () -> String? # - # source://yarp//lib/yarp/node.rb#5457 + # source://yarp//lib/yarp/node.rb#5447 def rparen; end # attr_reader rparen_loc: Location? # - # source://yarp//lib/yarp/node.rb#5404 + # source://yarp//lib/yarp/node.rb#5394 def rparen_loc; end # attr_reader targets: Array[Node] # - # source://yarp//lib/yarp/node.rb#5392 + # source://yarp//lib/yarp/node.rb#5382 def targets; end # attr_reader value: Node? # - # source://yarp//lib/yarp/node.rb#5398 + # source://yarp//lib/yarp/node.rb#5388 def value; end end @@ -7273,7 +7251,7 @@ end # visited. This is useful for consumers that want to mutate the tree, as you # can change subtrees in place without effecting the rest of the tree. # -# source://yarp//lib/yarp/mutation_visitor.rb#13 +# source://yarp//lib/yarp/mutation_visitor.rb#12 class YARP::MutationVisitor < ::YARP::BasicVisitor # Copy a AliasNode node # @@ -7951,54 +7929,54 @@ end # next 1 # ^^^^^^ # -# source://yarp//lib/yarp/node.rb#5467 +# source://yarp//lib/yarp/node.rb#5456 class YARP::NextNode < ::YARP::Node # def initialize: (arguments: ArgumentsNode?, keyword_loc: Location, location: Location) -> void # # @return [NextNode] a new instance of NextNode # - # source://yarp//lib/yarp/node.rb#5474 + # source://yarp//lib/yarp/node.rb#5464 def initialize(arguments, keyword_loc, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#5481 + # source://yarp//lib/yarp/node.rb#5471 def accept(visitor); end # attr_reader arguments: ArgumentsNode? # - # source://yarp//lib/yarp/node.rb#5468 + # source://yarp//lib/yarp/node.rb#5458 def arguments; end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#5486 + # source://yarp//lib/yarp/node.rb#5476 def child_nodes; end # def copy: (**params) -> NextNode # - # source://yarp//lib/yarp/node.rb#5491 + # source://yarp//lib/yarp/node.rb#5481 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#5486 + # source://yarp//lib/yarp/node.rb#5476 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#5503 + # source://yarp//lib/yarp/node.rb#5493 def deconstruct_keys(keys); end # def keyword: () -> String # - # source://yarp//lib/yarp/node.rb#5508 + # source://yarp//lib/yarp/node.rb#5498 def keyword; end # attr_reader keyword_loc: Location # - # source://yarp//lib/yarp/node.rb#5471 + # source://yarp//lib/yarp/node.rb#5461 def keyword_loc; end end @@ -8007,39 +7985,39 @@ end # nil # ^^^ # -# source://yarp//lib/yarp/node.rb#5518 +# source://yarp//lib/yarp/node.rb#5507 class YARP::NilNode < ::YARP::Node # def initialize: (location: Location) -> void # # @return [NilNode] a new instance of NilNode # - # source://yarp//lib/yarp/node.rb#5519 + # source://yarp//lib/yarp/node.rb#5509 def initialize(location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#5524 + # source://yarp//lib/yarp/node.rb#5514 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#5529 + # source://yarp//lib/yarp/node.rb#5519 def child_nodes; end # def copy: (**params) -> NilNode # - # source://yarp//lib/yarp/node.rb#5534 + # source://yarp//lib/yarp/node.rb#5524 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#5529 + # source://yarp//lib/yarp/node.rb#5519 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#5544 + # source://yarp//lib/yarp/node.rb#5534 def deconstruct_keys(keys); end end @@ -8049,59 +8027,59 @@ end # ^^^^^ # end # -# source://yarp//lib/yarp/node.rb#5555 +# source://yarp//lib/yarp/node.rb#5544 class YARP::NoKeywordsParameterNode < ::YARP::Node # def initialize: (operator_loc: Location, keyword_loc: Location, location: Location) -> void # # @return [NoKeywordsParameterNode] a new instance of NoKeywordsParameterNode # - # source://yarp//lib/yarp/node.rb#5562 + # source://yarp//lib/yarp/node.rb#5552 def initialize(operator_loc, keyword_loc, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#5569 + # source://yarp//lib/yarp/node.rb#5559 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#5574 + # source://yarp//lib/yarp/node.rb#5564 def child_nodes; end # def copy: (**params) -> NoKeywordsParameterNode # - # source://yarp//lib/yarp/node.rb#5579 + # source://yarp//lib/yarp/node.rb#5569 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#5574 + # source://yarp//lib/yarp/node.rb#5564 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#5591 + # source://yarp//lib/yarp/node.rb#5581 def deconstruct_keys(keys); end # def keyword: () -> String # - # source://yarp//lib/yarp/node.rb#5601 + # source://yarp//lib/yarp/node.rb#5591 def keyword; end # attr_reader keyword_loc: Location # - # source://yarp//lib/yarp/node.rb#5559 + # source://yarp//lib/yarp/node.rb#5549 def keyword_loc; end # def operator: () -> String # - # source://yarp//lib/yarp/node.rb#5596 + # source://yarp//lib/yarp/node.rb#5586 def operator; end # attr_reader operator_loc: Location # - # source://yarp//lib/yarp/node.rb#5556 + # source://yarp//lib/yarp/node.rb#5546 def operator_loc; end end @@ -8136,40 +8114,45 @@ end # $1 # ^^ # -# source://yarp//lib/yarp/node.rb#5611 +# source://yarp//lib/yarp/node.rb#5600 class YARP::NumberedReferenceReadNode < ::YARP::Node - # def initialize: (location: Location) -> void + # def initialize: (number: Integer, location: Location) -> void # # @return [NumberedReferenceReadNode] a new instance of NumberedReferenceReadNode # - # source://yarp//lib/yarp/node.rb#5612 - def initialize(location); end + # source://yarp//lib/yarp/node.rb#5605 + def initialize(number, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#5617 + # source://yarp//lib/yarp/node.rb#5611 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#5622 + # source://yarp//lib/yarp/node.rb#5616 def child_nodes; end # def copy: (**params) -> NumberedReferenceReadNode # - # source://yarp//lib/yarp/node.rb#5627 + # source://yarp//lib/yarp/node.rb#5621 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#5622 + # source://yarp//lib/yarp/node.rb#5616 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#5637 + # source://yarp//lib/yarp/node.rb#5632 def deconstruct_keys(keys); end + + # attr_reader number: Integer + # + # source://yarp//lib/yarp/node.rb#5602 + def number; end end # Represents an optional parameter to a method, block, or lambda definition. @@ -8178,69 +8161,64 @@ end # ^^^^^ # end # -# source://yarp//lib/yarp/node.rb#5648 +# source://yarp//lib/yarp/node.rb#5642 class YARP::OptionalParameterNode < ::YARP::Node - # def initialize: (constant_id: Symbol, name_loc: Location, operator_loc: Location, value: Node, location: Location) -> void + # def initialize: (name: Symbol, name_loc: Location, operator_loc: Location, value: Node, location: Location) -> void # # @return [OptionalParameterNode] a new instance of OptionalParameterNode # - # source://yarp//lib/yarp/node.rb#5661 - def initialize(constant_id, name_loc, operator_loc, value, location); end + # source://yarp//lib/yarp/node.rb#5656 + def initialize(name, name_loc, operator_loc, value, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#5670 + # source://yarp//lib/yarp/node.rb#5665 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#5675 + # source://yarp//lib/yarp/node.rb#5670 def child_nodes; end - # attr_reader constant_id: Symbol - # - # source://yarp//lib/yarp/node.rb#5649 - def constant_id; end - # def copy: (**params) -> OptionalParameterNode # - # source://yarp//lib/yarp/node.rb#5680 + # source://yarp//lib/yarp/node.rb#5675 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#5675 + # source://yarp//lib/yarp/node.rb#5670 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#5694 + # source://yarp//lib/yarp/node.rb#5689 def deconstruct_keys(keys); end - # def name: () -> String + # attr_reader name: Symbol # - # source://yarp//lib/yarp/node.rb#5699 + # source://yarp//lib/yarp/node.rb#5644 def name; end # attr_reader name_loc: Location # - # source://yarp//lib/yarp/node.rb#5652 + # source://yarp//lib/yarp/node.rb#5647 def name_loc; end # def operator: () -> String # - # source://yarp//lib/yarp/node.rb#5704 + # source://yarp//lib/yarp/node.rb#5694 def operator; end # attr_reader operator_loc: Location # - # source://yarp//lib/yarp/node.rb#5655 + # source://yarp//lib/yarp/node.rb#5650 def operator_loc; end # attr_reader value: Node # - # source://yarp//lib/yarp/node.rb#5658 + # source://yarp//lib/yarp/node.rb#5653 def value; end end @@ -8249,59 +8227,59 @@ end # left or right # ^^^^^^^^^^^^^ # -# source://yarp//lib/yarp/node.rb#5714 +# source://yarp//lib/yarp/node.rb#5703 class YARP::OrNode < ::YARP::Node # def initialize: (left: Node, right: Node, operator_loc: Location, location: Location) -> void # # @return [OrNode] a new instance of OrNode # - # source://yarp//lib/yarp/node.rb#5724 + # source://yarp//lib/yarp/node.rb#5714 def initialize(left, right, operator_loc, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#5732 + # source://yarp//lib/yarp/node.rb#5722 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#5737 + # source://yarp//lib/yarp/node.rb#5727 def child_nodes; end # def copy: (**params) -> OrNode # - # source://yarp//lib/yarp/node.rb#5742 + # source://yarp//lib/yarp/node.rb#5732 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#5737 + # source://yarp//lib/yarp/node.rb#5727 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#5755 + # source://yarp//lib/yarp/node.rb#5745 def deconstruct_keys(keys); end # attr_reader left: Node # - # source://yarp//lib/yarp/node.rb#5715 + # source://yarp//lib/yarp/node.rb#5705 def left; end # def operator: () -> String # - # source://yarp//lib/yarp/node.rb#5760 + # source://yarp//lib/yarp/node.rb#5750 def operator; end # attr_reader operator_loc: Location # - # source://yarp//lib/yarp/node.rb#5721 + # source://yarp//lib/yarp/node.rb#5711 def operator_loc; end # attr_reader right: Node # - # source://yarp//lib/yarp/node.rb#5718 + # source://yarp//lib/yarp/node.rb#5708 def right; end end @@ -8533,74 +8511,74 @@ YARP::Pack::UTF8 = T.let(T.unsafe(nil), Symbol) # ^^^^^^^ # end # -# source://yarp//lib/yarp/node.rb#5771 +# source://yarp//lib/yarp/node.rb#5760 class YARP::ParametersNode < ::YARP::Node # def initialize: (requireds: Array[Node], optionals: Array[Node], posts: Array[Node], rest: RestParameterNode?, keywords: Array[Node], keyword_rest: Node?, block: BlockParameterNode?, location: Location) -> void # # @return [ParametersNode] a new instance of ParametersNode # - # source://yarp//lib/yarp/node.rb#5793 + # source://yarp//lib/yarp/node.rb#5783 def initialize(requireds, optionals, posts, rest, keywords, keyword_rest, block, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#5805 + # source://yarp//lib/yarp/node.rb#5795 def accept(visitor); end # attr_reader block: BlockParameterNode? # - # source://yarp//lib/yarp/node.rb#5790 + # source://yarp//lib/yarp/node.rb#5780 def block; end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#5810 + # source://yarp//lib/yarp/node.rb#5800 def child_nodes; end # def copy: (**params) -> ParametersNode # - # source://yarp//lib/yarp/node.rb#5815 + # source://yarp//lib/yarp/node.rb#5805 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#5810 + # source://yarp//lib/yarp/node.rb#5800 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#5832 + # source://yarp//lib/yarp/node.rb#5822 def deconstruct_keys(keys); end # attr_reader keyword_rest: Node? # - # source://yarp//lib/yarp/node.rb#5787 + # source://yarp//lib/yarp/node.rb#5777 def keyword_rest; end # attr_reader keywords: Array[Node] # - # source://yarp//lib/yarp/node.rb#5784 + # source://yarp//lib/yarp/node.rb#5774 def keywords; end # attr_reader optionals: Array[Node] # - # source://yarp//lib/yarp/node.rb#5775 + # source://yarp//lib/yarp/node.rb#5765 def optionals; end # attr_reader posts: Array[Node] # - # source://yarp//lib/yarp/node.rb#5778 + # source://yarp//lib/yarp/node.rb#5768 def posts; end # attr_reader requireds: Array[Node] # - # source://yarp//lib/yarp/node.rb#5772 + # source://yarp//lib/yarp/node.rb#5762 def requireds; end # attr_reader rest: RestParameterNode? # - # source://yarp//lib/yarp/node.rb#5781 + # source://yarp//lib/yarp/node.rb#5771 def rest; end end @@ -8609,67 +8587,67 @@ end # (10 + 34) # ^^^^^^^^^ # -# source://yarp//lib/yarp/node.rb#5842 +# source://yarp//lib/yarp/node.rb#5831 class YARP::ParenthesesNode < ::YARP::Node # def initialize: (body: Node?, opening_loc: Location, closing_loc: Location, location: Location) -> void # # @return [ParenthesesNode] a new instance of ParenthesesNode # - # source://yarp//lib/yarp/node.rb#5852 + # source://yarp//lib/yarp/node.rb#5842 def initialize(body, opening_loc, closing_loc, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#5860 + # source://yarp//lib/yarp/node.rb#5850 def accept(visitor); end # attr_reader body: Node? # - # source://yarp//lib/yarp/node.rb#5843 + # source://yarp//lib/yarp/node.rb#5833 def body; end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#5869 + # source://yarp//lib/yarp/node.rb#5859 def child_nodes; end # def closing: () -> String # - # source://yarp//lib/yarp/node.rb#5897 + # source://yarp//lib/yarp/node.rb#5887 def closing; end # attr_reader closing_loc: Location # - # source://yarp//lib/yarp/node.rb#5849 + # source://yarp//lib/yarp/node.rb#5839 def closing_loc; end # def copy: (**params) -> ParenthesesNode # - # source://yarp//lib/yarp/node.rb#5874 + # source://yarp//lib/yarp/node.rb#5864 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#5869 + # source://yarp//lib/yarp/node.rb#5859 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#5887 + # source://yarp//lib/yarp/node.rb#5877 def deconstruct_keys(keys); end # def opening: () -> String # - # source://yarp//lib/yarp/node.rb#5892 + # source://yarp//lib/yarp/node.rb#5882 def opening; end # attr_reader opening_loc: Location # - # source://yarp//lib/yarp/node.rb#5846 + # source://yarp//lib/yarp/node.rb#5836 def opening_loc; end - # source://yarp//lib/yarp/node.rb#5864 + # source://yarp//lib/yarp/node.rb#5854 def set_newline_flag(newline_marked); end end @@ -8803,74 +8781,74 @@ end # foo in ^(bar) # ^^^^^^ # -# source://yarp//lib/yarp/node.rb#5908 +# source://yarp//lib/yarp/node.rb#5897 class YARP::PinnedExpressionNode < ::YARP::Node # def initialize: (expression: Node, operator_loc: Location, lparen_loc: Location, rparen_loc: Location, location: Location) -> void # # @return [PinnedExpressionNode] a new instance of PinnedExpressionNode # - # source://yarp//lib/yarp/node.rb#5921 + # source://yarp//lib/yarp/node.rb#5911 def initialize(expression, operator_loc, lparen_loc, rparen_loc, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#5930 + # source://yarp//lib/yarp/node.rb#5920 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#5935 + # source://yarp//lib/yarp/node.rb#5925 def child_nodes; end # def copy: (**params) -> PinnedExpressionNode # - # source://yarp//lib/yarp/node.rb#5940 + # source://yarp//lib/yarp/node.rb#5930 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#5935 + # source://yarp//lib/yarp/node.rb#5925 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#5954 + # source://yarp//lib/yarp/node.rb#5944 def deconstruct_keys(keys); end # attr_reader expression: Node # - # source://yarp//lib/yarp/node.rb#5909 + # source://yarp//lib/yarp/node.rb#5899 def expression; end # def lparen: () -> String # - # source://yarp//lib/yarp/node.rb#5964 + # source://yarp//lib/yarp/node.rb#5954 def lparen; end # attr_reader lparen_loc: Location # - # source://yarp//lib/yarp/node.rb#5915 + # source://yarp//lib/yarp/node.rb#5905 def lparen_loc; end # def operator: () -> String # - # source://yarp//lib/yarp/node.rb#5959 + # source://yarp//lib/yarp/node.rb#5949 def operator; end # attr_reader operator_loc: Location # - # source://yarp//lib/yarp/node.rb#5912 + # source://yarp//lib/yarp/node.rb#5902 def operator_loc; end # def rparen: () -> String # - # source://yarp//lib/yarp/node.rb#5969 + # source://yarp//lib/yarp/node.rb#5959 def rparen; end # attr_reader rparen_loc: Location # - # source://yarp//lib/yarp/node.rb#5918 + # source://yarp//lib/yarp/node.rb#5908 def rparen_loc; end end @@ -8880,54 +8858,54 @@ end # foo in ^bar # ^^^^ # -# source://yarp//lib/yarp/node.rb#5980 +# source://yarp//lib/yarp/node.rb#5969 class YARP::PinnedVariableNode < ::YARP::Node # def initialize: (variable: Node, operator_loc: Location, location: Location) -> void # # @return [PinnedVariableNode] a new instance of PinnedVariableNode # - # source://yarp//lib/yarp/node.rb#5987 + # source://yarp//lib/yarp/node.rb#5977 def initialize(variable, operator_loc, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#5994 + # source://yarp//lib/yarp/node.rb#5984 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#5999 + # source://yarp//lib/yarp/node.rb#5989 def child_nodes; end # def copy: (**params) -> PinnedVariableNode # - # source://yarp//lib/yarp/node.rb#6004 + # source://yarp//lib/yarp/node.rb#5994 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#5999 + # source://yarp//lib/yarp/node.rb#5989 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#6016 + # source://yarp//lib/yarp/node.rb#6006 def deconstruct_keys(keys); end # def operator: () -> String # - # source://yarp//lib/yarp/node.rb#6021 + # source://yarp//lib/yarp/node.rb#6011 def operator; end # attr_reader operator_loc: Location # - # source://yarp//lib/yarp/node.rb#5984 + # source://yarp//lib/yarp/node.rb#5974 def operator_loc; end # attr_reader variable: Node # - # source://yarp//lib/yarp/node.rb#5981 + # source://yarp//lib/yarp/node.rb#5971 def variable; end end @@ -8936,74 +8914,74 @@ end # END { foo } # ^^^^^^^^^^^ # -# source://yarp//lib/yarp/node.rb#6031 +# source://yarp//lib/yarp/node.rb#6020 class YARP::PostExecutionNode < ::YARP::Node # def initialize: (statements: StatementsNode?, keyword_loc: Location, opening_loc: Location, closing_loc: Location, location: Location) -> void # # @return [PostExecutionNode] a new instance of PostExecutionNode # - # source://yarp//lib/yarp/node.rb#6044 + # source://yarp//lib/yarp/node.rb#6034 def initialize(statements, keyword_loc, opening_loc, closing_loc, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#6053 + # source://yarp//lib/yarp/node.rb#6043 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#6058 + # source://yarp//lib/yarp/node.rb#6048 def child_nodes; end # def closing: () -> String # - # source://yarp//lib/yarp/node.rb#6092 + # source://yarp//lib/yarp/node.rb#6082 def closing; end # attr_reader closing_loc: Location # - # source://yarp//lib/yarp/node.rb#6041 + # source://yarp//lib/yarp/node.rb#6031 def closing_loc; end # def copy: (**params) -> PostExecutionNode # - # source://yarp//lib/yarp/node.rb#6063 + # source://yarp//lib/yarp/node.rb#6053 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#6058 + # source://yarp//lib/yarp/node.rb#6048 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#6077 + # source://yarp//lib/yarp/node.rb#6067 def deconstruct_keys(keys); end # def keyword: () -> String # - # source://yarp//lib/yarp/node.rb#6082 + # source://yarp//lib/yarp/node.rb#6072 def keyword; end # attr_reader keyword_loc: Location # - # source://yarp//lib/yarp/node.rb#6035 + # source://yarp//lib/yarp/node.rb#6025 def keyword_loc; end # def opening: () -> String # - # source://yarp//lib/yarp/node.rb#6087 + # source://yarp//lib/yarp/node.rb#6077 def opening; end # attr_reader opening_loc: Location # - # source://yarp//lib/yarp/node.rb#6038 + # source://yarp//lib/yarp/node.rb#6028 def opening_loc; end # attr_reader statements: StatementsNode? # - # source://yarp//lib/yarp/node.rb#6032 + # source://yarp//lib/yarp/node.rb#6022 def statements; end end @@ -9012,131 +8990,131 @@ end # BEGIN { foo } # ^^^^^^^^^^^^^ # -# source://yarp//lib/yarp/node.rb#6102 +# source://yarp//lib/yarp/node.rb#6091 class YARP::PreExecutionNode < ::YARP::Node # def initialize: (statements: StatementsNode?, keyword_loc: Location, opening_loc: Location, closing_loc: Location, location: Location) -> void # # @return [PreExecutionNode] a new instance of PreExecutionNode # - # source://yarp//lib/yarp/node.rb#6115 + # source://yarp//lib/yarp/node.rb#6105 def initialize(statements, keyword_loc, opening_loc, closing_loc, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#6124 + # source://yarp//lib/yarp/node.rb#6114 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#6129 + # source://yarp//lib/yarp/node.rb#6119 def child_nodes; end # def closing: () -> String # - # source://yarp//lib/yarp/node.rb#6163 + # source://yarp//lib/yarp/node.rb#6153 def closing; end # attr_reader closing_loc: Location # - # source://yarp//lib/yarp/node.rb#6112 + # source://yarp//lib/yarp/node.rb#6102 def closing_loc; end # def copy: (**params) -> PreExecutionNode # - # source://yarp//lib/yarp/node.rb#6134 + # source://yarp//lib/yarp/node.rb#6124 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#6129 + # source://yarp//lib/yarp/node.rb#6119 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#6148 + # source://yarp//lib/yarp/node.rb#6138 def deconstruct_keys(keys); end # def keyword: () -> String # - # source://yarp//lib/yarp/node.rb#6153 + # source://yarp//lib/yarp/node.rb#6143 def keyword; end # attr_reader keyword_loc: Location # - # source://yarp//lib/yarp/node.rb#6106 + # source://yarp//lib/yarp/node.rb#6096 def keyword_loc; end # def opening: () -> String # - # source://yarp//lib/yarp/node.rb#6158 + # source://yarp//lib/yarp/node.rb#6148 def opening; end # attr_reader opening_loc: Location # - # source://yarp//lib/yarp/node.rb#6109 + # source://yarp//lib/yarp/node.rb#6099 def opening_loc; end # attr_reader statements: StatementsNode? # - # source://yarp//lib/yarp/node.rb#6103 + # source://yarp//lib/yarp/node.rb#6093 def statements; end end # The top level node of any parse tree. # -# source://yarp//lib/yarp/node.rb#6170 +# source://yarp//lib/yarp/node.rb#6159 class YARP::ProgramNode < ::YARP::Node # def initialize: (locals: Array[Symbol], statements: StatementsNode, location: Location) -> void # # @return [ProgramNode] a new instance of ProgramNode # - # source://yarp//lib/yarp/node.rb#6177 + # source://yarp//lib/yarp/node.rb#6167 def initialize(locals, statements, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#6184 + # source://yarp//lib/yarp/node.rb#6174 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#6189 + # source://yarp//lib/yarp/node.rb#6179 def child_nodes; end # def copy: (**params) -> ProgramNode # - # source://yarp//lib/yarp/node.rb#6194 + # source://yarp//lib/yarp/node.rb#6184 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#6189 + # source://yarp//lib/yarp/node.rb#6179 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#6206 + # source://yarp//lib/yarp/node.rb#6196 def deconstruct_keys(keys); end # attr_reader locals: Array[Symbol] # - # source://yarp//lib/yarp/node.rb#6171 + # source://yarp//lib/yarp/node.rb#6161 def locals; end # attr_reader statements: StatementsNode # - # source://yarp//lib/yarp/node.rb#6174 + # source://yarp//lib/yarp/node.rb#6164 def statements; end end -# source://yarp//lib/yarp/node.rb#8006 +# source://yarp//lib/yarp/node.rb#7996 module YARP::RangeFlags; end # ... operator # -# source://yarp//lib/yarp/node.rb#8008 +# source://yarp//lib/yarp/node.rb#7998 YARP::RangeFlags::EXCLUDE_END = T.let(T.unsafe(nil), Integer) # Represents the use of the `..` or `...` operators. @@ -9147,71 +9125,71 @@ YARP::RangeFlags::EXCLUDE_END = T.let(T.unsafe(nil), Integer) # c if a =~ /left/ ... b =~ /right/ # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ # -# source://yarp//lib/yarp/node.rb#6219 +# source://yarp//lib/yarp/node.rb#6208 class YARP::RangeNode < ::YARP::Node # def initialize: (left: Node?, right: Node?, operator_loc: Location, flags: Integer, location: Location) -> void # # @return [RangeNode] a new instance of RangeNode # - # source://yarp//lib/yarp/node.rb#6232 + # source://yarp//lib/yarp/node.rb#6222 def initialize(left, right, operator_loc, flags, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#6241 + # source://yarp//lib/yarp/node.rb#6231 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#6246 + # source://yarp//lib/yarp/node.rb#6236 def child_nodes; end # def copy: (**params) -> RangeNode # - # source://yarp//lib/yarp/node.rb#6251 + # source://yarp//lib/yarp/node.rb#6241 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#6246 + # source://yarp//lib/yarp/node.rb#6236 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#6265 + # source://yarp//lib/yarp/node.rb#6255 def deconstruct_keys(keys); end # def exclude_end?: () -> bool # # @return [Boolean] # - # source://yarp//lib/yarp/node.rb#6275 + # source://yarp//lib/yarp/node.rb#6265 def exclude_end?; end # attr_reader flags: Integer # - # source://yarp//lib/yarp/node.rb#6229 + # source://yarp//lib/yarp/node.rb#6219 def flags; end # attr_reader left: Node? # - # source://yarp//lib/yarp/node.rb#6220 + # source://yarp//lib/yarp/node.rb#6210 def left; end # def operator: () -> String # - # source://yarp//lib/yarp/node.rb#6270 + # source://yarp//lib/yarp/node.rb#6260 def operator; end # attr_reader operator_loc: Location # - # source://yarp//lib/yarp/node.rb#6226 + # source://yarp//lib/yarp/node.rb#6216 def operator_loc; end # attr_reader right: Node? # - # source://yarp//lib/yarp/node.rb#6223 + # source://yarp//lib/yarp/node.rb#6213 def right; end end @@ -9226,38 +9204,38 @@ class YARP::RationalNode < ::YARP::Node # # @return [RationalNode] a new instance of RationalNode # - # source://yarp//lib/yarp/node.rb#6289 + # source://yarp//lib/yarp/node.rb#6279 def initialize(numeric, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#6295 + # source://yarp//lib/yarp/node.rb#6285 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#6300 + # source://yarp//lib/yarp/node.rb#6290 def child_nodes; end # def copy: (**params) -> RationalNode # - # source://yarp//lib/yarp/node.rb#6305 + # source://yarp//lib/yarp/node.rb#6295 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#6300 + # source://yarp//lib/yarp/node.rb#6290 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#6316 + # source://yarp//lib/yarp/node.rb#6306 def deconstruct_keys(keys); end # attr_reader numeric: Node # - # source://yarp//lib/yarp/node.rb#6286 + # source://yarp//lib/yarp/node.rb#6276 def numeric; end # source://yarp//lib/yarp.rb#355 @@ -9269,83 +9247,83 @@ end # redo # ^^^^ # -# source://yarp//lib/yarp/node.rb#6326 +# source://yarp//lib/yarp/node.rb#6315 class YARP::RedoNode < ::YARP::Node # def initialize: (location: Location) -> void # # @return [RedoNode] a new instance of RedoNode # - # source://yarp//lib/yarp/node.rb#6327 + # source://yarp//lib/yarp/node.rb#6317 def initialize(location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#6332 + # source://yarp//lib/yarp/node.rb#6322 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#6337 + # source://yarp//lib/yarp/node.rb#6327 def child_nodes; end # def copy: (**params) -> RedoNode # - # source://yarp//lib/yarp/node.rb#6342 + # source://yarp//lib/yarp/node.rb#6332 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#6337 + # source://yarp//lib/yarp/node.rb#6327 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#6352 + # source://yarp//lib/yarp/node.rb#6342 def deconstruct_keys(keys); end end -# source://yarp//lib/yarp/node.rb#8011 +# source://yarp//lib/yarp/node.rb#8001 module YARP::RegularExpressionFlags; end # n - forces the ASCII-8BIT encoding # -# source://yarp//lib/yarp/node.rb#8025 +# source://yarp//lib/yarp/node.rb#8015 YARP::RegularExpressionFlags::ASCII_8BIT = T.let(T.unsafe(nil), Integer) # e - forces the EUC-JP encoding # -# source://yarp//lib/yarp/node.rb#8022 +# source://yarp//lib/yarp/node.rb#8012 YARP::RegularExpressionFlags::EUC_JP = T.let(T.unsafe(nil), Integer) # x - ignores whitespace and allows comments in regular expressions # -# source://yarp//lib/yarp/node.rb#8019 +# source://yarp//lib/yarp/node.rb#8009 YARP::RegularExpressionFlags::EXTENDED = T.let(T.unsafe(nil), Integer) # i - ignores the case of characters when matching # -# source://yarp//lib/yarp/node.rb#8013 +# source://yarp//lib/yarp/node.rb#8003 YARP::RegularExpressionFlags::IGNORE_CASE = T.let(T.unsafe(nil), Integer) # m - allows $ to match the end of lines within strings # -# source://yarp//lib/yarp/node.rb#8016 +# source://yarp//lib/yarp/node.rb#8006 YARP::RegularExpressionFlags::MULTI_LINE = T.let(T.unsafe(nil), Integer) # o - only interpolates values into the regular expression once # -# source://yarp//lib/yarp/node.rb#8034 +# source://yarp//lib/yarp/node.rb#8024 YARP::RegularExpressionFlags::ONCE = T.let(T.unsafe(nil), Integer) # u - forces the UTF-8 encoding # -# source://yarp//lib/yarp/node.rb#8031 +# source://yarp//lib/yarp/node.rb#8021 YARP::RegularExpressionFlags::UTF_8 = T.let(T.unsafe(nil), Integer) # s - forces the Windows-31J encoding # -# source://yarp//lib/yarp/node.rb#8028 +# source://yarp//lib/yarp/node.rb#8018 YARP::RegularExpressionFlags::WINDOWS_31J = T.let(T.unsafe(nil), Integer) # Represents a regular expression literal with no interpolation. @@ -9353,135 +9331,135 @@ YARP::RegularExpressionFlags::WINDOWS_31J = T.let(T.unsafe(nil), Integer) # /foo/i # ^^^^^^ # -# source://yarp//lib/yarp/node.rb#6362 +# source://yarp//lib/yarp/node.rb#6351 class YARP::RegularExpressionNode < ::YARP::Node # def initialize: (opening_loc: Location, content_loc: Location, closing_loc: Location, unescaped: String, flags: Integer, location: Location) -> void # # @return [RegularExpressionNode] a new instance of RegularExpressionNode # - # source://yarp//lib/yarp/node.rb#6378 + # source://yarp//lib/yarp/node.rb#6368 def initialize(opening_loc, content_loc, closing_loc, unescaped, flags, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#6388 + # source://yarp//lib/yarp/node.rb#6378 def accept(visitor); end # def ascii_8bit?: () -> bool # # @return [Boolean] # - # source://yarp//lib/yarp/node.rb#6453 + # source://yarp//lib/yarp/node.rb#6443 def ascii_8bit?; end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#6393 + # source://yarp//lib/yarp/node.rb#6383 def child_nodes; end # def closing: () -> String # - # source://yarp//lib/yarp/node.rb#6428 + # source://yarp//lib/yarp/node.rb#6418 def closing; end # attr_reader closing_loc: Location # - # source://yarp//lib/yarp/node.rb#6369 + # source://yarp//lib/yarp/node.rb#6359 def closing_loc; end # def content: () -> String # - # source://yarp//lib/yarp/node.rb#6423 + # source://yarp//lib/yarp/node.rb#6413 def content; end # attr_reader content_loc: Location # - # source://yarp//lib/yarp/node.rb#6366 + # source://yarp//lib/yarp/node.rb#6356 def content_loc; end # def copy: (**params) -> RegularExpressionNode # - # source://yarp//lib/yarp/node.rb#6398 + # source://yarp//lib/yarp/node.rb#6388 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#6393 + # source://yarp//lib/yarp/node.rb#6383 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#6413 + # source://yarp//lib/yarp/node.rb#6403 def deconstruct_keys(keys); end # def euc_jp?: () -> bool # # @return [Boolean] # - # source://yarp//lib/yarp/node.rb#6448 + # source://yarp//lib/yarp/node.rb#6438 def euc_jp?; end # def extended?: () -> bool # # @return [Boolean] # - # source://yarp//lib/yarp/node.rb#6443 + # source://yarp//lib/yarp/node.rb#6433 def extended?; end # attr_reader flags: Integer # - # source://yarp//lib/yarp/node.rb#6375 + # source://yarp//lib/yarp/node.rb#6365 def flags; end # def ignore_case?: () -> bool # # @return [Boolean] # - # source://yarp//lib/yarp/node.rb#6433 + # source://yarp//lib/yarp/node.rb#6423 def ignore_case?; end # def multi_line?: () -> bool # # @return [Boolean] # - # source://yarp//lib/yarp/node.rb#6438 + # source://yarp//lib/yarp/node.rb#6428 def multi_line?; end # def once?: () -> bool # # @return [Boolean] # - # source://yarp//lib/yarp/node.rb#6468 + # source://yarp//lib/yarp/node.rb#6458 def once?; end # def opening: () -> String # - # source://yarp//lib/yarp/node.rb#6418 + # source://yarp//lib/yarp/node.rb#6408 def opening; end # attr_reader opening_loc: Location # - # source://yarp//lib/yarp/node.rb#6363 + # source://yarp//lib/yarp/node.rb#6353 def opening_loc; end # attr_reader unescaped: String # - # source://yarp//lib/yarp/node.rb#6372 + # source://yarp//lib/yarp/node.rb#6362 def unescaped; end # def utf_8?: () -> bool # # @return [Boolean] # - # source://yarp//lib/yarp/node.rb#6463 + # source://yarp//lib/yarp/node.rb#6453 def utf_8?; end # def windows_31j?: () -> bool # # @return [Boolean] # - # source://yarp//lib/yarp/node.rb#6458 + # source://yarp//lib/yarp/node.rb#6448 def windows_31j?; end end @@ -9491,64 +9469,64 @@ end # ^^^^^^^^^^ # end # -# source://yarp//lib/yarp/node.rb#6479 +# source://yarp//lib/yarp/node.rb#6468 class YARP::RequiredDestructuredParameterNode < ::YARP::Node # def initialize: (parameters: Array[Node], opening_loc: Location, closing_loc: Location, location: Location) -> void # # @return [RequiredDestructuredParameterNode] a new instance of RequiredDestructuredParameterNode # - # source://yarp//lib/yarp/node.rb#6489 + # source://yarp//lib/yarp/node.rb#6479 def initialize(parameters, opening_loc, closing_loc, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#6497 + # source://yarp//lib/yarp/node.rb#6487 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#6502 + # source://yarp//lib/yarp/node.rb#6492 def child_nodes; end # def closing: () -> String # - # source://yarp//lib/yarp/node.rb#6530 + # source://yarp//lib/yarp/node.rb#6520 def closing; end # attr_reader closing_loc: Location # - # source://yarp//lib/yarp/node.rb#6486 + # source://yarp//lib/yarp/node.rb#6476 def closing_loc; end # def copy: (**params) -> RequiredDestructuredParameterNode # - # source://yarp//lib/yarp/node.rb#6507 + # source://yarp//lib/yarp/node.rb#6497 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#6502 + # source://yarp//lib/yarp/node.rb#6492 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#6520 + # source://yarp//lib/yarp/node.rb#6510 def deconstruct_keys(keys); end # def opening: () -> String # - # source://yarp//lib/yarp/node.rb#6525 + # source://yarp//lib/yarp/node.rb#6515 def opening; end # attr_reader opening_loc: Location # - # source://yarp//lib/yarp/node.rb#6483 + # source://yarp//lib/yarp/node.rb#6473 def opening_loc; end # attr_reader parameters: Array[Node] # - # source://yarp//lib/yarp/node.rb#6480 + # source://yarp//lib/yarp/node.rb#6470 def parameters; end end @@ -9558,45 +9536,45 @@ end # ^ # end # -# source://yarp//lib/yarp/node.rb#6541 +# source://yarp//lib/yarp/node.rb#6530 class YARP::RequiredParameterNode < ::YARP::Node - # def initialize: (constant_id: Symbol, location: Location) -> void + # def initialize: (name: Symbol, location: Location) -> void # # @return [RequiredParameterNode] a new instance of RequiredParameterNode # - # source://yarp//lib/yarp/node.rb#6545 - def initialize(constant_id, location); end + # source://yarp//lib/yarp/node.rb#6535 + def initialize(name, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#6551 + # source://yarp//lib/yarp/node.rb#6541 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#6556 + # source://yarp//lib/yarp/node.rb#6546 def child_nodes; end - # attr_reader constant_id: Symbol - # - # source://yarp//lib/yarp/node.rb#6542 - def constant_id; end - # def copy: (**params) -> RequiredParameterNode # - # source://yarp//lib/yarp/node.rb#6561 + # source://yarp//lib/yarp/node.rb#6551 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#6556 + # source://yarp//lib/yarp/node.rb#6546 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#6572 + # source://yarp//lib/yarp/node.rb#6562 def deconstruct_keys(keys); end + + # attr_reader name: Symbol + # + # source://yarp//lib/yarp/node.rb#6532 + def name; end end # Represents an expression modified with a rescue. @@ -9604,62 +9582,62 @@ end # foo rescue nil # ^^^^^^^^^^^^^^ # -# source://yarp//lib/yarp/node.rb#6582 +# source://yarp//lib/yarp/node.rb#6571 class YARP::RescueModifierNode < ::YARP::Node # def initialize: (expression: Node, keyword_loc: Location, rescue_expression: Node, location: Location) -> void # # @return [RescueModifierNode] a new instance of RescueModifierNode # - # source://yarp//lib/yarp/node.rb#6592 + # source://yarp//lib/yarp/node.rb#6582 def initialize(expression, keyword_loc, rescue_expression, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#6600 + # source://yarp//lib/yarp/node.rb#6590 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#6609 + # source://yarp//lib/yarp/node.rb#6599 def child_nodes; end # def copy: (**params) -> RescueModifierNode # - # source://yarp//lib/yarp/node.rb#6614 + # source://yarp//lib/yarp/node.rb#6604 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#6609 + # source://yarp//lib/yarp/node.rb#6599 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#6627 + # source://yarp//lib/yarp/node.rb#6617 def deconstruct_keys(keys); end # attr_reader expression: Node # - # source://yarp//lib/yarp/node.rb#6583 + # source://yarp//lib/yarp/node.rb#6573 def expression; end # def keyword: () -> String # - # source://yarp//lib/yarp/node.rb#6632 + # source://yarp//lib/yarp/node.rb#6622 def keyword; end # attr_reader keyword_loc: Location # - # source://yarp//lib/yarp/node.rb#6586 + # source://yarp//lib/yarp/node.rb#6576 def keyword_loc; end # attr_reader rescue_expression: Node # - # source://yarp//lib/yarp/node.rb#6589 + # source://yarp//lib/yarp/node.rb#6579 def rescue_expression; end - # source://yarp//lib/yarp/node.rb#6604 + # source://yarp//lib/yarp/node.rb#6594 def set_newline_flag(newline_marked); end end @@ -9674,79 +9652,79 @@ end # `Foo, *splat, Bar` are in the `exceptions` field. # `ex` is in the `exception` field. # -# source://yarp//lib/yarp/node.rb#6648 +# source://yarp//lib/yarp/node.rb#6637 class YARP::RescueNode < ::YARP::Node # def initialize: (keyword_loc: Location, exceptions: Array[Node], operator_loc: Location?, reference: Node?, statements: StatementsNode?, consequent: RescueNode?, location: Location) -> void # # @return [RescueNode] a new instance of RescueNode # - # source://yarp//lib/yarp/node.rb#6667 + # source://yarp//lib/yarp/node.rb#6657 def initialize(keyword_loc, exceptions, operator_loc, reference, statements, consequent, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#6678 + # source://yarp//lib/yarp/node.rb#6668 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#6683 + # source://yarp//lib/yarp/node.rb#6673 def child_nodes; end # attr_reader consequent: RescueNode? # - # source://yarp//lib/yarp/node.rb#6664 + # source://yarp//lib/yarp/node.rb#6654 def consequent; end # def copy: (**params) -> RescueNode # - # source://yarp//lib/yarp/node.rb#6688 + # source://yarp//lib/yarp/node.rb#6678 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#6683 + # source://yarp//lib/yarp/node.rb#6673 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#6704 + # source://yarp//lib/yarp/node.rb#6694 def deconstruct_keys(keys); end # attr_reader exceptions: Array[Node] # - # source://yarp//lib/yarp/node.rb#6652 + # source://yarp//lib/yarp/node.rb#6642 def exceptions; end # def keyword: () -> String # - # source://yarp//lib/yarp/node.rb#6709 + # source://yarp//lib/yarp/node.rb#6699 def keyword; end # attr_reader keyword_loc: Location # - # source://yarp//lib/yarp/node.rb#6649 + # source://yarp//lib/yarp/node.rb#6639 def keyword_loc; end # def operator: () -> String? # - # source://yarp//lib/yarp/node.rb#6714 + # source://yarp//lib/yarp/node.rb#6704 def operator; end # attr_reader operator_loc: Location? # - # source://yarp//lib/yarp/node.rb#6655 + # source://yarp//lib/yarp/node.rb#6645 def operator_loc; end # attr_reader reference: Node? # - # source://yarp//lib/yarp/node.rb#6658 + # source://yarp//lib/yarp/node.rb#6648 def reference; end # attr_reader statements: StatementsNode? # - # source://yarp//lib/yarp/node.rb#6661 + # source://yarp//lib/yarp/node.rb#6651 def statements; end end @@ -9756,59 +9734,59 @@ end # ^^ # end # -# source://yarp//lib/yarp/node.rb#6725 +# source://yarp//lib/yarp/node.rb#6714 class YARP::RestParameterNode < ::YARP::Node # def initialize: (operator_loc: Location, name_loc: Location?, location: Location) -> void # # @return [RestParameterNode] a new instance of RestParameterNode # - # source://yarp//lib/yarp/node.rb#6732 + # source://yarp//lib/yarp/node.rb#6722 def initialize(operator_loc, name_loc, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#6739 + # source://yarp//lib/yarp/node.rb#6729 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#6744 + # source://yarp//lib/yarp/node.rb#6734 def child_nodes; end # def copy: (**params) -> RestParameterNode # - # source://yarp//lib/yarp/node.rb#6749 + # source://yarp//lib/yarp/node.rb#6739 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#6744 + # source://yarp//lib/yarp/node.rb#6734 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#6761 + # source://yarp//lib/yarp/node.rb#6751 def deconstruct_keys(keys); end # def name: () -> String? # - # source://yarp//lib/yarp/node.rb#6771 + # source://yarp//lib/yarp/node.rb#6761 def name; end # attr_reader name_loc: Location? # - # source://yarp//lib/yarp/node.rb#6729 + # source://yarp//lib/yarp/node.rb#6719 def name_loc; end # def operator: () -> String # - # source://yarp//lib/yarp/node.rb#6766 + # source://yarp//lib/yarp/node.rb#6756 def operator; end # attr_reader operator_loc: Location # - # source://yarp//lib/yarp/node.rb#6726 + # source://yarp//lib/yarp/node.rb#6716 def operator_loc; end end @@ -9817,39 +9795,39 @@ end # retry # ^^^^^ # -# source://yarp//lib/yarp/node.rb#6781 +# source://yarp//lib/yarp/node.rb#6770 class YARP::RetryNode < ::YARP::Node # def initialize: (location: Location) -> void # # @return [RetryNode] a new instance of RetryNode # - # source://yarp//lib/yarp/node.rb#6782 + # source://yarp//lib/yarp/node.rb#6772 def initialize(location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#6787 + # source://yarp//lib/yarp/node.rb#6777 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#6792 + # source://yarp//lib/yarp/node.rb#6782 def child_nodes; end # def copy: (**params) -> RetryNode # - # source://yarp//lib/yarp/node.rb#6797 + # source://yarp//lib/yarp/node.rb#6787 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#6792 + # source://yarp//lib/yarp/node.rb#6782 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#6807 + # source://yarp//lib/yarp/node.rb#6797 def deconstruct_keys(keys); end end @@ -9858,54 +9836,54 @@ end # return 1 # ^^^^^^^^ # -# source://yarp//lib/yarp/node.rb#6817 +# source://yarp//lib/yarp/node.rb#6806 class YARP::ReturnNode < ::YARP::Node # def initialize: (keyword_loc: Location, arguments: ArgumentsNode?, location: Location) -> void # # @return [ReturnNode] a new instance of ReturnNode # - # source://yarp//lib/yarp/node.rb#6824 + # source://yarp//lib/yarp/node.rb#6814 def initialize(keyword_loc, arguments, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#6831 + # source://yarp//lib/yarp/node.rb#6821 def accept(visitor); end # attr_reader arguments: ArgumentsNode? # - # source://yarp//lib/yarp/node.rb#6821 + # source://yarp//lib/yarp/node.rb#6811 def arguments; end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#6836 + # source://yarp//lib/yarp/node.rb#6826 def child_nodes; end # def copy: (**params) -> ReturnNode # - # source://yarp//lib/yarp/node.rb#6841 + # source://yarp//lib/yarp/node.rb#6831 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#6836 + # source://yarp//lib/yarp/node.rb#6826 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#6853 + # source://yarp//lib/yarp/node.rb#6843 def deconstruct_keys(keys); end # def keyword: () -> String # - # source://yarp//lib/yarp/node.rb#6858 + # source://yarp//lib/yarp/node.rb#6848 def keyword; end # attr_reader keyword_loc: Location # - # source://yarp//lib/yarp/node.rb#6818 + # source://yarp//lib/yarp/node.rb#6808 def keyword_loc; end end @@ -11254,39 +11232,39 @@ end # self # ^^^^ # -# source://yarp//lib/yarp/node.rb#6868 +# source://yarp//lib/yarp/node.rb#6857 class YARP::SelfNode < ::YARP::Node # def initialize: (location: Location) -> void # # @return [SelfNode] a new instance of SelfNode # - # source://yarp//lib/yarp/node.rb#6869 + # source://yarp//lib/yarp/node.rb#6859 def initialize(location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#6874 + # source://yarp//lib/yarp/node.rb#6864 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#6879 + # source://yarp//lib/yarp/node.rb#6869 def child_nodes; end # def copy: (**params) -> SelfNode # - # source://yarp//lib/yarp/node.rb#6884 + # source://yarp//lib/yarp/node.rb#6874 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#6879 + # source://yarp//lib/yarp/node.rb#6869 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#6894 + # source://yarp//lib/yarp/node.rb#6884 def deconstruct_keys(keys); end end @@ -11411,84 +11389,84 @@ YARP::Serialize::TOKEN_TYPES = T.let(T.unsafe(nil), Array) # class << self end # ^^^^^^^^^^^^^^^^^ # -# source://yarp//lib/yarp/node.rb#6904 +# source://yarp//lib/yarp/node.rb#6893 class YARP::SingletonClassNode < ::YARP::Node # def initialize: (locals: Array[Symbol], class_keyword_loc: Location, operator_loc: Location, expression: Node, body: Node?, end_keyword_loc: Location, location: Location) -> void # # @return [SingletonClassNode] a new instance of SingletonClassNode # - # source://yarp//lib/yarp/node.rb#6923 + # source://yarp//lib/yarp/node.rb#6913 def initialize(locals, class_keyword_loc, operator_loc, expression, body, end_keyword_loc, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#6934 + # source://yarp//lib/yarp/node.rb#6924 def accept(visitor); end # attr_reader body: Node? # - # source://yarp//lib/yarp/node.rb#6917 + # source://yarp//lib/yarp/node.rb#6907 def body; end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#6939 + # source://yarp//lib/yarp/node.rb#6929 def child_nodes; end # def class_keyword: () -> String # - # source://yarp//lib/yarp/node.rb#6965 + # source://yarp//lib/yarp/node.rb#6955 def class_keyword; end # attr_reader class_keyword_loc: Location # - # source://yarp//lib/yarp/node.rb#6908 + # source://yarp//lib/yarp/node.rb#6898 def class_keyword_loc; end # def copy: (**params) -> SingletonClassNode # - # source://yarp//lib/yarp/node.rb#6944 + # source://yarp//lib/yarp/node.rb#6934 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#6939 + # source://yarp//lib/yarp/node.rb#6929 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#6960 + # source://yarp//lib/yarp/node.rb#6950 def deconstruct_keys(keys); end # def end_keyword: () -> String # - # source://yarp//lib/yarp/node.rb#6975 + # source://yarp//lib/yarp/node.rb#6965 def end_keyword; end # attr_reader end_keyword_loc: Location # - # source://yarp//lib/yarp/node.rb#6920 + # source://yarp//lib/yarp/node.rb#6910 def end_keyword_loc; end # attr_reader expression: Node # - # source://yarp//lib/yarp/node.rb#6914 + # source://yarp//lib/yarp/node.rb#6904 def expression; end # attr_reader locals: Array[Symbol] # - # source://yarp//lib/yarp/node.rb#6905 + # source://yarp//lib/yarp/node.rb#6895 def locals; end # def operator: () -> String # - # source://yarp//lib/yarp/node.rb#6970 + # source://yarp//lib/yarp/node.rb#6960 def operator; end # attr_reader operator_loc: Location # - # source://yarp//lib/yarp/node.rb#6911 + # source://yarp//lib/yarp/node.rb#6901 def operator_loc; end end @@ -11533,39 +11511,39 @@ end # __ENCODING__ # ^^^^^^^^^^^^ # -# source://yarp//lib/yarp/node.rb#6985 +# source://yarp//lib/yarp/node.rb#6974 class YARP::SourceEncodingNode < ::YARP::Node # def initialize: (location: Location) -> void # # @return [SourceEncodingNode] a new instance of SourceEncodingNode # - # source://yarp//lib/yarp/node.rb#6986 + # source://yarp//lib/yarp/node.rb#6976 def initialize(location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#6991 + # source://yarp//lib/yarp/node.rb#6981 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#6996 + # source://yarp//lib/yarp/node.rb#6986 def child_nodes; end # def copy: (**params) -> SourceEncodingNode # - # source://yarp//lib/yarp/node.rb#7001 + # source://yarp//lib/yarp/node.rb#6991 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#6996 + # source://yarp//lib/yarp/node.rb#6986 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#7011 + # source://yarp//lib/yarp/node.rb#7001 def deconstruct_keys(keys); end end @@ -11574,44 +11552,44 @@ end # __FILE__ # ^^^^^^^^ # -# source://yarp//lib/yarp/node.rb#7021 +# source://yarp//lib/yarp/node.rb#7010 class YARP::SourceFileNode < ::YARP::Node # def initialize: (filepath: String, location: Location) -> void # # @return [SourceFileNode] a new instance of SourceFileNode # - # source://yarp//lib/yarp/node.rb#7025 + # source://yarp//lib/yarp/node.rb#7015 def initialize(filepath, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#7031 + # source://yarp//lib/yarp/node.rb#7021 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#7036 + # source://yarp//lib/yarp/node.rb#7026 def child_nodes; end # def copy: (**params) -> SourceFileNode # - # source://yarp//lib/yarp/node.rb#7041 + # source://yarp//lib/yarp/node.rb#7031 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#7036 + # source://yarp//lib/yarp/node.rb#7026 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#7052 + # source://yarp//lib/yarp/node.rb#7042 def deconstruct_keys(keys); end # attr_reader filepath: String # - # source://yarp//lib/yarp/node.rb#7022 + # source://yarp//lib/yarp/node.rb#7012 def filepath; end end @@ -11620,39 +11598,39 @@ end # __LINE__ # ^^^^^^^^ # -# source://yarp//lib/yarp/node.rb#7062 +# source://yarp//lib/yarp/node.rb#7051 class YARP::SourceLineNode < ::YARP::Node # def initialize: (location: Location) -> void # # @return [SourceLineNode] a new instance of SourceLineNode # - # source://yarp//lib/yarp/node.rb#7063 + # source://yarp//lib/yarp/node.rb#7053 def initialize(location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#7068 + # source://yarp//lib/yarp/node.rb#7058 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#7073 + # source://yarp//lib/yarp/node.rb#7063 def child_nodes; end # def copy: (**params) -> SourceLineNode # - # source://yarp//lib/yarp/node.rb#7078 + # source://yarp//lib/yarp/node.rb#7068 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#7073 + # source://yarp//lib/yarp/node.rb#7063 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#7088 + # source://yarp//lib/yarp/node.rb#7078 def deconstruct_keys(keys); end end @@ -11661,54 +11639,54 @@ end # [*a] # ^^ # -# source://yarp//lib/yarp/node.rb#7098 +# source://yarp//lib/yarp/node.rb#7087 class YARP::SplatNode < ::YARP::Node # def initialize: (operator_loc: Location, expression: Node?, location: Location) -> void # # @return [SplatNode] a new instance of SplatNode # - # source://yarp//lib/yarp/node.rb#7105 + # source://yarp//lib/yarp/node.rb#7095 def initialize(operator_loc, expression, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#7112 + # source://yarp//lib/yarp/node.rb#7102 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#7117 + # source://yarp//lib/yarp/node.rb#7107 def child_nodes; end # def copy: (**params) -> SplatNode # - # source://yarp//lib/yarp/node.rb#7122 + # source://yarp//lib/yarp/node.rb#7112 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#7117 + # source://yarp//lib/yarp/node.rb#7107 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#7134 + # source://yarp//lib/yarp/node.rb#7124 def deconstruct_keys(keys); end # attr_reader expression: Node? # - # source://yarp//lib/yarp/node.rb#7102 + # source://yarp//lib/yarp/node.rb#7092 def expression; end # def operator: () -> String # - # source://yarp//lib/yarp/node.rb#7139 + # source://yarp//lib/yarp/node.rb#7129 def operator; end # attr_reader operator_loc: Location # - # source://yarp//lib/yarp/node.rb#7099 + # source://yarp//lib/yarp/node.rb#7089 def operator_loc; end end @@ -11717,44 +11695,44 @@ end # foo; bar; baz # ^^^^^^^^^^^^^ # -# source://yarp//lib/yarp/node.rb#7149 +# source://yarp//lib/yarp/node.rb#7138 class YARP::StatementsNode < ::YARP::Node # def initialize: (body: Array[Node], location: Location) -> void # # @return [StatementsNode] a new instance of StatementsNode # - # source://yarp//lib/yarp/node.rb#7153 + # source://yarp//lib/yarp/node.rb#7143 def initialize(body, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#7159 + # source://yarp//lib/yarp/node.rb#7149 def accept(visitor); end # attr_reader body: Array[Node] # - # source://yarp//lib/yarp/node.rb#7150 + # source://yarp//lib/yarp/node.rb#7140 def body; end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#7164 + # source://yarp//lib/yarp/node.rb#7154 def child_nodes; end # def copy: (**params) -> StatementsNode # - # source://yarp//lib/yarp/node.rb#7169 + # source://yarp//lib/yarp/node.rb#7159 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#7164 + # source://yarp//lib/yarp/node.rb#7154 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#7180 + # source://yarp//lib/yarp/node.rb#7170 def deconstruct_keys(keys); end end @@ -11763,49 +11741,49 @@ end # "foo" "bar" # ^^^^^^^^^^^ # -# source://yarp//lib/yarp/node.rb#7190 +# source://yarp//lib/yarp/node.rb#7179 class YARP::StringConcatNode < ::YARP::Node # def initialize: (left: Node, right: Node, location: Location) -> void # # @return [StringConcatNode] a new instance of StringConcatNode # - # source://yarp//lib/yarp/node.rb#7197 + # source://yarp//lib/yarp/node.rb#7187 def initialize(left, right, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#7204 + # source://yarp//lib/yarp/node.rb#7194 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#7209 + # source://yarp//lib/yarp/node.rb#7199 def child_nodes; end # def copy: (**params) -> StringConcatNode # - # source://yarp//lib/yarp/node.rb#7214 + # source://yarp//lib/yarp/node.rb#7204 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#7209 + # source://yarp//lib/yarp/node.rb#7199 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#7226 + # source://yarp//lib/yarp/node.rb#7216 def deconstruct_keys(keys); end # attr_reader left: Node # - # source://yarp//lib/yarp/node.rb#7191 + # source://yarp//lib/yarp/node.rb#7181 def left; end # attr_reader right: Node # - # source://yarp//lib/yarp/node.rb#7194 + # source://yarp//lib/yarp/node.rb#7184 def right; end end @@ -11821,74 +11799,74 @@ end # "foo #{bar} baz" # ^^^^ ^^^^ # -# source://yarp//lib/yarp/node.rb#7243 +# source://yarp//lib/yarp/node.rb#7232 class YARP::StringNode < ::YARP::Node # def initialize: (opening_loc: Location?, content_loc: Location, closing_loc: Location?, unescaped: String, location: Location) -> void # # @return [StringNode] a new instance of StringNode # - # source://yarp//lib/yarp/node.rb#7256 + # source://yarp//lib/yarp/node.rb#7246 def initialize(opening_loc, content_loc, closing_loc, unescaped, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#7265 + # source://yarp//lib/yarp/node.rb#7255 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#7270 + # source://yarp//lib/yarp/node.rb#7260 def child_nodes; end # def closing: () -> String? # - # source://yarp//lib/yarp/node.rb#7304 + # source://yarp//lib/yarp/node.rb#7294 def closing; end # attr_reader closing_loc: Location? # - # source://yarp//lib/yarp/node.rb#7250 + # source://yarp//lib/yarp/node.rb#7240 def closing_loc; end # def content: () -> String # - # source://yarp//lib/yarp/node.rb#7299 + # source://yarp//lib/yarp/node.rb#7289 def content; end # attr_reader content_loc: Location # - # source://yarp//lib/yarp/node.rb#7247 + # source://yarp//lib/yarp/node.rb#7237 def content_loc; end # def copy: (**params) -> StringNode # - # source://yarp//lib/yarp/node.rb#7275 + # source://yarp//lib/yarp/node.rb#7265 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#7270 + # source://yarp//lib/yarp/node.rb#7260 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#7289 + # source://yarp//lib/yarp/node.rb#7279 def deconstruct_keys(keys); end # def opening: () -> String? # - # source://yarp//lib/yarp/node.rb#7294 + # source://yarp//lib/yarp/node.rb#7284 def opening; end # attr_reader opening_loc: Location? # - # source://yarp//lib/yarp/node.rb#7244 + # source://yarp//lib/yarp/node.rb#7234 def opening_loc; end # attr_reader unescaped: String # - # source://yarp//lib/yarp/node.rb#7253 + # source://yarp//lib/yarp/node.rb#7243 def unescaped; end end @@ -11900,79 +11878,79 @@ end # super foo, bar # ^^^^^^^^^^^^^^ # -# source://yarp//lib/yarp/node.rb#7317 +# source://yarp//lib/yarp/node.rb#7306 class YARP::SuperNode < ::YARP::Node # def initialize: (keyword_loc: Location, lparen_loc: Location?, arguments: ArgumentsNode?, rparen_loc: Location?, block: BlockNode?, location: Location) -> void # # @return [SuperNode] a new instance of SuperNode # - # source://yarp//lib/yarp/node.rb#7333 + # source://yarp//lib/yarp/node.rb#7323 def initialize(keyword_loc, lparen_loc, arguments, rparen_loc, block, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#7343 + # source://yarp//lib/yarp/node.rb#7333 def accept(visitor); end # attr_reader arguments: ArgumentsNode? # - # source://yarp//lib/yarp/node.rb#7324 + # source://yarp//lib/yarp/node.rb#7314 def arguments; end # attr_reader block: BlockNode? # - # source://yarp//lib/yarp/node.rb#7330 + # source://yarp//lib/yarp/node.rb#7320 def block; end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#7348 + # source://yarp//lib/yarp/node.rb#7338 def child_nodes; end # def copy: (**params) -> SuperNode # - # source://yarp//lib/yarp/node.rb#7353 + # source://yarp//lib/yarp/node.rb#7343 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#7348 + # source://yarp//lib/yarp/node.rb#7338 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#7368 + # source://yarp//lib/yarp/node.rb#7358 def deconstruct_keys(keys); end # def keyword: () -> String # - # source://yarp//lib/yarp/node.rb#7373 + # source://yarp//lib/yarp/node.rb#7363 def keyword; end # attr_reader keyword_loc: Location # - # source://yarp//lib/yarp/node.rb#7318 + # source://yarp//lib/yarp/node.rb#7308 def keyword_loc; end # def lparen: () -> String? # - # source://yarp//lib/yarp/node.rb#7378 + # source://yarp//lib/yarp/node.rb#7368 def lparen; end # attr_reader lparen_loc: Location? # - # source://yarp//lib/yarp/node.rb#7321 + # source://yarp//lib/yarp/node.rb#7311 def lparen_loc; end # def rparen: () -> String? # - # source://yarp//lib/yarp/node.rb#7383 + # source://yarp//lib/yarp/node.rb#7373 def rparen; end # attr_reader rparen_loc: Location? # - # source://yarp//lib/yarp/node.rb#7327 + # source://yarp//lib/yarp/node.rb#7317 def rparen_loc; end end @@ -11984,74 +11962,74 @@ end # %i[foo] # ^^^ # -# source://yarp//lib/yarp/node.rb#7396 +# source://yarp//lib/yarp/node.rb#7385 class YARP::SymbolNode < ::YARP::Node # def initialize: (opening_loc: Location?, value_loc: Location?, closing_loc: Location?, unescaped: String, location: Location) -> void # # @return [SymbolNode] a new instance of SymbolNode # - # source://yarp//lib/yarp/node.rb#7409 + # source://yarp//lib/yarp/node.rb#7399 def initialize(opening_loc, value_loc, closing_loc, unescaped, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#7418 + # source://yarp//lib/yarp/node.rb#7408 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#7423 + # source://yarp//lib/yarp/node.rb#7413 def child_nodes; end # def closing: () -> String? # - # source://yarp//lib/yarp/node.rb#7457 + # source://yarp//lib/yarp/node.rb#7447 def closing; end # attr_reader closing_loc: Location? # - # source://yarp//lib/yarp/node.rb#7403 + # source://yarp//lib/yarp/node.rb#7393 def closing_loc; end # def copy: (**params) -> SymbolNode # - # source://yarp//lib/yarp/node.rb#7428 + # source://yarp//lib/yarp/node.rb#7418 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#7423 + # source://yarp//lib/yarp/node.rb#7413 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#7442 + # source://yarp//lib/yarp/node.rb#7432 def deconstruct_keys(keys); end # def opening: () -> String? # - # source://yarp//lib/yarp/node.rb#7447 + # source://yarp//lib/yarp/node.rb#7437 def opening; end # attr_reader opening_loc: Location? # - # source://yarp//lib/yarp/node.rb#7397 + # source://yarp//lib/yarp/node.rb#7387 def opening_loc; end # attr_reader unescaped: String # - # source://yarp//lib/yarp/node.rb#7406 + # source://yarp//lib/yarp/node.rb#7396 def unescaped; end # def value: () -> String? # - # source://yarp//lib/yarp/node.rb#7452 + # source://yarp//lib/yarp/node.rb#7442 def value; end # attr_reader value_loc: Location? # - # source://yarp//lib/yarp/node.rb#7400 + # source://yarp//lib/yarp/node.rb#7390 def value_loc; end end @@ -12094,39 +12072,39 @@ end # true # ^^^^ # -# source://yarp//lib/yarp/node.rb#7467 +# source://yarp//lib/yarp/node.rb#7456 class YARP::TrueNode < ::YARP::Node # def initialize: (location: Location) -> void # # @return [TrueNode] a new instance of TrueNode # - # source://yarp//lib/yarp/node.rb#7468 + # source://yarp//lib/yarp/node.rb#7458 def initialize(location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#7473 + # source://yarp//lib/yarp/node.rb#7463 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#7478 + # source://yarp//lib/yarp/node.rb#7468 def child_nodes; end # def copy: (**params) -> TrueNode # - # source://yarp//lib/yarp/node.rb#7483 + # source://yarp//lib/yarp/node.rb#7473 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#7478 + # source://yarp//lib/yarp/node.rb#7468 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#7493 + # source://yarp//lib/yarp/node.rb#7483 def deconstruct_keys(keys); end end @@ -12135,54 +12113,54 @@ end # undef :foo, :bar, :baz # ^^^^^^^^^^^^^^^^^^^^^^ # -# source://yarp//lib/yarp/node.rb#7503 +# source://yarp//lib/yarp/node.rb#7492 class YARP::UndefNode < ::YARP::Node # def initialize: (names: Array[Node], keyword_loc: Location, location: Location) -> void # # @return [UndefNode] a new instance of UndefNode # - # source://yarp//lib/yarp/node.rb#7510 + # source://yarp//lib/yarp/node.rb#7500 def initialize(names, keyword_loc, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#7517 + # source://yarp//lib/yarp/node.rb#7507 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#7522 + # source://yarp//lib/yarp/node.rb#7512 def child_nodes; end # def copy: (**params) -> UndefNode # - # source://yarp//lib/yarp/node.rb#7527 + # source://yarp//lib/yarp/node.rb#7517 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#7522 + # source://yarp//lib/yarp/node.rb#7512 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#7539 + # source://yarp//lib/yarp/node.rb#7529 def deconstruct_keys(keys); end # def keyword: () -> String # - # source://yarp//lib/yarp/node.rb#7544 + # source://yarp//lib/yarp/node.rb#7534 def keyword; end # attr_reader keyword_loc: Location # - # source://yarp//lib/yarp/node.rb#7507 + # source://yarp//lib/yarp/node.rb#7497 def keyword_loc; end # attr_reader names: Array[Node] # - # source://yarp//lib/yarp/node.rb#7504 + # source://yarp//lib/yarp/node.rb#7494 def names; end end @@ -12194,77 +12172,77 @@ end # unless foo then bar end # ^^^^^^^^^^^^^^^^^^^^^^^ # -# source://yarp//lib/yarp/node.rb#7557 +# source://yarp//lib/yarp/node.rb#7546 class YARP::UnlessNode < ::YARP::Node # def initialize: (keyword_loc: Location, predicate: Node, statements: StatementsNode?, consequent: ElseNode?, end_keyword_loc: Location?, location: Location) -> void # # @return [UnlessNode] a new instance of UnlessNode # - # source://yarp//lib/yarp/node.rb#7573 + # source://yarp//lib/yarp/node.rb#7563 def initialize(keyword_loc, predicate, statements, consequent, end_keyword_loc, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#7583 + # source://yarp//lib/yarp/node.rb#7573 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#7592 + # source://yarp//lib/yarp/node.rb#7582 def child_nodes; end # attr_reader consequent: ElseNode? # - # source://yarp//lib/yarp/node.rb#7567 + # source://yarp//lib/yarp/node.rb#7557 def consequent; end # def copy: (**params) -> UnlessNode # - # source://yarp//lib/yarp/node.rb#7597 + # source://yarp//lib/yarp/node.rb#7587 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#7592 + # source://yarp//lib/yarp/node.rb#7582 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#7612 + # source://yarp//lib/yarp/node.rb#7602 def deconstruct_keys(keys); end # def end_keyword: () -> String? # - # source://yarp//lib/yarp/node.rb#7622 + # source://yarp//lib/yarp/node.rb#7612 def end_keyword; end # attr_reader end_keyword_loc: Location? # - # source://yarp//lib/yarp/node.rb#7570 + # source://yarp//lib/yarp/node.rb#7560 def end_keyword_loc; end # def keyword: () -> String # - # source://yarp//lib/yarp/node.rb#7617 + # source://yarp//lib/yarp/node.rb#7607 def keyword; end # attr_reader keyword_loc: Location # - # source://yarp//lib/yarp/node.rb#7558 + # source://yarp//lib/yarp/node.rb#7548 def keyword_loc; end # attr_reader predicate: Node # - # source://yarp//lib/yarp/node.rb#7561 + # source://yarp//lib/yarp/node.rb#7551 def predicate; end - # source://yarp//lib/yarp/node.rb#7587 + # source://yarp//lib/yarp/node.rb#7577 def set_newline_flag(newline_marked); end # attr_reader statements: StatementsNode? # - # source://yarp//lib/yarp/node.rb#7564 + # source://yarp//lib/yarp/node.rb#7554 def statements; end end @@ -12276,84 +12254,84 @@ end # until foo do bar end # ^^^^^^^^^^^^^^^^^^^^ # -# source://yarp//lib/yarp/node.rb#7635 +# source://yarp//lib/yarp/node.rb#7624 class YARP::UntilNode < ::YARP::Node # def initialize: (keyword_loc: Location, closing_loc: Location?, predicate: Node, statements: StatementsNode?, flags: Integer, location: Location) -> void # # @return [UntilNode] a new instance of UntilNode # - # source://yarp//lib/yarp/node.rb#7651 + # source://yarp//lib/yarp/node.rb#7641 def initialize(keyword_loc, closing_loc, predicate, statements, flags, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#7661 + # source://yarp//lib/yarp/node.rb#7651 def accept(visitor); end # def begin_modifier?: () -> bool # # @return [Boolean] # - # source://yarp//lib/yarp/node.rb#7705 + # source://yarp//lib/yarp/node.rb#7695 def begin_modifier?; end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#7670 + # source://yarp//lib/yarp/node.rb#7660 def child_nodes; end # def closing: () -> String? # - # source://yarp//lib/yarp/node.rb#7700 + # source://yarp//lib/yarp/node.rb#7690 def closing; end # attr_reader closing_loc: Location? # - # source://yarp//lib/yarp/node.rb#7639 + # source://yarp//lib/yarp/node.rb#7629 def closing_loc; end # def copy: (**params) -> UntilNode # - # source://yarp//lib/yarp/node.rb#7675 + # source://yarp//lib/yarp/node.rb#7665 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#7670 + # source://yarp//lib/yarp/node.rb#7660 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#7690 + # source://yarp//lib/yarp/node.rb#7680 def deconstruct_keys(keys); end # attr_reader flags: Integer # - # source://yarp//lib/yarp/node.rb#7648 + # source://yarp//lib/yarp/node.rb#7638 def flags; end # def keyword: () -> String # - # source://yarp//lib/yarp/node.rb#7695 + # source://yarp//lib/yarp/node.rb#7685 def keyword; end # attr_reader keyword_loc: Location # - # source://yarp//lib/yarp/node.rb#7636 + # source://yarp//lib/yarp/node.rb#7626 def keyword_loc; end # attr_reader predicate: Node # - # source://yarp//lib/yarp/node.rb#7642 + # source://yarp//lib/yarp/node.rb#7632 def predicate; end - # source://yarp//lib/yarp/node.rb#7665 + # source://yarp//lib/yarp/node.rb#7655 def set_newline_flag(newline_marked); end # attr_reader statements: StatementsNode? # - # source://yarp//lib/yarp/node.rb#7645 + # source://yarp//lib/yarp/node.rb#7635 def statements; end end @@ -13040,59 +13018,59 @@ end # ^^^^^^^^^ # end # -# source://yarp//lib/yarp/node.rb#7717 +# source://yarp//lib/yarp/node.rb#7706 class YARP::WhenNode < ::YARP::Node # def initialize: (keyword_loc: Location, conditions: Array[Node], statements: StatementsNode?, location: Location) -> void # # @return [WhenNode] a new instance of WhenNode # - # source://yarp//lib/yarp/node.rb#7727 + # source://yarp//lib/yarp/node.rb#7717 def initialize(keyword_loc, conditions, statements, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#7735 + # source://yarp//lib/yarp/node.rb#7725 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#7740 + # source://yarp//lib/yarp/node.rb#7730 def child_nodes; end # attr_reader conditions: Array[Node] # - # source://yarp//lib/yarp/node.rb#7721 + # source://yarp//lib/yarp/node.rb#7711 def conditions; end # def copy: (**params) -> WhenNode # - # source://yarp//lib/yarp/node.rb#7745 + # source://yarp//lib/yarp/node.rb#7735 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#7740 + # source://yarp//lib/yarp/node.rb#7730 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#7758 + # source://yarp//lib/yarp/node.rb#7748 def deconstruct_keys(keys); end # def keyword: () -> String # - # source://yarp//lib/yarp/node.rb#7763 + # source://yarp//lib/yarp/node.rb#7753 def keyword; end # attr_reader keyword_loc: Location # - # source://yarp//lib/yarp/node.rb#7718 + # source://yarp//lib/yarp/node.rb#7708 def keyword_loc; end # attr_reader statements: StatementsNode? # - # source://yarp//lib/yarp/node.rb#7724 + # source://yarp//lib/yarp/node.rb#7714 def statements; end end @@ -13104,84 +13082,84 @@ end # while foo do bar end # ^^^^^^^^^^^^^^^^^^^^ # -# source://yarp//lib/yarp/node.rb#7776 +# source://yarp//lib/yarp/node.rb#7765 class YARP::WhileNode < ::YARP::Node # def initialize: (keyword_loc: Location, closing_loc: Location?, predicate: Node, statements: StatementsNode?, flags: Integer, location: Location) -> void # # @return [WhileNode] a new instance of WhileNode # - # source://yarp//lib/yarp/node.rb#7792 + # source://yarp//lib/yarp/node.rb#7782 def initialize(keyword_loc, closing_loc, predicate, statements, flags, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#7802 + # source://yarp//lib/yarp/node.rb#7792 def accept(visitor); end # def begin_modifier?: () -> bool # # @return [Boolean] # - # source://yarp//lib/yarp/node.rb#7846 + # source://yarp//lib/yarp/node.rb#7836 def begin_modifier?; end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#7811 + # source://yarp//lib/yarp/node.rb#7801 def child_nodes; end # def closing: () -> String? # - # source://yarp//lib/yarp/node.rb#7841 + # source://yarp//lib/yarp/node.rb#7831 def closing; end # attr_reader closing_loc: Location? # - # source://yarp//lib/yarp/node.rb#7780 + # source://yarp//lib/yarp/node.rb#7770 def closing_loc; end # def copy: (**params) -> WhileNode # - # source://yarp//lib/yarp/node.rb#7816 + # source://yarp//lib/yarp/node.rb#7806 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#7811 + # source://yarp//lib/yarp/node.rb#7801 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#7831 + # source://yarp//lib/yarp/node.rb#7821 def deconstruct_keys(keys); end # attr_reader flags: Integer # - # source://yarp//lib/yarp/node.rb#7789 + # source://yarp//lib/yarp/node.rb#7779 def flags; end # def keyword: () -> String # - # source://yarp//lib/yarp/node.rb#7836 + # source://yarp//lib/yarp/node.rb#7826 def keyword; end # attr_reader keyword_loc: Location # - # source://yarp//lib/yarp/node.rb#7777 + # source://yarp//lib/yarp/node.rb#7767 def keyword_loc; end # attr_reader predicate: Node # - # source://yarp//lib/yarp/node.rb#7783 + # source://yarp//lib/yarp/node.rb#7773 def predicate; end - # source://yarp//lib/yarp/node.rb#7806 + # source://yarp//lib/yarp/node.rb#7796 def set_newline_flag(newline_marked); end # attr_reader statements: StatementsNode? # - # source://yarp//lib/yarp/node.rb#7786 + # source://yarp//lib/yarp/node.rb#7776 def statements; end end @@ -13190,74 +13168,74 @@ end # `foo` # ^^^^^ # -# source://yarp//lib/yarp/node.rb#7856 +# source://yarp//lib/yarp/node.rb#7845 class YARP::XStringNode < ::YARP::Node # def initialize: (opening_loc: Location, content_loc: Location, closing_loc: Location, unescaped: String, location: Location) -> void # # @return [XStringNode] a new instance of XStringNode # - # source://yarp//lib/yarp/node.rb#7869 + # source://yarp//lib/yarp/node.rb#7859 def initialize(opening_loc, content_loc, closing_loc, unescaped, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#7878 + # source://yarp//lib/yarp/node.rb#7868 def accept(visitor); end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#7883 + # source://yarp//lib/yarp/node.rb#7873 def child_nodes; end # def closing: () -> String # - # source://yarp//lib/yarp/node.rb#7917 + # source://yarp//lib/yarp/node.rb#7907 def closing; end # attr_reader closing_loc: Location # - # source://yarp//lib/yarp/node.rb#7863 + # source://yarp//lib/yarp/node.rb#7853 def closing_loc; end # def content: () -> String # - # source://yarp//lib/yarp/node.rb#7912 + # source://yarp//lib/yarp/node.rb#7902 def content; end # attr_reader content_loc: Location # - # source://yarp//lib/yarp/node.rb#7860 + # source://yarp//lib/yarp/node.rb#7850 def content_loc; end # def copy: (**params) -> XStringNode # - # source://yarp//lib/yarp/node.rb#7888 + # source://yarp//lib/yarp/node.rb#7878 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#7883 + # source://yarp//lib/yarp/node.rb#7873 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#7902 + # source://yarp//lib/yarp/node.rb#7892 def deconstruct_keys(keys); end # def opening: () -> String # - # source://yarp//lib/yarp/node.rb#7907 + # source://yarp//lib/yarp/node.rb#7897 def opening; end # attr_reader opening_loc: Location # - # source://yarp//lib/yarp/node.rb#7857 + # source://yarp//lib/yarp/node.rb#7847 def opening_loc; end # attr_reader unescaped: String # - # source://yarp//lib/yarp/node.rb#7866 + # source://yarp//lib/yarp/node.rb#7856 def unescaped; end end @@ -13266,73 +13244,73 @@ end # yield 1 # ^^^^^^^ # -# source://yarp//lib/yarp/node.rb#7927 +# source://yarp//lib/yarp/node.rb#7916 class YARP::YieldNode < ::YARP::Node # def initialize: (keyword_loc: Location, lparen_loc: Location?, arguments: ArgumentsNode?, rparen_loc: Location?, location: Location) -> void # # @return [YieldNode] a new instance of YieldNode # - # source://yarp//lib/yarp/node.rb#7940 + # source://yarp//lib/yarp/node.rb#7930 def initialize(keyword_loc, lparen_loc, arguments, rparen_loc, location); end # def accept: (visitor: Visitor) -> void # - # source://yarp//lib/yarp/node.rb#7949 + # source://yarp//lib/yarp/node.rb#7939 def accept(visitor); end # attr_reader arguments: ArgumentsNode? # - # source://yarp//lib/yarp/node.rb#7934 + # source://yarp//lib/yarp/node.rb#7924 def arguments; end # def child_nodes: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#7954 + # source://yarp//lib/yarp/node.rb#7944 def child_nodes; end # def copy: (**params) -> YieldNode # - # source://yarp//lib/yarp/node.rb#7959 + # source://yarp//lib/yarp/node.rb#7949 def copy(**params); end # def child_nodes: () -> Array[nil | Node] # def deconstruct: () -> Array[nil | Node] # - # source://yarp//lib/yarp/node.rb#7954 + # source://yarp//lib/yarp/node.rb#7944 def deconstruct; end # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] # - # source://yarp//lib/yarp/node.rb#7973 + # source://yarp//lib/yarp/node.rb#7963 def deconstruct_keys(keys); end # def keyword: () -> String # - # source://yarp//lib/yarp/node.rb#7978 + # source://yarp//lib/yarp/node.rb#7968 def keyword; end # attr_reader keyword_loc: Location # - # source://yarp//lib/yarp/node.rb#7928 + # source://yarp//lib/yarp/node.rb#7918 def keyword_loc; end # def lparen: () -> String? # - # source://yarp//lib/yarp/node.rb#7983 + # source://yarp//lib/yarp/node.rb#7973 def lparen; end # attr_reader lparen_loc: Location? # - # source://yarp//lib/yarp/node.rb#7931 + # source://yarp//lib/yarp/node.rb#7921 def lparen_loc; end # def rparen: () -> String? # - # source://yarp//lib/yarp/node.rb#7988 + # source://yarp//lib/yarp/node.rb#7978 def rparen; end # attr_reader rparen_loc: Location? # - # source://yarp//lib/yarp/node.rb#7937 + # source://yarp//lib/yarp/node.rb#7927 def rparen_loc; end end