diff --git a/Gemfile b/Gemfile index 17006b00..4848e699 100644 --- a/Gemfile +++ b/Gemfile @@ -15,7 +15,8 @@ gem "rubocop-minitest", "~> 0.36.0", require: false gem "rubocop-rake", "~> 0.6.0", require: false gem "rubocop-sorbet", "~> 0.8", require: false gem "sorbet-static-and-runtime", platforms: :ruby -gem "tapioca", "~> 0.13", require: false, platforms: :ruby +# gem "tapioca", "~> 0.13", require: false, platforms: :ruby +gem "tapioca", github: "Shopify/tapioca", branch: "at-rbs-rewriter" gem "psych", "~> 5.1", require: false gem "rails", "8.0.0" @@ -23,3 +24,5 @@ platforms :mingw, :x64_mingw, :mswin, :jruby do gem "tzinfo" gem "tzinfo-data" end + +gem "ruby-lsp", github: "Shopify/ruby-lsp", branch: "main" diff --git a/Gemfile.lock b/Gemfile.lock index a049e252..a92c4819 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,3 +1,31 @@ +GIT + remote: https://github.com/Shopify/ruby-lsp.git + revision: 779679c26ba3830d29adbcec70476494fc194527 + branch: main + specs: + ruby-lsp (0.23.12) + language_server-protocol (~> 3.17.0) + prism (>= 1.2, < 2.0) + rbs (>= 3, < 4) + sorbet-runtime (>= 0.5.10782) + +GIT + remote: https://github.com/Shopify/tapioca.git + revision: 5995622a06e194a6308223d789d73f3cc9eae9c4 + branch: at-rbs-rewriter + specs: + tapioca (0.16.11) + benchmark + bundler (>= 2.2.25) + netrc (>= 0.11.0) + parallel (>= 1.21.0) + rbi (>= 0.3.1) + ruby-next (~> 1.0) + sorbet-static-and-runtime (>= 0.5.11087) + spoom (>= 1.6.1) + thor (>= 1.2.0) + yard-sorbet + PATH remote: . specs: @@ -90,6 +118,7 @@ GEM debug (1.9.2) irb (~> 1.10) reline (>= 0.3.8) + diff-lcs (1.6.0) drb (2.2.1) erubi (1.13.1) globalid (1.2.1) @@ -134,14 +163,13 @@ GEM racc (~> 1.4) nokogiri (1.18.1-arm64-darwin) racc (~> 1.4) - nokogiri (1.18.1-x64-mingw-ucrt) - racc (~> 1.4) nokogiri (1.18.1-x86_64-darwin) racc (~> 1.4) nokogiri (1.18.1-x86_64-linux-gnu) racc (~> 1.4) nokogiri (1.18.1-x86_64-linux-musl) racc (~> 1.4) + paco (0.2.3) parallel (1.26.3) parser (3.3.7.1) ast (~> 2.4.1) @@ -190,8 +218,9 @@ GEM zeitwerk (~> 2.6) rainbow (3.1.1) rake (13.2.1) - rbi (0.2.3) + rbi (0.3.1) prism (~> 1.0) + rbs (>= 3.4.4) sorbet-runtime (>= 0.5.9204) rbs (3.8.1) logger @@ -200,6 +229,7 @@ GEM regexp_parser (2.10.0) reline (0.5.11) io-console (~> 0.5) + require-hooks (0.2.2) rubocop (1.73.1) json (~> 2.3) language_server-protocol (~> 3.17.0.2) @@ -222,24 +252,28 @@ GEM rubocop (~> 1.51) rubocop-sorbet (0.8.9) rubocop (>= 1) - ruby-lsp (0.23.6) - language_server-protocol (~> 3.17.0) - prism (>= 1.2, < 2.0) - rbs (>= 3, < 4) - sorbet-runtime (>= 0.5.10782) + ruby-next (1.1.1) + paco (~> 0.2) + require-hooks (~> 0.2) + ruby-next-core (= 1.1.1) + ruby-next-parser (>= 3.4.0.2) + unparser (~> 0.6.0) + ruby-next-core (1.1.1) + ruby-next-parser (3.4.0.2) + parser (>= 3.0.3.1) ruby-progressbar (1.13.0) ruby2_keywords (0.0.5) securerandom (0.3.1) - sorbet (0.5.11865) - sorbet-static (= 0.5.11865) - sorbet-runtime (0.5.11865) - sorbet-static (0.5.11865-aarch64-linux) - sorbet-static (0.5.11865-universal-darwin) - sorbet-static (0.5.11865-x86_64-linux) - sorbet-static-and-runtime (0.5.11865) - sorbet (= 0.5.11865) - sorbet-runtime (= 0.5.11865) - spoom (1.5.4) + sorbet (0.5.11915) + sorbet-static (= 0.5.11915) + sorbet-runtime (0.5.11915) + sorbet-static (0.5.11915-aarch64-linux) + sorbet-static (0.5.11915-universal-darwin) + sorbet-static (0.5.11915-x86_64-linux) + sorbet-static-and-runtime (0.5.11915) + sorbet (= 0.5.11915) + sorbet-runtime (= 0.5.11915) + spoom (1.6.1) erubi (>= 1.10.0) prism (>= 0.28.0) rbi (>= 0.2.3) @@ -248,30 +282,20 @@ GEM sqlite3 (2.5.0-aarch64-linux-gnu) sqlite3 (2.5.0-aarch64-linux-musl) sqlite3 (2.5.0-arm64-darwin) - sqlite3 (2.5.0-x64-mingw-ucrt) sqlite3 (2.5.0-x86_64-darwin) sqlite3 (2.5.0-x86_64-linux-gnu) sqlite3 (2.5.0-x86_64-linux-musl) stringio (3.1.2) - tapioca (0.16.8) - benchmark - bundler (>= 2.2.25) - netrc (>= 0.11.0) - parallel (>= 1.21.0) - rbi (~> 0.2) - sorbet-static-and-runtime (>= 0.5.11087) - spoom (>= 1.2.0) - thor (>= 1.2.0) - yard-sorbet thor (1.3.2) timeout (0.4.2) tzinfo (2.0.6) concurrent-ruby (~> 1.0) - tzinfo-data (1.2025.1) - tzinfo (>= 1.0.0) unicode-display_width (3.1.4) unicode-emoji (~> 4.0, >= 4.0.4) unicode-emoji (4.0.4) + unparser (0.6.15) + diff-lcs (~> 1.3) + parser (>= 3.3.0) uri (1.0.1) useragent (0.16.10) websocket-driver (0.7.6) @@ -289,7 +313,6 @@ PLATFORMS aarch64-linux-musl arm64-darwin universal-darwin - x64-mingw-ucrt x86_64-darwin x86_64-linux x86_64-linux-gnu @@ -305,10 +328,11 @@ DEPENDENCIES rubocop-rake (~> 0.6.0) rubocop-shopify (~> 2.15) rubocop-sorbet (~> 0.8) + ruby-lsp! ruby-lsp-rails! sorbet-static-and-runtime sqlite3 - tapioca (~> 0.13) + tapioca! tzinfo tzinfo-data diff --git a/lib/ruby_lsp/ruby_lsp_rails/addon.rb b/lib/ruby_lsp/ruby_lsp_rails/addon.rb index ee068c27..2c67c9d6 100644 --- a/lib/ruby_lsp/ruby_lsp_rails/addon.rb +++ b/lib/ruby_lsp/ruby_lsp_rails/addon.rb @@ -13,6 +13,7 @@ require_relative "code_lens" require_relative "document_symbol" require_relative "definition" +require_relative "discover_tests" require_relative "completion" require_relative "indexing_enhancement" @@ -121,6 +122,12 @@ def create_completion_listener(response_builder, node_context, dispatcher, uri) Completion.new(@rails_runner_client, response_builder, node_context, dispatcher, uri) end + # @override + #: (ResponseBuilders::TestCollection response_builder, Prism::Dispatcher dispatcher, URI::Generic uri) -> void + def create_discover_tests_listener(response_builder, dispatcher, uri) + DiscoverTests.new(response_builder, dispatcher, uri) + end + #: (Array[{uri: String, type: Integer}] changes) -> void def workspace_did_change_watched_files(changes) if changes.any? { |c| c[:uri].end_with?("db/schema.rb") || c[:uri].end_with?("structure.sql") } diff --git a/lib/ruby_lsp/ruby_lsp_rails/discover_tests.rb b/lib/ruby_lsp/ruby_lsp_rails/discover_tests.rb new file mode 100644 index 00000000..b0a06a17 --- /dev/null +++ b/lib/ruby_lsp/ruby_lsp_rails/discover_tests.rb @@ -0,0 +1,78 @@ +# typed: strict +# frozen_string_literal: true + +module RubyLsp + module Rails + class DiscoverTests + include Requests::Support::Common + + # @override + #: (ResponseBuilders::TestCollection response_builder, Prism::Dispatcher dispatcher, URI::Generic uri) -> void + def initialize(response_builder, dispatcher, uri) + @response_builder = response_builder + @nesting = T.let([], T::Array[String]) + @uri = uri + dispatcher.register( + self, + :on_class_node_enter, + :on_class_node_leave, + :on_module_node_enter, + :on_module_node_leave, + :on_call_node_enter, # e.g. `test "..."` + ) + end + + #: (Prism::ClassNode node) -> void + def on_class_node_enter(node) + name = constant_name(node.constant_path) + return unless name + + @nesting << name + end + + #: (Prism::ClassNode node) -> void + def on_class_node_leave(node) + @nesting.pop + end + + #: (Prism::ModuleNode node) -> void + def on_module_node_enter(node) + name = constant_name(node.constant_path) + return unless name + + @nesting << name + end + + #: (Prism::ModuleNode node) -> void + def on_module_node_leave(node) + @nesting.pop + end + + #: (Prism::CallNode node) -> void + def on_call_node_enter(node) + return unless node.name == :test + return unless node.block + + args = node.arguments&.arguments + return unless args + + arg = args[0] + return unless arg.is_a?(Prism::StringNode) + + name = arg.unescaped # right way to access? + + current_group_name = RubyIndexer::Index.actual_nesting(@nesting, nil).join("::") + + test_item = Requests::Support::TestItem.new( + "#{current_group_name}##{name}", + name, + @uri, + range_from_node(node), + tags: [:active_support_declarative], + ) + + @response_builder.add(test_item) + end + end + end +end diff --git a/sorbet/rbi/gems/diff-lcs@1.6.0.rbi b/sorbet/rbi/gems/diff-lcs@1.6.0.rbi new file mode 100644 index 00000000..39c426cf --- /dev/null +++ b/sorbet/rbi/gems/diff-lcs@1.6.0.rbi @@ -0,0 +1,1134 @@ +# 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 + +# == How Diff Works (by Mark-Jason Dominus) +# +# I once read an article written by the authors of +diff+; they said that they +# hard worked very hard on the algorithm until they found the right one. +# +# I think what they ended up using (and I hope someone will correct me, because +# I am not very confident about this) was the `longest common subsequence' +# method. In the LCS problem, you have two sequences of items: +# +# a b c d f g h j q z +# a b c d e f g i j k r x y z +# +# and you want to find the longest sequence of items that is present in both +# original sequences in the same order. That is, you want to find a new +# sequence *S* which can be obtained from the first sequence by deleting some +# items, and from the second sequence by deleting other items. You also want +# *S* to be as long as possible. In this case *S* is: +# +# a b c d f g j z +# +# From there it's only a small step to get diff-like output: +# +# e h i k q r x y +# + - + + - + + + +# +# This module solves the LCS problem. It also includes a canned function to +# generate +diff+-like output. +# +# It might seem from the example above that the LCS of two sequences is always +# pretty obvious, but that's not always the case, especially when the two +# sequences have many repeated elements. For example, consider +# +# a x b y c z p d q +# a b c a x b y c z +# +# A naive approach might start by matching up the +a+ and +b+ that appear at +# the beginning of each sequence, like this: +# +# a x b y c z p d q +# a b c a b y c z +# +# This finds the common subsequence +a b c z+. But actually, the LCS is +a x b +# y c z+: +# +# a x b y c z p d q +# a b c a x b y c z +# +# 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#76 + 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. This means that those objects must implement + # the methods +#hash+ and +#eql?+ such that two objects containing identical values + # compare identically for key purposes. That is: + # + # O.new('a').eql?(O.new('a')) == true && + # O.new('a').hash == O.new('a').hash + # + # source://diff-lcs//lib/diff/lcs.rb#71 + 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#102 + 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#110 + 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#124 + 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#82 + 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#95 + 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#88 + 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#102 + 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#117 + 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#135 + def unpatch_me(patchset); end + + class << self + # :yields: seq1[i] for each matched + # + # source://diff-lcs//lib/diff/lcs.rb#145 + 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#169 + def diff(seq1, seq2, callbacks = T.unsafe(nil), &block); end + + # :yields: seq1[i] for each matched + # + # source://diff-lcs//lib/diff/lcs.rb#145 + 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#627 + 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#737 + 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#201 + 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, + # noticeable 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 indexes +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#476 + 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 indexes +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#286 + 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#731 + 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 + +# Fixnum is deprecated in Ruby 2.4 # standard:disable Naming/ConstantName +# +# 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#225 +class Diff::LCS::ContextDiffCallbacks < ::Diff::LCS::DiffCallbacks + # source://diff-lcs//lib/diff/lcs/callbacks.rb#234 + def change(event); end + + # source://diff-lcs//lib/diff/lcs/callbacks.rb#226 + def discard_a(event); end + + # source://diff-lcs//lib/diff/lcs/callbacks.rb#230 + 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#108 +class Diff::LCS::DiffCallbacks + # :yields: self + # + # @return [DiffCallbacks] a new instance of DiffCallbacks + # + # source://diff-lcs//lib/diff/lcs/callbacks.rb#112 + def initialize; end + + # Returns the difference set collected during the diff process. + # + # source://diff-lcs//lib/diff/lcs/callbacks.rb#110 + def diffs; end + + # source://diff-lcs//lib/diff/lcs/callbacks.rb#135 + def discard_a(event); end + + # source://diff-lcs//lib/diff/lcs/callbacks.rb#139 + 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#127 + def finish; end + + # source://diff-lcs//lib/diff/lcs/callbacks.rb#131 + def match(_event); end + + private + + # source://diff-lcs//lib/diff/lcs/callbacks.rb#143 + 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#64 + def blocks; end + + # Returns a diff string based on a format. + # + # source://diff-lcs//lib/diff/lcs/hunk.rb#115 + def diff(format, last = T.unsafe(nil)); end + + # Returns the value of attribute end_new. + # + # source://diff-lcs//lib/diff/lcs/hunk.rb#66 + def end_new; end + + # Returns the value of attribute end_old. + # + # source://diff-lcs//lib/diff/lcs/hunk.rb#66 + def end_old; end + + # Returns the value of attribute file_length_difference. + # + # source://diff-lcs//lib/diff/lcs/hunk.rb#67 + 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#71 + def flag_context; end + + # source://diff-lcs//lib/diff/lcs/hunk.rb#73 + 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#97 + def merge(hunk); end + + # @return [Boolean] + # + # source://diff-lcs//lib/diff/lcs/hunk.rb#347 + 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#109 + def overlaps?(hunk); end + + # Returns the value of attribute start_new. + # + # source://diff-lcs//lib/diff/lcs/hunk.rb#65 + def start_new; end + + # Returns the value of attribute start_old. + # + # source://diff-lcs//lib/diff/lcs/hunk.rb#65 + 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#97 + def unshift(hunk); end + + private + + # source://diff-lcs//lib/diff/lcs/hunk.rb#222 + 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#316 + def context_range(mode, op); end + + # source://diff-lcs//lib/diff/lcs/hunk.rb#284 + def ed_diff(format, last); end + + # source://diff-lcs//lib/diff/lcs/hunk.rb#360 + def encode(literal, target_encoding = T.unsafe(nil)); end + + # source://diff-lcs//lib/diff/lcs/hunk.rb#364 + 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#134 + def old_diff(last = T.unsafe(nil)); end + + # source://diff-lcs//lib/diff/lcs/hunk.rb#167 + 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#331 + def unified_range(mode); 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#303 +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#307 + def initialize; end + + # source://diff-lcs//lib/diff/lcs/callbacks.rb#324 + def change(event); end + + # Returns the difference set collected during the diff process. + # + # source://diff-lcs//lib/diff/lcs/callbacks.rb#305 + def diffs; end + + # source://diff-lcs//lib/diff/lcs/callbacks.rb#316 + def discard_a(event); end + + # source://diff-lcs//lib/diff/lcs/callbacks.rb#320 + def discard_b(event); end + + # source://diff-lcs//lib/diff/lcs/callbacks.rb#312 + 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/netrc@0.11.0.rbi b/sorbet/rbi/gems/netrc@0.11.0.rbi index aea22e3b..4ae989b9 100644 --- a/sorbet/rbi/gems/netrc@0.11.0.rbi +++ b/sorbet/rbi/gems/netrc@0.11.0.rbi @@ -5,71 +5,71 @@ # Please instead update this file by running `bin/tapioca gem netrc`. -# source://netrc/lib/netrc.rb#3 +# source://netrc//lib/netrc.rb#3 class Netrc # @return [Netrc] a new instance of Netrc # - # source://netrc/lib/netrc.rb#166 + # source://netrc//lib/netrc.rb#166 def initialize(path, data); end - # source://netrc/lib/netrc.rb#180 + # source://netrc//lib/netrc.rb#180 def [](k); end - # source://netrc/lib/netrc.rb#188 + # source://netrc//lib/netrc.rb#188 def []=(k, info); end - # source://netrc/lib/netrc.rb#200 + # source://netrc//lib/netrc.rb#200 def delete(key); end - # source://netrc/lib/netrc.rb#211 + # source://netrc//lib/netrc.rb#211 def each(&block); end - # source://netrc/lib/netrc.rb#196 + # source://netrc//lib/netrc.rb#196 def length; end - # source://netrc/lib/netrc.rb#215 + # source://netrc//lib/netrc.rb#215 def new_item(m, l, p); end # Returns the value of attribute new_item_prefix. # - # source://netrc/lib/netrc.rb#178 + # source://netrc//lib/netrc.rb#178 def new_item_prefix; end # Sets the attribute new_item_prefix # # @param value the value to set the attribute new_item_prefix to. # - # source://netrc/lib/netrc.rb#178 + # source://netrc//lib/netrc.rb#178 def new_item_prefix=(_arg0); end - # source://netrc/lib/netrc.rb#219 + # source://netrc//lib/netrc.rb#219 def save; end - # source://netrc/lib/netrc.rb#233 + # source://netrc//lib/netrc.rb#233 def unparse; end class << self - # source://netrc/lib/netrc.rb#42 + # source://netrc//lib/netrc.rb#42 def check_permissions(path); end - # source://netrc/lib/netrc.rb#33 + # source://netrc//lib/netrc.rb#33 def config; end # @yield [self.config] # - # source://netrc/lib/netrc.rb#37 + # source://netrc//lib/netrc.rb#37 def configure; end - # source://netrc/lib/netrc.rb#10 + # source://netrc//lib/netrc.rb#10 def default_path; end - # source://netrc/lib/netrc.rb#14 + # source://netrc//lib/netrc.rb#14 def home_path; end - # source://netrc/lib/netrc.rb#85 + # source://netrc//lib/netrc.rb#85 def lex(lines); end - # source://netrc/lib/netrc.rb#29 + # source://netrc//lib/netrc.rb#29 def netrc_filename; end # Returns two values, a header and a list of items. @@ -84,26 +84,26 @@ class Netrc # This lets us change individual fields, then write out the file # with all its original formatting. # - # source://netrc/lib/netrc.rb#129 + # source://netrc//lib/netrc.rb#129 def parse(ts); end # Reads path and parses it as a .netrc file. If path doesn't # exist, returns an empty object. Decrypt paths ending in .gpg. # - # source://netrc/lib/netrc.rb#51 + # source://netrc//lib/netrc.rb#51 def read(path = T.unsafe(nil)); end # @return [Boolean] # - # source://netrc/lib/netrc.rb#112 + # source://netrc//lib/netrc.rb#112 def skip?(s); end end end -# source://netrc/lib/netrc.rb#8 +# source://netrc//lib/netrc.rb#8 Netrc::CYGWIN = T.let(T.unsafe(nil), T.untyped) -# source://netrc/lib/netrc.rb#244 +# source://netrc//lib/netrc.rb#244 class Netrc::Entry < ::Struct # Returns the value of attribute login # @@ -138,22 +138,22 @@ class Netrc::Entry < ::Struct end end -# source://netrc/lib/netrc.rb#250 +# source://netrc//lib/netrc.rb#250 class Netrc::Error < ::StandardError; end -# source://netrc/lib/netrc.rb#68 +# source://netrc//lib/netrc.rb#68 class Netrc::TokenArray < ::Array - # source://netrc/lib/netrc.rb#76 + # source://netrc//lib/netrc.rb#76 def readto; end - # source://netrc/lib/netrc.rb#69 + # source://netrc//lib/netrc.rb#69 def take; end end -# source://netrc/lib/netrc.rb#4 +# source://netrc//lib/netrc.rb#4 Netrc::VERSION = T.let(T.unsafe(nil), String) # see http://stackoverflow.com/questions/4871309/what-is-the-correct-way-to-detect-if-ruby-is-running-on-windows # -# source://netrc/lib/netrc.rb#7 +# source://netrc//lib/netrc.rb#7 Netrc::WINDOWS = T.let(T.unsafe(nil), T.untyped) diff --git a/sorbet/rbi/gems/paco@0.2.3.rbi b/sorbet/rbi/gems/paco@0.2.3.rbi new file mode 100644 index 00000000..4636c732 --- /dev/null +++ b/sorbet/rbi/gems/paco@0.2.3.rbi @@ -0,0 +1,850 @@ +# typed: true + +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `paco` gem. +# Please instead update this file by running `bin/tapioca gem paco`. + + +# source://paco//lib/paco/version.rb#3 +module Paco + include ::Paco::Combinators + + class << self + # @private + # + # source://paco//lib/paco.rb#13 + def extended(base); end + + # @private + # + # source://paco//lib/paco.rb#17 + def included(base); end + end +end + +# source://paco//lib/paco/callstack.rb#4 +class Paco::Callstack + # @return [Callstack] a new instance of Callstack + # + # source://paco//lib/paco/callstack.rb#7 + def initialize; end + + # source://paco//lib/paco/callstack.rb#12 + def failure(**params); end + + # Returns the value of attribute stack. + # + # source://paco//lib/paco/callstack.rb#5 + def stack; end + + # source://paco//lib/paco/callstack.rb#17 + def start(**params); end + + # source://paco//lib/paco/callstack.rb#22 + def success(**params); end +end + +# source://paco//lib/paco/combinators/char.rb#4 +module Paco::Combinators + include ::Paco::Combinators::Char + extend ::Paco::Combinators::Char + + private + + # Accepts any number of parsers, and returns a parser that returns the value of the first parser that succeeds, backtracking in between. + # + # @param parsers [Array] + # @return [Paco::Parser] + # + # source://paco//lib/paco/combinators.rb#61 + def alt(*parsers); end + + # Returns a parser that doesn't consume any input and always fails with passed `message`. + # + # @param message [String] + # @return [Paco::Parser] + # + # source://paco//lib/paco/combinators.rb#41 + def failed(message); end + + # Returns parser that returns `Paco::Index` representing + # the current offset into the parse without consuming the input. + # + # @return [Paco::Parser] + # + # source://paco//lib/paco/combinators.rb#165 + def index; end + + # Accepts a block that returns a parser, which is evaluated the first time the parser is used. + # This is useful for referencing parsers that haven't yet been defined, and for implementing recursive parsers. + # + # @return [Paco::Parser] + # + # source://paco//lib/paco/combinators.rb#106 + def lazy(desc = T.unsafe(nil), &block); end + + # Returns a parser that runs the passed `parser` without consuming the input, + # and returns empty string. + # + # @param parser [Paco::Parser] + # @return [Paco::Parser] + # + # source://paco//lib/paco/combinators.rb#49 + def lookahead(parser); end + + # Expects `parser` zero or more times, and returns an array of the results. + # + # @param parser [Paco::Parser] + # @return [Paco::Parser] + # + # source://paco//lib/paco/combinators.rb#143 + def many(parser); end + + # Helper used for memoization + # + # source://paco//lib/paco/combinators.rb#170 + def memoize(&block); end + + # Returns a parser that runs the passed `parser` without consuming the input, and + # returns `null` if the passed `parser` _does not match_ the input. Fails otherwise. + # + # @param parser [Paco::Parser] + # @return [Paco::Parser] + # + # source://paco//lib/paco/combinators.rb#17 + def not_followed_by(parser); end + + # Returns parser that returns result of the passed `parser` or nil if `parser` fails. + # + # @param parser [Paco::Parser] + # @return [Paco::Parser] + # + # source://paco//lib/paco/combinators.rb#158 + def optional(parser); end + + # Returns a parser that expects zero or more matches for `parser`, + # separated by the parser `separator`. Returns an array of `parser` results. + # + # @param parser [Paco::Parser] + # @param separator [Paco::Parser] + # @return [Paco::Parser] + # + # source://paco//lib/paco/combinators.rb#115 + def sep_by(parser, separator); end + + # Returns a parser that expects one or more matches for `parser`, + # separated by the parser `separator`. Returns an array of `parser` results. + # + # @param parser [Paco::Parser] + # @param separator [Paco::Parser] + # @return [Paco::Parser] + # + # source://paco//lib/paco/combinators.rb#125 + def sep_by!(parser, separator); end + + # source://paco//lib/paco/combinators.rb#125 + def sep_by_1(parser, separator); end + + # Accepts one or more parsers, and returns a parser that expects them + # to match in order, returns an array of all their results. + # If `block` specified, passes results of the `parses` as an arguments + # to a `block`, and at the end returns its result. + # + # @param parsers [Array] + # @return [Paco::Parser] + # + # source://paco//lib/paco/combinators.rb#86 + def seq(*parsers); end + + # Returns a parser that doesn't consume any input and always returns `result`. + # + # @return [Paco::Parser] + # + # source://paco//lib/paco/combinators.rb#34 + def succeed(result); end + + # Expects the parser `before` before `parser` and `after` after `parser. Returns the result of the parser. + # + # @param before [Paco::Parser] + # @param after [Paco::Parser] + # @param parser [Paco::Parser] + # @return [Paco::Parser] + # + # source://paco//lib/paco/combinators.rb#136 + def wrap(before, after, parser); end + + class << self + # Accepts any number of parsers, and returns a parser that returns the value of the first parser that succeeds, backtracking in between. + # + # @param parsers [Array] + # @raise [ArgumentError] + # @return [Paco::Parser] + # + # source://paco//lib/paco/combinators.rb#61 + def alt(*parsers); end + + # Returns a parser that doesn't consume any input and always fails with passed `message`. + # + # @param message [String] + # @return [Paco::Parser] + # + # source://paco//lib/paco/combinators.rb#41 + def failed(message); end + + # Returns parser that returns `Paco::Index` representing + # the current offset into the parse without consuming the input. + # + # @return [Paco::Parser] + # + # source://paco//lib/paco/combinators.rb#165 + def index; end + + # Accepts a block that returns a parser, which is evaluated the first time the parser is used. + # This is useful for referencing parsers that haven't yet been defined, and for implementing recursive parsers. + # + # @return [Paco::Parser] + # + # source://paco//lib/paco/combinators.rb#106 + def lazy(desc = T.unsafe(nil), &block); end + + # Returns a parser that runs the passed `parser` without consuming the input, + # and returns empty string. + # + # @param parser [Paco::Parser] + # @return [Paco::Parser] + # + # source://paco//lib/paco/combinators.rb#49 + def lookahead(parser); end + + # Expects `parser` zero or more times, and returns an array of the results. + # + # @param parser [Paco::Parser] + # @return [Paco::Parser] + # + # source://paco//lib/paco/combinators.rb#143 + def many(parser); end + + # Helper used for memoization + # + # source://paco//lib/paco/combinators.rb#170 + def memoize(&block); end + + # Returns a parser that runs the passed `parser` without consuming the input, and + # returns `null` if the passed `parser` _does not match_ the input. Fails otherwise. + # + # @param parser [Paco::Parser] + # @return [Paco::Parser] + # + # source://paco//lib/paco/combinators.rb#17 + def not_followed_by(parser); end + + # Returns parser that returns result of the passed `parser` or nil if `parser` fails. + # + # @param parser [Paco::Parser] + # @return [Paco::Parser] + # + # source://paco//lib/paco/combinators.rb#158 + def optional(parser); end + + # Returns a parser that expects zero or more matches for `parser`, + # separated by the parser `separator`. Returns an array of `parser` results. + # + # @param parser [Paco::Parser] + # @param separator [Paco::Parser] + # @return [Paco::Parser] + # + # source://paco//lib/paco/combinators.rb#115 + def sep_by(parser, separator); end + + # Returns a parser that expects one or more matches for `parser`, + # separated by the parser `separator`. Returns an array of `parser` results. + # + # @param parser [Paco::Parser] + # @param separator [Paco::Parser] + # @return [Paco::Parser] + # + # source://paco//lib/paco/combinators.rb#125 + def sep_by!(parser, separator); end + + # Accepts one or more parsers, and returns a parser that expects them + # to match in order, returns an array of all their results. + # If `block` specified, passes results of the `parses` as an arguments + # to a `block`, and at the end returns its result. + # + # @param parsers [Array] + # @raise [ArgumentError] + # @return [Paco::Parser] + # + # source://paco//lib/paco/combinators.rb#86 + def seq(*parsers); end + + # Returns a parser that doesn't consume any input and always returns `result`. + # + # @return [Paco::Parser] + # + # source://paco//lib/paco/combinators.rb#34 + def succeed(result); end + + # Expects the parser `before` before `parser` and `after` after `parser. Returns the result of the parser. + # + # @param before [Paco::Parser] + # @param after [Paco::Parser] + # @param parser [Paco::Parser] + # @return [Paco::Parser] + # + # source://paco//lib/paco/combinators.rb#136 + def wrap(before, after, parser); end + end +end + +# source://paco//lib/paco/combinators/char.rb#5 +module Paco::Combinators::Char + # Returns a parser that consumes and returns the next character of the input. + # + # @return [Paco::Parser] + # + # source://paco//lib/paco/combinators/char.rb#86 + def any_char; end + + # Returns a parser that checks for the "carriage return" (`\r`) character. + # + # @return [Paco::Parser] + # + # source://paco//lib/paco/combinators/char.rb#123 + def cr; end + + # Returns a parser that checks for the "carriage return" character followed by the "line feed" character (`\r\n`). + # + # @return [Paco::Parser] + # + # source://paco//lib/paco/combinators/char.rb#135 + def crlf; end + + # Alias for `Paco::Combinators.regexp_char(/[0-9]/)`. + # + # @return [Paco::Parser] + # + # source://paco//lib/paco/combinators/char.rb#171 + def digit; end + + # Alias for `Paco::Combinators.regexp(/[0-9]+/)`. + # + # @return [Paco::Parser] + # + # source://paco//lib/paco/combinators/char.rb#177 + def digits; end + + # Returns a parser that will match any kind of line ending *including* end of file. + # + # @return [Paco::Parser] + # + # source://paco//lib/paco/combinators/char.rb#147 + def end_of_line; end + + # Returns a parser that matches end of file and returns nil. + # + # @return [Paco::Parser] + # + # source://paco//lib/paco/combinators/char.rb#112 + def eof; end + + # Alias for `Paco::Combinators.regexp_char(/[a-z]/i)`. + # + # @return [Paco::Parser] + # + # source://paco//lib/paco/combinators/char.rb#153 + def letter; end + + # Alias for `Paco::Combinators.regexp(/[a-z]+/i)`. + # + # @return [Paco::Parser] + # + # source://paco//lib/paco/combinators/char.rb#159 + def letters; end + + # Returns a parser that checks for the "line feed" (`\n`) character. + # + # @return [Paco::Parser] + # + # source://paco//lib/paco/combinators/char.rb#129 + def lf; end + + # Returns a parser that will match any kind of line ending. + # + # @return [Paco::Parser] + # + # source://paco//lib/paco/combinators/char.rb#141 + def newline; end + + # Returns a parser that looks for exactly one character _NOT_ from passed + # `matcher`, and returns its value on success. + # + # @param matcher [String, Array] + # @return [Paco::Parser] + # + # source://paco//lib/paco/combinators/char.rb#80 + def none_of(matcher); end + + # Returns a parser that looks for exactly one character from passed + # `matcher`, and returns its value on success. + # + # @param matcher [String, Array] + # @return [Paco::Parser] + # + # source://paco//lib/paco/combinators/char.rb#72 + def one_of(matcher); end + + # Alias for `Paco::Combinators.regexp(/[0-9]*/)`. + # + # @return [Paco::Parser] + # + # source://paco//lib/paco/combinators/char.rb#183 + def opt_digits; end + + # Alias for `Paco::Combinators.regexp(/[a-z]*/i)`. + # + # @return [Paco::Parser] + # + # source://paco//lib/paco/combinators/char.rb#165 + def opt_letters; end + + # Alias for `Paco::Combinators.regexp(/\s*/)`. + # + # @return [Paco::Parser] + # + # source://paco//lib/paco/combinators/char.rb#195 + def opt_ws; end + + # Returns a parser that looks for a match to the regexp and returns the entire text matched. + # The regexp will always match starting at the current parse location. + # When `group` is specified, it returns only the text in the specific regexp match group. + # + # @param regexp [Regexp] + # @param group [Integer] + # @return [Paco::Parser] + # + # source://paco//lib/paco/combinators/char.rb#50 + def regexp(regexp, group: T.unsafe(nil)); end + + # Returns a parser that checks current character against the passed `regexp` + # + # @param regexp [Regexp] + # @return [Paco::Parser] + # + # source://paco//lib/paco/combinators/char.rb#64 + def regexp_char(regexp); end + + # Returns a parser that consumes and returns the entire remainder of the input. + # + # @return [Paco::Parser] + # + # source://paco//lib/paco/combinators/char.rb#92 + def remainder; end + + # Returns a parser that returns a single character if passed block result is truthy: + # + # lower = Combinators.satisfy do |char| + # char == char.downcase + # end + # + # lower.parse("a") #=> "a" + # lower.parse("P") #=> ParseError + # + # @param desc [String] optional description for the parser + # @param block [Proc] proc with one argument – a next char of the input + # @return [Paco::Parser] + # + # source://paco//lib/paco/combinators/char.rb#19 + def satisfy(desc = T.unsafe(nil), &block); end + + # Alias for `parser.trim(Paco::Combinators.opt_ws)`. + # + # @param parser [Paco::Parser] + # @return [Paco::Parser] + # + # source://paco//lib/paco/combinators/char.rb#202 + def spaced(parser); end + + # Returns a parser that looks for a passed `matcher` string and returns its value on success. + # + # @param matcher [String] + # @return [Paco::Parser] + # + # source://paco//lib/paco/combinators/char.rb#34 + def string(matcher); end + + # Returns a parser that returns a string containing all the next + # characters that are truthy for the passed block. + # + # @param block [Proc] proc with one argument – a next char of the input + # @return [Paco::Parser] + # + # source://paco//lib/paco/combinators/char.rb#106 + def take_while(&block); end + + # Alias for `Paco::Combinators.regexp(/\s+/)`. + # + # @return [Paco::Parser] + # + # source://paco//lib/paco/combinators/char.rb#189 + def ws; end +end + +# source://paco//lib/paco/context.rb#7 +class Paco::Context + # @return [Context] a new instance of Context + # + # source://paco//lib/paco/context.rb#11 + def initialize(input, pos: T.unsafe(nil), with_callstack: T.unsafe(nil)); end + + # Returns the value of attribute callstack. + # + # source://paco//lib/paco/context.rb#8 + def callstack; end + + # @return [Boolean] + # + # source://paco//lib/paco/context.rb#25 + def eof?; end + + # @param parser [Paco::Parser] + # + # source://paco//lib/paco/context.rb#36 + def failure_parse(parser); end + + # @param from [Integer] + # @return [Paco::Index] + # + # source://paco//lib/paco/context.rb#31 + def index(from = T.unsafe(nil)); end + + # Returns the value of attribute input. + # + # source://paco//lib/paco/context.rb#8 + def input; end + + # Returns the value of attribute last_pos. + # + # source://paco//lib/paco/context.rb#8 + def last_pos; end + + # Returns the value of attribute pos. + # + # source://paco//lib/paco/context.rb#9 + def pos; end + + # Sets the attribute pos + # + # @param value the value to set the attribute pos to. + # + # source://paco//lib/paco/context.rb#9 + def pos=(_arg0); end + + # source://paco//lib/paco/context.rb#17 + def read(n); end + + # source://paco//lib/paco/context.rb#21 + def read_all; end + + # @param parser [Paco::Parser] + # + # source://paco//lib/paco/context.rb#41 + def start_parse(parser); end + + # @param result [Object] + # @param parser [Paco::Parser] + # + # source://paco//lib/paco/context.rb#47 + def success_parse(result, parser); end +end + +# source://paco//lib/paco/parse_error.rb#4 +class Paco::Error < ::StandardError; end + +# source://paco//lib/paco/index.rb#2 +class Paco::Index < ::Struct + # Returns the value of attribute column + # + # @return [Object] the current value of column + def column; end + + # Sets the attribute column + # + # @param value [Object] the value to set the attribute column to. + # @return [Object] the newly set value + def column=(_); end + + # Returns the value of attribute line + # + # @return [Object] the current value of line + def line; end + + # Sets the attribute line + # + # @param value [Object] the value to set the attribute line to. + # @return [Object] the newly set value + def line=(_); end + + # Returns the value of attribute pos + # + # @return [Object] the current value of pos + def pos; end + + # Sets the attribute pos + # + # @param value [Object] the value to set the attribute pos to. + # @return [Object] the newly set value + def pos=(_); end + + class << self + def [](*_arg0); end + + # @param input [String] + # @param pos [Integer] + # @raise [ArgumentError] + # + # source://paco//lib/paco/index.rb#5 + def calculate(input:, pos:); end + + def inspect; end + def keyword_init?; end + def members; end + def new(*_arg0); end + end +end + +# source://paco//lib/paco/memoizer.rb#6 +module Paco::Memoizer + extend ::MonitorMixin + + class << self + # source://paco//lib/paco/memoizer.rb#10 + def memoize(key, &block); end + end +end + +# source://paco//lib/paco/parse_error.rb#6 +class Paco::ParseError < ::Paco::Error + # @param ctx [Paco::Context] + # @return [ParseError] a new instance of ParseError + # + # source://paco//lib/paco/parse_error.rb#10 + def initialize(ctx, expected); end + + # source://paco//lib/paco/parse_error.rb#16 + def callstack; end + + # Returns the value of attribute ctx. + # + # source://paco//lib/paco/parse_error.rb#7 + def ctx; end + + # Returns the value of attribute expected. + # + # source://paco//lib/paco/parse_error.rb#7 + def expected; end + + # source://paco//lib/paco/parse_error.rb#20 + def message; end + + # Returns the value of attribute pos. + # + # source://paco//lib/paco/parse_error.rb#7 + def pos; end +end + +# source://paco//lib/paco/parser.rb#6 +class Paco::Parser + # @param desc [String] + # @return [Parser] a new instance of Parser + # + # source://paco//lib/paco/parser.rb#10 + def initialize(desc = T.unsafe(nil), &block); end + + # Expects `other` parser to follow `parser`, but returns only the value of `parser`. + # + # @param other [Poco::Parser] + # @return [Paco::Parser] + # + # source://paco//lib/paco/parser.rb#60 + def <(other); end + + # Expects `other` parser to follow `parser`, but returns only the value of `other` parser. + # + # @param other [Poco::Parser] + # @return [Paco::Parser] + # + # source://paco//lib/paco/parser.rb#68 + def >(other); end + + # @param ctx [Paco::Context] + # + # source://paco//lib/paco/parser.rb#30 + def _parse(ctx); end + + # Returns a parser that runs `parser` at least `num` times, + # and returns an array of the results. + # + # source://paco//lib/paco/parser.rb#168 + def at_least(num); end + + # Returns a parser that runs `parser` at most `num` times, + # and returns an array of the results. + # + # source://paco//lib/paco/parser.rb#176 + def at_most(num); end + + # Returns a new parser which tries `parser`, and on success + # calls the `block` with the result of the parse, which is expected + # to return another parser, which will be tried next. This allows you + # to dynamically decide how to continue the parse, which is impossible + # with the other Paco::Combinators. + # + # @return [Paco::Parser] + # + # source://paco//lib/paco/parser.rb#88 + def bind(&block); end + + # Returns a new parser which tries `parser`, and on success + # calls the `block` with the result of the parse, which is expected + # to return another parser, which will be tried next. This allows you + # to dynamically decide how to continue the parse, which is impossible + # with the other Paco::Combinators. + # + # @return [Paco::Parser] + # + # source://paco//lib/paco/parser.rb#88 + def chain(&block); end + + # Returns the value of attribute desc. + # + # source://paco//lib/paco/parser.rb#7 + def desc; end + + # Raises ParseError + # + # @param ctx [Paco::Context] + # @raise [Paco::ParseError] + # + # source://paco//lib/paco/parser.rb#40 + def failure(ctx); end + + # Returns a new parser which tries `parser` and, if it fails, returns `value` without consuming any input. + # + # @return [Paco::Parser] + # + # source://paco//lib/paco/parser.rb#109 + def fallback(value); end + + # Transforms the output of `parser` with the given block. + # + # @return [Paco::Parser] + # + # source://paco//lib/paco/parser.rb#76 + def fmap(&block); end + + # Returns a parser that runs `parser` and concatenate it results with the `separator`. + # + # @param separator [String] + # @return [Paco::Parser] + # + # source://paco//lib/paco/parser.rb#139 + def join(separator = T.unsafe(nil)); end + + # Expects `parser` zero or more times, and returns an array of the results. + # + # @return [Paco::Parser] + # + # source://paco//lib/paco/parser.rb#97 + def many; end + + # Expects `other` parser to follow `parser`, but returns only the value of `other` parser. + # + # @param other [Poco::Parser] + # @return [Paco::Parser] + # + # source://paco//lib/paco/parser.rb#68 + def next(other); end + + # Returns a parser that runs passed `other` parser without consuming the input, and + # returns result of the `parser` if the passed one _does not match_ the input. Fails otherwise. + # + # @param other [Paco::Parser] + # @return [Paco::Parser] + # + # source://paco//lib/paco/parser.rb#132 + def not_followed_by(other); end + + # Returns a new parser which tries `parser`, and if it fails uses `other`. + # + # @param other [Paco::Parser] + # @return [Paco::Parser] + # + # source://paco//lib/paco/parser.rb#48 + def or(other); end + + # @param input [String, Paco::Context] + # @param with_callstack [true, false] + # + # source://paco//lib/paco/parser.rb#24 + def parse(input, with_callstack: T.unsafe(nil)); end + + # Returns a new parser with the same behavior, but which returns passed `value`. + # + # @return [Paco::Parser] + # + # source://paco//lib/paco/parser.rb#103 + def result(value); end + + # Expects `other` parser to follow `parser`, but returns only the value of `parser`. + # + # @param other [Poco::Parser] + # @return [Paco::Parser] + # + # source://paco//lib/paco/parser.rb#60 + def skip(other); end + + # Returns a parser that runs `parser` between `min` and `max` times, + # and returns an array of the results. When `max` is not specified, `max` = `min`. + # + # @param min [Integer] + # @param max [Integer] + # @return [Paco::Parser] + # + # source://paco//lib/paco/parser.rb#148 + def times(min, max = T.unsafe(nil)); end + + # Expects `other` parser before and after `parser`, and returns the result of the parser. + # + # @param other [Paco::Parser] + # @return [Paco::Parser] + # + # source://paco//lib/paco/parser.rb#116 + def trim(other); end + + # @param desc [String] + # @return [Paco::Parser] + # + # source://paco//lib/paco/parser.rb#17 + def with_desc(desc); end + + # Expects the parser `before` before `parser` and `after` after `parser. Returns the result of the parser. + # + # @param before [Paco::Parser] + # @param after [Paco::Parser] + # @return [Paco::Parser] + # + # source://paco//lib/paco/parser.rb#124 + def wrap(before, after); end + + # Returns a new parser which tries `parser`, and if it fails uses `other`. + # + # @param other [Paco::Parser] + # @return [Paco::Parser] + # + # source://paco//lib/paco/parser.rb#48 + def |(other); end +end + +# source://paco//lib/paco/version.rb#4 +Paco::VERSION = T.let(T.unsafe(nil), String) diff --git a/sorbet/rbi/gems/parallel@1.26.3.rbi b/sorbet/rbi/gems/parallel@1.26.3.rbi index d1ef8b48..854c4870 100644 --- a/sorbet/rbi/gems/parallel@1.26.3.rbi +++ b/sorbet/rbi/gems/parallel@1.26.3.rbi @@ -5,287 +5,287 @@ # Please instead update this file by running `bin/tapioca gem parallel`. -# source://parallel/lib/parallel/version.rb#2 +# source://parallel//lib/parallel/version.rb#2 module Parallel class << self # @return [Boolean] # - # source://parallel/lib/parallel.rb#243 + # source://parallel//lib/parallel.rb#243 def all?(*args, &block); end # @return [Boolean] # - # source://parallel/lib/parallel.rb#238 + # source://parallel//lib/parallel.rb#238 def any?(*args, &block); end - # source://parallel/lib/parallel.rb#234 + # source://parallel//lib/parallel.rb#234 def each(array, options = T.unsafe(nil), &block); end - # source://parallel/lib/parallel.rb#248 + # source://parallel//lib/parallel.rb#248 def each_with_index(array, options = T.unsafe(nil), &block); end - # source://parallel/lib/parallel.rb#307 + # source://parallel//lib/parallel.rb#307 def filter_map(*_arg0, **_arg1, &_arg2); end - # source://parallel/lib/parallel.rb#303 + # source://parallel//lib/parallel.rb#303 def flat_map(*_arg0, **_arg1, &_arg2); end - # source://parallel/lib/parallel.rb#228 + # source://parallel//lib/parallel.rb#228 def in_processes(options = T.unsafe(nil), &block); end - # source://parallel/lib/parallel.rb#212 + # source://parallel//lib/parallel.rb#212 def in_threads(options = T.unsafe(nil)); end - # source://parallel/lib/parallel.rb#252 + # source://parallel//lib/parallel.rb#252 def map(source, options = T.unsafe(nil), &block); end - # source://parallel/lib/parallel.rb#299 + # source://parallel//lib/parallel.rb#299 def map_with_index(array, options = T.unsafe(nil), &block); end # Number of physical processor cores on the current system. # - # source://parallel/lib/parallel.rb#312 + # source://parallel//lib/parallel.rb#312 def physical_processor_count; end # Number of processors seen by the OS or value considering CPU quota if the process is inside a cgroup, # used for process scheduling # - # source://parallel/lib/parallel.rb#342 + # source://parallel//lib/parallel.rb#342 def processor_count; end - # source://parallel/lib/parallel.rb#346 + # source://parallel//lib/parallel.rb#346 def worker_number; end # TODO: this does not work when doing threads in forks, so should remove and yield the number instead if needed # - # source://parallel/lib/parallel.rb#351 + # source://parallel//lib/parallel.rb#351 def worker_number=(worker_num); end private - # source://parallel/lib/parallel.rb#384 + # source://parallel//lib/parallel.rb#384 def add_progress_bar!(job_factory, options); end - # source://parallel/lib/parallel.rb#699 + # source://parallel//lib/parallel.rb#699 def available_processor_count; end - # source://parallel/lib/parallel.rb#647 + # source://parallel//lib/parallel.rb#647 def call_with_index(item, index, options, &block); end - # source://parallel/lib/parallel.rb#579 + # source://parallel//lib/parallel.rb#579 def create_workers(job_factory, options, &block); end # options is either a Integer or a Hash with :count # - # source://parallel/lib/parallel.rb#637 + # source://parallel//lib/parallel.rb#637 def extract_count_from_options(options); end - # source://parallel/lib/parallel.rb#665 + # source://parallel//lib/parallel.rb#665 def instrument_finish(item, index, result, options); end # 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#674 + # source://parallel//lib/parallel.rb#674 def instrument_finish_in_order(item, index, result, options); end - # source://parallel/lib/parallel.rb#694 + # source://parallel//lib/parallel.rb#694 def instrument_start(item, index, options); end - # source://parallel/lib/parallel.rb#357 + # source://parallel//lib/parallel.rb#357 def physical_processor_count_windows; end - # source://parallel/lib/parallel.rb#613 + # source://parallel//lib/parallel.rb#613 def process_incoming_jobs(read, write, job_factory, options, &block); end - # source://parallel/lib/parallel.rb#567 + # source://parallel//lib/parallel.rb#567 def replace_worker(job_factory, workers, index, options, blk); end - # source://parallel/lib/parallel.rb#378 + # source://parallel//lib/parallel.rb#378 def run(command); end - # source://parallel/lib/parallel.rb#658 + # source://parallel//lib/parallel.rb#658 def with_instrumentation(item, index, options); end - # source://parallel/lib/parallel.rb#409 + # source://parallel//lib/parallel.rb#409 def work_direct(job_factory, options, &block); end - # source://parallel/lib/parallel.rb#519 + # source://parallel//lib/parallel.rb#519 def work_in_processes(job_factory, options, &blk); end - # source://parallel/lib/parallel.rb#453 + # source://parallel//lib/parallel.rb#453 def work_in_ractors(job_factory, options); end - # source://parallel/lib/parallel.rb#428 + # source://parallel//lib/parallel.rb#428 def work_in_threads(job_factory, options, &block); end - # source://parallel/lib/parallel.rb#587 + # source://parallel//lib/parallel.rb#587 def worker(job_factory, options, &block); end end end -# source://parallel/lib/parallel.rb#11 +# source://parallel//lib/parallel.rb#11 class Parallel::Break < ::StandardError # @return [Break] a new instance of Break # - # source://parallel/lib/parallel.rb#14 + # source://parallel//lib/parallel.rb#14 def initialize(value = T.unsafe(nil)); end # Returns the value of attribute value. # - # source://parallel/lib/parallel.rb#12 + # source://parallel//lib/parallel.rb#12 def value; end end -# source://parallel/lib/parallel.rb#8 +# source://parallel//lib/parallel.rb#8 class Parallel::DeadWorker < ::StandardError; end -# source://parallel/lib/parallel.rb#32 +# source://parallel//lib/parallel.rb#32 class Parallel::ExceptionWrapper # @return [ExceptionWrapper] a new instance of ExceptionWrapper # - # source://parallel/lib/parallel.rb#35 + # source://parallel//lib/parallel.rb#35 def initialize(exception); end # Returns the value of attribute exception. # - # source://parallel/lib/parallel.rb#33 + # source://parallel//lib/parallel.rb#33 def exception; end end -# source://parallel/lib/parallel.rb#98 +# source://parallel//lib/parallel.rb#98 class Parallel::JobFactory # @return [JobFactory] a new instance of JobFactory # - # source://parallel/lib/parallel.rb#99 + # source://parallel//lib/parallel.rb#99 def initialize(source, mutex); end - # source://parallel/lib/parallel.rb#107 + # source://parallel//lib/parallel.rb#107 def next; end # generate item that is sent to workers # just index is faster + less likely to blow up with unserializable errors # - # source://parallel/lib/parallel.rb#136 + # source://parallel//lib/parallel.rb#136 def pack(item, index); end - # source://parallel/lib/parallel.rb#126 + # source://parallel//lib/parallel.rb#126 def size; end # unpack item that is sent to workers # - # source://parallel/lib/parallel.rb#141 + # source://parallel//lib/parallel.rb#141 def unpack(data); end private # @return [Boolean] # - # source://parallel/lib/parallel.rb#147 + # source://parallel//lib/parallel.rb#147 def producer?; end - # source://parallel/lib/parallel.rb#151 + # source://parallel//lib/parallel.rb#151 def queue_wrapper(array); end end -# source://parallel/lib/parallel.rb#20 +# source://parallel//lib/parallel.rb#20 class Parallel::Kill < ::Parallel::Break; end -# source://parallel/lib/parallel.rb#6 +# source://parallel//lib/parallel.rb#6 Parallel::Stop = T.let(T.unsafe(nil), Object) -# source://parallel/lib/parallel.rb#23 +# source://parallel//lib/parallel.rb#23 class Parallel::UndumpableException < ::StandardError # @return [UndumpableException] a new instance of UndumpableException # - # source://parallel/lib/parallel.rb#26 + # source://parallel//lib/parallel.rb#26 def initialize(original); end # Returns the value of attribute backtrace. # - # source://parallel/lib/parallel.rb#24 + # source://parallel//lib/parallel.rb#24 def backtrace; end end -# source://parallel/lib/parallel.rb#156 +# source://parallel//lib/parallel.rb#156 class Parallel::UserInterruptHandler class << self - # source://parallel/lib/parallel.rb#181 + # source://parallel//lib/parallel.rb#181 def kill(thing); end # kill all these pids or threads if user presses Ctrl+c # - # source://parallel/lib/parallel.rb#161 + # source://parallel//lib/parallel.rb#161 def kill_on_ctrl_c(pids, options); end private - # source://parallel/lib/parallel.rb#205 + # source://parallel//lib/parallel.rb#205 def restore_interrupt(old, signal); end - # source://parallel/lib/parallel.rb#190 + # source://parallel//lib/parallel.rb#190 def trap_interrupt(signal); end end end -# source://parallel/lib/parallel.rb#157 +# source://parallel//lib/parallel.rb#157 Parallel::UserInterruptHandler::INTERRUPT_SIGNAL = T.let(T.unsafe(nil), Symbol) -# source://parallel/lib/parallel/version.rb#3 +# source://parallel//lib/parallel/version.rb#3 Parallel::VERSION = T.let(T.unsafe(nil), String) -# source://parallel/lib/parallel/version.rb#3 +# source://parallel//lib/parallel/version.rb#3 Parallel::Version = T.let(T.unsafe(nil), String) -# source://parallel/lib/parallel.rb#51 +# source://parallel//lib/parallel.rb#51 class Parallel::Worker # @return [Worker] a new instance of Worker # - # source://parallel/lib/parallel.rb#55 + # source://parallel//lib/parallel.rb#55 def initialize(read, write, pid); end # might be passed to started_processes and simultaneously closed by another thread # when running in isolation mode, so we have to check if it is closed before closing # - # source://parallel/lib/parallel.rb#68 + # source://parallel//lib/parallel.rb#68 def close_pipes; end # Returns the value of attribute pid. # - # source://parallel/lib/parallel.rb#52 + # source://parallel//lib/parallel.rb#52 def pid; end # Returns the value of attribute read. # - # source://parallel/lib/parallel.rb#52 + # source://parallel//lib/parallel.rb#52 def read; end - # source://parallel/lib/parallel.rb#61 + # source://parallel//lib/parallel.rb#61 def stop; end # Returns the value of attribute thread. # - # source://parallel/lib/parallel.rb#53 + # source://parallel//lib/parallel.rb#53 def thread; end # Sets the attribute thread # # @param value the value to set the attribute thread to. # - # source://parallel/lib/parallel.rb#53 + # source://parallel//lib/parallel.rb#53 def thread=(_arg0); end - # source://parallel/lib/parallel.rb#73 + # source://parallel//lib/parallel.rb#73 def work(data); end # Returns the value of attribute write. # - # source://parallel/lib/parallel.rb#52 + # source://parallel//lib/parallel.rb#52 def write; end private - # source://parallel/lib/parallel.rb#91 + # source://parallel//lib/parallel.rb#91 def wait; end end diff --git a/sorbet/rbi/gems/parser@3.3.6.0.rbi b/sorbet/rbi/gems/parser@3.3.6.0.rbi deleted file mode 100644 index 721a70a2..00000000 --- a/sorbet/rbi/gems/parser@3.3.6.0.rbi +++ /dev/null @@ -1,5519 +0,0 @@ -# typed: true - -# DO NOT EDIT MANUALLY -# This is an autogenerated file for types exported from the `parser` gem. -# Please instead update this file by running `bin/tapioca gem parser`. - - -# @api public -# -# source://parser/lib/parser.rb#19 -module Parser; end - -# @api public -# -# source://parser/lib/parser.rb#24 -module Parser::AST; end - -# {Parser::AST::Node} contains information about a single AST node and its -# child nodes. It extends the basic [AST::Node](https://www.rubydoc.info/gems/ast/AST/Node) -# class provided by gem [ast](https://www.rubydoc.info/gems/ast). -# -# @api public -# -# source://parser/lib/parser/ast/node.rb#17 -class Parser::AST::Node < ::AST::Node - # Assigns various properties to this AST node. Currently only the - # location can be set. - # - # @api public - # @option properties - # @param properties [Hash] - # - # source://parser/lib/parser/ast/node.rb#30 - def assign_properties(properties); end - - # Source map for this Node. - # - # @api public - # @return [Parser::Source::Map] - # - # source://parser/lib/parser/ast/node.rb#18 - def loc; end - - # Source map for this Node. - # - # @api public - # @return [Parser::Source::Map] - # - # source://parser/lib/parser/ast/node.rb#18 - def location; end -end - -# @api public -# -# source://parser/lib/parser/ast/processor.rb#9 -class Parser::AST::Processor - include ::AST::Processor::Mixin - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#12 - def on_alias(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#12 - def on_and(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#12 - def on_and_asgn(node); end - - # @api public - # @private - # - # source://parser/lib/parser/ast/processor.rb#118 - def on_arg(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#12 - def on_arg_expr(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#12 - def on_args(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#105 - def on_argument(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#12 - def on_array(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#12 - def on_array_pattern(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#12 - def on_array_pattern_with_tail(node); end - - # @api public - # @private - # - # source://parser/lib/parser/ast/processor.rb#34 - def on_back_ref(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#12 - def on_begin(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#12 - def on_block(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#12 - def on_block_pass(node); end - - # @api public - # @private - # - # source://parser/lib/parser/ast/processor.rb#118 - def on_blockarg(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#12 - def on_blockarg_expr(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#12 - def on_break(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#12 - def on_case(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#12 - def on_case_match(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#89 - def on_casgn(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#12 - def on_class(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#81 - def on_const(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#12 - def on_const_pattern(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#181 - def on_csend(node); end - - # @api public - # @private - # - # source://parser/lib/parser/ast/processor.rb#34 - def on_cvar(node); end - - # @api public - # @private - # - # source://parser/lib/parser/ast/processor.rb#58 - def on_cvasgn(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#160 - def on_def(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#12 - def on_defined?(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#169 - def on_defs(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#12 - def on_dstr(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#12 - def on_dsym(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#12 - def on_eflipflop(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#288 - def on_empty_else(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#12 - def on_ensure(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#12 - def on_erange(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#12 - def on_find_pattern(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#12 - def on_for(node); end - - # @api public - # @private - # - # source://parser/lib/parser/ast/processor.rb#118 - def on_forward_arg(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#12 - def on_forwarded_kwrestarg(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#12 - def on_forwarded_restarg(node); end - - # @api public - # @private - # - # source://parser/lib/parser/ast/processor.rb#34 - def on_gvar(node); end - - # @api public - # @private - # - # source://parser/lib/parser/ast/processor.rb#58 - def on_gvasgn(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#12 - def on_hash(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#12 - def on_hash_pattern(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#12 - def on_if(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#12 - def on_if_guard(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#12 - def on_iflipflop(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#12 - def on_in_match(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#12 - def on_in_pattern(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#12 - def on_index(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#12 - def on_indexasgn(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#12 - def on_irange(node); end - - # @api public - # @private - # - # source://parser/lib/parser/ast/processor.rb#34 - def on_ivar(node); end - - # @api public - # @private - # - # source://parser/lib/parser/ast/processor.rb#58 - def on_ivasgn(node); end - - # @api public - # @private - # - # source://parser/lib/parser/ast/processor.rb#118 - def on_kwarg(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#12 - def on_kwargs(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#12 - def on_kwbegin(node); end - - # @api public - # @private - # - # source://parser/lib/parser/ast/processor.rb#118 - def on_kwoptarg(node); end - - # @api public - # @private - # - # source://parser/lib/parser/ast/processor.rb#118 - def on_kwrestarg(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#12 - def on_kwsplat(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#12 - def on_lambda(node); end - - # @api public - # @private - # - # source://parser/lib/parser/ast/processor.rb#34 - def on_lvar(node); end - - # @api public - # @private - # - # source://parser/lib/parser/ast/processor.rb#58 - def on_lvasgn(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#12 - def on_masgn(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#12 - def on_match_alt(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#12 - def on_match_as(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#12 - def on_match_current_line(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#12 - def on_match_pattern(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#12 - def on_match_pattern_p(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#12 - def on_match_rest(node); end - - # @api public - # @private - # - # source://parser/lib/parser/ast/processor.rb#34 - def on_match_var(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#12 - def on_match_with_lvasgn(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#12 - def on_mlhs(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#12 - def on_module(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#12 - def on_next(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#12 - def on_not(node); end - - # @api public - # @private - # - # source://parser/lib/parser/ast/processor.rb#34 - def on_nth_ref(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#198 - def on_numblock(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#70 - def on_op_asgn(node); end - - # @api public - # @private - # - # source://parser/lib/parser/ast/processor.rb#118 - def on_optarg(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#12 - def on_or(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#12 - def on_or_asgn(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#12 - def on_pair(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#12 - def on_pin(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#12 - def on_postexe(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#12 - def on_preexe(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#132 - def on_procarg0(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#12 - def on_redo(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#12 - def on_regexp(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#12 - def on_resbody(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#12 - def on_rescue(node); end - - # @api public - # @private - # - # source://parser/lib/parser/ast/processor.rb#118 - def on_restarg(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#12 - def on_restarg_expr(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#12 - def on_retry(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#12 - def on_return(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#12 - def on_sclass(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#181 - def on_send(node); end - - # @api public - # @private - # - # source://parser/lib/parser/ast/processor.rb#118 - def on_shadowarg(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#12 - def on_splat(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#12 - def on_super(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#12 - def on_undef(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#12 - def on_unless_guard(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#12 - def on_until(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#12 - def on_until_post(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#29 - def on_var(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#45 - def on_vasgn(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#12 - def on_when(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#12 - def on_while(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#12 - def on_while_post(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#12 - def on_xstr(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#12 - def on_yield(node); end - - # @api public - # @private - # - # source://parser/lib/parser/ast/processor.rb#281 - def process_argument_node(node); end - - # @api public - # - # source://parser/lib/parser/ast/processor.rb#12 - def process_regular_node(node); end - - # @api public - # @private - # - # source://parser/lib/parser/ast/processor.rb#273 - def process_var_asgn_node(node); end - - # @api public - # @private - # - # source://parser/lib/parser/ast/processor.rb#265 - def process_variable_node(node); end -end - -# Base class for version-specific parsers. -# -# @api public -# -# source://parser/lib/parser/base.rb#16 -class Parser::Base < ::Racc::Parser - # @api public - # @param builder [Parser::Builders::Default] The AST builder to use. - # @return [Base] a new instance of Base - # - # source://parser/lib/parser/base.rb#126 - def initialize(builder = T.unsafe(nil)); end - - # @api public - # - # source://parser/lib/parser/base.rb#114 - def builder; end - - # @api public - # - # source://parser/lib/parser/base.rb#117 - def context; end - - # @api public - # - # source://parser/lib/parser/base.rb#119 - def current_arg_stack; end - - # @api public - # @return [Parser::Diagnostic::Engine] - # - # source://parser/lib/parser/base.rb#113 - def diagnostics; end - - # @api public - # - # source://parser/lib/parser/base.rb#112 - def lexer; end - - # @api public - # - # source://parser/lib/parser/base.rb#118 - def max_numparam_stack; end - - # Parses a source buffer and returns the AST, or `nil` in case of a non fatal error. - # - # @api public - # @param source_buffer [Parser::Source::Buffer] The source buffer to parse. - # @return [Parser::AST::Node, nil] - # - # source://parser/lib/parser/base.rb#186 - def parse(source_buffer); end - - # Parses a source buffer and returns the AST and the source code comments. - # - # @api public - # @return [Array] - # @see #parse - # @see Parser::Source::Comment#associate - # - # source://parser/lib/parser/base.rb#204 - def parse_with_comments(source_buffer); end - - # @api public - # - # source://parser/lib/parser/base.rb#121 - def pattern_hash_keys; end - - # @api public - # - # source://parser/lib/parser/base.rb#120 - def pattern_variables; end - - # Resets the state of the parser. - # - # @api public - # - # source://parser/lib/parser/base.rb#167 - def reset; end - - # @api public - # - # source://parser/lib/parser/base.rb#116 - def source_buffer; end - - # @api public - # @return [Parser::StaticEnvironment] - # - # source://parser/lib/parser/base.rb#115 - def static_env; end - - # Parses a source buffer and returns the AST, the source code comments, - # and the tokens emitted by the lexer. In case of a fatal error, a {SyntaxError} - # is raised, unless `recover` is true. In case of an error - # (non-fatal or recovered), `nil` is returned instead of the AST, and - # comments as well as tokens are only returned up to the location of - # the error. - # - # Currently, token stream format returned by #tokenize is not documented, - # but is considered part of a public API and only changed according - # to Semantic Versioning. - # - # However, note that the exact token composition of various constructs - # might vary. For example, a string `"foo"` is represented equally well - # by `:tSTRING_BEG " :tSTRING_CONTENT foo :tSTRING_END "` and - # `:tSTRING "foo"`; such details must not be relied upon. - # - # @api public - # @param source_buffer [Parser::Source::Buffer] - # @param recover [Boolean] If true, recover from syntax errors. False by default. - # @return [Array] - # - # source://parser/lib/parser/base.rb#233 - def tokenize(source_buffer, recover = T.unsafe(nil)); end - - private - - # @api public - # - # source://parser/lib/parser/base.rb#257 - def check_kwarg_name(name_t); end - - # @api public - # - # source://parser/lib/parser/base.rb#266 - def diagnostic(level, reason, arguments, location_t, highlights_ts = T.unsafe(nil)); end - - # @api public - # - # source://parser/lib/parser/base.rb#251 - def next_token; end - - # @api public - # - # source://parser/lib/parser/base.rb#282 - def on_error(error_token_id, error_value, value_stack); end - - class << self - # @api public - # @return [Parser::Base] parser with the default options set. - # - # source://parser/lib/parser/base.rb#84 - def default_parser; end - - # Parses a string of Ruby code and returns the AST. If the source - # cannot be parsed, {SyntaxError} is raised and a diagnostic is - # printed to `stderr`. - # - # @api public - # @example - # Parser::Base.parse('puts "hello"') - # @param string [String] The block of code to parse. - # @param file [String] The name of the file the code originated from. - # @param line [Numeric] The initial line number. - # @return [Parser::AST::Node] - # - # source://parser/lib/parser/base.rb#30 - def parse(string, file = T.unsafe(nil), line = T.unsafe(nil)); end - - # Parses Ruby source code by reading it from a file. If the source - # cannot be parsed, {SyntaxError} is raised and a diagnostic is - # printed to `stderr`. - # - # @api public - # @param filename [String] Path to the file to parse. - # @return [Parser::AST::Node] - # @see #parse - # - # source://parser/lib/parser/base.rb#64 - def parse_file(filename); end - - # Parses Ruby source code by reading it from a file and returns the AST and - # comments. If the source cannot be parsed, {SyntaxError} is raised and a - # diagnostic is printed to `stderr`. - # - # @api public - # @param filename [String] Path to the file to parse. - # @return [Array] - # @see #parse - # - # source://parser/lib/parser/base.rb#77 - def parse_file_with_comments(filename); end - - # Parses a string of Ruby code and returns the AST and comments. If the - # source cannot be parsed, {SyntaxError} is raised and a diagnostic is - # printed to `stderr`. - # - # @api public - # @example - # Parser::Base.parse_with_comments('puts "hello"') - # @param string [String] The block of code to parse. - # @param file [String] The name of the file the code originated from. - # @param line [Numeric] The initial line number. - # @return [Array] - # - # source://parser/lib/parser/base.rb#49 - def parse_with_comments(string, file = T.unsafe(nil), line = T.unsafe(nil)); end - - private - - # @api public - # - # source://parser/lib/parser/base.rb#97 - def setup_source_buffer(file, line, string, encoding); end - end -end - -# @api public -# -# source://parser/lib/parser.rb#78 -module Parser::Builders; end - -# source://parser/lib/parser/builders/default.rb#8 -class Parser::Builders::Default - # source://parser/lib/parser/builders/default.rb#243 - def initialize; end - - # source://parser/lib/parser/builders/default.rb#703 - def __ENCODING__(__ENCODING__t); end - - # source://parser/lib/parser/builders/default.rb#348 - def __FILE__(__FILE__t); end - - # source://parser/lib/parser/builders/default.rb#312 - def __LINE__(__LINE__t); end - - # source://parser/lib/parser/builders/default.rb#622 - def accessible(node); end - - # source://parser/lib/parser/builders/default.rb#878 - def alias(alias_t, to, from); end - - # source://parser/lib/parser/builders/default.rb#917 - def arg(name_t); end - - # source://parser/lib/parser/builders/default.rb#1007 - def arg_expr(expr); end - - # 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#1590 - def array_pattern(lbrack_t, elements, rbrack_t); end - - # source://parser/lib/parser/builders/default.rb#767 - def assign(lhs, eql_t, rhs); end - - # 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#1171 - def attr_asgn(receiver, dot_t, selector_t); end - - # source://parser/lib/parser/builders/default.rb#612 - def back_ref(token); end - - # source://parser/lib/parser/builders/default.rb#1435 - def begin(begin_t, body, end_t); end - - # 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#1453 - def begin_keyword(begin_t, body, end_t); end - - # source://parser/lib/parser/builders/default.rb#1205 - def binary_op(receiver, operator_t, arg); end - - # 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#1157 - def block_pass(amper_t, arg); end - - # source://parser/lib/parser/builders/default.rb#982 - def blockarg(amper_t, name_t); end - - # source://parser/lib/parser/builders/default.rb#1027 - def blockarg_expr(amper_t, expr); end - - # source://parser/lib/parser/builders/default.rb#1113 - def call_lambda(lambda_t); end - - # 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#1068 - def call_type_for_dot(dot_t); end - - # 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#1473 - def case_match(case_t, expr, in_bodies, else_t, else_body, end_t); end - - # source://parser/lib/parser/builders/default.rb#343 - def character(char_t); end - - # source://parser/lib/parser/builders/default.rb#284 - def complex(complex_t); end - - # source://parser/lib/parser/builders/default.rb#1423 - def compstmt(statements); end - - # 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#1292 - def condition_mod(if_true, if_false, cond_t, cond); end - - # source://parser/lib/parser/builders/default.rb#686 - def const(name_t); end - - # source://parser/lib/parser/builders/default.rb#698 - def const_fetch(scope, t_colon2, name_t); end - - # source://parser/lib/parser/builders/default.rb#691 - def const_global(t_colon3, name_t); end - - # source://parser/lib/parser/builders/default.rb#763 - def const_op_assignable(node); end - - # 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#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#814 - def def_class(class_t, name, lt_t, superclass, body, end_t); end - - # 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#863 - def def_endless_singleton(def_t, definee, dot_t, name_t, args, assignment_t, body); end - - # 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#827 - def def_module(module_t, name, body, end_t); end - - # 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#853 - def def_singleton(def_t, definee, dot_t, name_t, args, body, end_t); end - - # source://parser/lib/parser/builders/default.rb#237 - def emit_file_line_as_literals; end - - # source://parser/lib/parser/builders/default.rb#237 - def emit_file_line_as_literals=(_arg0); end - - # source://parser/lib/parser/builders/default.rb#265 - def false(false_t); end - - # 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#1331 - def for(for_t, iterator, in_t, iteratee, do_t, body, end_t); end - - # source://parser/lib/parser/builders/default.rb#913 - def forward_arg(dots_t); end - - # 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#1084 - def forwarded_args(dots_t); end - - # source://parser/lib/parser/builders/default.rb#1092 - def forwarded_kwrestarg(dstar_t); end - - # 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#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#1500 - def if_guard(if_t, if_body); end - - # source://parser/lib/parser/builders/default.rb#1479 - def in_match(lhs, in_t, rhs); end - - # 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#1180 - def index(receiver, lbrack_t, indexes, rbrack_t); end - - # 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 - def integer(integer_t); end - - # source://parser/lib/parser/builders/default.rb#591 - def ivar(token); end - - # 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#944 - def kwarg(name_t); end - - # source://parser/lib/parser/builders/default.rb#970 - def kwnilarg(dstar_t, nil_t); end - - # source://parser/lib/parser/builders/default.rb#951 - def kwoptarg(name_t, value); end - - # 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#1279 - def logical_op(type, lhs, op_t, rhs); end - - # 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#1322 - def loop_mod(type, body, keyword_t, cond); end - - # source://parser/lib/parser/builders/default.rb#1634 - def match_alt(left, pipe_t, right); end - - # source://parser/lib/parser/builders/default.rb#1641 - def match_as(value, assoc_t, as); end - - # source://parser/lib/parser/builders/default.rb#1520 - def match_hash_var(name_t); end - - # 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#1672 - def match_label(label_type, label); end - - # source://parser/lib/parser/builders/default.rb#1648 - def match_nil_pattern(dstar_t, nil_t); end - - # source://parser/lib/parser/builders/default.rb#1227 - def match_op(receiver, match_t, arg); end - - # source://parser/lib/parser/builders/default.rb#1653 - def match_pair(label_type, label, value); end - - # source://parser/lib/parser/builders/default.rb#1484 - def match_pattern(lhs, match_t, rhs); end - - # source://parser/lib/parser/builders/default.rb#1489 - def match_pattern_p(lhs, match_t, rhs); end - - # 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#1508 - def match_var(name_t); end - - # source://parser/lib/parser/builders/default.rb#1616 - def match_with_trailing_comma(match, comma_t); end - - # source://parser/lib/parser/builders/default.rb#805 - def multi_assign(lhs, eql_t, rhs); end - - # 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#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#617 - def nth_ref(token); end - - # source://parser/lib/parser/builders/default.rb#899 - def numargs(max_numparam); end - - # 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#1052 - def objc_restarg(star_t, name = T.unsafe(nil)); end - - # source://parser/lib/parser/builders/default.rb#1162 - def objc_varargs(pair, rest_of_varargs); end - - # source://parser/lib/parser/builders/default.rb#774 - def op_assign(lhs, op_t, rhs); end - - # source://parser/lib/parser/builders/default.rb#924 - def optarg(name_t, eql_t, value); end - - # source://parser/lib/parser/builders/default.rb#488 - def pair(key, assoc_t, value); end - - # source://parser/lib/parser/builders/default.rb#505 - def pair_keyword(key_t, value); end - - # source://parser/lib/parser/builders/default.rb#521 - def pair_label(key_t); end - - # source://parser/lib/parser/builders/default.rb#493 - def pair_list_18(list); end - - # source://parser/lib/parser/builders/default.rb#513 - def pair_quoted(begin_t, parts, end_t, value); end - - # source://parser/lib/parser/builders/default.rb#225 - def parser; end - - # source://parser/lib/parser/builders/default.rb#225 - def parser=(_arg0); end - - # source://parser/lib/parser/builders/default.rb#1629 - def pin(pin_t, var); end - - # 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#1357 - def preexe(preexe_t, lbrace_t, compstmt, rbrace_t); end - - # source://parser/lib/parser/builders/default.rb#992 - def procarg0(arg); end - - # source://parser/lib/parser/builders/default.rb#572 - def range_exclusive(lhs, dot3_t, rhs); end - - # source://parser/lib/parser/builders/default.rb#567 - def range_inclusive(lhs, dot2_t, rhs); end - - # source://parser/lib/parser/builders/default.rb#280 - def rational(rational_t); end - - # source://parser/lib/parser/builders/default.rb#426 - def regexp_compose(begin_t, parts, end_t, options); end - - # source://parser/lib/parser/builders/default.rb#417 - def regexp_options(regopt_t); end - - # 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#933 - def restarg(star_t, name_t = T.unsafe(nil)); end - - # 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#975 - def shadowarg(name_t); end - - # source://parser/lib/parser/builders/default.rb#445 - def splat(star_t, arg = T.unsafe(nil)); end - - # source://parser/lib/parser/builders/default.rb#319 - def string(string_t); end - - # source://parser/lib/parser/builders/default.rb#329 - def string_compose(begin_t, parts, end_t); end - - # source://parser/lib/parser/builders/default.rb#324 - def string_internal(string_t); end - - # source://parser/lib/parser/builders/default.rb#355 - def symbol(symbol_t); end - - # source://parser/lib/parser/builders/default.rb#365 - def symbol_compose(begin_t, parts, end_t); end - - # source://parser/lib/parser/builders/default.rb#360 - def symbol_internal(symbol_t); end - - # source://parser/lib/parser/builders/default.rb#469 - def symbols_compose(begin_t, parts, end_t); end - - # 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 - def true(true_t); end - - # source://parser/lib/parser/builders/default.rb#294 - def unary_num(unary_t, numeric); end - - # source://parser/lib/parser/builders/default.rb#1243 - def unary_op(op_t, receiver); end - - # source://parser/lib/parser/builders/default.rb#873 - def undef_method(undef_t, names); end - - # source://parser/lib/parser/builders/default.rb#1504 - def unless_guard(unless_t, unless_body); end - - # 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 - def word(parts); end - - # source://parser/lib/parser/builders/default.rb#464 - def words_compose(begin_t, parts, end_t); end - - # source://parser/lib/parser/builders/default.rb#381 - def xstring_compose(begin_t, parts, end_t); end - - private - - # source://parser/lib/parser/builders/default.rb#1821 - def arg_name_collides?(this_name, that_name); end - - # 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#1991 - def binary_op_map(left_e, op_t, right_e); end - - # 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#1796 - def check_assignment_to_numparam(name, loc); end - - # source://parser/lib/parser/builders/default.rb#1688 - def check_condition(cond); end - - # 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#1742 - def check_duplicate_args(args, map = T.unsafe(nil)); end - - # source://parser/lib/parser/builders/default.rb#1854 - def check_duplicate_pattern_key(name, loc); end - - # source://parser/lib/parser/builders/default.rb#1844 - def check_duplicate_pattern_variable(name, loc); end - - # source://parser/lib/parser/builders/default.rb#1836 - def check_lvar_name(name, loc); end - - # source://parser/lib/parser/builders/default.rb#1811 - def check_reserved_for_numparam(name, loc); end - - # source://parser/lib/parser/builders/default.rb#2280 - def collapse_string_parts?(parts); end - - # source://parser/lib/parser/builders/default.rb#1942 - def collection_map(begin_t, parts, end_t); end - - # 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#1977 - def constant_map(scope, colon2_t, name_t); end - - # 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#1883 - def delimited_string_map(string_t); end - - # 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#2190 - def eh_keyword_map(compstmt_e, keyword_t, body_es, else_t, else_e); end - - # 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#1938 - def expr_map(loc); end - - # 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#2218 - def guard_map(keyword_t, guard_body_e); end - - # 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#1874 - def join_exprs(left_expr, right_expr); end - - # 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#2141 - def keyword_mod_map(pre_e, keyword_t, post_e); end - - # 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#2333 - def kwargs?(node); end - - # source://parser/lib/parser/builders/default.rb#2297 - def loc(token); end - - # 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#1866 - def n(type, children, source_map); end - - # 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#1908 - def pair_keyword_map(key_t, value_e); end - - # 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#1894 - def prefix_string_map(symbol); end - - # 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#1972 - def regexp_map(begin_t, end_t, options_e); end - - # 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#2323 - def rewrite_hash_args_to_kwargs(args); end - - # 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#2113 - def send_index_map(receiver_e, lbrack_t, rbrack_t); end - - # 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#2096 - def send_unary_op_map(selector_t, arg_e); end - - # source://parser/lib/parser/builders/default.rb#2249 - def static_regexp(parts, options); end - - # source://parser/lib/parser/builders/default.rb#2269 - def static_regexp_node(node); end - - # source://parser/lib/parser/builders/default.rb#2232 - def static_string(nodes); end - - # source://parser/lib/parser/builders/default.rb#1958 - def string_map(begin_t, parts, end_t); end - - # source://parser/lib/parser/builders/default.rb#2289 - def string_value(token); end - - # 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#1879 - def token_map(token); end - - # 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#1903 - def unquoted_map(token); end - - # source://parser/lib/parser/builders/default.rb#2311 - def validate_definee(definee); end - - # source://parser/lib/parser/builders/default.rb#1781 - def validate_no_forward_arg_after_restarg(args); end - - # source://parser/lib/parser/builders/default.rb#2285 - def value(token); end - - # source://parser/lib/parser/builders/default.rb#2084 - def var_send_map(variable_e); end - - # source://parser/lib/parser/builders/default.rb#1987 - def variable_map(name_t); end - - class << self - # source://parser/lib/parser/builders/default.rb#97 - def emit_arg_inside_procarg0; end - - # source://parser/lib/parser/builders/default.rb#97 - def emit_arg_inside_procarg0=(_arg0); end - - # source://parser/lib/parser/builders/default.rb#58 - def emit_encoding; end - - # source://parser/lib/parser/builders/default.rb#58 - def emit_encoding=(_arg0); end - - # source://parser/lib/parser/builders/default.rb#126 - def emit_forward_arg; end - - # source://parser/lib/parser/builders/default.rb#126 - def emit_forward_arg=(_arg0); end - - # source://parser/lib/parser/builders/default.rb#80 - def emit_index; end - - # source://parser/lib/parser/builders/default.rb#80 - def emit_index=(_arg0); end - - # source://parser/lib/parser/builders/default.rb#174 - def emit_kwargs; end - - # source://parser/lib/parser/builders/default.rb#174 - def emit_kwargs=(_arg0); end - - # source://parser/lib/parser/builders/default.rb#22 - def emit_lambda; end - - # source://parser/lib/parser/builders/default.rb#22 - def emit_lambda=(_arg0); end - - # source://parser/lib/parser/builders/default.rb#203 - def emit_match_pattern; end - - # source://parser/lib/parser/builders/default.rb#203 - def emit_match_pattern=(_arg0); end - - # source://parser/lib/parser/builders/default.rb#40 - def emit_procarg0; end - - # source://parser/lib/parser/builders/default.rb#40 - def emit_procarg0=(_arg0); end - - # source://parser/lib/parser/builders/default.rb#211 - def modernize; end - end -end - -# {Parser::ClobberingError} is raised when {Parser::Source::Rewriter} -# detects a clobbering rewrite action. This class inherits {RuntimeError} -# rather than {StandardError} for backward compatibility. -# -# @api public -# -# source://parser/lib/parser/clobbering_error.rb#11 -class Parser::ClobberingError < ::RuntimeError; end - -# Context of parsing that is represented by a stack of scopes. -# -# Supported states: -# + :class - in the class body (class A; end) -# + :module - in the module body (module M; end) -# + :sclass - in the singleton class body (class << obj; end) -# + :def - in the method body (def m; end) -# + :defs - in the singleton method body (def self.m; end) -# + :def_open_args - in the arglist of the method definition -# keep in mind that it's set **only** after reducing the first argument, -# if you need to handle the first argument check `lex_state == expr_fname` -# + :block - in the block body (tap {}) -# + :lambda - in the lambda body (-> {}) -# -# source://parser/lib/parser/context.rb#18 -class Parser::Context - # @return [Context] a new instance of Context - # - # source://parser/lib/parser/context.rb#29 - def initialize; end - - # source://parser/lib/parser/context.rb#43 - def in_argdef; end - - # source://parser/lib/parser/context.rb#43 - def in_argdef=(_arg0); end - - # source://parser/lib/parser/context.rb#43 - def in_block; end - - # source://parser/lib/parser/context.rb#43 - def in_block=(_arg0); end - - # source://parser/lib/parser/context.rb#43 - def in_class; end - - # source://parser/lib/parser/context.rb#43 - def in_class=(_arg0); end - - # source://parser/lib/parser/context.rb#43 - def in_def; end - - # source://parser/lib/parser/context.rb#43 - def in_def=(_arg0); end - - # source://parser/lib/parser/context.rb#43 - def in_defined; end - - # source://parser/lib/parser/context.rb#43 - def in_defined=(_arg0); end - - # @return [Boolean] - # - # source://parser/lib/parser/context.rb#45 - def in_dynamic_block?; end - - # source://parser/lib/parser/context.rb#43 - def in_kwarg; end - - # source://parser/lib/parser/context.rb#43 - def in_kwarg=(_arg0); end - - # source://parser/lib/parser/context.rb#43 - def in_lambda; end - - # source://parser/lib/parser/context.rb#43 - def in_lambda=(_arg0); end - - # source://parser/lib/parser/context.rb#33 - def reset; end -end - -# source://parser/lib/parser/context.rb#19 -Parser::Context::FLAGS = T.let(T.unsafe(nil), Array) - -# Stack that holds names of current arguments, -# i.e. while parsing -# def m1(a = (def m2(b = def m3(c = 1); end); end)); end -# ^ -# stack is [:a, :b, :c] -# -# Emulates `p->cur_arg` in MRI's parse.y -# -# @api private -# -# source://parser/lib/parser/current_arg_stack.rb#14 -class Parser::CurrentArgStack - # @api private - # @return [CurrentArgStack] a new instance of CurrentArgStack - # - # source://parser/lib/parser/current_arg_stack.rb#17 - def initialize; end - - # @api private - # @return [Boolean] - # - # source://parser/lib/parser/current_arg_stack.rb#22 - def empty?; end - - # @api private - # - # source://parser/lib/parser/current_arg_stack.rb#34 - def pop; end - - # @api private - # - # source://parser/lib/parser/current_arg_stack.rb#26 - def push(value); end - - # @api private - # - # source://parser/lib/parser/current_arg_stack.rb#38 - def reset; end - - # @api private - # - # source://parser/lib/parser/current_arg_stack.rb#30 - def set(value); end - - # @api private - # - # source://parser/lib/parser/current_arg_stack.rb#15 - def stack; end - - # @api private - # - # source://parser/lib/parser/current_arg_stack.rb#42 - def top; end -end - -# @api private -# -# source://parser/lib/parser/deprecation.rb#7 -module Parser::Deprecation - # @api private - # - # source://parser/lib/parser/deprecation.rb#9 - def warn_of_deprecation; end - - # @api private - # - # source://parser/lib/parser/deprecation.rb#8 - def warned_of_deprecation=(_arg0); end -end - -# @api public -# -# source://parser/lib/parser/diagnostic.rb#31 -class Parser::Diagnostic - # @api public - # @param level [Symbol] - # @param reason [Symbol] - # @param arguments [Hash] - # @param location [Parser::Source::Range] - # @param highlights [Array] - # @return [Diagnostic] a new instance of Diagnostic - # - # source://parser/lib/parser/diagnostic.rb#49 - def initialize(level, reason, arguments, location, highlights = T.unsafe(nil)); end - - # @api public - # @return [Symbol] extended arguments that describe the error - # @see Parser::MESSAGES - # - # source://parser/lib/parser/diagnostic.rb#39 - def arguments; end - - # Supplementary error-related source ranges. - # - # @api public - # @return [Array] - # - # source://parser/lib/parser/diagnostic.rb#40 - def highlights; end - - # @api public - # @return [Symbol] diagnostic level - # @see LEVELS - # - # source://parser/lib/parser/diagnostic.rb#39 - def level; end - - # Main error-related source range. - # - # @api public - # @return [Parser::Source::Range] - # - # source://parser/lib/parser/diagnostic.rb#40 - def location; end - - # @api public - # @return [String] the rendered message. - # - # source://parser/lib/parser/diagnostic.rb#69 - def message; end - - # @api public - # @return [Symbol] reason for error - # @see Parser::MESSAGES - # - # source://parser/lib/parser/diagnostic.rb#39 - def reason; end - - # Renders the diagnostic message as a clang-like diagnostic. - # - # @api public - # @example - # diagnostic.render # => - # # [ - # # "(fragment:0):1:5: error: unexpected token $end", - # # "foo +", - # # " ^" - # # ] - # @return [Array] - # - # source://parser/lib/parser/diagnostic.rb#86 - def render; end - - private - - # If necessary, shrink a `Range` so as to include only the first line. - # - # @api public - # @return [Parser::Source::Range] - # - # source://parser/lib/parser/diagnostic.rb#142 - def first_line_only(range); end - - # If necessary, shrink a `Range` so as to include only the last line. - # - # @api public - # @return [Parser::Source::Range] - # - # source://parser/lib/parser/diagnostic.rb#155 - def last_line_only(range); end - - # Renders one source line in clang diagnostic style, with highlights. - # - # @api public - # @return [Array] - # - # source://parser/lib/parser/diagnostic.rb#110 - def render_line(range, ellipsis = T.unsafe(nil), range_end = T.unsafe(nil)); end -end - -# source://parser/lib/parser/diagnostic/engine.rb#36 -class Parser::Diagnostic::Engine - # source://parser/lib/parser/diagnostic/engine.rb#45 - def initialize(consumer = T.unsafe(nil)); end - - # source://parser/lib/parser/diagnostic/engine.rb#39 - def all_errors_are_fatal; end - - # source://parser/lib/parser/diagnostic/engine.rb#39 - def all_errors_are_fatal=(_arg0); end - - # source://parser/lib/parser/diagnostic/engine.rb#37 - def consumer; end - - # source://parser/lib/parser/diagnostic/engine.rb#37 - def consumer=(_arg0); end - - # source://parser/lib/parser/diagnostic/engine.rb#40 - def ignore_warnings; end - - # source://parser/lib/parser/diagnostic/engine.rb#40 - def ignore_warnings=(_arg0); end - - # source://parser/lib/parser/diagnostic/engine.rb#64 - def process(diagnostic); end - - protected - - # source://parser/lib/parser/diagnostic/engine.rb#86 - def ignore?(diagnostic); end - - # source://parser/lib/parser/diagnostic/engine.rb#97 - def raise?(diagnostic); end -end - -# Collection of the available diagnostic levels. -# -# @api public -# @return [Array] -# -# source://parser/lib/parser/diagnostic.rb#37 -Parser::Diagnostic::LEVELS = T.let(T.unsafe(nil), Array) - -# line 3 "lib/parser/lexer.rl" -# -# === BEFORE YOU START === -# -# Read the Ruby Hacking Guide chapter 11, available in English at -# http://whitequark.org/blog/2013/04/01/ruby-hacking-guide-ch-11-finite-state-lexer/ -# -# Remember two things about Ragel scanners: -# -# 1) Longest match wins. -# -# 2) If two matches have the same length, the first -# in source code wins. -# -# General rules of making Ragel and Bison happy: -# -# * `p` (position) and `@te` contain the index of the character -# they're pointing to ("current"), plus one. `@ts` contains the index -# of the corresponding character. The code for extracting matched token is: -# -# @source_buffer.slice(@ts...@te) -# -# * If your input is `foooooooobar` and the rule is: -# -# 'f' 'o'+ -# -# the result will be: -# -# foooooooobar -# ^ ts=0 ^ p=te=9 -# -# * A Ragel lexer action should not emit more than one token, unless -# you know what you are doing. -# -# * All Ragel commands (fnext, fgoto, ...) end with a semicolon. -# -# * If an action emits the token and transitions to another state, use -# these Ragel commands: -# -# emit($whatever) -# fnext $next_state; fbreak; -# -# If you perform `fgoto` in an action which does not emit a token nor -# rewinds the stream pointer, the parser's side-effectful, -# context-sensitive lookahead actions will break in a hard to detect -# and debug way. -# -# * If an action does not emit a token: -# -# fgoto $next_state; -# -# * If an action features lookbehind, i.e. matches characters with the -# intent of passing them to another action: -# -# p = @ts - 1 -# fgoto $next_state; -# -# or, if the lookbehind consists of a single character: -# -# fhold; fgoto $next_state; -# -# * Ragel merges actions. So, if you have `e_lparen = '(' %act` and -# `c_lparen = '('` and a lexer action `e_lparen | c_lparen`, the result -# _will_ invoke the action `act`. -# -# e_something stands for "something with **e**mbedded action". -# -# * EOF is explicit and is matched by `c_eof`. If you want to introspect -# the state of the lexer, add this rule to the state: -# -# c_eof => do_eof; -# -# * If you proceed past EOF, the lexer will complain: -# -# NoMethodError: undefined method `ord' for nil:NilClass -# -# source://parser/lib/parser/lexer-F1.rb#82 -class Parser::Lexer - # @return [Lexer] a new instance of Lexer - # - # source://parser/lib/parser/lexer-F1.rb#8250 - def initialize(version); end - - # Return next token: [type, value]. - # - # source://parser/lib/parser/lexer-F1.rb#8410 - def advance; end - - # Returns the value of attribute cmdarg. - # - # source://parser/lib/parser/lexer-F1.rb#8244 - def cmdarg; end - - # Sets the attribute cmdarg - # - # @param value the value to set the attribute cmdarg to. - # - # source://parser/lib/parser/lexer-F1.rb#8244 - def cmdarg=(_arg0); end - - # Returns the value of attribute cmdarg_stack. - # - # source://parser/lib/parser/lexer-F1.rb#8248 - def cmdarg_stack; end - - # Returns the value of attribute command_start. - # - # source://parser/lib/parser/lexer-F1.rb#8244 - def command_start; end - - # Sets the attribute command_start - # - # @param value the value to set the attribute command_start to. - # - # source://parser/lib/parser/lexer-F1.rb#8244 - def command_start=(_arg0); end - - # Returns the value of attribute comments. - # - # source://parser/lib/parser/lexer-F1.rb#8246 - def comments; end - - # Sets the attribute comments - # - # @param value the value to set the attribute comments to. - # - # source://parser/lib/parser/lexer-F1.rb#8246 - def comments=(_arg0); end - - # Returns the value of attribute cond. - # - # source://parser/lib/parser/lexer-F1.rb#8244 - def cond; end - - # Sets the attribute cond - # - # @param value the value to set the attribute cond to. - # - # source://parser/lib/parser/lexer-F1.rb#8244 - def cond=(_arg0); end - - # Returns the value of attribute cond_stack. - # - # source://parser/lib/parser/lexer-F1.rb#8248 - def cond_stack; end - - # Returns the value of attribute context. - # - # source://parser/lib/parser/lexer-F1.rb#8244 - def context; end - - # Sets the attribute context - # - # @param value the value to set the attribute context to. - # - # source://parser/lib/parser/lexer-F1.rb#8244 - def context=(_arg0); end - - # source://parser/lib/parser/lexer-F1.rb#8405 - def dedent_level; end - - # Returns the value of attribute diagnostics. - # - # source://parser/lib/parser/lexer-F1.rb#8240 - def diagnostics; end - - # Sets the attribute diagnostics - # - # @param value the value to set the attribute diagnostics to. - # - # source://parser/lib/parser/lexer-F1.rb#8240 - def diagnostics=(_arg0); end - - # source://parser/lib/parser/lexer-F1.rb#8358 - def encoding; end - - # Returns the value of attribute force_utf32. - # - # source://parser/lib/parser/lexer-F1.rb#8242 - def force_utf32; end - - # Sets the attribute force_utf32 - # - # @param value the value to set the attribute force_utf32 to. - # - # source://parser/lib/parser/lexer-F1.rb#8242 - def force_utf32=(_arg0); end - - # Returns the value of attribute lambda_stack. - # - # source://parser/lib/parser/lexer-F1.rb#8248 - def lambda_stack; end - - # Returns the value of attribute paren_nest. - # - # source://parser/lib/parser/lexer-F1.rb#8248 - def paren_nest; end - - # source://parser/lib/parser/lexer-F1.rb#8392 - def pop_cmdarg; end - - # source://parser/lib/parser/lexer-F1.rb#8401 - def pop_cond; end - - # source://parser/lib/parser/lexer-F1.rb#8387 - def push_cmdarg; end - - # source://parser/lib/parser/lexer-F1.rb#8396 - def push_cond; end - - # source://parser/lib/parser/lexer-F1.rb#8281 - def reset(reset_state = T.unsafe(nil)); end - - # % - # - # source://parser/lib/parser/lexer-F1.rb#8238 - def source_buffer; end - - # source://parser/lib/parser/lexer-F1.rb#8334 - def source_buffer=(source_buffer); end - - # source://parser/lib/parser/lexer-F1.rb#8379 - def state; end - - # source://parser/lib/parser/lexer-F1.rb#8383 - def state=(state); end - - # Returns the value of attribute static_env. - # - # source://parser/lib/parser/lexer-F1.rb#8241 - def static_env; end - - # Sets the attribute static_env - # - # @param value the value to set the attribute static_env to. - # - # source://parser/lib/parser/lexer-F1.rb#8241 - def static_env=(_arg0); end - - # Returns the value of attribute tokens. - # - # source://parser/lib/parser/lexer-F1.rb#8246 - def tokens; end - - # Sets the attribute tokens - # - # @param value the value to set the attribute tokens to. - # - # source://parser/lib/parser/lexer-F1.rb#8246 - def tokens=(_arg0); end - - # Returns the value of attribute version. - # - # source://parser/lib/parser/lexer-F1.rb#8248 - def version; end - - protected - - # source://parser/lib/parser/lexer-F1.rb#14692 - def arg_or_cmdarg(cmd_state); end - - # source://parser/lib/parser/lexer-F1.rb#14754 - def check_ambiguous_slash(tm); end - - # 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#14722 - def e_lbrace; end - - # 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#14775 - def emit_class_var(ts = T.unsafe(nil), te = T.unsafe(nil)); end - - # 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#14700 - def emit_comment(s = T.unsafe(nil), e = T.unsafe(nil)); end - - # source://parser/lib/parser/lexer-F1.rb#14712 - def emit_comment_from_range(p, pe); end - - # source://parser/lib/parser/lexer-F1.rb#14682 - def emit_do(do_block = T.unsafe(nil)); end - - # 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#14783 - def emit_instance_var(ts = T.unsafe(nil), te = T.unsafe(nil)); end - - # source://parser/lib/parser/lexer-F1.rb#14791 - def emit_rbrace_rparen_rbrack; end - - # source://parser/lib/parser/lexer-F1.rb#14813 - def emit_singleton_class; end - - # 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#14731 - def numeric_literal_int; end - - # source://parser/lib/parser/lexer-F1.rb#14750 - def on_newline(p); end - - # 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#14653 - def stack_pop; end - - # 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#14649 - def version?(*versions); end - - class << self - # Returns the value of attribute lex_en_expr_arg. - # - # source://parser/lib/parser/lexer-F1.rb#8186 - def lex_en_expr_arg; end - - # Sets the attribute lex_en_expr_arg - # - # @param value the value to set the attribute lex_en_expr_arg to. - # - # source://parser/lib/parser/lexer-F1.rb#8186 - def lex_en_expr_arg=(_arg0); end - - # Returns the value of attribute lex_en_expr_beg. - # - # source://parser/lib/parser/lexer-F1.rb#8202 - def lex_en_expr_beg; end - - # Sets the attribute lex_en_expr_beg - # - # @param value the value to set the attribute lex_en_expr_beg to. - # - # source://parser/lib/parser/lexer-F1.rb#8202 - def lex_en_expr_beg=(_arg0); end - - # Returns the value of attribute lex_en_expr_cmdarg. - # - # source://parser/lib/parser/lexer-F1.rb#8190 - def lex_en_expr_cmdarg; end - - # Sets the attribute lex_en_expr_cmdarg - # - # @param value the value to set the attribute lex_en_expr_cmdarg to. - # - # source://parser/lib/parser/lexer-F1.rb#8190 - def lex_en_expr_cmdarg=(_arg0); end - - # Returns the value of attribute lex_en_expr_dot. - # - # source://parser/lib/parser/lexer-F1.rb#8182 - def lex_en_expr_dot; end - - # Sets the attribute lex_en_expr_dot - # - # @param value the value to set the attribute lex_en_expr_dot to. - # - # source://parser/lib/parser/lexer-F1.rb#8182 - def lex_en_expr_dot=(_arg0); end - - # Returns the value of attribute lex_en_expr_end. - # - # source://parser/lib/parser/lexer-F1.rb#8214 - def lex_en_expr_end; end - - # Sets the attribute lex_en_expr_end - # - # @param value the value to set the attribute lex_en_expr_end to. - # - # source://parser/lib/parser/lexer-F1.rb#8214 - def lex_en_expr_end=(_arg0); end - - # Returns the value of attribute lex_en_expr_endarg. - # - # source://parser/lib/parser/lexer-F1.rb#8194 - def lex_en_expr_endarg; end - - # Sets the attribute lex_en_expr_endarg - # - # @param value the value to set the attribute lex_en_expr_endarg to. - # - # source://parser/lib/parser/lexer-F1.rb#8194 - def lex_en_expr_endarg=(_arg0); end - - # Returns the value of attribute lex_en_expr_endfn. - # - # source://parser/lib/parser/lexer-F1.rb#8178 - def lex_en_expr_endfn; end - - # Sets the attribute lex_en_expr_endfn - # - # @param value the value to set the attribute lex_en_expr_endfn to. - # - # source://parser/lib/parser/lexer-F1.rb#8178 - def lex_en_expr_endfn=(_arg0); end - - # Returns the value of attribute lex_en_expr_fname. - # - # source://parser/lib/parser/lexer-F1.rb#8174 - def lex_en_expr_fname; end - - # Sets the attribute lex_en_expr_fname - # - # @param value the value to set the attribute lex_en_expr_fname to. - # - # source://parser/lib/parser/lexer-F1.rb#8174 - def lex_en_expr_fname=(_arg0); end - - # Returns the value of attribute lex_en_expr_labelarg. - # - # source://parser/lib/parser/lexer-F1.rb#8206 - def lex_en_expr_labelarg; end - - # Sets the attribute lex_en_expr_labelarg - # - # @param value the value to set the attribute lex_en_expr_labelarg to. - # - # source://parser/lib/parser/lexer-F1.rb#8206 - def lex_en_expr_labelarg=(_arg0); end - - # Returns the value of attribute lex_en_expr_mid. - # - # source://parser/lib/parser/lexer-F1.rb#8198 - def lex_en_expr_mid; end - - # Sets the attribute lex_en_expr_mid - # - # @param value the value to set the attribute lex_en_expr_mid to. - # - # source://parser/lib/parser/lexer-F1.rb#8198 - def lex_en_expr_mid=(_arg0); end - - # Returns the value of attribute lex_en_expr_value. - # - # source://parser/lib/parser/lexer-F1.rb#8210 - def lex_en_expr_value; end - - # Sets the attribute lex_en_expr_value - # - # @param value the value to set the attribute lex_en_expr_value to. - # - # source://parser/lib/parser/lexer-F1.rb#8210 - def lex_en_expr_value=(_arg0); end - - # Returns the value of attribute lex_en_expr_variable. - # - # source://parser/lib/parser/lexer-F1.rb#8170 - def lex_en_expr_variable; end - - # Sets the attribute lex_en_expr_variable - # - # @param value the value to set the attribute lex_en_expr_variable to. - # - # source://parser/lib/parser/lexer-F1.rb#8170 - def lex_en_expr_variable=(_arg0); end - - # Returns the value of attribute lex_en_inside_string. - # - # source://parser/lib/parser/lexer-F1.rb#8230 - def lex_en_inside_string; end - - # Sets the attribute lex_en_inside_string - # - # @param value the value to set the attribute lex_en_inside_string to. - # - # source://parser/lib/parser/lexer-F1.rb#8230 - def lex_en_inside_string=(_arg0); end - - # Returns the value of attribute lex_en_leading_dot. - # - # source://parser/lib/parser/lexer-F1.rb#8218 - def lex_en_leading_dot; end - - # Sets the attribute lex_en_leading_dot - # - # @param value the value to set the attribute lex_en_leading_dot to. - # - # source://parser/lib/parser/lexer-F1.rb#8218 - def lex_en_leading_dot=(_arg0); end - - # Returns the value of attribute lex_en_line_begin. - # - # source://parser/lib/parser/lexer-F1.rb#8226 - def lex_en_line_begin; end - - # Sets the attribute lex_en_line_begin - # - # @param value the value to set the attribute lex_en_line_begin to. - # - # source://parser/lib/parser/lexer-F1.rb#8226 - def lex_en_line_begin=(_arg0); end - - # Returns the value of attribute lex_en_line_comment. - # - # source://parser/lib/parser/lexer-F1.rb#8222 - def lex_en_line_comment; end - - # Sets the attribute lex_en_line_comment - # - # @param value the value to set the attribute lex_en_line_comment to. - # - # source://parser/lib/parser/lexer-F1.rb#8222 - def lex_en_line_comment=(_arg0); end - - # Returns the value of attribute lex_error. - # - # source://parser/lib/parser/lexer-F1.rb#8165 - def lex_error; end - - # Sets the attribute lex_error - # - # @param value the value to set the attribute lex_error to. - # - # source://parser/lib/parser/lexer-F1.rb#8165 - def lex_error=(_arg0); end - - # Returns the value of attribute lex_start. - # - # source://parser/lib/parser/lexer-F1.rb#8161 - def lex_start; end - - # Sets the attribute lex_start - # - # @param value the value to set the attribute lex_start to. - # - # source://parser/lib/parser/lexer-F1.rb#8161 - def lex_start=(_arg0); end - - private - - # Returns the value of attribute _lex_eof_trans. - # - # source://parser/lib/parser/lexer-F1.rb#8064 - def _lex_eof_trans; end - - # Sets the attribute _lex_eof_trans - # - # @param value the value to set the attribute _lex_eof_trans to. - # - # source://parser/lib/parser/lexer-F1.rb#8064 - def _lex_eof_trans=(_arg0); end - - # Returns the value of attribute _lex_from_state_actions. - # - # source://parser/lib/parser/lexer-F1.rb#7967 - def _lex_from_state_actions; end - - # Sets the attribute _lex_from_state_actions - # - # @param value the value to set the attribute _lex_from_state_actions to. - # - # source://parser/lib/parser/lexer-F1.rb#7967 - def _lex_from_state_actions=(_arg0); end - - # Returns the value of attribute _lex_index_offsets. - # - # source://parser/lib/parser/lexer-F1.rb#461 - def _lex_index_offsets; end - - # Sets the attribute _lex_index_offsets - # - # @param value the value to set the attribute _lex_index_offsets to. - # - # source://parser/lib/parser/lexer-F1.rb#461 - def _lex_index_offsets=(_arg0); end - - # Returns the value of attribute _lex_indicies. - # - # source://parser/lib/parser/lexer-F1.rb#558 - def _lex_indicies; end - - # Sets the attribute _lex_indicies - # - # @param value the value to set the attribute _lex_indicies to. - # - # source://parser/lib/parser/lexer-F1.rb#558 - def _lex_indicies=(_arg0); end - - # Returns the value of attribute _lex_key_spans. - # - # source://parser/lib/parser/lexer-F1.rb#364 - def _lex_key_spans; end - - # Sets the attribute _lex_key_spans - # - # @param value the value to set the attribute _lex_key_spans to. - # - # source://parser/lib/parser/lexer-F1.rb#364 - def _lex_key_spans=(_arg0); end - - # Returns the value of attribute _lex_to_state_actions. - # - # source://parser/lib/parser/lexer-F1.rb#7870 - def _lex_to_state_actions; end - - # Sets the attribute _lex_to_state_actions - # - # @param value the value to set the attribute _lex_to_state_actions to. - # - # source://parser/lib/parser/lexer-F1.rb#7870 - def _lex_to_state_actions=(_arg0); end - - # Returns the value of attribute _lex_trans_actions. - # - # source://parser/lib/parser/lexer-F1.rb#7722 - def _lex_trans_actions; end - - # Sets the attribute _lex_trans_actions - # - # @param value the value to set the attribute _lex_trans_actions to. - # - # source://parser/lib/parser/lexer-F1.rb#7722 - def _lex_trans_actions=(_arg0); end - - # Returns the value of attribute _lex_trans_keys. - # - # source://parser/lib/parser/lexer-F1.rb#87 - def _lex_trans_keys; end - - # Sets the attribute _lex_trans_keys - # - # @param value the value to set the attribute _lex_trans_keys to. - # - # source://parser/lib/parser/lexer-F1.rb#87 - def _lex_trans_keys=(_arg0); end - - # Returns the value of attribute _lex_trans_targs. - # - # source://parser/lib/parser/lexer-F1.rb#7574 - def _lex_trans_targs; end - - # Sets the attribute _lex_trans_targs - # - # @param value the value to set the attribute _lex_trans_targs to. - # - # source://parser/lib/parser/lexer-F1.rb#7574 - def _lex_trans_targs=(_arg0); end - end -end - -# source://parser/lib/parser/lexer/dedenter.rb#5 -class Parser::Lexer::Dedenter - # source://parser/lib/parser/lexer/dedenter.rb#9 - def initialize(dedent_level); end - - # source://parser/lib/parser/lexer/dedenter.rb#36 - def dedent(string); end - - # source://parser/lib/parser/lexer/dedenter.rb#83 - def interrupt; end -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#14860 -Parser::Lexer::ESCAPE_WHITESPACE = T.let(T.unsafe(nil), Hash) - -# source://parser/lib/parser/lexer-F1.rb#14846 -Parser::Lexer::KEYWORDS = T.let(T.unsafe(nil), Hash) - -# 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 -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#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#116 - def backslash_delimited?; end - - # source://parser/lib/parser/lexer/literal.rb#39 - def dedent_level; end - - # source://parser/lib/parser/lexer/literal.rb#191 - def end_interp_brace_and_try_closing; end - - # source://parser/lib/parser/lexer/literal.rb#218 - def extend_content; end - - # source://parser/lib/parser/lexer/literal.rb#222 - def extend_space(ts, te); end - - # source://parser/lib/parser/lexer/literal.rb#197 - def extend_string(string, ts, te); end - - # source://parser/lib/parser/lexer/literal.rb#204 - def flush_string; end - - # source://parser/lib/parser/lexer/literal.rb#104 - def heredoc?; end - - # source://parser/lib/parser/lexer/literal.rb#39 - def heredoc_e; end - - # source://parser/lib/parser/lexer/literal.rb#168 - def infer_indent_level(line); end - - # source://parser/lib/parser/lexer/literal.rb#91 - def interpolate?; end - - # source://parser/lib/parser/lexer/literal.rb#124 - def munge_escape?(character); end - - # 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#108 - def plain_heredoc?; end - - # source://parser/lib/parser/lexer/literal.rb#100 - def regexp?; end - - # source://parser/lib/parser/lexer/literal.rb#40 - def saved_herebody_s; end - - # source://parser/lib/parser/lexer/literal.rb#40 - def saved_herebody_s=(_arg0); end - - # source://parser/lib/parser/lexer/literal.rb#112 - def squiggly_heredoc?; end - - # source://parser/lib/parser/lexer/literal.rb#187 - def start_interp_brace; end - - # source://parser/lib/parser/lexer/literal.rb#39 - def str_s; end - - # source://parser/lib/parser/lexer/literal.rb#232 - def supports_line_continuation_via_slash?; end - - # source://parser/lib/parser/lexer/literal.rb#120 - def type; end - - # source://parser/lib/parser/lexer/literal.rb#95 - def words?; end - - protected - - # source://parser/lib/parser/lexer/literal.rb#263 - def clear_buffer; end - - # source://parser/lib/parser/lexer/literal.rb#259 - def coerce_encoding(string); end - - # source://parser/lib/parser/lexer/literal.rb#238 - def delimiter?(delimiter); end - - # source://parser/lib/parser/lexer/literal.rb#279 - def emit(token, type, s, e); end - - # 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#14820 -Parser::Lexer::PUNCTUATION = T.let(T.unsafe(nil), Hash) - -# 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 -class Parser::Lexer::StackState - # source://parser/lib/parser/lexer/stack_state.rb#6 - def initialize(name); end - - # source://parser/lib/parser/lexer/stack_state.rb#34 - def active?; end - - # source://parser/lib/parser/lexer/stack_state.rb#11 - def clear; end - - # source://parser/lib/parser/lexer/stack_state.rb#38 - def empty?; end - - # source://parser/lib/parser/lexer/stack_state.rb#42 - def inspect; end - - # source://parser/lib/parser/lexer/stack_state.rb#29 - def lexpop; end - - # source://parser/lib/parser/lexer/stack_state.rb#22 - def pop; end - - # source://parser/lib/parser/lexer/stack_state.rb#15 - def push(bit); end - - # source://parser/lib/parser/lexer/stack_state.rb#42 - def to_s; end -end - -# line 3 "lib/parser/lexer-strings.rl" -# -# source://parser/lib/parser/lexer-strings.rb#6 -class Parser::LexerStrings - # @return [LexerStrings] a new instance of LexerStrings - # - # source://parser/lib/parser/lexer-strings.rb#3300 - def initialize(lexer, version); end - - # source://parser/lib/parser/lexer-strings.rb#3339 - def advance(p); end - - # source://parser/lib/parser/lexer-strings.rb#5069 - def close_interp_on_current_literal(p); end - - # source://parser/lib/parser/lexer-strings.rb#5043 - def continue_lexing(current_literal); end - - # source://parser/lib/parser/lexer-strings.rb#5092 - def dedent_level; end - - # Returns the value of attribute herebody_s. - # - # source://parser/lib/parser/lexer-strings.rb#3295 - def herebody_s; end - - # Sets the attribute herebody_s - # - # @param value the value to set the attribute herebody_s to. - # - # source://parser/lib/parser/lexer-strings.rb#3295 - def herebody_s=(_arg0); end - - # source://parser/lib/parser/lexer-strings.rb#5047 - def literal; end - - # source://parser/lib/parser/lexer-strings.rb#5015 - def next_state_for_literal(literal); end - - # This hook is triggered by "main" lexer on every newline character - # - # source://parser/lib/parser/lexer-strings.rb#5100 - def on_newline(p); end - - # source://parser/lib/parser/lexer-strings.rb#5051 - def pop_literal; end - - # === LITERAL STACK === - # - # source://parser/lib/parser/lexer-strings.rb#5009 - def push_literal(*args); end - - # source://parser/lib/parser/lexer-strings.rb#4999 - def read_character_constant(p); end - - # source://parser/lib/parser/lexer-strings.rb#3314 - def reset; end - - # Set by "main" lexer - # - # source://parser/lib/parser/lexer-strings.rb#3298 - def source_buffer; end - - # Set by "main" lexer - # - # source://parser/lib/parser/lexer-strings.rb#3298 - def source_buffer=(_arg0); end - - # Set by "main" lexer - # - # source://parser/lib/parser/lexer-strings.rb#3298 - def source_pts; end - - # Set by "main" lexer - # - # source://parser/lib/parser/lexer-strings.rb#3298 - def source_pts=(_arg0); end - - protected - - # source://parser/lib/parser/lexer-strings.rb#5397 - def check_ambiguous_slash(tm); end - - # source://parser/lib/parser/lexer-strings.rb#5408 - def check_invalid_escapes(p); end - - # source://parser/lib/parser/lexer-strings.rb#5136 - def cond; end - - # source://parser/lib/parser/lexer-strings.rb#5132 - def diagnostic(type, reason, arguments = T.unsafe(nil), location = T.unsafe(nil), highlights = T.unsafe(nil)); end - - # source://parser/lib/parser/lexer-strings.rb#5128 - def emit(type, value = T.unsafe(nil), s = T.unsafe(nil), e = T.unsafe(nil)); end - - # source://parser/lib/parser/lexer-strings.rb#5387 - def emit_character_constant; end - - # source://parser/lib/parser/lexer-strings.rb#5364 - def emit_interp_var(interp_var_kind); end - - # @return [Boolean] - # - # source://parser/lib/parser/lexer-strings.rb#5140 - def emit_invalid_escapes?; end - - # source://parser/lib/parser/lexer-strings.rb#5291 - def encode_escape(ord); end - - # source://parser/lib/parser/lexer-strings.rb#5375 - def encode_escaped_char(p); end - - # @return [Boolean] - # - # source://parser/lib/parser/lexer-strings.rb#5112 - def eof_codepoint?(point); end - - # source://parser/lib/parser/lexer-strings.rb#5210 - def extend_interp_code(current_literal); end - - # source://parser/lib/parser/lexer-strings.rb#5225 - def extend_interp_digit_var; end - - # source://parser/lib/parser/lexer-strings.rb#5355 - def extend_interp_var(current_literal); end - - # source://parser/lib/parser/lexer-strings.rb#5234 - def extend_string_eol_check_eof(current_literal, pe); end - - # source://parser/lib/parser/lexer-strings.rb#5251 - def extend_string_eol_heredoc_intertwined(p); end - - # source://parser/lib/parser/lexer-strings.rb#5241 - def extend_string_eol_heredoc_line; end - - # source://parser/lib/parser/lexer-strings.rb#5267 - def extend_string_eol_words(current_literal, p); end - - # String escaping - # - # source://parser/lib/parser/lexer-strings.rb#5154 - def extend_string_escaped; end - - # source://parser/lib/parser/lexer-strings.rb#5287 - def extend_string_for_token_range(current_literal, string); end - - # source://parser/lib/parser/lexer-strings.rb#5279 - def extend_string_slice_end(lookahead); end - - # source://parser/lib/parser/lexer-strings.rb#5124 - def range(s = T.unsafe(nil), e = T.unsafe(nil)); end - - # source://parser/lib/parser/lexer-strings.rb#5347 - def read_post_meta_or_ctrl_char(p); end - - # source://parser/lib/parser/lexer-strings.rb#5379 - def slash_c_char; end - - # source://parser/lib/parser/lexer-strings.rb#5383 - def slash_m_char; end - - # source://parser/lib/parser/lexer-strings.rb#5120 - def tok(s = T.unsafe(nil), e = T.unsafe(nil)); end - - # source://parser/lib/parser/lexer-strings.rb#5295 - def unescape_char(p); end - - # source://parser/lib/parser/lexer-strings.rb#5307 - def unicode_points(p); end - - # @return [Boolean] - # - # source://parser/lib/parser/lexer-strings.rb#5116 - def version?(*versions); end - - class << self - # Returns the value of attribute lex_en_character. - # - # source://parser/lib/parser/lexer-strings.rb#3275 - def lex_en_character; end - - # Sets the attribute lex_en_character - # - # @param value the value to set the attribute lex_en_character to. - # - # source://parser/lib/parser/lexer-strings.rb#3275 - def lex_en_character=(_arg0); end - - # Returns the value of attribute lex_en_interp_backslash_delimited. - # - # source://parser/lib/parser/lexer-strings.rb#3255 - def lex_en_interp_backslash_delimited; end - - # Sets the attribute lex_en_interp_backslash_delimited - # - # @param value the value to set the attribute lex_en_interp_backslash_delimited to. - # - # source://parser/lib/parser/lexer-strings.rb#3255 - def lex_en_interp_backslash_delimited=(_arg0); end - - # Returns the value of attribute lex_en_interp_backslash_delimited_words. - # - # source://parser/lib/parser/lexer-strings.rb#3263 - def lex_en_interp_backslash_delimited_words; end - - # Sets the attribute lex_en_interp_backslash_delimited_words - # - # @param value the value to set the attribute lex_en_interp_backslash_delimited_words to. - # - # source://parser/lib/parser/lexer-strings.rb#3263 - def lex_en_interp_backslash_delimited_words=(_arg0); end - - # Returns the value of attribute lex_en_interp_string. - # - # source://parser/lib/parser/lexer-strings.rb#3243 - def lex_en_interp_string; end - - # Sets the attribute lex_en_interp_string - # - # @param value the value to set the attribute lex_en_interp_string to. - # - # source://parser/lib/parser/lexer-strings.rb#3243 - def lex_en_interp_string=(_arg0); end - - # Returns the value of attribute lex_en_interp_words. - # - # source://parser/lib/parser/lexer-strings.rb#3239 - def lex_en_interp_words; end - - # Sets the attribute lex_en_interp_words - # - # @param value the value to set the attribute lex_en_interp_words to. - # - # source://parser/lib/parser/lexer-strings.rb#3239 - def lex_en_interp_words=(_arg0); end - - # Returns the value of attribute lex_en_plain_backslash_delimited. - # - # source://parser/lib/parser/lexer-strings.rb#3259 - def lex_en_plain_backslash_delimited; end - - # Sets the attribute lex_en_plain_backslash_delimited - # - # @param value the value to set the attribute lex_en_plain_backslash_delimited to. - # - # source://parser/lib/parser/lexer-strings.rb#3259 - def lex_en_plain_backslash_delimited=(_arg0); end - - # Returns the value of attribute lex_en_plain_backslash_delimited_words. - # - # source://parser/lib/parser/lexer-strings.rb#3267 - def lex_en_plain_backslash_delimited_words; end - - # Sets the attribute lex_en_plain_backslash_delimited_words - # - # @param value the value to set the attribute lex_en_plain_backslash_delimited_words to. - # - # source://parser/lib/parser/lexer-strings.rb#3267 - def lex_en_plain_backslash_delimited_words=(_arg0); end - - # Returns the value of attribute lex_en_plain_string. - # - # source://parser/lib/parser/lexer-strings.rb#3251 - def lex_en_plain_string; end - - # Sets the attribute lex_en_plain_string - # - # @param value the value to set the attribute lex_en_plain_string to. - # - # source://parser/lib/parser/lexer-strings.rb#3251 - def lex_en_plain_string=(_arg0); end - - # Returns the value of attribute lex_en_plain_words. - # - # source://parser/lib/parser/lexer-strings.rb#3247 - def lex_en_plain_words; end - - # Sets the attribute lex_en_plain_words - # - # @param value the value to set the attribute lex_en_plain_words to. - # - # source://parser/lib/parser/lexer-strings.rb#3247 - def lex_en_plain_words=(_arg0); end - - # Returns the value of attribute lex_en_regexp_modifiers. - # - # source://parser/lib/parser/lexer-strings.rb#3271 - def lex_en_regexp_modifiers; end - - # Sets the attribute lex_en_regexp_modifiers - # - # @param value the value to set the attribute lex_en_regexp_modifiers to. - # - # source://parser/lib/parser/lexer-strings.rb#3271 - def lex_en_regexp_modifiers=(_arg0); end - - # Returns the value of attribute lex_en_unknown. - # - # source://parser/lib/parser/lexer-strings.rb#3279 - def lex_en_unknown; end - - # Sets the attribute lex_en_unknown - # - # @param value the value to set the attribute lex_en_unknown to. - # - # source://parser/lib/parser/lexer-strings.rb#3279 - def lex_en_unknown=(_arg0); end - - # Returns the value of attribute lex_error. - # - # source://parser/lib/parser/lexer-strings.rb#3234 - def lex_error; end - - # Sets the attribute lex_error - # - # @param value the value to set the attribute lex_error to. - # - # source://parser/lib/parser/lexer-strings.rb#3234 - def lex_error=(_arg0); end - - # Returns the value of attribute lex_start. - # - # source://parser/lib/parser/lexer-strings.rb#3230 - def lex_start; end - - # Sets the attribute lex_start - # - # @param value the value to set the attribute lex_start to. - # - # source://parser/lib/parser/lexer-strings.rb#3230 - def lex_start=(_arg0); end - - private - - # Returns the value of attribute _lex_actions. - # - # source://parser/lib/parser/lexer-strings.rb#11 - def _lex_actions; end - - # Sets the attribute _lex_actions - # - # @param value the value to set the attribute _lex_actions to. - # - # source://parser/lib/parser/lexer-strings.rb#11 - def _lex_actions=(_arg0); end - - # Returns the value of attribute _lex_eof_trans. - # - # source://parser/lib/parser/lexer-strings.rb#3184 - def _lex_eof_trans; end - - # Sets the attribute _lex_eof_trans - # - # @param value the value to set the attribute _lex_eof_trans to. - # - # source://parser/lib/parser/lexer-strings.rb#3184 - def _lex_eof_trans=(_arg0); end - - # Returns the value of attribute _lex_from_state_actions. - # - # source://parser/lib/parser/lexer-strings.rb#3138 - def _lex_from_state_actions; end - - # Sets the attribute _lex_from_state_actions - # - # @param value the value to set the attribute _lex_from_state_actions to. - # - # source://parser/lib/parser/lexer-strings.rb#3138 - def _lex_from_state_actions=(_arg0); end - - # Returns the value of attribute _lex_index_offsets. - # - # source://parser/lib/parser/lexer-strings.rb#244 - def _lex_index_offsets; end - - # Sets the attribute _lex_index_offsets - # - # @param value the value to set the attribute _lex_index_offsets to. - # - # source://parser/lib/parser/lexer-strings.rb#244 - def _lex_index_offsets=(_arg0); end - - # Returns the value of attribute _lex_indicies. - # - # source://parser/lib/parser/lexer-strings.rb#290 - def _lex_indicies; end - - # Sets the attribute _lex_indicies - # - # @param value the value to set the attribute _lex_indicies to. - # - # source://parser/lib/parser/lexer-strings.rb#290 - def _lex_indicies=(_arg0); end - - # Returns the value of attribute _lex_key_spans. - # - # source://parser/lib/parser/lexer-strings.rb#198 - def _lex_key_spans; end - - # Sets the attribute _lex_key_spans - # - # @param value the value to set the attribute _lex_key_spans to. - # - # source://parser/lib/parser/lexer-strings.rb#198 - def _lex_key_spans=(_arg0); end - - # Returns the value of attribute _lex_to_state_actions. - # - # source://parser/lib/parser/lexer-strings.rb#3092 - def _lex_to_state_actions; end - - # Sets the attribute _lex_to_state_actions - # - # @param value the value to set the attribute _lex_to_state_actions to. - # - # source://parser/lib/parser/lexer-strings.rb#3092 - def _lex_to_state_actions=(_arg0); end - - # Returns the value of attribute _lex_trans_actions. - # - # source://parser/lib/parser/lexer-strings.rb#3029 - def _lex_trans_actions; end - - # Sets the attribute _lex_trans_actions - # - # @param value the value to set the attribute _lex_trans_actions to. - # - # source://parser/lib/parser/lexer-strings.rb#3029 - def _lex_trans_actions=(_arg0); end - - # Returns the value of attribute _lex_trans_keys. - # - # source://parser/lib/parser/lexer-strings.rb#76 - def _lex_trans_keys; end - - # Sets the attribute _lex_trans_keys - # - # @param value the value to set the attribute _lex_trans_keys to. - # - # source://parser/lib/parser/lexer-strings.rb#76 - def _lex_trans_keys=(_arg0); end - - # Returns the value of attribute _lex_trans_targs. - # - # source://parser/lib/parser/lexer-strings.rb#2966 - def _lex_trans_targs; end - - # Sets the attribute _lex_trans_targs - # - # @param value the value to set the attribute _lex_trans_targs to. - # - # source://parser/lib/parser/lexer-strings.rb#2966 - def _lex_trans_targs=(_arg0); end - end -end - -# % -# -# source://parser/lib/parser/lexer-strings.rb#3287 -Parser::LexerStrings::ESCAPES = T.let(T.unsafe(nil), Hash) - -# source://parser/lib/parser/lexer-strings.rb#5414 -Parser::LexerStrings::ESCAPE_WHITESPACE = T.let(T.unsafe(nil), Hash) - -# source://parser/lib/parser/lexer-strings.rb#3332 -Parser::LexerStrings::LEX_STATES = T.let(T.unsafe(nil), Hash) - -# source://parser/lib/parser/lexer-strings.rb#3293 -Parser::LexerStrings::REGEXP_META_CHARACTERS = T.let(T.unsafe(nil), Regexp) - -# Diagnostic messages (errors, warnings and notices) that can be generated. -# -# @api public -# @see Diagnostic -# -# source://parser/lib/parser/messages.rb#11 -Parser::MESSAGES = T.let(T.unsafe(nil), Hash) - -# Holds p->max_numparam from parse.y -# -# @api private -# -# source://parser/lib/parser/max_numparam_stack.rb#8 -class Parser::MaxNumparamStack - # @api private - # @return [MaxNumparamStack] a new instance of MaxNumparamStack - # - # source://parser/lib/parser/max_numparam_stack.rb#13 - def initialize; end - - # @api private - # @return [Boolean] - # - # source://parser/lib/parser/max_numparam_stack.rb#17 - def empty?; end - - # @api private - # @return [Boolean] - # - # source://parser/lib/parser/max_numparam_stack.rb#29 - def has_numparams?; end - - # @api private - # - # source://parser/lib/parser/max_numparam_stack.rb#21 - def has_ordinary_params!; end - - # @api private - # @return [Boolean] - # - # source://parser/lib/parser/max_numparam_stack.rb#25 - def has_ordinary_params?; end - - # @api private - # - # source://parser/lib/parser/max_numparam_stack.rb#45 - def pop; end - - # @api private - # - # source://parser/lib/parser/max_numparam_stack.rb#41 - def push(static:); end - - # @api private - # - # source://parser/lib/parser/max_numparam_stack.rb#33 - def register(numparam); end - - # @api private - # - # source://parser/lib/parser/max_numparam_stack.rb#9 - def stack; end - - # @api private - # - # source://parser/lib/parser/max_numparam_stack.rb#37 - def top; end - - private - - # @api private - # - # source://parser/lib/parser/max_numparam_stack.rb#51 - def set(value); end -end - -# @api private -# -# source://parser/lib/parser/max_numparam_stack.rb#11 -Parser::MaxNumparamStack::ORDINARY_PARAMS = T.let(T.unsafe(nil), Integer) - -# @api private -# -# 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 - # - # Code like `format("", {})` gives a warning, and so this method tries interpolating - # only if `arguments` hash is not empty. - # - # @api private - # - # source://parser/lib/parser/messages.rb#119 - def compile(reason, arguments); end - end -end - -# Parser metadata -# -# source://parser/lib/parser/meta.rb#5 -module Parser::Meta; end - -# All node types that parser can produce. Not all parser versions -# will be able to produce every possible node. -# -# source://parser/lib/parser/meta.rb#9 -Parser::Meta::NODE_TYPES = T.let(T.unsafe(nil), Set) - -# {Parser::Rewriter} is deprecated. Use {Parser::TreeRewriter} instead. -# It has a backwards compatible API and uses {Parser::Source::TreeRewriter} -# instead of {Parser::Source::Rewriter}. -# Please check the documentation for {Parser::Source::Rewriter} for details. -# -# @api public -# @deprecated Use {Parser::TreeRewriter} -# -# source://parser/lib/parser/rewriter.rb#14 -class Parser::Rewriter < ::Parser::AST::Processor - extend ::Parser::Deprecation - - # @api public - # @return [Rewriter] a new instance of Rewriter - # - # source://parser/lib/parser/rewriter.rb#98 - def initialize(*_arg0); end - - # Returns `true` if the specified node is an assignment node, returns false - # otherwise. - # - # @api public - # @param node [Parser::AST::Node] - # @return [Boolean] - # - # source://parser/lib/parser/rewriter.rb#38 - def assignment?(node); end - - # Inserts new code after the given source range. - # - # @api public - # @param range [Parser::Source::Range] - # @param content [String] - # - # source://parser/lib/parser/rewriter.rb#77 - def insert_after(range, content); end - - # Inserts new code before the given source range. - # - # @api public - # @param range [Parser::Source::Range] - # @param content [String] - # - # source://parser/lib/parser/rewriter.rb#67 - def insert_before(range, content); end - - # Removes the source range. - # - # @api public - # @param range [Parser::Source::Range] - # - # source://parser/lib/parser/rewriter.rb#47 - def remove(range); end - - # Replaces the code of the source range `range` with `content`. - # - # @api public - # @param range [Parser::Source::Range] - # @param content [String] - # - # source://parser/lib/parser/rewriter.rb#87 - def replace(range, content); end - - # Rewrites the AST/source buffer and returns a String containing the new - # version. - # - # @api public - # @param source_buffer [Parser::Source::Buffer] - # @param ast [Parser::AST::Node] - # @return [String] - # - # source://parser/lib/parser/rewriter.rb#23 - def rewrite(source_buffer, ast); end - - # Wraps the given source range with the given values. - # - # @api public - # @param range [Parser::Source::Range] - # @param content [String] - # - # source://parser/lib/parser/rewriter.rb#57 - def wrap(range, before, after); end -end - -# @api public -# -# source://parser/lib/parser/rewriter.rb#91 -Parser::Rewriter::DEPRECATION_WARNING = T.let(T.unsafe(nil), String) - -# @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#110 - 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#247 - 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#222 - 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#317 - def freeze; end - - # @api public - # - # source://parser/lib/parser/source/buffer.rb#323 - def inspect; end - - # Number of last line in the buffer - # - # @api public - # @return [Integer] - # - # source://parser/lib/parser/source/buffer.rb#312 - 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#236 - 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#289 - 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#185 - 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#136 - def read; end - - # @api public - # - # source://parser/lib/parser/source/buffer.rb#199 - 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#150 - 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#167 - 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#278 - def source_line(lineno); end - - # Return an `Array` of source code lines. - # - # @api public - # @return [Array] - # - # source://parser/lib/parser/source/buffer.rb#257 - def source_lines; end - - # @api public - # @return [Range] A range covering the whole source - # - # source://parser/lib/parser/source/buffer.rb#303 - def source_range; end - - private - - # @api public - # - # source://parser/lib/parser/source/buffer.rb#353 - def bsearch(line_begins, position); end - - # @api public - # - # source://parser/lib/parser/source/buffer.rb#330 - def line_begins; end - - # @api public - # - # source://parser/lib/parser/source/buffer.rb#344 - 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] - # @raise [Parser::UnknownEncodingInMagicComment] if the encoding is not recognized - # @return [String, nil] encoding name, if recognized - # - # source://parser/lib/parser/source/buffer.rb#52 - 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#95 - 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 - - # Compares comments. Two comments are equal if they - # correspond to the same source range. - # - # @api public - # @param other [Object] - # @return [Boolean] - # - # source://parser/lib/parser/source/comment.rb#120 - def ==(other); end - - # @api public - # @return [Boolean] true if this is a block comment. - # @see #type - # - # source://parser/lib/parser/source/comment.rb#109 - def document?; end - - # @api public - # @return [Boolean] true if this is an inline comment. - # @see #type - # - # source://parser/lib/parser/source/comment.rb#101 - def inline?; end - - # @api public - # @return [String] a human-readable representation of this comment - # - # source://parser/lib/parser/source/comment.rb#128 - def inspect; end - - # @api public - # @return [Parser::Source::Range] - # - # source://parser/lib/parser/source/comment.rb#20 - def loc; end - - # @api public - # @return [Parser::Source::Range] - # - # source://parser/lib/parser/source/comment.rb#20 - def location; end - - # @api public - # @return [String] - # - # source://parser/lib/parser/source/comment.rb#18 - def text; end - - # Type of this comment. - # - # * Inline comments correspond to `:inline`: - # - # # whatever - # - # * Block comments correspond to `:document`: - # - # =begin - # hi i am a document - # =end - # - # @api public - # @return [Symbol] - # - # source://parser/lib/parser/source/comment.rb#89 - def type; end - - class << self - # Associate `comments` with `ast` nodes by their corresponding node. - # - # @api public - # @deprecated Use {associate_locations}. - # @param ast [Parser::AST::Node] - # @param comments [Array] - # @return [Hash>] - # @see Parser::Source::Comment::Associator#associate - # - # source://parser/lib/parser/source/comment.rb#32 - def associate(ast, comments); end - - # Associate `comments` with `ast` nodes using identity. - # - # @api public - # @param ast [Parser::AST::Node] - # @param comments [Array] - # @return [Hash>] - # @see Parser::Source::Comment::Associator#associate_by_identity - # - # source://parser/lib/parser/source/comment.rb#59 - def associate_by_identity(ast, comments); end - - # Associate `comments` with `ast` nodes by their location in the - # source. - # - # @api public - # @param ast [Parser::AST::Node] - # @param comments [Array] - # @return [Hash>] - # @see Parser::Source::Comment::Associator#associate_locations - # - # source://parser/lib/parser/source/comment.rb#46 - def associate_locations(ast, comments); end - end -end - -# source://parser/lib/parser/source/comment/associator.rb#45 -class Parser::Source::Comment::Associator - # source://parser/lib/parser/source/comment/associator.rb#51 - def initialize(ast, comments); end - - # source://parser/lib/parser/source/comment/associator.rb#92 - def associate; end - - # source://parser/lib/parser/source/comment/associator.rb#115 - def associate_by_identity; end - - # source://parser/lib/parser/source/comment/associator.rb#104 - def associate_locations; end - - # source://parser/lib/parser/source/comment/associator.rb#46 - def skip_directives; end - - # source://parser/lib/parser/source/comment/associator.rb#46 - def skip_directives=(_arg0); end - - private - - # source://parser/lib/parser/source/comment/associator.rb#182 - def advance_comment; end - - # source://parser/lib/parser/source/comment/associator.rb#214 - def advance_through_directives; end - - # source://parser/lib/parser/source/comment/associator.rb#206 - def associate_and_advance_comment(node); end - - # source://parser/lib/parser/source/comment/associator.rb#123 - def children_in_source_order(node); end - - # source://parser/lib/parser/source/comment/associator.rb#187 - def current_comment_before?(node); end - - # source://parser/lib/parser/source/comment/associator.rb#194 - def current_comment_before_end?(node); end - - # source://parser/lib/parser/source/comment/associator.rb#201 - def current_comment_decorates?(node); end - - # source://parser/lib/parser/source/comment/associator.rb#135 - def do_associate; end - - # source://parser/lib/parser/source/comment/associator.rb#166 - def process_leading_comments(node); end - - # source://parser/lib/parser/source/comment/associator.rb#173 - def process_trailing_comments(node); end - - # source://parser/lib/parser/source/comment/associator.rb#148 - def visit(node); end -end - -# source://parser/lib/parser/source/comment/associator.rb#212 -Parser::Source::Comment::Associator::MAGIC_COMMENT_RE = T.let(T.unsafe(nil), Regexp) - -# source://parser/lib/parser/source/comment/associator.rb#122 -Parser::Source::Comment::Associator::POSTFIX_TYPES = T.let(T.unsafe(nil), Set) - -# {Map} relates AST nodes to the source code they were parsed from. -# More specifically, a {Map} or its subclass contains a set of ranges: -# -# * `expression`: smallest range which includes all source corresponding -# to the node and all `expression` ranges of its children. -# * other ranges (`begin`, `end`, `operator`, ...): node-specific ranges -# pointing to various interesting tokens corresponding to the node. -# -# Note that the {Map::Heredoc} map is the only one whose `expression` does -# not include other ranges. It only covers the heredoc marker (`< 2]').children[0].loc -# # => > -# -# The {file:doc/AST_FORMAT.md} document describes how ranges associated to source -# code tokens. For example, the entry -# -# (array (int 1) (int 2)) -# -# "[1, 2]" -# ^ begin -# ^ end -# ~~~~~~ expression -# -# means that if `node` is an {Parser::AST::Node} `(array (int 1) (int 2))`, -# then `node.loc` responds to `begin`, `end` and `expression`, and -# `node.loc.begin` returns a range pointing at the opening bracket, and so on. -# -# If you want to write code polymorphic by the source map (i.e. accepting -# several subclasses of {Map}), use `respond_to?` instead of `is_a?` to -# check whether the map features the range you need. Concrete {Map} -# subclasses may not be preserved between versions, but their interfaces -# will be kept compatible. -# -# You can visualize the source maps with `ruby-parse -E` command-line tool. -# -# @api public -# @example -# require 'parser/current' -# -# p Parser::CurrentRuby.parse('[1, 2]').loc -# # => #, -# # @begin=#, -# # @expression=#> -# -# source://parser/lib/parser/source/map.rb#70 -class Parser::Source::Map - # @api public - # @param expression [Range] - # @return [Map] a new instance of Map - # - # source://parser/lib/parser/source/map.rb#76 - def initialize(expression); end - - # Compares source maps. - # - # @api public - # @return [Boolean] - # - # source://parser/lib/parser/source/map.rb#140 - def ==(other); end - - # A shortcut for `self.expression.column`. - # - # @api public - # @return [Integer] - # - # source://parser/lib/parser/source/map.rb#109 - def column; end - - # @api public - # @return [Range] - # - # source://parser/lib/parser/source/map.rb#72 - def expression; end - - # A shortcut for `self.expression.line`. - # - # @api public - # @return [Integer] - # - # source://parser/lib/parser/source/map.rb#99 - def first_line; end - - # A shortcut for `self.expression.last_column`. - # - # @api public - # @return [Integer] - # - # source://parser/lib/parser/source/map.rb#125 - def last_column; end - - # A shortcut for `self.expression.last_line`. - # - # @api public - # @return [Integer] - # - # source://parser/lib/parser/source/map.rb#117 - def last_line; end - - # A shortcut for `self.expression.line`. - # - # @api public - # @return [Integer] - # - # source://parser/lib/parser/source/map.rb#99 - def line; end - - # The node that is described by this map. Nodes and maps have 1:1 correspondence. - # - # @api public - # @return [Parser::AST::Node] - # - # source://parser/lib/parser/source/map.rb#71 - def node; end - - # @api private - # - # source://parser/lib/parser/source/map.rb#89 - def node=(node); end - - # Converts this source map to a hash with keys corresponding to - # ranges. For example, if called on an instance of {Collection}, - # which adds the `begin` and `end` ranges, the resulting hash - # will contain keys `:expression`, `:begin` and `:end`. - # - # @api public - # @example - # require 'parser/current' - # - # p Parser::CurrentRuby.parse('[1, 2]').loc.to_hash - # # => { - # # :begin => #, - # # :end => #, - # # :expression => # - # # } - # @return [Hash] - # - # source://parser/lib/parser/source/map.rb#166 - def to_hash; end - - # @api private - # - # source://parser/lib/parser/source/map.rb#132 - def with_expression(expression_l); end - - protected - - # @api public - # - # source://parser/lib/parser/source/map.rb#180 - def update_expression(expression_l); end - - # @api public - # - # source://parser/lib/parser/source/map.rb#176 - def with(&block); end - - private - - # @api private - # - # source://parser/lib/parser/source/map.rb#82 - def initialize_copy(other); end -end - -# source://parser/lib/parser/source/map/collection.rb#6 -class Parser::Source::Map::Collection < ::Parser::Source::Map - # source://parser/lib/parser/source/map/collection.rb#10 - def initialize(begin_l, end_l, expression_l); end - - # source://parser/lib/parser/source/map/collection.rb#7 - def begin; end - - # source://parser/lib/parser/source/map/collection.rb#8 - def end; end -end - -# source://parser/lib/parser/source/map/condition.rb#6 -class Parser::Source::Map::Condition < ::Parser::Source::Map - # source://parser/lib/parser/source/map/condition.rb#12 - def initialize(keyword_l, begin_l, else_l, end_l, expression_l); end - - # source://parser/lib/parser/source/map/condition.rb#8 - def begin; end - - # source://parser/lib/parser/source/map/condition.rb#9 - def else; end - - # source://parser/lib/parser/source/map/condition.rb#10 - def end; end - - # source://parser/lib/parser/source/map/condition.rb#7 - def keyword; end -end - -# source://parser/lib/parser/source/map/constant.rb#6 -class Parser::Source::Map::Constant < ::Parser::Source::Map - # source://parser/lib/parser/source/map/constant.rb#11 - def initialize(double_colon, name, expression); end - - # source://parser/lib/parser/source/map/constant.rb#7 - def double_colon; end - - # source://parser/lib/parser/source/map/constant.rb#8 - def name; end - - # source://parser/lib/parser/source/map/constant.rb#9 - def operator; end - - # source://parser/lib/parser/source/map/constant.rb#20 - def with_operator(operator_l); end - - protected - - # source://parser/lib/parser/source/map/constant.rb#26 - def update_operator(operator_l); end -end - -# source://parser/lib/parser/source/map/definition.rb#6 -class Parser::Source::Map::Definition < ::Parser::Source::Map - # source://parser/lib/parser/source/map/definition.rb#12 - def initialize(keyword_l, operator_l, name_l, end_l); end - - # source://parser/lib/parser/source/map/definition.rb#10 - def end; end - - # source://parser/lib/parser/source/map/definition.rb#7 - def keyword; end - - # source://parser/lib/parser/source/map/definition.rb#9 - def name; end - - # source://parser/lib/parser/source/map/definition.rb#8 - def operator; end -end - -# source://parser/lib/parser/source/map/for.rb#6 -class Parser::Source::Map::For < ::Parser::Source::Map - # source://parser/lib/parser/source/map/for.rb#10 - def initialize(keyword_l, in_l, begin_l, end_l, expression_l); end - - # source://parser/lib/parser/source/map/for.rb#8 - def begin; end - - # source://parser/lib/parser/source/map/for.rb#8 - def end; end - - # source://parser/lib/parser/source/map/for.rb#7 - def in; end - - # source://parser/lib/parser/source/map/for.rb#7 - def keyword; end -end - -# source://parser/lib/parser/source/map/heredoc.rb#6 -class Parser::Source::Map::Heredoc < ::Parser::Source::Map - # source://parser/lib/parser/source/map/heredoc.rb#10 - def initialize(begin_l, body_l, end_l); end - - # source://parser/lib/parser/source/map/heredoc.rb#7 - def heredoc_body; end - - # source://parser/lib/parser/source/map/heredoc.rb#8 - def heredoc_end; end -end - -# source://parser/lib/parser/source/map/index.rb#6 -class Parser::Source::Map::Index < ::Parser::Source::Map - # source://parser/lib/parser/source/map/index.rb#11 - def initialize(begin_l, end_l, expression_l); end - - # source://parser/lib/parser/source/map/index.rb#7 - def begin; end - - # source://parser/lib/parser/source/map/index.rb#8 - def end; end - - # source://parser/lib/parser/source/map/index.rb#9 - def operator; end - - # source://parser/lib/parser/source/map/index.rb#21 - def with_operator(operator_l); end - - protected - - # source://parser/lib/parser/source/map/index.rb#27 - def update_operator(operator_l); end -end - -# source://parser/lib/parser/source/map/keyword.rb#6 -class Parser::Source::Map::Keyword < ::Parser::Source::Map - # source://parser/lib/parser/source/map/keyword.rb#11 - def initialize(keyword_l, begin_l, end_l, expression_l); end - - # source://parser/lib/parser/source/map/keyword.rb#8 - def begin; end - - # source://parser/lib/parser/source/map/keyword.rb#9 - def end; end - - # source://parser/lib/parser/source/map/keyword.rb#7 - def keyword; end -end - -# source://parser/lib/parser/source/map/method_definition.rb#6 -class Parser::Source::Map::MethodDefinition < ::Parser::Source::Map - # source://parser/lib/parser/source/map/method_definition.rb#13 - def initialize(keyword_l, operator_l, name_l, end_l, assignment_l, body_l); end - - # source://parser/lib/parser/source/map/method_definition.rb#11 - def assignment; end - - # source://parser/lib/parser/source/map/method_definition.rb#10 - def end; end - - # source://parser/lib/parser/source/map/method_definition.rb#7 - def keyword; end - - # source://parser/lib/parser/source/map/method_definition.rb#9 - def name; end - - # source://parser/lib/parser/source/map/method_definition.rb#8 - def operator; end -end - -# source://parser/lib/parser/source/map/objc_kwarg.rb#6 -class Parser::Source::Map::ObjcKwarg < ::Parser::Source::Map - # source://parser/lib/parser/source/map/objc_kwarg.rb#11 - def initialize(keyword_l, operator_l, argument_l, expression_l); end - - # source://parser/lib/parser/source/map/objc_kwarg.rb#9 - def argument; end - - # source://parser/lib/parser/source/map/objc_kwarg.rb#7 - def keyword; end - - # source://parser/lib/parser/source/map/objc_kwarg.rb#8 - def operator; end -end - -# source://parser/lib/parser/source/map/operator.rb#6 -class Parser::Source::Map::Operator < ::Parser::Source::Map - # source://parser/lib/parser/source/map/operator.rb#9 - def initialize(operator, expression); end - - # source://parser/lib/parser/source/map/operator.rb#7 - def operator; end -end - -# source://parser/lib/parser/source/map/rescue_body.rb#6 -class Parser::Source::Map::RescueBody < ::Parser::Source::Map - # source://parser/lib/parser/source/map/rescue_body.rb#11 - def initialize(keyword_l, assoc_l, begin_l, expression_l); end - - # source://parser/lib/parser/source/map/rescue_body.rb#8 - def assoc; end - - # source://parser/lib/parser/source/map/rescue_body.rb#9 - def begin; end - - # source://parser/lib/parser/source/map/rescue_body.rb#7 - def keyword; end -end - -# source://parser/lib/parser/source/map/send.rb#6 -class Parser::Source::Map::Send < ::Parser::Source::Map - # source://parser/lib/parser/source/map/send.rb#13 - def initialize(dot_l, selector_l, begin_l, end_l, expression_l); end - - # source://parser/lib/parser/source/map/send.rb#10 - def begin; end - - # source://parser/lib/parser/source/map/send.rb#7 - def dot; end - - # source://parser/lib/parser/source/map/send.rb#11 - def end; end - - # source://parser/lib/parser/source/map/send.rb#9 - def operator; end - - # source://parser/lib/parser/source/map/send.rb#8 - def selector; end - - # source://parser/lib/parser/source/map/send.rb#24 - def with_operator(operator_l); end - - protected - - # source://parser/lib/parser/source/map/send.rb#30 - def update_operator(operator_l); end -end - -# source://parser/lib/parser/source/map/ternary.rb#6 -class Parser::Source::Map::Ternary < ::Parser::Source::Map - # source://parser/lib/parser/source/map/ternary.rb#10 - def initialize(question_l, colon_l, expression_l); end - - # source://parser/lib/parser/source/map/ternary.rb#8 - def colon; end - - # source://parser/lib/parser/source/map/ternary.rb#7 - def question; end -end - -# source://parser/lib/parser/source/map/variable.rb#6 -class Parser::Source::Map::Variable < ::Parser::Source::Map - # source://parser/lib/parser/source/map/variable.rb#10 - def initialize(name_l, expression_l = T.unsafe(nil)); end - - # source://parser/lib/parser/source/map/variable.rb#7 - def name; end - - # source://parser/lib/parser/source/map/variable.rb#8 - def operator; end - - # source://parser/lib/parser/source/map/variable.rb#19 - def with_operator(operator_l); end - - protected - - # source://parser/lib/parser/source/map/variable.rb#25 - def update_operator(operator_l); end -end - -# A range of characters in a particular source buffer. -# -# The range is always exclusive, i.e. a range with `begin_pos` of 3 and -# `end_pos` of 5 will contain the following characters: -# -# example -# ^^ -# -# @api public -# -# source://parser/lib/parser/source/range.rb#26 -class Parser::Source::Range - include ::Comparable - - # @api public - # @param source_buffer [Buffer] - # @param begin_pos [Integer] - # @param end_pos [Integer] - # @return [Range] a new instance of Range - # - # source://parser/lib/parser/source/range.rb#37 - def initialize(source_buffer, begin_pos, end_pos); end - - # Compare ranges, first by begin_pos, then by end_pos. - # - # @api public - # - # source://parser/lib/parser/source/range.rb#301 - def <=>(other); end - - # by the given amount(s) - # - # @api public - # @param Endpoint(s) [Hash] to change, any combination of :begin_pos or :end_pos - # @return [Range] the same range as this range but with the given end point(s) adjusted - # - # source://parser/lib/parser/source/range.rb#193 - def adjust(begin_pos: T.unsafe(nil), end_pos: T.unsafe(nil)); end - - # @api public - # @return [Range] a zero-length range located just before the beginning - # of this range. - # - # source://parser/lib/parser/source/range.rb#55 - def begin; end - - # @api public - # @return [Integer] index of the first character in the range - # - # source://parser/lib/parser/source/range.rb#30 - def begin_pos; end - - # @api public - # @return [Integer] zero-based column number of the beginning of this range. - # - # source://parser/lib/parser/source/range.rb#92 - def column; end - - # @api public - # @raise RangeError - # @return [::Range] a range of columns spanned by this range. - # - # source://parser/lib/parser/source/range.rb#114 - def column_range; end - - # Return `other.contains?(self)` - # - # Two ranges must be one and only one of ==, disjoint?, contains?, contained? or crossing? - # - # @api public - # @param other [Range] - # @return [Boolean] - # - # source://parser/lib/parser/source/range.rb#274 - def contained?(other); end - - # Returns true iff this range contains (strictly) `other`. - # - # Two ranges must be one and only one of ==, disjoint?, contains?, contained? or crossing? - # - # @api public - # @param other [Range] - # @return [Boolean] - # - # source://parser/lib/parser/source/range.rb#262 - def contains?(other); end - - # Returns true iff both ranges intersect and also have different elements from one another. - # - # Two ranges must be one and only one of ==, disjoint?, contains?, contained? or crossing? - # - # @api public - # @param other [Range] - # @return [Boolean] - # - # source://parser/lib/parser/source/range.rb#286 - def crossing?(other); end - - # Return `true` iff this range and `other` are disjoint. - # - # Two ranges must be one and only one of ==, disjoint?, contains?, contained? or crossing? - # - # @api public - # @param other [Range] - # @return [Boolean] - # - # source://parser/lib/parser/source/range.rb#236 - def disjoint?(other); end - - # Checks if a range is empty; if it contains no characters - # - # @api public - # @return [Boolean] - # - # source://parser/lib/parser/source/range.rb#294 - def empty?; end - - # @api public - # @return [Range] a zero-length range located just after the end - # of this range. - # - # source://parser/lib/parser/source/range.rb#63 - def end; end - - # @api public - # @return [Integer] index of the character after the last character in the range - # - # source://parser/lib/parser/source/range.rb#30 - def end_pos; end - - # @api public - def eql?(_arg0); end - - # Line number of the beginning of this range. By default, the first line - # of a buffer is 1; as such, line numbers are most commonly one-based. - # - # @api public - # @return [Integer] line number of the beginning of this range. - # @see Buffer - # - # source://parser/lib/parser/source/range.rb#83 - def first_line; end - - # Support for Ranges be used in as Hash indices and in Sets. - # - # @api public - # - # source://parser/lib/parser/source/range.rb#313 - def hash; end - - # @api public - # @return [String] a human-readable representation of this range. - # - # source://parser/lib/parser/source/range.rb#320 - def inspect; end - - # @api public - # @param other [Range] - # @return [Range] overlapping region of this range and `other`, or `nil` - # if they do not overlap - # - # source://parser/lib/parser/source/range.rb#220 - def intersect(other); end - - # `is?` provides a concise way to compare the source corresponding to this range. - # For example, `r.source == '(' || r.source == 'begin'` is equivalent to - # `r.is?('(', 'begin')`. - # - # @api public - # @return [Boolean] - # - # source://parser/lib/parser/source/range.rb#141 - def is?(*what); end - - # @api public - # @param other [Range] - # @return [Range] smallest possible range spanning both this range and `other`. - # - # source://parser/lib/parser/source/range.rb#209 - def join(other); end - - # @api public - # @return [Integer] zero-based column number of the end of this range. - # - # source://parser/lib/parser/source/range.rb#106 - def last_column; end - - # @api public - # @return [Integer] line number of the end of this range. - # - # source://parser/lib/parser/source/range.rb#99 - def last_line; end - - # @api public - # @return [Integer] amount of characters included in this range. - # - # source://parser/lib/parser/source/range.rb#70 - def length; end - - # Line number of the beginning of this range. By default, the first line - # of a buffer is 1; as such, line numbers are most commonly one-based. - # - # @api public - # @return [Integer] line number of the beginning of this range. - # @see Buffer - # - # source://parser/lib/parser/source/range.rb#83 - def line; end - - # Return `true` iff this range is not disjoint from `other`. - # - # @api public - # @param other [Range] - # @return [Boolean] `true` if this range and `other` overlap - # - # source://parser/lib/parser/source/range.rb#250 - def overlaps?(other); end - - # @api public - # @param new_size [Integer] - # @return [Range] a range beginning at the same point as this range and length `new_size`. - # - # source://parser/lib/parser/source/range.rb#201 - def resize(new_size); end - - # @api public - # @return [Integer] amount of characters included in this range. - # - # source://parser/lib/parser/source/range.rb#70 - def size; end - - # @api public - # @return [String] all source code covered by this range. - # - # source://parser/lib/parser/source/range.rb#132 - def source; end - - # @api public - # @return [Parser::Source::Buffer] - # - # source://parser/lib/parser/source/range.rb#29 - def source_buffer; end - - # @api public - # @return [String] a line of source code containing the beginning of this range. - # - # source://parser/lib/parser/source/range.rb#125 - def source_line; end - - # @api public - # @return [Array] a set of character indexes contained in this range. - # - # source://parser/lib/parser/source/range.rb#148 - def to_a; end - - # @api public - # @return [Range] a Ruby range with the same `begin_pos` and `end_pos` - # - # source://parser/lib/parser/source/range.rb#155 - def to_range; end - - # Composes a GNU/Clang-style string representation of the beginning of this - # range. - # - # For example, for the following range in file `foo.rb`, - # - # def foo - # ^^^ - # - # `to_s` will return `foo.rb:1:5`. - # Note that the column index is one-based. - # - # @api public - # @return [String] - # - # source://parser/lib/parser/source/range.rb#173 - def to_s; end - - # to the given value(s). - # - # @api public - # @param Endpoint(s) [Hash] to change, any combination of :begin_pos or :end_pos - # @return [Range] the same range as this range but with the given end point(s) changed - # - # source://parser/lib/parser/source/range.rb#184 - def with(begin_pos: T.unsafe(nil), end_pos: T.unsafe(nil)); end -end - -# {Rewriter} is deprecated. Use {TreeRewriter} instead. -# -# TreeRewriter has simplified semantics, and customizable policies -# with regards to clobbering. Please read the documentation. -# -# Keep in mind: -# - Rewriter was discarding the `end_pos` of the given range for `insert_before`, -# and the `begin_pos` for `insert_after`. These are meaningful in TreeRewriter. -# - TreeRewriter's wrap/insert_before/insert_after are multiple by default, while -# Rewriter would raise clobbering errors if the non '_multi' version was called. -# - The TreeRewriter policy closest to Rewriter's behavior is: -# different_replacements: :raise, -# swallowed_insertions: :raise, -# crossing_deletions: :accept -# -# @api public -# @deprecated Use {TreeRewriter} -# -# source://parser/lib/parser/source/rewriter.rb#31 -class Parser::Source::Rewriter - extend ::Parser::Deprecation - - # @api public - # @deprecated Use {TreeRewriter} - # @param source_buffer [Source::Buffer] - # @return [Rewriter] a new instance of Rewriter - # - # source://parser/lib/parser/source/rewriter.rb#39 - def initialize(source_buffer); end - - # @api public - # @return [Diagnostic::Engine] - # - # source://parser/lib/parser/source/rewriter.rb#33 - def diagnostics; end - - # Inserts new code after the given source range. - # - # @api public - # @deprecated Use {TreeRewriter#insert_after} - # @param range [Range] - # @param content [String] - # @raise [ClobberingError] when clobbering is detected - # @return [Rewriter] self - # - # source://parser/lib/parser/source/rewriter.rb#131 - def insert_after(range, content); end - - # Inserts new code after the given source range by allowing other - # insertions at the same position. - # Note that an insertion with latter invocation comes _after_ earlier - # insertion at the same position in the rewritten source. - # - # @api public - # @deprecated Use {TreeRewriter#insert_after} - # @example Inserting ')]' - # rewriter. - # insert_after_multi(range, ')'). - # insert_after_multi(range, ']'). - # process - # @param range [Range] - # @param content [String] - # @raise [ClobberingError] when clobbering is detected - # @return [Rewriter] self - # - # source://parser/lib/parser/source/rewriter.rb#153 - def insert_after_multi(range, content); end - - # Inserts new code before the given source range. - # - # @api public - # @deprecated Use {TreeRewriter#insert_before} - # @param range [Range] - # @param content [String] - # @raise [ClobberingError] when clobbering is detected - # @return [Rewriter] self - # - # source://parser/lib/parser/source/rewriter.rb#80 - def insert_before(range, content); end - - # Inserts new code before the given source range by allowing other - # insertions at the same position. - # Note that an insertion with latter invocation comes _before_ earlier - # insertion at the same position in the rewritten source. - # - # @api public - # @deprecated Use {TreeRewriter#insert_before} - # @example Inserting '[(' - # rewriter. - # insert_before_multi(range, '('). - # insert_before_multi(range, '['). - # process - # @param range [Range] - # @param content [String] - # @raise [ClobberingError] when clobbering is detected - # @return [Rewriter] self - # - # source://parser/lib/parser/source/rewriter.rb#117 - def insert_before_multi(range, content); end - - # Applies all scheduled changes to the `source_buffer` and returns - # modified source as a new string. - # - # @api public - # @deprecated Use {TreeRewriter#process} - # @return [String] - # - # source://parser/lib/parser/source/rewriter.rb#178 - def process; end - - # Removes the source range. - # - # @api public - # @deprecated Use {TreeRewriter#remove} - # @param range [Range] - # @raise [ClobberingError] when clobbering is detected - # @return [Rewriter] self - # - # source://parser/lib/parser/source/rewriter.rb#67 - def remove(range); end - - # Replaces the code of the source range `range` with `content`. - # - # @api public - # @deprecated Use {TreeRewriter#replace} - # @param range [Range] - # @param content [String] - # @raise [ClobberingError] when clobbering is detected - # @return [Rewriter] self - # - # source://parser/lib/parser/source/rewriter.rb#167 - def replace(range, content); end - - # @api public - # @return [Source::Buffer] - # - # source://parser/lib/parser/source/rewriter.rb#32 - def source_buffer; end - - # Provides a protected block where a sequence of multiple rewrite actions - # are handled atomically. If any of the actions failed by clobbering, - # all the actions are rolled back. - # - # @api public - # @deprecated Use {TreeRewriter#transaction} - # @example - # begin - # rewriter.transaction do - # rewriter.insert_before(range_of_something, '(') - # rewriter.insert_after(range_of_something, ')') - # end - # rescue Parser::ClobberingError - # end - # @raise [RuntimeError] when no block is passed - # @raise [RuntimeError] when already in a transaction - # - # source://parser/lib/parser/source/rewriter.rb#216 - def transaction; end - - # Inserts new code before and after the given source range. - # - # @api public - # @deprecated Use {TreeRewriter#wrap} - # @param range [Range] - # @param before [String] - # @param after [String] - # @raise [ClobberingError] when clobbering is detected - # @return [Rewriter] self - # - # source://parser/lib/parser/source/rewriter.rb#94 - def wrap(range, before, after); end - - private - - # @api public - # - # source://parser/lib/parser/source/rewriter.rb#476 - def active_clobber; end - - # @api public - # - # source://parser/lib/parser/source/rewriter.rb#484 - def active_clobber=(value); end - - # @api public - # - # source://parser/lib/parser/source/rewriter.rb#480 - def active_insertions; end - - # @api public - # - # source://parser/lib/parser/source/rewriter.rb#492 - def active_insertions=(value); end - - # @api public - # - # source://parser/lib/parser/source/rewriter.rb#472 - def active_queue; end - - # @api public - # @return [Boolean] - # - # source://parser/lib/parser/source/rewriter.rb#500 - def adjacent?(range1, range2); end - - # @api public - # - # source://parser/lib/parser/source/rewriter.rb#351 - def adjacent_insertion_mask(range); end - - # @api public - # @return [Boolean] - # - # source://parser/lib/parser/source/rewriter.rb#366 - def adjacent_insertions?(range); end - - # @api public - # - # source://parser/lib/parser/source/rewriter.rb#347 - def adjacent_position_mask(range); end - - # @api public - # @return [Boolean] - # - # source://parser/lib/parser/source/rewriter.rb#377 - def adjacent_updates?(range); end - - # Schedule a code update. If it overlaps with another update, check - # whether they conflict, and raise a clobbering error if they do. - # (As a special case, zero-length ranges at the same position are - # considered to "overlap".) Otherwise, merge them. - # - # Updates which are adjacent to each other, but do not overlap, are also - # merged. - # - # RULES: - # - # - Insertion ("replacing" a zero-length range): - # - Two insertions at the same point conflict. This is true even - # if the earlier insertion has already been merged with an adjacent - # update, and even if they are both inserting the same text. - # - An insertion never conflicts with a replace or remove operation - # on its right or left side, which does not overlap it (in other - # words, which does not update BOTH its right and left sides). - # - An insertion always conflicts with a remove operation which spans - # both its sides. - # - An insertion conflicts with a replace operation which spans both its - # sides, unless the replacement text is longer than the replaced text - # by the size of the insertion (or more), and the portion of - # replacement text immediately after the insertion position is - # identical to the inserted text. - # - # - Removal operations never conflict with each other. - # - # - Replacement operations: - # - Take the portion of each replacement text which falls within: - # - The other operation's replaced region - # - The other operation's replacement text, if it extends past the - # end of its own replaced region (in other words, if the replacement - # text is longer than the text it replaces) - # - If and only if the taken texts are identical for both operations, - # they do not conflict. - # - # @api public - # - # source://parser/lib/parser/source/rewriter.rb#280 - def append(action); end - - # @api public - # @return [Boolean] - # - # source://parser/lib/parser/source/rewriter.rb#389 - def can_merge?(action, existing); end - - # @api public - # @return [Boolean] - # - # source://parser/lib/parser/source/rewriter.rb#355 - def clobbered_insertion?(insertion); end - - # @api public - # - # source://parser/lib/parser/source/rewriter.rb#343 - def clobbered_position_mask(range); end - - # @api public - # @return [Boolean] - # - # source://parser/lib/parser/source/rewriter.rb#468 - def in_transaction?; end - - # @api public - # - # source://parser/lib/parser/source/rewriter.rb#410 - def merge_actions(action, existing); end - - # @api public - # - # source://parser/lib/parser/source/rewriter.rb#419 - def merge_actions!(action, existing); end - - # @api public - # - # source://parser/lib/parser/source/rewriter.rb#425 - def merge_replacements(actions); end - - # @api public - # @raise [ClobberingError] - # - # source://parser/lib/parser/source/rewriter.rb#450 - def raise_clobber_error(action, existing); end - - # @api public - # - # source://parser/lib/parser/source/rewriter.rb#335 - def record_insertion(range); end - - # @api public - # - # source://parser/lib/parser/source/rewriter.rb#339 - def record_replace(range); end - - # @api public - # - # source://parser/lib/parser/source/rewriter.rb#445 - def replace_actions(old, updated); end - - # @api public - # @return [Boolean] - # - # source://parser/lib/parser/source/rewriter.rb#383 - def replace_compatible_with_insertion?(replace, insertion); end -end - -# source://parser/lib/parser/source/rewriter/action.rb#9 -class Parser::Source::Rewriter::Action - include ::Comparable - - # source://parser/lib/parser/source/rewriter/action.rb#15 - def initialize(range, replacement = T.unsafe(nil), allow_multiple_insertions = T.unsafe(nil), order = T.unsafe(nil)); end - - # source://parser/lib/parser/source/rewriter/action.rb#24 - def <=>(other); end - - # source://parser/lib/parser/source/rewriter/action.rb#12 - def allow_multiple_insertions; end - - # source://parser/lib/parser/source/rewriter/action.rb#12 - def allow_multiple_insertions?; end - - # source://parser/lib/parser/source/rewriter/action.rb#12 - def order; end - - # source://parser/lib/parser/source/rewriter/action.rb#12 - def range; end - - # source://parser/lib/parser/source/rewriter/action.rb#12 - def replacement; end - - # source://parser/lib/parser/source/rewriter/action.rb#30 - def to_s; end -end - -# @api public -# -# source://parser/lib/parser/source/rewriter.rb#504 -Parser::Source::Rewriter::DEPRECATION_WARNING = T.let(T.unsafe(nil), String) - -# {TreeRewriter} performs the heavy lifting in the source rewriting process. -# It schedules code updates to be performed in the correct order. -# -# For simple cases, the resulting source will be obvious. -# -# Examples for more complex cases follow. Assume these examples are acting on -# the source `'puts(:hello, :world)`. The methods #wrap, #remove, etc. -# receive a Range as first argument; for clarity, examples below use english -# sentences and a string of raw code instead. -# -# ## Overlapping ranges: -# -# Any two rewriting actions on overlapping ranges will fail and raise -# a `ClobberingError`, unless they are both deletions (covered next). -# -# * wrap ':hello, ' with '(' and ')' -# * wrap ', :world' with '(' and ')' -# => CloberringError -# -# ## Overlapping deletions: -# -# * remove ':hello, ' -# * remove ', :world' -# -# The overlapping ranges are merged and `':hello, :world'` will be removed. -# This policy can be changed. `:crossing_deletions` defaults to `:accept` -# but can be set to `:warn` or `:raise`. -# -# ## Multiple actions at the same end points: -# -# Results will always be independent on the order they were given. -# Exception: rewriting actions done on exactly the same range (covered next). -# -# Example: -# * replace ', ' by ' => ' -# * wrap ':hello, :world' with '{' and '}' -# * replace ':world' with ':everybody' -# * wrap ':world' with '[', ']' -# -# The resulting string will be `'puts({:hello => [:everybody]})'` -# and this result is independent on the order the instructions were given in. -# -# Note that if the two "replace" were given as a single replacement of ', :world' -# for ' => :everybody', the result would be a `ClobberingError` because of the wrap -# in square brackets. -# -# ## Multiple wraps on same range: -# * wrap ':hello' with '(' and ')' -# * wrap ':hello' with '[' and ']' -# -# The wraps are combined in order given and results would be `'puts([(:hello)], :world)'`. -# -# ## Multiple replacements on same range: -# * replace ':hello' by ':hi', then -# * replace ':hello' by ':hey' -# -# The replacements are made in the order given, so the latter replacement -# supersedes the former and ':hello' will be replaced by ':hey'. -# -# This policy can be changed. `:different_replacements` defaults to `:accept` -# but can be set to `:warn` or `:raise`. -# -# ## Swallowed insertions: -# wrap 'world' by '__', '__' -# replace ':hello, :world' with ':hi' -# -# A containing replacement will swallow the contained rewriting actions -# and `':hello, :world'` will be replaced by `':hi'`. -# -# This policy can be changed for swallowed insertions. `:swallowed_insertions` -# defaults to `:accept` but can be set to `:warn` or `:raise` -# -# ## Implementation -# The updates are organized in a tree, according to the ranges they act on -# (where children are strictly contained by their parent), hence the name. -# -# @api public -# -# source://parser/lib/parser/source/tree_rewriter.rb#91 -class Parser::Source::TreeRewriter - extend ::Parser::Deprecation - - # @api public - # @param source_buffer [Source::Buffer] - # @return [TreeRewriter] a new instance of TreeRewriter - # - # source://parser/lib/parser/source/tree_rewriter.rb#98 - def initialize(source_buffer, crossing_deletions: T.unsafe(nil), different_replacements: T.unsafe(nil), swallowed_insertions: T.unsafe(nil)); end - - # Returns a representation of the rewriter as nested insertions (:wrap) and replacements. - # - # rewriter.as_actions # =>[ [:wrap, 1...10, '(', ')'], - # [:wrap, 2...6, '', '!'], # aka "insert_after" - # [:replace, 2...4, 'foo'], - # [:replace, 5...6, ''], # aka "removal" - # ], - # - # Contrary to `as_replacements`, this representation is sufficient to recreate exactly - # the rewriter. - # - # @api public - # @return [Array<(Symbol, Range, String{, String})>] - # - # source://parser/lib/parser/source/tree_rewriter.rb#299 - def as_nested_actions; end - - # Returns a representation of the rewriter as an ordered list of replacements. - # - # rewriter.as_replacements # => [ [1...1, '('], - # [2...4, 'foo'], - # [5...6, ''], - # [6...6, '!'], - # [10...10, ')'], - # ] - # - # This representation is sufficient to recreate the result of `process` but it is - # not sufficient to recreate completely the rewriter for further merging/actions. - # See `as_nested_actions` - # - # @api public - # @return [Array] an ordered list of pairs of range & replacement - # - # source://parser/lib/parser/source/tree_rewriter.rb#281 - def as_replacements; end - - # @api public - # @return [Diagnostic::Engine] - # - # source://parser/lib/parser/source/tree_rewriter.rb#93 - def diagnostics; end - - # Returns true iff no (non trivial) update has been recorded - # - # @api public - # @return [Boolean] - # - # source://parser/lib/parser/source/tree_rewriter.rb#125 - def empty?; end - - # For special cases where one needs to merge a rewriter attached to a different source_buffer - # or that needs to be offset. Policies of the receiver are used. - # - # @api public - # @param rewriter [TreeRewriter] from different source_buffer - # @param offset [Integer] - # @raise [IndexError] if action ranges (once offset) don't fit the current buffer - # @return [Rewriter] self - # - # source://parser/lib/parser/source/tree_rewriter.rb#168 - def import!(foreign_rewriter, offset: T.unsafe(nil)); end - - # @api public - # @return [Boolean] - # - # source://parser/lib/parser/source/tree_rewriter.rb#329 - def in_transaction?; end - - # Shortcut for `wrap(range, nil, content)` - # - # @api public - # @param range [Range] - # @param content [String] - # @raise [ClobberingError] when clobbering is detected - # @return [Rewriter] self - # - # source://parser/lib/parser/source/tree_rewriter.rb#242 - def insert_after(range, content); end - - # @api private - # @deprecated Use insert_after or wrap - # - # source://parser/lib/parser/source/tree_rewriter.rb#351 - def insert_after_multi(range, text); end - - # Shortcut for `wrap(range, content, nil)` - # - # @api public - # @param range [Range] - # @param content [String] - # @raise [ClobberingError] when clobbering is detected - # @return [Rewriter] self - # - # source://parser/lib/parser/source/tree_rewriter.rb#230 - def insert_before(range, content); end - - # @api private - # @deprecated Use insert_after or wrap - # - # source://parser/lib/parser/source/tree_rewriter.rb#342 - def insert_before_multi(range, text); end - - # @api public - # - # source://parser/lib/parser/source/tree_rewriter.rb#334 - def inspect; end - - # Returns a new rewriter that consists of the updates of the received - # and the given argument. Policies of the receiver are used. - # - # @api public - # @param with [Rewriter] - # @raise [ClobberingError] when clobbering is detected - # @return [Rewriter] merge of receiver and argument - # - # source://parser/lib/parser/source/tree_rewriter.rb#155 - def merge(with); end - - # Merges the updates of argument with the receiver. - # Policies of the receiver are used. - # This action is atomic in that it won't change the receiver - # unless it succeeds. - # - # @api public - # @param with [Rewriter] - # @raise [ClobberingError] when clobbering is detected - # @return [Rewriter] self - # - # source://parser/lib/parser/source/tree_rewriter.rb#139 - def merge!(with); end - - # Applies all scheduled changes to the `source_buffer` and returns - # modified source as a new string. - # - # @api public - # @return [String] - # - # source://parser/lib/parser/source/tree_rewriter.rb#252 - def process; end - - # Shortcut for `replace(range, '')` - # - # @api public - # @param range [Range] - # @raise [ClobberingError] when clobbering is detected - # @return [Rewriter] self - # - # source://parser/lib/parser/source/tree_rewriter.rb#217 - def remove(range); end - - # Replaces the code of the source range `range` with `content`. - # - # @api public - # @param range [Range] - # @param content [String] - # @raise [ClobberingError] when clobbering is detected - # @return [Rewriter] self - # - # source://parser/lib/parser/source/tree_rewriter.rb#193 - def replace(range, content); end - - # @api public - # @return [Source::Buffer] - # - # source://parser/lib/parser/source/tree_rewriter.rb#92 - def source_buffer; end - - # Provides a protected block where a sequence of multiple rewrite actions - # are handled atomically. If any of the actions failed by clobbering, - # all the actions are rolled back. Transactions can be nested. - # - # @api public - # @raise [RuntimeError] when no block is passed - # - # source://parser/lib/parser/source/tree_rewriter.rb#310 - def transaction; end - - # Inserts the given strings before and after the given range. - # - # @api public - # @param range [Range] - # @param insert_before [String, nil] - # @param insert_after [String, nil] - # @raise [ClobberingError] when clobbering is detected - # @return [Rewriter] self - # - # source://parser/lib/parser/source/tree_rewriter.rb#206 - def wrap(range, insert_before, insert_after); end - - protected - - # @api public - # - # source://parser/lib/parser/source/tree_rewriter.rb#365 - def action_root; end - - private - - # @api public - # - # source://parser/lib/parser/source/tree_rewriter.rb#369 - def action_summary; end - - # @api public - # @raise [ArgumentError] - # - # source://parser/lib/parser/source/tree_rewriter.rb#392 - def check_policy_validity; end - - # @api public - # - # source://parser/lib/parser/source/tree_rewriter.rb#404 - def check_range_validity(range); end - - # @api public - # - # source://parser/lib/parser/source/tree_rewriter.rb#397 - def combine(range, attributes); end - - # @api public - # - # source://parser/lib/parser/source/tree_rewriter.rb#411 - def enforce_policy(event); end - - # @api public - # @raise [Parser::ClobberingError] - # - # source://parser/lib/parser/source/tree_rewriter.rb#418 - def trigger_policy(event, range: T.unsafe(nil), conflict: T.unsafe(nil), **arguments); end -end - -# @api public -# -# source://parser/lib/parser/source/tree_rewriter.rb#391 -Parser::Source::TreeRewriter::ACTIONS = T.let(T.unsafe(nil), Array) - -# source://parser/lib/parser/source/tree_rewriter/action.rb#14 -class Parser::Source::TreeRewriter::Action - # source://parser/lib/parser/source/tree_rewriter/action.rb#17 - def initialize(range, enforcer, insert_before: T.unsafe(nil), replacement: T.unsafe(nil), insert_after: T.unsafe(nil), children: T.unsafe(nil)); end - - # source://parser/lib/parser/source/tree_rewriter/action.rb#29 - def combine(action); end - - # source://parser/lib/parser/source/tree_rewriter/action.rb#68 - def contract; end - - # source://parser/lib/parser/source/tree_rewriter/action.rb#34 - def empty?; end - - # source://parser/lib/parser/source/tree_rewriter/action.rb#15 - def insert_after; end - - # source://parser/lib/parser/source/tree_rewriter/action.rb#15 - def insert_before; end - - # source://parser/lib/parser/source/tree_rewriter/action.rb#58 - def insertion?; end - - # source://parser/lib/parser/source/tree_rewriter/action.rb#81 - def moved(source_buffer, offset); end - - # source://parser/lib/parser/source/tree_rewriter/action.rb#50 - def nested_actions; end - - # source://parser/lib/parser/source/tree_rewriter/action.rb#41 - def ordered_replacements; end - - # source://parser/lib/parser/source/tree_rewriter/action.rb#15 - def range; end - - # source://parser/lib/parser/source/tree_rewriter/action.rb#15 - def replacement; end - - protected - - # source://parser/lib/parser/source/tree_rewriter/action.rb#159 - def analyse_hierarchy(action); end - - # source://parser/lib/parser/source/tree_rewriter/action.rb#146 - def bsearch_child_index(from = T.unsafe(nil)); end - - # source://parser/lib/parser/source/tree_rewriter/action.rb#225 - def call_enforcer_for_merge(action); end - - # source://parser/lib/parser/source/tree_rewriter/action.rb#205 - def check_fusible(action, *fusible); end - - # source://parser/lib/parser/source/tree_rewriter/action.rb#95 - def children; end - - # source://parser/lib/parser/source/tree_rewriter/action.rb#130 - def combine_children(more_children); end - - # source://parser/lib/parser/source/tree_rewriter/action.rb#103 - def do_combine(action); end - - # source://parser/lib/parser/source/tree_rewriter/action.rb#136 - def fuse_deletions(action, fusible, other_sibblings); end - - # source://parser/lib/parser/source/tree_rewriter/action.rb#216 - def merge(action); end - - # source://parser/lib/parser/source/tree_rewriter/action.rb#111 - def place_in_hierarchy(action); end - - # source://parser/lib/parser/source/tree_rewriter/action.rb#233 - def swallow(children); end - - # source://parser/lib/parser/source/tree_rewriter/action.rb#97 - def with(range: T.unsafe(nil), enforcer: T.unsafe(nil), children: T.unsafe(nil), insert_before: T.unsafe(nil), replacement: T.unsafe(nil), insert_after: T.unsafe(nil)); end -end - -# @api public -# -# source://parser/lib/parser/source/tree_rewriter.rb#356 -Parser::Source::TreeRewriter::DEPRECATION_WARNING = T.let(T.unsafe(nil), String) - -# @api public -# -# source://parser/lib/parser/source/tree_rewriter.rb#417 -Parser::Source::TreeRewriter::POLICY_TO_LEVEL = T.let(T.unsafe(nil), Hash) - -# source://parser/lib/parser/static_environment.rb#5 -class Parser::StaticEnvironment - # @return [StaticEnvironment] a new instance of StaticEnvironment - # - # source://parser/lib/parser/static_environment.rb#17 - def initialize; end - - # source://parser/lib/parser/static_environment.rb#55 - def declare(name); end - - # Anonymous blockarg - # - # source://parser/lib/parser/static_environment.rb#77 - def declare_anonymous_blockarg; end - - # Anonymous kwresarg - # - # source://parser/lib/parser/static_environment.rb#113 - def declare_anonymous_kwrestarg; end - - # Anonymous restarg - # - # source://parser/lib/parser/static_environment.rb#95 - def declare_anonymous_restarg; end - - # Forward args - # - # source://parser/lib/parser/static_environment.rb#67 - def declare_forward_args; end - - # @return [Boolean] - # - # source://parser/lib/parser/static_environment.rb#61 - def declared?(name); end - - # @return [Boolean] - # - # source://parser/lib/parser/static_environment.rb#81 - def declared_anonymous_blockarg?; end - - # @return [Boolean] - # - # source://parser/lib/parser/static_environment.rb#85 - def declared_anonymous_blockarg_in_current_scpe?; end - - # @return [Boolean] - # - # source://parser/lib/parser/static_environment.rb#117 - def declared_anonymous_kwrestarg?; end - - # @return [Boolean] - # - # source://parser/lib/parser/static_environment.rb#121 - def declared_anonymous_kwrestarg_in_current_scope?; end - - # @return [Boolean] - # - # source://parser/lib/parser/static_environment.rb#99 - def declared_anonymous_restarg?; end - - # @return [Boolean] - # - # source://parser/lib/parser/static_environment.rb#103 - def declared_anonymous_restarg_in_current_scope?; end - - # @return [Boolean] - # - # source://parser/lib/parser/static_environment.rb#71 - def declared_forward_args?; end - - # @return [Boolean] - # - # source://parser/lib/parser/static_environment.rb#129 - def empty?; end - - # source://parser/lib/parser/static_environment.rb#33 - def extend_dynamic; end - - # source://parser/lib/parser/static_environment.rb#26 - def extend_static; end - - # @return [Boolean] - # - # source://parser/lib/parser/static_environment.rb#89 - def parent_has_anonymous_blockarg?; end - - # @return [Boolean] - # - # source://parser/lib/parser/static_environment.rb#125 - def parent_has_anonymous_kwrestarg?; end - - # @return [Boolean] - # - # source://parser/lib/parser/static_environment.rb#107 - def parent_has_anonymous_restarg?; end - - # source://parser/lib/parser/static_environment.rb#21 - def reset; end - - # source://parser/lib/parser/static_environment.rb#49 - def unextend; end -end - -# source://parser/lib/parser/static_environment.rb#15 -Parser::StaticEnvironment::ANONYMOUS_BLOCKARG_INHERITED = T.let(T.unsafe(nil), Symbol) - -# source://parser/lib/parser/static_environment.rb#14 -Parser::StaticEnvironment::ANONYMOUS_BLOCKARG_IN_CURRENT_SCOPE = T.let(T.unsafe(nil), Symbol) - -# source://parser/lib/parser/static_environment.rb#12 -Parser::StaticEnvironment::ANONYMOUS_KWRESTARG_INHERITED = T.let(T.unsafe(nil), Symbol) - -# source://parser/lib/parser/static_environment.rb#11 -Parser::StaticEnvironment::ANONYMOUS_KWRESTARG_IN_CURRENT_SCOPE = T.let(T.unsafe(nil), Symbol) - -# source://parser/lib/parser/static_environment.rb#9 -Parser::StaticEnvironment::ANONYMOUS_RESTARG_INHERITED = T.let(T.unsafe(nil), Symbol) - -# source://parser/lib/parser/static_environment.rb#8 -Parser::StaticEnvironment::ANONYMOUS_RESTARG_IN_CURRENT_SCOPE = T.let(T.unsafe(nil), Symbol) - -# source://parser/lib/parser/static_environment.rb#6 -Parser::StaticEnvironment::FORWARD_ARGS = T.let(T.unsafe(nil), Symbol) - -# {Parser::SyntaxError} is raised whenever parser detects a syntax error, -# similar to the standard SyntaxError class. -# -# @api public -# -# source://parser/lib/parser/syntax_error.rb#13 -class Parser::SyntaxError < ::StandardError - # @api public - # @return [SyntaxError] a new instance of SyntaxError - # - # source://parser/lib/parser/syntax_error.rb#16 - def initialize(diagnostic); end - - # @api public - # @return [Parser::Diagnostic] - # - # source://parser/lib/parser/syntax_error.rb#14 - def diagnostic; end -end - -# {Parser::TreeRewriter} offers a basic API that makes it easy to rewrite -# existing ASTs. It's built on top of {Parser::AST::Processor} and -# {Parser::Source::TreeRewriter} -# -# For example, assume you want to remove `do` tokens from a while statement. -# You can do this as following: -# -# require 'parser/current' -# -# class RemoveDo < Parser::TreeRewriter -# def on_while(node) -# # Check if the statement starts with "do" -# if node.location.begin.is?('do') -# remove(node.location.begin) -# end -# end -# end -# -# code = <<-EOF -# while true do -# puts 'hello' -# end -# EOF -# -# ast = Parser::CurrentRuby.parse code -# buffer = Parser::Source::Buffer.new('(example)', source: code) -# rewriter = RemoveDo.new -# -# # Rewrite the AST, returns a String with the new form. -# puts rewriter.rewrite(buffer, ast) -# -# This would result in the following Ruby code: -# -# while true -# puts 'hello' -# end -# -# Keep in mind that {Parser::TreeRewriter} does not take care of indentation when -# inserting/replacing code so you'll have to do this yourself. -# -# See also [a blog entry](http://whitequark.org/blog/2013/04/26/lets-play-with-ruby-code/) -# describing rewriters in greater detail. -# -# @api public -# -# source://parser/lib/parser/tree_rewriter.rb#51 -class Parser::TreeRewriter < ::Parser::AST::Processor - # Returns `true` if the specified node is an assignment node, returns false - # otherwise. - # - # @api public - # @param node [Parser::AST::Node] - # @return [Boolean] - # - # source://parser/lib/parser/tree_rewriter.rb#79 - def assignment?(node); end - - # Inserts new code after the given source range. - # - # @api public - # @param range [Parser::Source::Range] - # @param content [String] - # - # source://parser/lib/parser/tree_rewriter.rb#118 - def insert_after(range, content); end - - # Inserts new code before the given source range. - # - # @api public - # @param range [Parser::Source::Range] - # @param content [String] - # - # source://parser/lib/parser/tree_rewriter.rb#108 - def insert_before(range, content); end - - # Removes the source range. - # - # @api public - # @param range [Parser::Source::Range] - # - # source://parser/lib/parser/tree_rewriter.rb#88 - def remove(range); end - - # Replaces the code of the source range `range` with `content`. - # - # @api public - # @param range [Parser::Source::Range] - # @param content [String] - # - # source://parser/lib/parser/tree_rewriter.rb#128 - def replace(range, content); end - - # Rewrites the AST/source buffer and returns a String containing the new - # version. - # - # @api public - # @param source_buffer [Parser::Source::Buffer] - # @param ast [Parser::AST::Node] - # @param crossing_deletions:, [Symbol] different_replacements:, swallowed_insertions: - # policy arguments for TreeRewriter (optional) - # @return [String] - # - # source://parser/lib/parser/tree_rewriter.rb#62 - def rewrite(source_buffer, ast, **policy); end - - # Wraps the given source range with the given values. - # - # @api public - # @param range [Parser::Source::Range] - # @param content [String] - # - # source://parser/lib/parser/tree_rewriter.rb#98 - def wrap(range, before, after); end -end - -# {Parser::UnknownEncodingInMagicComment} is raised when a magic encoding -# comment is encountered that the currently running Ruby version doesn't -# recognize. It inherits from {ArgumentError} since that is the exception -# Ruby itself raises when trying to execute a file with an unknown encoding. -# As such, it is also not a {Parser::SyntaxError}. -# -# @api public -# -# source://parser/lib/parser/unknown_encoding_in_magic_comment_error.rb#13 -class Parser::UnknownEncodingInMagicComment < ::ArgumentError; end - -# source://parser/lib/parser/version.rb#4 -Parser::VERSION = T.let(T.unsafe(nil), String) - -# source://parser/lib/parser/variables_stack.rb#5 -class Parser::VariablesStack - # @return [VariablesStack] a new instance of VariablesStack - # - # source://parser/lib/parser/variables_stack.rb#6 - def initialize; end - - # source://parser/lib/parser/variables_stack.rb#27 - def declare(name); end - - # @return [Boolean] - # - # source://parser/lib/parser/variables_stack.rb#31 - def declared?(name); end - - # @return [Boolean] - # - # source://parser/lib/parser/variables_stack.rb#11 - def empty?; end - - # source://parser/lib/parser/variables_stack.rb#19 - def pop; end - - # source://parser/lib/parser/variables_stack.rb#15 - def push; end - - # source://parser/lib/parser/variables_stack.rb#23 - def reset; end -end diff --git a/sorbet/rbi/gems/parser@3.3.7.1.rbi b/sorbet/rbi/gems/parser@3.3.7.1.rbi new file mode 100644 index 00000000..6dc16c04 --- /dev/null +++ b/sorbet/rbi/gems/parser@3.3.7.1.rbi @@ -0,0 +1,7322 @@ +# typed: true + +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `parser` gem. +# Please instead update this file by running `bin/tapioca gem parser`. + + +# @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 + +# @api public +# +# source://parser//lib/parser.rb#24 +module Parser::AST; end + +# {Parser::AST::Node} contains information about a single AST node and its +# child nodes. It extends the basic [AST::Node](https://www.rubydoc.info/gems/ast/AST/Node) +# class provided by gem [ast](https://www.rubydoc.info/gems/ast). +# +# @api public +# +# source://parser//lib/parser/ast/node.rb#17 +class Parser::AST::Node < ::AST::Node + # Assigns various properties to this AST node. Currently only the + # location can be set. + # + # @api public + # @option properties + # @param properties [Hash] + # + # source://parser//lib/parser/ast/node.rb#30 + def assign_properties(properties); end + + # Source map for this Node. + # + # @api public + # @return [Parser::Source::Map] + # + # source://parser//lib/parser/ast/node.rb#18 + def loc; end + + # Source map for this Node. + # + # @api public + # @return [Parser::Source::Map] + # + # source://parser//lib/parser/ast/node.rb#18 + def location; end +end + +# @api public +# +# source://parser//lib/parser/ast/processor.rb#9 +class Parser::AST::Processor + include ::AST::Processor::Mixin + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#12 + def on_alias(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#12 + def on_and(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#12 + def on_and_asgn(node); end + + # @api public + # @private + # + # source://parser//lib/parser/ast/processor.rb#118 + def on_arg(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#12 + def on_arg_expr(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#12 + def on_args(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#105 + def on_argument(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#12 + def on_array(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#12 + def on_array_pattern(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#12 + def on_array_pattern_with_tail(node); end + + # @api public + # @private + # + # source://parser//lib/parser/ast/processor.rb#34 + def on_back_ref(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#12 + def on_begin(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#12 + def on_block(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#12 + def on_block_pass(node); end + + # @api public + # @private + # + # source://parser//lib/parser/ast/processor.rb#118 + def on_blockarg(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#12 + def on_blockarg_expr(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#12 + def on_break(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#12 + def on_case(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#12 + def on_case_match(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#89 + def on_casgn(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#12 + def on_class(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#81 + def on_const(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#12 + def on_const_pattern(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#181 + def on_csend(node); end + + # @api public + # @private + # + # source://parser//lib/parser/ast/processor.rb#34 + def on_cvar(node); end + + # @api public + # @private + # + # source://parser//lib/parser/ast/processor.rb#58 + def on_cvasgn(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#160 + def on_def(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#12 + def on_defined?(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#169 + def on_defs(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#12 + def on_dstr(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#12 + def on_dsym(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#12 + def on_eflipflop(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#288 + def on_empty_else(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#12 + def on_ensure(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#12 + def on_erange(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#12 + def on_find_pattern(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#12 + def on_for(node); end + + # @api public + # @private + # + # source://parser//lib/parser/ast/processor.rb#118 + def on_forward_arg(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#12 + def on_forwarded_kwrestarg(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#12 + def on_forwarded_restarg(node); end + + # @api public + # @private + # + # source://parser//lib/parser/ast/processor.rb#34 + def on_gvar(node); end + + # @api public + # @private + # + # source://parser//lib/parser/ast/processor.rb#58 + def on_gvasgn(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#12 + def on_hash(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#12 + def on_hash_pattern(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#12 + def on_if(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#12 + def on_if_guard(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#12 + def on_iflipflop(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#12 + def on_in_match(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#12 + def on_in_pattern(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#12 + def on_index(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#12 + def on_indexasgn(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#12 + def on_irange(node); end + + # @api public + # @private + # + # source://parser//lib/parser/ast/processor.rb#34 + def on_ivar(node); end + + # @api public + # @private + # + # source://parser//lib/parser/ast/processor.rb#58 + def on_ivasgn(node); end + + # @api public + # @private + # + # source://parser//lib/parser/ast/processor.rb#118 + def on_kwarg(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#12 + def on_kwargs(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#12 + def on_kwbegin(node); end + + # @api public + # @private + # + # source://parser//lib/parser/ast/processor.rb#118 + def on_kwoptarg(node); end + + # @api public + # @private + # + # source://parser//lib/parser/ast/processor.rb#118 + def on_kwrestarg(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#12 + def on_kwsplat(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#12 + def on_lambda(node); end + + # @api public + # @private + # + # source://parser//lib/parser/ast/processor.rb#34 + def on_lvar(node); end + + # @api public + # @private + # + # source://parser//lib/parser/ast/processor.rb#58 + def on_lvasgn(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#12 + def on_masgn(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#12 + def on_match_alt(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#12 + def on_match_as(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#12 + def on_match_current_line(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#12 + def on_match_pattern(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#12 + def on_match_pattern_p(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#12 + def on_match_rest(node); end + + # @api public + # @private + # + # source://parser//lib/parser/ast/processor.rb#34 + def on_match_var(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#12 + def on_match_with_lvasgn(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#12 + def on_mlhs(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#12 + def on_module(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#12 + def on_next(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#12 + def on_not(node); end + + # @api public + # @private + # + # source://parser//lib/parser/ast/processor.rb#34 + def on_nth_ref(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#198 + def on_numblock(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#70 + def on_op_asgn(node); end + + # @api public + # @private + # + # source://parser//lib/parser/ast/processor.rb#118 + def on_optarg(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#12 + def on_or(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#12 + def on_or_asgn(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#12 + def on_pair(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#12 + def on_pin(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#12 + def on_postexe(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#12 + def on_preexe(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#132 + def on_procarg0(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#12 + def on_redo(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#12 + def on_regexp(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#12 + def on_resbody(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#12 + def on_rescue(node); end + + # @api public + # @private + # + # source://parser//lib/parser/ast/processor.rb#118 + def on_restarg(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#12 + def on_restarg_expr(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#12 + def on_retry(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#12 + def on_return(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#12 + def on_sclass(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#181 + def on_send(node); end + + # @api public + # @private + # + # source://parser//lib/parser/ast/processor.rb#118 + def on_shadowarg(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#12 + def on_splat(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#12 + def on_super(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#12 + def on_undef(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#12 + def on_unless_guard(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#12 + def on_until(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#12 + def on_until_post(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#29 + def on_var(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#45 + def on_vasgn(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#12 + def on_when(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#12 + def on_while(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#12 + def on_while_post(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#12 + def on_xstr(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#12 + def on_yield(node); end + + # @api public + # @private + # + # source://parser//lib/parser/ast/processor.rb#281 + def process_argument_node(node); end + + # @api public + # + # source://parser//lib/parser/ast/processor.rb#12 + def process_regular_node(node); end + + # @api public + # @private + # + # source://parser//lib/parser/ast/processor.rb#273 + def process_var_asgn_node(node); end + + # @api public + # @private + # + # source://parser//lib/parser/ast/processor.rb#265 + def process_variable_node(node); end +end + +# Base class for version-specific parsers. +# +# @api public +# +# source://parser//lib/parser/base.rb#16 +class Parser::Base < ::Racc::Parser + # @api public + # @param builder [Parser::Builders::Default] The AST builder to use. + # @return [Base] a new instance of Base + # + # source://parser//lib/parser/base.rb#126 + def initialize(builder = T.unsafe(nil)); end + + # @api public + # + # source://parser//lib/parser/base.rb#114 + def builder; end + + # @api public + # + # source://parser//lib/parser/base.rb#117 + def context; end + + # @api public + # + # source://parser//lib/parser/base.rb#119 + def current_arg_stack; end + + # @api public + # @return [Parser::Diagnostic::Engine] + # + # source://parser//lib/parser/base.rb#113 + def diagnostics; end + + # @api public + # + # source://parser//lib/parser/base.rb#112 + def lexer; end + + # @api public + # + # source://parser//lib/parser/base.rb#118 + def max_numparam_stack; end + + # Parses a source buffer and returns the AST, or `nil` in case of a non fatal error. + # + # @api public + # @param source_buffer [Parser::Source::Buffer] The source buffer to parse. + # @return [Parser::AST::Node, nil] + # + # source://parser//lib/parser/base.rb#186 + def parse(source_buffer); end + + # Parses a source buffer and returns the AST and the source code comments. + # + # @api public + # @return [Array] + # @see #parse + # @see Parser::Source::Comment#associate + # + # source://parser//lib/parser/base.rb#204 + def parse_with_comments(source_buffer); end + + # @api public + # + # source://parser//lib/parser/base.rb#121 + def pattern_hash_keys; end + + # @api public + # + # source://parser//lib/parser/base.rb#120 + def pattern_variables; end + + # Resets the state of the parser. + # + # @api public + # + # source://parser//lib/parser/base.rb#167 + def reset; end + + # @api public + # + # source://parser//lib/parser/base.rb#116 + def source_buffer; end + + # @api public + # @return [Parser::StaticEnvironment] + # + # source://parser//lib/parser/base.rb#115 + def static_env; end + + # Parses a source buffer and returns the AST, the source code comments, + # and the tokens emitted by the lexer. In case of a fatal error, a {SyntaxError} + # is raised, unless `recover` is true. In case of an error + # (non-fatal or recovered), `nil` is returned instead of the AST, and + # comments as well as tokens are only returned up to the location of + # the error. + # + # Currently, token stream format returned by #tokenize is not documented, + # but is considered part of a public API and only changed according + # to Semantic Versioning. + # + # However, note that the exact token composition of various constructs + # might vary. For example, a string `"foo"` is represented equally well + # by `:tSTRING_BEG " :tSTRING_CONTENT foo :tSTRING_END "` and + # `:tSTRING "foo"`; such details must not be relied upon. + # + # @api public + # @param source_buffer [Parser::Source::Buffer] + # @param recover [Boolean] If true, recover from syntax errors. False by default. + # @return [Array] + # + # source://parser//lib/parser/base.rb#233 + def tokenize(source_buffer, recover = T.unsafe(nil)); end + + private + + # @api public + # + # source://parser//lib/parser/base.rb#257 + def check_kwarg_name(name_t); end + + # @api public + # + # source://parser//lib/parser/base.rb#266 + def diagnostic(level, reason, arguments, location_t, highlights_ts = T.unsafe(nil)); end + + # @api public + # + # source://parser//lib/parser/base.rb#251 + def next_token; end + + # @api public + # + # source://parser//lib/parser/base.rb#282 + def on_error(error_token_id, error_value, value_stack); end + + class << self + # @api public + # @return [Parser::Base] parser with the default options set. + # + # source://parser//lib/parser/base.rb#84 + def default_parser; end + + # Parses a string of Ruby code and returns the AST. If the source + # cannot be parsed, {SyntaxError} is raised and a diagnostic is + # printed to `stderr`. + # + # @api public + # @example + # Parser::Base.parse('puts "hello"') + # @param string [String] The block of code to parse. + # @param file [String] The name of the file the code originated from. + # @param line [Numeric] The initial line number. + # @return [Parser::AST::Node] + # + # source://parser//lib/parser/base.rb#30 + def parse(string, file = T.unsafe(nil), line = T.unsafe(nil)); end + + # Parses Ruby source code by reading it from a file. If the source + # cannot be parsed, {SyntaxError} is raised and a diagnostic is + # printed to `stderr`. + # + # @api public + # @param filename [String] Path to the file to parse. + # @return [Parser::AST::Node] + # @see #parse + # + # source://parser//lib/parser/base.rb#64 + def parse_file(filename); end + + # Parses Ruby source code by reading it from a file and returns the AST and + # comments. If the source cannot be parsed, {SyntaxError} is raised and a + # diagnostic is printed to `stderr`. + # + # @api public + # @param filename [String] Path to the file to parse. + # @return [Array] + # @see #parse + # + # source://parser//lib/parser/base.rb#77 + def parse_file_with_comments(filename); end + + # Parses a string of Ruby code and returns the AST and comments. If the + # source cannot be parsed, {SyntaxError} is raised and a diagnostic is + # printed to `stderr`. + # + # @api public + # @example + # Parser::Base.parse_with_comments('puts "hello"') + # @param string [String] The block of code to parse. + # @param file [String] The name of the file the code originated from. + # @param line [Numeric] The initial line number. + # @return [Array] + # + # source://parser//lib/parser/base.rb#49 + def parse_with_comments(string, file = T.unsafe(nil), line = T.unsafe(nil)); end + + private + + # @api public + # + # source://parser//lib/parser/base.rb#97 + def setup_source_buffer(file, line, string, encoding); end + end +end + +# @api public +# +# source://parser//lib/parser.rb#78 +module Parser::Builders; end + +# source://parser//lib/parser/builders/default.rb#8 +class Parser::Builders::Default + # source://parser//lib/parser/builders/default.rb#243 + def initialize; end + + # source://parser//lib/parser/builders/default.rb#703 + def __ENCODING__(__ENCODING__t); end + + # source://parser//lib/parser/builders/default.rb#348 + def __FILE__(__FILE__t); end + + # source://parser//lib/parser/builders/default.rb#312 + def __LINE__(__LINE__t); end + + # source://parser//lib/parser/builders/default.rb#622 + def accessible(node); end + + # source://parser//lib/parser/builders/default.rb#878 + def alias(alias_t, to, from); end + + # source://parser//lib/parser/builders/default.rb#917 + def arg(name_t); end + + # source://parser//lib/parser/builders/default.rb#1007 + def arg_expr(expr); end + + # 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#1590 + def array_pattern(lbrack_t, elements, rbrack_t); end + + # source://parser//lib/parser/builders/default.rb#767 + def assign(lhs, eql_t, rhs); end + + # 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#1171 + def attr_asgn(receiver, dot_t, selector_t); end + + # source://parser//lib/parser/builders/default.rb#612 + def back_ref(token); end + + # source://parser//lib/parser/builders/default.rb#1435 + def begin(begin_t, body, end_t); end + + # 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#1453 + def begin_keyword(begin_t, body, end_t); end + + # source://parser//lib/parser/builders/default.rb#1205 + def binary_op(receiver, operator_t, arg); end + + # 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#1157 + def block_pass(amper_t, arg); end + + # source://parser//lib/parser/builders/default.rb#982 + def blockarg(amper_t, name_t); end + + # source://parser//lib/parser/builders/default.rb#1027 + def blockarg_expr(amper_t, expr); end + + # source://parser//lib/parser/builders/default.rb#1113 + def call_lambda(lambda_t); end + + # 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#1068 + def call_type_for_dot(dot_t); end + + # 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#1473 + def case_match(case_t, expr, in_bodies, else_t, else_body, end_t); end + + # source://parser//lib/parser/builders/default.rb#343 + def character(char_t); end + + # source://parser//lib/parser/builders/default.rb#284 + def complex(complex_t); end + + # source://parser//lib/parser/builders/default.rb#1423 + def compstmt(statements); end + + # 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#1292 + def condition_mod(if_true, if_false, cond_t, cond); end + + # source://parser//lib/parser/builders/default.rb#686 + def const(name_t); end + + # source://parser//lib/parser/builders/default.rb#698 + def const_fetch(scope, t_colon2, name_t); end + + # source://parser//lib/parser/builders/default.rb#691 + def const_global(t_colon3, name_t); end + + # source://parser//lib/parser/builders/default.rb#763 + def const_op_assignable(node); end + + # 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#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#814 + def def_class(class_t, name, lt_t, superclass, body, end_t); end + + # 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#863 + def def_endless_singleton(def_t, definee, dot_t, name_t, args, assignment_t, body); end + + # 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#827 + def def_module(module_t, name, body, end_t); end + + # 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#853 + def def_singleton(def_t, definee, dot_t, name_t, args, body, end_t); end + + # source://parser//lib/parser/builders/default.rb#237 + def emit_file_line_as_literals; end + + # source://parser//lib/parser/builders/default.rb#237 + def emit_file_line_as_literals=(_arg0); end + + # source://parser//lib/parser/builders/default.rb#265 + def false(false_t); end + + # 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#1331 + def for(for_t, iterator, in_t, iteratee, do_t, body, end_t); end + + # source://parser//lib/parser/builders/default.rb#913 + def forward_arg(dots_t); end + + # 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#1084 + def forwarded_args(dots_t); end + + # source://parser//lib/parser/builders/default.rb#1092 + def forwarded_kwrestarg(dstar_t); end + + # 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#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#1500 + def if_guard(if_t, if_body); end + + # source://parser//lib/parser/builders/default.rb#1479 + def in_match(lhs, in_t, rhs); end + + # 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#1180 + def index(receiver, lbrack_t, indexes, rbrack_t); end + + # 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 + def integer(integer_t); end + + # source://parser//lib/parser/builders/default.rb#591 + def ivar(token); end + + # 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#944 + def kwarg(name_t); end + + # source://parser//lib/parser/builders/default.rb#970 + def kwnilarg(dstar_t, nil_t); end + + # source://parser//lib/parser/builders/default.rb#951 + def kwoptarg(name_t, value); end + + # 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#1279 + def logical_op(type, lhs, op_t, rhs); end + + # 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#1322 + def loop_mod(type, body, keyword_t, cond); end + + # source://parser//lib/parser/builders/default.rb#1634 + def match_alt(left, pipe_t, right); end + + # source://parser//lib/parser/builders/default.rb#1641 + def match_as(value, assoc_t, as); end + + # source://parser//lib/parser/builders/default.rb#1520 + def match_hash_var(name_t); end + + # 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#1672 + def match_label(label_type, label); end + + # source://parser//lib/parser/builders/default.rb#1648 + def match_nil_pattern(dstar_t, nil_t); end + + # source://parser//lib/parser/builders/default.rb#1227 + def match_op(receiver, match_t, arg); end + + # source://parser//lib/parser/builders/default.rb#1653 + def match_pair(label_type, label, value); end + + # source://parser//lib/parser/builders/default.rb#1484 + def match_pattern(lhs, match_t, rhs); end + + # source://parser//lib/parser/builders/default.rb#1489 + def match_pattern_p(lhs, match_t, rhs); end + + # 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#1508 + def match_var(name_t); end + + # source://parser//lib/parser/builders/default.rb#1616 + def match_with_trailing_comma(match, comma_t); end + + # source://parser//lib/parser/builders/default.rb#805 + def multi_assign(lhs, eql_t, rhs); end + + # 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#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#617 + def nth_ref(token); end + + # source://parser//lib/parser/builders/default.rb#899 + def numargs(max_numparam); end + + # 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#1052 + def objc_restarg(star_t, name = T.unsafe(nil)); end + + # source://parser//lib/parser/builders/default.rb#1162 + def objc_varargs(pair, rest_of_varargs); end + + # source://parser//lib/parser/builders/default.rb#774 + def op_assign(lhs, op_t, rhs); end + + # source://parser//lib/parser/builders/default.rb#924 + def optarg(name_t, eql_t, value); end + + # source://parser//lib/parser/builders/default.rb#488 + def pair(key, assoc_t, value); end + + # source://parser//lib/parser/builders/default.rb#505 + def pair_keyword(key_t, value); end + + # source://parser//lib/parser/builders/default.rb#521 + def pair_label(key_t); end + + # source://parser//lib/parser/builders/default.rb#493 + def pair_list_18(list); end + + # source://parser//lib/parser/builders/default.rb#513 + def pair_quoted(begin_t, parts, end_t, value); end + + # source://parser//lib/parser/builders/default.rb#225 + def parser; end + + # source://parser//lib/parser/builders/default.rb#225 + def parser=(_arg0); end + + # source://parser//lib/parser/builders/default.rb#1629 + def pin(pin_t, var); end + + # 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#1357 + def preexe(preexe_t, lbrace_t, compstmt, rbrace_t); end + + # source://parser//lib/parser/builders/default.rb#992 + def procarg0(arg); end + + # source://parser//lib/parser/builders/default.rb#572 + def range_exclusive(lhs, dot3_t, rhs); end + + # source://parser//lib/parser/builders/default.rb#567 + def range_inclusive(lhs, dot2_t, rhs); end + + # source://parser//lib/parser/builders/default.rb#280 + def rational(rational_t); end + + # source://parser//lib/parser/builders/default.rb#426 + def regexp_compose(begin_t, parts, end_t, options); end + + # source://parser//lib/parser/builders/default.rb#417 + def regexp_options(regopt_t); end + + # 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#933 + def restarg(star_t, name_t = T.unsafe(nil)); end + + # 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#975 + def shadowarg(name_t); end + + # source://parser//lib/parser/builders/default.rb#445 + def splat(star_t, arg = T.unsafe(nil)); end + + # source://parser//lib/parser/builders/default.rb#319 + def string(string_t); end + + # source://parser//lib/parser/builders/default.rb#329 + def string_compose(begin_t, parts, end_t); end + + # source://parser//lib/parser/builders/default.rb#324 + def string_internal(string_t); end + + # source://parser//lib/parser/builders/default.rb#355 + def symbol(symbol_t); end + + # source://parser//lib/parser/builders/default.rb#365 + def symbol_compose(begin_t, parts, end_t); end + + # source://parser//lib/parser/builders/default.rb#360 + def symbol_internal(symbol_t); end + + # source://parser//lib/parser/builders/default.rb#469 + def symbols_compose(begin_t, parts, end_t); end + + # 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 + def true(true_t); end + + # source://parser//lib/parser/builders/default.rb#294 + def unary_num(unary_t, numeric); end + + # source://parser//lib/parser/builders/default.rb#1243 + def unary_op(op_t, receiver); end + + # source://parser//lib/parser/builders/default.rb#873 + def undef_method(undef_t, names); end + + # source://parser//lib/parser/builders/default.rb#1504 + def unless_guard(unless_t, unless_body); end + + # 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 + def word(parts); end + + # source://parser//lib/parser/builders/default.rb#464 + def words_compose(begin_t, parts, end_t); end + + # source://parser//lib/parser/builders/default.rb#381 + def xstring_compose(begin_t, parts, end_t); end + + private + + # source://parser//lib/parser/builders/default.rb#1821 + def arg_name_collides?(this_name, that_name); end + + # 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#1991 + def binary_op_map(left_e, op_t, right_e); end + + # 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#1796 + def check_assignment_to_numparam(name, loc); end + + # source://parser//lib/parser/builders/default.rb#1688 + def check_condition(cond); end + + # 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#1742 + def check_duplicate_args(args, map = T.unsafe(nil)); end + + # source://parser//lib/parser/builders/default.rb#1854 + def check_duplicate_pattern_key(name, loc); end + + # source://parser//lib/parser/builders/default.rb#1844 + def check_duplicate_pattern_variable(name, loc); end + + # source://parser//lib/parser/builders/default.rb#1836 + def check_lvar_name(name, loc); end + + # source://parser//lib/parser/builders/default.rb#1811 + def check_reserved_for_numparam(name, loc); end + + # source://parser//lib/parser/builders/default.rb#2280 + def collapse_string_parts?(parts); end + + # source://parser//lib/parser/builders/default.rb#1942 + def collection_map(begin_t, parts, end_t); end + + # 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#1977 + def constant_map(scope, colon2_t, name_t); end + + # 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#1883 + def delimited_string_map(string_t); end + + # 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#2190 + def eh_keyword_map(compstmt_e, keyword_t, body_es, else_t, else_e); end + + # 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#1938 + def expr_map(loc); end + + # 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#2218 + def guard_map(keyword_t, guard_body_e); end + + # 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#1874 + def join_exprs(left_expr, right_expr); end + + # 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#2141 + def keyword_mod_map(pre_e, keyword_t, post_e); end + + # 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#2333 + def kwargs?(node); end + + # source://parser//lib/parser/builders/default.rb#2297 + def loc(token); end + + # 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#1866 + def n(type, children, source_map); end + + # 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#1908 + def pair_keyword_map(key_t, value_e); end + + # 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#1894 + def prefix_string_map(symbol); end + + # 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#1972 + def regexp_map(begin_t, end_t, options_e); end + + # 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#2323 + def rewrite_hash_args_to_kwargs(args); end + + # 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#2113 + def send_index_map(receiver_e, lbrack_t, rbrack_t); end + + # 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#2096 + def send_unary_op_map(selector_t, arg_e); end + + # source://parser//lib/parser/builders/default.rb#2249 + def static_regexp(parts, options); end + + # source://parser//lib/parser/builders/default.rb#2269 + def static_regexp_node(node); end + + # source://parser//lib/parser/builders/default.rb#2232 + def static_string(nodes); end + + # source://parser//lib/parser/builders/default.rb#1958 + def string_map(begin_t, parts, end_t); end + + # source://parser//lib/parser/builders/default.rb#2289 + def string_value(token); end + + # 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#1879 + def token_map(token); end + + # 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#1903 + def unquoted_map(token); end + + # source://parser//lib/parser/builders/default.rb#2311 + def validate_definee(definee); end + + # source://parser//lib/parser/builders/default.rb#1781 + def validate_no_forward_arg_after_restarg(args); end + + # source://parser//lib/parser/builders/default.rb#2285 + def value(token); end + + # source://parser//lib/parser/builders/default.rb#2084 + def var_send_map(variable_e); end + + # source://parser//lib/parser/builders/default.rb#1987 + def variable_map(name_t); end + + class << self + # source://parser//lib/parser/builders/default.rb#97 + def emit_arg_inside_procarg0; end + + # source://parser//lib/parser/builders/default.rb#97 + def emit_arg_inside_procarg0=(_arg0); end + + # source://parser//lib/parser/builders/default.rb#58 + def emit_encoding; end + + # source://parser//lib/parser/builders/default.rb#58 + def emit_encoding=(_arg0); end + + # source://parser//lib/parser/builders/default.rb#126 + def emit_forward_arg; end + + # source://parser//lib/parser/builders/default.rb#126 + def emit_forward_arg=(_arg0); end + + # source://parser//lib/parser/builders/default.rb#80 + def emit_index; end + + # source://parser//lib/parser/builders/default.rb#80 + def emit_index=(_arg0); end + + # source://parser//lib/parser/builders/default.rb#174 + def emit_kwargs; end + + # source://parser//lib/parser/builders/default.rb#174 + def emit_kwargs=(_arg0); end + + # source://parser//lib/parser/builders/default.rb#22 + def emit_lambda; end + + # source://parser//lib/parser/builders/default.rb#22 + def emit_lambda=(_arg0); end + + # source://parser//lib/parser/builders/default.rb#203 + def emit_match_pattern; end + + # source://parser//lib/parser/builders/default.rb#203 + def emit_match_pattern=(_arg0); end + + # source://parser//lib/parser/builders/default.rb#40 + def emit_procarg0; end + + # source://parser//lib/parser/builders/default.rb#40 + def emit_procarg0=(_arg0); end + + # source://parser//lib/parser/builders/default.rb#211 + def modernize; end + end +end + +# {Parser::ClobberingError} is raised when {Parser::Source::Rewriter} +# detects a clobbering rewrite action. This class inherits {RuntimeError} +# rather than {StandardError} for backward compatibility. +# +# @api public +# +# source://parser//lib/parser/clobbering_error.rb#11 +class Parser::ClobberingError < ::RuntimeError; end + +# Context of parsing that is represented by a stack of scopes. +# +# Supported states: +# + :class - in the class body (class A; end) +# + :module - in the module body (module M; end) +# + :sclass - in the singleton class body (class << obj; end) +# + :def - in the method body (def m; end) +# + :defs - in the singleton method body (def self.m; end) +# + :def_open_args - in the arglist of the method definition +# keep in mind that it's set **only** after reducing the first argument, +# if you need to handle the first argument check `lex_state == expr_fname` +# + :block - in the block body (tap {}) +# + :lambda - in the lambda body (-> {}) +# +# source://parser//lib/parser/context.rb#18 +class Parser::Context + # @return [Context] a new instance of Context + # + # source://parser//lib/parser/context.rb#30 + def initialize; end + + # source://parser//lib/parser/context.rb#45 + def cant_return; end + + # source://parser//lib/parser/context.rb#45 + def cant_return=(_arg0); end + + # source://parser//lib/parser/context.rb#45 + def in_argdef; end + + # source://parser//lib/parser/context.rb#45 + def in_argdef=(_arg0); end + + # source://parser//lib/parser/context.rb#45 + def in_block; end + + # source://parser//lib/parser/context.rb#45 + def in_block=(_arg0); end + + # source://parser//lib/parser/context.rb#45 + def in_class; end + + # source://parser//lib/parser/context.rb#45 + def in_class=(_arg0); end + + # source://parser//lib/parser/context.rb#45 + def in_def; end + + # source://parser//lib/parser/context.rb#45 + def in_def=(_arg0); end + + # source://parser//lib/parser/context.rb#45 + def in_defined; end + + # source://parser//lib/parser/context.rb#45 + def in_defined=(_arg0); end + + # @return [Boolean] + # + # source://parser//lib/parser/context.rb#47 + def in_dynamic_block?; end + + # source://parser//lib/parser/context.rb#45 + def in_kwarg; end + + # source://parser//lib/parser/context.rb#45 + def in_kwarg=(_arg0); end + + # source://parser//lib/parser/context.rb#45 + def in_lambda; end + + # source://parser//lib/parser/context.rb#45 + def in_lambda=(_arg0); end + + # source://parser//lib/parser/context.rb#34 + def reset; end +end + +# source://parser//lib/parser/context.rb#19 +Parser::Context::FLAGS = T.let(T.unsafe(nil), Array) + +# Stack that holds names of current arguments, +# i.e. while parsing +# def m1(a = (def m2(b = def m3(c = 1); end); end)); end +# ^ +# stack is [:a, :b, :c] +# +# Emulates `p->cur_arg` in MRI's parse.y +# +# @api private +# +# source://parser//lib/parser/current_arg_stack.rb#14 +class Parser::CurrentArgStack + # @api private + # @return [CurrentArgStack] a new instance of CurrentArgStack + # + # source://parser//lib/parser/current_arg_stack.rb#17 + def initialize; end + + # @api private + # @return [Boolean] + # + # source://parser//lib/parser/current_arg_stack.rb#22 + def empty?; end + + # @api private + # + # source://parser//lib/parser/current_arg_stack.rb#34 + def pop; end + + # @api private + # + # source://parser//lib/parser/current_arg_stack.rb#26 + def push(value); end + + # @api private + # + # source://parser//lib/parser/current_arg_stack.rb#38 + def reset; end + + # @api private + # + # source://parser//lib/parser/current_arg_stack.rb#30 + def set(value); end + + # @api private + # + # source://parser//lib/parser/current_arg_stack.rb#15 + def stack; end + + # @api private + # + # source://parser//lib/parser/current_arg_stack.rb#42 + def top; end +end + +# source://parser//lib/parser/current.rb#120 +Parser::CurrentRuby = Parser::Ruby33 + +# @api private +# +# source://parser//lib/parser/deprecation.rb#7 +module Parser::Deprecation + # @api private + # + # source://parser//lib/parser/deprecation.rb#9 + def warn_of_deprecation; end + + # @api private + # + # source://parser//lib/parser/deprecation.rb#8 + def warned_of_deprecation=(_arg0); end +end + +# @api public +# +# source://parser//lib/parser/diagnostic.rb#31 +class Parser::Diagnostic + # @api public + # @param level [Symbol] + # @param reason [Symbol] + # @param arguments [Hash] + # @param location [Parser::Source::Range] + # @param highlights [Array] + # @return [Diagnostic] a new instance of Diagnostic + # + # source://parser//lib/parser/diagnostic.rb#49 + def initialize(level, reason, arguments, location, highlights = T.unsafe(nil)); end + + # @api public + # @return [Symbol] extended arguments that describe the error + # @see Parser::MESSAGES + # + # source://parser//lib/parser/diagnostic.rb#39 + def arguments; end + + # Supplementary error-related source ranges. + # + # @api public + # @return [Array] + # + # source://parser//lib/parser/diagnostic.rb#40 + def highlights; end + + # @api public + # @return [Symbol] diagnostic level + # @see LEVELS + # + # source://parser//lib/parser/diagnostic.rb#39 + def level; end + + # Main error-related source range. + # + # @api public + # @return [Parser::Source::Range] + # + # source://parser//lib/parser/diagnostic.rb#40 + def location; end + + # @api public + # @return [String] the rendered message. + # + # source://parser//lib/parser/diagnostic.rb#69 + def message; end + + # @api public + # @return [Symbol] reason for error + # @see Parser::MESSAGES + # + # source://parser//lib/parser/diagnostic.rb#39 + def reason; end + + # Renders the diagnostic message as a clang-like diagnostic. + # + # @api public + # @example + # diagnostic.render # => + # # [ + # # "(fragment:0):1:5: error: unexpected token $end", + # # "foo +", + # # " ^" + # # ] + # @return [Array] + # + # source://parser//lib/parser/diagnostic.rb#86 + def render; end + + private + + # If necessary, shrink a `Range` so as to include only the first line. + # + # @api public + # @return [Parser::Source::Range] + # + # source://parser//lib/parser/diagnostic.rb#142 + def first_line_only(range); end + + # If necessary, shrink a `Range` so as to include only the last line. + # + # @api public + # @return [Parser::Source::Range] + # + # source://parser//lib/parser/diagnostic.rb#155 + def last_line_only(range); end + + # Renders one source line in clang diagnostic style, with highlights. + # + # @api public + # @return [Array] + # + # source://parser//lib/parser/diagnostic.rb#110 + def render_line(range, ellipsis = T.unsafe(nil), range_end = T.unsafe(nil)); end +end + +# source://parser//lib/parser/diagnostic/engine.rb#36 +class Parser::Diagnostic::Engine + # source://parser//lib/parser/diagnostic/engine.rb#45 + def initialize(consumer = T.unsafe(nil)); end + + # source://parser//lib/parser/diagnostic/engine.rb#39 + def all_errors_are_fatal; end + + # source://parser//lib/parser/diagnostic/engine.rb#39 + def all_errors_are_fatal=(_arg0); end + + # source://parser//lib/parser/diagnostic/engine.rb#37 + def consumer; end + + # source://parser//lib/parser/diagnostic/engine.rb#37 + def consumer=(_arg0); end + + # source://parser//lib/parser/diagnostic/engine.rb#40 + def ignore_warnings; end + + # source://parser//lib/parser/diagnostic/engine.rb#40 + def ignore_warnings=(_arg0); end + + # source://parser//lib/parser/diagnostic/engine.rb#64 + def process(diagnostic); end + + protected + + # source://parser//lib/parser/diagnostic/engine.rb#86 + def ignore?(diagnostic); end + + # source://parser//lib/parser/diagnostic/engine.rb#97 + def raise?(diagnostic); end +end + +# Collection of the available diagnostic levels. +# +# @api public +# @return [Array] +# +# source://parser//lib/parser/diagnostic.rb#37 +Parser::Diagnostic::LEVELS = T.let(T.unsafe(nil), Array) + +# line 3 "lib/parser/lexer.rl" +# +# === BEFORE YOU START === +# +# Read the Ruby Hacking Guide chapter 11, available in English at +# http://whitequark.org/blog/2013/04/01/ruby-hacking-guide-ch-11-finite-state-lexer/ +# +# Remember two things about Ragel scanners: +# +# 1) Longest match wins. +# +# 2) If two matches have the same length, the first +# in source code wins. +# +# General rules of making Ragel and Bison happy: +# +# * `p` (position) and `@te` contain the index of the character +# they're pointing to ("current"), plus one. `@ts` contains the index +# of the corresponding character. The code for extracting matched token is: +# +# @source_buffer.slice(@ts...@te) +# +# * If your input is `foooooooobar` and the rule is: +# +# 'f' 'o'+ +# +# the result will be: +# +# foooooooobar +# ^ ts=0 ^ p=te=9 +# +# * A Ragel lexer action should not emit more than one token, unless +# you know what you are doing. +# +# * All Ragel commands (fnext, fgoto, ...) end with a semicolon. +# +# * If an action emits the token and transitions to another state, use +# these Ragel commands: +# +# emit($whatever) +# fnext $next_state; fbreak; +# +# If you perform `fgoto` in an action which does not emit a token nor +# rewinds the stream pointer, the parser's side-effectful, +# context-sensitive lookahead actions will break in a hard to detect +# and debug way. +# +# * If an action does not emit a token: +# +# fgoto $next_state; +# +# * If an action features lookbehind, i.e. matches characters with the +# intent of passing them to another action: +# +# p = @ts - 1 +# fgoto $next_state; +# +# or, if the lookbehind consists of a single character: +# +# fhold; fgoto $next_state; +# +# * Ragel merges actions. So, if you have `e_lparen = '(' %act` and +# `c_lparen = '('` and a lexer action `e_lparen | c_lparen`, the result +# _will_ invoke the action `act`. +# +# e_something stands for "something with **e**mbedded action". +# +# * EOF is explicit and is matched by `c_eof`. If you want to introspect +# the state of the lexer, add this rule to the state: +# +# c_eof => do_eof; +# +# * If you proceed past EOF, the lexer will complain: +# +# NoMethodError: undefined method `ord' for nil:NilClass +# +# source://parser//lib/parser/lexer-F1.rb#82 +class Parser::Lexer + # @return [Lexer] a new instance of Lexer + # + # source://parser//lib/parser/lexer-F1.rb#8250 + def initialize(version); end + + # Return next token: [type, value]. + # + # source://parser//lib/parser/lexer-F1.rb#8410 + def advance; end + + # Returns the value of attribute cmdarg. + # + # source://parser//lib/parser/lexer-F1.rb#8244 + def cmdarg; end + + # Sets the attribute cmdarg + # + # @param value the value to set the attribute cmdarg to. + # + # source://parser//lib/parser/lexer-F1.rb#8244 + def cmdarg=(_arg0); end + + # Returns the value of attribute cmdarg_stack. + # + # source://parser//lib/parser/lexer-F1.rb#8248 + def cmdarg_stack; end + + # Returns the value of attribute command_start. + # + # source://parser//lib/parser/lexer-F1.rb#8244 + def command_start; end + + # Sets the attribute command_start + # + # @param value the value to set the attribute command_start to. + # + # source://parser//lib/parser/lexer-F1.rb#8244 + def command_start=(_arg0); end + + # Returns the value of attribute comments. + # + # source://parser//lib/parser/lexer-F1.rb#8246 + def comments; end + + # Sets the attribute comments + # + # @param value the value to set the attribute comments to. + # + # source://parser//lib/parser/lexer-F1.rb#8246 + def comments=(_arg0); end + + # Returns the value of attribute cond. + # + # source://parser//lib/parser/lexer-F1.rb#8244 + def cond; end + + # Sets the attribute cond + # + # @param value the value to set the attribute cond to. + # + # source://parser//lib/parser/lexer-F1.rb#8244 + def cond=(_arg0); end + + # Returns the value of attribute cond_stack. + # + # source://parser//lib/parser/lexer-F1.rb#8248 + def cond_stack; end + + # Returns the value of attribute context. + # + # source://parser//lib/parser/lexer-F1.rb#8244 + def context; end + + # Sets the attribute context + # + # @param value the value to set the attribute context to. + # + # source://parser//lib/parser/lexer-F1.rb#8244 + def context=(_arg0); end + + # source://parser//lib/parser/lexer-F1.rb#8405 + def dedent_level; end + + # Returns the value of attribute diagnostics. + # + # source://parser//lib/parser/lexer-F1.rb#8240 + def diagnostics; end + + # Sets the attribute diagnostics + # + # @param value the value to set the attribute diagnostics to. + # + # source://parser//lib/parser/lexer-F1.rb#8240 + def diagnostics=(_arg0); end + + # source://parser//lib/parser/lexer-F1.rb#8358 + def encoding; end + + # Returns the value of attribute force_utf32. + # + # source://parser//lib/parser/lexer-F1.rb#8242 + def force_utf32; end + + # Sets the attribute force_utf32 + # + # @param value the value to set the attribute force_utf32 to. + # + # source://parser//lib/parser/lexer-F1.rb#8242 + def force_utf32=(_arg0); end + + # Returns the value of attribute lambda_stack. + # + # source://parser//lib/parser/lexer-F1.rb#8248 + def lambda_stack; end + + # Returns the value of attribute paren_nest. + # + # source://parser//lib/parser/lexer-F1.rb#8248 + def paren_nest; end + + # source://parser//lib/parser/lexer-F1.rb#8392 + def pop_cmdarg; end + + # source://parser//lib/parser/lexer-F1.rb#8401 + def pop_cond; end + + # source://parser//lib/parser/lexer-F1.rb#8387 + def push_cmdarg; end + + # source://parser//lib/parser/lexer-F1.rb#8396 + def push_cond; end + + # source://parser//lib/parser/lexer-F1.rb#8281 + def reset(reset_state = T.unsafe(nil)); end + + # % + # + # source://parser//lib/parser/lexer-F1.rb#8238 + def source_buffer; end + + # source://parser//lib/parser/lexer-F1.rb#8334 + def source_buffer=(source_buffer); end + + # source://parser//lib/parser/lexer-F1.rb#8379 + def state; end + + # source://parser//lib/parser/lexer-F1.rb#8383 + def state=(state); end + + # Returns the value of attribute static_env. + # + # source://parser//lib/parser/lexer-F1.rb#8241 + def static_env; end + + # Sets the attribute static_env + # + # @param value the value to set the attribute static_env to. + # + # source://parser//lib/parser/lexer-F1.rb#8241 + def static_env=(_arg0); end + + # Returns the value of attribute tokens. + # + # source://parser//lib/parser/lexer-F1.rb#8246 + def tokens; end + + # Sets the attribute tokens + # + # @param value the value to set the attribute tokens to. + # + # source://parser//lib/parser/lexer-F1.rb#8246 + def tokens=(_arg0); end + + # Returns the value of attribute version. + # + # source://parser//lib/parser/lexer-F1.rb#8248 + def version; end + + protected + + # source://parser//lib/parser/lexer-F1.rb#14692 + def arg_or_cmdarg(cmd_state); end + + # source://parser//lib/parser/lexer-F1.rb#14754 + def check_ambiguous_slash(tm); end + + # 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#14722 + def e_lbrace; end + + # 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#14775 + def emit_class_var(ts = T.unsafe(nil), te = T.unsafe(nil)); end + + # 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#14700 + def emit_comment(s = T.unsafe(nil), e = T.unsafe(nil)); end + + # source://parser//lib/parser/lexer-F1.rb#14712 + def emit_comment_from_range(p, pe); end + + # source://parser//lib/parser/lexer-F1.rb#14682 + def emit_do(do_block = T.unsafe(nil)); end + + # 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#14783 + def emit_instance_var(ts = T.unsafe(nil), te = T.unsafe(nil)); end + + # source://parser//lib/parser/lexer-F1.rb#14791 + def emit_rbrace_rparen_rbrack; end + + # source://parser//lib/parser/lexer-F1.rb#14813 + def emit_singleton_class; end + + # 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#14731 + def numeric_literal_int; end + + # source://parser//lib/parser/lexer-F1.rb#14750 + def on_newline(p); end + + # 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#14653 + def stack_pop; end + + # 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#14649 + def version?(*versions); end + + class << self + # Returns the value of attribute lex_en_expr_arg. + # + # source://parser//lib/parser/lexer-F1.rb#8186 + def lex_en_expr_arg; end + + # Sets the attribute lex_en_expr_arg + # + # @param value the value to set the attribute lex_en_expr_arg to. + # + # source://parser//lib/parser/lexer-F1.rb#8186 + def lex_en_expr_arg=(_arg0); end + + # Returns the value of attribute lex_en_expr_beg. + # + # source://parser//lib/parser/lexer-F1.rb#8202 + def lex_en_expr_beg; end + + # Sets the attribute lex_en_expr_beg + # + # @param value the value to set the attribute lex_en_expr_beg to. + # + # source://parser//lib/parser/lexer-F1.rb#8202 + def lex_en_expr_beg=(_arg0); end + + # Returns the value of attribute lex_en_expr_cmdarg. + # + # source://parser//lib/parser/lexer-F1.rb#8190 + def lex_en_expr_cmdarg; end + + # Sets the attribute lex_en_expr_cmdarg + # + # @param value the value to set the attribute lex_en_expr_cmdarg to. + # + # source://parser//lib/parser/lexer-F1.rb#8190 + def lex_en_expr_cmdarg=(_arg0); end + + # Returns the value of attribute lex_en_expr_dot. + # + # source://parser//lib/parser/lexer-F1.rb#8182 + def lex_en_expr_dot; end + + # Sets the attribute lex_en_expr_dot + # + # @param value the value to set the attribute lex_en_expr_dot to. + # + # source://parser//lib/parser/lexer-F1.rb#8182 + def lex_en_expr_dot=(_arg0); end + + # Returns the value of attribute lex_en_expr_end. + # + # source://parser//lib/parser/lexer-F1.rb#8214 + def lex_en_expr_end; end + + # Sets the attribute lex_en_expr_end + # + # @param value the value to set the attribute lex_en_expr_end to. + # + # source://parser//lib/parser/lexer-F1.rb#8214 + def lex_en_expr_end=(_arg0); end + + # Returns the value of attribute lex_en_expr_endarg. + # + # source://parser//lib/parser/lexer-F1.rb#8194 + def lex_en_expr_endarg; end + + # Sets the attribute lex_en_expr_endarg + # + # @param value the value to set the attribute lex_en_expr_endarg to. + # + # source://parser//lib/parser/lexer-F1.rb#8194 + def lex_en_expr_endarg=(_arg0); end + + # Returns the value of attribute lex_en_expr_endfn. + # + # source://parser//lib/parser/lexer-F1.rb#8178 + def lex_en_expr_endfn; end + + # Sets the attribute lex_en_expr_endfn + # + # @param value the value to set the attribute lex_en_expr_endfn to. + # + # source://parser//lib/parser/lexer-F1.rb#8178 + def lex_en_expr_endfn=(_arg0); end + + # Returns the value of attribute lex_en_expr_fname. + # + # source://parser//lib/parser/lexer-F1.rb#8174 + def lex_en_expr_fname; end + + # Sets the attribute lex_en_expr_fname + # + # @param value the value to set the attribute lex_en_expr_fname to. + # + # source://parser//lib/parser/lexer-F1.rb#8174 + def lex_en_expr_fname=(_arg0); end + + # Returns the value of attribute lex_en_expr_labelarg. + # + # source://parser//lib/parser/lexer-F1.rb#8206 + def lex_en_expr_labelarg; end + + # Sets the attribute lex_en_expr_labelarg + # + # @param value the value to set the attribute lex_en_expr_labelarg to. + # + # source://parser//lib/parser/lexer-F1.rb#8206 + def lex_en_expr_labelarg=(_arg0); end + + # Returns the value of attribute lex_en_expr_mid. + # + # source://parser//lib/parser/lexer-F1.rb#8198 + def lex_en_expr_mid; end + + # Sets the attribute lex_en_expr_mid + # + # @param value the value to set the attribute lex_en_expr_mid to. + # + # source://parser//lib/parser/lexer-F1.rb#8198 + def lex_en_expr_mid=(_arg0); end + + # Returns the value of attribute lex_en_expr_value. + # + # source://parser//lib/parser/lexer-F1.rb#8210 + def lex_en_expr_value; end + + # Sets the attribute lex_en_expr_value + # + # @param value the value to set the attribute lex_en_expr_value to. + # + # source://parser//lib/parser/lexer-F1.rb#8210 + def lex_en_expr_value=(_arg0); end + + # Returns the value of attribute lex_en_expr_variable. + # + # source://parser//lib/parser/lexer-F1.rb#8170 + def lex_en_expr_variable; end + + # Sets the attribute lex_en_expr_variable + # + # @param value the value to set the attribute lex_en_expr_variable to. + # + # source://parser//lib/parser/lexer-F1.rb#8170 + def lex_en_expr_variable=(_arg0); end + + # Returns the value of attribute lex_en_inside_string. + # + # source://parser//lib/parser/lexer-F1.rb#8230 + def lex_en_inside_string; end + + # Sets the attribute lex_en_inside_string + # + # @param value the value to set the attribute lex_en_inside_string to. + # + # source://parser//lib/parser/lexer-F1.rb#8230 + def lex_en_inside_string=(_arg0); end + + # Returns the value of attribute lex_en_leading_dot. + # + # source://parser//lib/parser/lexer-F1.rb#8218 + def lex_en_leading_dot; end + + # Sets the attribute lex_en_leading_dot + # + # @param value the value to set the attribute lex_en_leading_dot to. + # + # source://parser//lib/parser/lexer-F1.rb#8218 + def lex_en_leading_dot=(_arg0); end + + # Returns the value of attribute lex_en_line_begin. + # + # source://parser//lib/parser/lexer-F1.rb#8226 + def lex_en_line_begin; end + + # Sets the attribute lex_en_line_begin + # + # @param value the value to set the attribute lex_en_line_begin to. + # + # source://parser//lib/parser/lexer-F1.rb#8226 + def lex_en_line_begin=(_arg0); end + + # Returns the value of attribute lex_en_line_comment. + # + # source://parser//lib/parser/lexer-F1.rb#8222 + def lex_en_line_comment; end + + # Sets the attribute lex_en_line_comment + # + # @param value the value to set the attribute lex_en_line_comment to. + # + # source://parser//lib/parser/lexer-F1.rb#8222 + def lex_en_line_comment=(_arg0); end + + # Returns the value of attribute lex_error. + # + # source://parser//lib/parser/lexer-F1.rb#8165 + def lex_error; end + + # Sets the attribute lex_error + # + # @param value the value to set the attribute lex_error to. + # + # source://parser//lib/parser/lexer-F1.rb#8165 + def lex_error=(_arg0); end + + # Returns the value of attribute lex_start. + # + # source://parser//lib/parser/lexer-F1.rb#8161 + def lex_start; end + + # Sets the attribute lex_start + # + # @param value the value to set the attribute lex_start to. + # + # source://parser//lib/parser/lexer-F1.rb#8161 + def lex_start=(_arg0); end + + private + + # Returns the value of attribute _lex_eof_trans. + # + # source://parser//lib/parser/lexer-F1.rb#8064 + def _lex_eof_trans; end + + # Sets the attribute _lex_eof_trans + # + # @param value the value to set the attribute _lex_eof_trans to. + # + # source://parser//lib/parser/lexer-F1.rb#8064 + def _lex_eof_trans=(_arg0); end + + # Returns the value of attribute _lex_from_state_actions. + # + # source://parser//lib/parser/lexer-F1.rb#7967 + def _lex_from_state_actions; end + + # Sets the attribute _lex_from_state_actions + # + # @param value the value to set the attribute _lex_from_state_actions to. + # + # source://parser//lib/parser/lexer-F1.rb#7967 + def _lex_from_state_actions=(_arg0); end + + # Returns the value of attribute _lex_index_offsets. + # + # source://parser//lib/parser/lexer-F1.rb#461 + def _lex_index_offsets; end + + # Sets the attribute _lex_index_offsets + # + # @param value the value to set the attribute _lex_index_offsets to. + # + # source://parser//lib/parser/lexer-F1.rb#461 + def _lex_index_offsets=(_arg0); end + + # Returns the value of attribute _lex_indicies. + # + # source://parser//lib/parser/lexer-F1.rb#558 + def _lex_indicies; end + + # Sets the attribute _lex_indicies + # + # @param value the value to set the attribute _lex_indicies to. + # + # source://parser//lib/parser/lexer-F1.rb#558 + def _lex_indicies=(_arg0); end + + # Returns the value of attribute _lex_key_spans. + # + # source://parser//lib/parser/lexer-F1.rb#364 + def _lex_key_spans; end + + # Sets the attribute _lex_key_spans + # + # @param value the value to set the attribute _lex_key_spans to. + # + # source://parser//lib/parser/lexer-F1.rb#364 + def _lex_key_spans=(_arg0); end + + # Returns the value of attribute _lex_to_state_actions. + # + # source://parser//lib/parser/lexer-F1.rb#7870 + def _lex_to_state_actions; end + + # Sets the attribute _lex_to_state_actions + # + # @param value the value to set the attribute _lex_to_state_actions to. + # + # source://parser//lib/parser/lexer-F1.rb#7870 + def _lex_to_state_actions=(_arg0); end + + # Returns the value of attribute _lex_trans_actions. + # + # source://parser//lib/parser/lexer-F1.rb#7722 + def _lex_trans_actions; end + + # Sets the attribute _lex_trans_actions + # + # @param value the value to set the attribute _lex_trans_actions to. + # + # source://parser//lib/parser/lexer-F1.rb#7722 + def _lex_trans_actions=(_arg0); end + + # Returns the value of attribute _lex_trans_keys. + # + # source://parser//lib/parser/lexer-F1.rb#87 + def _lex_trans_keys; end + + # Sets the attribute _lex_trans_keys + # + # @param value the value to set the attribute _lex_trans_keys to. + # + # source://parser//lib/parser/lexer-F1.rb#87 + def _lex_trans_keys=(_arg0); end + + # Returns the value of attribute _lex_trans_targs. + # + # source://parser//lib/parser/lexer-F1.rb#7574 + def _lex_trans_targs; end + + # Sets the attribute _lex_trans_targs + # + # @param value the value to set the attribute _lex_trans_targs to. + # + # source://parser//lib/parser/lexer-F1.rb#7574 + def _lex_trans_targs=(_arg0); end + end +end + +# source://parser//lib/parser/lexer/dedenter.rb#5 +class Parser::Lexer::Dedenter + # source://parser//lib/parser/lexer/dedenter.rb#9 + def initialize(dedent_level); end + + # source://parser//lib/parser/lexer/dedenter.rb#36 + def dedent(string); end + + # source://parser//lib/parser/lexer/dedenter.rb#83 + def interrupt; end +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#14860 +Parser::Lexer::ESCAPE_WHITESPACE = T.let(T.unsafe(nil), Hash) + +# source://parser//lib/parser/lexer-F1.rb#14846 +Parser::Lexer::KEYWORDS = T.let(T.unsafe(nil), Hash) + +# 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 +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#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#116 + def backslash_delimited?; end + + # source://parser//lib/parser/lexer/literal.rb#39 + def dedent_level; end + + # source://parser//lib/parser/lexer/literal.rb#191 + def end_interp_brace_and_try_closing; end + + # source://parser//lib/parser/lexer/literal.rb#218 + def extend_content; end + + # source://parser//lib/parser/lexer/literal.rb#222 + def extend_space(ts, te); end + + # source://parser//lib/parser/lexer/literal.rb#197 + def extend_string(string, ts, te); end + + # source://parser//lib/parser/lexer/literal.rb#204 + def flush_string; end + + # source://parser//lib/parser/lexer/literal.rb#104 + def heredoc?; end + + # source://parser//lib/parser/lexer/literal.rb#39 + def heredoc_e; end + + # source://parser//lib/parser/lexer/literal.rb#168 + def infer_indent_level(line); end + + # source://parser//lib/parser/lexer/literal.rb#91 + def interpolate?; end + + # source://parser//lib/parser/lexer/literal.rb#124 + def munge_escape?(character); end + + # 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#108 + def plain_heredoc?; end + + # source://parser//lib/parser/lexer/literal.rb#100 + def regexp?; end + + # source://parser//lib/parser/lexer/literal.rb#40 + def saved_herebody_s; end + + # source://parser//lib/parser/lexer/literal.rb#40 + def saved_herebody_s=(_arg0); end + + # source://parser//lib/parser/lexer/literal.rb#112 + def squiggly_heredoc?; end + + # source://parser//lib/parser/lexer/literal.rb#187 + def start_interp_brace; end + + # source://parser//lib/parser/lexer/literal.rb#39 + def str_s; end + + # source://parser//lib/parser/lexer/literal.rb#232 + def supports_line_continuation_via_slash?; end + + # source://parser//lib/parser/lexer/literal.rb#120 + def type; end + + # source://parser//lib/parser/lexer/literal.rb#95 + def words?; end + + protected + + # source://parser//lib/parser/lexer/literal.rb#263 + def clear_buffer; end + + # source://parser//lib/parser/lexer/literal.rb#259 + def coerce_encoding(string); end + + # source://parser//lib/parser/lexer/literal.rb#238 + def delimiter?(delimiter); end + + # source://parser//lib/parser/lexer/literal.rb#279 + def emit(token, type, s, e); end + + # 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#14820 +Parser::Lexer::PUNCTUATION = T.let(T.unsafe(nil), Hash) + +# 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 +class Parser::Lexer::StackState + # source://parser//lib/parser/lexer/stack_state.rb#6 + def initialize(name); end + + # source://parser//lib/parser/lexer/stack_state.rb#34 + def active?; end + + # source://parser//lib/parser/lexer/stack_state.rb#11 + def clear; end + + # source://parser//lib/parser/lexer/stack_state.rb#38 + def empty?; end + + # source://parser//lib/parser/lexer/stack_state.rb#42 + def inspect; end + + # source://parser//lib/parser/lexer/stack_state.rb#29 + def lexpop; end + + # source://parser//lib/parser/lexer/stack_state.rb#22 + def pop; end + + # source://parser//lib/parser/lexer/stack_state.rb#15 + def push(bit); end + + # source://parser//lib/parser/lexer/stack_state.rb#42 + def to_s; end +end + +# line 3 "lib/parser/lexer-strings.rl" +# +# source://parser//lib/parser/lexer-strings.rb#6 +class Parser::LexerStrings + # @return [LexerStrings] a new instance of LexerStrings + # + # source://parser//lib/parser/lexer-strings.rb#3300 + def initialize(lexer, version); end + + # source://parser//lib/parser/lexer-strings.rb#3339 + def advance(p); end + + # source://parser//lib/parser/lexer-strings.rb#5069 + def close_interp_on_current_literal(p); end + + # source://parser//lib/parser/lexer-strings.rb#5043 + def continue_lexing(current_literal); end + + # source://parser//lib/parser/lexer-strings.rb#5092 + def dedent_level; end + + # Returns the value of attribute herebody_s. + # + # source://parser//lib/parser/lexer-strings.rb#3295 + def herebody_s; end + + # Sets the attribute herebody_s + # + # @param value the value to set the attribute herebody_s to. + # + # source://parser//lib/parser/lexer-strings.rb#3295 + def herebody_s=(_arg0); end + + # source://parser//lib/parser/lexer-strings.rb#5047 + def literal; end + + # source://parser//lib/parser/lexer-strings.rb#5015 + def next_state_for_literal(literal); end + + # This hook is triggered by "main" lexer on every newline character + # + # source://parser//lib/parser/lexer-strings.rb#5100 + def on_newline(p); end + + # source://parser//lib/parser/lexer-strings.rb#5051 + def pop_literal; end + + # === LITERAL STACK === + # + # source://parser//lib/parser/lexer-strings.rb#5009 + def push_literal(*args); end + + # source://parser//lib/parser/lexer-strings.rb#4999 + def read_character_constant(p); end + + # source://parser//lib/parser/lexer-strings.rb#3314 + def reset; end + + # Set by "main" lexer + # + # source://parser//lib/parser/lexer-strings.rb#3298 + def source_buffer; end + + # Set by "main" lexer + # + # source://parser//lib/parser/lexer-strings.rb#3298 + def source_buffer=(_arg0); end + + # Set by "main" lexer + # + # source://parser//lib/parser/lexer-strings.rb#3298 + def source_pts; end + + # Set by "main" lexer + # + # source://parser//lib/parser/lexer-strings.rb#3298 + def source_pts=(_arg0); end + + protected + + # source://parser//lib/parser/lexer-strings.rb#5397 + def check_ambiguous_slash(tm); end + + # source://parser//lib/parser/lexer-strings.rb#5408 + def check_invalid_escapes(p); end + + # source://parser//lib/parser/lexer-strings.rb#5136 + def cond; end + + # source://parser//lib/parser/lexer-strings.rb#5132 + def diagnostic(type, reason, arguments = T.unsafe(nil), location = T.unsafe(nil), highlights = T.unsafe(nil)); end + + # source://parser//lib/parser/lexer-strings.rb#5128 + def emit(type, value = T.unsafe(nil), s = T.unsafe(nil), e = T.unsafe(nil)); end + + # source://parser//lib/parser/lexer-strings.rb#5387 + def emit_character_constant; end + + # source://parser//lib/parser/lexer-strings.rb#5364 + def emit_interp_var(interp_var_kind); end + + # @return [Boolean] + # + # source://parser//lib/parser/lexer-strings.rb#5140 + def emit_invalid_escapes?; end + + # source://parser//lib/parser/lexer-strings.rb#5291 + def encode_escape(ord); end + + # source://parser//lib/parser/lexer-strings.rb#5375 + def encode_escaped_char(p); end + + # @return [Boolean] + # + # source://parser//lib/parser/lexer-strings.rb#5112 + def eof_codepoint?(point); end + + # source://parser//lib/parser/lexer-strings.rb#5210 + def extend_interp_code(current_literal); end + + # source://parser//lib/parser/lexer-strings.rb#5225 + def extend_interp_digit_var; end + + # source://parser//lib/parser/lexer-strings.rb#5355 + def extend_interp_var(current_literal); end + + # source://parser//lib/parser/lexer-strings.rb#5234 + def extend_string_eol_check_eof(current_literal, pe); end + + # source://parser//lib/parser/lexer-strings.rb#5251 + def extend_string_eol_heredoc_intertwined(p); end + + # source://parser//lib/parser/lexer-strings.rb#5241 + def extend_string_eol_heredoc_line; end + + # source://parser//lib/parser/lexer-strings.rb#5267 + def extend_string_eol_words(current_literal, p); end + + # String escaping + # + # source://parser//lib/parser/lexer-strings.rb#5154 + def extend_string_escaped; end + + # source://parser//lib/parser/lexer-strings.rb#5287 + def extend_string_for_token_range(current_literal, string); end + + # source://parser//lib/parser/lexer-strings.rb#5279 + def extend_string_slice_end(lookahead); end + + # source://parser//lib/parser/lexer-strings.rb#5124 + def range(s = T.unsafe(nil), e = T.unsafe(nil)); end + + # source://parser//lib/parser/lexer-strings.rb#5347 + def read_post_meta_or_ctrl_char(p); end + + # source://parser//lib/parser/lexer-strings.rb#5379 + def slash_c_char; end + + # source://parser//lib/parser/lexer-strings.rb#5383 + def slash_m_char; end + + # source://parser//lib/parser/lexer-strings.rb#5120 + def tok(s = T.unsafe(nil), e = T.unsafe(nil)); end + + # source://parser//lib/parser/lexer-strings.rb#5295 + def unescape_char(p); end + + # source://parser//lib/parser/lexer-strings.rb#5307 + def unicode_points(p); end + + # @return [Boolean] + # + # source://parser//lib/parser/lexer-strings.rb#5116 + def version?(*versions); end + + class << self + # Returns the value of attribute lex_en_character. + # + # source://parser//lib/parser/lexer-strings.rb#3275 + def lex_en_character; end + + # Sets the attribute lex_en_character + # + # @param value the value to set the attribute lex_en_character to. + # + # source://parser//lib/parser/lexer-strings.rb#3275 + def lex_en_character=(_arg0); end + + # Returns the value of attribute lex_en_interp_backslash_delimited. + # + # source://parser//lib/parser/lexer-strings.rb#3255 + def lex_en_interp_backslash_delimited; end + + # Sets the attribute lex_en_interp_backslash_delimited + # + # @param value the value to set the attribute lex_en_interp_backslash_delimited to. + # + # source://parser//lib/parser/lexer-strings.rb#3255 + def lex_en_interp_backslash_delimited=(_arg0); end + + # Returns the value of attribute lex_en_interp_backslash_delimited_words. + # + # source://parser//lib/parser/lexer-strings.rb#3263 + def lex_en_interp_backslash_delimited_words; end + + # Sets the attribute lex_en_interp_backslash_delimited_words + # + # @param value the value to set the attribute lex_en_interp_backslash_delimited_words to. + # + # source://parser//lib/parser/lexer-strings.rb#3263 + def lex_en_interp_backslash_delimited_words=(_arg0); end + + # Returns the value of attribute lex_en_interp_string. + # + # source://parser//lib/parser/lexer-strings.rb#3243 + def lex_en_interp_string; end + + # Sets the attribute lex_en_interp_string + # + # @param value the value to set the attribute lex_en_interp_string to. + # + # source://parser//lib/parser/lexer-strings.rb#3243 + def lex_en_interp_string=(_arg0); end + + # Returns the value of attribute lex_en_interp_words. + # + # source://parser//lib/parser/lexer-strings.rb#3239 + def lex_en_interp_words; end + + # Sets the attribute lex_en_interp_words + # + # @param value the value to set the attribute lex_en_interp_words to. + # + # source://parser//lib/parser/lexer-strings.rb#3239 + def lex_en_interp_words=(_arg0); end + + # Returns the value of attribute lex_en_plain_backslash_delimited. + # + # source://parser//lib/parser/lexer-strings.rb#3259 + def lex_en_plain_backslash_delimited; end + + # Sets the attribute lex_en_plain_backslash_delimited + # + # @param value the value to set the attribute lex_en_plain_backslash_delimited to. + # + # source://parser//lib/parser/lexer-strings.rb#3259 + def lex_en_plain_backslash_delimited=(_arg0); end + + # Returns the value of attribute lex_en_plain_backslash_delimited_words. + # + # source://parser//lib/parser/lexer-strings.rb#3267 + def lex_en_plain_backslash_delimited_words; end + + # Sets the attribute lex_en_plain_backslash_delimited_words + # + # @param value the value to set the attribute lex_en_plain_backslash_delimited_words to. + # + # source://parser//lib/parser/lexer-strings.rb#3267 + def lex_en_plain_backslash_delimited_words=(_arg0); end + + # Returns the value of attribute lex_en_plain_string. + # + # source://parser//lib/parser/lexer-strings.rb#3251 + def lex_en_plain_string; end + + # Sets the attribute lex_en_plain_string + # + # @param value the value to set the attribute lex_en_plain_string to. + # + # source://parser//lib/parser/lexer-strings.rb#3251 + def lex_en_plain_string=(_arg0); end + + # Returns the value of attribute lex_en_plain_words. + # + # source://parser//lib/parser/lexer-strings.rb#3247 + def lex_en_plain_words; end + + # Sets the attribute lex_en_plain_words + # + # @param value the value to set the attribute lex_en_plain_words to. + # + # source://parser//lib/parser/lexer-strings.rb#3247 + def lex_en_plain_words=(_arg0); end + + # Returns the value of attribute lex_en_regexp_modifiers. + # + # source://parser//lib/parser/lexer-strings.rb#3271 + def lex_en_regexp_modifiers; end + + # Sets the attribute lex_en_regexp_modifiers + # + # @param value the value to set the attribute lex_en_regexp_modifiers to. + # + # source://parser//lib/parser/lexer-strings.rb#3271 + def lex_en_regexp_modifiers=(_arg0); end + + # Returns the value of attribute lex_en_unknown. + # + # source://parser//lib/parser/lexer-strings.rb#3279 + def lex_en_unknown; end + + # Sets the attribute lex_en_unknown + # + # @param value the value to set the attribute lex_en_unknown to. + # + # source://parser//lib/parser/lexer-strings.rb#3279 + def lex_en_unknown=(_arg0); end + + # Returns the value of attribute lex_error. + # + # source://parser//lib/parser/lexer-strings.rb#3234 + def lex_error; end + + # Sets the attribute lex_error + # + # @param value the value to set the attribute lex_error to. + # + # source://parser//lib/parser/lexer-strings.rb#3234 + def lex_error=(_arg0); end + + # Returns the value of attribute lex_start. + # + # source://parser//lib/parser/lexer-strings.rb#3230 + def lex_start; end + + # Sets the attribute lex_start + # + # @param value the value to set the attribute lex_start to. + # + # source://parser//lib/parser/lexer-strings.rb#3230 + def lex_start=(_arg0); end + + private + + # Returns the value of attribute _lex_actions. + # + # source://parser//lib/parser/lexer-strings.rb#11 + def _lex_actions; end + + # Sets the attribute _lex_actions + # + # @param value the value to set the attribute _lex_actions to. + # + # source://parser//lib/parser/lexer-strings.rb#11 + def _lex_actions=(_arg0); end + + # Returns the value of attribute _lex_eof_trans. + # + # source://parser//lib/parser/lexer-strings.rb#3184 + def _lex_eof_trans; end + + # Sets the attribute _lex_eof_trans + # + # @param value the value to set the attribute _lex_eof_trans to. + # + # source://parser//lib/parser/lexer-strings.rb#3184 + def _lex_eof_trans=(_arg0); end + + # Returns the value of attribute _lex_from_state_actions. + # + # source://parser//lib/parser/lexer-strings.rb#3138 + def _lex_from_state_actions; end + + # Sets the attribute _lex_from_state_actions + # + # @param value the value to set the attribute _lex_from_state_actions to. + # + # source://parser//lib/parser/lexer-strings.rb#3138 + def _lex_from_state_actions=(_arg0); end + + # Returns the value of attribute _lex_index_offsets. + # + # source://parser//lib/parser/lexer-strings.rb#244 + def _lex_index_offsets; end + + # Sets the attribute _lex_index_offsets + # + # @param value the value to set the attribute _lex_index_offsets to. + # + # source://parser//lib/parser/lexer-strings.rb#244 + def _lex_index_offsets=(_arg0); end + + # Returns the value of attribute _lex_indicies. + # + # source://parser//lib/parser/lexer-strings.rb#290 + def _lex_indicies; end + + # Sets the attribute _lex_indicies + # + # @param value the value to set the attribute _lex_indicies to. + # + # source://parser//lib/parser/lexer-strings.rb#290 + def _lex_indicies=(_arg0); end + + # Returns the value of attribute _lex_key_spans. + # + # source://parser//lib/parser/lexer-strings.rb#198 + def _lex_key_spans; end + + # Sets the attribute _lex_key_spans + # + # @param value the value to set the attribute _lex_key_spans to. + # + # source://parser//lib/parser/lexer-strings.rb#198 + def _lex_key_spans=(_arg0); end + + # Returns the value of attribute _lex_to_state_actions. + # + # source://parser//lib/parser/lexer-strings.rb#3092 + def _lex_to_state_actions; end + + # Sets the attribute _lex_to_state_actions + # + # @param value the value to set the attribute _lex_to_state_actions to. + # + # source://parser//lib/parser/lexer-strings.rb#3092 + def _lex_to_state_actions=(_arg0); end + + # Returns the value of attribute _lex_trans_actions. + # + # source://parser//lib/parser/lexer-strings.rb#3029 + def _lex_trans_actions; end + + # Sets the attribute _lex_trans_actions + # + # @param value the value to set the attribute _lex_trans_actions to. + # + # source://parser//lib/parser/lexer-strings.rb#3029 + def _lex_trans_actions=(_arg0); end + + # Returns the value of attribute _lex_trans_keys. + # + # source://parser//lib/parser/lexer-strings.rb#76 + def _lex_trans_keys; end + + # Sets the attribute _lex_trans_keys + # + # @param value the value to set the attribute _lex_trans_keys to. + # + # source://parser//lib/parser/lexer-strings.rb#76 + def _lex_trans_keys=(_arg0); end + + # Returns the value of attribute _lex_trans_targs. + # + # source://parser//lib/parser/lexer-strings.rb#2966 + def _lex_trans_targs; end + + # Sets the attribute _lex_trans_targs + # + # @param value the value to set the attribute _lex_trans_targs to. + # + # source://parser//lib/parser/lexer-strings.rb#2966 + def _lex_trans_targs=(_arg0); end + end +end + +# % +# +# source://parser//lib/parser/lexer-strings.rb#3287 +Parser::LexerStrings::ESCAPES = T.let(T.unsafe(nil), Hash) + +# source://parser//lib/parser/lexer-strings.rb#5414 +Parser::LexerStrings::ESCAPE_WHITESPACE = T.let(T.unsafe(nil), Hash) + +# source://parser//lib/parser/lexer-strings.rb#3332 +Parser::LexerStrings::LEX_STATES = T.let(T.unsafe(nil), Hash) + +# source://parser//lib/parser/lexer-strings.rb#3293 +Parser::LexerStrings::REGEXP_META_CHARACTERS = T.let(T.unsafe(nil), Regexp) + +# Diagnostic messages (errors, warnings and notices) that can be generated. +# +# @api public +# @see Diagnostic +# +# source://parser//lib/parser/messages.rb#11 +Parser::MESSAGES = T.let(T.unsafe(nil), Hash) + +# Holds p->max_numparam from parse.y +# +# @api private +# +# source://parser//lib/parser/max_numparam_stack.rb#8 +class Parser::MaxNumparamStack + # @api private + # @return [MaxNumparamStack] a new instance of MaxNumparamStack + # + # source://parser//lib/parser/max_numparam_stack.rb#13 + def initialize; end + + # @api private + # @return [Boolean] + # + # source://parser//lib/parser/max_numparam_stack.rb#17 + def empty?; end + + # @api private + # @return [Boolean] + # + # source://parser//lib/parser/max_numparam_stack.rb#29 + def has_numparams?; end + + # @api private + # + # source://parser//lib/parser/max_numparam_stack.rb#21 + def has_ordinary_params!; end + + # @api private + # @return [Boolean] + # + # source://parser//lib/parser/max_numparam_stack.rb#25 + def has_ordinary_params?; end + + # @api private + # + # source://parser//lib/parser/max_numparam_stack.rb#45 + def pop; end + + # @api private + # + # source://parser//lib/parser/max_numparam_stack.rb#41 + def push(static:); end + + # @api private + # + # source://parser//lib/parser/max_numparam_stack.rb#33 + def register(numparam); end + + # @api private + # + # source://parser//lib/parser/max_numparam_stack.rb#9 + def stack; end + + # @api private + # + # source://parser//lib/parser/max_numparam_stack.rb#37 + def top; end + + private + + # @api private + # + # source://parser//lib/parser/max_numparam_stack.rb#51 + def set(value); end +end + +# @api private +# +# source://parser//lib/parser/max_numparam_stack.rb#11 +Parser::MaxNumparamStack::ORDINARY_PARAMS = T.let(T.unsafe(nil), Integer) + +# @api private +# +# 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 + # + # Code like `format("", {})` gives a warning, and so this method tries interpolating + # only if `arguments` hash is not empty. + # + # @api private + # + # source://parser//lib/parser/messages.rb#119 + def compile(reason, arguments); end + end +end + +# Parser metadata +# +# source://parser//lib/parser/meta.rb#5 +module Parser::Meta; end + +# All node types that parser can produce. Not all parser versions +# will be able to produce every possible node. +# +# source://parser//lib/parser/meta.rb#9 +Parser::Meta::NODE_TYPES = T.let(T.unsafe(nil), Set) + +# {Parser::Rewriter} is deprecated. Use {Parser::TreeRewriter} instead. +# It has a backwards compatible API and uses {Parser::Source::TreeRewriter} +# instead of {Parser::Source::Rewriter}. +# Please check the documentation for {Parser::Source::Rewriter} for details. +# +# @api public +# @deprecated Use {Parser::TreeRewriter} +# +# source://parser//lib/parser/rewriter.rb#14 +class Parser::Rewriter < ::Parser::AST::Processor + extend ::Parser::Deprecation + + # @api public + # @return [Rewriter] a new instance of Rewriter + # + # source://parser//lib/parser/rewriter.rb#98 + def initialize(*_arg0); end + + # Returns `true` if the specified node is an assignment node, returns false + # otherwise. + # + # @api public + # @param node [Parser::AST::Node] + # @return [Boolean] + # + # source://parser//lib/parser/rewriter.rb#38 + def assignment?(node); end + + # Inserts new code after the given source range. + # + # @api public + # @param range [Parser::Source::Range] + # @param content [String] + # + # source://parser//lib/parser/rewriter.rb#77 + def insert_after(range, content); end + + # Inserts new code before the given source range. + # + # @api public + # @param range [Parser::Source::Range] + # @param content [String] + # + # source://parser//lib/parser/rewriter.rb#67 + def insert_before(range, content); end + + # Removes the source range. + # + # @api public + # @param range [Parser::Source::Range] + # + # source://parser//lib/parser/rewriter.rb#47 + def remove(range); end + + # Replaces the code of the source range `range` with `content`. + # + # @api public + # @param range [Parser::Source::Range] + # @param content [String] + # + # source://parser//lib/parser/rewriter.rb#87 + def replace(range, content); end + + # Rewrites the AST/source buffer and returns a String containing the new + # version. + # + # @api public + # @param source_buffer [Parser::Source::Buffer] + # @param ast [Parser::AST::Node] + # @return [String] + # + # source://parser//lib/parser/rewriter.rb#23 + def rewrite(source_buffer, ast); end + + # Wraps the given source range with the given values. + # + # @api public + # @param range [Parser::Source::Range] + # @param content [String] + # + # source://parser//lib/parser/rewriter.rb#57 + def wrap(range, before, after); end +end + +# @api public +# +# source://parser//lib/parser/rewriter.rb#91 +Parser::Rewriter::DEPRECATION_WARNING = T.let(T.unsafe(nil), String) + +# source://parser//lib/parser/ruby33.rb#14 +class Parser::Ruby33 < ::Parser::Base + # reduce 0 omitted + # + # source://parser//lib/parser/ruby33.rb#8371 + def _reduce_1(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#8425 + def _reduce_10(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9024 + def _reduce_100(val, _values, result); end + + # reduce 101 omitted + # + # source://parser//lib/parser/ruby33.rb#9033 + def _reduce_102(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9039 + def _reduce_103(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9045 + def _reduce_104(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9051 + def _reduce_105(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9057 + def _reduce_106(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9063 + def _reduce_107(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9069 + def _reduce_108(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9075 + def _reduce_109(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#8431 + def _reduce_11(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9081 + def _reduce_110(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9091 + def _reduce_111(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9097 + def _reduce_112(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9107 + def _reduce_113(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9114 + def _reduce_114(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9121 + def _reduce_115(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9127 + def _reduce_116(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9133 + def _reduce_117(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9139 + def _reduce_118(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9145 + def _reduce_119(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#8448 + def _reduce_12(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9151 + def _reduce_120(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9157 + def _reduce_121(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9163 + def _reduce_122(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9170 + def _reduce_123(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9177 + def _reduce_124(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9183 + def _reduce_125(val, _values, result); end + + # reduce 126 omitted + # + # source://parser//lib/parser/ruby33.rb#9191 + def _reduce_127(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9197 + def _reduce_128(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9203 + def _reduce_129(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#8454 + def _reduce_13(val, _values, result); end + + # reduce 134 omitted + # + # source://parser//lib/parser/ruby33.rb#9219 + def _reduce_135(val, _values, result); end + + # reduce 136 omitted + # + # source://parser//lib/parser/ruby33.rb#9227 + def _reduce_137(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9233 + def _reduce_138(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9239 + def _reduce_139(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#8460 + def _reduce_14(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#8466 + def _reduce_15(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#8472 + def _reduce_16(val, _values, result); end + + # reduce 17 omitted + # + # source://parser//lib/parser/ruby33.rb#8480 + def _reduce_18(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#8486 + def _reduce_19(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#8378 + def _reduce_2(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#8492 + def _reduce_20(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#8498 + def _reduce_21(val, _values, result); end + + # reduce 210 omitted + # + # source://parser//lib/parser/ruby33.rb#9387 + def _reduce_211(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9393 + def _reduce_212(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9399 + def _reduce_213(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9408 + def _reduce_214(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9417 + def _reduce_215(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9426 + def _reduce_216(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9435 + def _reduce_217(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9443 + def _reduce_218(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9451 + def _reduce_219(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#8506 + def _reduce_22(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9457 + def _reduce_220(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9463 + def _reduce_221(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9469 + def _reduce_222(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9475 + def _reduce_223(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9481 + def _reduce_224(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9487 + def _reduce_225(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9493 + def _reduce_226(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9499 + def _reduce_227(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9505 + def _reduce_228(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9511 + def _reduce_229(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#8514 + def _reduce_23(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9517 + def _reduce_230(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9523 + def _reduce_231(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9529 + def _reduce_232(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9537 + def _reduce_233(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9543 + def _reduce_234(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9549 + def _reduce_235(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9555 + def _reduce_236(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9561 + def _reduce_237(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9567 + def _reduce_238(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#8520 + def _reduce_24(val, _values, result); end + + # reduce 239 omitted + # + # source://parser//lib/parser/ruby33.rb#9575 + def _reduce_240(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9581 + def _reduce_241(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9587 + def _reduce_242(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9593 + def _reduce_243(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9599 + def _reduce_244(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9605 + def _reduce_245(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9611 + def _reduce_246(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9617 + def _reduce_247(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9623 + def _reduce_248(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9629 + def _reduce_249(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#8526 + def _reduce_25(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9635 + def _reduce_250(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9641 + def _reduce_251(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9648 + def _reduce_252(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9655 + def _reduce_253(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9669 + def _reduce_254(val, _values, result); end + + # reduce 256 omitted + # + # source://parser//lib/parser/ruby33.rb#9687 + def _reduce_257(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9697 + def _reduce_258(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#8533 + def _reduce_26(val, _values, result); end + + # reduce 262 omitted + # + # source://parser//lib/parser/ruby33.rb#9711 + def _reduce_263(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9717 + def _reduce_264(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9723 + def _reduce_265(val, _values, result); end + + # reduce 268 omitted + # + # source://parser//lib/parser/ruby33.rb#9735 + def _reduce_269(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#8540 + def _reduce_27(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9741 + def _reduce_270(val, _values, result); end + + # reduce 271 omitted + # + # source://parser//lib/parser/ruby33.rb#9749 + def _reduce_272(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9759 + def _reduce_273(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9765 + def _reduce_274(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9775 + def _reduce_275(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9785 + def _reduce_276(val, _values, result); end + + # reduce 277 omitted + # + # source://parser//lib/parser/ruby33.rb#9793 + def _reduce_278(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#8546 + def _reduce_28(val, _values, result); end + + # reduce 280 omitted + # + # source://parser//lib/parser/ruby33.rb#9803 + def _reduce_281(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9809 + def _reduce_282(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9815 + def _reduce_283(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9821 + def _reduce_284(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9827 + def _reduce_285(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9834 + def _reduce_286(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9842 + def _reduce_287(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9848 + def _reduce_288(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9875 + def _reduce_289(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#8552 + def _reduce_29(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9896 + def _reduce_290(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9902 + def _reduce_291(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9917 + def _reduce_292(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9923 + def _reduce_293(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9929 + def _reduce_294(val, _values, result); end + + # reduce 295 omitted + # + # source://parser//lib/parser/ruby33.rb#9937 + def _reduce_296(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9943 + def _reduce_297(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9949 + def _reduce_298(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9955 + def _reduce_299(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#8387 + def _reduce_3(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#8562 + def _reduce_30(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9970 + def _reduce_300(val, _values, result); end + + # reduce 301 omitted + # + # source://parser//lib/parser/ruby33.rb#9978 + def _reduce_302(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9984 + def _reduce_303(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9990 + def _reduce_304(val, _values, result); end + + # reduce 314 omitted + # + # source://parser//lib/parser/ruby33.rb#10016 + def _reduce_315(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10022 + def _reduce_316(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10028 + def _reduce_317(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10036 + def _reduce_318(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10042 + def _reduce_319(val, _values, result); end + + # reduce 31 omitted + # + # source://parser//lib/parser/ruby33.rb#8570 + def _reduce_32(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10048 + def _reduce_320(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10054 + def _reduce_321(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10060 + def _reduce_322(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10066 + def _reduce_323(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10072 + def _reduce_324(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10078 + def _reduce_325(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10084 + def _reduce_326(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10090 + def _reduce_327(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10096 + def _reduce_328(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10102 + def _reduce_329(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#8576 + def _reduce_33(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10110 + def _reduce_330(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10116 + def _reduce_331(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10122 + def _reduce_332(val, _values, result); end + + # reduce 333 omitted + # + # source://parser//lib/parser/ruby33.rb#10134 + def _reduce_334(val, _values, result); end + + # reduce 335 omitted + # + # source://parser//lib/parser/ruby33.rb#10144 + def _reduce_336(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10153 + def _reduce_337(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10162 + def _reduce_338(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10168 + def _reduce_339(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#8583 + def _reduce_34(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10174 + def _reduce_340(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10184 + def _reduce_341(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10194 + def _reduce_342(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10204 + def _reduce_343(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10210 + def _reduce_344(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10217 + def _reduce_345(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10233 + def _reduce_346(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10241 + def _reduce_347(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10253 + def _reduce_348(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10260 + def _reduce_349(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#8594 + def _reduce_35(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10274 + def _reduce_350(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10286 + def _reduce_351(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10298 + def _reduce_352(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10304 + def _reduce_353(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10310 + def _reduce_354(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10316 + def _reduce_355(val, _values, result); end + + # reduce 356 omitted + # + # source://parser//lib/parser/ruby33.rb#10324 + def _reduce_357(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10330 + def _reduce_358(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10336 + def _reduce_359(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10343 + def _reduce_360(val, _values, result); end + + # reduce 362 omitted + # + # source://parser//lib/parser/ruby33.rb#10355 + def _reduce_363(val, _values, result); end + + # reduce 366 omitted + # + # source://parser//lib/parser/ruby33.rb#10367 + def _reduce_367(val, _values, result); end + + # reduce 368 omitted + # + # source://parser//lib/parser/ruby33.rb#10380 + def _reduce_369(val, _values, result); end + + # reduce 36 omitted + # + # source://parser//lib/parser/ruby33.rb#8602 + def _reduce_37(val, _values, result); end + + # reduce 371 omitted + # + # source://parser//lib/parser/ruby33.rb#10390 + def _reduce_372(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10396 + def _reduce_373(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10402 + def _reduce_374(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10408 + def _reduce_375(val, _values, result); end + + # reduce 376 omitted + # + # source://parser//lib/parser/ruby33.rb#10416 + def _reduce_377(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10423 + def _reduce_378(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10431 + def _reduce_379(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#8608 + def _reduce_38(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10437 + def _reduce_380(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10443 + def _reduce_381(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10449 + def _reduce_382(val, _values, result); end + + # reduce 384 omitted + # + # source://parser//lib/parser/ruby33.rb#10459 + def _reduce_385(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10465 + def _reduce_386(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10471 + def _reduce_387(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10477 + def _reduce_388(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10483 + def _reduce_389(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#8614 + def _reduce_39(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10489 + def _reduce_390(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10495 + def _reduce_391(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10501 + def _reduce_392(val, _values, result); end + + # reduce 393 omitted + # + # source://parser//lib/parser/ruby33.rb#10509 + def _reduce_394(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10518 + def _reduce_395(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10528 + def _reduce_396(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10536 + def _reduce_397(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10545 + def _reduce_398(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#8393 + def _reduce_4(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#8623 + def _reduce_40(val, _values, result); end + + # reduce 399 omitted + # + # source://parser//lib/parser/ruby33.rb#10555 + def _reduce_400(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10564 + def _reduce_401(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10574 + def _reduce_402(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10582 + def _reduce_403(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10591 + def _reduce_404(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10598 + def _reduce_405(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10606 + def _reduce_406(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10613 + def _reduce_407(val, _values, result); end + + # reduce 408 omitted + # + # source://parser//lib/parser/ruby33.rb#10623 + def _reduce_409(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#8632 + def _reduce_41(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10629 + def _reduce_410(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10635 + def _reduce_411(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10644 + def _reduce_412(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10653 + def _reduce_413(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10659 + def _reduce_414(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10665 + def _reduce_415(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10671 + def _reduce_416(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10677 + def _reduce_417(val, _values, result); end + + # reduce 418 omitted + # + # source://parser//lib/parser/ruby33.rb#10686 + def _reduce_419(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#8641 + def _reduce_42(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10695 + def _reduce_420(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10701 + def _reduce_421(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10717 + def _reduce_422(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10725 + def _reduce_423(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10735 + def _reduce_424(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10742 + def _reduce_425(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10749 + def _reduce_426(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10756 + def _reduce_427(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10763 + def _reduce_428(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10770 + def _reduce_429(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#8649 + def _reduce_43(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10777 + def _reduce_430(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10785 + def _reduce_431(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10793 + def _reduce_432(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10805 + def _reduce_433(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10816 + def _reduce_434(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10824 + def _reduce_435(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10832 + def _reduce_436(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10840 + def _reduce_437(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10846 + def _reduce_438(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10854 + def _reduce_439(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#8658 + def _reduce_44(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10862 + def _reduce_440(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10870 + def _reduce_441(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10876 + def _reduce_442(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10882 + def _reduce_443(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10889 + def _reduce_444(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10896 + def _reduce_445(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10903 + def _reduce_446(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10910 + def _reduce_447(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10917 + def _reduce_448(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10927 + def _reduce_449(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#8672 + def _reduce_45(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10934 + def _reduce_450(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10940 + def _reduce_451(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10951 + def _reduce_452(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10958 + def _reduce_453(val, _values, result); end + + # reduce 454 omitted + # + # source://parser//lib/parser/ruby33.rb#10966 + def _reduce_455(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10972 + def _reduce_456(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10978 + def _reduce_457(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10988 + def _reduce_458(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#10996 + def _reduce_459(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#8686 + def _reduce_46(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11003 + def _reduce_460(val, _values, result); end + + # reduce 461 omitted + # + # source://parser//lib/parser/ruby33.rb#11011 + def _reduce_462(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11017 + def _reduce_463(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11023 + def _reduce_464(val, _values, result); end + + # reduce 465 omitted + # + # source://parser//lib/parser/ruby33.rb#11031 + def _reduce_466(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11041 + def _reduce_467(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11047 + def _reduce_468(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11053 + def _reduce_469(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11059 + def _reduce_470(val, _values, result); end + + # reduce 471 omitted + # + # source://parser//lib/parser/ruby33.rb#11067 + def _reduce_472(val, _values, result); end + + # reduce 473 omitted + # + # source://parser//lib/parser/ruby33.rb#11075 + def _reduce_474(val, _values, result); end + + # reduce 475 omitted + # + # source://parser//lib/parser/ruby33.rb#11083 + def _reduce_476(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11090 + def _reduce_477(val, _values, result); end + + # reduce 47 omitted + # + # source://parser//lib/parser/ruby33.rb#8694 + def _reduce_48(val, _values, result); end + + # reduce 479 omitted + # + # source://parser//lib/parser/ruby33.rb#11101 + def _reduce_480(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11109 + def _reduce_481(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11117 + def _reduce_482(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11125 + def _reduce_483(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11132 + def _reduce_484(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11140 + def _reduce_485(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11148 + def _reduce_486(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11156 + def _reduce_487(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11163 + def _reduce_488(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11169 + def _reduce_489(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#8704 + def _reduce_49(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11175 + def _reduce_490(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11181 + def _reduce_491(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11189 + def _reduce_492(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11197 + def _reduce_493(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11203 + def _reduce_494(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11209 + def _reduce_495(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11216 + def _reduce_496(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11222 + def _reduce_497(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11228 + def _reduce_498(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11234 + def _reduce_499(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#8399 + def _reduce_5(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11240 + def _reduce_500(val, _values, result); end + + # reduce 501 omitted + # + # source://parser//lib/parser/ruby33.rb#11248 + def _reduce_502(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11258 + def _reduce_503(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11268 + def _reduce_504(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11274 + def _reduce_505(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11280 + def _reduce_506(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11286 + def _reduce_507(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11292 + def _reduce_508(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11298 + def _reduce_509(val, _values, result); end + + # reduce 50 omitted + # + # source://parser//lib/parser/ruby33.rb#8712 + def _reduce_51(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11304 + def _reduce_510(val, _values, result); end + + # reduce 511 omitted + # + # source://parser//lib/parser/ruby33.rb#11312 + def _reduce_512(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11318 + def _reduce_513(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11324 + def _reduce_514(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11330 + def _reduce_515(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11336 + def _reduce_516(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11342 + def _reduce_517(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11348 + def _reduce_518(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11354 + def _reduce_519(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11360 + def _reduce_520(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11366 + def _reduce_521(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11372 + def _reduce_522(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11378 + def _reduce_523(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11384 + def _reduce_524(val, _values, result); end + + # reduce 525 omitted + # + # source://parser//lib/parser/ruby33.rb#11392 + def _reduce_526(val, _values, result); end + + # reduce 527 omitted + # + # source://parser//lib/parser/ruby33.rb#11400 + def _reduce_528(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11406 + def _reduce_529(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11412 + def _reduce_530(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11418 + def _reduce_531(val, _values, result); end + + # reduce 534 omitted + # + # source://parser//lib/parser/ruby33.rb#11430 + def _reduce_535(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11436 + def _reduce_536(val, _values, result); end + + # reduce 53 omitted + # + # source://parser//lib/parser/ruby33.rb#8726 + def _reduce_54(val, _values, result); end + + # reduce 544 omitted + # + # source://parser//lib/parser/ruby33.rb#11458 + def _reduce_545(val, _values, result); end + + # reduce 546 omitted + # + # source://parser//lib/parser/ruby33.rb#11466 + def _reduce_547(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11472 + def _reduce_548(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11484 + def _reduce_549(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#8732 + def _reduce_55(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11491 + def _reduce_550(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11498 + def _reduce_551(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11504 + def _reduce_552(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11510 + def _reduce_553(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11516 + def _reduce_554(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11531 + def _reduce_555(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11537 + def _reduce_556(val, _values, result); end + + # reduce 558 omitted + # + # source://parser//lib/parser/ruby33.rb#11547 + def _reduce_559(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#8738 + def _reduce_56(val, _values, result); end + + # reduce 560 omitted + # + # source://parser//lib/parser/ruby33.rb#11555 + def _reduce_561(val, _values, result); end + + # reduce 564 omitted + # + # source://parser//lib/parser/ruby33.rb#11567 + def _reduce_565(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11573 + def _reduce_566(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11579 + def _reduce_567(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11585 + def _reduce_568(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11592 + def _reduce_569(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#8744 + def _reduce_57(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11599 + def _reduce_570(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11605 + def _reduce_571(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11612 + def _reduce_572(val, _values, result); end + + # reduce 574 omitted + # + # source://parser//lib/parser/ruby33.rb#11623 + def _reduce_575(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11629 + def _reduce_576(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11635 + def _reduce_577(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11641 + def _reduce_578(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11647 + def _reduce_579(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#8750 + def _reduce_58(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11653 + def _reduce_580(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11659 + def _reduce_581(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11665 + def _reduce_582(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11671 + def _reduce_583(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11677 + def _reduce_584(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11683 + def _reduce_585(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11689 + def _reduce_586(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11695 + def _reduce_587(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11701 + def _reduce_588(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11707 + def _reduce_589(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#8759 + def _reduce_59(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11713 + def _reduce_590(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11719 + def _reduce_591(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11725 + def _reduce_592(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11731 + def _reduce_593(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11737 + def _reduce_594(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11743 + def _reduce_595(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11749 + def _reduce_596(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11755 + def _reduce_597(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11762 + def _reduce_598(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#8405 + def _reduce_6(val, _values, result); end + + # reduce 599 omitted + # + # source://parser//lib/parser/ruby33.rb#11773 + def _reduce_600(val, _values, result); end + + # reduce 603 omitted + # + # source://parser//lib/parser/ruby33.rb#11785 + def _reduce_604(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11792 + def _reduce_605(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11799 + def _reduce_606(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11805 + def _reduce_607(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11816 + def _reduce_608(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11823 + def _reduce_609(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11830 + def _reduce_610(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11837 + def _reduce_611(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11844 + def _reduce_612(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11850 + def _reduce_613(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11856 + def _reduce_614(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11862 + def _reduce_615(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11868 + def _reduce_616(val, _values, result); end + + # reduce 617 omitted + # + # source://parser//lib/parser/ruby33.rb#11876 + def _reduce_618(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11882 + def _reduce_619(val, _values, result); end + + # reduce 61 omitted + # + # source://parser//lib/parser/ruby33.rb#8772 + def _reduce_62(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11888 + def _reduce_620(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11894 + def _reduce_621(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11900 + def _reduce_622(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11906 + def _reduce_623(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11912 + def _reduce_624(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11918 + def _reduce_625(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11924 + def _reduce_626(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11930 + def _reduce_627(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11936 + def _reduce_628(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11942 + def _reduce_629(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#8778 + def _reduce_63(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11948 + def _reduce_630(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11954 + def _reduce_631(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11960 + def _reduce_632(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11966 + def _reduce_633(val, _values, result); end + + # reduce 634 omitted + # + # source://parser//lib/parser/ruby33.rb#11974 + def _reduce_635(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#11981 + def _reduce_636(val, _values, result); end + + # reduce 637 omitted + # + # source://parser//lib/parser/ruby33.rb#11992 + def _reduce_638(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#12000 + def _reduce_639(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#8785 + def _reduce_64(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#12008 + def _reduce_640(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#12014 + def _reduce_641(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#12020 + def _reduce_642(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#12026 + def _reduce_643(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#12032 + def _reduce_644(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#12039 + def _reduce_645(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#12045 + def _reduce_646(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#12051 + def _reduce_647(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#12060 + def _reduce_648(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#12070 + def _reduce_649(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#8795 + def _reduce_65(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#12078 + def _reduce_650(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#12087 + def _reduce_651(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#12095 + def _reduce_652(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#12104 + def _reduce_653(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#12111 + def _reduce_654(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#12119 + def _reduce_655(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#12128 + def _reduce_656(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#12135 + def _reduce_657(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#12143 + def _reduce_658(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#12150 + def _reduce_659(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#8801 + def _reduce_66(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#12158 + def _reduce_660(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#12164 + def _reduce_661(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#12170 + def _reduce_662(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#12176 + def _reduce_663(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#12182 + def _reduce_664(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#12188 + def _reduce_665(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#12194 + def _reduce_666(val, _values, result); end + + # reduce 667 omitted + # + # source://parser//lib/parser/ruby33.rb#12202 + def _reduce_668(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#12212 + def _reduce_669(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#8808 + def _reduce_67(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#12219 + def _reduce_670(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#12226 + def _reduce_671(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#12232 + def _reduce_672(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#12238 + def _reduce_673(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#12244 + def _reduce_674(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#12259 + def _reduce_675(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#12267 + def _reduce_676(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#12275 + def _reduce_677(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#12282 + def _reduce_678(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#12289 + def _reduce_679(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#12295 + def _reduce_680(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#12301 + def _reduce_681(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#12307 + def _reduce_682(val, _values, result); end + + # reduce 684 omitted + # + # source://parser//lib/parser/ruby33.rb#12317 + def _reduce_685(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#12323 + def _reduce_686(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#12331 + def _reduce_687(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#12339 + def _reduce_688(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#12347 + def _reduce_689(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#12355 + def _reduce_690(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#12361 + def _reduce_691(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#12367 + def _reduce_692(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#12373 + def _reduce_693(val, _values, result); end + + # reduce 695 omitted + # + # source://parser//lib/parser/ruby33.rb#12383 + def _reduce_696(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#12391 + def _reduce_697(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#8411 + def _reduce_7(val, _values, result); end + + # reduce 699 omitted + # + # source://parser//lib/parser/ruby33.rb#12403 + def _reduce_700(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#12411 + def _reduce_701(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#12419 + def _reduce_702(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#12425 + def _reduce_703(val, _values, result); end + + # reduce 704 omitted + # + # source://parser//lib/parser/ruby33.rb#12433 + def _reduce_705(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#12439 + def _reduce_706(val, _values, result); end + + # reduce 707 omitted + # + # source://parser//lib/parser/ruby33.rb#12447 + def _reduce_708(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#12453 + def _reduce_709(val, _values, result); end + + # reduce 70 omitted + # + # source://parser//lib/parser/ruby33.rb#8820 + def _reduce_71(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#12459 + def _reduce_710(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#12465 + def _reduce_711(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#12471 + def _reduce_712(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#12477 + def _reduce_713(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#12483 + def _reduce_714(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#12489 + def _reduce_715(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#8827 + def _reduce_72(val, _values, result); end + + # reduce 725 omitted + # + # source://parser//lib/parser/ruby33.rb#12524 + def _reduce_726(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#12530 + def _reduce_727(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#8834 + def _reduce_73(val, _values, result); end + + # reduce 731 omitted + # + # source://parser//lib/parser/ruby33.rb#12544 + def _reduce_732(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#12550 + def _reduce_733(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#12556 + def _reduce_734(val, _values, result); end + + # reduce 736 omitted + # + # source://parser//lib/parser/ruby33.rb#12566 + def _reduce_737(val, _values, result); end + + # reduce 740 omitted + # + # source://parser//lib/parser/ruby33.rb#12578 + def _reduce_741(val, _values, result); end + + # reduce 74 omitted + # + # source://parser//lib/parser/ruby33.rb#8843 + def _reduce_75(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#8850 + def _reduce_76(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#8861 + def _reduce_77(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#8868 + def _reduce_78(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#8879 + def _reduce_79(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#8886 + def _reduce_80(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#8897 + def _reduce_81(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#8907 + def _reduce_82(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#8914 + def _reduce_83(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#8921 + def _reduce_84(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#8928 + def _reduce_85(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#8935 + def _reduce_86(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#8942 + def _reduce_87(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#8948 + def _reduce_88(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#8954 + def _reduce_89(val, _values, result); end + + # reduce 8 omitted + # + # source://parser//lib/parser/ruby33.rb#8419 + def _reduce_9(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#8960 + def _reduce_90(val, _values, result); end + + # reduce 91 omitted + # + # source://parser//lib/parser/ruby33.rb#8968 + def _reduce_92(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#8975 + def _reduce_93(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#8982 + def _reduce_94(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#8990 + def _reduce_95(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#8997 + def _reduce_96(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9005 + def _reduce_97(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9011 + def _reduce_98(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#9018 + def _reduce_99(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#12584 + def _reduce_none(val, _values, result); end + + # source://parser//lib/parser/ruby33.rb#21 + def default_encoding; end + + # source://parser//lib/parser/ruby33.rb#25 + def endless_method_name(name_t); end + + # source://parser//lib/parser/ruby33.rb#38 + def local_pop; end + + # source://parser//lib/parser/ruby33.rb#31 + def local_push; end + + # source://parser//lib/parser/ruby33.rb#45 + def try_declare_numparam(node); end + + # source://parser//lib/parser/ruby33.rb#17 + def version; end +end + +# source://parser//lib/parser/ruby33.rb#7955 +Parser::Ruby33::Racc_arg = T.let(T.unsafe(nil), Array) + +# source://parser//lib/parser/ruby33.rb#8365 +Parser::Ruby33::Racc_debug_parser = T.let(T.unsafe(nil), FalseClass) + +# source://parser//lib/parser/ruby33.rb#7972 +Parser::Ruby33::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#110 + 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#247 + 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#222 + 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#317 + def freeze; end + + # @api public + # + # source://parser//lib/parser/source/buffer.rb#323 + def inspect; end + + # Number of last line in the buffer + # + # @api public + # @return [Integer] + # + # source://parser//lib/parser/source/buffer.rb#312 + 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#236 + 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#289 + 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#185 + 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#136 + def read; end + + # @api public + # + # source://parser//lib/parser/source/buffer.rb#199 + 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#150 + 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#167 + 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#278 + def source_line(lineno); end + + # Return an `Array` of source code lines. + # + # @api public + # @return [Array] + # + # source://parser//lib/parser/source/buffer.rb#257 + def source_lines; end + + # @api public + # @return [Range] A range covering the whole source + # + # source://parser//lib/parser/source/buffer.rb#303 + def source_range; end + + private + + # @api public + # + # source://parser//lib/parser/source/buffer.rb#353 + def bsearch(line_begins, position); end + + # @api public + # + # source://parser//lib/parser/source/buffer.rb#330 + def line_begins; end + + # @api public + # + # source://parser//lib/parser/source/buffer.rb#344 + 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] + # @raise [Parser::UnknownEncodingInMagicComment] if the encoding is not recognized + # @return [String, nil] encoding name, if recognized + # + # source://parser//lib/parser/source/buffer.rb#52 + 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#95 + 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 + + # Compares comments. Two comments are equal if they + # correspond to the same source range. + # + # @api public + # @param other [Object] + # @return [Boolean] + # + # source://parser//lib/parser/source/comment.rb#120 + def ==(other); end + + # @api public + # @return [Boolean] true if this is a block comment. + # @see #type + # + # source://parser//lib/parser/source/comment.rb#109 + def document?; end + + # @api public + # @return [Boolean] true if this is an inline comment. + # @see #type + # + # source://parser//lib/parser/source/comment.rb#101 + def inline?; end + + # @api public + # @return [String] a human-readable representation of this comment + # + # source://parser//lib/parser/source/comment.rb#128 + def inspect; end + + # @api public + # @return [Parser::Source::Range] + # + # source://parser//lib/parser/source/comment.rb#20 + def loc; end + + # @api public + # @return [Parser::Source::Range] + # + # source://parser//lib/parser/source/comment.rb#20 + def location; end + + # @api public + # @return [String] + # + # source://parser//lib/parser/source/comment.rb#18 + def text; end + + # Type of this comment. + # + # * Inline comments correspond to `:inline`: + # + # # whatever + # + # * Block comments correspond to `:document`: + # + # =begin + # hi i am a document + # =end + # + # @api public + # @return [Symbol] + # + # source://parser//lib/parser/source/comment.rb#89 + def type; end + + class << self + # Associate `comments` with `ast` nodes by their corresponding node. + # + # @api public + # @deprecated Use {associate_locations}. + # @param ast [Parser::AST::Node] + # @param comments [Array] + # @return [Hash>] + # @see Parser::Source::Comment::Associator#associate + # + # source://parser//lib/parser/source/comment.rb#32 + def associate(ast, comments); end + + # Associate `comments` with `ast` nodes using identity. + # + # @api public + # @param ast [Parser::AST::Node] + # @param comments [Array] + # @return [Hash>] + # @see Parser::Source::Comment::Associator#associate_by_identity + # + # source://parser//lib/parser/source/comment.rb#59 + def associate_by_identity(ast, comments); end + + # Associate `comments` with `ast` nodes by their location in the + # source. + # + # @api public + # @param ast [Parser::AST::Node] + # @param comments [Array] + # @return [Hash>] + # @see Parser::Source::Comment::Associator#associate_locations + # + # source://parser//lib/parser/source/comment.rb#46 + def associate_locations(ast, comments); end + end +end + +# source://parser//lib/parser/source/comment/associator.rb#45 +class Parser::Source::Comment::Associator + # source://parser//lib/parser/source/comment/associator.rb#51 + def initialize(ast, comments); end + + # source://parser//lib/parser/source/comment/associator.rb#92 + def associate; end + + # source://parser//lib/parser/source/comment/associator.rb#115 + def associate_by_identity; end + + # source://parser//lib/parser/source/comment/associator.rb#104 + def associate_locations; end + + # source://parser//lib/parser/source/comment/associator.rb#46 + def skip_directives; end + + # source://parser//lib/parser/source/comment/associator.rb#46 + def skip_directives=(_arg0); end + + private + + # source://parser//lib/parser/source/comment/associator.rb#182 + def advance_comment; end + + # source://parser//lib/parser/source/comment/associator.rb#214 + def advance_through_directives; end + + # source://parser//lib/parser/source/comment/associator.rb#206 + def associate_and_advance_comment(node); end + + # source://parser//lib/parser/source/comment/associator.rb#123 + def children_in_source_order(node); end + + # source://parser//lib/parser/source/comment/associator.rb#187 + def current_comment_before?(node); end + + # source://parser//lib/parser/source/comment/associator.rb#194 + def current_comment_before_end?(node); end + + # source://parser//lib/parser/source/comment/associator.rb#201 + def current_comment_decorates?(node); end + + # source://parser//lib/parser/source/comment/associator.rb#135 + def do_associate; end + + # source://parser//lib/parser/source/comment/associator.rb#166 + def process_leading_comments(node); end + + # source://parser//lib/parser/source/comment/associator.rb#173 + def process_trailing_comments(node); end + + # source://parser//lib/parser/source/comment/associator.rb#148 + def visit(node); end +end + +# source://parser//lib/parser/source/comment/associator.rb#212 +Parser::Source::Comment::Associator::MAGIC_COMMENT_RE = T.let(T.unsafe(nil), Regexp) + +# source://parser//lib/parser/source/comment/associator.rb#122 +Parser::Source::Comment::Associator::POSTFIX_TYPES = T.let(T.unsafe(nil), Set) + +# {Map} relates AST nodes to the source code they were parsed from. +# More specifically, a {Map} or its subclass contains a set of ranges: +# +# * `expression`: smallest range which includes all source corresponding +# to the node and all `expression` ranges of its children. +# * other ranges (`begin`, `end`, `operator`, ...): node-specific ranges +# pointing to various interesting tokens corresponding to the node. +# +# Note that the {Map::Heredoc} map is the only one whose `expression` does +# not include other ranges. It only covers the heredoc marker (`< 2]').children[0].loc +# # => > +# +# The {file:doc/AST_FORMAT.md} document describes how ranges associated to source +# code tokens. For example, the entry +# +# (array (int 1) (int 2)) +# +# "[1, 2]" +# ^ begin +# ^ end +# ~~~~~~ expression +# +# means that if `node` is an {Parser::AST::Node} `(array (int 1) (int 2))`, +# then `node.loc` responds to `begin`, `end` and `expression`, and +# `node.loc.begin` returns a range pointing at the opening bracket, and so on. +# +# If you want to write code polymorphic by the source map (i.e. accepting +# several subclasses of {Map}), use `respond_to?` instead of `is_a?` to +# check whether the map features the range you need. Concrete {Map} +# subclasses may not be preserved between versions, but their interfaces +# will be kept compatible. +# +# You can visualize the source maps with `ruby-parse -E` command-line tool. +# +# @api public +# @example +# require 'parser/current' +# +# p Parser::CurrentRuby.parse('[1, 2]').loc +# # => #, +# # @begin=#, +# # @expression=#> +# +# source://parser//lib/parser/source/map.rb#70 +class Parser::Source::Map + # @api public + # @param expression [Range] + # @return [Map] a new instance of Map + # + # source://parser//lib/parser/source/map.rb#76 + def initialize(expression); end + + # Compares source maps. + # + # @api public + # @return [Boolean] + # + # source://parser//lib/parser/source/map.rb#140 + def ==(other); end + + # A shortcut for `self.expression.column`. + # + # @api public + # @return [Integer] + # + # source://parser//lib/parser/source/map.rb#109 + def column; end + + # @api public + # @return [Range] + # + # source://parser//lib/parser/source/map.rb#72 + def expression; end + + # A shortcut for `self.expression.line`. + # + # @api public + # @return [Integer] + # + # source://parser//lib/parser/source/map.rb#99 + def first_line; end + + # A shortcut for `self.expression.last_column`. + # + # @api public + # @return [Integer] + # + # source://parser//lib/parser/source/map.rb#125 + def last_column; end + + # A shortcut for `self.expression.last_line`. + # + # @api public + # @return [Integer] + # + # source://parser//lib/parser/source/map.rb#117 + def last_line; end + + # A shortcut for `self.expression.line`. + # + # @api public + # @return [Integer] + # + # source://parser//lib/parser/source/map.rb#99 + def line; end + + # The node that is described by this map. Nodes and maps have 1:1 correspondence. + # + # @api public + # @return [Parser::AST::Node] + # + # source://parser//lib/parser/source/map.rb#71 + def node; end + + # @api private + # + # source://parser//lib/parser/source/map.rb#89 + def node=(node); end + + # Converts this source map to a hash with keys corresponding to + # ranges. For example, if called on an instance of {Collection}, + # which adds the `begin` and `end` ranges, the resulting hash + # will contain keys `:expression`, `:begin` and `:end`. + # + # @api public + # @example + # require 'parser/current' + # + # p Parser::CurrentRuby.parse('[1, 2]').loc.to_hash + # # => { + # # :begin => #, + # # :end => #, + # # :expression => # + # # } + # @return [Hash] + # + # source://parser//lib/parser/source/map.rb#166 + def to_hash; end + + # @api private + # + # source://parser//lib/parser/source/map.rb#132 + def with_expression(expression_l); end + + protected + + # @api public + # + # source://parser//lib/parser/source/map.rb#180 + def update_expression(expression_l); end + + # @api public + # + # source://parser//lib/parser/source/map.rb#176 + def with(&block); end + + private + + # @api private + # + # source://parser//lib/parser/source/map.rb#82 + def initialize_copy(other); end +end + +# source://parser//lib/parser/source/map/collection.rb#6 +class Parser::Source::Map::Collection < ::Parser::Source::Map + # source://parser//lib/parser/source/map/collection.rb#10 + def initialize(begin_l, end_l, expression_l); end + + # source://parser//lib/parser/source/map/collection.rb#7 + def begin; end + + # source://parser//lib/parser/source/map/collection.rb#8 + def end; end +end + +# source://parser//lib/parser/source/map/condition.rb#6 +class Parser::Source::Map::Condition < ::Parser::Source::Map + # source://parser//lib/parser/source/map/condition.rb#12 + def initialize(keyword_l, begin_l, else_l, end_l, expression_l); end + + # source://parser//lib/parser/source/map/condition.rb#8 + def begin; end + + # source://parser//lib/parser/source/map/condition.rb#9 + def else; end + + # source://parser//lib/parser/source/map/condition.rb#10 + def end; end + + # source://parser//lib/parser/source/map/condition.rb#7 + def keyword; end +end + +# source://parser//lib/parser/source/map/constant.rb#6 +class Parser::Source::Map::Constant < ::Parser::Source::Map + # source://parser//lib/parser/source/map/constant.rb#11 + def initialize(double_colon, name, expression); end + + # source://parser//lib/parser/source/map/constant.rb#7 + def double_colon; end + + # source://parser//lib/parser/source/map/constant.rb#8 + def name; end + + # source://parser//lib/parser/source/map/constant.rb#9 + def operator; end + + # source://parser//lib/parser/source/map/constant.rb#20 + def with_operator(operator_l); end + + protected + + # source://parser//lib/parser/source/map/constant.rb#26 + def update_operator(operator_l); end +end + +# source://parser//lib/parser/source/map/definition.rb#6 +class Parser::Source::Map::Definition < ::Parser::Source::Map + # source://parser//lib/parser/source/map/definition.rb#12 + def initialize(keyword_l, operator_l, name_l, end_l); end + + # source://parser//lib/parser/source/map/definition.rb#10 + def end; end + + # source://parser//lib/parser/source/map/definition.rb#7 + def keyword; end + + # source://parser//lib/parser/source/map/definition.rb#9 + def name; end + + # source://parser//lib/parser/source/map/definition.rb#8 + def operator; end +end + +# source://parser//lib/parser/source/map/for.rb#6 +class Parser::Source::Map::For < ::Parser::Source::Map + # source://parser//lib/parser/source/map/for.rb#10 + def initialize(keyword_l, in_l, begin_l, end_l, expression_l); end + + # source://parser//lib/parser/source/map/for.rb#8 + def begin; end + + # source://parser//lib/parser/source/map/for.rb#8 + def end; end + + # source://parser//lib/parser/source/map/for.rb#7 + def in; end + + # source://parser//lib/parser/source/map/for.rb#7 + def keyword; end +end + +# source://parser//lib/parser/source/map/heredoc.rb#6 +class Parser::Source::Map::Heredoc < ::Parser::Source::Map + # source://parser//lib/parser/source/map/heredoc.rb#10 + def initialize(begin_l, body_l, end_l); end + + # source://parser//lib/parser/source/map/heredoc.rb#7 + def heredoc_body; end + + # source://parser//lib/parser/source/map/heredoc.rb#8 + def heredoc_end; end +end + +# source://parser//lib/parser/source/map/index.rb#6 +class Parser::Source::Map::Index < ::Parser::Source::Map + # source://parser//lib/parser/source/map/index.rb#11 + def initialize(begin_l, end_l, expression_l); end + + # source://parser//lib/parser/source/map/index.rb#7 + def begin; end + + # source://parser//lib/parser/source/map/index.rb#8 + def end; end + + # source://parser//lib/parser/source/map/index.rb#9 + def operator; end + + # source://parser//lib/parser/source/map/index.rb#21 + def with_operator(operator_l); end + + protected + + # source://parser//lib/parser/source/map/index.rb#27 + def update_operator(operator_l); end +end + +# source://parser//lib/parser/source/map/keyword.rb#6 +class Parser::Source::Map::Keyword < ::Parser::Source::Map + # source://parser//lib/parser/source/map/keyword.rb#11 + def initialize(keyword_l, begin_l, end_l, expression_l); end + + # source://parser//lib/parser/source/map/keyword.rb#8 + def begin; end + + # source://parser//lib/parser/source/map/keyword.rb#9 + def end; end + + # source://parser//lib/parser/source/map/keyword.rb#7 + def keyword; end +end + +# source://parser//lib/parser/source/map/method_definition.rb#6 +class Parser::Source::Map::MethodDefinition < ::Parser::Source::Map + # source://parser//lib/parser/source/map/method_definition.rb#13 + def initialize(keyword_l, operator_l, name_l, end_l, assignment_l, body_l); end + + # source://parser//lib/parser/source/map/method_definition.rb#11 + def assignment; end + + # source://parser//lib/parser/source/map/method_definition.rb#10 + def end; end + + # source://parser//lib/parser/source/map/method_definition.rb#7 + def keyword; end + + # source://parser//lib/parser/source/map/method_definition.rb#9 + def name; end + + # source://parser//lib/parser/source/map/method_definition.rb#8 + def operator; end +end + +# source://parser//lib/parser/source/map/objc_kwarg.rb#6 +class Parser::Source::Map::ObjcKwarg < ::Parser::Source::Map + # source://parser//lib/parser/source/map/objc_kwarg.rb#11 + def initialize(keyword_l, operator_l, argument_l, expression_l); end + + # source://parser//lib/parser/source/map/objc_kwarg.rb#9 + def argument; end + + # source://parser//lib/parser/source/map/objc_kwarg.rb#7 + def keyword; end + + # source://parser//lib/parser/source/map/objc_kwarg.rb#8 + def operator; end +end + +# source://parser//lib/parser/source/map/operator.rb#6 +class Parser::Source::Map::Operator < ::Parser::Source::Map + # source://parser//lib/parser/source/map/operator.rb#9 + def initialize(operator, expression); end + + # source://parser//lib/parser/source/map/operator.rb#7 + def operator; end +end + +# source://parser//lib/parser/source/map/rescue_body.rb#6 +class Parser::Source::Map::RescueBody < ::Parser::Source::Map + # source://parser//lib/parser/source/map/rescue_body.rb#11 + def initialize(keyword_l, assoc_l, begin_l, expression_l); end + + # source://parser//lib/parser/source/map/rescue_body.rb#8 + def assoc; end + + # source://parser//lib/parser/source/map/rescue_body.rb#9 + def begin; end + + # source://parser//lib/parser/source/map/rescue_body.rb#7 + def keyword; end +end + +# source://parser//lib/parser/source/map/send.rb#6 +class Parser::Source::Map::Send < ::Parser::Source::Map + # source://parser//lib/parser/source/map/send.rb#13 + def initialize(dot_l, selector_l, begin_l, end_l, expression_l); end + + # source://parser//lib/parser/source/map/send.rb#10 + def begin; end + + # source://parser//lib/parser/source/map/send.rb#7 + def dot; end + + # source://parser//lib/parser/source/map/send.rb#11 + def end; end + + # source://parser//lib/parser/source/map/send.rb#9 + def operator; end + + # source://parser//lib/parser/source/map/send.rb#8 + def selector; end + + # source://parser//lib/parser/source/map/send.rb#24 + def with_operator(operator_l); end + + protected + + # source://parser//lib/parser/source/map/send.rb#30 + def update_operator(operator_l); end +end + +# source://parser//lib/parser/source/map/ternary.rb#6 +class Parser::Source::Map::Ternary < ::Parser::Source::Map + # source://parser//lib/parser/source/map/ternary.rb#10 + def initialize(question_l, colon_l, expression_l); end + + # source://parser//lib/parser/source/map/ternary.rb#8 + def colon; end + + # source://parser//lib/parser/source/map/ternary.rb#7 + def question; end +end + +# source://parser//lib/parser/source/map/variable.rb#6 +class Parser::Source::Map::Variable < ::Parser::Source::Map + # source://parser//lib/parser/source/map/variable.rb#10 + def initialize(name_l, expression_l = T.unsafe(nil)); end + + # source://parser//lib/parser/source/map/variable.rb#7 + def name; end + + # source://parser//lib/parser/source/map/variable.rb#8 + def operator; end + + # source://parser//lib/parser/source/map/variable.rb#19 + def with_operator(operator_l); end + + protected + + # source://parser//lib/parser/source/map/variable.rb#25 + def update_operator(operator_l); end +end + +# A range of characters in a particular source buffer. +# +# The range is always exclusive, i.e. a range with `begin_pos` of 3 and +# `end_pos` of 5 will contain the following characters: +# +# example +# ^^ +# +# @api public +# +# source://parser//lib/parser/source/range.rb#26 +class Parser::Source::Range + include ::Comparable + + # @api public + # @param source_buffer [Buffer] + # @param begin_pos [Integer] + # @param end_pos [Integer] + # @return [Range] a new instance of Range + # + # source://parser//lib/parser/source/range.rb#37 + def initialize(source_buffer, begin_pos, end_pos); end + + # Compare ranges, first by begin_pos, then by end_pos. + # + # @api public + # + # source://parser//lib/parser/source/range.rb#301 + def <=>(other); end + + # by the given amount(s) + # + # @api public + # @param Endpoint(s) [Hash] to change, any combination of :begin_pos or :end_pos + # @return [Range] the same range as this range but with the given end point(s) adjusted + # + # source://parser//lib/parser/source/range.rb#193 + def adjust(begin_pos: T.unsafe(nil), end_pos: T.unsafe(nil)); end + + # @api public + # @return [Range] a zero-length range located just before the beginning + # of this range. + # + # source://parser//lib/parser/source/range.rb#55 + def begin; end + + # @api public + # @return [Integer] index of the first character in the range + # + # source://parser//lib/parser/source/range.rb#30 + def begin_pos; end + + # @api public + # @return [Integer] zero-based column number of the beginning of this range. + # + # source://parser//lib/parser/source/range.rb#92 + def column; end + + # @api public + # @raise RangeError + # @return [::Range] a range of columns spanned by this range. + # + # source://parser//lib/parser/source/range.rb#114 + def column_range; end + + # Return `other.contains?(self)` + # + # Two ranges must be one and only one of ==, disjoint?, contains?, contained? or crossing? + # + # @api public + # @param other [Range] + # @return [Boolean] + # + # source://parser//lib/parser/source/range.rb#274 + def contained?(other); end + + # Returns true iff this range contains (strictly) `other`. + # + # Two ranges must be one and only one of ==, disjoint?, contains?, contained? or crossing? + # + # @api public + # @param other [Range] + # @return [Boolean] + # + # source://parser//lib/parser/source/range.rb#262 + def contains?(other); end + + # Returns true iff both ranges intersect and also have different elements from one another. + # + # Two ranges must be one and only one of ==, disjoint?, contains?, contained? or crossing? + # + # @api public + # @param other [Range] + # @return [Boolean] + # + # source://parser//lib/parser/source/range.rb#286 + def crossing?(other); end + + # Return `true` iff this range and `other` are disjoint. + # + # Two ranges must be one and only one of ==, disjoint?, contains?, contained? or crossing? + # + # @api public + # @param other [Range] + # @return [Boolean] + # + # source://parser//lib/parser/source/range.rb#236 + def disjoint?(other); end + + # Checks if a range is empty; if it contains no characters + # + # @api public + # @return [Boolean] + # + # source://parser//lib/parser/source/range.rb#294 + def empty?; end + + # @api public + # @return [Range] a zero-length range located just after the end + # of this range. + # + # source://parser//lib/parser/source/range.rb#63 + def end; end + + # @api public + # @return [Integer] index of the character after the last character in the range + # + # source://parser//lib/parser/source/range.rb#30 + def end_pos; end + + # @api public + def eql?(_arg0); end + + # Line number of the beginning of this range. By default, the first line + # of a buffer is 1; as such, line numbers are most commonly one-based. + # + # @api public + # @return [Integer] line number of the beginning of this range. + # @see Buffer + # + # source://parser//lib/parser/source/range.rb#83 + def first_line; end + + # Support for Ranges be used in as Hash indices and in Sets. + # + # @api public + # + # source://parser//lib/parser/source/range.rb#313 + def hash; end + + # @api public + # @return [String] a human-readable representation of this range. + # + # source://parser//lib/parser/source/range.rb#320 + def inspect; end + + # @api public + # @param other [Range] + # @return [Range] overlapping region of this range and `other`, or `nil` + # if they do not overlap + # + # source://parser//lib/parser/source/range.rb#220 + def intersect(other); end + + # `is?` provides a concise way to compare the source corresponding to this range. + # For example, `r.source == '(' || r.source == 'begin'` is equivalent to + # `r.is?('(', 'begin')`. + # + # @api public + # @return [Boolean] + # + # source://parser//lib/parser/source/range.rb#141 + def is?(*what); end + + # @api public + # @param other [Range] + # @return [Range] smallest possible range spanning both this range and `other`. + # + # source://parser//lib/parser/source/range.rb#209 + def join(other); end + + # @api public + # @return [Integer] zero-based column number of the end of this range. + # + # source://parser//lib/parser/source/range.rb#106 + def last_column; end + + # @api public + # @return [Integer] line number of the end of this range. + # + # source://parser//lib/parser/source/range.rb#99 + def last_line; end + + # @api public + # @return [Integer] amount of characters included in this range. + # + # source://parser//lib/parser/source/range.rb#70 + def length; end + + # Line number of the beginning of this range. By default, the first line + # of a buffer is 1; as such, line numbers are most commonly one-based. + # + # @api public + # @return [Integer] line number of the beginning of this range. + # @see Buffer + # + # source://parser//lib/parser/source/range.rb#83 + def line; end + + # Return `true` iff this range is not disjoint from `other`. + # + # @api public + # @param other [Range] + # @return [Boolean] `true` if this range and `other` overlap + # + # source://parser//lib/parser/source/range.rb#250 + def overlaps?(other); end + + # @api public + # @param new_size [Integer] + # @return [Range] a range beginning at the same point as this range and length `new_size`. + # + # source://parser//lib/parser/source/range.rb#201 + def resize(new_size); end + + # @api public + # @return [Integer] amount of characters included in this range. + # + # source://parser//lib/parser/source/range.rb#70 + def size; end + + # @api public + # @return [String] all source code covered by this range. + # + # source://parser//lib/parser/source/range.rb#132 + def source; end + + # @api public + # @return [Parser::Source::Buffer] + # + # source://parser//lib/parser/source/range.rb#29 + def source_buffer; end + + # @api public + # @return [String] a line of source code containing the beginning of this range. + # + # source://parser//lib/parser/source/range.rb#125 + def source_line; end + + # @api public + # @return [Array] a set of character indexes contained in this range. + # + # source://parser//lib/parser/source/range.rb#148 + def to_a; end + + # @api public + # @return [Range] a Ruby range with the same `begin_pos` and `end_pos` + # + # source://parser//lib/parser/source/range.rb#155 + def to_range; end + + # Composes a GNU/Clang-style string representation of the beginning of this + # range. + # + # For example, for the following range in file `foo.rb`, + # + # def foo + # ^^^ + # + # `to_s` will return `foo.rb:1:5`. + # Note that the column index is one-based. + # + # @api public + # @return [String] + # + # source://parser//lib/parser/source/range.rb#173 + def to_s; end + + # to the given value(s). + # + # @api public + # @param Endpoint(s) [Hash] to change, any combination of :begin_pos or :end_pos + # @return [Range] the same range as this range but with the given end point(s) changed + # + # source://parser//lib/parser/source/range.rb#184 + def with(begin_pos: T.unsafe(nil), end_pos: T.unsafe(nil)); end +end + +# {Rewriter} is deprecated. Use {TreeRewriter} instead. +# +# TreeRewriter has simplified semantics, and customizable policies +# with regards to clobbering. Please read the documentation. +# +# Keep in mind: +# - Rewriter was discarding the `end_pos` of the given range for `insert_before`, +# and the `begin_pos` for `insert_after`. These are meaningful in TreeRewriter. +# - TreeRewriter's wrap/insert_before/insert_after are multiple by default, while +# Rewriter would raise clobbering errors if the non '_multi' version was called. +# - The TreeRewriter policy closest to Rewriter's behavior is: +# different_replacements: :raise, +# swallowed_insertions: :raise, +# crossing_deletions: :accept +# +# @api public +# @deprecated Use {TreeRewriter} +# +# source://parser//lib/parser/source/rewriter.rb#31 +class Parser::Source::Rewriter + extend ::Parser::Deprecation + + # @api public + # @deprecated Use {TreeRewriter} + # @param source_buffer [Source::Buffer] + # @return [Rewriter] a new instance of Rewriter + # + # source://parser//lib/parser/source/rewriter.rb#39 + def initialize(source_buffer); end + + # @api public + # @return [Diagnostic::Engine] + # + # source://parser//lib/parser/source/rewriter.rb#33 + def diagnostics; end + + # Inserts new code after the given source range. + # + # @api public + # @deprecated Use {TreeRewriter#insert_after} + # @param range [Range] + # @param content [String] + # @raise [ClobberingError] when clobbering is detected + # @return [Rewriter] self + # + # source://parser//lib/parser/source/rewriter.rb#131 + def insert_after(range, content); end + + # Inserts new code after the given source range by allowing other + # insertions at the same position. + # Note that an insertion with latter invocation comes _after_ earlier + # insertion at the same position in the rewritten source. + # + # @api public + # @deprecated Use {TreeRewriter#insert_after} + # @example Inserting ')]' + # rewriter. + # insert_after_multi(range, ')'). + # insert_after_multi(range, ']'). + # process + # @param range [Range] + # @param content [String] + # @raise [ClobberingError] when clobbering is detected + # @return [Rewriter] self + # + # source://parser//lib/parser/source/rewriter.rb#153 + def insert_after_multi(range, content); end + + # Inserts new code before the given source range. + # + # @api public + # @deprecated Use {TreeRewriter#insert_before} + # @param range [Range] + # @param content [String] + # @raise [ClobberingError] when clobbering is detected + # @return [Rewriter] self + # + # source://parser//lib/parser/source/rewriter.rb#80 + def insert_before(range, content); end + + # Inserts new code before the given source range by allowing other + # insertions at the same position. + # Note that an insertion with latter invocation comes _before_ earlier + # insertion at the same position in the rewritten source. + # + # @api public + # @deprecated Use {TreeRewriter#insert_before} + # @example Inserting '[(' + # rewriter. + # insert_before_multi(range, '('). + # insert_before_multi(range, '['). + # process + # @param range [Range] + # @param content [String] + # @raise [ClobberingError] when clobbering is detected + # @return [Rewriter] self + # + # source://parser//lib/parser/source/rewriter.rb#117 + def insert_before_multi(range, content); end + + # Applies all scheduled changes to the `source_buffer` and returns + # modified source as a new string. + # + # @api public + # @deprecated Use {TreeRewriter#process} + # @return [String] + # + # source://parser//lib/parser/source/rewriter.rb#178 + def process; end + + # Removes the source range. + # + # @api public + # @deprecated Use {TreeRewriter#remove} + # @param range [Range] + # @raise [ClobberingError] when clobbering is detected + # @return [Rewriter] self + # + # source://parser//lib/parser/source/rewriter.rb#67 + def remove(range); end + + # Replaces the code of the source range `range` with `content`. + # + # @api public + # @deprecated Use {TreeRewriter#replace} + # @param range [Range] + # @param content [String] + # @raise [ClobberingError] when clobbering is detected + # @return [Rewriter] self + # + # source://parser//lib/parser/source/rewriter.rb#167 + def replace(range, content); end + + # @api public + # @return [Source::Buffer] + # + # source://parser//lib/parser/source/rewriter.rb#32 + def source_buffer; end + + # Provides a protected block where a sequence of multiple rewrite actions + # are handled atomically. If any of the actions failed by clobbering, + # all the actions are rolled back. + # + # @api public + # @deprecated Use {TreeRewriter#transaction} + # @example + # begin + # rewriter.transaction do + # rewriter.insert_before(range_of_something, '(') + # rewriter.insert_after(range_of_something, ')') + # end + # rescue Parser::ClobberingError + # end + # @raise [RuntimeError] when no block is passed + # @raise [RuntimeError] when already in a transaction + # + # source://parser//lib/parser/source/rewriter.rb#216 + def transaction; end + + # Inserts new code before and after the given source range. + # + # @api public + # @deprecated Use {TreeRewriter#wrap} + # @param range [Range] + # @param before [String] + # @param after [String] + # @raise [ClobberingError] when clobbering is detected + # @return [Rewriter] self + # + # source://parser//lib/parser/source/rewriter.rb#94 + def wrap(range, before, after); end + + private + + # @api public + # + # source://parser//lib/parser/source/rewriter.rb#476 + def active_clobber; end + + # @api public + # + # source://parser//lib/parser/source/rewriter.rb#484 + def active_clobber=(value); end + + # @api public + # + # source://parser//lib/parser/source/rewriter.rb#480 + def active_insertions; end + + # @api public + # + # source://parser//lib/parser/source/rewriter.rb#492 + def active_insertions=(value); end + + # @api public + # + # source://parser//lib/parser/source/rewriter.rb#472 + def active_queue; end + + # @api public + # @return [Boolean] + # + # source://parser//lib/parser/source/rewriter.rb#500 + def adjacent?(range1, range2); end + + # @api public + # + # source://parser//lib/parser/source/rewriter.rb#351 + def adjacent_insertion_mask(range); end + + # @api public + # @return [Boolean] + # + # source://parser//lib/parser/source/rewriter.rb#366 + def adjacent_insertions?(range); end + + # @api public + # + # source://parser//lib/parser/source/rewriter.rb#347 + def adjacent_position_mask(range); end + + # @api public + # @return [Boolean] + # + # source://parser//lib/parser/source/rewriter.rb#377 + def adjacent_updates?(range); end + + # Schedule a code update. If it overlaps with another update, check + # whether they conflict, and raise a clobbering error if they do. + # (As a special case, zero-length ranges at the same position are + # considered to "overlap".) Otherwise, merge them. + # + # Updates which are adjacent to each other, but do not overlap, are also + # merged. + # + # RULES: + # + # - Insertion ("replacing" a zero-length range): + # - Two insertions at the same point conflict. This is true even + # if the earlier insertion has already been merged with an adjacent + # update, and even if they are both inserting the same text. + # - An insertion never conflicts with a replace or remove operation + # on its right or left side, which does not overlap it (in other + # words, which does not update BOTH its right and left sides). + # - An insertion always conflicts with a remove operation which spans + # both its sides. + # - An insertion conflicts with a replace operation which spans both its + # sides, unless the replacement text is longer than the replaced text + # by the size of the insertion (or more), and the portion of + # replacement text immediately after the insertion position is + # identical to the inserted text. + # + # - Removal operations never conflict with each other. + # + # - Replacement operations: + # - Take the portion of each replacement text which falls within: + # - The other operation's replaced region + # - The other operation's replacement text, if it extends past the + # end of its own replaced region (in other words, if the replacement + # text is longer than the text it replaces) + # - If and only if the taken texts are identical for both operations, + # they do not conflict. + # + # @api public + # + # source://parser//lib/parser/source/rewriter.rb#280 + def append(action); end + + # @api public + # @return [Boolean] + # + # source://parser//lib/parser/source/rewriter.rb#389 + def can_merge?(action, existing); end + + # @api public + # @return [Boolean] + # + # source://parser//lib/parser/source/rewriter.rb#355 + def clobbered_insertion?(insertion); end + + # @api public + # + # source://parser//lib/parser/source/rewriter.rb#343 + def clobbered_position_mask(range); end + + # @api public + # @return [Boolean] + # + # source://parser//lib/parser/source/rewriter.rb#468 + def in_transaction?; end + + # @api public + # + # source://parser//lib/parser/source/rewriter.rb#410 + def merge_actions(action, existing); end + + # @api public + # + # source://parser//lib/parser/source/rewriter.rb#419 + def merge_actions!(action, existing); end + + # @api public + # + # source://parser//lib/parser/source/rewriter.rb#425 + def merge_replacements(actions); end + + # @api public + # @raise [ClobberingError] + # + # source://parser//lib/parser/source/rewriter.rb#450 + def raise_clobber_error(action, existing); end + + # @api public + # + # source://parser//lib/parser/source/rewriter.rb#335 + def record_insertion(range); end + + # @api public + # + # source://parser//lib/parser/source/rewriter.rb#339 + def record_replace(range); end + + # @api public + # + # source://parser//lib/parser/source/rewriter.rb#445 + def replace_actions(old, updated); end + + # @api public + # @return [Boolean] + # + # source://parser//lib/parser/source/rewriter.rb#383 + def replace_compatible_with_insertion?(replace, insertion); end +end + +# source://parser//lib/parser/source/rewriter/action.rb#9 +class Parser::Source::Rewriter::Action + include ::Comparable + + # source://parser//lib/parser/source/rewriter/action.rb#15 + def initialize(range, replacement = T.unsafe(nil), allow_multiple_insertions = T.unsafe(nil), order = T.unsafe(nil)); end + + # source://parser//lib/parser/source/rewriter/action.rb#24 + def <=>(other); end + + # source://parser//lib/parser/source/rewriter/action.rb#12 + def allow_multiple_insertions; end + + # source://parser//lib/parser/source/rewriter/action.rb#12 + def allow_multiple_insertions?; end + + # source://parser//lib/parser/source/rewriter/action.rb#12 + def order; end + + # source://parser//lib/parser/source/rewriter/action.rb#12 + def range; end + + # source://parser//lib/parser/source/rewriter/action.rb#12 + def replacement; end + + # source://parser//lib/parser/source/rewriter/action.rb#30 + def to_s; end +end + +# @api public +# +# source://parser//lib/parser/source/rewriter.rb#504 +Parser::Source::Rewriter::DEPRECATION_WARNING = T.let(T.unsafe(nil), String) + +# {TreeRewriter} performs the heavy lifting in the source rewriting process. +# It schedules code updates to be performed in the correct order. +# +# For simple cases, the resulting source will be obvious. +# +# Examples for more complex cases follow. Assume these examples are acting on +# the source `'puts(:hello, :world)`. The methods #wrap, #remove, etc. +# receive a Range as first argument; for clarity, examples below use english +# sentences and a string of raw code instead. +# +# ## Overlapping ranges: +# +# Any two rewriting actions on overlapping ranges will fail and raise +# a `ClobberingError`, unless they are both deletions (covered next). +# +# * wrap ':hello, ' with '(' and ')' +# * wrap ', :world' with '(' and ')' +# => CloberringError +# +# ## Overlapping deletions: +# +# * remove ':hello, ' +# * remove ', :world' +# +# The overlapping ranges are merged and `':hello, :world'` will be removed. +# This policy can be changed. `:crossing_deletions` defaults to `:accept` +# but can be set to `:warn` or `:raise`. +# +# ## Multiple actions at the same end points: +# +# Results will always be independent on the order they were given. +# Exception: rewriting actions done on exactly the same range (covered next). +# +# Example: +# * replace ', ' by ' => ' +# * wrap ':hello, :world' with '{' and '}' +# * replace ':world' with ':everybody' +# * wrap ':world' with '[', ']' +# +# The resulting string will be `'puts({:hello => [:everybody]})'` +# and this result is independent on the order the instructions were given in. +# +# Note that if the two "replace" were given as a single replacement of ', :world' +# for ' => :everybody', the result would be a `ClobberingError` because of the wrap +# in square brackets. +# +# ## Multiple wraps on same range: +# * wrap ':hello' with '(' and ')' +# * wrap ':hello' with '[' and ']' +# +# The wraps are combined in order given and results would be `'puts([(:hello)], :world)'`. +# +# ## Multiple replacements on same range: +# * replace ':hello' by ':hi', then +# * replace ':hello' by ':hey' +# +# The replacements are made in the order given, so the latter replacement +# supersedes the former and ':hello' will be replaced by ':hey'. +# +# This policy can be changed. `:different_replacements` defaults to `:accept` +# but can be set to `:warn` or `:raise`. +# +# ## Swallowed insertions: +# wrap 'world' by '__', '__' +# replace ':hello, :world' with ':hi' +# +# A containing replacement will swallow the contained rewriting actions +# and `':hello, :world'` will be replaced by `':hi'`. +# +# This policy can be changed for swallowed insertions. `:swallowed_insertions` +# defaults to `:accept` but can be set to `:warn` or `:raise` +# +# ## Implementation +# The updates are organized in a tree, according to the ranges they act on +# (where children are strictly contained by their parent), hence the name. +# +# @api public +# +# source://parser//lib/parser/source/tree_rewriter.rb#91 +class Parser::Source::TreeRewriter + extend ::Parser::Deprecation + + # @api public + # @param source_buffer [Source::Buffer] + # @return [TreeRewriter] a new instance of TreeRewriter + # + # source://parser//lib/parser/source/tree_rewriter.rb#98 + def initialize(source_buffer, crossing_deletions: T.unsafe(nil), different_replacements: T.unsafe(nil), swallowed_insertions: T.unsafe(nil)); end + + # Returns a representation of the rewriter as nested insertions (:wrap) and replacements. + # + # rewriter.as_actions # =>[ [:wrap, 1...10, '(', ')'], + # [:wrap, 2...6, '', '!'], # aka "insert_after" + # [:replace, 2...4, 'foo'], + # [:replace, 5...6, ''], # aka "removal" + # ], + # + # Contrary to `as_replacements`, this representation is sufficient to recreate exactly + # the rewriter. + # + # @api public + # @return [Array<(Symbol, Range, String{, String})>] + # + # source://parser//lib/parser/source/tree_rewriter.rb#299 + def as_nested_actions; end + + # Returns a representation of the rewriter as an ordered list of replacements. + # + # rewriter.as_replacements # => [ [1...1, '('], + # [2...4, 'foo'], + # [5...6, ''], + # [6...6, '!'], + # [10...10, ')'], + # ] + # + # This representation is sufficient to recreate the result of `process` but it is + # not sufficient to recreate completely the rewriter for further merging/actions. + # See `as_nested_actions` + # + # @api public + # @return [Array] an ordered list of pairs of range & replacement + # + # source://parser//lib/parser/source/tree_rewriter.rb#281 + def as_replacements; end + + # @api public + # @return [Diagnostic::Engine] + # + # source://parser//lib/parser/source/tree_rewriter.rb#93 + def diagnostics; end + + # Returns true iff no (non trivial) update has been recorded + # + # @api public + # @return [Boolean] + # + # source://parser//lib/parser/source/tree_rewriter.rb#125 + def empty?; end + + # For special cases where one needs to merge a rewriter attached to a different source_buffer + # or that needs to be offset. Policies of the receiver are used. + # + # @api public + # @param rewriter [TreeRewriter] from different source_buffer + # @param offset [Integer] + # @raise [IndexError] if action ranges (once offset) don't fit the current buffer + # @return [Rewriter] self + # + # source://parser//lib/parser/source/tree_rewriter.rb#168 + def import!(foreign_rewriter, offset: T.unsafe(nil)); end + + # @api public + # @return [Boolean] + # + # source://parser//lib/parser/source/tree_rewriter.rb#329 + def in_transaction?; end + + # Shortcut for `wrap(range, nil, content)` + # + # @api public + # @param range [Range] + # @param content [String] + # @raise [ClobberingError] when clobbering is detected + # @return [Rewriter] self + # + # source://parser//lib/parser/source/tree_rewriter.rb#242 + def insert_after(range, content); end + + # @api private + # @deprecated Use insert_after or wrap + # + # source://parser//lib/parser/source/tree_rewriter.rb#351 + def insert_after_multi(range, text); end + + # Shortcut for `wrap(range, content, nil)` + # + # @api public + # @param range [Range] + # @param content [String] + # @raise [ClobberingError] when clobbering is detected + # @return [Rewriter] self + # + # source://parser//lib/parser/source/tree_rewriter.rb#230 + def insert_before(range, content); end + + # @api private + # @deprecated Use insert_after or wrap + # + # source://parser//lib/parser/source/tree_rewriter.rb#342 + def insert_before_multi(range, text); end + + # @api public + # + # source://parser//lib/parser/source/tree_rewriter.rb#334 + def inspect; end + + # Returns a new rewriter that consists of the updates of the received + # and the given argument. Policies of the receiver are used. + # + # @api public + # @param with [Rewriter] + # @raise [ClobberingError] when clobbering is detected + # @return [Rewriter] merge of receiver and argument + # + # source://parser//lib/parser/source/tree_rewriter.rb#155 + def merge(with); end + + # Merges the updates of argument with the receiver. + # Policies of the receiver are used. + # This action is atomic in that it won't change the receiver + # unless it succeeds. + # + # @api public + # @param with [Rewriter] + # @raise [ClobberingError] when clobbering is detected + # @return [Rewriter] self + # + # source://parser//lib/parser/source/tree_rewriter.rb#139 + def merge!(with); end + + # Applies all scheduled changes to the `source_buffer` and returns + # modified source as a new string. + # + # @api public + # @return [String] + # + # source://parser//lib/parser/source/tree_rewriter.rb#252 + def process; end + + # Shortcut for `replace(range, '')` + # + # @api public + # @param range [Range] + # @raise [ClobberingError] when clobbering is detected + # @return [Rewriter] self + # + # source://parser//lib/parser/source/tree_rewriter.rb#217 + def remove(range); end + + # Replaces the code of the source range `range` with `content`. + # + # @api public + # @param range [Range] + # @param content [String] + # @raise [ClobberingError] when clobbering is detected + # @return [Rewriter] self + # + # source://parser//lib/parser/source/tree_rewriter.rb#193 + def replace(range, content); end + + # @api public + # @return [Source::Buffer] + # + # source://parser//lib/parser/source/tree_rewriter.rb#92 + def source_buffer; end + + # Provides a protected block where a sequence of multiple rewrite actions + # are handled atomically. If any of the actions failed by clobbering, + # all the actions are rolled back. Transactions can be nested. + # + # @api public + # @raise [RuntimeError] when no block is passed + # + # source://parser//lib/parser/source/tree_rewriter.rb#310 + def transaction; end + + # Inserts the given strings before and after the given range. + # + # @api public + # @param range [Range] + # @param insert_before [String, nil] + # @param insert_after [String, nil] + # @raise [ClobberingError] when clobbering is detected + # @return [Rewriter] self + # + # source://parser//lib/parser/source/tree_rewriter.rb#206 + def wrap(range, insert_before, insert_after); end + + protected + + # @api public + # + # source://parser//lib/parser/source/tree_rewriter.rb#365 + def action_root; end + + private + + # @api public + # + # source://parser//lib/parser/source/tree_rewriter.rb#369 + def action_summary; end + + # @api public + # @raise [ArgumentError] + # + # source://parser//lib/parser/source/tree_rewriter.rb#392 + def check_policy_validity; end + + # @api public + # + # source://parser//lib/parser/source/tree_rewriter.rb#404 + def check_range_validity(range); end + + # @api public + # + # source://parser//lib/parser/source/tree_rewriter.rb#397 + def combine(range, attributes); end + + # @api public + # + # source://parser//lib/parser/source/tree_rewriter.rb#411 + def enforce_policy(event); end + + # @api public + # @raise [Parser::ClobberingError] + # + # source://parser//lib/parser/source/tree_rewriter.rb#418 + def trigger_policy(event, range: T.unsafe(nil), conflict: T.unsafe(nil), **arguments); end +end + +# @api public +# +# source://parser//lib/parser/source/tree_rewriter.rb#391 +Parser::Source::TreeRewriter::ACTIONS = T.let(T.unsafe(nil), Array) + +# source://parser//lib/parser/source/tree_rewriter/action.rb#14 +class Parser::Source::TreeRewriter::Action + # source://parser//lib/parser/source/tree_rewriter/action.rb#17 + def initialize(range, enforcer, insert_before: T.unsafe(nil), replacement: T.unsafe(nil), insert_after: T.unsafe(nil), children: T.unsafe(nil)); end + + # source://parser//lib/parser/source/tree_rewriter/action.rb#29 + def combine(action); end + + # source://parser//lib/parser/source/tree_rewriter/action.rb#68 + def contract; end + + # source://parser//lib/parser/source/tree_rewriter/action.rb#34 + def empty?; end + + # source://parser//lib/parser/source/tree_rewriter/action.rb#15 + def insert_after; end + + # source://parser//lib/parser/source/tree_rewriter/action.rb#15 + def insert_before; end + + # source://parser//lib/parser/source/tree_rewriter/action.rb#58 + def insertion?; end + + # source://parser//lib/parser/source/tree_rewriter/action.rb#81 + def moved(source_buffer, offset); end + + # source://parser//lib/parser/source/tree_rewriter/action.rb#50 + def nested_actions; end + + # source://parser//lib/parser/source/tree_rewriter/action.rb#41 + def ordered_replacements; end + + # source://parser//lib/parser/source/tree_rewriter/action.rb#15 + def range; end + + # source://parser//lib/parser/source/tree_rewriter/action.rb#15 + def replacement; end + + protected + + # source://parser//lib/parser/source/tree_rewriter/action.rb#159 + def analyse_hierarchy(action); end + + # source://parser//lib/parser/source/tree_rewriter/action.rb#146 + def bsearch_child_index(from = T.unsafe(nil)); end + + # source://parser//lib/parser/source/tree_rewriter/action.rb#225 + def call_enforcer_for_merge(action); end + + # source://parser//lib/parser/source/tree_rewriter/action.rb#205 + def check_fusible(action, *fusible); end + + # source://parser//lib/parser/source/tree_rewriter/action.rb#95 + def children; end + + # source://parser//lib/parser/source/tree_rewriter/action.rb#130 + def combine_children(more_children); end + + # source://parser//lib/parser/source/tree_rewriter/action.rb#103 + def do_combine(action); end + + # source://parser//lib/parser/source/tree_rewriter/action.rb#136 + def fuse_deletions(action, fusible, other_sibblings); end + + # source://parser//lib/parser/source/tree_rewriter/action.rb#216 + def merge(action); end + + # source://parser//lib/parser/source/tree_rewriter/action.rb#111 + def place_in_hierarchy(action); end + + # source://parser//lib/parser/source/tree_rewriter/action.rb#233 + def swallow(children); end + + # source://parser//lib/parser/source/tree_rewriter/action.rb#97 + def with(range: T.unsafe(nil), enforcer: T.unsafe(nil), children: T.unsafe(nil), insert_before: T.unsafe(nil), replacement: T.unsafe(nil), insert_after: T.unsafe(nil)); end +end + +# @api public +# +# source://parser//lib/parser/source/tree_rewriter.rb#356 +Parser::Source::TreeRewriter::DEPRECATION_WARNING = T.let(T.unsafe(nil), String) + +# @api public +# +# source://parser//lib/parser/source/tree_rewriter.rb#417 +Parser::Source::TreeRewriter::POLICY_TO_LEVEL = T.let(T.unsafe(nil), Hash) + +# source://parser//lib/parser/static_environment.rb#5 +class Parser::StaticEnvironment + # @return [StaticEnvironment] a new instance of StaticEnvironment + # + # source://parser//lib/parser/static_environment.rb#17 + def initialize; end + + # source://parser//lib/parser/static_environment.rb#55 + def declare(name); end + + # Anonymous blockarg + # + # source://parser//lib/parser/static_environment.rb#77 + def declare_anonymous_blockarg; end + + # Anonymous kwresarg + # + # source://parser//lib/parser/static_environment.rb#113 + def declare_anonymous_kwrestarg; end + + # Anonymous restarg + # + # source://parser//lib/parser/static_environment.rb#95 + def declare_anonymous_restarg; end + + # Forward args + # + # source://parser//lib/parser/static_environment.rb#67 + def declare_forward_args; end + + # @return [Boolean] + # + # source://parser//lib/parser/static_environment.rb#61 + def declared?(name); end + + # @return [Boolean] + # + # source://parser//lib/parser/static_environment.rb#81 + def declared_anonymous_blockarg?; end + + # @return [Boolean] + # + # source://parser//lib/parser/static_environment.rb#85 + def declared_anonymous_blockarg_in_current_scpe?; end + + # @return [Boolean] + # + # source://parser//lib/parser/static_environment.rb#117 + def declared_anonymous_kwrestarg?; end + + # @return [Boolean] + # + # source://parser//lib/parser/static_environment.rb#121 + def declared_anonymous_kwrestarg_in_current_scope?; end + + # @return [Boolean] + # + # source://parser//lib/parser/static_environment.rb#99 + def declared_anonymous_restarg?; end + + # @return [Boolean] + # + # source://parser//lib/parser/static_environment.rb#103 + def declared_anonymous_restarg_in_current_scope?; end + + # @return [Boolean] + # + # source://parser//lib/parser/static_environment.rb#71 + def declared_forward_args?; end + + # @return [Boolean] + # + # source://parser//lib/parser/static_environment.rb#129 + def empty?; end + + # source://parser//lib/parser/static_environment.rb#33 + def extend_dynamic; end + + # source://parser//lib/parser/static_environment.rb#26 + def extend_static; end + + # @return [Boolean] + # + # source://parser//lib/parser/static_environment.rb#89 + def parent_has_anonymous_blockarg?; end + + # @return [Boolean] + # + # source://parser//lib/parser/static_environment.rb#125 + def parent_has_anonymous_kwrestarg?; end + + # @return [Boolean] + # + # source://parser//lib/parser/static_environment.rb#107 + def parent_has_anonymous_restarg?; end + + # source://parser//lib/parser/static_environment.rb#21 + def reset; end + + # source://parser//lib/parser/static_environment.rb#49 + def unextend; end +end + +# source://parser//lib/parser/static_environment.rb#15 +Parser::StaticEnvironment::ANONYMOUS_BLOCKARG_INHERITED = T.let(T.unsafe(nil), Symbol) + +# source://parser//lib/parser/static_environment.rb#14 +Parser::StaticEnvironment::ANONYMOUS_BLOCKARG_IN_CURRENT_SCOPE = T.let(T.unsafe(nil), Symbol) + +# source://parser//lib/parser/static_environment.rb#12 +Parser::StaticEnvironment::ANONYMOUS_KWRESTARG_INHERITED = T.let(T.unsafe(nil), Symbol) + +# source://parser//lib/parser/static_environment.rb#11 +Parser::StaticEnvironment::ANONYMOUS_KWRESTARG_IN_CURRENT_SCOPE = T.let(T.unsafe(nil), Symbol) + +# source://parser//lib/parser/static_environment.rb#9 +Parser::StaticEnvironment::ANONYMOUS_RESTARG_INHERITED = T.let(T.unsafe(nil), Symbol) + +# source://parser//lib/parser/static_environment.rb#8 +Parser::StaticEnvironment::ANONYMOUS_RESTARG_IN_CURRENT_SCOPE = T.let(T.unsafe(nil), Symbol) + +# source://parser//lib/parser/static_environment.rb#6 +Parser::StaticEnvironment::FORWARD_ARGS = T.let(T.unsafe(nil), Symbol) + +# {Parser::SyntaxError} is raised whenever parser detects a syntax error, +# similar to the standard SyntaxError class. +# +# @api public +# +# source://parser//lib/parser/syntax_error.rb#13 +class Parser::SyntaxError < ::StandardError + # @api public + # @return [SyntaxError] a new instance of SyntaxError + # + # source://parser//lib/parser/syntax_error.rb#16 + def initialize(diagnostic); end + + # @api public + # @return [Parser::Diagnostic] + # + # source://parser//lib/parser/syntax_error.rb#14 + def diagnostic; end +end + +# {Parser::TreeRewriter} offers a basic API that makes it easy to rewrite +# existing ASTs. It's built on top of {Parser::AST::Processor} and +# {Parser::Source::TreeRewriter} +# +# For example, assume you want to remove `do` tokens from a while statement. +# You can do this as following: +# +# require 'parser/current' +# +# class RemoveDo < Parser::TreeRewriter +# def on_while(node) +# # Check if the statement starts with "do" +# if node.location.begin.is?('do') +# remove(node.location.begin) +# end +# end +# end +# +# code = <<-EOF +# while true do +# puts 'hello' +# end +# EOF +# +# ast = Parser::CurrentRuby.parse code +# buffer = Parser::Source::Buffer.new('(example)', source: code) +# rewriter = RemoveDo.new +# +# # Rewrite the AST, returns a String with the new form. +# puts rewriter.rewrite(buffer, ast) +# +# This would result in the following Ruby code: +# +# while true +# puts 'hello' +# end +# +# Keep in mind that {Parser::TreeRewriter} does not take care of indentation when +# inserting/replacing code so you'll have to do this yourself. +# +# See also [a blog entry](http://whitequark.org/blog/2013/04/26/lets-play-with-ruby-code/) +# describing rewriters in greater detail. +# +# @api public +# +# source://parser//lib/parser/tree_rewriter.rb#51 +class Parser::TreeRewriter < ::Parser::AST::Processor + # Returns `true` if the specified node is an assignment node, returns false + # otherwise. + # + # @api public + # @param node [Parser::AST::Node] + # @return [Boolean] + # + # source://parser//lib/parser/tree_rewriter.rb#79 + def assignment?(node); end + + # Inserts new code after the given source range. + # + # @api public + # @param range [Parser::Source::Range] + # @param content [String] + # + # source://parser//lib/parser/tree_rewriter.rb#118 + def insert_after(range, content); end + + # Inserts new code before the given source range. + # + # @api public + # @param range [Parser::Source::Range] + # @param content [String] + # + # source://parser//lib/parser/tree_rewriter.rb#108 + def insert_before(range, content); end + + # Removes the source range. + # + # @api public + # @param range [Parser::Source::Range] + # + # source://parser//lib/parser/tree_rewriter.rb#88 + def remove(range); end + + # Replaces the code of the source range `range` with `content`. + # + # @api public + # @param range [Parser::Source::Range] + # @param content [String] + # + # source://parser//lib/parser/tree_rewriter.rb#128 + def replace(range, content); end + + # Rewrites the AST/source buffer and returns a String containing the new + # version. + # + # @api public + # @param source_buffer [Parser::Source::Buffer] + # @param ast [Parser::AST::Node] + # @param crossing_deletions:, [Symbol] different_replacements:, swallowed_insertions: + # policy arguments for TreeRewriter (optional) + # @return [String] + # + # source://parser//lib/parser/tree_rewriter.rb#62 + def rewrite(source_buffer, ast, **policy); end + + # Wraps the given source range with the given values. + # + # @api public + # @param range [Parser::Source::Range] + # @param content [String] + # + # source://parser//lib/parser/tree_rewriter.rb#98 + def wrap(range, before, after); end +end + +# {Parser::UnknownEncodingInMagicComment} is raised when a magic encoding +# comment is encountered that the currently running Ruby version doesn't +# recognize. It inherits from {ArgumentError} since that is the exception +# Ruby itself raises when trying to execute a file with an unknown encoding. +# As such, it is also not a {Parser::SyntaxError}. +# +# @api public +# +# source://parser//lib/parser/unknown_encoding_in_magic_comment_error.rb#13 +class Parser::UnknownEncodingInMagicComment < ::ArgumentError; end + +# source://parser//lib/parser/version.rb#4 +Parser::VERSION = T.let(T.unsafe(nil), String) + +# source://parser//lib/parser/variables_stack.rb#5 +class Parser::VariablesStack + # @return [VariablesStack] a new instance of VariablesStack + # + # source://parser//lib/parser/variables_stack.rb#6 + def initialize; end + + # source://parser//lib/parser/variables_stack.rb#27 + def declare(name); end + + # @return [Boolean] + # + # source://parser//lib/parser/variables_stack.rb#31 + def declared?(name); end + + # @return [Boolean] + # + # source://parser//lib/parser/variables_stack.rb#11 + def empty?; end + + # source://parser//lib/parser/variables_stack.rb#19 + def pop; end + + # source://parser//lib/parser/variables_stack.rb#15 + def push; end + + # source://parser//lib/parser/variables_stack.rb#23 + def reset; end +end diff --git a/sorbet/rbi/gems/rbi@0.2.3.rbi b/sorbet/rbi/gems/rbi@0.3.1.rbi similarity index 52% rename from sorbet/rbi/gems/rbi@0.2.3.rbi rename to sorbet/rbi/gems/rbi@0.3.1.rbi index 9b5a3f7a..336b78b3 100644 --- a/sorbet/rbi/gems/rbi@0.2.3.rbi +++ b/sorbet/rbi/gems/rbi@0.3.1.rbi @@ -5,24 +5,40 @@ # Please instead update this file by running `bin/tapioca gem rbi`. -# source://rbi/lib/rbi.rb#7 +# typed: true + +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `rbi` gem. +# Please instead update this file by running `spoom srb sigs export`. + +# source://rbi//lib/rbi.rb#8 module RBI; end -# source://rbi/lib/rbi/model.rb#1045 +# source://rbi//lib/rbi/model.rb#802 class RBI::Arg < ::RBI::Node - # source://rbi/lib/rbi/model.rb#1057 + # : (String value, ?loc: Loc?) -> void + # + # @return [Arg] a new instance of Arg + # + # source://rbi//lib/rbi/model.rb#807 sig { params(value: ::String, loc: T.nilable(::RBI::Loc)).void } def initialize(value, loc: T.unsafe(nil)); end - # source://rbi/lib/rbi/model.rb#1063 + # : (Object? other) -> bool + # + # source://rbi//lib/rbi/model.rb#813 sig { params(other: T.nilable(::Object)).returns(T::Boolean) } def ==(other); end - # source://rbi/lib/rbi/model.rb#1068 + # : -> String + # + # source://rbi//lib/rbi/model.rb#818 sig { returns(::String) } def to_s; end - # source://rbi/lib/rbi/model.rb#1049 + # : String + # + # source://rbi//lib/rbi/model.rb#804 sig { returns(::String) } def value; end end @@ -31,13 +47,17 @@ end # # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below. # -# source://rbi/lib/rbi/model.rb#351 +# source://rbi//lib/rbi/model.rb#298 class RBI::Attr < ::RBI::NodeWithComments include ::RBI::Indexable abstract! - # source://rbi/lib/rbi/model.rb#376 + # : (Symbol name, Array[Symbol] names, ?visibility: Visibility, ?sigs: Array[Sig], ?loc: Loc?, ?comments: Array[Comment]) -> void + # + # @return [Attr] a new instance of Attr + # + # source://rbi//lib/rbi/model.rb#314 sig do params( name: ::Symbol, @@ -50,50 +70,67 @@ class RBI::Attr < ::RBI::NodeWithComments end def initialize(name, names, visibility: T.unsafe(nil), sigs: T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil)); end - # source://rbi/lib/rbi/rewriters/merge_trees.rb#420 + # : (Node other) -> bool + # + # @return [Boolean] + # + # source://rbi//lib/rbi/rewriters/merge_trees.rb#394 sig { override.params(other: ::RBI::Node).returns(T::Boolean) } def compatible_with?(other); end # @abstract # - # source://rbi/lib/rbi/rewriters/attr_to_methods.rb#61 + # source://rbi//lib/rbi/rewriters/attr_to_methods.rb#58 sig { abstract.returns(T::Array[::RBI::Method]) } def convert_to_methods; end # @abstract # - # source://rbi/lib/rbi/model.rb#384 + # source://rbi//lib/rbi/model.rb#322 sig { abstract.returns(T::Array[::String]) } def fully_qualified_names; end - # source://rbi/lib/rbi/index.rb#113 + # : -> Array[String] + # + # source://rbi//lib/rbi/index.rb#109 sig { override.returns(T::Array[::String]) } def index_ids; end - # source://rbi/lib/rbi/rewriters/merge_trees.rb#428 + # : (Node other) -> void + # + # source://rbi//lib/rbi/rewriters/merge_trees.rb#403 sig { override.params(other: ::RBI::Node).void } def merge_with(other); end - # source://rbi/lib/rbi/model.rb#358 + # : Array[Symbol] + # + # source://rbi//lib/rbi/model.rb#305 sig { returns(T::Array[::Symbol]) } def names; end - # source://rbi/lib/rbi/model.rb#364 + # : Array[Sig] + # + # source://rbi//lib/rbi/model.rb#311 sig { returns(T::Array[::RBI::Sig]) } def sigs; end - # source://rbi/lib/rbi/model.rb#361 + # : Visibility + # + # source://rbi//lib/rbi/model.rb#308 sig { returns(::RBI::Visibility) } def visibility; end - # @return [Visibility] + # : Visibility # - # source://rbi/lib/rbi/model.rb#361 + # source://rbi//lib/rbi/model.rb#308 + # @return [Visibility] def visibility=(_arg0); end private - # source://rbi/lib/rbi/rewriters/attr_to_methods.rb#89 + # : (String name, Sig? sig, Visibility visibility, Loc? loc, Array[Comment] comments) -> Method + # + # source://rbi//lib/rbi/rewriters/attr_to_methods.rb#79 sig do params( name: ::String, @@ -105,7 +142,9 @@ class RBI::Attr < ::RBI::NodeWithComments end def create_getter_method(name, sig, visibility, loc, comments); end - # source://rbi/lib/rbi/rewriters/attr_to_methods.rb#110 + # : (String name, Sig? sig, (Type | String)? attribute_type, Visibility visibility, Loc? loc, Array[Comment] comments) -> Method + # + # source://rbi//lib/rbi/rewriters/attr_to_methods.rb#91 sig do params( name: ::String, @@ -118,16 +157,22 @@ class RBI::Attr < ::RBI::NodeWithComments end def create_setter_method(name, sig, attribute_type, visibility, loc, comments); end + # : -> [Sig?, (Type | String)?] + # # @raise [UnexpectedMultipleSigsError] # - # source://rbi/lib/rbi/rewriters/attr_to_methods.rb#66 + # source://rbi//lib/rbi/rewriters/attr_to_methods.rb#64 sig(:final) { returns([T.nilable(::RBI::Sig), T.nilable(T.any(::RBI::Type, ::String))]) } def parse_sig; end end -# source://rbi/lib/rbi/model.rb#387 +# source://rbi//lib/rbi/model.rb#325 class RBI::AttrAccessor < ::RBI::Attr - # source://rbi/lib/rbi/model.rb#401 + # : (Symbol name, *Symbol names, ?visibility: Visibility, ?sigs: Array[Sig], ?loc: Loc?, ?comments: Array[Comment]) ?{ (AttrAccessor node) -> void } -> void + # + # @return [AttrAccessor] a new instance of AttrAccessor + # + # source://rbi//lib/rbi/model.rb#327 sig do params( name: ::Symbol, @@ -141,26 +186,40 @@ class RBI::AttrAccessor < ::RBI::Attr end def initialize(name, *names, visibility: T.unsafe(nil), sigs: T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end - # source://rbi/lib/rbi/rewriters/merge_trees.rb#460 + # : (Node other) -> bool + # + # @return [Boolean] + # + # source://rbi//lib/rbi/rewriters/merge_trees.rb#432 sig { override.params(other: ::RBI::Node).returns(T::Boolean) } def compatible_with?(other); end - # source://rbi/lib/rbi/rewriters/attr_to_methods.rb#140 + # : -> Array[Method] + # + # source://rbi//lib/rbi/rewriters/attr_to_methods.rb#122 sig { override.returns(T::Array[::RBI::Method]) } def convert_to_methods; end - # source://rbi/lib/rbi/model.rb#407 + # : -> Array[String] + # + # source://rbi//lib/rbi/model.rb#334 sig { override.returns(T::Array[::String]) } def fully_qualified_names; end - # source://rbi/lib/rbi/model.rb#413 + # : -> String + # + # source://rbi//lib/rbi/model.rb#341 sig { override.returns(::String) } def to_s; end end -# source://rbi/lib/rbi/model.rb#419 +# source://rbi//lib/rbi/model.rb#347 class RBI::AttrReader < ::RBI::Attr - # source://rbi/lib/rbi/model.rb#433 + # : (Symbol name, *Symbol names, ?visibility: Visibility, ?sigs: Array[Sig], ?loc: Loc?, ?comments: Array[Comment]) ?{ (AttrReader node) -> void } -> void + # + # @return [AttrReader] a new instance of AttrReader + # + # source://rbi//lib/rbi/model.rb#349 sig do params( name: ::Symbol, @@ -174,26 +233,40 @@ class RBI::AttrReader < ::RBI::Attr end def initialize(name, *names, visibility: T.unsafe(nil), sigs: T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end - # source://rbi/lib/rbi/rewriters/merge_trees.rb#442 + # : (Node other) -> bool + # + # @return [Boolean] + # + # source://rbi//lib/rbi/rewriters/merge_trees.rb#416 sig { override.params(other: ::RBI::Node).returns(T::Boolean) } def compatible_with?(other); end - # source://rbi/lib/rbi/rewriters/attr_to_methods.rb#154 + # : -> Array[Method] + # + # source://rbi//lib/rbi/rewriters/attr_to_methods.rb#137 sig { override.returns(T::Array[::RBI::Method]) } def convert_to_methods; end - # source://rbi/lib/rbi/model.rb#439 + # : -> Array[String] + # + # source://rbi//lib/rbi/model.rb#356 sig { override.returns(T::Array[::String]) } def fully_qualified_names; end - # source://rbi/lib/rbi/model.rb#445 + # : -> String + # + # source://rbi//lib/rbi/model.rb#363 sig { override.returns(::String) } def to_s; end end -# source://rbi/lib/rbi/model.rb#451 +# source://rbi//lib/rbi/model.rb#369 class RBI::AttrWriter < ::RBI::Attr - # source://rbi/lib/rbi/model.rb#465 + # : (Symbol name, *Symbol names, ?visibility: Visibility, ?sigs: Array[Sig], ?loc: Loc?, ?comments: Array[Comment]) ?{ (AttrWriter node) -> void } -> void + # + # @return [AttrWriter] a new instance of AttrWriter + # + # source://rbi//lib/rbi/model.rb#371 sig do params( name: ::Symbol, @@ -207,35 +280,53 @@ class RBI::AttrWriter < ::RBI::Attr end def initialize(name, *names, visibility: T.unsafe(nil), sigs: T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end - # source://rbi/lib/rbi/rewriters/merge_trees.rb#451 + # : (Node other) -> bool + # + # @return [Boolean] + # + # source://rbi//lib/rbi/rewriters/merge_trees.rb#424 sig { override.params(other: ::RBI::Node).returns(T::Boolean) } def compatible_with?(other); end - # source://rbi/lib/rbi/rewriters/attr_to_methods.rb#163 + # : -> Array[Method] + # + # source://rbi//lib/rbi/rewriters/attr_to_methods.rb#147 sig { override.returns(T::Array[::RBI::Method]) } def convert_to_methods; end - # source://rbi/lib/rbi/model.rb#471 + # : -> Array[String] + # + # source://rbi//lib/rbi/model.rb#378 sig { override.returns(T::Array[::String]) } def fully_qualified_names; end - # source://rbi/lib/rbi/model.rb#477 + # : -> String + # + # source://rbi//lib/rbi/model.rb#385 sig { override.returns(::String) } def to_s; end end # An arbitrary blank line that can be added both in trees and comments # -# source://rbi/lib/rbi/model.rb#76 +# source://rbi//lib/rbi/model.rb#73 class RBI::BlankLine < ::RBI::Comment - # source://rbi/lib/rbi/model.rb#80 + # : (?loc: Loc?) -> void + # + # @return [BlankLine] a new instance of BlankLine + # + # source://rbi//lib/rbi/model.rb#75 sig { params(loc: T.nilable(::RBI::Loc)).void } def initialize(loc: T.unsafe(nil)); end end -# source://rbi/lib/rbi/model.rb#816 +# source://rbi//lib/rbi/model.rb#642 class RBI::BlockParam < ::RBI::Param - # source://rbi/lib/rbi/model.rb#827 + # : (String name, ?loc: Loc?, ?comments: Array[Comment]) ?{ (BlockParam node) -> void } -> void + # + # @return [BlockParam] a new instance of BlockParam + # + # source://rbi//lib/rbi/model.rb#644 sig do params( name: ::String, @@ -246,18 +337,26 @@ class RBI::BlockParam < ::RBI::Param end def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end - # source://rbi/lib/rbi/model.rb#838 + # : (Object? other) -> bool + # + # source://rbi//lib/rbi/model.rb#656 sig { params(other: T.nilable(::Object)).returns(T::Boolean) } def ==(other); end - # source://rbi/lib/rbi/model.rb#833 + # : -> String + # + # source://rbi//lib/rbi/model.rb#651 sig { override.returns(::String) } def to_s; end end -# source://rbi/lib/rbi/model.rb#220 +# source://rbi//lib/rbi/model.rb#202 class RBI::Class < ::RBI::Scope - # source://rbi/lib/rbi/model.rb#238 + # : (String name, ?superclass_name: String?, ?loc: Loc?, ?comments: Array[Comment]) ?{ (Class node) -> void } -> void + # + # @return [Class] a new instance of Class + # + # source://rbi//lib/rbi/model.rb#210 sig do params( name: ::String, @@ -269,50 +368,71 @@ class RBI::Class < ::RBI::Scope end def initialize(name, superclass_name: T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end - # source://rbi/lib/rbi/rewriters/merge_trees.rb#384 + # : (Node other) -> bool + # + # @return [Boolean] + # + # source://rbi//lib/rbi/rewriters/merge_trees.rb#362 sig { override.params(other: ::RBI::Node).returns(T::Boolean) } def compatible_with?(other); end - # source://rbi/lib/rbi/model.rb#246 + # : -> String + # + # source://rbi//lib/rbi/model.rb#219 sig { override.returns(::String) } def fully_qualified_name; end - # source://rbi/lib/rbi/model.rb#224 + # : String + # + # source://rbi//lib/rbi/model.rb#204 sig { returns(::String) } def name; end - # @return [String] + # : String # - # source://rbi/lib/rbi/model.rb#224 + # source://rbi//lib/rbi/model.rb#204 + # @return [String] def name=(_arg0); end - # source://rbi/lib/rbi/model.rb#227 + # : String? + # + # source://rbi//lib/rbi/model.rb#207 sig { returns(T.nilable(::String)) } def superclass_name; end - # @return [String, nil] + # : String? # - # source://rbi/lib/rbi/model.rb#227 + # source://rbi//lib/rbi/model.rb#207 + # @return [String, nil] def superclass_name=(_arg0); end end -# source://rbi/lib/rbi/model.rb#55 +# source://rbi//lib/rbi/model.rb#54 class RBI::Comment < ::RBI::Node - # source://rbi/lib/rbi/model.rb#62 + # : (String text, ?loc: Loc?) -> void + # + # @return [Comment] a new instance of Comment + # + # source://rbi//lib/rbi/model.rb#59 sig { params(text: ::String, loc: T.nilable(::RBI::Loc)).void } def initialize(text, loc: T.unsafe(nil)); end - # source://rbi/lib/rbi/model.rb#68 + # : (Object other) -> bool + # + # source://rbi//lib/rbi/model.rb#65 sig { params(other: ::Object).returns(T::Boolean) } def ==(other); end - # source://rbi/lib/rbi/model.rb#59 + # : String + # + # source://rbi//lib/rbi/model.rb#56 sig { returns(::String) } def text; end - # @return [String] + # : String # - # source://rbi/lib/rbi/model.rb#59 + # source://rbi//lib/rbi/model.rb#56 + # @return [String] def text=(_arg0); end end @@ -331,38 +451,64 @@ end # end # ~~~ # -# source://rbi/lib/rbi/rewriters/merge_trees.rb#583 +# source://rbi//lib/rbi/rewriters/merge_trees.rb#546 +# A tree showing incompatibles nodes +# Is rendered as a merge conflict between `left` and` right`: +# ~~~rb +# class Foo +# <<<<<<< left +# def m1; end +# def m2(a); end +# ======= +# def m1(a); end +# def m2; end +# >>>>>>> right +# end class RBI::ConflictTree < ::RBI::Tree - # source://rbi/lib/rbi/rewriters/merge_trees.rb#593 + # : (?left_name: String, ?right_name: String) -> void + # + # @return [ConflictTree] a new instance of ConflictTree + # + # source://rbi//lib/rbi/rewriters/merge_trees.rb#554 sig { params(left_name: ::String, right_name: ::String).void } def initialize(left_name: T.unsafe(nil), right_name: T.unsafe(nil)); end - # source://rbi/lib/rbi/rewriters/merge_trees.rb#587 + # : Tree + # + # source://rbi//lib/rbi/rewriters/merge_trees.rb#548 sig { returns(::RBI::Tree) } def left; end - # source://rbi/lib/rbi/rewriters/merge_trees.rb#590 + # : String + # + # source://rbi//lib/rbi/rewriters/merge_trees.rb#551 sig { returns(::String) } def left_name; end - # @return [Tree] + # : Tree # - # source://rbi/lib/rbi/rewriters/merge_trees.rb#587 + # source://rbi//lib/rbi/rewriters/merge_trees.rb#548 + # @return [Tree] def right; end - # @return [String] + # : String # - # source://rbi/lib/rbi/rewriters/merge_trees.rb#590 + # source://rbi//lib/rbi/rewriters/merge_trees.rb#551 + # @return [String] def right_name; end end # Consts # -# source://rbi/lib/rbi/model.rb#314 +# source://rbi//lib/rbi/model.rb#270 class RBI::Const < ::RBI::NodeWithComments include ::RBI::Indexable - # source://rbi/lib/rbi/model.rb#329 + # : (String name, String value, ?loc: Loc?, ?comments: Array[Comment]) ?{ (Const node) -> void } -> void + # + # @return [Const] a new instance of Const + # + # source://rbi//lib/rbi/model.rb#275 sig do params( name: ::String, @@ -374,43 +520,60 @@ class RBI::Const < ::RBI::NodeWithComments end def initialize(name, value, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end - # source://rbi/lib/rbi/rewriters/merge_trees.rb#411 + # : (Node other) -> bool + # + # @return [Boolean] + # + # source://rbi//lib/rbi/rewriters/merge_trees.rb#386 sig { override.params(other: ::RBI::Node).returns(T::Boolean) } def compatible_with?(other); end - # source://rbi/lib/rbi/model.rb#337 + # : -> String + # + # source://rbi//lib/rbi/model.rb#283 sig { returns(::String) } def fully_qualified_name; end - # source://rbi/lib/rbi/index.rb#103 + # : -> Array[String] + # + # source://rbi//lib/rbi/index.rb#99 sig { override.returns(T::Array[::String]) } def index_ids; end - # source://rbi/lib/rbi/model.rb#318 + # : String + # + # source://rbi//lib/rbi/model.rb#272 sig { returns(::String) } def name; end - # source://rbi/lib/rbi/model.rb#344 + # : -> String + # + # source://rbi//lib/rbi/model.rb#291 sig { override.returns(::String) } def to_s; end - # @return [String] + # : String # - # source://rbi/lib/rbi/model.rb#318 + # source://rbi//lib/rbi/model.rb#272 + # @return [String] def value; end end -# source://rbi/lib/rbi/rewriters/merge_trees.rb#351 +# source://rbi//lib/rbi/rewriters/merge_trees.rb#332 class RBI::DuplicateNodeError < ::RBI::Error; end -# source://rbi/lib/rbi.rb#8 +# source://rbi//lib/rbi.rb#9 class RBI::Error < ::StandardError; end -# source://rbi/lib/rbi/model.rb#891 +# source://rbi//lib/rbi/model.rb#692 class RBI::Extend < ::RBI::Mixin include ::RBI::Indexable - # source://rbi/lib/rbi/model.rb#903 + # : (String name, *String names, ?loc: Loc?, ?comments: Array[Comment]) ?{ (Extend node) -> void } -> void + # + # @return [Extend] a new instance of Extend + # + # source://rbi//lib/rbi/model.rb#694 sig do params( name: ::String, @@ -422,22 +585,34 @@ class RBI::Extend < ::RBI::Mixin end def initialize(name, *names, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end - # source://rbi/lib/rbi/rewriters/merge_trees.rb#510 + # : (Node other) -> bool + # + # @return [Boolean] + # + # source://rbi//lib/rbi/rewriters/merge_trees.rb#479 sig { override.params(other: ::RBI::Node).returns(T::Boolean) } def compatible_with?(other); end - # source://rbi/lib/rbi/index.rb#143 + # : -> Array[String] + # + # source://rbi//lib/rbi/index.rb#139 sig { override.returns(T::Array[::String]) } def index_ids; end - # source://rbi/lib/rbi/model.rb#909 + # : -> String + # + # source://rbi//lib/rbi/model.rb#701 sig { override.returns(::String) } def to_s; end end -# source://rbi/lib/rbi/model.rb#139 +# source://rbi//lib/rbi/model.rb#135 class RBI::File - # source://rbi/lib/rbi/model.rb#158 + # : (?strictness: String?, ?comments: Array[Comment]) ?{ (File file) -> void } -> void + # + # @return [File] a new instance of File + # + # source://rbi//lib/rbi/model.rb#146 sig do params( strictness: T.nilable(::String), @@ -447,24 +622,35 @@ class RBI::File end def initialize(strictness: T.unsafe(nil), comments: T.unsafe(nil), &block); end - # source://rbi/lib/rbi/model.rb#166 + # : (Node node) -> void + # + # source://rbi//lib/rbi/model.rb#154 sig { params(node: ::RBI::Node).void } def <<(node); end - # source://rbi/lib/rbi/model.rb#149 + # : Array[Comment] + # + # source://rbi//lib/rbi/model.rb#143 sig { returns(T::Array[::RBI::Comment]) } def comments; end - # @return [Array] + # : Array[Comment] # - # source://rbi/lib/rbi/model.rb#149 + # source://rbi//lib/rbi/model.rb#143 + # @return [Array] def comments=(_arg0); end - # source://rbi/lib/rbi/model.rb#171 + # : -> bool + # + # @return [Boolean] + # + # source://rbi//lib/rbi/model.rb#159 sig { returns(T::Boolean) } def empty?; end - # source://rbi/lib/rbi/printer.rb#751 + # : (?out: (IO | StringIO), ?indent: Integer, ?print_locs: bool, ?max_line_length: Integer?) -> void + # + # source://rbi//lib/rbi/printer.rb#794 sig do params( out: T.any(::IO, ::StringIO), @@ -475,40 +661,56 @@ class RBI::File end def print(out: T.unsafe(nil), indent: T.unsafe(nil), print_locs: T.unsafe(nil), max_line_length: T.unsafe(nil)); end - # source://rbi/lib/rbi/rbs_printer.rb#1040 + # : (?out: (IO | StringIO), ?indent: Integer, ?print_locs: bool) -> void + # + # source://rbi//lib/rbi/rbs_printer.rb#1106 sig { params(out: T.any(::IO, ::StringIO), indent: ::Integer, print_locs: T::Boolean).void } def rbs_print(out: T.unsafe(nil), indent: T.unsafe(nil), print_locs: T.unsafe(nil)); end - # source://rbi/lib/rbi/rbs_printer.rb#1046 + # : (?indent: Integer, ?print_locs: bool) -> String + # + # source://rbi//lib/rbi/rbs_printer.rb#1112 sig { params(indent: ::Integer, print_locs: T::Boolean).returns(::String) } def rbs_string(indent: T.unsafe(nil), print_locs: T.unsafe(nil)); end - # source://rbi/lib/rbi/model.rb#143 + # : Tree + # + # source://rbi//lib/rbi/model.rb#137 sig { returns(::RBI::Tree) } def root; end - # @return [Tree] + # : Tree # - # source://rbi/lib/rbi/model.rb#143 + # source://rbi//lib/rbi/model.rb#137 + # @return [Tree] def root=(_arg0); end - # source://rbi/lib/rbi/model.rb#146 + # : String? + # + # source://rbi//lib/rbi/model.rb#140 sig { returns(T.nilable(::String)) } def strictness; end - # @return [String, nil] + # : String? # - # source://rbi/lib/rbi/model.rb#146 + # source://rbi//lib/rbi/model.rb#140 + # @return [String, nil] def strictness=(_arg0); end - # source://rbi/lib/rbi/printer.rb#757 + # : (?indent: Integer, ?print_locs: bool, ?max_line_length: Integer?) -> String + # + # source://rbi//lib/rbi/printer.rb#800 sig { params(indent: ::Integer, print_locs: T::Boolean, max_line_length: T.nilable(::Integer)).returns(::String) } def string(indent: T.unsafe(nil), print_locs: T.unsafe(nil), max_line_length: T.unsafe(nil)); end end -# source://rbi/lib/rbi/formatter.rb#5 +# source://rbi//lib/rbi/formatter.rb#5 class RBI::Formatter - # source://rbi/lib/rbi/formatter.rb#21 + # : (?add_sig_templates: bool, ?group_nodes: bool, ?max_line_length: Integer?, ?nest_singleton_methods: bool, ?nest_non_public_members: bool, ?sort_nodes: bool) -> void + # + # @return [Formatter] a new instance of Formatter + # + # source://rbi//lib/rbi/formatter.rb#10 sig do params( add_sig_templates: T::Boolean, @@ -521,40 +723,55 @@ class RBI::Formatter end def initialize(add_sig_templates: T.unsafe(nil), group_nodes: T.unsafe(nil), max_line_length: T.unsafe(nil), nest_singleton_methods: T.unsafe(nil), nest_non_public_members: T.unsafe(nil), sort_nodes: T.unsafe(nil)); end - # source://rbi/lib/rbi/formatter.rb#44 + # : (RBI::File file) -> void + # + # source://rbi//lib/rbi/formatter.rb#33 sig { params(file: ::RBI::File).void } def format_file(file); end - # source://rbi/lib/rbi/formatter.rb#49 + # : (RBI::Tree tree) -> void + # + # source://rbi//lib/rbi/formatter.rb#38 sig { params(tree: ::RBI::Tree).void } def format_tree(tree); end - # source://rbi/lib/rbi/formatter.rb#9 + # : Integer? + # + # source://rbi//lib/rbi/formatter.rb#7 sig { returns(T.nilable(::Integer)) } def max_line_length; end - # @return [Integer, nil] + # : Integer? # - # source://rbi/lib/rbi/formatter.rb#9 + # source://rbi//lib/rbi/formatter.rb#7 + # @return [Integer, nil] def max_line_length=(_arg0); end - # source://rbi/lib/rbi/formatter.rb#38 + # : (RBI::File file) -> String + # + # source://rbi//lib/rbi/formatter.rb#27 sig { params(file: ::RBI::File).returns(::String) } def print_file(file); end end -# source://rbi/lib/rbi/rewriters/group_nodes.rb#87 +# source://rbi//lib/rbi/rewriters/group_nodes.rb#84 class RBI::Group < ::RBI::Tree - # source://rbi/lib/rbi/rewriters/group_nodes.rb#94 + # : (Kind kind) -> void + # + # @return [Group] a new instance of Group + # + # source://rbi//lib/rbi/rewriters/group_nodes.rb#89 sig { params(kind: ::RBI::Group::Kind).void } def initialize(kind); end - # source://rbi/lib/rbi/rewriters/group_nodes.rb#91 + # : Kind + # + # source://rbi//lib/rbi/rewriters/group_nodes.rb#86 sig { returns(::RBI::Group::Kind) } def kind; end end -# source://rbi/lib/rbi/rewriters/group_nodes.rb#99 +# source://rbi//lib/rbi/rewriters/group_nodes.rb#94 class RBI::Group::Kind < ::T::Enum enums do Attrs = new @@ -573,16 +790,20 @@ class RBI::Group::Kind < ::T::Enum end end -# source://rbi/lib/rbi/rewriters/group_nodes.rb#5 +# source://rbi//lib/rbi/rewriters/group_nodes.rb#5 class RBI::GroupNodesError < ::RBI::Error; end # Sorbet's misc. # -# source://rbi/lib/rbi/model.rb#1377 +# source://rbi//lib/rbi/model.rb#1042 class RBI::Helper < ::RBI::NodeWithComments include ::RBI::Indexable - # source://rbi/lib/rbi/model.rb#1391 + # : (String name, ?loc: Loc?, ?comments: Array[Comment]) ?{ (Helper node) -> void } -> void + # + # @return [Helper] a new instance of Helper + # + # source://rbi//lib/rbi/model.rb#1047 sig do params( name: ::String, @@ -593,28 +814,42 @@ class RBI::Helper < ::RBI::NodeWithComments end def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end - # source://rbi/lib/rbi/rewriters/merge_trees.rb#528 + # : (Node other) -> bool + # + # @return [Boolean] + # + # source://rbi//lib/rbi/rewriters/merge_trees.rb#495 sig { override.params(other: ::RBI::Node).returns(T::Boolean) } def compatible_with?(other); end - # source://rbi/lib/rbi/index.rb#173 + # : -> Array[String] + # + # source://rbi//lib/rbi/index.rb#169 sig { override.returns(T::Array[::String]) } def index_ids; end - # source://rbi/lib/rbi/model.rb#1381 + # : String + # + # source://rbi//lib/rbi/model.rb#1044 sig { returns(::String) } def name; end - # source://rbi/lib/rbi/model.rb#1398 + # : -> String + # + # source://rbi//lib/rbi/model.rb#1055 sig { override.returns(::String) } def to_s; end end -# source://rbi/lib/rbi/model.rb#868 +# source://rbi//lib/rbi/model.rb#678 class RBI::Include < ::RBI::Mixin include ::RBI::Indexable - # source://rbi/lib/rbi/model.rb#880 + # : (String name, *String names, ?loc: Loc?, ?comments: Array[Comment]) ?{ (Include node) -> void } -> void + # + # @return [Include] a new instance of Include + # + # source://rbi//lib/rbi/model.rb#680 sig do params( name: ::String, @@ -626,49 +861,73 @@ class RBI::Include < ::RBI::Mixin end def initialize(name, *names, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end - # source://rbi/lib/rbi/rewriters/merge_trees.rb#501 + # : (Node other) -> bool + # + # @return [Boolean] + # + # source://rbi//lib/rbi/rewriters/merge_trees.rb#471 sig { override.params(other: ::RBI::Node).returns(T::Boolean) } def compatible_with?(other); end - # source://rbi/lib/rbi/index.rb#133 + # : -> Array[String] + # + # source://rbi//lib/rbi/index.rb#129 sig { override.returns(T::Array[::String]) } def index_ids; end - # source://rbi/lib/rbi/model.rb#886 + # : -> String + # + # source://rbi//lib/rbi/model.rb#687 sig { override.returns(::String) } def to_s; end end -# source://rbi/lib/rbi/index.rb#5 +# source://rbi//lib/rbi/index.rb#5 class RBI::Index < ::RBI::Visitor - # source://rbi/lib/rbi/index.rb#21 + # : -> void + # + # @return [Index] a new instance of Index + # + # source://rbi//lib/rbi/index.rb#18 sig { void } def initialize; end - # source://rbi/lib/rbi/index.rb#32 + # : (String id) -> Array[Node] + # + # source://rbi//lib/rbi/index.rb#29 sig { params(id: ::String).returns(T::Array[::RBI::Node]) } def [](id); end - # source://rbi/lib/rbi/index.rb#37 + # : (*Node nodes) -> void + # + # source://rbi//lib/rbi/index.rb#34 sig { params(nodes: ::RBI::Node).void } def index(*nodes); end - # source://rbi/lib/rbi/index.rb#27 + # : -> Array[String] + # + # source://rbi//lib/rbi/index.rb#24 sig { returns(T::Array[::String]) } def keys; end - # source://rbi/lib/rbi/index.rb#42 + # : (Node? node) -> void + # + # source://rbi//lib/rbi/index.rb#40 sig { override.params(node: T.nilable(::RBI::Node)).void } def visit(node); end private - # source://rbi/lib/rbi/index.rb#59 + # : ((Indexable & Node) node) -> void + # + # source://rbi//lib/rbi/index.rb#57 sig { params(node: T.all(::RBI::Indexable, ::RBI::Node)).void } def index_node(node); end class << self - # source://rbi/lib/rbi/index.rb#13 + # : (*Node node) -> Index + # + # source://rbi//lib/rbi/index.rb#10 sig { params(node: ::RBI::Node).returns(::RBI::Index) } def index(*node); end end @@ -678,7 +937,7 @@ end # # @abstract Subclasses must implement the `abstract` methods below. # -# source://rbi/lib/rbi/index.rb#74 +# source://rbi//lib/rbi/index.rb#70 module RBI::Indexable interface! @@ -689,33 +948,49 @@ module RBI::Indexable # # @abstract # - # source://rbi/lib/rbi/index.rb#85 + # source://rbi//lib/rbi/index.rb#81 + # Unique IDs that refer to this node. + # Some nodes can have multiple ids, for example an attribute accessor matches the ID of the sig { abstract.returns(T::Array[::String]) } def index_ids; end end -# source://rbi/lib/rbi/model.rb#1073 +# source://rbi//lib/rbi/model.rb#823 class RBI::KwArg < ::RBI::Arg - # source://rbi/lib/rbi/model.rb#1086 + # : (String keyword, String value, ?loc: Loc?) -> void + # + # @return [KwArg] a new instance of KwArg + # + # source://rbi//lib/rbi/model.rb#828 sig { params(keyword: ::String, value: ::String, loc: T.nilable(::RBI::Loc)).void } def initialize(keyword, value, loc: T.unsafe(nil)); end - # source://rbi/lib/rbi/model.rb#1092 + # : (Object? other) -> bool + # + # source://rbi//lib/rbi/model.rb#834 sig { params(other: T.nilable(::Object)).returns(T::Boolean) } def ==(other); end - # source://rbi/lib/rbi/model.rb#1077 + # : String + # + # source://rbi//lib/rbi/model.rb#825 sig { returns(::String) } def keyword; end - # source://rbi/lib/rbi/model.rb#1097 + # : -> String + # + # source://rbi//lib/rbi/model.rb#839 sig { returns(::String) } def to_s; end end -# source://rbi/lib/rbi/model.rb#757 +# source://rbi//lib/rbi/model.rb#600 class RBI::KwOptParam < ::RBI::Param - # source://rbi/lib/rbi/model.rb#772 + # : (String name, String value, ?loc: Loc?, ?comments: Array[Comment]) ?{ (KwOptParam node) -> void } -> void + # + # @return [KwOptParam] a new instance of KwOptParam + # + # source://rbi//lib/rbi/model.rb#605 sig do params( name: ::String, @@ -727,22 +1002,32 @@ class RBI::KwOptParam < ::RBI::Param end def initialize(name, value, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end - # source://rbi/lib/rbi/model.rb#784 + # : (Object? other) -> bool + # + # source://rbi//lib/rbi/model.rb#618 sig { params(other: T.nilable(::Object)).returns(T::Boolean) } def ==(other); end - # source://rbi/lib/rbi/model.rb#779 + # : -> String + # + # source://rbi//lib/rbi/model.rb#613 sig { override.returns(::String) } def to_s; end - # source://rbi/lib/rbi/model.rb#761 + # : String + # + # source://rbi//lib/rbi/model.rb#602 sig { returns(::String) } def value; end end -# source://rbi/lib/rbi/model.rb#730 +# source://rbi//lib/rbi/model.rb#581 class RBI::KwParam < ::RBI::Param - # source://rbi/lib/rbi/model.rb#741 + # : (String name, ?loc: Loc?, ?comments: Array[Comment]) ?{ (KwParam node) -> void } -> void + # + # @return [KwParam] a new instance of KwParam + # + # source://rbi//lib/rbi/model.rb#583 sig do params( name: ::String, @@ -753,18 +1038,26 @@ class RBI::KwParam < ::RBI::Param end def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end - # source://rbi/lib/rbi/model.rb#752 + # : (Object? other) -> bool + # + # source://rbi//lib/rbi/model.rb#595 sig { params(other: T.nilable(::Object)).returns(T::Boolean) } def ==(other); end - # source://rbi/lib/rbi/model.rb#747 + # : -> String + # + # source://rbi//lib/rbi/model.rb#590 sig { override.returns(::String) } def to_s; end end -# source://rbi/lib/rbi/model.rb#789 +# source://rbi//lib/rbi/model.rb#623 class RBI::KwRestParam < ::RBI::Param - # source://rbi/lib/rbi/model.rb#800 + # : (String name, ?loc: Loc?, ?comments: Array[Comment]) ?{ (KwRestParam node) -> void } -> void + # + # @return [KwRestParam] a new instance of KwRestParam + # + # source://rbi//lib/rbi/model.rb#625 sig do params( name: ::String, @@ -775,18 +1068,26 @@ class RBI::KwRestParam < ::RBI::Param end def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end - # source://rbi/lib/rbi/model.rb#811 + # : (Object? other) -> bool + # + # source://rbi//lib/rbi/model.rb#637 sig { params(other: T.nilable(::Object)).returns(T::Boolean) } def ==(other); end - # source://rbi/lib/rbi/model.rb#806 + # : -> String + # + # source://rbi//lib/rbi/model.rb#632 sig { override.returns(::String) } def to_s; end end -# source://rbi/lib/rbi/loc.rb#5 +# source://rbi//lib/rbi/loc.rb#5 class RBI::Loc - # source://rbi/lib/rbi/loc.rb#38 + # : (?file: String?, ?begin_line: Integer?, ?end_line: Integer?, ?begin_column: Integer?, ?end_column: Integer?) -> void + # + # @return [Loc] a new instance of Loc + # + # source://rbi//lib/rbi/loc.rb#26 sig do params( file: T.nilable(::String), @@ -798,39 +1099,52 @@ class RBI::Loc end def initialize(file: T.unsafe(nil), begin_line: T.unsafe(nil), end_line: T.unsafe(nil), begin_column: T.unsafe(nil), end_column: T.unsafe(nil)); end - # @return [Integer, nil] + # : Integer? # - # source://rbi/lib/rbi/loc.rb#27 + # source://rbi//lib/rbi/loc.rb#23 + # @return [Integer, nil] def begin_column; end - # source://rbi/lib/rbi/loc.rb#27 + # : Integer? + # + # source://rbi//lib/rbi/loc.rb#23 sig { returns(T.nilable(::Integer)) } def begin_line; end - # @return [Integer, nil] + # : Integer? # - # source://rbi/lib/rbi/loc.rb#27 + # source://rbi//lib/rbi/loc.rb#23 + # @return [Integer, nil] def end_column; end - # @return [Integer, nil] + # : Integer? # - # source://rbi/lib/rbi/loc.rb#27 + # source://rbi//lib/rbi/loc.rb#23 + # @return [Integer, nil] def end_line; end - # source://rbi/lib/rbi/loc.rb#24 + # : String? + # + # source://rbi//lib/rbi/loc.rb#20 sig { returns(T.nilable(::String)) } def file; end - # source://rbi/lib/rbi/loc.rb#56 + # : -> String? + # + # source://rbi//lib/rbi/loc.rb#44 sig { returns(T.nilable(::String)) } def source; end - # source://rbi/lib/rbi/loc.rb#47 + # : -> String + # + # source://rbi//lib/rbi/loc.rb#35 sig { returns(::String) } def to_s; end class << self - # source://rbi/lib/rbi/loc.rb#12 + # : (String file, Prism::Location prism_location) -> Loc + # + # source://rbi//lib/rbi/loc.rb#8 sig { params(file: ::String, prism_location: ::Prism::Location).returns(::RBI::Loc) } def from_prism(file, prism_location); end end @@ -838,9 +1152,13 @@ end # A tree that _might_ contain conflicts # -# source://rbi/lib/rbi/rewriters/merge_trees.rb#330 +# source://rbi//lib/rbi/rewriters/merge_trees.rb#320 class RBI::MergeTree < ::RBI::Tree - # source://rbi/lib/rbi/rewriters/merge_trees.rb#344 + # : (?loc: Loc?, ?comments: Array[Comment], ?conflicts: Array[Rewriters::Merge::Conflict]) ?{ (Tree node) -> void } -> void + # + # @return [MergeTree] a new instance of MergeTree + # + # source://rbi//lib/rbi/rewriters/merge_trees.rb#325 sig do params( loc: T.nilable(::RBI::Loc), @@ -851,18 +1169,24 @@ class RBI::MergeTree < ::RBI::Tree end def initialize(loc: T.unsafe(nil), comments: T.unsafe(nil), conflicts: T.unsafe(nil), &block); end - # source://rbi/lib/rbi/rewriters/merge_trees.rb#334 + # : Array[Rewriters::Merge::Conflict] + # + # source://rbi//lib/rbi/rewriters/merge_trees.rb#322 sig { returns(T::Array[::RBI::Rewriters::Merge::Conflict]) } def conflicts; end end # Methods and args # -# source://rbi/lib/rbi/model.rb#485 +# source://rbi//lib/rbi/model.rb#393 class RBI::Method < ::RBI::NodeWithComments include ::RBI::Indexable - # source://rbi/lib/rbi/model.rb#515 + # : (String name, ?params: Array[Param], ?is_singleton: bool, ?visibility: Visibility, ?sigs: Array[Sig], ?loc: Loc?, ?comments: Array[Comment]) ?{ (Method node) -> void } -> void + # + # @return [Method] a new instance of Method + # + # source://rbi//lib/rbi/model.rb#410 sig do params( name: ::String, @@ -877,39 +1201,57 @@ class RBI::Method < ::RBI::NodeWithComments end def initialize(name, params: T.unsafe(nil), is_singleton: T.unsafe(nil), visibility: T.unsafe(nil), sigs: T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end - # source://rbi/lib/rbi/model.rb#535 + # : (Param param) -> void + # + # source://rbi//lib/rbi/model.rb#430 sig { params(param: ::RBI::Param).void } def <<(param); end - # source://rbi/lib/rbi/model.rb#570 + # : (String name) -> void + # + # source://rbi//lib/rbi/model.rb#465 sig { params(name: ::String).void } def add_block_param(name); end - # source://rbi/lib/rbi/model.rb#560 + # : (String name, String default_value) -> void + # + # source://rbi//lib/rbi/model.rb#455 sig { params(name: ::String, default_value: ::String).void } def add_kw_opt_param(name, default_value); end - # source://rbi/lib/rbi/model.rb#555 + # : (String name) -> void + # + # source://rbi//lib/rbi/model.rb#450 sig { params(name: ::String).void } def add_kw_param(name); end - # source://rbi/lib/rbi/model.rb#565 + # : (String name) -> void + # + # source://rbi//lib/rbi/model.rb#460 sig { params(name: ::String).void } def add_kw_rest_param(name); end - # source://rbi/lib/rbi/model.rb#545 + # : (String name, String default_value) -> void + # + # source://rbi//lib/rbi/model.rb#440 sig { params(name: ::String, default_value: ::String).void } def add_opt_param(name, default_value); end - # source://rbi/lib/rbi/model.rb#540 + # : (String name) -> void + # + # source://rbi//lib/rbi/model.rb#435 sig { params(name: ::String).void } def add_param(name); end - # source://rbi/lib/rbi/model.rb#550 + # : (String name) -> void + # + # source://rbi//lib/rbi/model.rb#445 sig { params(name: ::String).void } def add_rest_param(name); end - # source://rbi/lib/rbi/model.rb#587 + # : (?params: Array[SigParam], ?return_type: (String | Type), ?is_abstract: bool, ?is_override: bool, ?is_overridable: bool, ?is_final: bool, ?type_params: Array[String], ?checked: Symbol?) ?{ (Sig node) -> void } -> void + # + # source://rbi//lib/rbi/model.rb#470 sig do params( params: T::Array[::RBI::SigParam], @@ -925,72 +1267,102 @@ class RBI::Method < ::RBI::NodeWithComments end def add_sig(params: T.unsafe(nil), return_type: T.unsafe(nil), is_abstract: T.unsafe(nil), is_override: T.unsafe(nil), is_overridable: T.unsafe(nil), is_final: T.unsafe(nil), type_params: T.unsafe(nil), checked: T.unsafe(nil), &block); end - # source://rbi/lib/rbi/rewriters/merge_trees.rb#469 + # : (Node other) -> bool + # + # @return [Boolean] + # + # source://rbi//lib/rbi/rewriters/merge_trees.rb#440 sig { override.params(other: ::RBI::Node).returns(T::Boolean) } def compatible_with?(other); end - # source://rbi/lib/rbi/model.rb#613 + # : -> String + # + # source://rbi//lib/rbi/model.rb#496 sig { returns(::String) } def fully_qualified_name; end - # source://rbi/lib/rbi/index.rb#123 + # : -> Array[String] + # + # source://rbi//lib/rbi/index.rb#119 sig { override.returns(T::Array[::String]) } def index_ids; end - # source://rbi/lib/rbi/model.rb#495 + # : bool + # + # source://rbi//lib/rbi/model.rb#401 sig { returns(T::Boolean) } def is_singleton; end - # @return [Boolean] + # : bool # - # source://rbi/lib/rbi/model.rb#495 + # source://rbi//lib/rbi/model.rb#401 + # @return [Boolean] def is_singleton=(_arg0); end - # source://rbi/lib/rbi/rewriters/merge_trees.rb#478 + # : (Node other) -> void + # + # source://rbi//lib/rbi/rewriters/merge_trees.rb#450 sig { override.params(other: ::RBI::Node).void } def merge_with(other); end - # source://rbi/lib/rbi/model.rb#489 + # : String + # + # source://rbi//lib/rbi/model.rb#395 sig { returns(::String) } def name; end - # @return [String] + # : String # - # source://rbi/lib/rbi/model.rb#489 + # source://rbi//lib/rbi/model.rb#395 + # @return [String] def name=(_arg0); end - # source://rbi/lib/rbi/model.rb#492 + # : Array[Param] + # + # source://rbi//lib/rbi/model.rb#398 sig { returns(T::Array[::RBI::Param]) } def params; end - # source://rbi/lib/rbi/model.rb#501 + # : Array[Sig] + # + # source://rbi//lib/rbi/model.rb#407 sig { returns(T::Array[::RBI::Sig]) } def sigs; end - # @return [Array] + # : Array[Sig] # - # source://rbi/lib/rbi/model.rb#501 + # source://rbi//lib/rbi/model.rb#407 + # @return [Array] def sigs=(_arg0); end - # source://rbi/lib/rbi/model.rb#622 + # : -> String + # + # source://rbi//lib/rbi/model.rb#506 sig { override.returns(::String) } def to_s; end - # source://rbi/lib/rbi/model.rb#498 + # : Visibility + # + # source://rbi//lib/rbi/model.rb#404 sig { returns(::RBI::Visibility) } def visibility; end - # @return [Visibility] + # : Visibility # - # source://rbi/lib/rbi/model.rb#498 + # source://rbi//lib/rbi/model.rb#404 + # @return [Visibility] def visibility=(_arg0); end end -# source://rbi/lib/rbi/model.rb#1438 +# source://rbi//lib/rbi/model.rb#1086 class RBI::MixesInClassMethods < ::RBI::Mixin include ::RBI::Indexable - # source://rbi/lib/rbi/model.rb#1450 + # : (String name, *String names, ?loc: Loc?, ?comments: Array[Comment]) ?{ (MixesInClassMethods node) -> void } -> void + # + # @return [MixesInClassMethods] a new instance of MixesInClassMethods + # + # source://rbi//lib/rbi/model.rb#1088 sig do params( name: ::String, @@ -1002,15 +1374,23 @@ class RBI::MixesInClassMethods < ::RBI::Mixin end def initialize(name, *names, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end - # source://rbi/lib/rbi/rewriters/merge_trees.rb#519 + # : (Node other) -> bool + # + # @return [Boolean] + # + # source://rbi//lib/rbi/rewriters/merge_trees.rb#487 sig { override.params(other: ::RBI::Node).returns(T::Boolean) } def compatible_with?(other); end - # source://rbi/lib/rbi/index.rb#153 + # : -> Array[String] + # + # source://rbi//lib/rbi/index.rb#149 sig { override.returns(T::Array[::String]) } def index_ids; end - # source://rbi/lib/rbi/model.rb#1456 + # : -> String + # + # source://rbi//lib/rbi/model.rb#1095 sig { override.returns(::String) } def to_s; end end @@ -1019,11 +1399,15 @@ end # # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below. # -# source://rbi/lib/rbi/model.rb#845 +# source://rbi//lib/rbi/model.rb#663 class RBI::Mixin < ::RBI::NodeWithComments abstract! - # source://rbi/lib/rbi/model.rb#862 + # : (String name, Array[String] names, ?loc: Loc?, ?comments: Array[Comment]) -> void + # + # @return [Mixin] a new instance of Mixin + # + # source://rbi//lib/rbi/model.rb#672 sig do params( name: ::String, @@ -1034,18 +1418,28 @@ class RBI::Mixin < ::RBI::NodeWithComments end def initialize(name, names, loc: T.unsafe(nil), comments: T.unsafe(nil)); end - # source://rbi/lib/rbi/rewriters/merge_trees.rb#492 + # : (Node other) -> bool + # + # @return [Boolean] + # + # source://rbi//lib/rbi/rewriters/merge_trees.rb#463 sig { override.params(other: ::RBI::Node).returns(T::Boolean) } def compatible_with?(other); end - # source://rbi/lib/rbi/model.rb#852 + # : Array[String] + # + # source://rbi//lib/rbi/model.rb#669 sig { returns(T::Array[::String]) } def names; end end -# source://rbi/lib/rbi/model.rb#192 +# source://rbi//lib/rbi/model.rb#182 class RBI::Module < ::RBI::Scope - # source://rbi/lib/rbi/model.rb#206 + # : (String name, ?loc: Loc?, ?comments: Array[Comment]) ?{ (Module node) -> void } -> void + # + # @return [Module] a new instance of Module + # + # source://rbi//lib/rbi/model.rb#187 sig do params( name: ::String, @@ -1056,77 +1450,110 @@ class RBI::Module < ::RBI::Scope end def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end - # source://rbi/lib/rbi/rewriters/merge_trees.rb#393 + # : (Node other) -> bool + # + # @return [Boolean] + # + # source://rbi//lib/rbi/rewriters/merge_trees.rb#370 sig { override.params(other: ::RBI::Node).returns(T::Boolean) } def compatible_with?(other); end - # source://rbi/lib/rbi/model.rb#213 + # : -> String + # + # source://rbi//lib/rbi/model.rb#195 sig { override.returns(::String) } def fully_qualified_name; end - # source://rbi/lib/rbi/model.rb#196 + # : String + # + # source://rbi//lib/rbi/model.rb#184 sig { returns(::String) } def name; end - # @return [String] + # : String # - # source://rbi/lib/rbi/model.rb#196 + # source://rbi//lib/rbi/model.rb#184 + # @return [String] def name=(_arg0); end end # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below. # -# source://rbi/lib/rbi/model.rb#7 +# source://rbi//lib/rbi/model.rb#7 class RBI::Node abstract! - # source://rbi/lib/rbi/model.rb#20 + # : (?loc: Loc?) -> void + # + # @return [Node] a new instance of Node + # + # source://rbi//lib/rbi/model.rb#19 sig { params(loc: T.nilable(::RBI::Loc)).void } def initialize(loc: T.unsafe(nil)); end # Can `self` and `_other` be merged into a single definition? + # : (Node _other) -> bool # - # source://rbi/lib/rbi/rewriters/merge_trees.rb#287 - sig { params(_other: ::RBI::Node).returns(T::Boolean) } + # @return [Boolean] + # + # source://rbi//lib/rbi/rewriters/merge_trees.rb#280 + # Can `self` and `_other` be merged into a single definition? + sig { params(_other: ::RBI::Node).returns(T::Boolean) } def compatible_with?(_other); end - # source://rbi/lib/rbi/model.rb#26 + # : -> void + # + # source://rbi//lib/rbi/model.rb#25 sig { void } def detach; end - # source://rbi/lib/rbi/model.rb#17 + # : Loc? + # + # source://rbi//lib/rbi/model.rb#16 sig { returns(T.nilable(::RBI::Loc)) } def loc; end - # @return [Loc, nil] + # : Loc? # - # source://rbi/lib/rbi/model.rb#17 + # source://rbi//lib/rbi/model.rb#16 + # @return [Loc, nil] def loc=(_arg0); end # Merge `self` and `other` into a single definition + # : (Node other) -> void # - # source://rbi/lib/rbi/rewriters/merge_trees.rb#293 + # source://rbi//lib/rbi/rewriters/merge_trees.rb#286 + # Merge `self` and `other` into a single definition sig { params(other: ::RBI::Node).void } def merge_with(other); end - # source://rbi/lib/rbi/rewriters/merge_trees.rb#296 + # : -> ConflictTree? + # + # source://rbi//lib/rbi/rewriters/merge_trees.rb#289 sig { returns(T.nilable(::RBI::ConflictTree)) } def parent_conflict_tree; end - # source://rbi/lib/rbi/model.rb#48 + # : -> Scope? + # + # source://rbi//lib/rbi/model.rb#47 sig { returns(T.nilable(::RBI::Scope)) } def parent_scope; end - # source://rbi/lib/rbi/model.rb#14 + # : Tree? + # + # source://rbi//lib/rbi/model.rb#13 sig { returns(T.nilable(::RBI::Tree)) } def parent_tree; end - # @return [Tree, nil] + # : Tree? # - # source://rbi/lib/rbi/model.rb#14 + # source://rbi//lib/rbi/model.rb#13 + # @return [Tree, nil] def parent_tree=(_arg0); end - # source://rbi/lib/rbi/printer.rb#775 + # : (?out: (IO | StringIO), ?indent: Integer, ?print_locs: bool, ?max_line_length: Integer?) -> void + # + # source://rbi//lib/rbi/printer.rb#809 sig do params( out: T.any(::IO, ::StringIO), @@ -1137,64 +1564,100 @@ class RBI::Node end def print(out: T.unsafe(nil), indent: T.unsafe(nil), print_locs: T.unsafe(nil), max_line_length: T.unsafe(nil)); end - # source://rbi/lib/rbi/rbs_printer.rb#1057 - sig { params(out: T.any(::IO, ::StringIO), indent: ::Integer, print_locs: T::Boolean).void } - def rbs_print(out: T.unsafe(nil), indent: T.unsafe(nil), print_locs: T.unsafe(nil)); end + # : (?out: (IO | StringIO), ?indent: Integer, ?print_locs: bool, ?positional_names: bool) -> void + # + # source://rbi//lib/rbi/rbs_printer.rb#1121 + sig do + params( + out: T.any(::IO, ::StringIO), + indent: ::Integer, + print_locs: T::Boolean, + positional_names: T::Boolean + ).void + end + def rbs_print(out: T.unsafe(nil), indent: T.unsafe(nil), print_locs: T.unsafe(nil), positional_names: T.unsafe(nil)); end - # source://rbi/lib/rbi/rbs_printer.rb#1063 - sig { params(indent: ::Integer, print_locs: T::Boolean).returns(::String) } - def rbs_string(indent: T.unsafe(nil), print_locs: T.unsafe(nil)); end + # : (?indent: Integer, ?print_locs: bool, ?positional_names: bool) -> String + # + # source://rbi//lib/rbi/rbs_printer.rb#1127 + sig { params(indent: ::Integer, print_locs: T::Boolean, positional_names: T::Boolean).returns(::String) } + def rbs_string(indent: T.unsafe(nil), print_locs: T.unsafe(nil), positional_names: T.unsafe(nil)); end + # : (Node node) -> void + # # @raise [ReplaceNodeError] # - # source://rbi/lib/rbi/model.rb#35 + # source://rbi//lib/rbi/model.rb#34 sig { params(node: ::RBI::Node).void } def replace(node); end - # source://rbi/lib/rbi/rewriters/filter_versions.rb#94 + # : (Gem::Version version) -> bool + # + # @return [Boolean] + # + # source://rbi//lib/rbi/rewriters/filter_versions.rb#91 sig { params(version: ::Gem::Version).returns(T::Boolean) } def satisfies_version?(version); end - # source://rbi/lib/rbi/printer.rb#781 + # : (?indent: Integer, ?print_locs: bool, ?max_line_length: Integer?) -> String + # + # source://rbi//lib/rbi/printer.rb#815 sig { params(indent: ::Integer, print_locs: T::Boolean, max_line_length: T.nilable(::Integer)).returns(::String) } def string(indent: T.unsafe(nil), print_locs: T.unsafe(nil), max_line_length: T.unsafe(nil)); end end # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below. # -# source://rbi/lib/rbi/model.rb#85 +# source://rbi//lib/rbi/model.rb#90 class RBI::NodeWithComments < ::RBI::Node abstract! - # source://rbi/lib/rbi/model.rb#95 + # : (?loc: Loc?, ?comments: Array[Comment]) -> void + # + # @return [NodeWithComments] a new instance of NodeWithComments + # + # source://rbi//lib/rbi/model.rb#99 sig { params(loc: T.nilable(::RBI::Loc), comments: T::Array[::RBI::Comment]).void } def initialize(loc: T.unsafe(nil), comments: T.unsafe(nil)); end - # source://rbi/lib/rbi/model.rb#101 + # : -> Array[String] + # + # source://rbi//lib/rbi/model.rb#105 sig { returns(T::Array[::String]) } def annotations; end - # source://rbi/lib/rbi/model.rb#92 + # : Array[Comment] + # + # source://rbi//lib/rbi/model.rb#96 sig { returns(T::Array[::RBI::Comment]) } def comments; end - # @return [Array] + # : Array[Comment] # - # source://rbi/lib/rbi/model.rb#92 + # source://rbi//lib/rbi/model.rb#96 + # @return [Array] def comments=(_arg0); end - # source://rbi/lib/rbi/rewriters/merge_trees.rb#311 + # : (Node other) -> void + # + # source://rbi//lib/rbi/rewriters/merge_trees.rb#303 sig { override.params(other: ::RBI::Node).void } def merge_with(other); end - # source://rbi/lib/rbi/rewriters/filter_versions.rb#104 + # : -> Array[Gem::Requirement] + # + # source://rbi//lib/rbi/rewriters/filter_versions.rb#101 sig { returns(T::Array[::Gem::Requirement]) } def version_requirements; end end -# source://rbi/lib/rbi/model.rb#676 +# source://rbi//lib/rbi/model.rb#545 class RBI::OptParam < ::RBI::Param - # source://rbi/lib/rbi/model.rb#691 + # : (String name, String value, ?loc: Loc?, ?comments: Array[Comment]) ?{ (OptParam node) -> void } -> void + # + # @return [OptParam] a new instance of OptParam + # + # source://rbi//lib/rbi/model.rb#550 sig do params( name: ::String, @@ -1206,196 +1669,286 @@ class RBI::OptParam < ::RBI::Param end def initialize(name, value, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end - # source://rbi/lib/rbi/model.rb#698 + # : (Object? other) -> bool + # + # source://rbi//lib/rbi/model.rb#557 sig { params(other: T.nilable(::Object)).returns(T::Boolean) } def ==(other); end - # source://rbi/lib/rbi/model.rb#680 + # : String + # + # source://rbi//lib/rbi/model.rb#547 sig { returns(::String) } def value; end end # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below. # -# source://rbi/lib/rbi/model.rb#627 +# source://rbi//lib/rbi/model.rb#511 class RBI::Param < ::RBI::NodeWithComments abstract! - # source://rbi/lib/rbi/model.rb#643 + # : (String name, ?loc: Loc?, ?comments: Array[Comment]) -> void + # + # @return [Param] a new instance of Param + # + # source://rbi//lib/rbi/model.rb#520 sig { params(name: ::String, loc: T.nilable(::RBI::Loc), comments: T::Array[::RBI::Comment]).void } def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil)); end - # source://rbi/lib/rbi/model.rb#634 + # : String + # + # source://rbi//lib/rbi/model.rb#517 sig { returns(::String) } def name; end - # source://rbi/lib/rbi/model.rb#649 + # : -> String + # + # source://rbi//lib/rbi/model.rb#527 sig { override.returns(::String) } def to_s; end end -# source://rbi/lib/rbi/parser.rb#7 +# source://rbi//lib/rbi/parser.rb#7 class RBI::ParseError < ::RBI::Error - # source://rbi/lib/rbi/parser.rb#14 + # : (String message, Loc location) -> void + # + # @return [ParseError] a new instance of ParseError + # + # source://rbi//lib/rbi/parser.rb#12 sig { params(message: ::String, location: ::RBI::Loc).void } def initialize(message, location); end - # source://rbi/lib/rbi/parser.rb#11 + # : Loc + # + # source://rbi//lib/rbi/parser.rb#9 sig { returns(::RBI::Loc) } def location; end end -# source://rbi/lib/rbi/parser.rb#53 +# source://rbi//lib/rbi/parser.rb#49 class RBI::Parser - # source://rbi/lib/rbi/parser.rb#88 + # : (String path) -> Tree + # + # source://rbi//lib/rbi/parser.rb#80 sig { params(path: ::String).returns(::RBI::Tree) } def parse_file(path); end - # source://rbi/lib/rbi/parser.rb#83 + # : (String string) -> Tree + # + # source://rbi//lib/rbi/parser.rb#75 sig { params(string: ::String).returns(::RBI::Tree) } def parse_string(string); end private - # source://rbi/lib/rbi/parser.rb#95 + # : (String source, file: String) -> Tree + # + # source://rbi//lib/rbi/parser.rb#87 sig { params(source: ::String, file: ::String).returns(::RBI::Tree) } def parse(source, file:); end class << self - # source://rbi/lib/rbi/parser.rb#65 + # : (String path) -> Tree + # + # source://rbi//lib/rbi/parser.rb#57 sig { params(path: ::String).returns(::RBI::Tree) } def parse_file(path); end - # source://rbi/lib/rbi/parser.rb#70 + # : (Array[String] paths) -> Array[Tree] + # + # source://rbi//lib/rbi/parser.rb#62 sig { params(paths: T::Array[::String]).returns(T::Array[::RBI::Tree]) } def parse_files(paths); end - # source://rbi/lib/rbi/parser.rb#60 + # : (String string) -> Tree + # + # source://rbi//lib/rbi/parser.rb#52 sig { params(string: ::String).returns(::RBI::Tree) } def parse_string(string); end - # source://rbi/lib/rbi/parser.rb#76 + # : (Array[String] strings) -> Array[Tree] + # + # source://rbi//lib/rbi/parser.rb#68 sig { params(strings: T::Array[::String]).returns(T::Array[::RBI::Tree]) } def parse_strings(strings); end end end -# source://rbi/lib/rbi/parser.rb#828 +# source://rbi//lib/rbi/parser.rb#824 class RBI::Parser::SigBuilder < ::RBI::Parser::Visitor - # source://rbi/lib/rbi/parser.rb#835 + # : (String content, file: String) -> void + # + # @return [SigBuilder] a new instance of SigBuilder + # + # source://rbi//lib/rbi/parser.rb#829 sig { params(content: ::String, file: ::String).void } def initialize(content, file:); end - # source://rbi/lib/rbi/parser.rb#832 + # : Sig + # + # source://rbi//lib/rbi/parser.rb#826 sig { returns(::RBI::Sig) } def current; end - # source://rbi/lib/rbi/parser.rb#903 + # : (Prism::AssocNode node) -> void + # + # source://rbi//lib/rbi/parser.rb#899 sig { override.params(node: ::Prism::AssocNode).void } def visit_assoc_node(node); end - # source://rbi/lib/rbi/parser.rb#842 + # : (Prism::CallNode node) -> void + # + # source://rbi//lib/rbi/parser.rb#837 sig { override.params(node: ::Prism::CallNode).void } def visit_call_node(node); end end -# source://rbi/lib/rbi/parser.rb#153 +# source://rbi//lib/rbi/parser.rb#143 class RBI::Parser::TreeBuilder < ::RBI::Parser::Visitor - # source://rbi/lib/rbi/parser.rb#163 + # : (String source, comments: Array[Prism::Comment], file: String) -> void + # + # @return [TreeBuilder] a new instance of TreeBuilder + # + # source://rbi//lib/rbi/parser.rb#151 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 + # : Prism::Node? + # + # source://rbi//lib/rbi/parser.rb#148 sig { returns(T.nilable(::Prism::Node)) } def last_node; end - # source://rbi/lib/rbi/parser.rb#157 + # : Tree + # + # source://rbi//lib/rbi/parser.rb#145 sig { returns(::RBI::Tree) } def tree; end - # source://rbi/lib/rbi/parser.rb#324 + # : (Prism::CallNode node) -> void + # + # source://rbi//lib/rbi/parser.rb#319 sig { params(node: ::Prism::CallNode).void } def visit_call_node(node); end - # source://rbi/lib/rbi/parser.rb#175 + # : (Prism::ClassNode node) -> void + # + # source://rbi//lib/rbi/parser.rb#164 sig { override.params(node: ::Prism::ClassNode).void } def visit_class_node(node); end - # source://rbi/lib/rbi/parser.rb#224 + # : ((Prism::ConstantWriteNode | Prism::ConstantPathWriteNode) node) -> void + # + # source://rbi//lib/rbi/parser.rb#215 sig { params(node: T.any(::Prism::ConstantPathWriteNode, ::Prism::ConstantWriteNode)).void } def visit_constant_assign(node); end - # source://rbi/lib/rbi/parser.rb#217 + # : (Prism::ConstantPathWriteNode node) -> void + # + # source://rbi//lib/rbi/parser.rb#208 sig { override.params(node: ::Prism::ConstantPathWriteNode).void } def visit_constant_path_write_node(node); end - # source://rbi/lib/rbi/parser.rb#210 + # : (Prism::ConstantWriteNode node) -> void + # + # source://rbi//lib/rbi/parser.rb#200 sig { override.params(node: ::Prism::ConstantWriteNode).void } def visit_constant_write_node(node); end - # source://rbi/lib/rbi/parser.rb#257 + # : (Prism::DefNode node) -> void + # + # source://rbi//lib/rbi/parser.rb#249 sig { override.params(node: ::Prism::DefNode).void } def visit_def_node(node); end - # source://rbi/lib/rbi/parser.rb#278 + # : (Prism::ModuleNode node) -> void + # + # source://rbi//lib/rbi/parser.rb#271 sig { override.params(node: ::Prism::ModuleNode).void } def visit_module_node(node); end - # source://rbi/lib/rbi/parser.rb#296 + # : (Prism::ProgramNode node) -> void + # + # source://rbi//lib/rbi/parser.rb#290 sig { override.params(node: ::Prism::ProgramNode).void } def visit_program_node(node); end - # source://rbi/lib/rbi/parser.rb#307 + # : (Prism::SingletonClassNode node) -> void + # + # source://rbi//lib/rbi/parser.rb#302 sig { override.params(node: ::Prism::SingletonClassNode).void } def visit_singleton_class_node(node); end private # Collect all the remaining comments within a node + # : (Prism::Node node) -> void # - # source://rbi/lib/rbi/parser.rb#503 + # source://rbi//lib/rbi/parser.rb#493 + # Collect all the remaining comments within a node sig { params(node: ::Prism::Node).void } def collect_dangling_comments(node); end # Collect all the remaining comments after visiting the tree + # : -> void # - # source://rbi/lib/rbi/parser.rb#521 + # source://rbi//lib/rbi/parser.rb#511 + # Collect all the remaining comments after visiting the tree sig { void } def collect_orphan_comments; end - # source://rbi/lib/rbi/parser.rb#544 + # : -> Tree + # + # source://rbi//lib/rbi/parser.rb#534 sig { returns(::RBI::Tree) } def current_scope; end - # source://rbi/lib/rbi/parser.rb#549 + # : -> Array[Sig] + # + # source://rbi//lib/rbi/parser.rb#539 sig { returns(T::Array[::RBI::Sig]) } def current_sigs; end - # source://rbi/lib/rbi/parser.rb#556 + # : (Array[Sig] sigs) -> Array[Comment] + # + # source://rbi//lib/rbi/parser.rb#546 sig { params(sigs: T::Array[::RBI::Sig]).returns(T::Array[::RBI::Comment]) } def detach_comments_from_sigs(sigs); end - # source://rbi/lib/rbi/parser.rb#568 + # : (Prism::Node node) -> Array[Comment] + # + # source://rbi//lib/rbi/parser.rb#558 sig { params(node: ::Prism::Node).returns(T::Array[::RBI::Comment]) } def node_comments(node); end - # source://rbi/lib/rbi/parser.rb#586 + # : (Prism::Comment node) -> Comment + # + # source://rbi//lib/rbi/parser.rb#576 sig { params(node: ::Prism::Comment).returns(::RBI::Comment) } def parse_comment(node); end - # source://rbi/lib/rbi/parser.rb#615 + # : (Prism::Node? node) -> Array[Param] + # + # source://rbi//lib/rbi/parser.rb#613 sig { params(node: T.nilable(::Prism::Node)).returns(T::Array[::RBI::Param]) } def parse_params(node); end - # source://rbi/lib/rbi/parser.rb#591 + # : (Prism::Node? node) -> Array[Arg] + # + # source://rbi//lib/rbi/parser.rb#589 sig { params(node: T.nilable(::Prism::Node)).returns(T::Array[::RBI::Arg]) } def parse_send_args(node); end - # source://rbi/lib/rbi/parser.rb#689 + # : (Prism::CallNode node) -> Sig + # + # source://rbi//lib/rbi/parser.rb#687 sig { params(node: ::Prism::CallNode).returns(::RBI::Sig) } def parse_sig(node); end - # source://rbi/lib/rbi/parser.rb#698 + # : ((Prism::ConstantWriteNode | Prism::ConstantPathWriteNode) node) -> Struct? + # + # source://rbi//lib/rbi/parser.rb#696 sig do params( node: T.any(::Prism::ConstantPathWriteNode, ::Prism::ConstantWriteNode) @@ -1403,51 +1956,77 @@ class RBI::Parser::TreeBuilder < ::RBI::Parser::Visitor end def parse_struct(node); end - # source://rbi/lib/rbi/parser.rb#748 + # : (Prism::CallNode send) -> void + # + # source://rbi//lib/rbi/parser.rb#744 sig { params(send: ::Prism::CallNode).void } def parse_tstruct_field(send); end - # source://rbi/lib/rbi/parser.rb#785 + # : (String name, Prism::Node node) -> Visibility + # + # source://rbi//lib/rbi/parser.rb#781 sig { params(name: ::String, node: ::Prism::Node).returns(::RBI::Visibility) } def parse_visibility(name, node); end - # source://rbi/lib/rbi/parser.rb#799 + # : -> void + # + # source://rbi//lib/rbi/parser.rb#795 sig { void } def separate_header_comments; end - # source://rbi/lib/rbi/parser.rb#809 + # : -> void + # + # source://rbi//lib/rbi/parser.rb#805 sig { void } def set_root_tree_loc; end - # source://rbi/lib/rbi/parser.rb#823 + # : (Prism::Node? node) -> bool + # + # @return [Boolean] + # + # source://rbi//lib/rbi/parser.rb#819 sig { params(node: T.nilable(::Prism::Node)).returns(T::Boolean) } def type_variable_definition?(node); end end -# source://rbi/lib/rbi/parser.rb#122 +# source://rbi//lib/rbi/parser.rb#114 class RBI::Parser::Visitor < ::Prism::Visitor - # source://rbi/lib/rbi/parser.rb#126 + # : (String source, file: String) -> void + # + # @return [Visitor] a new instance of Visitor + # + # source://rbi//lib/rbi/parser.rb#116 sig { params(source: ::String, file: ::String).void } def initialize(source, file:); end private - # source://rbi/lib/rbi/parser.rb#136 + # : (Prism::Node node) -> Loc + # + # source://rbi//lib/rbi/parser.rb#126 sig { params(node: ::Prism::Node).returns(::RBI::Loc) } def node_loc(node); end - # source://rbi/lib/rbi/parser.rb#141 + # : (Prism::Node? node) -> String? + # + # source://rbi//lib/rbi/parser.rb#131 sig { params(node: T.nilable(::Prism::Node)).returns(T.nilable(::String)) } def node_string(node); end - # source://rbi/lib/rbi/parser.rb#148 + # : (Prism::Node node) -> String + # + # source://rbi//lib/rbi/parser.rb#138 sig { params(node: ::Prism::Node).returns(::String) } def node_string!(node); end end -# source://rbi/lib/rbi/printer.rb#7 +# source://rbi//lib/rbi/printer.rb#7 class RBI::Printer < ::RBI::Visitor - # source://rbi/lib/rbi/printer.rb#30 + # : (?out: (IO | StringIO), ?indent: Integer, ?print_locs: bool, ?max_line_length: Integer?) -> void + # + # @return [Printer] a new instance of Printer + # + # source://rbi//lib/rbi/printer.rb#21 sig do params( out: T.any(::IO, ::StringIO), @@ -1458,316 +2037,468 @@ class RBI::Printer < ::RBI::Visitor end def initialize(out: T.unsafe(nil), indent: T.unsafe(nil), print_locs: T.unsafe(nil), max_line_length: T.unsafe(nil)); end - # source://rbi/lib/rbi/printer.rb#17 + # : Integer + # + # source://rbi//lib/rbi/printer.rb#15 sig { returns(::Integer) } def current_indent; end - # source://rbi/lib/rbi/printer.rb#48 + # : -> void + # + # source://rbi//lib/rbi/printer.rb#39 sig { void } def dedent; end - # @return [Boolean] + # : bool # - # source://rbi/lib/rbi/printer.rb#11 + # source://rbi//lib/rbi/printer.rb#9 + # @return [Boolean] def in_visibility_group; end - # @return [Boolean] + # : bool # - # source://rbi/lib/rbi/printer.rb#11 + # source://rbi//lib/rbi/printer.rb#9 + # @return [Boolean] def in_visibility_group=(_arg0); end - # Printing + # : -> void # - # source://rbi/lib/rbi/printer.rb#43 + # source://rbi//lib/rbi/printer.rb#34 + # Printing sig { void } def indent; end - # source://rbi/lib/rbi/printer.rb#20 + # : Integer? + # + # source://rbi//lib/rbi/printer.rb#18 sig { returns(T.nilable(::Integer)) } def max_line_length; end - # source://rbi/lib/rbi/printer.rb#14 + # : Node? + # + # source://rbi//lib/rbi/printer.rb#12 sig { returns(T.nilable(::RBI::Node)) } def previous_node; end # Print a string without indentation nor `\n` at the end. + # : (String string) -> void # - # source://rbi/lib/rbi/printer.rb#54 + # source://rbi//lib/rbi/printer.rb#45 + # Print a string without indentation nor `\n` at the end. sig { params(string: ::String).void } def print(string); end - # source://rbi/lib/rbi/printer.rb#11 + # : bool + # + # source://rbi//lib/rbi/printer.rb#9 sig { returns(T::Boolean) } def print_locs; end - # @return [Boolean] + # : bool # - # source://rbi/lib/rbi/printer.rb#11 + # source://rbi//lib/rbi/printer.rb#9 + # @return [Boolean] def print_locs=(_arg0); end # Print a string with indentation and `\n` at the end. + # : (String string) -> void # - # source://rbi/lib/rbi/printer.rb#74 + # source://rbi//lib/rbi/printer.rb#65 + # Print a string with indentation and `\n` at the end. sig { params(string: ::String).void } def printl(string); end # Print a string without indentation but with a `\n` at the end. + # : (?String? string) -> void # - # source://rbi/lib/rbi/printer.rb#60 + # source://rbi//lib/rbi/printer.rb#51 + # Print a string without indentation but with a `\n` at the end. sig { params(string: T.nilable(::String)).void } def printn(string = T.unsafe(nil)); end # Print a string with indentation but without a `\n` at the end. + # : (?String? string) -> void # - # source://rbi/lib/rbi/printer.rb#67 + # source://rbi//lib/rbi/printer.rb#58 + # Print a string with indentation but without a `\n` at the end. sig { params(string: T.nilable(::String)).void } def printt(string = T.unsafe(nil)); end - # source://rbi/lib/rbi/printer.rb#80 + # : (Array[Node] nodes) -> void + # + # source://rbi//lib/rbi/printer.rb#72 sig { override.params(nodes: T::Array[::RBI::Node]).void } def visit_all(nodes); end - # source://rbi/lib/rbi/printer.rb#91 + # : (File file) -> void + # + # source://rbi//lib/rbi/printer.rb#84 sig { override.params(file: ::RBI::File).void } def visit_file(file); end private - # source://rbi/lib/rbi/printer.rb#618 + # : (Node node) -> bool + # + # @return [Boolean] + # + # source://rbi//lib/rbi/printer.rb#670 sig { params(node: ::RBI::Node).returns(T::Boolean) } def oneline?(node); end - # source://rbi/lib/rbi/printer.rb#576 + # : (Node node) -> void + # + # source://rbi//lib/rbi/printer.rb#628 sig { params(node: ::RBI::Node).void } def print_blank_line_before(node); end - # source://rbi/lib/rbi/printer.rb#586 + # : (Node node) -> void + # + # source://rbi//lib/rbi/printer.rb#638 sig { params(node: ::RBI::Node).void } def print_loc(node); end - # source://rbi/lib/rbi/printer.rb#592 + # : (Param node, last: bool) -> void + # + # source://rbi//lib/rbi/printer.rb#644 sig { params(node: ::RBI::Param, last: T::Boolean).void } def print_param_comment_leading_space(node, last:); end - # source://rbi/lib/rbi/printer.rb#665 + # : (Sig node) -> void + # + # source://rbi//lib/rbi/printer.rb#717 sig { params(node: ::RBI::Sig).void } def print_sig_as_block(node); end - # source://rbi/lib/rbi/printer.rb#640 + # : (Sig node) -> void + # + # source://rbi//lib/rbi/printer.rb#692 sig { params(node: ::RBI::Sig).void } def print_sig_as_line(node); end - # source://rbi/lib/rbi/printer.rb#610 + # : (SigParam node, last: bool) -> void + # + # source://rbi//lib/rbi/printer.rb#662 sig { params(node: ::RBI::SigParam, last: T::Boolean).void } def print_sig_param_comment_leading_space(node, last:); end - # source://rbi/lib/rbi/printer.rb#721 + # : (Sig node) -> Array[String] + # + # source://rbi//lib/rbi/printer.rb#773 sig { params(node: ::RBI::Sig).returns(T::Array[::String]) } def sig_modifiers(node); end - # source://rbi/lib/rbi/printer.rb#417 + # : (Arg node) -> void + # + # source://rbi//lib/rbi/printer.rb#453 sig { override.params(node: ::RBI::Arg).void } def visit_arg(node); end - # source://rbi/lib/rbi/printer.rb#237 + # : (Attr node) -> void + # + # source://rbi//lib/rbi/printer.rb#258 sig { params(node: ::RBI::Attr).void } def visit_attr(node); end - # source://rbi/lib/rbi/printer.rb#222 + # : (AttrAccessor node) -> void + # + # source://rbi//lib/rbi/printer.rb#241 sig { override.params(node: ::RBI::AttrAccessor).void } def visit_attr_accessor(node); end - # source://rbi/lib/rbi/printer.rb#227 + # : (AttrReader node) -> void + # + # source://rbi//lib/rbi/printer.rb#247 sig { override.params(node: ::RBI::AttrReader).void } def visit_attr_reader(node); end - # source://rbi/lib/rbi/printer.rb#232 + # : (AttrWriter node) -> void + # + # source://rbi//lib/rbi/printer.rb#253 sig { override.params(node: ::RBI::AttrWriter).void } def visit_attr_writer(node); end - # source://rbi/lib/rbi/printer.rb#126 + # : (BlankLine node) -> void + # + # source://rbi//lib/rbi/printer.rb#138 sig { override.params(node: ::RBI::BlankLine).void } def visit_blank_line(node); end - # source://rbi/lib/rbi/printer.rb#344 + # : (BlockParam node) -> void + # + # source://rbi//lib/rbi/printer.rb#373 sig { override.params(node: ::RBI::BlockParam).void } def visit_block_param(node); end - # source://rbi/lib/rbi/printer.rb#143 + # : (Class node) -> void + # + # source://rbi//lib/rbi/printer.rb#158 sig { override.params(node: ::RBI::Class).void } def visit_class(node); end - # source://rbi/lib/rbi/printer.rb#110 + # : (Comment node) -> void + # + # source://rbi//lib/rbi/printer.rb#121 sig { override.params(node: ::RBI::Comment).void } def visit_comment(node); end - # source://rbi/lib/rbi/printer.rb#553 + # : (ConflictTree node) -> void + # + # source://rbi//lib/rbi/printer.rb#604 sig { override.params(node: ::RBI::ConflictTree).void } def visit_conflict_tree(node); end - # source://rbi/lib/rbi/printer.rb#213 + # : (Const node) -> void + # + # source://rbi//lib/rbi/printer.rb#231 sig { override.params(node: ::RBI::Const).void } def visit_const(node); end - # source://rbi/lib/rbi/printer.rb#354 + # : (Extend node) -> void + # + # source://rbi//lib/rbi/printer.rb#385 sig { override.params(node: ::RBI::Extend).void } def visit_extend(node); end - # source://rbi/lib/rbi/printer.rb#525 + # : (Group node) -> void + # + # source://rbi//lib/rbi/printer.rb#573 sig { override.params(node: ::RBI::Group).void } def visit_group(node); end - # source://rbi/lib/rbi/printer.rb#511 + # : (Helper node) -> void + # + # source://rbi//lib/rbi/printer.rb#557 sig { override.params(node: ::RBI::Helper).void } def visit_helper(node); end - # source://rbi/lib/rbi/printer.rb#349 + # : (Include node) -> void + # + # source://rbi//lib/rbi/printer.rb#379 sig { override.params(node: ::RBI::Include).void } def visit_include(node); end - # source://rbi/lib/rbi/printer.rb#422 + # : (KwArg node) -> void + # + # source://rbi//lib/rbi/printer.rb#459 sig { override.params(node: ::RBI::KwArg).void } def visit_kw_arg(node); end - # source://rbi/lib/rbi/printer.rb#334 + # : (KwOptParam node) -> void + # + # source://rbi//lib/rbi/printer.rb#361 sig { override.params(node: ::RBI::KwOptParam).void } def visit_kw_opt_param(node); end - # source://rbi/lib/rbi/printer.rb#329 + # : (KwParam node) -> void + # + # source://rbi//lib/rbi/printer.rb#355 sig { override.params(node: ::RBI::KwParam).void } def visit_kw_param(node); end - # source://rbi/lib/rbi/printer.rb#339 + # : (KwRestParam node) -> void + # + # source://rbi//lib/rbi/printer.rb#367 sig { override.params(node: ::RBI::KwRestParam).void } def visit_kw_rest_param(node); end - # source://rbi/lib/rbi/printer.rb#265 + # : (Method node) -> void + # + # source://rbi//lib/rbi/printer.rb#287 sig { override.params(node: ::RBI::Method).void } def visit_method(node); end - # source://rbi/lib/rbi/printer.rb#520 + # : (MixesInClassMethods node) -> void + # + # source://rbi//lib/rbi/printer.rb#567 sig { override.params(node: ::RBI::MixesInClassMethods).void } def visit_mixes_in_class_methods(node); end - # source://rbi/lib/rbi/printer.rb#359 + # : (Mixin node) -> void + # + # source://rbi//lib/rbi/printer.rb#390 sig { params(node: ::RBI::Mixin).void } def visit_mixin(node); end - # source://rbi/lib/rbi/printer.rb#138 + # : (Module node) -> void + # + # source://rbi//lib/rbi/printer.rb#152 sig { override.params(node: ::RBI::Module).void } def visit_module(node); end - # source://rbi/lib/rbi/printer.rb#319 + # : (OptParam node) -> void + # + # source://rbi//lib/rbi/printer.rb#343 sig { override.params(node: ::RBI::OptParam).void } def visit_opt_param(node); end - # source://rbi/lib/rbi/printer.rb#386 + # : (Private node) -> void + # + # source://rbi//lib/rbi/printer.rb#420 sig { override.params(node: ::RBI::Private).void } def visit_private(node); end - # source://rbi/lib/rbi/printer.rb#381 + # : (Protected node) -> void + # + # source://rbi//lib/rbi/printer.rb#414 sig { override.params(node: ::RBI::Protected).void } def visit_protected(node); end - # source://rbi/lib/rbi/printer.rb#376 + # : (Public node) -> void + # + # source://rbi//lib/rbi/printer.rb#408 sig { override.params(node: ::RBI::Public).void } def visit_public(node); end - # source://rbi/lib/rbi/printer.rb#314 + # : (RBSComment node) -> void + # + # source://rbi//lib/rbi/printer.rb#104 + sig { override.params(node: ::RBI::RBSComment).void } + def visit_rbs_comment(node); end + + # : (ReqParam node) -> void + # + # source://rbi//lib/rbi/printer.rb#337 sig { override.params(node: ::RBI::ReqParam).void } def visit_req_param(node); end - # source://rbi/lib/rbi/printer.rb#544 + # : (RequiresAncestor node) -> void + # + # source://rbi//lib/rbi/printer.rb#594 sig { override.params(node: ::RBI::RequiresAncestor).void } def visit_requires_ancestor(node); end - # source://rbi/lib/rbi/printer.rb#324 + # : (RestParam node) -> void + # + # source://rbi//lib/rbi/printer.rb#349 sig { override.params(node: ::RBI::RestParam).void } def visit_rest_param(node); end - # source://rbi/lib/rbi/printer.rb#158 + # : (Scope node) -> void + # + # source://rbi//lib/rbi/printer.rb#175 sig { params(node: ::RBI::Scope).void } def visit_scope(node); end - # source://rbi/lib/rbi/printer.rb#203 + # : (Scope node) -> void + # + # source://rbi//lib/rbi/printer.rb#220 sig { params(node: ::RBI::Scope).void } def visit_scope_body(node); end - # source://rbi/lib/rbi/printer.rb#562 + # : (ScopeConflict node) -> void + # + # source://rbi//lib/rbi/printer.rb#614 sig { override.params(node: ::RBI::ScopeConflict).void } def visit_scope_conflict(node); end - # source://rbi/lib/rbi/printer.rb#168 + # : (Scope node) -> void + # + # source://rbi//lib/rbi/printer.rb#185 sig { params(node: ::RBI::Scope).void } def visit_scope_header(node); end - # source://rbi/lib/rbi/printer.rb#400 + # : (Send node) -> void + # + # source://rbi//lib/rbi/printer.rb#435 sig { override.params(node: ::RBI::Send).void } def visit_send(node); end - # source://rbi/lib/rbi/printer.rb#427 + # : (Sig node) -> void + # + # source://rbi//lib/rbi/printer.rb#465 sig { override.params(node: ::RBI::Sig).void } def visit_sig(node); end - # source://rbi/lib/rbi/printer.rb#447 + # : (SigParam node) -> void + # + # source://rbi//lib/rbi/printer.rb#486 sig { override.params(node: ::RBI::SigParam).void } def visit_sig_param(node); end - # source://rbi/lib/rbi/printer.rb#153 + # : (SingletonClass node) -> void + # + # source://rbi//lib/rbi/printer.rb#170 sig { override.params(node: ::RBI::SingletonClass).void } def visit_singleton_class(node); end - # source://rbi/lib/rbi/printer.rb#148 + # : (Struct node) -> void + # + # source://rbi//lib/rbi/printer.rb#164 sig { override.params(node: ::RBI::Struct).void } def visit_struct(node); end - # source://rbi/lib/rbi/printer.rb#467 + # : (TStructField node) -> void + # + # source://rbi//lib/rbi/printer.rb#509 sig { params(node: ::RBI::TStructField).void } def visit_t_struct_field(node); end - # source://rbi/lib/rbi/printer.rb#485 + # : (TEnum node) -> void + # + # source://rbi//lib/rbi/printer.rb#528 sig { override.params(node: ::RBI::TEnum).void } def visit_tenum(node); end - # source://rbi/lib/rbi/printer.rb#490 + # : (TEnumBlock node) -> void + # + # source://rbi//lib/rbi/printer.rb#534 sig { override.params(node: ::RBI::TEnumBlock).void } def visit_tenum_block(node); end - # source://rbi/lib/rbi/printer.rb#131 + # : (Tree node) -> void + # + # source://rbi//lib/rbi/printer.rb#144 sig { override.params(node: ::RBI::Tree).void } def visit_tree(node); end - # source://rbi/lib/rbi/printer.rb#452 + # : (TStruct node) -> void + # + # source://rbi//lib/rbi/printer.rb#492 sig { override.params(node: ::RBI::TStruct).void } def visit_tstruct(node); end - # source://rbi/lib/rbi/printer.rb#457 + # : (TStructConst node) -> void + # + # source://rbi//lib/rbi/printer.rb#498 sig { override.params(node: ::RBI::TStructConst).void } def visit_tstruct_const(node); end - # source://rbi/lib/rbi/printer.rb#462 + # : (TStructProp node) -> void + # + # source://rbi//lib/rbi/printer.rb#504 sig { override.params(node: ::RBI::TStructProp).void } def visit_tstruct_prop(node); end - # source://rbi/lib/rbi/printer.rb#502 + # : (TypeMember node) -> void + # + # source://rbi//lib/rbi/printer.rb#547 sig { override.params(node: ::RBI::TypeMember).void } def visit_type_member(node); end - # source://rbi/lib/rbi/printer.rb#391 + # : (Visibility node) -> void + # + # source://rbi//lib/rbi/printer.rb#425 sig { params(node: ::RBI::Visibility).void } def visit_visibility(node); end - # source://rbi/lib/rbi/printer.rb#531 + # : (VisibilityGroup node) -> void + # + # source://rbi//lib/rbi/printer.rb#580 sig { override.params(node: ::RBI::VisibilityGroup).void } def visit_visibility_group(node); end end -# source://rbi/lib/rbi/printer.rb#5 +# source://rbi//lib/rbi/printer.rb#5 class RBI::PrinterError < ::RBI::Error; end -# source://rbi/lib/rbi/model.rb#986 +# source://rbi//lib/rbi/model.rb#761 class RBI::Private < ::RBI::Visibility - # source://rbi/lib/rbi/model.rb#996 + # : (?loc: Loc?, ?comments: Array[Comment]) ?{ (Private node) -> void } -> void + # + # @return [Private] a new instance of Private + # + # source://rbi//lib/rbi/model.rb#763 sig do params( loc: T.nilable(::RBI::Loc), @@ -1778,9 +2509,13 @@ class RBI::Private < ::RBI::Visibility def initialize(loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end end -# source://rbi/lib/rbi/model.rb#970 +# source://rbi//lib/rbi/model.rb#753 class RBI::Protected < ::RBI::Visibility - # source://rbi/lib/rbi/model.rb#980 + # : (?loc: Loc?, ?comments: Array[Comment]) ?{ (Protected node) -> void } -> void + # + # @return [Protected] a new instance of Protected + # + # source://rbi//lib/rbi/model.rb#755 sig do params( loc: T.nilable(::RBI::Loc), @@ -1791,9 +2526,13 @@ class RBI::Protected < ::RBI::Visibility def initialize(loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end end -# source://rbi/lib/rbi/model.rb#954 +# source://rbi//lib/rbi/model.rb#745 class RBI::Public < ::RBI::Visibility - # source://rbi/lib/rbi/model.rb#964 + # : (?loc: Loc?, ?comments: Array[Comment]) ?{ (Public node) -> void } -> void + # + # @return [Public] a new instance of Public + # + # source://rbi//lib/rbi/model.rb#747 sig do params( loc: T.nilable(::RBI::Loc), @@ -1804,329 +2543,610 @@ class RBI::Public < ::RBI::Visibility def initialize(loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end end -# source://rbi/lib/rbi/rbs_printer.rb#5 +# source://rbi//lib/rbi/rbs/method_type_translator.rb#5 +module RBI::RBS; end + +# source://rbi//lib/rbi/rbs/method_type_translator.rb#6 +class RBI::RBS::MethodTypeTranslator + # : (Method) -> void + # + # @return [MethodTypeTranslator] a new instance of MethodTypeTranslator + # + # source://rbi//lib/rbi/rbs/method_type_translator.rb#22 + sig { params(method: ::RBI::Method).void } + def initialize(method); end + + # : Sig + # + # source://rbi//lib/rbi/rbs/method_type_translator.rb#19 + sig { returns(::RBI::Sig) } + def result; end + + # : (::RBS::MethodType) -> void + # + # source://rbi//lib/rbi/rbs/method_type_translator.rb#28 + sig { params(type: ::RBS::MethodType).void } + def visit(type); end + + private + + # : (::RBS::Types::Function::Param, Integer) -> SigParam + # + # source://rbi//lib/rbi/rbs/method_type_translator.rb#100 + sig { params(param: ::RBS::Types::Function::Param, index: ::Integer).returns(::RBI::SigParam) } + def translate_function_param(param, index); end + + # : (untyped) -> Type + # + # source://rbi//lib/rbi/rbs/method_type_translator.rb#115 + sig { params(type: T.untyped).returns(::RBI::Type) } + def translate_type(type); end + + # : (::RBS::Types::Block) -> void + # + # @raise [Error] + # + # source://rbi//lib/rbi/rbs/method_type_translator.rb#42 + sig { params(type: ::RBS::Types::Block).void } + def visit_block_type(type); end + + # : (::RBS::Types::Function) -> void + # + # source://rbi//lib/rbi/rbs/method_type_translator.rb#57 + sig { params(type: ::RBS::Types::Function).void } + def visit_function_type(type); end + + class << self + # : (Method, ::RBS::MethodType) -> Sig + # + # source://rbi//lib/rbi/rbs/method_type_translator.rb#11 + sig { params(method: ::RBI::Method, type: ::RBS::MethodType).returns(::RBI::Sig) } + def translate(method, type); end + end +end + +# source://rbi//lib/rbi/rbs/method_type_translator.rb#7 +class RBI::RBS::MethodTypeTranslator::Error < ::RBI::Error; end + +# source://rbi//lib/rbi/rbs/type_translator.rb#6 +class RBI::RBS::TypeTranslator + class << self + # : (NodeType) -> Type + # + # source://rbi//lib/rbi/rbs/type_translator.rb#37 + sig do + params( + type: T.any(::RBS::Types::Alias, ::RBS::Types::Bases::Any, ::RBS::Types::Bases::Bool, ::RBS::Types::Bases::Bottom, ::RBS::Types::Bases::Class, ::RBS::Types::Bases::Instance, ::RBS::Types::Bases::Nil, ::RBS::Types::Bases::Self, ::RBS::Types::Bases::Top, ::RBS::Types::Bases::Void, ::RBS::Types::ClassInstance, ::RBS::Types::ClassSingleton, ::RBS::Types::Function, ::RBS::Types::Interface, ::RBS::Types::Intersection, ::RBS::Types::Literal, ::RBS::Types::Optional, ::RBS::Types::Proc, ::RBS::Types::Record, ::RBS::Types::Tuple, ::RBS::Types::Union, ::RBS::Types::UntypedFunction, ::RBS::Types::Variable) + ).returns(::RBI::Type) + end + def translate(type); end + + private + + # : (::RBS::Types::ClassInstance) -> Type + # + # source://rbi//lib/rbi/rbs/type_translator.rb#99 + sig { params(type: ::RBS::Types::ClassInstance).returns(::RBI::Type) } + def translate_class_instance(type); end + + # : (::RBS::Types::Function) -> Type + # + # source://rbi//lib/rbi/rbs/type_translator.rb#107 + sig { params(type: ::RBS::Types::Function).returns(::RBI::Type) } + def translate_function(type); end + + # : (String type_name) -> String + # + # source://rbi//lib/rbi/rbs/type_translator.rb#154 + sig { params(type_name: ::String).returns(::String) } + def translate_t_generic_type(type_name); end + end +end + +# A comment representing a RBS type prefixed with `#:` +# +# source://rbi//lib/rbi/model.rb#81 +class RBI::RBSComment < ::RBI::Comment + # : (Object other) -> bool + # + # source://rbi//lib/rbi/model.rb#83 + sig { params(other: ::Object).returns(T::Boolean) } + def ==(other); end +end + +# source://rbi//lib/rbi/rbs_printer.rb#5 class RBI::RBSPrinter < ::RBI::Visitor - # source://rbi/lib/rbi/rbs_printer.rb#18 - sig { params(out: T.any(::IO, ::StringIO), indent: ::Integer, print_locs: T::Boolean).void } - def initialize(out: T.unsafe(nil), indent: T.unsafe(nil), print_locs: T.unsafe(nil)); end + # : (?out: (IO | StringIO), ?indent: Integer, ?print_locs: bool, ?positional_names: bool) -> void + # + # @return [RBSPrinter] a new instance of RBSPrinter + # + # source://rbi//lib/rbi/rbs_printer.rb#21 + sig do + params( + out: T.any(::IO, ::StringIO), + indent: ::Integer, + print_locs: T::Boolean, + positional_names: T::Boolean + ).void + end + def initialize(out: T.unsafe(nil), indent: T.unsafe(nil), print_locs: T.unsafe(nil), positional_names: T.unsafe(nil)); end - # source://rbi/lib/rbi/rbs_printer.rb#15 + # : Integer + # + # source://rbi//lib/rbi/rbs_printer.rb#15 sig { returns(::Integer) } def current_indent; end - # source://rbi/lib/rbi/rbs_printer.rb#35 + # : -> void + # + # source://rbi//lib/rbi/rbs_printer.rb#39 sig { void } def dedent; end - # @return [Boolean] + # : bool # - # source://rbi/lib/rbi/rbs_printer.rb#9 + # source://rbi//lib/rbi/rbs_printer.rb#9 + # @return [Boolean] def in_visibility_group; end - # @return [Boolean] + # : bool # - # source://rbi/lib/rbi/rbs_printer.rb#9 + # source://rbi//lib/rbi/rbs_printer.rb#9 + # @return [Boolean] def in_visibility_group=(_arg0); end - # Printing + # : -> void # - # source://rbi/lib/rbi/rbs_printer.rb#30 + # source://rbi//lib/rbi/rbs_printer.rb#34 + # Printing sig { void } def indent; end - # source://rbi/lib/rbi/rbs_printer.rb#12 + # : bool + # + # source://rbi//lib/rbi/rbs_printer.rb#18 + sig { returns(T::Boolean) } + def positional_names; end + + # : bool + # + # source://rbi//lib/rbi/rbs_printer.rb#18 + # @return [Boolean] + def positional_names=(_arg0); end + + # : Node? + # + # source://rbi//lib/rbi/rbs_printer.rb#12 sig { returns(T.nilable(::RBI::Node)) } def previous_node; end # Print a string without indentation nor `\n` at the end. + # : (String string) -> void # - # source://rbi/lib/rbi/rbs_printer.rb#41 + # source://rbi//lib/rbi/rbs_printer.rb#45 + # Print a string without indentation nor `\n` at the end. sig { params(string: ::String).void } def print(string); end - # source://rbi/lib/rbi/rbs_printer.rb#275 + # : (RBI::Attr node, Sig sig) -> void + # + # source://rbi//lib/rbi/rbs_printer.rb#292 sig { params(node: ::RBI::Attr, sig: ::RBI::Sig).void } def print_attr_sig(node, sig); end - # source://rbi/lib/rbi/rbs_printer.rb#9 + # : bool + # + # source://rbi//lib/rbi/rbs_printer.rb#9 sig { returns(T::Boolean) } def print_locs; end - # @return [Boolean] + # : bool # - # source://rbi/lib/rbi/rbs_printer.rb#9 + # source://rbi//lib/rbi/rbs_printer.rb#9 + # @return [Boolean] def print_locs=(_arg0); end - # source://rbi/lib/rbi/rbs_printer.rb#363 + # : (RBI::Method node, Sig sig) -> void + # + # source://rbi//lib/rbi/rbs_printer.rb#381 sig { params(node: ::RBI::Method, sig: ::RBI::Sig).void } def print_method_sig(node, sig); end # Print a string with indentation and `\n` at the end. + # : (String string) -> void # - # source://rbi/lib/rbi/rbs_printer.rb#61 + # source://rbi//lib/rbi/rbs_printer.rb#65 + # Print a string with indentation and `\n` at the end. sig { params(string: ::String).void } def printl(string); end # Print a string without indentation but with a `\n` at the end. + # : (?String? string) -> void # - # source://rbi/lib/rbi/rbs_printer.rb#47 + # source://rbi//lib/rbi/rbs_printer.rb#51 + # Print a string without indentation but with a `\n` at the end. sig { params(string: T.nilable(::String)).void } def printn(string = T.unsafe(nil)); end # Print a string with indentation but without a `\n` at the end. + # : (?String? string) -> void # - # source://rbi/lib/rbi/rbs_printer.rb#54 + # source://rbi//lib/rbi/rbs_printer.rb#58 + # Print a string with indentation but without a `\n` at the end. sig { params(string: T.nilable(::String)).void } def printt(string = T.unsafe(nil)); end - # source://rbi/lib/rbi/rbs_printer.rb#67 + # : (Array[Node] nodes) -> void + # + # source://rbi//lib/rbi/rbs_printer.rb#72 sig { override.params(nodes: T::Array[::RBI::Node]).void } def visit_all(nodes); end - # source://rbi/lib/rbi/rbs_printer.rb#534 + # : (Arg node) -> void + # + # source://rbi//lib/rbi/rbs_printer.rb#578 sig { override.params(node: ::RBI::Arg).void } def visit_arg(node); end - # source://rbi/lib/rbi/rbs_printer.rb#243 + # : (Attr node) -> void + # + # source://rbi//lib/rbi/rbs_printer.rb#260 sig { params(node: ::RBI::Attr).void } def visit_attr(node); end - # source://rbi/lib/rbi/rbs_printer.rb#228 + # : (AttrAccessor node) -> void + # + # source://rbi//lib/rbi/rbs_printer.rb#243 sig { override.params(node: ::RBI::AttrAccessor).void } def visit_attr_accessor(node); end - # source://rbi/lib/rbi/rbs_printer.rb#233 + # : (AttrReader node) -> void + # + # source://rbi//lib/rbi/rbs_printer.rb#249 sig { override.params(node: ::RBI::AttrReader).void } def visit_attr_reader(node); end - # source://rbi/lib/rbi/rbs_printer.rb#238 + # : (AttrWriter node) -> void + # + # source://rbi//lib/rbi/rbs_printer.rb#255 sig { override.params(node: ::RBI::AttrWriter).void } def visit_attr_writer(node); end - # source://rbi/lib/rbi/rbs_printer.rb#106 + # : (BlankLine node) -> void + # + # source://rbi//lib/rbi/rbs_printer.rb#114 sig { override.params(node: ::RBI::BlankLine).void } def visit_blank_line(node); end - # source://rbi/lib/rbi/rbs_printer.rb#473 + # : (BlockParam node) -> void + # + # source://rbi//lib/rbi/rbs_printer.rb#510 sig { override.params(node: ::RBI::BlockParam).void } def visit_block_param(node); end - # source://rbi/lib/rbi/rbs_printer.rb#123 + # : (Class node) -> void + # + # source://rbi//lib/rbi/rbs_printer.rb#134 sig { override.params(node: ::RBI::Class).void } def visit_class(node); end - # source://rbi/lib/rbi/rbs_printer.rb#90 + # : (Comment node) -> void + # + # source://rbi//lib/rbi/rbs_printer.rb#97 sig { override.params(node: ::RBI::Comment).void } def visit_comment(node); end - # source://rbi/lib/rbi/rbs_printer.rb#654 + # : (ConflictTree node) -> void + # + # source://rbi//lib/rbi/rbs_printer.rb#711 sig { override.params(node: ::RBI::ConflictTree).void } def visit_conflict_tree(node); end - # source://rbi/lib/rbi/rbs_printer.rb#213 + # : (Const node) -> void + # + # source://rbi//lib/rbi/rbs_printer.rb#227 sig { override.params(node: ::RBI::Const).void } def visit_const(node); end - # source://rbi/lib/rbi/rbs_printer.rb#483 + # : (Extend node) -> void + # + # source://rbi//lib/rbi/rbs_printer.rb#522 sig { override.params(node: ::RBI::Extend).void } def visit_extend(node); end - # source://rbi/lib/rbi/rbs_printer.rb#78 + # : (File file) -> void + # + # source://rbi//lib/rbi/rbs_printer.rb#84 sig { override.params(file: ::RBI::File).void } def visit_file(file); end - # source://rbi/lib/rbi/rbs_printer.rb#630 + # : (Group node) -> void + # + # source://rbi//lib/rbi/rbs_printer.rb#684 sig { override.params(node: ::RBI::Group).void } def visit_group(node); end - # source://rbi/lib/rbi/rbs_printer.rb#620 + # : (Helper node) -> void + # + # source://rbi//lib/rbi/rbs_printer.rb#672 sig { override.params(node: ::RBI::Helper).void } def visit_helper(node); end - # source://rbi/lib/rbi/rbs_printer.rb#478 + # : (Include node) -> void + # + # source://rbi//lib/rbi/rbs_printer.rb#516 sig { override.params(node: ::RBI::Include).void } def visit_include(node); end - # source://rbi/lib/rbi/rbs_printer.rb#539 + # : (KwArg node) -> void + # + # source://rbi//lib/rbi/rbs_printer.rb#584 sig { override.params(node: ::RBI::KwArg).void } def visit_kw_arg(node); end - # source://rbi/lib/rbi/rbs_printer.rb#463 + # : (KwOptParam node) -> void + # + # source://rbi//lib/rbi/rbs_printer.rb#498 sig { override.params(node: ::RBI::KwOptParam).void } def visit_kw_opt_param(node); end - # source://rbi/lib/rbi/rbs_printer.rb#458 + # : (KwParam node) -> void + # + # source://rbi//lib/rbi/rbs_printer.rb#492 sig { override.params(node: ::RBI::KwParam).void } def visit_kw_param(node); end - # source://rbi/lib/rbi/rbs_printer.rb#468 + # : (KwRestParam node) -> void + # + # source://rbi//lib/rbi/rbs_printer.rb#504 sig { override.params(node: ::RBI::KwRestParam).void } def visit_kw_rest_param(node); end - # source://rbi/lib/rbi/rbs_printer.rb#297 + # : (Method node) -> void + # + # source://rbi//lib/rbi/rbs_printer.rb#315 sig { override.params(node: ::RBI::Method).void } def visit_method(node); end - # source://rbi/lib/rbi/rbs_printer.rb#625 + # : (MixesInClassMethods node) -> void + # + # source://rbi//lib/rbi/rbs_printer.rb#678 sig { override.params(node: ::RBI::MixesInClassMethods).void } def visit_mixes_in_class_methods(node); end - # source://rbi/lib/rbi/rbs_printer.rb#488 + # : (Mixin node) -> void + # + # source://rbi//lib/rbi/rbs_printer.rb#527 sig { params(node: ::RBI::Mixin).void } def visit_mixin(node); end - # source://rbi/lib/rbi/rbs_printer.rb#118 + # : (Module node) -> void + # + # source://rbi//lib/rbi/rbs_printer.rb#128 sig { override.params(node: ::RBI::Module).void } def visit_module(node); end - # source://rbi/lib/rbi/rbs_printer.rb#448 + # : (OptParam node) -> void + # + # source://rbi//lib/rbi/rbs_printer.rb#472 sig { override.params(node: ::RBI::OptParam).void } def visit_opt_param(node); end - # source://rbi/lib/rbi/rbs_printer.rb#515 + # : (Private node) -> void + # + # source://rbi//lib/rbi/rbs_printer.rb#557 sig { override.params(node: ::RBI::Private).void } def visit_private(node); end - # source://rbi/lib/rbi/rbs_printer.rb#510 + # : (Protected node) -> void + # + # source://rbi//lib/rbi/rbs_printer.rb#551 sig { override.params(node: ::RBI::Protected).void } def visit_protected(node); end - # source://rbi/lib/rbi/rbs_printer.rb#505 + # : (Public node) -> void + # + # source://rbi//lib/rbi/rbs_printer.rb#545 sig { override.params(node: ::RBI::Public).void } def visit_public(node); end - # source://rbi/lib/rbi/rbs_printer.rb#443 + # : (ReqParam node) -> void + # + # source://rbi//lib/rbi/rbs_printer.rb#462 sig { override.params(node: ::RBI::ReqParam).void } def visit_req_param(node); end - # source://rbi/lib/rbi/rbs_printer.rb#649 + # : (RequiresAncestor node) -> void + # + # source://rbi//lib/rbi/rbs_printer.rb#705 sig { override.params(node: ::RBI::RequiresAncestor).void } def visit_requires_ancestor(node); end - # source://rbi/lib/rbi/rbs_printer.rb#453 + # : (RestParam node) -> void + # + # source://rbi//lib/rbi/rbs_printer.rb#482 sig { override.params(node: ::RBI::RestParam).void } def visit_rest_param(node); end - # source://rbi/lib/rbi/rbs_printer.rb#138 + # : (Scope node) -> void + # + # source://rbi//lib/rbi/rbs_printer.rb#151 sig { params(node: ::RBI::Scope).void } def visit_scope(node); end - # source://rbi/lib/rbi/rbs_printer.rb#201 + # : (Scope node) -> void + # + # source://rbi//lib/rbi/rbs_printer.rb#214 sig { params(node: ::RBI::Scope).void } def visit_scope_body(node); end - # source://rbi/lib/rbi/rbs_printer.rb#663 + # : (ScopeConflict node) -> void + # + # source://rbi//lib/rbi/rbs_printer.rb#721 sig { override.params(node: ::RBI::ScopeConflict).void } def visit_scope_conflict(node); end - # source://rbi/lib/rbi/rbs_printer.rb#148 + # : (Scope node) -> void + # + # source://rbi//lib/rbi/rbs_printer.rb#161 sig { params(node: ::RBI::Scope).void } def visit_scope_header(node); end - # source://rbi/lib/rbi/rbs_printer.rb#529 + # : (Send node) -> void + # + # source://rbi//lib/rbi/rbs_printer.rb#572 sig { override.params(node: ::RBI::Send).void } def visit_send(node); end - # source://rbi/lib/rbi/rbs_printer.rb#425 + # : (Sig node) -> void + # + # source://rbi//lib/rbi/rbs_printer.rb#443 sig { params(node: ::RBI::Sig).void } def visit_sig(node); end - # source://rbi/lib/rbi/rbs_printer.rb#438 + # : (SigParam node) -> void + # + # source://rbi//lib/rbi/rbs_printer.rb#456 sig { params(node: ::RBI::SigParam).void } def visit_sig_param(node); end - # source://rbi/lib/rbi/rbs_printer.rb#133 + # : (SingletonClass node) -> void + # + # source://rbi//lib/rbi/rbs_printer.rb#146 sig { override.params(node: ::RBI::SingletonClass).void } def visit_singleton_class(node); end - # source://rbi/lib/rbi/rbs_printer.rb#128 + # : (Struct node) -> void + # + # source://rbi//lib/rbi/rbs_printer.rb#140 sig { override.params(node: ::RBI::Struct).void } def visit_struct(node); end - # source://rbi/lib/rbi/rbs_printer.rb#592 + # : (TEnum node) -> void + # + # source://rbi//lib/rbi/rbs_printer.rb#641 sig { override.params(node: ::RBI::TEnum).void } def visit_tenum(node); end - # source://rbi/lib/rbi/rbs_printer.rb#597 + # : (TEnumBlock node) -> void + # + # source://rbi//lib/rbi/rbs_printer.rb#647 sig { override.params(node: ::RBI::TEnumBlock).void } def visit_tenum_block(node); end - # source://rbi/lib/rbi/rbs_printer.rb#111 + # : (Tree node) -> void + # + # source://rbi//lib/rbi/rbs_printer.rb#120 sig { override.params(node: ::RBI::Tree).void } def visit_tree(node); end - # source://rbi/lib/rbi/rbs_printer.rb#544 + # : (TStruct node) -> void + # + # source://rbi//lib/rbi/rbs_printer.rb#590 sig { override.params(node: ::RBI::TStruct).void } def visit_tstruct(node); end - # source://rbi/lib/rbi/rbs_printer.rb#578 + # : (TStructConst node) -> void + # + # source://rbi//lib/rbi/rbs_printer.rb#625 sig { override.params(node: ::RBI::TStructConst).void } def visit_tstruct_const(node); end - # source://rbi/lib/rbi/rbs_printer.rb#585 + # : (TStructProp node) -> void + # + # source://rbi//lib/rbi/rbs_printer.rb#633 sig { override.params(node: ::RBI::TStructProp).void } def visit_tstruct_prop(node); end - # source://rbi/lib/rbi/rbs_printer.rb#615 + # : (TypeMember node) -> void + # + # source://rbi//lib/rbi/rbs_printer.rb#666 sig { override.params(node: ::RBI::TypeMember).void } def visit_type_member(node); end - # source://rbi/lib/rbi/rbs_printer.rb#520 + # : (Visibility node) -> void + # + # source://rbi//lib/rbi/rbs_printer.rb#562 sig { params(node: ::RBI::Visibility).void } def visit_visibility(node); end - # source://rbi/lib/rbi/rbs_printer.rb#636 + # : (VisibilityGroup node) -> void + # + # source://rbi//lib/rbi/rbs_printer.rb#691 sig { override.params(node: ::RBI::VisibilityGroup).void } def visit_visibility_group(node); end private - # source://rbi/lib/rbi/rbs_printer.rb#754 + # : (Node node) -> bool + # + # @return [Boolean] + # + # source://rbi//lib/rbi/rbs_printer.rb#824 sig { params(node: ::RBI::Node).returns(T::Boolean) } def oneline?(node); end # Parse a string containing a `T.let(x, X)` and extract the type # # Returns `nil` is the string is not a `T.let`. + # : (String? code) -> String? # - # source://rbi/lib/rbi/rbs_printer.rb#788 + # source://rbi//lib/rbi/rbs_printer.rb#858 + # Parse a string containing a `T.let(x, X)` and extract the type + # Returns `nil` is the string is not a `T.let`. sig { params(code: T.nilable(::String)).returns(T.nilable(::String)) } def parse_t_let(code); end - # source://rbi/lib/rbi/rbs_printer.rb#776 + # : ((Type | String) type) -> Type + # + # source://rbi//lib/rbi/rbs_printer.rb#846 sig { params(type: T.any(::RBI::Type, ::String)).returns(::RBI::Type) } def parse_type(type); end - # source://rbi/lib/rbi/rbs_printer.rb#679 + # : (Node node) -> void + # + # source://rbi//lib/rbi/rbs_printer.rb#737 sig { params(node: ::RBI::Node).void } def print_blank_line_before(node); end - # source://rbi/lib/rbi/rbs_printer.rb#698 + # : (Node node) -> void + # + # source://rbi//lib/rbi/rbs_printer.rb#756 sig { params(node: ::RBI::Node).void } def print_loc(node); end - # source://rbi/lib/rbi/rbs_printer.rb#728 + # : (Param node, last: bool) -> void + # + # source://rbi//lib/rbi/rbs_printer.rb#798 sig { params(node: ::RBI::Param, last: T::Boolean).void } def print_param_comment_leading_space(node, last:); end - # source://rbi/lib/rbi/rbs_printer.rb#704 + # : (Method node, SigParam param) -> void + # + # source://rbi//lib/rbi/rbs_printer.rb#762 sig { params(node: ::RBI::Method, param: ::RBI::SigParam).void } def print_sig_param(node, param); end - # source://rbi/lib/rbi/rbs_printer.rb#746 + # : (SigParam node, last: bool) -> void + # + # source://rbi//lib/rbi/rbs_printer.rb#816 sig { params(node: ::RBI::SigParam, last: T::Boolean).void } def print_sig_param_comment_leading_space(node, last:); end end -# source://rbi/lib/rbi/rbs_printer.rb#6 +# source://rbi//lib/rbi/rbs_printer.rb#6 class RBI::RBSPrinter::Error < ::RBI::Error; end -# source://rbi/lib/rbi/model.rb#5 +# source://rbi//lib/rbi/model.rb#5 class RBI::ReplaceNodeError < ::RBI::Error; end -# source://rbi/lib/rbi/model.rb#654 +# source://rbi//lib/rbi/model.rb#532 class RBI::ReqParam < ::RBI::Param - # source://rbi/lib/rbi/model.rb#665 + # : (String name, ?loc: Loc?, ?comments: Array[Comment]) ?{ (ReqParam node) -> void } -> void + # + # @return [ReqParam] a new instance of ReqParam + # + # source://rbi//lib/rbi/model.rb#534 sig do params( name: ::String, @@ -2137,35 +3157,51 @@ class RBI::ReqParam < ::RBI::Param end def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end - # source://rbi/lib/rbi/model.rb#671 + # : (Object? other) -> bool + # + # source://rbi//lib/rbi/model.rb#540 sig { params(other: T.nilable(::Object)).returns(T::Boolean) } def ==(other); end end -# source://rbi/lib/rbi/model.rb#1461 +# source://rbi//lib/rbi/model.rb#1100 class RBI::RequiresAncestor < ::RBI::NodeWithComments include ::RBI::Indexable - # source://rbi/lib/rbi/model.rb#1474 + # : (String name, ?loc: Loc?, ?comments: Array[Comment]) -> void + # + # @return [RequiresAncestor] a new instance of RequiresAncestor + # + # source://rbi//lib/rbi/model.rb#1105 sig { params(name: ::String, loc: T.nilable(::RBI::Loc), comments: T::Array[::RBI::Comment]).void } def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil)); end - # source://rbi/lib/rbi/index.rb#163 + # : -> Array[String] + # + # source://rbi//lib/rbi/index.rb#159 sig { override.returns(T::Array[::String]) } def index_ids; end - # source://rbi/lib/rbi/model.rb#1465 + # : String + # + # source://rbi//lib/rbi/model.rb#1102 sig { returns(::String) } def name; end - # source://rbi/lib/rbi/model.rb#1480 + # : -> String + # + # source://rbi//lib/rbi/model.rb#1112 sig { override.returns(::String) } def to_s; end end -# source://rbi/lib/rbi/model.rb#703 +# source://rbi//lib/rbi/model.rb#562 class RBI::RestParam < ::RBI::Param - # source://rbi/lib/rbi/model.rb#714 + # : (String name, ?loc: Loc?, ?comments: Array[Comment]) ?{ (RestParam node) -> void } -> void + # + # @return [RestParam] a new instance of RestParam + # + # source://rbi//lib/rbi/model.rb#564 sig do params( name: ::String, @@ -2176,92 +3212,132 @@ class RBI::RestParam < ::RBI::Param end def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end - # source://rbi/lib/rbi/model.rb#725 + # : (Object? other) -> bool + # + # source://rbi//lib/rbi/model.rb#576 sig { params(other: T.nilable(::Object)).returns(T::Boolean) } def ==(other); end - # source://rbi/lib/rbi/model.rb#720 + # : -> String + # + # source://rbi//lib/rbi/model.rb#571 sig { override.returns(::String) } def to_s; end end -# source://rbi/lib/rbi/rewriters/add_sig_templates.rb#5 +# source://rbi//lib/rbi/rewriters/add_sig_templates.rb#5 module RBI::Rewriters; end -# source://rbi/lib/rbi/rewriters/add_sig_templates.rb#6 +# source://rbi//lib/rbi/rewriters/add_sig_templates.rb#6 class RBI::Rewriters::AddSigTemplates < ::RBI::Visitor - # source://rbi/lib/rbi/rewriters/add_sig_templates.rb#10 + # : (?with_todo_comment: bool) -> void + # + # @return [AddSigTemplates] a new instance of AddSigTemplates + # + # source://rbi//lib/rbi/rewriters/add_sig_templates.rb#8 sig { params(with_todo_comment: T::Boolean).void } def initialize(with_todo_comment: T.unsafe(nil)); end - # source://rbi/lib/rbi/rewriters/add_sig_templates.rb#16 + # : (Node? node) -> void + # + # source://rbi//lib/rbi/rewriters/add_sig_templates.rb#15 sig { override.params(node: T.nilable(::RBI::Node)).void } def visit(node); end private - # source://rbi/lib/rbi/rewriters/add_sig_templates.rb#30 + # : (Attr attr) -> void + # + # source://rbi//lib/rbi/rewriters/add_sig_templates.rb#29 sig { params(attr: ::RBI::Attr).void } def add_attr_sig(attr); end - # source://rbi/lib/rbi/rewriters/add_sig_templates.rb#45 + # : (Method method) -> void + # + # source://rbi//lib/rbi/rewriters/add_sig_templates.rb#44 sig { params(method: ::RBI::Method).void } def add_method_sig(method); end - # source://rbi/lib/rbi/rewriters/add_sig_templates.rb#56 + # : (NodeWithComments node) -> void + # + # source://rbi//lib/rbi/rewriters/add_sig_templates.rb#55 sig { params(node: ::RBI::NodeWithComments).void } def add_todo_comment(node); end end -# source://rbi/lib/rbi/rewriters/annotate.rb#6 +# source://rbi//lib/rbi/rewriters/annotate.rb#6 class RBI::Rewriters::Annotate < ::RBI::Visitor - # source://rbi/lib/rbi/rewriters/annotate.rb#10 + # : (String annotation, ?annotate_scopes: bool, ?annotate_properties: bool) -> void + # + # @return [Annotate] a new instance of Annotate + # + # source://rbi//lib/rbi/rewriters/annotate.rb#8 sig { params(annotation: ::String, annotate_scopes: T::Boolean, annotate_properties: T::Boolean).void } def initialize(annotation, annotate_scopes: T.unsafe(nil), annotate_properties: T.unsafe(nil)); end - # source://rbi/lib/rbi/rewriters/annotate.rb#18 + # : (Node? node) -> void + # + # source://rbi//lib/rbi/rewriters/annotate.rb#17 sig { override.params(node: T.nilable(::RBI::Node)).void } def visit(node); end private - # source://rbi/lib/rbi/rewriters/annotate.rb#31 + # : (NodeWithComments node) -> void + # + # source://rbi//lib/rbi/rewriters/annotate.rb#30 sig { params(node: ::RBI::NodeWithComments).void } def annotate_node(node); end - # source://rbi/lib/rbi/rewriters/annotate.rb#38 + # : (Node node) -> bool + # + # @return [Boolean] + # + # source://rbi//lib/rbi/rewriters/annotate.rb#37 sig { params(node: ::RBI::Node).returns(T::Boolean) } def root?(node); end end -# source://rbi/lib/rbi/rewriters/attr_to_methods.rb#22 +# source://rbi//lib/rbi/rewriters/attr_to_methods.rb#22 class RBI::Rewriters::AttrToMethods < ::RBI::Visitor - # source://rbi/lib/rbi/rewriters/attr_to_methods.rb#26 + # : (Node? node) -> void + # + # source://rbi//lib/rbi/rewriters/attr_to_methods.rb#25 sig { override.params(node: T.nilable(::RBI::Node)).void } def visit(node); end private + # : (Node node, with: Array[Node]) -> void + # # @raise [ReplaceNodeError] # - # source://rbi/lib/rbi/rewriters/attr_to_methods.rb#39 + # source://rbi//lib/rbi/rewriters/attr_to_methods.rb#38 sig { params(node: ::RBI::Node, with: T::Array[::RBI::Node]).void } def replace(node, with:); end end -# source://rbi/lib/rbi/rewriters/deannotate.rb#6 +# source://rbi//lib/rbi/rewriters/deannotate.rb#6 class RBI::Rewriters::Deannotate < ::RBI::Visitor - # source://rbi/lib/rbi/rewriters/deannotate.rb#10 + # : (String annotation) -> void + # + # @return [Deannotate] a new instance of Deannotate + # + # source://rbi//lib/rbi/rewriters/deannotate.rb#8 sig { params(annotation: ::String).void } def initialize(annotation); end - # source://rbi/lib/rbi/rewriters/deannotate.rb#16 + # : (Node? node) -> void + # + # source://rbi//lib/rbi/rewriters/deannotate.rb#15 sig { override.params(node: T.nilable(::RBI::Node)).void } def visit(node); end private - # source://rbi/lib/rbi/rewriters/deannotate.rb#27 + # : (NodeWithComments node) -> void + # + # source://rbi//lib/rbi/rewriters/deannotate.rb#26 sig { params(node: ::RBI::NodeWithComments).void } def deannotate_node(node); end end @@ -2318,24 +3394,67 @@ end # RBI with no versions: # - RBI with no version annotations are automatically counted towards ALL versions # -# source://rbi/lib/rbi/rewriters/filter_versions.rb#57 +# source://rbi//lib/rbi/rewriters/filter_versions.rb#57 +# 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 +# RBI +# Rewriters::FilterVersions.filter(tree, Gem::Version.new("0.3.1")) +# assert_equal(<<~RBI, tree.string) +# ~~~ +# 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: class RBI::Rewriters::FilterVersions < ::RBI::Visitor - # source://rbi/lib/rbi/rewriters/filter_versions.rb#73 + # : (Gem::Version version) -> void + # + # @return [FilterVersions] a new instance of FilterVersions + # + # source://rbi//lib/rbi/rewriters/filter_versions.rb#69 sig { params(version: ::Gem::Version).void } def initialize(version); end - # source://rbi/lib/rbi/rewriters/filter_versions.rb#79 + # : (Node? node) -> void + # + # source://rbi//lib/rbi/rewriters/filter_versions.rb#76 sig { override.params(node: T.nilable(::RBI::Node)).void } def visit(node); end class << self - # source://rbi/lib/rbi/rewriters/filter_versions.rb#66 + # : (Tree tree, Gem::Version version) -> void + # + # source://rbi//lib/rbi/rewriters/filter_versions.rb#62 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 +# source://rbi//lib/rbi/rewriters/filter_versions.rb#58 RBI::Rewriters::FilterVersions::VERSION_PREFIX = T.let(T.unsafe(nil), String) # Rewrite non-singleton methods inside singleton classes to singleton methods @@ -2363,9 +3482,25 @@ RBI::Rewriters::FilterVersions::VERSION_PREFIX = T.let(T.unsafe(nil), String) # end # ~~~ # -# source://rbi/lib/rbi/rewriters/flatten_singleton_methods.rb#30 +# source://rbi//lib/rbi/rewriters/flatten_singleton_methods.rb#30 +# Rewrite non-singleton methods inside singleton classes to singleton methods +# Example: +# ~~~rb +# class << self +# def m1; end +# def self.m2; end +# class << self +# def m3; end +# end +# end +# will be rewritten to: +# def self.m1; end +# def self.m2; end +# def self.m3; end class RBI::Rewriters::FlattenSingletonMethods < ::RBI::Visitor - # source://rbi/lib/rbi/rewriters/flatten_singleton_methods.rb#34 + # : (Node? node) -> void + # + # source://rbi//lib/rbi/rewriters/flatten_singleton_methods.rb#33 sig { override.params(node: T.nilable(::RBI::Node)).void } def visit(node); end end @@ -2392,26 +3527,48 @@ end # end # ~~~ # -# source://rbi/lib/rbi/rewriters/flatten_visibilities.rb#27 +# source://rbi//lib/rbi/rewriters/flatten_visibilities.rb#27 +# Flattens visibility nodes into method nodes +# Example: +# ~~~rb +# class A +# def m1; end +# private +# def m2; end +# def m3; end +# end +# will be transformed into: +# private def m2; end +# private def m3; end class RBI::Rewriters::FlattenVisibilities < ::RBI::Visitor - # source://rbi/lib/rbi/rewriters/flatten_visibilities.rb#31 + # : -> void + # + # @return [FlattenVisibilities] a new instance of FlattenVisibilities + # + # source://rbi//lib/rbi/rewriters/flatten_visibilities.rb#29 sig { void } def initialize; end - # source://rbi/lib/rbi/rewriters/flatten_visibilities.rb#38 + # : (Node? node) -> void + # + # source://rbi//lib/rbi/rewriters/flatten_visibilities.rb#37 sig { override.params(node: T.nilable(::RBI::Node)).void } def visit(node); end end -# source://rbi/lib/rbi/rewriters/group_nodes.rb#8 +# source://rbi//lib/rbi/rewriters/group_nodes.rb#8 class RBI::Rewriters::GroupNodes < ::RBI::Visitor - # source://rbi/lib/rbi/rewriters/group_nodes.rb#12 + # : (Node? node) -> void + # + # source://rbi//lib/rbi/rewriters/group_nodes.rb#11 sig { override.params(node: T.nilable(::RBI::Node)).void } def visit(node); end private - # source://rbi/lib/rbi/rewriters/group_nodes.rb#36 + # : (Node node) -> Group::Kind + # + # source://rbi//lib/rbi/rewriters/group_nodes.rb#35 sig { params(node: ::RBI::Node).returns(::RBI::Group::Kind) } def group_kind(node); end end @@ -2450,22 +3607,47 @@ end # end # ~~~ # -# source://rbi/lib/rbi/rewriters/merge_trees.rb#39 +# source://rbi//lib/rbi/rewriters/merge_trees.rb#39 +# Merge two RBI trees together +# Be this `Tree`: +# ~~~rb +# class Foo +# attr_accessor :a +# def m; end +# C = 10 +# end +# Merged with this one: +# attr_reader :a +# def m(x); end +# Compatible definitions are merged together while incompatible definitions are moved into a `ConflictTree`: +# <<<<<<< left +# ======= +# >>>>>>> right class RBI::Rewriters::Merge - # source://rbi/lib/rbi/rewriters/merge_trees.rb#70 + # : (?left_name: String, ?right_name: String, ?keep: Keep) -> void + # + # @return [Merge] a new instance of Merge + # + # source://rbi//lib/rbi/rewriters/merge_trees.rb#66 sig { params(left_name: ::String, right_name: ::String, keep: ::RBI::Rewriters::Merge::Keep).void } def initialize(left_name: T.unsafe(nil), right_name: T.unsafe(nil), keep: T.unsafe(nil)); end - # source://rbi/lib/rbi/rewriters/merge_trees.rb#79 + # : (Tree tree) -> void + # + # source://rbi//lib/rbi/rewriters/merge_trees.rb#75 sig { params(tree: ::RBI::Tree).void } def merge(tree); end - # source://rbi/lib/rbi/rewriters/merge_trees.rb#67 + # : MergeTree + # + # source://rbi//lib/rbi/rewriters/merge_trees.rb#63 sig { returns(::RBI::MergeTree) } def tree; end class << self - # source://rbi/lib/rbi/rewriters/merge_trees.rb#54 + # : (Tree left, Tree right, ?left_name: String, ?right_name: String, ?keep: Keep) -> MergeTree + # + # source://rbi//lib/rbi/rewriters/merge_trees.rb#50 sig do params( left: ::RBI::Tree, @@ -2481,19 +3663,21 @@ end # Used for logging / error displaying purpose # -# source://rbi/lib/rbi/rewriters/merge_trees.rb#86 +# source://rbi//lib/rbi/rewriters/merge_trees.rb#82 class RBI::Rewriters::Merge::Conflict < ::T::Struct const :left, ::RBI::Node const :right, ::RBI::Node const :left_name, ::String const :right_name, ::String - # source://rbi/lib/rbi/rewriters/merge_trees.rb#95 + # : -> String + # + # source://rbi//lib/rbi/rewriters/merge_trees.rb#89 sig { returns(::String) } def to_s; end class << self - # source://sorbet-runtime/0.5.11761lib/types/struct.rb#13 + # source://sorbet-runtime/0.5.11915/lib/types/struct.rb#13 def inherited(s); end end end @@ -2516,37 +3700,56 @@ end # end # ~~~ # -# Into this: +# Into this: +# ~~~rb +# class Foo +# <<<<<<< left +# def m1; end +# def m2(a); end +# ======= +# def m1(a); end +# def m2; end +# >>>>>>> right +# end +# ~~~ +# +# source://rbi//lib/rbi/rewriters/merge_trees.rb#238 +# Merge adjacent conflict trees +# Transform this: # ~~~rb # class Foo # <<<<<<< left # def m1; end -# def m2(a); end # ======= # def m1(a); end -# def m2; end # >>>>>>> right +# def m2(a); end +# def m2; end # end -# ~~~ -# -# source://rbi/lib/rbi/rewriters/merge_trees.rb#245 +# Into this: class RBI::Rewriters::Merge::ConflictTreeMerger < ::RBI::Visitor - # source://rbi/lib/rbi/rewriters/merge_trees.rb#247 + # : (Node? node) -> void + # + # source://rbi//lib/rbi/rewriters/merge_trees.rb#241 sig { override.params(node: T.nilable(::RBI::Node)).void } def visit(node); end - # source://rbi/lib/rbi/rewriters/merge_trees.rb#252 + # : (Array[Node] nodes) -> void + # + # source://rbi//lib/rbi/rewriters/merge_trees.rb#247 sig { override.params(nodes: T::Array[::RBI::Node]).void } def visit_all(nodes); end private - # source://rbi/lib/rbi/rewriters/merge_trees.rb#273 + # : (Tree left, Tree right) -> void + # + # source://rbi//lib/rbi/rewriters/merge_trees.rb#268 sig { params(left: ::RBI::Tree, right: ::RBI::Tree).void } def merge_conflict_trees(left, right); end end -# source://rbi/lib/rbi/rewriters/merge_trees.rb#42 +# source://rbi//lib/rbi/rewriters/merge_trees.rb#40 class RBI::Rewriters::Merge::Keep < ::T::Enum enums do LEFT = new @@ -2555,9 +3758,13 @@ class RBI::Rewriters::Merge::Keep < ::T::Enum end end -# source://rbi/lib/rbi/rewriters/merge_trees.rb#100 +# source://rbi//lib/rbi/rewriters/merge_trees.rb#94 class RBI::Rewriters::Merge::TreeMerger < ::RBI::Visitor - # source://rbi/lib/rbi/rewriters/merge_trees.rb#107 + # : (Tree output, ?left_name: String, ?right_name: String, ?keep: Keep) -> void + # + # @return [TreeMerger] a new instance of TreeMerger + # + # source://rbi//lib/rbi/rewriters/merge_trees.rb#99 sig do params( output: ::RBI::Tree, @@ -2568,47 +3775,65 @@ class RBI::Rewriters::Merge::TreeMerger < ::RBI::Visitor end def initialize(output, left_name: T.unsafe(nil), right_name: T.unsafe(nil), keep: T.unsafe(nil)); end - # source://rbi/lib/rbi/rewriters/merge_trees.rb#104 + # : Array[Conflict] + # + # source://rbi//lib/rbi/rewriters/merge_trees.rb#96 sig { returns(T::Array[::RBI::Rewriters::Merge::Conflict]) } def conflicts; end - # source://rbi/lib/rbi/rewriters/merge_trees.rb#119 + # : (Node? node) -> void + # + # source://rbi//lib/rbi/rewriters/merge_trees.rb#112 sig { override.params(node: T.nilable(::RBI::Node)).void } def visit(node); end private - # source://rbi/lib/rbi/rewriters/merge_trees.rb#168 + # : -> Tree + # + # source://rbi//lib/rbi/rewriters/merge_trees.rb#161 sig { returns(::RBI::Tree) } def current_scope; end - # source://rbi/lib/rbi/rewriters/merge_trees.rb#185 + # : (Scope left, Scope right) -> void + # + # source://rbi//lib/rbi/rewriters/merge_trees.rb#178 sig { params(left: ::RBI::Scope, right: ::RBI::Scope).void } def make_conflict_scope(left, right); end - # source://rbi/lib/rbi/rewriters/merge_trees.rb#192 + # : (Node left, Node right) -> void + # + # source://rbi//lib/rbi/rewriters/merge_trees.rb#185 sig { params(left: ::RBI::Node, right: ::RBI::Node).void } def make_conflict_tree(left, right); end - # source://rbi/lib/rbi/rewriters/merge_trees.rb#173 + # : (Node node) -> Node? + # + # source://rbi//lib/rbi/rewriters/merge_trees.rb#166 sig { params(node: ::RBI::Node).returns(T.nilable(::RBI::Node)) } def previous_definition(node); end - # source://rbi/lib/rbi/rewriters/merge_trees.rb#204 + # : (Scope left, Scope right) -> Scope + # + # source://rbi//lib/rbi/rewriters/merge_trees.rb#197 sig { params(left: ::RBI::Scope, right: ::RBI::Scope).returns(::RBI::Scope) } def replace_scope_header(left, right); end end -# source://rbi/lib/rbi/rewriters/nest_non_public_members.rb#6 +# source://rbi//lib/rbi/rewriters/nest_non_public_members.rb#6 class RBI::Rewriters::NestNonPublicMembers < ::RBI::Visitor - # source://rbi/lib/rbi/rewriters/nest_non_public_members.rb#10 + # : (Node? node) -> void + # + # source://rbi//lib/rbi/rewriters/nest_non_public_members.rb#9 sig { override.params(node: T.nilable(::RBI::Node)).void } def visit(node); end end -# source://rbi/lib/rbi/rewriters/nest_singleton_methods.rb#6 +# source://rbi//lib/rbi/rewriters/nest_singleton_methods.rb#6 class RBI::Rewriters::NestSingletonMethods < ::RBI::Visitor - # source://rbi/lib/rbi/rewriters/nest_singleton_methods.rb#10 + # : (Node? node) -> void + # + # source://rbi//lib/rbi/rewriters/nest_singleton_methods.rb#9 sig { override.params(node: T.nilable(::RBI::Node)).void } def visit(node); end end @@ -2630,13 +3855,29 @@ end # end # ~~~ # -# source://rbi/lib/rbi/rewriters/nest_top_level_members.rb#22 +# source://rbi//lib/rbi/rewriters/nest_top_level_members.rb#22 +# This rewriter moves top-level members into a top-level Object class +# Example: +# ~~~rb +# def foo; end +# attr_reader :bar +# will be rewritten to: +# class Object +# def foo; end +# attr_reader :bar +# end class RBI::Rewriters::NestTopLevelMembers < ::RBI::Visitor - # source://rbi/lib/rbi/rewriters/nest_top_level_members.rb#26 + # : -> void + # + # @return [NestTopLevelMembers] a new instance of NestTopLevelMembers + # + # source://rbi//lib/rbi/rewriters/nest_top_level_members.rb#24 sig { void } def initialize; end - # source://rbi/lib/rbi/rewriters/nest_top_level_members.rb#33 + # : (Node? node) -> void + # + # source://rbi//lib/rbi/rewriters/nest_top_level_members.rb#32 sig { override.params(node: T.nilable(::RBI::Node)).void } def visit(node); end end @@ -2684,40 +3925,81 @@ end # OPERATIONS # ~~~ # -# source://rbi/lib/rbi/rewriters/remove_known_definitions.rb#48 +# source://rbi//lib/rbi/rewriters/remove_known_definitions.rb#48 +# Remove all definitions existing in the index from the current tree +# Let's create an `Index` from two different `Tree`s: +# ~~~rb +# tree1 = Parse.parse_string(<<~RBI) +# class Foo +# def foo; end +# end +# RBI +# tree2 = Parse.parse_string(<<~RBI) +# FOO = 10 +# index = Index.index(tree1, tree2) +# We can use `RemoveKnownDefinitions` to remove the definitions found in the `index` from the `Tree` to clean: +# tree_to_clean = Parser.parse_string(<<~RBI) +# def bar; end +# BAR = 42 +# cleaned_tree, operations = RemoveKnownDefinitions.remove(tree_to_clean, index) +# assert_equal(<<~RBI, cleaned_tree) +# assert_equal(<<~OPERATIONS, operations.join("\n")) +# Deleted ::Foo#foo at -:2:2-2-16 (duplicate from -:2:2-2:16) +# Deleted ::FOO at -:5:0-5:8 (duplicate from -:1:0-1:8) +# OPERATIONS class RBI::Rewriters::RemoveKnownDefinitions < ::RBI::Visitor - # source://rbi/lib/rbi/rewriters/remove_known_definitions.rb#55 + # : (Index index) -> void + # + # @return [RemoveKnownDefinitions] a new instance of RemoveKnownDefinitions + # + # source://rbi//lib/rbi/rewriters/remove_known_definitions.rb#53 sig { params(index: ::RBI::Index).void } def initialize(index); end - # source://rbi/lib/rbi/rewriters/remove_known_definitions.rb#52 + # : Array[Operation] + # + # source://rbi//lib/rbi/rewriters/remove_known_definitions.rb#50 sig { returns(T::Array[::RBI::Rewriters::RemoveKnownDefinitions::Operation]) } def operations; end - # source://rbi/lib/rbi/rewriters/remove_known_definitions.rb#83 + # : (Node? node) -> void + # + # source://rbi//lib/rbi/rewriters/remove_known_definitions.rb#75 sig { override.params(node: T.nilable(::RBI::Node)).void } def visit(node); end - # source://rbi/lib/rbi/rewriters/remove_known_definitions.rb#78 + # : (Array[Node] nodes) -> void + # + # source://rbi//lib/rbi/rewriters/remove_known_definitions.rb#69 sig { params(nodes: T::Array[::RBI::Node]).void } def visit_all(nodes); end private - # source://rbi/lib/rbi/rewriters/remove_known_definitions.rb#111 + # : (Node node, Node previous) -> bool + # + # @return [Boolean] + # + # source://rbi//lib/rbi/rewriters/remove_known_definitions.rb#103 sig { params(node: ::RBI::Node, previous: ::RBI::Node).returns(T::Boolean) } def can_delete_node?(node, previous); end - # source://rbi/lib/rbi/rewriters/remove_known_definitions.rb#129 + # : (Node node, Node previous) -> void + # + # source://rbi//lib/rbi/rewriters/remove_known_definitions.rb#121 sig { params(node: ::RBI::Node, previous: ::RBI::Node).void } def delete_node(node, previous); end - # source://rbi/lib/rbi/rewriters/remove_known_definitions.rb#102 + # : (Indexable node) -> Node? + # + # source://rbi//lib/rbi/rewriters/remove_known_definitions.rb#94 sig { params(node: ::RBI::Indexable).returns(T.nilable(::RBI::Node)) } def previous_definition_for(node); end class << self - # source://rbi/lib/rbi/rewriters/remove_known_definitions.rb#70 + # : (Tree tree, Index index) -> [Tree, Array[Operation]] + # + # source://rbi//lib/rbi/rewriters/remove_known_definitions.rb#61 sig do params( tree: ::RBI::Tree, @@ -2728,73 +4010,125 @@ class RBI::Rewriters::RemoveKnownDefinitions < ::RBI::Visitor end end -# source://rbi/lib/rbi/rewriters/remove_known_definitions.rb#134 +# source://rbi//lib/rbi/rewriters/remove_known_definitions.rb#126 class RBI::Rewriters::RemoveKnownDefinitions::Operation < ::T::Struct const :deleted_node, ::RBI::Node const :duplicate_of, ::RBI::Node - # source://rbi/lib/rbi/rewriters/remove_known_definitions.rb#141 + # : -> String + # + # source://rbi//lib/rbi/rewriters/remove_known_definitions.rb#131 sig { returns(::String) } def to_s; end class << self - # source://sorbet-runtime/0.5.11761lib/types/struct.rb#13 + # source://sorbet-runtime/0.5.11915/lib/types/struct.rb#13 def inherited(s); end end end -# source://rbi/lib/rbi/rewriters/sort_nodes.rb#6 +# source://rbi//lib/rbi/rewriters/sort_nodes.rb#6 class RBI::Rewriters::SortNodes < ::RBI::Visitor - # source://rbi/lib/rbi/rewriters/sort_nodes.rb#10 + # : (Node? node) -> void + # + # source://rbi//lib/rbi/rewriters/sort_nodes.rb#9 sig { override.params(node: T.nilable(::RBI::Node)).void } def visit(node); end private - # source://rbi/lib/rbi/rewriters/sort_nodes.rb#73 + # : (Group::Kind kind) -> Integer + # + # source://rbi//lib/rbi/rewriters/sort_nodes.rb#72 sig { params(kind: ::RBI::Group::Kind).returns(::Integer) } def group_rank(kind); end - # source://rbi/lib/rbi/rewriters/sort_nodes.rb#94 + # : (Node node) -> String? + # + # source://rbi//lib/rbi/rewriters/sort_nodes.rb#93 sig { params(node: ::RBI::Node).returns(T.nilable(::String)) } def node_name(node); end - # source://rbi/lib/rbi/rewriters/sort_nodes.rb#45 + # : (Node node) -> Integer + # + # source://rbi//lib/rbi/rewriters/sort_nodes.rb#44 sig { params(node: ::RBI::Node).returns(::Integer) } def node_rank(node); end - # source://rbi/lib/rbi/rewriters/sort_nodes.rb#106 + # : (Node node) -> void + # + # source://rbi//lib/rbi/rewriters/sort_nodes.rb#105 sig { params(node: ::RBI::Node).void } def sort_node_names!(node); end end +# Translate all RBS signature comments to Sorbet RBI signatures +# +# source://rbi//lib/rbi/rewriters/translate_rbs_sigs.rb#7 +class RBI::Rewriters::TranslateRBSSigs < ::RBI::Visitor + # : (Node? node) -> void + # + # source://rbi//lib/rbi/rewriters/translate_rbs_sigs.rb#12 + sig { override.params(node: T.nilable(::RBI::Node)).void } + def visit(node); end + + private + + # : (Method | Attr) -> Array[RBSComment] + # + # source://rbi//lib/rbi/rewriters/translate_rbs_sigs.rb#34 + sig { params(node: T.any(::RBI::Attr, ::RBI::Method)).returns(T::Array[::RBI::RBSComment]) } + def extract_rbs_comments(node); end + + # : (Attr, RBSComment) -> Sig + # + # source://rbi//lib/rbi/rewriters/translate_rbs_sigs.rb#61 + sig { params(node: ::RBI::Attr, comment: ::RBI::RBSComment).returns(::RBI::Sig) } + def translate_rbs_attr_type(node, comment); end + + # : (Method, RBSComment) -> Sig + # + # source://rbi//lib/rbi/rewriters/translate_rbs_sigs.rb#53 + sig { params(node: ::RBI::Method, comment: ::RBI::RBSComment).returns(::RBI::Sig) } + def translate_rbs_method_type(node, comment); end +end + +# source://rbi//lib/rbi/rewriters/translate_rbs_sigs.rb#8 +class RBI::Rewriters::TranslateRBSSigs::Error < ::RBI::Error; end + # Scopes # # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below. # -# source://rbi/lib/rbi/model.rb#178 +# source://rbi//lib/rbi/model.rb#166 class RBI::Scope < ::RBI::Tree include ::RBI::Indexable abstract! # Duplicate `self` scope without its body + # : -> self # - # source://rbi/lib/rbi/rewriters/merge_trees.rb#358 + # source://rbi//lib/rbi/rewriters/merge_trees.rb#337 + # Duplicate `self` scope without its body sig { returns(T.self_type) } def dup_empty; end # @abstract # - # source://rbi/lib/rbi/model.rb#184 + # source://rbi//lib/rbi/model.rb#173 sig { abstract.returns(::String) } def fully_qualified_name; end - # source://rbi/lib/rbi/index.rb#93 + # : -> Array[String] + # + # source://rbi//lib/rbi/index.rb#89 sig { override.returns(T::Array[::String]) } def index_ids; end - # source://rbi/lib/rbi/model.rb#187 + # : -> String + # + # source://rbi//lib/rbi/model.rb#177 sig { override.returns(::String) } def to_s; end end @@ -2812,38 +4146,62 @@ end # end # ~~~ # -# source://rbi/lib/rbi/rewriters/merge_trees.rb#616 +# source://rbi//lib/rbi/rewriters/merge_trees.rb#577 +# A conflict between two scope headers +# Is rendered as a merge conflict between `left` and` right` for scope definitions: +# ~~~rb +# <<<<<<< left +# class Foo +# ======= +# module Foo +# >>>>>>> right +# def m1; end +# end class RBI::ScopeConflict < ::RBI::Tree - # source://rbi/lib/rbi/rewriters/merge_trees.rb#633 + # : (left: Scope, right: Scope, ?left_name: String, ?right_name: String) -> void + # + # @return [ScopeConflict] a new instance of ScopeConflict + # + # source://rbi//lib/rbi/rewriters/merge_trees.rb#585 sig { params(left: ::RBI::Scope, right: ::RBI::Scope, left_name: ::String, right_name: ::String).void } def initialize(left:, right:, left_name: T.unsafe(nil), right_name: T.unsafe(nil)); end - # source://rbi/lib/rbi/rewriters/merge_trees.rb#620 + # : Scope + # + # source://rbi//lib/rbi/rewriters/merge_trees.rb#579 sig { returns(::RBI::Scope) } def left; end - # source://rbi/lib/rbi/rewriters/merge_trees.rb#623 + # : String + # + # source://rbi//lib/rbi/rewriters/merge_trees.rb#582 sig { returns(::String) } def left_name; end - # @return [Scope] + # : Scope # - # source://rbi/lib/rbi/rewriters/merge_trees.rb#620 + # source://rbi//lib/rbi/rewriters/merge_trees.rb#579 + # @return [Scope] def right; end - # @return [String] + # : String # - # source://rbi/lib/rbi/rewriters/merge_trees.rb#623 + # source://rbi//lib/rbi/rewriters/merge_trees.rb#582 + # @return [String] def right_name; end end # Sends # -# source://rbi/lib/rbi/model.rb#1004 +# source://rbi//lib/rbi/model.rb#771 class RBI::Send < ::RBI::NodeWithComments include ::RBI::Indexable - # source://rbi/lib/rbi/model.rb#1022 + # : (String method, ?Array[Arg] args, ?loc: Loc?, ?comments: Array[Comment]) ?{ (Send node) -> void } -> void + # + # @return [Send] a new instance of Send + # + # source://rbi//lib/rbi/model.rb#779 sig do params( method: ::String, @@ -2855,40 +4213,60 @@ class RBI::Send < ::RBI::NodeWithComments end def initialize(method, args = T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end - # source://rbi/lib/rbi/model.rb#1030 + # : (Arg arg) -> void + # + # source://rbi//lib/rbi/model.rb#787 sig { params(arg: ::RBI::Arg).void } def <<(arg); end - # source://rbi/lib/rbi/model.rb#1035 + # : (Object? other) -> bool + # + # source://rbi//lib/rbi/model.rb#792 sig { params(other: T.nilable(::Object)).returns(T::Boolean) } def ==(other); end - # source://rbi/lib/rbi/model.rb#1011 + # : Array[Arg] + # + # source://rbi//lib/rbi/model.rb#776 sig { returns(T::Array[::RBI::Arg]) } def args; end - # source://rbi/lib/rbi/rewriters/merge_trees.rb#537 + # : (Node other) -> bool + # + # @return [Boolean] + # + # source://rbi//lib/rbi/rewriters/merge_trees.rb#503 sig { override.params(other: ::RBI::Node).returns(T::Boolean) } def compatible_with?(other); end - # source://rbi/lib/rbi/index.rb#193 + # : -> Array[String] + # + # source://rbi//lib/rbi/index.rb#189 sig { override.returns(T::Array[::String]) } def index_ids; end - # source://rbi/lib/rbi/model.rb#1008 + # : String + # + # source://rbi//lib/rbi/model.rb#773 sig { returns(::String) } def method; end - # source://rbi/lib/rbi/model.rb#1040 + # : -> String + # + # source://rbi//lib/rbi/model.rb#797 sig { returns(::String) } def to_s; end end # Sorbet's sigs # -# source://rbi/lib/rbi/model.rb#1104 +# source://rbi//lib/rbi/model.rb#846 class RBI::Sig < ::RBI::NodeWithComments - # source://rbi/lib/rbi/model.rb#1138 + # : (?params: Array[SigParam], ?return_type: (Type | String), ?is_abstract: bool, ?is_override: bool, ?is_overridable: bool, ?is_final: bool, ?allow_incompatible_override: bool, ?type_params: Array[String], ?checked: Symbol?, ?loc: Loc?, ?comments: Array[Comment]) ?{ (Sig node) -> void } -> void + # + # @return [Sig] a new instance of Sig + # + # source://rbi//lib/rbi/model.rb#863 sig do params( params: T::Array[::RBI::SigParam], @@ -2907,97 +4285,128 @@ class RBI::Sig < ::RBI::NodeWithComments end def initialize(params: T.unsafe(nil), return_type: T.unsafe(nil), is_abstract: T.unsafe(nil), is_override: T.unsafe(nil), is_overridable: T.unsafe(nil), is_final: T.unsafe(nil), allow_incompatible_override: T.unsafe(nil), type_params: T.unsafe(nil), checked: T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end - # source://rbi/lib/rbi/model.rb#1166 + # : (SigParam param) -> void + # + # source://rbi//lib/rbi/model.rb#891 sig { params(param: ::RBI::SigParam).void } def <<(param); end - # source://rbi/lib/rbi/model.rb#1176 + # : (Object other) -> bool + # + # source://rbi//lib/rbi/model.rb#901 sig { params(other: ::Object).returns(T::Boolean) } def ==(other); end - # source://rbi/lib/rbi/model.rb#1171 + # : (String name, (Type | String) type) -> void + # + # source://rbi//lib/rbi/model.rb#896 sig { params(name: ::String, type: T.any(::RBI::Type, ::String)).void } def add_param(name, type); end - # @return [Boolean] + # : bool # - # source://rbi/lib/rbi/model.rb#1114 + # source://rbi//lib/rbi/model.rb#854 + # @return [Boolean] def allow_incompatible_override; end - # @return [Boolean] + # : bool # - # source://rbi/lib/rbi/model.rb#1114 + # source://rbi//lib/rbi/model.rb#854 + # @return [Boolean] def allow_incompatible_override=(_arg0); end - # source://rbi/lib/rbi/model.rb#1120 + # : Symbol? + # + # source://rbi//lib/rbi/model.rb#860 sig { returns(T.nilable(::Symbol)) } def checked; end - # @return [Symbol, nil] + # : Symbol? # - # source://rbi/lib/rbi/model.rb#1120 + # source://rbi//lib/rbi/model.rb#860 + # @return [Symbol, nil] def checked=(_arg0); end - # source://rbi/lib/rbi/model.rb#1114 + # : bool + # + # source://rbi//lib/rbi/model.rb#854 sig { returns(T::Boolean) } def is_abstract; end - # @return [Boolean] + # : bool # - # source://rbi/lib/rbi/model.rb#1114 + # source://rbi//lib/rbi/model.rb#854 + # @return [Boolean] def is_abstract=(_arg0); end - # @return [Boolean] + # : bool # - # source://rbi/lib/rbi/model.rb#1114 + # source://rbi//lib/rbi/model.rb#854 + # @return [Boolean] def is_final; end - # @return [Boolean] + # : bool # - # source://rbi/lib/rbi/model.rb#1114 + # source://rbi//lib/rbi/model.rb#854 + # @return [Boolean] def is_final=(_arg0); end - # @return [Boolean] + # : bool # - # source://rbi/lib/rbi/model.rb#1114 + # source://rbi//lib/rbi/model.rb#854 + # @return [Boolean] def is_overridable; end - # @return [Boolean] + # : bool # - # source://rbi/lib/rbi/model.rb#1114 + # source://rbi//lib/rbi/model.rb#854 + # @return [Boolean] def is_overridable=(_arg0); end - # @return [Boolean] + # : bool # - # source://rbi/lib/rbi/model.rb#1114 + # source://rbi//lib/rbi/model.rb#854 + # @return [Boolean] def is_override; end - # @return [Boolean] + # : bool # - # source://rbi/lib/rbi/model.rb#1114 + # source://rbi//lib/rbi/model.rb#854 + # @return [Boolean] def is_override=(_arg0); end - # source://rbi/lib/rbi/model.rb#1108 + # : Array[SigParam] + # + # source://rbi//lib/rbi/model.rb#848 sig { returns(T::Array[::RBI::SigParam]) } def params; end - # source://rbi/lib/rbi/model.rb#1111 + # : (Type | String) + # + # source://rbi//lib/rbi/model.rb#851 sig { returns(T.any(::RBI::Type, ::String)) } def return_type; end - # @return [Type, String] + # : (Type | String) # - # source://rbi/lib/rbi/model.rb#1111 + # source://rbi//lib/rbi/model.rb#851 + # @return [Type, String] def return_type=(_arg0); end - # source://rbi/lib/rbi/model.rb#1117 + # : Array[String] + # + # source://rbi//lib/rbi/model.rb#857 sig { returns(T::Array[::String]) } def type_params; end end -# source://rbi/lib/rbi/model.rb#1185 +# source://rbi//lib/rbi/model.rb#910 class RBI::SigParam < ::RBI::NodeWithComments - # source://rbi/lib/rbi/model.rb#1203 + # : (String name, (Type | String) type, ?loc: Loc?, ?comments: Array[Comment]) ?{ (SigParam node) -> void } -> void + # + # @return [SigParam] a new instance of SigParam + # + # source://rbi//lib/rbi/model.rb#918 sig do params( name: ::String, @@ -3009,22 +4418,32 @@ class RBI::SigParam < ::RBI::NodeWithComments end def initialize(name, type, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end - # source://rbi/lib/rbi/model.rb#1211 + # : (Object other) -> bool + # + # source://rbi//lib/rbi/model.rb#926 sig { params(other: ::Object).returns(T::Boolean) } def ==(other); end - # source://rbi/lib/rbi/model.rb#1189 + # : String + # + # source://rbi//lib/rbi/model.rb#912 sig { returns(::String) } def name; end - # source://rbi/lib/rbi/model.rb#1192 + # : (Type | String) + # + # source://rbi//lib/rbi/model.rb#915 sig { returns(T.any(::RBI::Type, ::String)) } def type; end end -# source://rbi/lib/rbi/model.rb#253 +# source://rbi//lib/rbi/model.rb#226 class RBI::SingletonClass < ::RBI::Scope - # source://rbi/lib/rbi/model.rb#263 + # : (?loc: Loc?, ?comments: Array[Comment]) ?{ (SingletonClass node) -> void } -> void + # + # @return [SingletonClass] a new instance of SingletonClass + # + # source://rbi//lib/rbi/model.rb#228 sig do params( loc: T.nilable(::RBI::Loc), @@ -3034,14 +4453,20 @@ class RBI::SingletonClass < ::RBI::Scope end def initialize(loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end - # source://rbi/lib/rbi/model.rb#269 + # : -> String + # + # source://rbi//lib/rbi/model.rb#235 sig { override.returns(::String) } def fully_qualified_name; end end -# source://rbi/lib/rbi/model.rb#274 +# source://rbi//lib/rbi/model.rb#240 class RBI::Struct < ::RBI::Scope - # source://rbi/lib/rbi/model.rb#296 + # : (String name, ?members: Array[Symbol], ?keyword_init: bool, ?loc: Loc?, ?comments: Array[Comment]) ?{ (Struct struct) -> void } -> void + # + # @return [Struct] a new instance of Struct + # + # source://rbi//lib/rbi/model.rb#251 sig do params( name: ::String, @@ -3054,47 +4479,66 @@ class RBI::Struct < ::RBI::Scope end def initialize(name, members: T.unsafe(nil), keyword_init: T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end - # source://rbi/lib/rbi/rewriters/merge_trees.rb#402 + # : (Node other) -> bool + # + # @return [Boolean] + # + # source://rbi//lib/rbi/rewriters/merge_trees.rb#378 sig { override.params(other: ::RBI::Node).returns(T::Boolean) } def compatible_with?(other); end - # source://rbi/lib/rbi/model.rb#305 + # : -> String + # + # source://rbi//lib/rbi/model.rb#261 sig { override.returns(::String) } def fully_qualified_name; end - # source://rbi/lib/rbi/model.rb#284 + # : bool + # + # source://rbi//lib/rbi/model.rb#248 sig { returns(T::Boolean) } def keyword_init; end - # @return [Boolean] + # : bool # - # source://rbi/lib/rbi/model.rb#284 + # source://rbi//lib/rbi/model.rb#248 + # @return [Boolean] def keyword_init=(_arg0); end - # source://rbi/lib/rbi/model.rb#281 + # : Array[Symbol] + # + # source://rbi//lib/rbi/model.rb#245 sig { returns(T::Array[::Symbol]) } def members; end - # @return [Array] + # : Array[Symbol] # - # source://rbi/lib/rbi/model.rb#281 + # source://rbi//lib/rbi/model.rb#245 + # @return [Array] def members=(_arg0); end - # source://rbi/lib/rbi/model.rb#278 + # : String + # + # source://rbi//lib/rbi/model.rb#242 sig { returns(::String) } def name; end - # @return [String] + # : String # - # source://rbi/lib/rbi/model.rb#278 + # source://rbi//lib/rbi/model.rb#242 + # @return [String] def name=(_arg0); end end # Sorbet's T::Enum # -# source://rbi/lib/rbi/model.rb#1332 +# source://rbi//lib/rbi/model.rb#1012 class RBI::TEnum < ::RBI::Class - # source://rbi/lib/rbi/model.rb#1343 + # : (String name, ?loc: Loc?, ?comments: Array[Comment]) ?{ (TEnum klass) -> void } -> void + # + # @return [TEnum] a new instance of TEnum + # + # source://rbi//lib/rbi/model.rb#1014 sig do params( name: ::String, @@ -3106,9 +4550,13 @@ class RBI::TEnum < ::RBI::Class def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end end -# source://rbi/lib/rbi/model.rb#1349 +# source://rbi//lib/rbi/model.rb#1020 class RBI::TEnumBlock < ::RBI::Scope - # source://rbi/lib/rbi/model.rb#1359 + # : (?loc: Loc?, ?comments: Array[Comment]) ?{ (TEnumBlock node) -> void } -> void + # + # @return [TEnumBlock] a new instance of TEnumBlock + # + # source://rbi//lib/rbi/model.rb#1022 sig do params( loc: T.nilable(::RBI::Loc), @@ -3118,24 +4566,34 @@ class RBI::TEnumBlock < ::RBI::Scope end def initialize(loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end - # source://rbi/lib/rbi/model.rb#1365 + # : -> String + # + # source://rbi//lib/rbi/model.rb#1029 sig { override.returns(::String) } def fully_qualified_name; end - # source://rbi/lib/rbi/index.rb#223 + # : -> Array[String] + # + # source://rbi//lib/rbi/index.rb#219 sig { override.returns(T::Array[::String]) } def index_ids; end - # source://rbi/lib/rbi/model.rb#1370 + # : -> String + # + # source://rbi//lib/rbi/model.rb#1035 sig { override.returns(::String) } def to_s; end end # Sorbet's T::Struct # -# source://rbi/lib/rbi/model.rb#1218 +# source://rbi//lib/rbi/model.rb#933 class RBI::TStruct < ::RBI::Class - # source://rbi/lib/rbi/model.rb#1229 + # : (String name, ?loc: Loc?, ?comments: Array[Comment]) ?{ (TStruct klass) -> void } -> void + # + # @return [TStruct] a new instance of TStruct + # + # source://rbi//lib/rbi/model.rb#935 sig do params( name: ::String, @@ -3147,11 +4605,15 @@ class RBI::TStruct < ::RBI::Class def initialize(name, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end end -# source://rbi/lib/rbi/model.rb#1270 +# source://rbi//lib/rbi/model.rb#968 class RBI::TStructConst < ::RBI::TStructField include ::RBI::Indexable - # source://rbi/lib/rbi/model.rb#1283 + # : (String name, (Type | String) type, ?default: String?, ?loc: Loc?, ?comments: Array[Comment]) ?{ (TStructConst node) -> void } -> void + # + # @return [TStructConst] a new instance of TStructConst + # + # source://rbi//lib/rbi/model.rb#970 sig do params( name: ::String, @@ -3164,30 +4626,44 @@ class RBI::TStructConst < ::RBI::TStructField end def initialize(name, type, default: T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end - # source://rbi/lib/rbi/rewriters/merge_trees.rb#555 + # : (Node other) -> bool + # + # @return [Boolean] + # + # source://rbi//lib/rbi/rewriters/merge_trees.rb#519 sig { override.params(other: ::RBI::Node).returns(T::Boolean) } def compatible_with?(other); end - # source://rbi/lib/rbi/model.rb#1289 + # : -> Array[String] + # + # source://rbi//lib/rbi/model.rb#977 sig { override.returns(T::Array[::String]) } def fully_qualified_names; end - # source://rbi/lib/rbi/index.rb#203 + # : -> Array[String] + # + # source://rbi//lib/rbi/index.rb#199 sig { override.returns(T::Array[::String]) } def index_ids; end - # source://rbi/lib/rbi/model.rb#1295 + # : -> String + # + # source://rbi//lib/rbi/model.rb#984 sig { override.returns(::String) } def to_s; end end # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below. # -# source://rbi/lib/rbi/model.rb#1235 +# source://rbi//lib/rbi/model.rb#941 class RBI::TStructField < ::RBI::NodeWithComments abstract! - # source://rbi/lib/rbi/model.rb#1259 + # : (String name, (Type | String) type, ?default: String?, ?loc: Loc?, ?comments: Array[Comment]) -> void + # + # @return [TStructField] a new instance of TStructField + # + # source://rbi//lib/rbi/model.rb#957 sig do params( name: ::String, @@ -3199,49 +4675,66 @@ class RBI::TStructField < ::RBI::NodeWithComments end def initialize(name, type, default: T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil)); end - # source://rbi/lib/rbi/rewriters/merge_trees.rb#546 + # : (Node other) -> bool + # + # @return [Boolean] + # + # source://rbi//lib/rbi/rewriters/merge_trees.rb#511 sig { override.params(other: ::RBI::Node).returns(T::Boolean) } def compatible_with?(other); end - # source://rbi/lib/rbi/model.rb#1248 + # : String? + # + # source://rbi//lib/rbi/model.rb#954 sig { returns(T.nilable(::String)) } def default; end - # @return [String, nil] + # : String? # - # source://rbi/lib/rbi/model.rb#1248 + # source://rbi//lib/rbi/model.rb#954 + # @return [String, nil] def default=(_arg0); end # @abstract # - # source://rbi/lib/rbi/model.rb#1267 + # source://rbi//lib/rbi/model.rb#965 sig { abstract.returns(T::Array[::String]) } def fully_qualified_names; end - # source://rbi/lib/rbi/model.rb#1242 + # : String + # + # source://rbi//lib/rbi/model.rb#948 sig { returns(::String) } def name; end - # @return [String] + # : String # - # source://rbi/lib/rbi/model.rb#1242 + # source://rbi//lib/rbi/model.rb#948 + # @return [String] def name=(_arg0); end - # source://rbi/lib/rbi/model.rb#1245 + # : (Type | String) + # + # source://rbi//lib/rbi/model.rb#951 sig { returns(T.any(::RBI::Type, ::String)) } def type; end - # @return [Type, String] + # : (Type | String) # - # source://rbi/lib/rbi/model.rb#1245 + # source://rbi//lib/rbi/model.rb#951 + # @return [Type, String] def type=(_arg0); end end -# source://rbi/lib/rbi/model.rb#1300 +# source://rbi//lib/rbi/model.rb#989 class RBI::TStructProp < ::RBI::TStructField include ::RBI::Indexable - # source://rbi/lib/rbi/model.rb#1313 + # : (String name, (Type | String) type, ?default: String?, ?loc: Loc?, ?comments: Array[Comment]) ?{ (TStructProp node) -> void } -> void + # + # @return [TStructProp] a new instance of TStructProp + # + # source://rbi//lib/rbi/model.rb#991 sig do params( name: ::String, @@ -3254,26 +4747,40 @@ class RBI::TStructProp < ::RBI::TStructField end def initialize(name, type, default: T.unsafe(nil), loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end - # source://rbi/lib/rbi/rewriters/merge_trees.rb#564 + # : (Node other) -> bool + # + # @return [Boolean] + # + # source://rbi//lib/rbi/rewriters/merge_trees.rb#527 sig { override.params(other: ::RBI::Node).returns(T::Boolean) } def compatible_with?(other); end - # source://rbi/lib/rbi/model.rb#1319 + # : -> Array[String] + # + # source://rbi//lib/rbi/model.rb#998 sig { override.returns(T::Array[::String]) } def fully_qualified_names; end - # source://rbi/lib/rbi/index.rb#213 + # : -> Array[String] + # + # source://rbi//lib/rbi/index.rb#209 sig { override.returns(T::Array[::String]) } def index_ids; end - # source://rbi/lib/rbi/model.rb#1325 + # : -> String + # + # source://rbi//lib/rbi/model.rb#1005 sig { override.returns(::String) } def to_s; end end -# source://rbi/lib/rbi/model.rb#108 +# source://rbi//lib/rbi/model.rb#112 class RBI::Tree < ::RBI::NodeWithComments - # source://rbi/lib/rbi/model.rb#121 + # : (?loc: Loc?, ?comments: Array[Comment]) ?{ (Tree node) -> void } -> void + # + # @return [Tree] a new instance of Tree + # + # source://rbi//lib/rbi/model.rb#117 sig do params( loc: T.nilable(::RBI::Loc), @@ -3283,19 +4790,25 @@ class RBI::Tree < ::RBI::NodeWithComments end def initialize(loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end - # source://rbi/lib/rbi/model.rb#128 + # : (Node node) -> void + # + # source://rbi//lib/rbi/model.rb#124 sig { params(node: ::RBI::Node).void } def <<(node); end - # source://rbi/lib/rbi/rewriters/add_sig_templates.rb#66 + # : (?with_todo_comment: bool) -> void + # + # source://rbi//lib/rbi/rewriters/add_sig_templates.rb#63 sig { params(with_todo_comment: T::Boolean).void } def add_sig_templates!(with_todo_comment: T.unsafe(nil)); end - # source://rbi/lib/rbi/rewriters/annotate.rb#49 + # : (String annotation, ?annotate_scopes: bool, ?annotate_properties: bool) -> void + # + # source://rbi//lib/rbi/rewriters/annotate.rb#46 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.16.8lib/tapioca/rbi_ext/model.rb#38 + # source://tapioca/0.16.11-5995622a06e194a6308223d789d73f3cc9eae9c4/lib/tapioca/rbi_ext/model.rb#32 sig do params( name: ::String, @@ -3305,19 +4818,19 @@ class RBI::Tree < ::RBI::NodeWithComments end def create_class(name, superclass_name: T.unsafe(nil), &block); end - # source://tapioca/0.16.8lib/tapioca/rbi_ext/model.rb#45 + # source://tapioca/0.16.11-5995622a06e194a6308223d789d73f3cc9eae9c4/lib/tapioca/rbi_ext/model.rb#39 sig { params(name: ::String, value: ::String).void } def create_constant(name, value:); end - # source://tapioca/0.16.8lib/tapioca/rbi_ext/model.rb#55 + # source://tapioca/0.16.11-5995622a06e194a6308223d789d73f3cc9eae9c4/lib/tapioca/rbi_ext/model.rb#49 sig { params(name: ::String).void } def create_extend(name); end - # source://tapioca/0.16.8lib/tapioca/rbi_ext/model.rb#50 + # source://tapioca/0.16.11-5995622a06e194a6308223d789d73f3cc9eae9c4/lib/tapioca/rbi_ext/model.rb#44 sig { params(name: ::String).void } def create_include(name); end - # source://tapioca/0.16.8lib/tapioca/rbi_ext/model.rb#90 + # source://tapioca/0.16.11-5995622a06e194a6308223d789d73f3cc9eae9c4/lib/tapioca/rbi_ext/model.rb#65 sig do params( name: ::String, @@ -3331,19 +4844,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), &block); end - # source://tapioca/0.16.8lib/tapioca/rbi_ext/model.rb#60 + # source://tapioca/0.16.11-5995622a06e194a6308223d789d73f3cc9eae9c4/lib/tapioca/rbi_ext/model.rb#54 sig { params(name: ::String).void } def create_mixes_in_class_methods(name); end - # source://tapioca/0.16.8lib/tapioca/rbi_ext/model.rb#25 + # source://tapioca/0.16.11-5995622a06e194a6308223d789d73f3cc9eae9c4/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.16.8lib/tapioca/rbi_ext/model.rb#9 + # source://tapioca/0.16.11-5995622a06e194a6308223d789d73f3cc9eae9c4/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.16.8lib/tapioca/rbi_ext/model.rb#74 + # source://tapioca/0.16.11-5995622a06e194a6308223d789d73f3cc9eae9c4/lib/tapioca/rbi_ext/model.rb#59 sig do params( name: ::String, @@ -3356,35 +4869,53 @@ 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/lib/rbi/rewriters/deannotate.rb#41 + # : (String annotation) -> void + # + # source://rbi//lib/rbi/rewriters/deannotate.rb#38 sig { params(annotation: ::String).void } def deannotate!(annotation); end - # source://rbi/lib/rbi/model.rb#134 + # : -> bool + # + # @return [Boolean] + # + # source://rbi//lib/rbi/model.rb#130 sig { returns(T::Boolean) } def empty?; end - # source://rbi/lib/rbi/rewriters/filter_versions.rb#118 + # : (Gem::Version version) -> void + # + # source://rbi//lib/rbi/rewriters/filter_versions.rb#113 sig { params(version: ::Gem::Version).void } def filter_versions!(version); end - # source://rbi/lib/rbi/rewriters/flatten_singleton_methods.rb#60 + # : -> void + # + # source://rbi//lib/rbi/rewriters/flatten_singleton_methods.rb#57 sig { void } def flatten_singleton_methods!; end - # source://rbi/lib/rbi/rewriters/flatten_visibilities.rb#60 + # : -> void + # + # source://rbi//lib/rbi/rewriters/flatten_visibilities.rb#57 sig { void } def flatten_visibilities!; end - # source://rbi/lib/rbi/rewriters/group_nodes.rb#81 + # : -> void + # + # source://rbi//lib/rbi/rewriters/group_nodes.rb#78 sig { void } def group_nodes!; end - # source://rbi/lib/rbi/index.rb#68 + # : -> Index + # + # source://rbi//lib/rbi/index.rb#64 sig { returns(::RBI::Index) } def index; end - # source://rbi/lib/rbi/rewriters/merge_trees.rb#324 + # : (Tree other, ?left_name: String, ?right_name: String, ?keep: Rewriters::Merge::Keep) -> MergeTree + # + # source://rbi//lib/rbi/rewriters/merge_trees.rb#314 sig do params( other: ::RBI::Tree, @@ -3395,37 +4926,55 @@ 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/lib/rbi/rewriters/nest_non_public_members.rb#46 + # : -> void + # + # source://rbi//lib/rbi/rewriters/nest_non_public_members.rb#43 sig { void } def nest_non_public_members!; end - # source://rbi/lib/rbi/rewriters/nest_singleton_methods.rb#36 + # : -> void + # + # source://rbi//lib/rbi/rewriters/nest_singleton_methods.rb#33 sig { void } def nest_singleton_methods!; end - # source://rbi/lib/rbi/rewriters/nest_top_level_members.rb#63 + # : -> void + # + # source://rbi//lib/rbi/rewriters/nest_top_level_members.rb#60 sig { void } def nest_top_level_members!; end - # source://rbi/lib/rbi/model.rb#112 + # : Array[Node] + # + # source://rbi//lib/rbi/model.rb#114 sig { returns(T::Array[::RBI::Node]) } def nodes; end - # source://rbi/lib/rbi/rewriters/attr_to_methods.rb#53 + # : -> void + # + # source://rbi//lib/rbi/rewriters/attr_to_methods.rb#50 sig { void } def replace_attributes_with_methods!; end - # source://rbi/lib/rbi/rewriters/sort_nodes.rb#119 + # : -> void + # + # source://rbi//lib/rbi/rewriters/sort_nodes.rb#116 sig { void } def sort_nodes!; end + # : -> void + # + # source://rbi//lib/rbi/rewriters/translate_rbs_sigs.rb#82 + sig { void } + def translate_rbs_sigs!; end + private - # source://tapioca/0.16.8lib/tapioca/rbi_ext/model.rb#123 + # source://tapioca/0.16.11-5995622a06e194a6308223d789d73f3cc9eae9c4/lib/tapioca/rbi_ext/model.rb#98 sig { params(node: ::RBI::Node).returns(::RBI::Node) } def create_node(node); end - # source://tapioca/0.16.8lib/tapioca/rbi_ext/model.rb#118 + # source://tapioca/0.16.11-5995622a06e194a6308223d789d73f3cc9eae9c4/lib/tapioca/rbi_ext/model.rb#93 sig { returns(T::Hash[::String, ::RBI::Node]) } def nodes_cache; end end @@ -3434,25 +4983,35 @@ end # # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below. # -# source://rbi/lib/rbi/type.rb#6 +# source://rbi//lib/rbi/type.rb#6 class RBI::Type abstract! - # source://rbi/lib/rbi/type.rb#699 + # : -> void + # + # @return [Type] a new instance of Type + # + # source://rbi//lib/rbi/type.rb#695 sig { void } def initialize; end # @abstract # - # source://rbi/lib/rbi/type.rb#745 + # source://rbi//lib/rbi/type.rb#741 sig { abstract.params(other: ::BasicObject).returns(T::Boolean) } def ==(other); end - # source://rbi/lib/rbi/type.rb#748 + # : (BasicObject other) -> bool + # + # @return [Boolean] + # + # source://rbi//lib/rbi/type.rb#744 sig { params(other: ::BasicObject).returns(T::Boolean) } def eql?(other); end - # source://rbi/lib/rbi/type.rb#753 + # : -> Integer + # + # source://rbi//lib/rbi/type.rb#750 sig { override.returns(::Integer) } def hash; end @@ -3465,14 +5024,27 @@ class RBI::Type # type.nilable.to_rbi # => "T.nilable(String)" # type.nilable.nilable.to_rbi # => "T.nilable(String)" # ``` + # : -> Type # - # source://rbi/lib/rbi/type.rb#713 + # source://rbi//lib/rbi/type.rb#709 + # Returns a new type that is `nilable` if it is not already. + # If the type is already nilable, it returns itself. + # ```ruby + # type = RBI::Type.simple("String") + # type.to_rbi # => "String" + # type.nilable.to_rbi # => "T.nilable(String)" + # type.nilable.nilable.to_rbi # => "T.nilable(String)" + # ``` sig { returns(::RBI::Type) } def nilable; end # Returns whether the type is nilable. + # : -> bool + # + # @return [Boolean] # - # source://rbi/lib/rbi/type.rb#740 + # source://rbi//lib/rbi/type.rb#736 + # Returns whether the type is nilable. sig { returns(T::Boolean) } def nilable?; end @@ -3486,22 +5058,36 @@ class RBI::Type # type.non_nilable.to_rbi # => "String" # type.non_nilable.non_nilable.to_rbi # => "String" # ``` + # : -> Type # - # source://rbi/lib/rbi/type.rb#728 + # source://rbi//lib/rbi/type.rb#724 + # Returns the non-nilable version of the type. + # If the type is already non-nilable, it returns itself. + # If the type is nilable, it returns the inner type. + # ```ruby + # type = RBI::Type.nilable(RBI::Type.simple("String")) + # type.to_rbi # => "T.nilable(String)" + # type.non_nilable.to_rbi # => "String" + # type.non_nilable.non_nilable.to_rbi # => "String" + # ``` sig { returns(::RBI::Type) } def non_nilable; end - # source://rbi/lib/rbi/rbs_printer.rb#1074 + # : -> String + # + # source://rbi//lib/rbi/rbs_printer.rb#1136 sig { returns(::String) } def rbs_string; end # @abstract # - # source://rbi/lib/rbi/type.rb#758 + # source://rbi//lib/rbi/type.rb#755 sig { abstract.returns(::String) } def to_rbi; end - # source://rbi/lib/rbi/type.rb#761 + # : -> String + # + # source://rbi//lib/rbi/type.rb#759 sig { override.returns(::String) } def to_s; end @@ -3510,8 +5096,12 @@ class RBI::Type # # Note that this method transforms types such as `T.all(String, String)` into `String`, so # it may return something other than a `All`. + # : (Type type1, Type type2, *Type types) -> Type # - # source://rbi/lib/rbi/type.rb#563 + # source://rbi//lib/rbi/type.rb#559 + # Builds a type that represents an intersection of multiple types like `T.all(String, Integer)`. + # Note that this method transforms types such as `T.all(String, String)` into `String`, so + # it may return something other than a `All`. sig { params(type1: ::RBI::Type, type2: ::RBI::Type, types: ::RBI::Type).returns(::RBI::Type) } def all(type1, type2, *types); end @@ -3519,38 +5109,52 @@ class RBI::Type # # Note that this method transforms types such as `T.any(String, NilClass)` into `T.nilable(String)`, so # it may return something other than a `Any`. + # : (Type type1, Type type2, *Type types) -> Type # - # source://rbi/lib/rbi/type.rb#590 + # source://rbi//lib/rbi/type.rb#586 + # Builds a type that represents a union of multiple types like `T.any(String, Integer)`. + # Note that this method transforms types such as `T.any(String, NilClass)` into `T.nilable(String)`, so + # it may return something other than a `Any`. sig { params(type1: ::RBI::Type, type2: ::RBI::Type, types: ::RBI::Type).returns(::RBI::Type) } def any(type1, type2, *types); end # Builds a type that represents `T.anything`. + # : -> Anything # - # source://rbi/lib/rbi/type.rb#488 + # source://rbi//lib/rbi/type.rb#484 + # Builds a type that represents `T.anything`. sig { returns(::RBI::Type::Anything) } def anything; end # Builds a type that represents `T.attached_class`. + # : -> AttachedClass # - # source://rbi/lib/rbi/type.rb#494 + # source://rbi//lib/rbi/type.rb#490 + # Builds a type that represents `T.attached_class`. sig { returns(::RBI::Type::AttachedClass) } def attached_class; end # Builds a type that represents `T::Boolean`. + # : -> Boolean # - # source://rbi/lib/rbi/type.rb#500 + # source://rbi//lib/rbi/type.rb#496 + # Builds a type that represents `T::Boolean`. sig { returns(::RBI::Type::Boolean) } def boolean; end # Builds a type that represents the singleton class of another type like `T.class_of(Foo)`. + # : (Simple type, ?Type? type_parameter) -> ClassOf # - # source://rbi/lib/rbi/type.rb#538 + # source://rbi//lib/rbi/type.rb#534 + # Builds a type that represents the singleton class of another type like `T.class_of(Foo)`. sig { params(type: ::RBI::Type::Simple, type_parameter: T.nilable(::RBI::Type)).returns(::RBI::Type::ClassOf) } def class_of(type, type_parameter = T.unsafe(nil)); end # Builds a type that represents a generic type like `T::Array[String]` or `T::Hash[Symbol, Integer]`. + # : (String name, *(Type | Array[Type]) params) -> Generic # - # source://rbi/lib/rbi/type.rb#655 + # source://rbi//lib/rbi/type.rb#651 + # Builds a type that represents a generic type like `T::Array[String]` or `T::Hash[Symbol, Integer]`. sig { params(name: ::String, params: T.any(::RBI::Type, T::Array[::RBI::Type])).returns(::RBI::Type::Generic) } def generic(name, *params); end @@ -3558,144 +5162,213 @@ class RBI::Type # # Note that this method transforms types such as `T.nilable(T.untyped)` into `T.untyped`, so # it may return something other than a `RBI::Type::Nilable`. + # : (Type type) -> Type # - # source://rbi/lib/rbi/type.rb#547 + # source://rbi//lib/rbi/type.rb#543 + # Builds a type that represents a nilable of another type like `T.nilable(String)`. + # Note that this method transforms types such as `T.nilable(T.untyped)` into `T.untyped`, so + # it may return something other than a `RBI::Type::Nilable`. sig { params(type: ::RBI::Type).returns(::RBI::Type) } def nilable(type); end # Builds a type that represents `T.noreturn`. + # : -> NoReturn # - # source://rbi/lib/rbi/type.rb#506 + # source://rbi//lib/rbi/type.rb#502 + # Builds a type that represents `T.noreturn`. sig { returns(::RBI::Type::NoReturn) } def noreturn; end - # source://rbi/lib/rbi/type_parser.rb#26 + # : (Prism::Node node) -> Type + # + # source://rbi//lib/rbi/type_parser.rb#26 sig { params(node: ::Prism::Node).returns(::RBI::Type) } def parse_node(node); end + # : (String string) -> Type + # # @raise [Error] # - # source://rbi/lib/rbi/type_parser.rb#10 + # source://rbi//lib/rbi/type_parser.rb#10 sig { params(string: ::String).returns(::RBI::Type) } def parse_string(string); end # Builds a type that represents a proc type like `T.proc.void`. + # : -> Proc # - # source://rbi/lib/rbi/type.rb#683 + # source://rbi//lib/rbi/type.rb#679 + # Builds a type that represents a proc type like `T.proc.void`. sig { returns(::RBI::Type::Proc) } def proc; end # Builds a type that represents `T.self_type`. + # : -> SelfType # - # source://rbi/lib/rbi/type.rb#512 + # source://rbi//lib/rbi/type.rb#508 + # Builds a type that represents `T.self_type`. sig { returns(::RBI::Type::SelfType) } def self_type; end # Builds a type that represents a shape type like `{name: String, age: Integer}`. + # : (?Hash[(String | Symbol), Type] types) -> Shape # - # source://rbi/lib/rbi/type.rb#675 + # source://rbi//lib/rbi/type.rb#671 + # Builds a type that represents a shape type like `{name: String, age: Integer}`. sig { params(types: T::Hash[T.any(::String, ::Symbol), ::RBI::Type]).returns(::RBI::Type::Shape) } def shape(types = T.unsafe(nil)); end # Builds a simple type like `String` or `::Foo::Bar`. # # It raises a `NameError` if the name is not a valid Ruby class identifier. + # : (String name) -> Simple # # @raise [NameError] # - # source://rbi/lib/rbi/type.rb#477 + # source://rbi//lib/rbi/type.rb#473 + # Builds a simple type like `String` or `::Foo::Bar`. + # It raises a `NameError` if the name is not a valid Ruby class identifier. sig { params(name: ::String).returns(::RBI::Type::Simple) } def simple(name); end # Builds a type that represents the class of another type like `T::Class[Foo]`. + # : (Type type) -> Class # - # source://rbi/lib/rbi/type.rb#532 + # source://rbi//lib/rbi/type.rb#528 + # Builds a type that represents the class of another type like `T::Class[Foo]`. sig { params(type: ::RBI::Type).returns(::RBI::Type::Class) } def t_class(type); end # Builds a type that represents a tuple type like `[String, Integer]`. + # : (*(Type | Array[Type]) types) -> Tuple # - # source://rbi/lib/rbi/type.rb#669 + # source://rbi//lib/rbi/type.rb#665 + # Builds a type that represents a tuple type like `[String, Integer]`. sig { params(types: T.any(::RBI::Type, T::Array[::RBI::Type])).returns(::RBI::Type::Tuple) } def tuple(*types); end # Builds a type that represents a type parameter like `T.type_parameter(:U)`. + # : (Symbol name) -> TypeParameter # - # source://rbi/lib/rbi/type.rb#661 + # source://rbi//lib/rbi/type.rb#657 + # Builds a type that represents a type parameter like `T.type_parameter(:U)`. sig { params(name: ::Symbol).returns(::RBI::Type::TypeParameter) } def type_parameter(name); end # Builds a type that represents `T.untyped`. + # : -> Untyped # - # source://rbi/lib/rbi/type.rb#518 + # source://rbi//lib/rbi/type.rb#514 + # Builds a type that represents `T.untyped`. sig { returns(::RBI::Type::Untyped) } def untyped; end # Builds a type that represents `void`. + # : -> Void # - # source://rbi/lib/rbi/type.rb#524 + # source://rbi//lib/rbi/type.rb#520 + # Builds a type that represents `void`. sig { returns(::RBI::Type::Void) } def void; end private - # source://rbi/lib/rbi/type_parser.rb#263 + # : (Prism::CallNode node) -> Array[Prism::Node] + # + # source://rbi//lib/rbi/type_parser.rb#263 sig { params(node: ::Prism::CallNode).returns(T::Array[::Prism::Node]) } def call_chain(node); end - # source://rbi/lib/rbi/type_parser.rb#250 + # : (Prism::CallNode node, Integer count) -> Array[Prism::Node] + # + # source://rbi//lib/rbi/type_parser.rb#250 sig { params(node: ::Prism::CallNode, count: ::Integer).returns(T::Array[::Prism::Node]) } def check_arguments_at_least!(node, count); end - # source://rbi/lib/rbi/type_parser.rb#235 + # : (Prism::CallNode node, Integer count) -> Array[Prism::Node] + # + # source://rbi//lib/rbi/type_parser.rb#235 sig { params(node: ::Prism::CallNode, count: ::Integer).returns(T::Array[::Prism::Node]) } def check_arguments_exactly!(node, count); end + # : (Prism::CallNode node) -> Type + # # @raise [Error] # - # source://rbi/lib/rbi/type_parser.rb#69 + # source://rbi//lib/rbi/type_parser.rb#69 sig { params(node: ::Prism::CallNode).returns(::RBI::Type) } def parse_call(node); end - # source://rbi/lib/rbi/type_parser.rb#52 + # : ((Prism::ConstantReadNode | Prism::ConstantPathNode) node) -> Type + # + # source://rbi//lib/rbi/type_parser.rb#52 sig { params(node: T.any(::Prism::ConstantPathNode, ::Prism::ConstantReadNode)).returns(::RBI::Type) } def parse_constant(node); end + # : (Prism::CallNode node) -> Type + # # @raise [Error] # - # source://rbi/lib/rbi/type_parser.rb#195 + # source://rbi//lib/rbi/type_parser.rb#195 sig { params(node: ::Prism::CallNode).returns(::RBI::Type) } def parse_proc(node); end - # source://rbi/lib/rbi/type_parser.rb#176 + # : ((Prism::HashNode | Prism::KeywordHashNode) node) -> Type + # + # source://rbi//lib/rbi/type_parser.rb#176 sig { params(node: T.any(::Prism::HashNode, ::Prism::KeywordHashNode)).returns(::RBI::Type) } def parse_shape(node); end - # source://rbi/lib/rbi/type_parser.rb#171 + # : (Prism::ArrayNode node) -> Type + # + # source://rbi//lib/rbi/type_parser.rb#171 sig { params(node: ::Prism::ArrayNode).returns(::RBI::Type) } def parse_tuple(node); end - # source://rbi/lib/rbi/type_parser.rb#276 + # : (Prism::Node? node) -> bool + # + # @return [Boolean] + # + # source://rbi//lib/rbi/type_parser.rb#276 sig { params(node: T.nilable(::Prism::Node)).returns(T::Boolean) } def t?(node); end - # source://rbi/lib/rbi/type_parser.rb#288 + # : (Prism::Node? node) -> bool + # + # @return [Boolean] + # + # source://rbi//lib/rbi/type_parser.rb#288 sig { params(node: T.nilable(::Prism::Node)).returns(T::Boolean) } def t_boolean?(node); end - # source://rbi/lib/rbi/type_parser.rb#295 + # : (Prism::ConstantPathNode node) -> bool + # + # @return [Boolean] + # + # source://rbi//lib/rbi/type_parser.rb#295 sig { params(node: ::Prism::ConstantPathNode).returns(T::Boolean) } def t_class?(node); end - # source://rbi/lib/rbi/type_parser.rb#300 + # : (Prism::Node? node) -> bool + # + # @return [Boolean] + # + # source://rbi//lib/rbi/type_parser.rb#300 sig { params(node: T.nilable(::Prism::Node)).returns(T::Boolean) } def t_class_of?(node); end - # source://rbi/lib/rbi/type_parser.rb#307 + # : (Prism::CallNode node) -> bool + # + # @return [Boolean] + # + # source://rbi//lib/rbi/type_parser.rb#307 sig { params(node: ::Prism::CallNode).returns(T::Boolean) } def t_proc?(node); end - # source://rbi/lib/rbi/type.rb#693 + # : (String name) -> bool + # + # @return [Boolean] + # + # source://rbi//lib/rbi/type.rb#689 sig { params(name: ::String).returns(T::Boolean) } def valid_identifier?(name); end end @@ -3703,107 +5376,149 @@ end # A type that is intersection of multiple types like `T.all(String, Integer)`. # -# source://rbi/lib/rbi/type.rb#252 +# source://rbi//lib/rbi/type.rb#252 class RBI::Type::All < ::RBI::Type::Composite - # source://rbi/lib/rbi/type.rb#256 + # : -> String + # + # source://rbi//lib/rbi/type.rb#255 sig { override.returns(::String) } def to_rbi; end end # A type that is union of multiple types like `T.any(String, Integer)`. # -# source://rbi/lib/rbi/type.rb#262 +# source://rbi//lib/rbi/type.rb#261 class RBI::Type::Any < ::RBI::Type::Composite - # source://rbi/lib/rbi/type.rb#271 + # : -> bool + # + # @return [Boolean] + # + # source://rbi//lib/rbi/type.rb#269 sig { returns(T::Boolean) } def nilable?; end - # source://rbi/lib/rbi/type.rb#266 + # : -> String + # + # source://rbi//lib/rbi/type.rb#264 sig { override.returns(::String) } def to_rbi; end end # `T.anything`. # -# source://rbi/lib/rbi/type.rb#43 +# source://rbi//lib/rbi/type.rb#43 class RBI::Type::Anything < ::RBI::Type - # source://rbi/lib/rbi/type.rb#47 + # : (BasicObject other) -> bool + # + # source://rbi//lib/rbi/type.rb#46 sig { override.params(other: ::BasicObject).returns(T::Boolean) } def ==(other); end - # source://rbi/lib/rbi/type.rb#52 + # : -> String + # + # source://rbi//lib/rbi/type.rb#52 sig { override.returns(::String) } def to_rbi; end end # `T.attached_class`. # -# source://rbi/lib/rbi/type.rb#58 +# source://rbi//lib/rbi/type.rb#58 class RBI::Type::AttachedClass < ::RBI::Type - # source://rbi/lib/rbi/type.rb#62 + # : (BasicObject other) -> bool + # + # source://rbi//lib/rbi/type.rb#61 sig { override.params(other: ::BasicObject).returns(T::Boolean) } def ==(other); end - # source://rbi/lib/rbi/type.rb#67 + # : -> String + # + # source://rbi//lib/rbi/type.rb#67 sig { override.returns(::String) } def to_rbi; end end # `T::Boolean`. # -# source://rbi/lib/rbi/type.rb#73 +# source://rbi//lib/rbi/type.rb#73 class RBI::Type::Boolean < ::RBI::Type - # source://rbi/lib/rbi/type.rb#77 + # : (BasicObject other) -> bool + # + # source://rbi//lib/rbi/type.rb#76 sig { override.params(other: ::BasicObject).returns(T::Boolean) } def ==(other); end - # source://rbi/lib/rbi/type.rb#82 + # : -> String + # + # source://rbi//lib/rbi/type.rb#82 sig { override.returns(::String) } def to_rbi; end end # The class of another type like `T::Class[Foo]`. # -# source://rbi/lib/rbi/type.rb#150 +# source://rbi//lib/rbi/type.rb#150 class RBI::Type::Class < ::RBI::Type - # source://rbi/lib/rbi/type.rb#157 + # : (Type type) -> void + # + # @return [Class] a new instance of Class + # + # source://rbi//lib/rbi/type.rb#155 sig { params(type: ::RBI::Type).void } def initialize(type); end - # source://rbi/lib/rbi/type.rb#163 + # : (BasicObject other) -> bool + # + # source://rbi//lib/rbi/type.rb#162 sig { override.params(other: ::BasicObject).returns(T::Boolean) } def ==(other); end - # source://rbi/lib/rbi/type.rb#168 + # : -> String + # + # source://rbi//lib/rbi/type.rb#168 sig { override.returns(::String) } def to_rbi; end - # source://rbi/lib/rbi/type.rb#154 + # : Type + # + # source://rbi//lib/rbi/type.rb#152 sig { returns(::RBI::Type) } def type; end end # The singleton class of another type like `T.class_of(Foo)`. # -# source://rbi/lib/rbi/type.rb#174 +# source://rbi//lib/rbi/type.rb#174 class RBI::Type::ClassOf < ::RBI::Type - # source://rbi/lib/rbi/type.rb#184 + # : (Simple type, ?Type? type_parameter) -> void + # + # @return [ClassOf] a new instance of ClassOf + # + # source://rbi//lib/rbi/type.rb#182 sig { params(type: ::RBI::Type::Simple, type_parameter: T.nilable(::RBI::Type)).void } def initialize(type, type_parameter = T.unsafe(nil)); end - # source://rbi/lib/rbi/type.rb#191 + # : (BasicObject other) -> bool + # + # source://rbi//lib/rbi/type.rb#190 sig { override.params(other: ::BasicObject).returns(T::Boolean) } def ==(other); end - # source://rbi/lib/rbi/type.rb#196 + # : -> String + # + # source://rbi//lib/rbi/type.rb#196 sig { override.returns(::String) } def to_rbi; end - # source://rbi/lib/rbi/type.rb#178 + # : Simple + # + # source://rbi//lib/rbi/type.rb#176 sig { returns(::RBI::Type::Simple) } def type; end - # source://rbi/lib/rbi/type.rb#181 + # : Type? + # + # source://rbi//lib/rbi/type.rb#179 sig { returns(T.nilable(::RBI::Type)) } def type_parameter; end end @@ -3812,160 +5527,230 @@ end # # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below. # -# source://rbi/lib/rbi/type.rb#230 +# source://rbi//lib/rbi/type.rb#230 class RBI::Type::Composite < ::RBI::Type abstract! - # source://rbi/lib/rbi/type.rb#240 + # : (Array[Type] types) -> void + # + # @return [Composite] a new instance of Composite + # + # source://rbi//lib/rbi/type.rb#239 sig { params(types: T::Array[::RBI::Type]).void } def initialize(types); end - # source://rbi/lib/rbi/type.rb#246 + # : (BasicObject other) -> bool + # + # source://rbi//lib/rbi/type.rb#246 sig { override.params(other: ::BasicObject).returns(T::Boolean) } def ==(other); end - # source://rbi/lib/rbi/type.rb#237 + # : Array[Type] + # + # source://rbi//lib/rbi/type.rb#236 sig { returns(T::Array[::RBI::Type]) } def types; end end -# source://rbi/lib/rbi/type_parser.rb#6 +# source://rbi//lib/rbi/type_parser.rb#6 class RBI::Type::Error < ::RBI::Error; end # A generic type like `T::Array[String]` or `T::Hash[Symbol, Integer]`. # -# source://rbi/lib/rbi/type.rb#279 +# source://rbi//lib/rbi/type.rb#277 class RBI::Type::Generic < ::RBI::Type - # source://rbi/lib/rbi/type.rb#289 + # : (String name, *Type params) -> void + # + # @return [Generic] a new instance of Generic + # + # source://rbi//lib/rbi/type.rb#285 sig { params(name: ::String, params: ::RBI::Type).void } def initialize(name, *params); end - # source://rbi/lib/rbi/type.rb#296 + # : (BasicObject other) -> bool + # + # source://rbi//lib/rbi/type.rb#293 sig { override.params(other: ::BasicObject).returns(T::Boolean) } def ==(other); end - # source://rbi/lib/rbi/type.rb#283 + # : String + # + # source://rbi//lib/rbi/type.rb#279 sig { returns(::String) } def name; end - # source://rbi/lib/rbi/type.rb#286 + # : Array[Type] + # + # source://rbi//lib/rbi/type.rb#282 sig { returns(T::Array[::RBI::Type]) } def params; end - # source://rbi/lib/rbi/type.rb#301 + # : -> String + # + # source://rbi//lib/rbi/type.rb#299 sig { override.returns(::String) } def to_rbi; end end # A type that can be `nil` like `T.nilable(String)`. # -# source://rbi/lib/rbi/type.rb#206 +# source://rbi//lib/rbi/type.rb#206 class RBI::Type::Nilable < ::RBI::Type - # source://rbi/lib/rbi/type.rb#213 + # : (Type type) -> void + # + # @return [Nilable] a new instance of Nilable + # + # source://rbi//lib/rbi/type.rb#211 sig { params(type: ::RBI::Type).void } def initialize(type); end - # source://rbi/lib/rbi/type.rb#219 + # : (BasicObject other) -> bool + # + # source://rbi//lib/rbi/type.rb#218 sig { override.params(other: ::BasicObject).returns(T::Boolean) } def ==(other); end - # source://rbi/lib/rbi/type.rb#224 + # : -> String + # + # source://rbi//lib/rbi/type.rb#224 sig { override.returns(::String) } def to_rbi; end - # source://rbi/lib/rbi/type.rb#210 + # : Type + # + # source://rbi//lib/rbi/type.rb#208 sig { returns(::RBI::Type) } def type; end end # `T.noreturn`. # -# source://rbi/lib/rbi/type.rb#88 +# source://rbi//lib/rbi/type.rb#88 class RBI::Type::NoReturn < ::RBI::Type - # source://rbi/lib/rbi/type.rb#92 + # : (BasicObject other) -> bool + # + # source://rbi//lib/rbi/type.rb#91 sig { override.params(other: ::BasicObject).returns(T::Boolean) } def ==(other); end - # source://rbi/lib/rbi/type.rb#97 + # : -> String + # + # source://rbi//lib/rbi/type.rb#97 sig { override.returns(::String) } def to_rbi; end end # A proc type like `T.proc.void`. # -# source://rbi/lib/rbi/type.rb#387 +# source://rbi//lib/rbi/type.rb#385 class RBI::Type::Proc < ::RBI::Type - # source://rbi/lib/rbi/type.rb#400 + # : -> void + # + # @return [Proc] a new instance of Proc + # + # source://rbi//lib/rbi/type.rb#396 sig { void } def initialize; end - # source://rbi/lib/rbi/type.rb#408 + # : (BasicObject other) -> bool + # + # source://rbi//lib/rbi/type.rb#405 sig { override.params(other: ::BasicObject).returns(T::Boolean) } def ==(other); end - # source://rbi/lib/rbi/type.rb#436 + # : (untyped type) -> self + # + # source://rbi//lib/rbi/type.rb#433 sig { params(type: T.untyped).returns(T.self_type) } def bind(type); end - # source://rbi/lib/rbi/type.rb#418 + # : (**Type params) -> self + # + # source://rbi//lib/rbi/type.rb#415 sig { params(params: ::RBI::Type).returns(T.self_type) } def params(**params); end - # source://rbi/lib/rbi/type.rb#397 + # : Type? + # + # source://rbi//lib/rbi/type.rb#393 sig { returns(T.nilable(::RBI::Type)) } def proc_bind; end - # source://rbi/lib/rbi/type.rb#391 + # : Hash[Symbol, Type] + # + # source://rbi//lib/rbi/type.rb#387 sig { returns(T::Hash[::Symbol, ::RBI::Type]) } def proc_params; end - # source://rbi/lib/rbi/type.rb#394 + # : Type + # + # source://rbi//lib/rbi/type.rb#390 sig { returns(::RBI::Type) } def proc_returns; end - # source://rbi/lib/rbi/type.rb#424 + # : (untyped type) -> self + # + # source://rbi//lib/rbi/type.rb#421 sig { params(type: T.untyped).returns(T.self_type) } def returns(type); end - # source://rbi/lib/rbi/type.rb#442 + # : -> String + # + # source://rbi//lib/rbi/type.rb#440 sig { override.returns(::String) } def to_rbi; end - # source://rbi/lib/rbi/type.rb#430 + # : -> self + # + # source://rbi//lib/rbi/type.rb#427 sig { returns(T.self_type) } def void; end end # `T.self_type`. # -# source://rbi/lib/rbi/type.rb#103 +# source://rbi//lib/rbi/type.rb#103 class RBI::Type::SelfType < ::RBI::Type - # source://rbi/lib/rbi/type.rb#107 + # : (BasicObject other) -> bool + # + # source://rbi//lib/rbi/type.rb#106 sig { override.params(other: ::BasicObject).returns(T::Boolean) } def ==(other); end - # source://rbi/lib/rbi/type.rb#112 + # : -> String + # + # source://rbi//lib/rbi/type.rb#112 sig { override.returns(::String) } def to_rbi; end end # A shape type like `{name: String, age: Integer}`. # -# source://rbi/lib/rbi/type.rb#357 +# source://rbi//lib/rbi/type.rb#355 class RBI::Type::Shape < ::RBI::Type - # source://rbi/lib/rbi/type.rb#364 + # : (Hash[(String | Symbol), Type] types) -> void + # + # @return [Shape] a new instance of Shape + # + # source://rbi//lib/rbi/type.rb#360 sig { params(types: T::Hash[T.any(::String, ::Symbol), ::RBI::Type]).void } def initialize(types); end - # source://rbi/lib/rbi/type.rb#370 + # : (BasicObject other) -> bool + # + # source://rbi//lib/rbi/type.rb#367 sig { override.params(other: ::BasicObject).returns(T::Boolean) } def ==(other); end - # source://rbi/lib/rbi/type.rb#375 + # : -> String + # + # source://rbi//lib/rbi/type.rb#373 sig { override.returns(::String) } def to_rbi; end - # source://rbi/lib/rbi/type.rb#361 + # : Hash[(String | Symbol), Type] + # + # source://rbi//lib/rbi/type.rb#357 sig { returns(T::Hash[T.any(::String, ::Symbol), ::RBI::Type]) } def types; end end @@ -3974,182 +5759,263 @@ end # # It can also be a qualified name like `::Foo` or `Foo::Bar`. # -# source://rbi/lib/rbi/type.rb#17 +# source://rbi//lib/rbi/type.rb#17 +# A type that represents a simple class name like `String` or `Foo`. class RBI::Type::Simple < ::RBI::Type - # source://rbi/lib/rbi/type.rb#24 + # : (String name) -> void + # + # @return [Simple] a new instance of Simple + # + # source://rbi//lib/rbi/type.rb#22 sig { params(name: ::String).void } def initialize(name); end - # source://rbi/lib/rbi/type.rb#30 + # : (BasicObject other) -> bool + # + # source://rbi//lib/rbi/type.rb#29 sig { override.params(other: ::BasicObject).returns(T::Boolean) } def ==(other); end - # source://rbi/lib/rbi/type.rb#21 + # : String + # + # source://rbi//lib/rbi/type.rb#19 sig { returns(::String) } def name; end - # source://rbi/lib/rbi/type.rb#35 + # : -> String + # + # source://rbi//lib/rbi/type.rb#35 sig { override.returns(::String) } def to_rbi; end end # A tuple type like `[String, Integer]`. # -# source://rbi/lib/rbi/type.rb#333 +# source://rbi//lib/rbi/type.rb#331 class RBI::Type::Tuple < ::RBI::Type - # source://rbi/lib/rbi/type.rb#340 + # : (Array[Type] types) -> void + # + # @return [Tuple] a new instance of Tuple + # + # source://rbi//lib/rbi/type.rb#336 sig { params(types: T::Array[::RBI::Type]).void } def initialize(types); end - # source://rbi/lib/rbi/type.rb#346 + # : (BasicObject other) -> bool + # + # source://rbi//lib/rbi/type.rb#343 sig { override.params(other: ::BasicObject).returns(T::Boolean) } def ==(other); end - # source://rbi/lib/rbi/type.rb#351 + # : -> String + # + # source://rbi//lib/rbi/type.rb#349 sig { override.returns(::String) } def to_rbi; end - # source://rbi/lib/rbi/type.rb#337 + # : Array[Type] + # + # source://rbi//lib/rbi/type.rb#333 sig { returns(T::Array[::RBI::Type]) } def types; end end # A type parameter like `T.type_parameter(:U)`. # -# source://rbi/lib/rbi/type.rb#307 +# source://rbi//lib/rbi/type.rb#305 class RBI::Type::TypeParameter < ::RBI::Type - # source://rbi/lib/rbi/type.rb#314 + # : (Symbol name) -> void + # + # @return [TypeParameter] a new instance of TypeParameter + # + # source://rbi//lib/rbi/type.rb#310 sig { params(name: ::Symbol).void } def initialize(name); end - # source://rbi/lib/rbi/type.rb#320 + # : (BasicObject other) -> bool + # + # source://rbi//lib/rbi/type.rb#317 sig { override.params(other: ::BasicObject).returns(T::Boolean) } def ==(other); end - # source://rbi/lib/rbi/type.rb#311 + # : Symbol + # + # source://rbi//lib/rbi/type.rb#307 sig { returns(::Symbol) } def name; end - # source://rbi/lib/rbi/type.rb#325 + # : -> String + # + # source://rbi//lib/rbi/type.rb#323 sig { override.returns(::String) } def to_rbi; end end # `T.untyped`. # -# source://rbi/lib/rbi/type.rb#118 +# source://rbi//lib/rbi/type.rb#118 class RBI::Type::Untyped < ::RBI::Type - # source://rbi/lib/rbi/type.rb#122 + # : (BasicObject other) -> bool + # + # source://rbi//lib/rbi/type.rb#121 sig { override.params(other: ::BasicObject).returns(T::Boolean) } def ==(other); end - # source://rbi/lib/rbi/type.rb#127 + # : -> String + # + # source://rbi//lib/rbi/type.rb#127 sig { override.returns(::String) } def to_rbi; end end -# source://rbi/lib/rbi/type_visitor.rb#6 +# source://rbi//lib/rbi/type_visitor.rb#6 class RBI::Type::Visitor - # source://rbi/lib/rbi/type_visitor.rb#12 + # : (Type node) -> void + # + # source://rbi//lib/rbi/type_visitor.rb#10 sig { params(node: ::RBI::Type).void } def visit(node); end private - # source://rbi/lib/rbi/type_visitor.rb#58 + # : (Type::All type) -> void + # + # source://rbi//lib/rbi/type_visitor.rb#56 sig { params(type: ::RBI::Type::All).void } def visit_all(type); end - # source://rbi/lib/rbi/type_visitor.rb#61 + # : (Type::Any type) -> void + # + # source://rbi//lib/rbi/type_visitor.rb#59 sig { params(type: ::RBI::Type::Any).void } def visit_any(type); end - # source://rbi/lib/rbi/type_visitor.rb#64 + # : (Type::Anything type) -> void + # + # source://rbi//lib/rbi/type_visitor.rb#62 sig { params(type: ::RBI::Type::Anything).void } def visit_anything(type); end - # source://rbi/lib/rbi/type_visitor.rb#67 + # : (Type::AttachedClass type) -> void + # + # source://rbi//lib/rbi/type_visitor.rb#65 sig { params(type: ::RBI::Type::AttachedClass).void } def visit_attached_class(type); end - # source://rbi/lib/rbi/type_visitor.rb#70 + # : (Type::Boolean type) -> void + # + # source://rbi//lib/rbi/type_visitor.rb#68 sig { params(type: ::RBI::Type::Boolean).void } def visit_boolean(type); end - # source://rbi/lib/rbi/type_visitor.rb#73 + # : (Type::Class type) -> void + # + # source://rbi//lib/rbi/type_visitor.rb#71 sig { params(type: ::RBI::Type::Class).void } def visit_class(type); end - # source://rbi/lib/rbi/type_visitor.rb#76 + # : (Type::ClassOf type) -> void + # + # source://rbi//lib/rbi/type_visitor.rb#74 sig { params(type: ::RBI::Type::ClassOf).void } def visit_class_of(type); end - # source://rbi/lib/rbi/type_visitor.rb#79 + # : (Type::Generic type) -> void + # + # source://rbi//lib/rbi/type_visitor.rb#77 sig { params(type: ::RBI::Type::Generic).void } def visit_generic(type); end - # source://rbi/lib/rbi/type_visitor.rb#82 + # : (Type::Nilable type) -> void + # + # source://rbi//lib/rbi/type_visitor.rb#80 sig { params(type: ::RBI::Type::Nilable).void } def visit_nilable(type); end - # source://rbi/lib/rbi/type_visitor.rb#88 + # : (Type::NoReturn type) -> void + # + # source://rbi//lib/rbi/type_visitor.rb#86 sig { params(type: ::RBI::Type::NoReturn).void } def visit_no_return(type); end - # source://rbi/lib/rbi/type_visitor.rb#91 + # : (Type::Proc type) -> void + # + # source://rbi//lib/rbi/type_visitor.rb#89 sig { params(type: ::RBI::Type::Proc).void } def visit_proc(type); end - # source://rbi/lib/rbi/type_visitor.rb#94 + # : (Type::SelfType type) -> void + # + # source://rbi//lib/rbi/type_visitor.rb#92 sig { params(type: ::RBI::Type::SelfType).void } def visit_self_type(type); end - # source://rbi/lib/rbi/type_visitor.rb#100 + # : (Type::Shape type) -> void + # + # source://rbi//lib/rbi/type_visitor.rb#98 sig { params(type: ::RBI::Type::Shape).void } def visit_shape(type); end - # source://rbi/lib/rbi/type_visitor.rb#85 + # : (Type::Simple type) -> void + # + # source://rbi//lib/rbi/type_visitor.rb#83 sig { params(type: ::RBI::Type::Simple).void } def visit_simple(type); end - # source://rbi/lib/rbi/type_visitor.rb#103 + # : (Type::Tuple type) -> void + # + # source://rbi//lib/rbi/type_visitor.rb#101 sig { params(type: ::RBI::Type::Tuple).void } def visit_tuple(type); end - # source://rbi/lib/rbi/type_visitor.rb#106 + # : (Type::TypeParameter type) -> void + # + # source://rbi//lib/rbi/type_visitor.rb#104 sig { params(type: ::RBI::Type::TypeParameter).void } def visit_type_parameter(type); end - # source://rbi/lib/rbi/type_visitor.rb#109 + # : (Type::Untyped type) -> void + # + # source://rbi//lib/rbi/type_visitor.rb#107 sig { params(type: ::RBI::Type::Untyped).void } def visit_untyped(type); end - # source://rbi/lib/rbi/type_visitor.rb#97 + # : (Type::Void type) -> void + # + # source://rbi//lib/rbi/type_visitor.rb#95 sig { params(type: ::RBI::Type::Void).void } def visit_void(type); end end -# source://rbi/lib/rbi/type_visitor.rb#9 +# source://rbi//lib/rbi/type_visitor.rb#7 class RBI::Type::Visitor::Error < ::RBI::Error; end # `void`. # -# source://rbi/lib/rbi/type.rb#133 +# source://rbi//lib/rbi/type.rb#133 class RBI::Type::Void < ::RBI::Type - # source://rbi/lib/rbi/type.rb#137 + # : (BasicObject other) -> bool + # + # source://rbi//lib/rbi/type.rb#136 sig { override.params(other: ::BasicObject).returns(T::Boolean) } def ==(other); end - # source://rbi/lib/rbi/type.rb#142 + # : -> String + # + # source://rbi//lib/rbi/type.rb#142 sig { override.returns(::String) } def to_rbi; end end -# source://rbi/lib/rbi/model.rb#1403 +# source://rbi//lib/rbi/model.rb#1060 class RBI::TypeMember < ::RBI::NodeWithComments include ::RBI::Indexable - # source://rbi/lib/rbi/model.rb#1418 + # : (String name, String value, ?loc: Loc?, ?comments: Array[Comment]) ?{ (TypeMember node) -> void } -> void + # + # @return [TypeMember] a new instance of TypeMember + # + # source://rbi//lib/rbi/model.rb#1065 sig do params( name: ::String, @@ -4161,382 +6027,573 @@ class RBI::TypeMember < ::RBI::NodeWithComments end def initialize(name, value, loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end - # source://rbi/lib/rbi/model.rb#1426 + # : -> String + # + # source://rbi//lib/rbi/model.rb#1073 sig { returns(::String) } def fully_qualified_name; end - # source://rbi/lib/rbi/index.rb#183 + # : -> Array[String] + # + # source://rbi//lib/rbi/index.rb#179 sig { override.returns(T::Array[::String]) } def index_ids; end - # source://rbi/lib/rbi/model.rb#1407 + # : String + # + # source://rbi//lib/rbi/model.rb#1062 sig { returns(::String) } def name; end - # source://rbi/lib/rbi/model.rb#1433 + # : -> String + # + # source://rbi//lib/rbi/model.rb#1081 sig { override.returns(::String) } def to_s; end - # @return [String] + # : String # - # source://rbi/lib/rbi/model.rb#1407 + # source://rbi//lib/rbi/model.rb#1062 + # @return [String] def value; end end -# source://rbi/lib/rbi/rbs_printer.rb#809 +# source://rbi//lib/rbi/rbs_printer.rb#879 class RBI::TypePrinter - # source://rbi/lib/rbi/rbs_printer.rb#816 + # : -> void + # + # @return [TypePrinter] a new instance of TypePrinter + # + # source://rbi//lib/rbi/rbs_printer.rb#884 sig { void } def initialize; end - # source://rbi/lib/rbi/rbs_printer.rb#813 + # : String + # + # source://rbi//lib/rbi/rbs_printer.rb#881 sig { returns(::String) } def string; end - # source://rbi/lib/rbi/rbs_printer.rb#821 + # : (Type node) -> void + # + # source://rbi//lib/rbi/rbs_printer.rb#889 sig { params(node: ::RBI::Type).void } def visit(node); end - # source://rbi/lib/rbi/rbs_printer.rb#936 + # : (Type::All type) -> void + # + # source://rbi//lib/rbi/rbs_printer.rb#1004 sig { params(type: ::RBI::Type::All).void } def visit_all(type); end - # source://rbi/lib/rbi/rbs_printer.rb#946 + # : (Type::Any type) -> void + # + # source://rbi//lib/rbi/rbs_printer.rb#1014 sig { params(type: ::RBI::Type::Any).void } def visit_any(type); end - # source://rbi/lib/rbi/rbs_printer.rb#886 + # : (Type::Anything type) -> void + # + # source://rbi//lib/rbi/rbs_printer.rb#954 sig { params(type: ::RBI::Type::Anything).void } def visit_anything(type); end - # source://rbi/lib/rbi/rbs_printer.rb#911 + # : (Type::AttachedClass type) -> void + # + # source://rbi//lib/rbi/rbs_printer.rb#979 sig { params(type: ::RBI::Type::AttachedClass).void } def visit_attached_class(type); end - # source://rbi/lib/rbi/rbs_printer.rb#870 + # : (Type::Boolean type) -> void + # + # source://rbi//lib/rbi/rbs_printer.rb#938 sig { params(type: ::RBI::Type::Boolean).void } def visit_boolean(type); end - # source://rbi/lib/rbi/rbs_printer.rb#1013 + # : (Type::Class type) -> void + # + # source://rbi//lib/rbi/rbs_printer.rb#1081 sig { params(type: ::RBI::Type::Class).void } def visit_class(type); end - # source://rbi/lib/rbi/rbs_printer.rb#929 + # : (Type::ClassOf type) -> void + # + # source://rbi//lib/rbi/rbs_printer.rb#997 sig { params(type: ::RBI::Type::ClassOf).void } def visit_class_of(type); end - # source://rbi/lib/rbi/rbs_printer.rb#875 + # : (Type::Generic type) -> void + # + # source://rbi//lib/rbi/rbs_printer.rb#943 sig { params(type: ::RBI::Type::Generic).void } def visit_generic(type); end - # source://rbi/lib/rbi/rbs_printer.rb#916 + # : (Type::Nilable type) -> void + # + # source://rbi//lib/rbi/rbs_printer.rb#984 sig { params(type: ::RBI::Type::Nilable).void } def visit_nilable(type); end - # source://rbi/lib/rbi/rbs_printer.rb#896 + # : (Type::NoReturn type) -> void + # + # source://rbi//lib/rbi/rbs_printer.rb#964 sig { params(type: ::RBI::Type::NoReturn).void } def visit_no_return(type); end - # source://rbi/lib/rbi/rbs_printer.rb#986 + # : (Type::Proc type) -> void + # + # source://rbi//lib/rbi/rbs_printer.rb#1054 sig { params(type: ::RBI::Type::Proc).void } def visit_proc(type); end - # source://rbi/lib/rbi/rbs_printer.rb#906 + # : (Type::SelfType type) -> void + # + # source://rbi//lib/rbi/rbs_printer.rb#974 sig { params(type: ::RBI::Type::SelfType).void } def visit_self_type(type); end - # source://rbi/lib/rbi/rbs_printer.rb#966 + # : (Type::Shape type) -> void + # + # source://rbi//lib/rbi/rbs_printer.rb#1034 sig { params(type: ::RBI::Type::Shape).void } def visit_shape(type); end - # source://rbi/lib/rbi/rbs_printer.rb#865 + # : (Type::Simple type) -> void + # + # source://rbi//lib/rbi/rbs_printer.rb#933 sig { params(type: ::RBI::Type::Simple).void } def visit_simple(type); end - # source://rbi/lib/rbi/rbs_printer.rb#956 + # : (Type::Tuple type) -> void + # + # source://rbi//lib/rbi/rbs_printer.rb#1024 sig { params(type: ::RBI::Type::Tuple).void } def visit_tuple(type); end - # source://rbi/lib/rbi/rbs_printer.rb#1008 + # : (Type::TypeParameter type) -> void + # + # source://rbi//lib/rbi/rbs_printer.rb#1076 sig { params(type: ::RBI::Type::TypeParameter).void } def visit_type_parameter(type); end - # source://rbi/lib/rbi/rbs_printer.rb#901 + # : (Type::Untyped type) -> void + # + # source://rbi//lib/rbi/rbs_printer.rb#969 sig { params(type: ::RBI::Type::Untyped).void } def visit_untyped(type); end - # source://rbi/lib/rbi/rbs_printer.rb#891 + # : (Type::Void type) -> void + # + # source://rbi//lib/rbi/rbs_printer.rb#959 sig { params(type: ::RBI::Type::Void).void } def visit_void(type); end private - # source://rbi/lib/rbi/rbs_printer.rb#1022 + # : (String type_name) -> String + # + # source://rbi//lib/rbi/rbs_printer.rb#1090 sig { params(type_name: ::String).returns(::String) } def translate_t_type(type_name); end end -# source://rbi/lib/rbi/rewriters/attr_to_methods.rb#5 +# source://rbi//lib/rbi/rewriters/attr_to_methods.rb#5 class RBI::UnexpectedMultipleSigsError < ::RBI::Error - # source://rbi/lib/rbi/rewriters/attr_to_methods.rb#10 + # : (Node node) -> void + # + # @return [UnexpectedMultipleSigsError] a new instance of UnexpectedMultipleSigsError + # + # source://rbi//lib/rbi/rewriters/attr_to_methods.rb#10 sig { params(node: ::RBI::Node).void } def initialize(node); end - # source://rbi/lib/rbi/rewriters/attr_to_methods.rb#7 + # : Node + # + # source://rbi//lib/rbi/rewriters/attr_to_methods.rb#7 sig { returns(::RBI::Node) } def node; end end -# source://rbi/lib/rbi/parser.rb#20 +# source://rbi//lib/rbi/parser.rb#18 class RBI::UnexpectedParserError < ::RBI::Error - # source://rbi/lib/rbi/parser.rb#27 + # : (Exception parent_exception, Loc last_location) -> void + # + # @return [UnexpectedParserError] a new instance of UnexpectedParserError + # + # source://rbi//lib/rbi/parser.rb#23 sig { params(parent_exception: ::Exception, last_location: ::RBI::Loc).void } def initialize(parent_exception, last_location); end - # source://rbi/lib/rbi/parser.rb#24 + # : Loc + # + # source://rbi//lib/rbi/parser.rb#20 sig { returns(::RBI::Loc) } def last_location; end - # source://rbi/lib/rbi/parser.rb#34 + # : (?io: (IO | StringIO)) -> void + # + # source://rbi//lib/rbi/parser.rb#30 sig { params(io: T.any(::IO, ::StringIO)).void } def print_debug(io: T.unsafe(nil)); end end -# source://rbi/lib/rbi/version.rb#5 +# source://rbi//lib/rbi/version.rb#5 RBI::VERSION = T.let(T.unsafe(nil), String) # Visibility # # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below. # -# source://rbi/lib/rbi/model.rb#916 +# source://rbi//lib/rbi/model.rb#708 class RBI::Visibility < ::RBI::NodeWithComments abstract! - # source://rbi/lib/rbi/model.rb#926 + # : (Symbol visibility, ?loc: Loc?, ?comments: Array[Comment]) -> void + # + # @return [Visibility] a new instance of Visibility + # + # source://rbi//lib/rbi/model.rb#717 sig { params(visibility: ::Symbol, loc: T.nilable(::RBI::Loc), comments: T::Array[::RBI::Comment]).void } def initialize(visibility, loc: T.unsafe(nil), comments: T.unsafe(nil)); end - # source://rbi/lib/rbi/model.rb#932 + # : (Object? other) -> bool + # + # source://rbi//lib/rbi/model.rb#723 sig { params(other: T.nilable(::Object)).returns(T::Boolean) } def ==(other); end - # source://rbi/lib/rbi/model.rb#949 + # : -> bool + # + # @return [Boolean] + # + # source://rbi//lib/rbi/model.rb#740 sig { returns(T::Boolean) } def private?; end - # source://rbi/lib/rbi/model.rb#944 + # : -> bool + # + # @return [Boolean] + # + # source://rbi//lib/rbi/model.rb#735 sig { returns(T::Boolean) } def protected?; end - # source://rbi/lib/rbi/model.rb#939 + # : -> bool + # + # @return [Boolean] + # + # source://rbi//lib/rbi/model.rb#730 sig { returns(T::Boolean) } def public?; end - # source://rbi/lib/rbi/model.rb#923 + # : Symbol + # + # source://rbi//lib/rbi/model.rb#714 sig { returns(::Symbol) } def visibility; end end -# source://rbi/lib/rbi/rewriters/nest_non_public_members.rb#52 +# source://rbi//lib/rbi/rewriters/nest_non_public_members.rb#49 class RBI::VisibilityGroup < ::RBI::Tree - # source://rbi/lib/rbi/rewriters/nest_non_public_members.rb#59 + # : (Visibility visibility) -> void + # + # @return [VisibilityGroup] a new instance of VisibilityGroup + # + # source://rbi//lib/rbi/rewriters/nest_non_public_members.rb#54 sig { params(visibility: ::RBI::Visibility).void } def initialize(visibility); end - # source://rbi/lib/rbi/rewriters/nest_non_public_members.rb#56 + # : Visibility + # + # source://rbi//lib/rbi/rewriters/nest_non_public_members.rb#51 sig { returns(::RBI::Visibility) } def visibility; end end # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below. # -# source://rbi/lib/rbi/visitor.rb#7 +# source://rbi//lib/rbi/visitor.rb#7 class RBI::Visitor abstract! - # source://rbi/lib/rbi/visitor.rb#14 + # : (Node? node) -> void + # + # source://rbi//lib/rbi/visitor.rb#13 sig { params(node: T.nilable(::RBI::Node)).void } def visit(node); end - # source://rbi/lib/rbi/visitor.rb#108 + # : (Array[Node] nodes) -> void + # + # source://rbi//lib/rbi/visitor.rb#109 sig { params(nodes: T::Array[::RBI::Node]).void } def visit_all(nodes); end - # source://rbi/lib/rbi/visitor.rb#113 + # : (File file) -> void + # + # source://rbi//lib/rbi/visitor.rb#114 sig { params(file: ::RBI::File).void } def visit_file(file); end private - # source://rbi/lib/rbi/visitor.rb#195 + # : (Arg node) -> void + # + # source://rbi//lib/rbi/visitor.rb#199 sig { params(node: ::RBI::Arg).void } def visit_arg(node); end - # source://rbi/lib/rbi/visitor.rb#144 + # : (AttrAccessor node) -> void + # + # source://rbi//lib/rbi/visitor.rb#148 sig { params(node: ::RBI::AttrAccessor).void } def visit_attr_accessor(node); end - # source://rbi/lib/rbi/visitor.rb#147 + # : (AttrReader node) -> void + # + # source://rbi//lib/rbi/visitor.rb#151 sig { params(node: ::RBI::AttrReader).void } def visit_attr_reader(node); end - # source://rbi/lib/rbi/visitor.rb#150 + # : (AttrWriter node) -> void + # + # source://rbi//lib/rbi/visitor.rb#154 sig { params(node: ::RBI::AttrWriter).void } def visit_attr_writer(node); end - # source://rbi/lib/rbi/visitor.rb#123 + # : (BlankLine node) -> void + # + # source://rbi//lib/rbi/visitor.rb#127 sig { params(node: ::RBI::BlankLine).void } def visit_blank_line(node); end - # source://rbi/lib/rbi/visitor.rb#174 + # : (BlockParam node) -> void + # + # source://rbi//lib/rbi/visitor.rb#178 sig { params(node: ::RBI::BlockParam).void } def visit_block_param(node); end - # source://rbi/lib/rbi/visitor.rb#129 + # : (Class node) -> void + # + # source://rbi//lib/rbi/visitor.rb#133 sig { params(node: ::RBI::Class).void } def visit_class(node); end - # source://rbi/lib/rbi/visitor.rb#120 + # : (Comment node) -> void + # + # source://rbi//lib/rbi/visitor.rb#121 sig { params(node: ::RBI::Comment).void } def visit_comment(node); end - # source://rbi/lib/rbi/visitor.rb#240 + # : (ConflictTree node) -> void + # + # source://rbi//lib/rbi/visitor.rb#244 sig { params(node: ::RBI::ConflictTree).void } def visit_conflict_tree(node); end - # source://rbi/lib/rbi/visitor.rb#141 + # : (Const node) -> void + # + # source://rbi//lib/rbi/visitor.rb#145 sig { params(node: ::RBI::Const).void } def visit_const(node); end - # source://rbi/lib/rbi/visitor.rb#180 + # : (Extend node) -> void + # + # source://rbi//lib/rbi/visitor.rb#184 sig { params(node: ::RBI::Extend).void } def visit_extend(node); end - # source://rbi/lib/rbi/visitor.rb#234 + # : (Group node) -> void + # + # source://rbi//lib/rbi/visitor.rb#238 sig { params(node: ::RBI::Group).void } def visit_group(node); end - # source://rbi/lib/rbi/visitor.rb#222 + # : (Helper node) -> void + # + # source://rbi//lib/rbi/visitor.rb#226 sig { params(node: ::RBI::Helper).void } def visit_helper(node); end - # source://rbi/lib/rbi/visitor.rb#177 + # : (Include node) -> void + # + # source://rbi//lib/rbi/visitor.rb#181 sig { params(node: ::RBI::Include).void } def visit_include(node); end - # source://rbi/lib/rbi/visitor.rb#198 + # : (KwArg node) -> void + # + # source://rbi//lib/rbi/visitor.rb#202 sig { params(node: ::RBI::KwArg).void } def visit_kw_arg(node); end - # source://rbi/lib/rbi/visitor.rb#168 + # : (KwOptParam node) -> void + # + # source://rbi//lib/rbi/visitor.rb#172 sig { params(node: ::RBI::KwOptParam).void } def visit_kw_opt_param(node); end - # source://rbi/lib/rbi/visitor.rb#165 + # : (KwParam node) -> void + # + # source://rbi//lib/rbi/visitor.rb#169 sig { params(node: ::RBI::KwParam).void } def visit_kw_param(node); end - # source://rbi/lib/rbi/visitor.rb#171 + # : (KwRestParam node) -> void + # + # source://rbi//lib/rbi/visitor.rb#175 sig { params(node: ::RBI::KwRestParam).void } def visit_kw_rest_param(node); end - # source://rbi/lib/rbi/visitor.rb#153 + # : (Method node) -> void + # + # source://rbi//lib/rbi/visitor.rb#157 sig { params(node: ::RBI::Method).void } def visit_method(node); end - # source://rbi/lib/rbi/visitor.rb#228 + # : (MixesInClassMethods node) -> void + # + # source://rbi//lib/rbi/visitor.rb#232 sig { params(node: ::RBI::MixesInClassMethods).void } def visit_mixes_in_class_methods(node); end - # source://rbi/lib/rbi/visitor.rb#126 + # : (Module node) -> void + # + # source://rbi//lib/rbi/visitor.rb#130 sig { params(node: ::RBI::Module).void } def visit_module(node); end - # source://rbi/lib/rbi/visitor.rb#159 + # : (OptParam node) -> void + # + # source://rbi//lib/rbi/visitor.rb#163 sig { params(node: ::RBI::OptParam).void } def visit_opt_param(node); end - # source://rbi/lib/rbi/visitor.rb#189 + # : (Private node) -> void + # + # source://rbi//lib/rbi/visitor.rb#193 sig { params(node: ::RBI::Private).void } def visit_private(node); end - # source://rbi/lib/rbi/visitor.rb#186 + # : (Protected node) -> void + # + # source://rbi//lib/rbi/visitor.rb#190 sig { params(node: ::RBI::Protected).void } def visit_protected(node); end - # source://rbi/lib/rbi/visitor.rb#183 + # : (Public node) -> void + # + # source://rbi//lib/rbi/visitor.rb#187 sig { params(node: ::RBI::Public).void } def visit_public(node); end - # source://rbi/lib/rbi/visitor.rb#156 + # : (RBSComment node) -> void + # + # source://rbi//lib/rbi/visitor.rb#124 + sig { params(node: ::RBI::RBSComment).void } + def visit_rbs_comment(node); end + + # : (ReqParam node) -> void + # + # source://rbi//lib/rbi/visitor.rb#160 sig { params(node: ::RBI::ReqParam).void } def visit_req_param(node); end - # source://rbi/lib/rbi/visitor.rb#231 + # : (RequiresAncestor node) -> void + # + # source://rbi//lib/rbi/visitor.rb#235 sig { params(node: ::RBI::RequiresAncestor).void } def visit_requires_ancestor(node); end - # source://rbi/lib/rbi/visitor.rb#162 + # : (RestParam node) -> void + # + # source://rbi//lib/rbi/visitor.rb#166 sig { params(node: ::RBI::RestParam).void } def visit_rest_param(node); end - # source://rbi/lib/rbi/visitor.rb#243 + # : (ScopeConflict node) -> void + # + # source://rbi//lib/rbi/visitor.rb#247 sig { params(node: ::RBI::ScopeConflict).void } def visit_scope_conflict(node); end - # source://rbi/lib/rbi/visitor.rb#192 + # : (Send node) -> void + # + # source://rbi//lib/rbi/visitor.rb#196 sig { params(node: ::RBI::Send).void } def visit_send(node); end - # source://rbi/lib/rbi/visitor.rb#201 + # : (Sig node) -> void + # + # source://rbi//lib/rbi/visitor.rb#205 sig { params(node: ::RBI::Sig).void } def visit_sig(node); end - # source://rbi/lib/rbi/visitor.rb#204 + # : (SigParam node) -> void + # + # source://rbi//lib/rbi/visitor.rb#208 sig { params(node: ::RBI::SigParam).void } def visit_sig_param(node); end - # source://rbi/lib/rbi/visitor.rb#132 + # : (SingletonClass node) -> void + # + # source://rbi//lib/rbi/visitor.rb#136 sig { params(node: ::RBI::SingletonClass).void } def visit_singleton_class(node); end - # source://rbi/lib/rbi/visitor.rb#135 + # : (Struct node) -> void + # + # source://rbi//lib/rbi/visitor.rb#139 sig { params(node: ::RBI::Struct).void } def visit_struct(node); end - # source://rbi/lib/rbi/visitor.rb#216 + # : (TEnum node) -> void + # + # source://rbi//lib/rbi/visitor.rb#220 sig { params(node: ::RBI::TEnum).void } def visit_tenum(node); end - # source://rbi/lib/rbi/visitor.rb#219 + # : (TEnumBlock node) -> void + # + # source://rbi//lib/rbi/visitor.rb#223 sig { params(node: ::RBI::TEnumBlock).void } def visit_tenum_block(node); end - # source://rbi/lib/rbi/visitor.rb#138 + # : (Tree node) -> void + # + # source://rbi//lib/rbi/visitor.rb#142 sig { params(node: ::RBI::Tree).void } def visit_tree(node); end - # source://rbi/lib/rbi/visitor.rb#207 + # : (TStruct node) -> void + # + # source://rbi//lib/rbi/visitor.rb#211 sig { params(node: ::RBI::TStruct).void } def visit_tstruct(node); end - # source://rbi/lib/rbi/visitor.rb#210 + # : (TStructConst node) -> void + # + # source://rbi//lib/rbi/visitor.rb#214 sig { params(node: ::RBI::TStructConst).void } def visit_tstruct_const(node); end - # source://rbi/lib/rbi/visitor.rb#213 + # : (TStructProp node) -> void + # + # source://rbi//lib/rbi/visitor.rb#217 sig { params(node: ::RBI::TStructProp).void } def visit_tstruct_prop(node); end - # source://rbi/lib/rbi/visitor.rb#225 + # : (TypeMember node) -> void + # + # source://rbi//lib/rbi/visitor.rb#229 sig { params(node: ::RBI::TypeMember).void } def visit_type_member(node); end - # source://rbi/lib/rbi/visitor.rb#237 + # : (VisibilityGroup node) -> void + # + # source://rbi//lib/rbi/visitor.rb#241 sig { params(node: ::RBI::VisibilityGroup).void } def visit_visibility_group(node); end end -# source://rbi/lib/rbi/visitor.rb#5 +# source://rbi//lib/rbi/visitor.rb#5 class RBI::VisitorError < ::RBI::Error; end diff --git a/sorbet/rbi/gems/rbs@3.8.1.rbi b/sorbet/rbi/gems/rbs@3.8.1.rbi index c1c8061c..1930d2d5 100644 --- a/sorbet/rbi/gems/rbs@3.8.1.rbi +++ b/sorbet/rbi/gems/rbs@3.8.1.rbi @@ -5,1124 +5,1124 @@ # Please instead update this file by running `bin/tapioca gem rbs`. -# source://rbs/lib/rbs/namespace.rb#120 +# source://rbs//lib/rbs/namespace.rb#120 module Kernel - # source://rbs/lib/rbs/namespace.rb#121 + # source://rbs//lib/rbs/namespace.rb#121 def Namespace(name); end - # source://rbs/lib/rbs/type_name.rb#105 + # source://rbs//lib/rbs/type_name.rb#105 def TypeName(string); end end -# source://rbs/lib/rbs/version.rb#3 +# source://rbs//lib/rbs/version.rb#3 module RBS class << self - # source://rbs/lib/rbs.rb#68 + # source://rbs//lib/rbs.rb#68 def logger; end # Returns the value of attribute logger_level. # - # source://rbs/lib/rbs.rb#65 + # source://rbs//lib/rbs.rb#65 def logger_level; end - # source://rbs/lib/rbs.rb#77 + # source://rbs//lib/rbs.rb#77 def logger_level=(level); end # Returns the value of attribute logger_output. # - # source://rbs/lib/rbs.rb#66 + # source://rbs//lib/rbs.rb#66 def logger_output; end - # source://rbs/lib/rbs.rb#72 + # source://rbs//lib/rbs.rb#72 def logger_output=(val); end - # source://rbs/lib/rbs.rb#82 + # source://rbs//lib/rbs.rb#82 def print_warning; end end end -# source://rbs/lib/rbs/ast/type_param.rb#4 +# source://rbs//lib/rbs/ast/type_param.rb#4 module RBS::AST; end -# source://rbs/lib/rbs/ast/annotation.rb#5 +# source://rbs//lib/rbs/ast/annotation.rb#5 class RBS::AST::Annotation # @return [Annotation] a new instance of Annotation # - # source://rbs/lib/rbs/ast/annotation.rb#9 + # source://rbs//lib/rbs/ast/annotation.rb#9 def initialize(string:, location:); end - # source://rbs/lib/rbs/ast/annotation.rb#14 + # source://rbs//lib/rbs/ast/annotation.rb#14 def ==(other); end - # source://rbs/lib/rbs/ast/annotation.rb#14 + # source://rbs//lib/rbs/ast/annotation.rb#14 def eql?(other); end - # source://rbs/lib/rbs/ast/annotation.rb#20 + # source://rbs//lib/rbs/ast/annotation.rb#20 def hash; end # Returns the value of attribute location. # - # source://rbs/lib/rbs/ast/annotation.rb#7 + # source://rbs//lib/rbs/ast/annotation.rb#7 def location; end # Returns the value of attribute string. # - # source://rbs/lib/rbs/ast/annotation.rb#6 + # source://rbs//lib/rbs/ast/annotation.rb#6 def string; end - # source://rbs/lib/rbs/ast/annotation.rb#24 + # source://rbs//lib/rbs/ast/annotation.rb#24 def to_json(state = T.unsafe(nil)); end end -# source://rbs/lib/rbs/ast/comment.rb#5 +# source://rbs//lib/rbs/ast/comment.rb#5 class RBS::AST::Comment # @return [Comment] a new instance of Comment # - # source://rbs/lib/rbs/ast/comment.rb#9 + # source://rbs//lib/rbs/ast/comment.rb#9 def initialize(string:, location:); end - # source://rbs/lib/rbs/ast/comment.rb#14 + # source://rbs//lib/rbs/ast/comment.rb#14 def ==(other); end - # source://rbs/lib/rbs/ast/comment.rb#14 + # source://rbs//lib/rbs/ast/comment.rb#14 def eql?(other); end - # source://rbs/lib/rbs/ast/comment.rb#20 + # source://rbs//lib/rbs/ast/comment.rb#20 def hash; end # Returns the value of attribute location. # - # source://rbs/lib/rbs/ast/comment.rb#7 + # source://rbs//lib/rbs/ast/comment.rb#7 def location; end # Returns the value of attribute string. # - # source://rbs/lib/rbs/ast/comment.rb#6 + # source://rbs//lib/rbs/ast/comment.rb#6 def string; end - # source://rbs/lib/rbs/ast/comment.rb#24 + # source://rbs//lib/rbs/ast/comment.rb#24 def to_json(state = T.unsafe(nil)); end end -# source://rbs/lib/rbs/ast/declarations.rb#5 +# source://rbs//lib/rbs/ast/declarations.rb#5 module RBS::AST::Declarations; end -# source://rbs/lib/rbs/ast/declarations.rb#419 +# source://rbs//lib/rbs/ast/declarations.rb#419 class RBS::AST::Declarations::AliasDecl < ::RBS::AST::Declarations::Base # @return [AliasDecl] a new instance of AliasDecl # - # source://rbs/lib/rbs/ast/declarations.rb#422 + # source://rbs//lib/rbs/ast/declarations.rb#422 def initialize(new_name:, old_name:, location:, comment:); end - # source://rbs/lib/rbs/ast/declarations.rb#429 + # source://rbs//lib/rbs/ast/declarations.rb#429 def ==(other); end # Returns the value of attribute comment. # - # source://rbs/lib/rbs/ast/declarations.rb#420 + # source://rbs//lib/rbs/ast/declarations.rb#420 def comment; end - # source://rbs/lib/rbs/ast/declarations.rb#429 + # source://rbs//lib/rbs/ast/declarations.rb#429 def eql?(other); end - # source://rbs/lib/rbs/ast/declarations.rb#437 + # source://rbs//lib/rbs/ast/declarations.rb#437 def hash; end # Returns the value of attribute location. # - # source://rbs/lib/rbs/ast/declarations.rb#420 + # source://rbs//lib/rbs/ast/declarations.rb#420 def location; end # Returns the value of attribute new_name. # - # source://rbs/lib/rbs/ast/declarations.rb#420 + # source://rbs//lib/rbs/ast/declarations.rb#420 def new_name; end # Returns the value of attribute old_name. # - # source://rbs/lib/rbs/ast/declarations.rb#420 + # source://rbs//lib/rbs/ast/declarations.rb#420 def old_name; end end -# source://rbs/lib/rbs/ast/declarations.rb#6 +# source://rbs//lib/rbs/ast/declarations.rb#6 class RBS::AST::Declarations::Base; end -# source://rbs/lib/rbs/ast/declarations.rb#55 +# source://rbs//lib/rbs/ast/declarations.rb#55 class RBS::AST::Declarations::Class < ::RBS::AST::Declarations::Base include ::RBS::AST::Declarations::NestedDeclarationHelper include ::RBS::AST::Declarations::MixinHelper # @return [Class] a new instance of Class # - # source://rbs/lib/rbs/ast/declarations.rb#97 + # source://rbs//lib/rbs/ast/declarations.rb#97 def initialize(name:, type_params:, super_class:, members:, annotations:, location:, comment:); end - # source://rbs/lib/rbs/ast/declarations.rb#119 + # source://rbs//lib/rbs/ast/declarations.rb#119 def ==(other); end # Returns the value of attribute annotations. # - # source://rbs/lib/rbs/ast/declarations.rb#93 + # source://rbs//lib/rbs/ast/declarations.rb#93 def annotations; end # Returns the value of attribute comment. # - # source://rbs/lib/rbs/ast/declarations.rb#95 + # source://rbs//lib/rbs/ast/declarations.rb#95 def comment; end - # source://rbs/lib/rbs/ast/declarations.rb#119 + # source://rbs//lib/rbs/ast/declarations.rb#119 def eql?(other); end - # source://rbs/lib/rbs/ast/declarations.rb#129 + # source://rbs//lib/rbs/ast/declarations.rb#129 def hash; end # Returns the value of attribute location. # - # source://rbs/lib/rbs/ast/declarations.rb#94 + # source://rbs//lib/rbs/ast/declarations.rb#94 def location; end # Returns the value of attribute members. # - # source://rbs/lib/rbs/ast/declarations.rb#91 + # source://rbs//lib/rbs/ast/declarations.rb#91 def members; end # Returns the value of attribute name. # - # source://rbs/lib/rbs/ast/declarations.rb#89 + # source://rbs//lib/rbs/ast/declarations.rb#89 def name; end # Returns the value of attribute super_class. # - # source://rbs/lib/rbs/ast/declarations.rb#92 + # source://rbs//lib/rbs/ast/declarations.rb#92 def super_class; end - # source://rbs/lib/rbs/ast/declarations.rb#133 + # source://rbs//lib/rbs/ast/declarations.rb#133 def to_json(state = T.unsafe(nil)); end # Returns the value of attribute type_params. # - # source://rbs/lib/rbs/ast/declarations.rb#90 + # source://rbs//lib/rbs/ast/declarations.rb#90 def type_params; end - # source://rbs/lib/rbs/ast/declarations.rb#107 + # source://rbs//lib/rbs/ast/declarations.rb#107 def update(name: T.unsafe(nil), type_params: T.unsafe(nil), super_class: T.unsafe(nil), members: T.unsafe(nil), annotations: T.unsafe(nil), location: T.unsafe(nil), comment: T.unsafe(nil)); end end -# source://rbs/lib/rbs/ast/declarations.rb#56 +# source://rbs//lib/rbs/ast/declarations.rb#56 class RBS::AST::Declarations::Class::Super # @return [Super] a new instance of Super # - # source://rbs/lib/rbs/ast/declarations.rb#61 + # source://rbs//lib/rbs/ast/declarations.rb#61 def initialize(name:, args:, location:); end - # source://rbs/lib/rbs/ast/declarations.rb#67 + # source://rbs//lib/rbs/ast/declarations.rb#67 def ==(other); end # Returns the value of attribute args. # - # source://rbs/lib/rbs/ast/declarations.rb#58 + # source://rbs//lib/rbs/ast/declarations.rb#58 def args; end - # source://rbs/lib/rbs/ast/declarations.rb#67 + # source://rbs//lib/rbs/ast/declarations.rb#67 def eql?(other); end - # source://rbs/lib/rbs/ast/declarations.rb#73 + # source://rbs//lib/rbs/ast/declarations.rb#73 def hash; end # Returns the value of attribute location. # - # source://rbs/lib/rbs/ast/declarations.rb#59 + # source://rbs//lib/rbs/ast/declarations.rb#59 def location; end # Returns the value of attribute name. # - # source://rbs/lib/rbs/ast/declarations.rb#57 + # source://rbs//lib/rbs/ast/declarations.rb#57 def name; end - # source://rbs/lib/rbs/ast/declarations.rb#77 + # source://rbs//lib/rbs/ast/declarations.rb#77 def to_json(state = T.unsafe(nil)); end end -# source://rbs/lib/rbs/ast/declarations.rb#442 +# source://rbs//lib/rbs/ast/declarations.rb#442 class RBS::AST::Declarations::ClassAlias < ::RBS::AST::Declarations::AliasDecl - # source://rbs/lib/rbs/ast/declarations.rb#443 + # source://rbs//lib/rbs/ast/declarations.rb#443 def to_json(state = T.unsafe(nil)); end end -# source://rbs/lib/rbs/ast/declarations.rb#347 +# source://rbs//lib/rbs/ast/declarations.rb#347 class RBS::AST::Declarations::Constant < ::RBS::AST::Declarations::Base # @return [Constant] a new instance of Constant # - # source://rbs/lib/rbs/ast/declarations.rb#353 + # source://rbs//lib/rbs/ast/declarations.rb#353 def initialize(name:, type:, location:, comment:); end - # source://rbs/lib/rbs/ast/declarations.rb#360 + # source://rbs//lib/rbs/ast/declarations.rb#360 def ==(other); end # Returns the value of attribute comment. # - # source://rbs/lib/rbs/ast/declarations.rb#351 + # source://rbs//lib/rbs/ast/declarations.rb#351 def comment; end - # source://rbs/lib/rbs/ast/declarations.rb#360 + # source://rbs//lib/rbs/ast/declarations.rb#360 def eql?(other); end - # source://rbs/lib/rbs/ast/declarations.rb#368 + # source://rbs//lib/rbs/ast/declarations.rb#368 def hash; end # Returns the value of attribute location. # - # source://rbs/lib/rbs/ast/declarations.rb#350 + # source://rbs//lib/rbs/ast/declarations.rb#350 def location; end # Returns the value of attribute name. # - # source://rbs/lib/rbs/ast/declarations.rb#348 + # source://rbs//lib/rbs/ast/declarations.rb#348 def name; end - # source://rbs/lib/rbs/ast/declarations.rb#372 + # source://rbs//lib/rbs/ast/declarations.rb#372 def to_json(state = T.unsafe(nil)); end # Returns the value of attribute type. # - # source://rbs/lib/rbs/ast/declarations.rb#349 + # source://rbs//lib/rbs/ast/declarations.rb#349 def type; end end -# source://rbs/lib/rbs/ast/declarations.rb#383 +# source://rbs//lib/rbs/ast/declarations.rb#383 class RBS::AST::Declarations::Global < ::RBS::AST::Declarations::Base # @return [Global] a new instance of Global # - # source://rbs/lib/rbs/ast/declarations.rb#389 + # source://rbs//lib/rbs/ast/declarations.rb#389 def initialize(name:, type:, location:, comment:); end - # source://rbs/lib/rbs/ast/declarations.rb#396 + # source://rbs//lib/rbs/ast/declarations.rb#396 def ==(other); end # Returns the value of attribute comment. # - # source://rbs/lib/rbs/ast/declarations.rb#387 + # source://rbs//lib/rbs/ast/declarations.rb#387 def comment; end - # source://rbs/lib/rbs/ast/declarations.rb#396 + # source://rbs//lib/rbs/ast/declarations.rb#396 def eql?(other); end - # source://rbs/lib/rbs/ast/declarations.rb#404 + # source://rbs//lib/rbs/ast/declarations.rb#404 def hash; end # Returns the value of attribute location. # - # source://rbs/lib/rbs/ast/declarations.rb#386 + # source://rbs//lib/rbs/ast/declarations.rb#386 def location; end # Returns the value of attribute name. # - # source://rbs/lib/rbs/ast/declarations.rb#384 + # source://rbs//lib/rbs/ast/declarations.rb#384 def name; end - # source://rbs/lib/rbs/ast/declarations.rb#408 + # source://rbs//lib/rbs/ast/declarations.rb#408 def to_json(state = T.unsafe(nil)); end # Returns the value of attribute type. # - # source://rbs/lib/rbs/ast/declarations.rb#385 + # source://rbs//lib/rbs/ast/declarations.rb#385 def type; end end -# source://rbs/lib/rbs/ast/declarations.rb#248 +# source://rbs//lib/rbs/ast/declarations.rb#248 class RBS::AST::Declarations::Interface < ::RBS::AST::Declarations::Base include ::RBS::AST::Declarations::MixinHelper # @return [Interface] a new instance of Interface # - # source://rbs/lib/rbs/ast/declarations.rb#258 + # source://rbs//lib/rbs/ast/declarations.rb#258 def initialize(name:, type_params:, members:, annotations:, location:, comment:); end - # source://rbs/lib/rbs/ast/declarations.rb#278 + # source://rbs//lib/rbs/ast/declarations.rb#278 def ==(other); end # Returns the value of attribute annotations. # - # source://rbs/lib/rbs/ast/declarations.rb#252 + # source://rbs//lib/rbs/ast/declarations.rb#252 def annotations; end # Returns the value of attribute comment. # - # source://rbs/lib/rbs/ast/declarations.rb#254 + # source://rbs//lib/rbs/ast/declarations.rb#254 def comment; end - # source://rbs/lib/rbs/ast/declarations.rb#278 + # source://rbs//lib/rbs/ast/declarations.rb#278 def eql?(other); end - # source://rbs/lib/rbs/ast/declarations.rb#287 + # source://rbs//lib/rbs/ast/declarations.rb#287 def hash; end # Returns the value of attribute location. # - # source://rbs/lib/rbs/ast/declarations.rb#253 + # source://rbs//lib/rbs/ast/declarations.rb#253 def location; end # Returns the value of attribute members. # - # source://rbs/lib/rbs/ast/declarations.rb#251 + # source://rbs//lib/rbs/ast/declarations.rb#251 def members; end # Returns the value of attribute name. # - # source://rbs/lib/rbs/ast/declarations.rb#249 + # source://rbs//lib/rbs/ast/declarations.rb#249 def name; end - # source://rbs/lib/rbs/ast/declarations.rb#291 + # source://rbs//lib/rbs/ast/declarations.rb#291 def to_json(state = T.unsafe(nil)); end # Returns the value of attribute type_params. # - # source://rbs/lib/rbs/ast/declarations.rb#250 + # source://rbs//lib/rbs/ast/declarations.rb#250 def type_params; end - # source://rbs/lib/rbs/ast/declarations.rb#267 + # source://rbs//lib/rbs/ast/declarations.rb#267 def update(name: T.unsafe(nil), type_params: T.unsafe(nil), members: T.unsafe(nil), annotations: T.unsafe(nil), location: T.unsafe(nil), comment: T.unsafe(nil)); end end -# source://rbs/lib/rbs/ast/declarations.rb#35 +# source://rbs//lib/rbs/ast/declarations.rb#35 module RBS::AST::Declarations::MixinHelper - # source://rbs/lib/rbs/ast/declarations.rb#36 + # source://rbs//lib/rbs/ast/declarations.rb#36 def each_mixin(&block); end end -# source://rbs/lib/rbs/ast/declarations.rb#147 +# source://rbs//lib/rbs/ast/declarations.rb#147 class RBS::AST::Declarations::Module < ::RBS::AST::Declarations::Base include ::RBS::AST::Declarations::NestedDeclarationHelper include ::RBS::AST::Declarations::MixinHelper # @return [Module] a new instance of Module # - # source://rbs/lib/rbs/ast/declarations.rb#197 + # source://rbs//lib/rbs/ast/declarations.rb#197 def initialize(name:, type_params:, members:, self_types:, annotations:, location:, comment:); end - # source://rbs/lib/rbs/ast/declarations.rb#220 + # source://rbs//lib/rbs/ast/declarations.rb#220 def ==(other); end # Returns the value of attribute annotations. # - # source://rbs/lib/rbs/ast/declarations.rb#193 + # source://rbs//lib/rbs/ast/declarations.rb#193 def annotations; end # Returns the value of attribute comment. # - # source://rbs/lib/rbs/ast/declarations.rb#195 + # source://rbs//lib/rbs/ast/declarations.rb#195 def comment; end - # source://rbs/lib/rbs/ast/declarations.rb#220 + # source://rbs//lib/rbs/ast/declarations.rb#220 def eql?(other); end - # source://rbs/lib/rbs/ast/declarations.rb#230 + # source://rbs//lib/rbs/ast/declarations.rb#230 def hash; end # Returns the value of attribute location. # - # source://rbs/lib/rbs/ast/declarations.rb#192 + # source://rbs//lib/rbs/ast/declarations.rb#192 def location; end # Returns the value of attribute members. # - # source://rbs/lib/rbs/ast/declarations.rb#191 + # source://rbs//lib/rbs/ast/declarations.rb#191 def members; end # Returns the value of attribute name. # - # source://rbs/lib/rbs/ast/declarations.rb#189 + # source://rbs//lib/rbs/ast/declarations.rb#189 def name; end # Returns the value of attribute self_types. # - # source://rbs/lib/rbs/ast/declarations.rb#194 + # source://rbs//lib/rbs/ast/declarations.rb#194 def self_types; end - # source://rbs/lib/rbs/ast/declarations.rb#234 + # source://rbs//lib/rbs/ast/declarations.rb#234 def to_json(state = T.unsafe(nil)); end # Returns the value of attribute type_params. # - # source://rbs/lib/rbs/ast/declarations.rb#190 + # source://rbs//lib/rbs/ast/declarations.rb#190 def type_params; end - # source://rbs/lib/rbs/ast/declarations.rb#207 + # source://rbs//lib/rbs/ast/declarations.rb#207 def update(name: T.unsafe(nil), type_params: T.unsafe(nil), members: T.unsafe(nil), self_types: T.unsafe(nil), annotations: T.unsafe(nil), location: T.unsafe(nil), comment: T.unsafe(nil)); end end -# source://rbs/lib/rbs/ast/declarations.rb#148 +# source://rbs//lib/rbs/ast/declarations.rb#148 class RBS::AST::Declarations::Module::Self # @return [Self] a new instance of Self # - # source://rbs/lib/rbs/ast/declarations.rb#153 + # source://rbs//lib/rbs/ast/declarations.rb#153 def initialize(name:, args:, location:); end - # source://rbs/lib/rbs/ast/declarations.rb#159 + # source://rbs//lib/rbs/ast/declarations.rb#159 def ==(other); end # Returns the value of attribute args. # - # source://rbs/lib/rbs/ast/declarations.rb#150 + # source://rbs//lib/rbs/ast/declarations.rb#150 def args; end - # source://rbs/lib/rbs/ast/declarations.rb#159 + # source://rbs//lib/rbs/ast/declarations.rb#159 def eql?(other); end - # source://rbs/lib/rbs/ast/declarations.rb#165 + # source://rbs//lib/rbs/ast/declarations.rb#165 def hash; end # Returns the value of attribute location. # - # source://rbs/lib/rbs/ast/declarations.rb#151 + # source://rbs//lib/rbs/ast/declarations.rb#151 def location; end # Returns the value of attribute name. # - # source://rbs/lib/rbs/ast/declarations.rb#149 + # source://rbs//lib/rbs/ast/declarations.rb#149 def name; end - # source://rbs/lib/rbs/ast/declarations.rb#169 + # source://rbs//lib/rbs/ast/declarations.rb#169 def to_json(state = T.unsafe(nil)); end - # source://rbs/lib/rbs/ast/declarations.rb#177 + # source://rbs//lib/rbs/ast/declarations.rb#177 def to_s; end end -# source://rbs/lib/rbs/ast/declarations.rb#454 +# source://rbs//lib/rbs/ast/declarations.rb#454 class RBS::AST::Declarations::ModuleAlias < ::RBS::AST::Declarations::AliasDecl - # source://rbs/lib/rbs/ast/declarations.rb#455 + # source://rbs//lib/rbs/ast/declarations.rb#455 def to_json(state = T.unsafe(nil)); end end -# source://rbs/lib/rbs/ast/declarations.rb#9 +# source://rbs//lib/rbs/ast/declarations.rb#9 module RBS::AST::Declarations::NestedDeclarationHelper - # source://rbs/lib/rbs/ast/declarations.rb#22 + # source://rbs//lib/rbs/ast/declarations.rb#22 def each_decl; end - # source://rbs/lib/rbs/ast/declarations.rb#10 + # source://rbs//lib/rbs/ast/declarations.rb#10 def each_member; end end -# source://rbs/lib/rbs/ast/declarations.rb#304 +# source://rbs//lib/rbs/ast/declarations.rb#304 class RBS::AST::Declarations::TypeAlias < ::RBS::AST::Declarations::Base # @return [TypeAlias] a new instance of TypeAlias # - # source://rbs/lib/rbs/ast/declarations.rb#312 + # source://rbs//lib/rbs/ast/declarations.rb#312 def initialize(name:, type_params:, type:, annotations:, location:, comment:); end - # source://rbs/lib/rbs/ast/declarations.rb#321 + # source://rbs//lib/rbs/ast/declarations.rb#321 def ==(other); end # Returns the value of attribute annotations. # - # source://rbs/lib/rbs/ast/declarations.rb#308 + # source://rbs//lib/rbs/ast/declarations.rb#308 def annotations; end # Returns the value of attribute comment. # - # source://rbs/lib/rbs/ast/declarations.rb#310 + # source://rbs//lib/rbs/ast/declarations.rb#310 def comment; end - # source://rbs/lib/rbs/ast/declarations.rb#321 + # source://rbs//lib/rbs/ast/declarations.rb#321 def eql?(other); end - # source://rbs/lib/rbs/ast/declarations.rb#330 + # source://rbs//lib/rbs/ast/declarations.rb#330 def hash; end # Returns the value of attribute location. # - # source://rbs/lib/rbs/ast/declarations.rb#309 + # source://rbs//lib/rbs/ast/declarations.rb#309 def location; end # Returns the value of attribute name. # - # source://rbs/lib/rbs/ast/declarations.rb#305 + # source://rbs//lib/rbs/ast/declarations.rb#305 def name; end - # source://rbs/lib/rbs/ast/declarations.rb#334 + # source://rbs//lib/rbs/ast/declarations.rb#334 def to_json(state = T.unsafe(nil)); end # Returns the value of attribute type. # - # source://rbs/lib/rbs/ast/declarations.rb#307 + # source://rbs//lib/rbs/ast/declarations.rb#307 def type; end # Returns the value of attribute type_params. # - # source://rbs/lib/rbs/ast/declarations.rb#306 + # source://rbs//lib/rbs/ast/declarations.rb#306 def type_params; end end -# source://rbs/lib/rbs/ast/directives.rb#5 +# source://rbs//lib/rbs/ast/directives.rb#5 module RBS::AST::Directives; end -# source://rbs/lib/rbs/ast/directives.rb#6 +# source://rbs//lib/rbs/ast/directives.rb#6 class RBS::AST::Directives::Base; end -# source://rbs/lib/rbs/ast/directives.rb#9 +# source://rbs//lib/rbs/ast/directives.rb#9 class RBS::AST::Directives::Use < ::RBS::AST::Directives::Base # @return [Use] a new instance of Use # - # source://rbs/lib/rbs/ast/directives.rb#31 + # source://rbs//lib/rbs/ast/directives.rb#31 def initialize(clauses:, location:); end # Returns the value of attribute clauses. # - # source://rbs/lib/rbs/ast/directives.rb#29 + # source://rbs//lib/rbs/ast/directives.rb#29 def clauses; end # Returns the value of attribute location. # - # source://rbs/lib/rbs/ast/directives.rb#29 + # source://rbs//lib/rbs/ast/directives.rb#29 def location; end end -# source://rbs/lib/rbs/ast/directives.rb#10 +# source://rbs//lib/rbs/ast/directives.rb#10 class RBS::AST::Directives::Use::SingleClause # @return [SingleClause] a new instance of SingleClause # - # source://rbs/lib/rbs/ast/directives.rb#13 + # source://rbs//lib/rbs/ast/directives.rb#13 def initialize(type_name:, new_name:, location:); end # Returns the value of attribute location. # - # source://rbs/lib/rbs/ast/directives.rb#11 + # source://rbs//lib/rbs/ast/directives.rb#11 def location; end # Returns the value of attribute new_name. # - # source://rbs/lib/rbs/ast/directives.rb#11 + # source://rbs//lib/rbs/ast/directives.rb#11 def new_name; end # Returns the value of attribute type_name. # - # source://rbs/lib/rbs/ast/directives.rb#11 + # source://rbs//lib/rbs/ast/directives.rb#11 def type_name; end end -# source://rbs/lib/rbs/ast/directives.rb#20 +# source://rbs//lib/rbs/ast/directives.rb#20 class RBS::AST::Directives::Use::WildcardClause # @return [WildcardClause] a new instance of WildcardClause # - # source://rbs/lib/rbs/ast/directives.rb#23 + # source://rbs//lib/rbs/ast/directives.rb#23 def initialize(namespace:, location:); end # Returns the value of attribute location. # - # source://rbs/lib/rbs/ast/directives.rb#21 + # source://rbs//lib/rbs/ast/directives.rb#21 def location; end # Returns the value of attribute namespace. # - # source://rbs/lib/rbs/ast/directives.rb#21 + # source://rbs//lib/rbs/ast/directives.rb#21 def namespace; end end -# source://rbs/lib/rbs/ast/members.rb#5 +# source://rbs//lib/rbs/ast/members.rb#5 module RBS::AST::Members; end -# source://rbs/lib/rbs/ast/members.rb#397 +# source://rbs//lib/rbs/ast/members.rb#397 class RBS::AST::Members::Alias < ::RBS::AST::Members::Base # @return [Alias] a new instance of Alias # - # source://rbs/lib/rbs/ast/members.rb#405 + # source://rbs//lib/rbs/ast/members.rb#405 def initialize(new_name:, old_name:, kind:, annotations:, location:, comment:); end - # source://rbs/lib/rbs/ast/members.rb#414 + # source://rbs//lib/rbs/ast/members.rb#414 def ==(other); end # Returns the value of attribute annotations. # - # source://rbs/lib/rbs/ast/members.rb#401 + # source://rbs//lib/rbs/ast/members.rb#401 def annotations; end # Returns the value of attribute comment. # - # source://rbs/lib/rbs/ast/members.rb#403 + # source://rbs//lib/rbs/ast/members.rb#403 def comment; end - # source://rbs/lib/rbs/ast/members.rb#414 + # source://rbs//lib/rbs/ast/members.rb#414 def eql?(other); end - # source://rbs/lib/rbs/ast/members.rb#423 + # source://rbs//lib/rbs/ast/members.rb#423 def hash; end # @return [Boolean] # - # source://rbs/lib/rbs/ast/members.rb#439 + # source://rbs//lib/rbs/ast/members.rb#439 def instance?; end # Returns the value of attribute kind. # - # source://rbs/lib/rbs/ast/members.rb#400 + # source://rbs//lib/rbs/ast/members.rb#400 def kind; end # Returns the value of attribute location. # - # source://rbs/lib/rbs/ast/members.rb#402 + # source://rbs//lib/rbs/ast/members.rb#402 def location; end # Returns the value of attribute new_name. # - # source://rbs/lib/rbs/ast/members.rb#398 + # source://rbs//lib/rbs/ast/members.rb#398 def new_name; end # Returns the value of attribute old_name. # - # source://rbs/lib/rbs/ast/members.rb#399 + # source://rbs//lib/rbs/ast/members.rb#399 def old_name; end # @return [Boolean] # - # source://rbs/lib/rbs/ast/members.rb#443 + # source://rbs//lib/rbs/ast/members.rb#443 def singleton?; end - # source://rbs/lib/rbs/ast/members.rb#427 + # source://rbs//lib/rbs/ast/members.rb#427 def to_json(state = T.unsafe(nil)); end end -# source://rbs/lib/rbs/ast/members.rb#327 +# source://rbs//lib/rbs/ast/members.rb#327 class RBS::AST::Members::AttrAccessor < ::RBS::AST::Members::Base include ::RBS::AST::Members::Attribute - # source://rbs/lib/rbs/ast/members.rb#330 + # source://rbs//lib/rbs/ast/members.rb#330 def to_json(state = T.unsafe(nil)); end end -# source://rbs/lib/rbs/ast/members.rb#309 +# source://rbs//lib/rbs/ast/members.rb#309 class RBS::AST::Members::AttrReader < ::RBS::AST::Members::Base include ::RBS::AST::Members::Attribute - # source://rbs/lib/rbs/ast/members.rb#312 + # source://rbs//lib/rbs/ast/members.rb#312 def to_json(state = T.unsafe(nil)); end end -# source://rbs/lib/rbs/ast/members.rb#345 +# source://rbs//lib/rbs/ast/members.rb#345 class RBS::AST::Members::AttrWriter < ::RBS::AST::Members::Base include ::RBS::AST::Members::Attribute - # source://rbs/lib/rbs/ast/members.rb#348 + # source://rbs//lib/rbs/ast/members.rb#348 def to_json(state = T.unsafe(nil)); end end -# source://rbs/lib/rbs/ast/members.rb#258 +# source://rbs//lib/rbs/ast/members.rb#258 module RBS::AST::Members::Attribute - # source://rbs/lib/rbs/ast/members.rb#268 + # source://rbs//lib/rbs/ast/members.rb#268 def initialize(name:, type:, ivar_name:, kind:, annotations:, location:, comment:, visibility: T.unsafe(nil)); end - # source://rbs/lib/rbs/ast/members.rb#279 + # source://rbs//lib/rbs/ast/members.rb#279 def ==(other); end # Returns the value of attribute annotations. # - # source://rbs/lib/rbs/ast/members.rb#263 + # source://rbs//lib/rbs/ast/members.rb#263 def annotations; end # Returns the value of attribute comment. # - # source://rbs/lib/rbs/ast/members.rb#265 + # source://rbs//lib/rbs/ast/members.rb#265 def comment; end - # source://rbs/lib/rbs/ast/members.rb#279 + # source://rbs//lib/rbs/ast/members.rb#279 def eql?(other); end - # source://rbs/lib/rbs/ast/members.rb#290 + # source://rbs//lib/rbs/ast/members.rb#290 def hash; end # Returns the value of attribute ivar_name. # - # source://rbs/lib/rbs/ast/members.rb#262 + # source://rbs//lib/rbs/ast/members.rb#262 def ivar_name; end # Returns the value of attribute kind. # - # source://rbs/lib/rbs/ast/members.rb#261 + # source://rbs//lib/rbs/ast/members.rb#261 def kind; end # Returns the value of attribute location. # - # source://rbs/lib/rbs/ast/members.rb#264 + # source://rbs//lib/rbs/ast/members.rb#264 def location; end # Returns the value of attribute name. # - # source://rbs/lib/rbs/ast/members.rb#259 + # source://rbs//lib/rbs/ast/members.rb#259 def name; end # Returns the value of attribute type. # - # source://rbs/lib/rbs/ast/members.rb#260 + # source://rbs//lib/rbs/ast/members.rb#260 def type; end - # source://rbs/lib/rbs/ast/members.rb#294 + # source://rbs//lib/rbs/ast/members.rb#294 def update(name: T.unsafe(nil), type: T.unsafe(nil), ivar_name: T.unsafe(nil), kind: T.unsafe(nil), annotations: T.unsafe(nil), location: T.unsafe(nil), comment: T.unsafe(nil), visibility: T.unsafe(nil)); end # Returns the value of attribute visibility. # - # source://rbs/lib/rbs/ast/members.rb#266 + # source://rbs//lib/rbs/ast/members.rb#266 def visibility; end end -# source://rbs/lib/rbs/ast/members.rb#6 +# source://rbs//lib/rbs/ast/members.rb#6 class RBS::AST::Members::Base; end -# source://rbs/lib/rbs/ast/members.rb#157 +# source://rbs//lib/rbs/ast/members.rb#157 class RBS::AST::Members::ClassInstanceVariable < ::RBS::AST::Members::Base include ::RBS::AST::Members::Var - # source://rbs/lib/rbs/ast/members.rb#160 + # source://rbs//lib/rbs/ast/members.rb#160 def to_json(state = T.unsafe(nil)); end end -# source://rbs/lib/rbs/ast/members.rb#171 +# source://rbs//lib/rbs/ast/members.rb#171 class RBS::AST::Members::ClassVariable < ::RBS::AST::Members::Base include ::RBS::AST::Members::Var - # source://rbs/lib/rbs/ast/members.rb#174 + # source://rbs//lib/rbs/ast/members.rb#174 def to_json(state = T.unsafe(nil)); end end -# source://rbs/lib/rbs/ast/members.rb#228 +# source://rbs//lib/rbs/ast/members.rb#228 class RBS::AST::Members::Extend < ::RBS::AST::Members::Base include ::RBS::AST::Members::Mixin - # source://rbs/lib/rbs/ast/members.rb#231 + # source://rbs//lib/rbs/ast/members.rb#231 def to_json(state = T.unsafe(nil)); end end -# source://rbs/lib/rbs/ast/members.rb#213 +# source://rbs//lib/rbs/ast/members.rb#213 class RBS::AST::Members::Include < ::RBS::AST::Members::Base include ::RBS::AST::Members::Mixin - # source://rbs/lib/rbs/ast/members.rb#216 + # source://rbs//lib/rbs/ast/members.rb#216 def to_json(state = T.unsafe(nil)); end end -# source://rbs/lib/rbs/ast/members.rb#143 +# source://rbs//lib/rbs/ast/members.rb#143 class RBS::AST::Members::InstanceVariable < ::RBS::AST::Members::Base include ::RBS::AST::Members::Var - # source://rbs/lib/rbs/ast/members.rb#146 + # source://rbs//lib/rbs/ast/members.rb#146 def to_json(state = T.unsafe(nil)); end end -# source://rbs/lib/rbs/ast/members.rb#363 +# source://rbs//lib/rbs/ast/members.rb#363 module RBS::AST::Members::LocationOnly - # source://rbs/lib/rbs/ast/members.rb#366 + # source://rbs//lib/rbs/ast/members.rb#366 def initialize(location:); end - # source://rbs/lib/rbs/ast/members.rb#370 + # source://rbs//lib/rbs/ast/members.rb#370 def ==(other); end - # source://rbs/lib/rbs/ast/members.rb#370 + # source://rbs//lib/rbs/ast/members.rb#370 def eql?(other); end - # source://rbs/lib/rbs/ast/members.rb#376 + # source://rbs//lib/rbs/ast/members.rb#376 def hash; end # Returns the value of attribute location. # - # source://rbs/lib/rbs/ast/members.rb#364 + # source://rbs//lib/rbs/ast/members.rb#364 def location; end end -# source://rbs/lib/rbs/ast/members.rb#9 +# source://rbs//lib/rbs/ast/members.rb#9 class RBS::AST::Members::MethodDefinition < ::RBS::AST::Members::Base # @return [MethodDefinition] a new instance of MethodDefinition # - # source://rbs/lib/rbs/ast/members.rb#53 + # source://rbs//lib/rbs/ast/members.rb#53 def initialize(name:, kind:, overloads:, annotations:, location:, comment:, overloading:, visibility:); end - # source://rbs/lib/rbs/ast/members.rb#64 + # source://rbs//lib/rbs/ast/members.rb#64 def ==(other); end # Returns the value of attribute annotations. # - # source://rbs/lib/rbs/ast/members.rb#47 + # source://rbs//lib/rbs/ast/members.rb#47 def annotations; end # Returns the value of attribute comment. # - # source://rbs/lib/rbs/ast/members.rb#49 + # source://rbs//lib/rbs/ast/members.rb#49 def comment; end - # source://rbs/lib/rbs/ast/members.rb#64 + # source://rbs//lib/rbs/ast/members.rb#64 def eql?(other); end - # source://rbs/lib/rbs/ast/members.rb#75 + # source://rbs//lib/rbs/ast/members.rb#75 def hash; end # @return [Boolean] # - # source://rbs/lib/rbs/ast/members.rb#79 + # source://rbs//lib/rbs/ast/members.rb#79 def instance?; end # Returns the value of attribute kind. # - # source://rbs/lib/rbs/ast/members.rb#45 + # source://rbs//lib/rbs/ast/members.rb#45 def kind; end # Returns the value of attribute location. # - # source://rbs/lib/rbs/ast/members.rb#48 + # source://rbs//lib/rbs/ast/members.rb#48 def location; end # Returns the value of attribute name. # - # source://rbs/lib/rbs/ast/members.rb#44 + # source://rbs//lib/rbs/ast/members.rb#44 def name; end # Returns the value of attribute overloading. # - # source://rbs/lib/rbs/ast/members.rb#50 + # source://rbs//lib/rbs/ast/members.rb#50 def overloading; end # @return [Boolean] # - # source://rbs/lib/rbs/ast/members.rb#87 + # source://rbs//lib/rbs/ast/members.rb#87 def overloading?; end # Returns the value of attribute overloads. # - # source://rbs/lib/rbs/ast/members.rb#46 + # source://rbs//lib/rbs/ast/members.rb#46 def overloads; end # @return [Boolean] # - # source://rbs/lib/rbs/ast/members.rb#83 + # source://rbs//lib/rbs/ast/members.rb#83 def singleton?; end - # source://rbs/lib/rbs/ast/members.rb#104 + # source://rbs//lib/rbs/ast/members.rb#104 def to_json(state = T.unsafe(nil)); end - # source://rbs/lib/rbs/ast/members.rb#91 + # source://rbs//lib/rbs/ast/members.rb#91 def update(name: T.unsafe(nil), kind: T.unsafe(nil), overloads: T.unsafe(nil), annotations: T.unsafe(nil), location: T.unsafe(nil), comment: T.unsafe(nil), overloading: T.unsafe(nil), visibility: T.unsafe(nil)); end # Returns the value of attribute visibility. # - # source://rbs/lib/rbs/ast/members.rb#51 + # source://rbs//lib/rbs/ast/members.rb#51 def visibility; end end -# source://rbs/lib/rbs/ast/members.rb#10 +# source://rbs//lib/rbs/ast/members.rb#10 class RBS::AST::Members::MethodDefinition::Overload # @return [Overload] a new instance of Overload # - # source://rbs/lib/rbs/ast/members.rb#13 + # source://rbs//lib/rbs/ast/members.rb#13 def initialize(method_type:, annotations:); end - # source://rbs/lib/rbs/ast/members.rb#18 + # source://rbs//lib/rbs/ast/members.rb#18 def ==(other); end # Returns the value of attribute annotations. # - # source://rbs/lib/rbs/ast/members.rb#11 + # source://rbs//lib/rbs/ast/members.rb#11 def annotations; end - # source://rbs/lib/rbs/ast/members.rb#18 + # source://rbs//lib/rbs/ast/members.rb#18 def eql?(other); end - # source://rbs/lib/rbs/ast/members.rb#22 + # source://rbs//lib/rbs/ast/members.rb#22 def hash; end # Returns the value of attribute method_type. # - # source://rbs/lib/rbs/ast/members.rb#11 + # source://rbs//lib/rbs/ast/members.rb#11 def method_type; end - # source://rbs/lib/rbs/ast/members.rb#32 + # source://rbs//lib/rbs/ast/members.rb#32 def sub(subst); end - # source://rbs/lib/rbs/ast/members.rb#36 + # source://rbs//lib/rbs/ast/members.rb#36 def to_json(state = T.unsafe(nil)); end - # source://rbs/lib/rbs/ast/members.rb#28 + # source://rbs//lib/rbs/ast/members.rb#28 def update(annotations: T.unsafe(nil), method_type: T.unsafe(nil)); end end -# source://rbs/lib/rbs/ast/members.rb#185 +# source://rbs//lib/rbs/ast/members.rb#185 module RBS::AST::Members::Mixin - # source://rbs/lib/rbs/ast/members.rb#192 + # source://rbs//lib/rbs/ast/members.rb#192 def initialize(name:, args:, annotations:, location:, comment:); end - # source://rbs/lib/rbs/ast/members.rb#200 + # source://rbs//lib/rbs/ast/members.rb#200 def ==(other); end # Returns the value of attribute annotations. # - # source://rbs/lib/rbs/ast/members.rb#188 + # source://rbs//lib/rbs/ast/members.rb#188 def annotations; end # Returns the value of attribute args. # - # source://rbs/lib/rbs/ast/members.rb#187 + # source://rbs//lib/rbs/ast/members.rb#187 def args; end # Returns the value of attribute comment. # - # source://rbs/lib/rbs/ast/members.rb#190 + # source://rbs//lib/rbs/ast/members.rb#190 def comment; end # @return [Boolean] # - # source://rbs/lib/rbs/ast/members.rb#204 + # source://rbs//lib/rbs/ast/members.rb#204 def eql?(other); end - # source://rbs/lib/rbs/ast/members.rb#208 + # source://rbs//lib/rbs/ast/members.rb#208 def hash; end # Returns the value of attribute location. # - # source://rbs/lib/rbs/ast/members.rb#189 + # source://rbs//lib/rbs/ast/members.rb#189 def location; end # Returns the value of attribute name. # - # source://rbs/lib/rbs/ast/members.rb#186 + # source://rbs//lib/rbs/ast/members.rb#186 def name; end end -# source://rbs/lib/rbs/ast/members.rb#243 +# source://rbs//lib/rbs/ast/members.rb#243 class RBS::AST::Members::Prepend < ::RBS::AST::Members::Base include ::RBS::AST::Members::Mixin - # source://rbs/lib/rbs/ast/members.rb#246 + # source://rbs//lib/rbs/ast/members.rb#246 def to_json(state = T.unsafe(nil)); end end -# source://rbs/lib/rbs/ast/members.rb#389 +# source://rbs//lib/rbs/ast/members.rb#389 class RBS::AST::Members::Private < ::RBS::AST::Members::Base include ::RBS::AST::Members::LocationOnly - # source://rbs/lib/rbs/ast/members.rb#392 + # source://rbs//lib/rbs/ast/members.rb#392 def to_json(state = T.unsafe(nil)); end end -# source://rbs/lib/rbs/ast/members.rb#381 +# source://rbs//lib/rbs/ast/members.rb#381 class RBS::AST::Members::Public < ::RBS::AST::Members::Base include ::RBS::AST::Members::LocationOnly - # source://rbs/lib/rbs/ast/members.rb#384 + # source://rbs//lib/rbs/ast/members.rb#384 def to_json(state = T.unsafe(nil)); end end -# source://rbs/lib/rbs/ast/members.rb#119 +# source://rbs//lib/rbs/ast/members.rb#119 module RBS::AST::Members::Var - # source://rbs/lib/rbs/ast/members.rb#125 + # source://rbs//lib/rbs/ast/members.rb#125 def initialize(name:, type:, location:, comment:); end - # source://rbs/lib/rbs/ast/members.rb#132 + # source://rbs//lib/rbs/ast/members.rb#132 def ==(other); end # Returns the value of attribute comment. # - # source://rbs/lib/rbs/ast/members.rb#123 + # source://rbs//lib/rbs/ast/members.rb#123 def comment; end - # source://rbs/lib/rbs/ast/members.rb#132 + # source://rbs//lib/rbs/ast/members.rb#132 def eql?(other); end - # source://rbs/lib/rbs/ast/members.rb#138 + # source://rbs//lib/rbs/ast/members.rb#138 def hash; end # Returns the value of attribute location. # - # source://rbs/lib/rbs/ast/members.rb#122 + # source://rbs//lib/rbs/ast/members.rb#122 def location; end # Returns the value of attribute name. # - # source://rbs/lib/rbs/ast/members.rb#120 + # source://rbs//lib/rbs/ast/members.rb#120 def name; end # Returns the value of attribute type. # - # source://rbs/lib/rbs/ast/members.rb#121 + # source://rbs//lib/rbs/ast/members.rb#121 def type; end end -# source://rbs/lib/rbs/ast/type_param.rb#5 +# source://rbs//lib/rbs/ast/type_param.rb#5 class RBS::AST::TypeParam # @return [TypeParam] a new instance of TypeParam # - # source://rbs/lib/rbs/ast/type_param.rb#8 + # source://rbs//lib/rbs/ast/type_param.rb#8 def initialize(name:, variance:, upper_bound:, location:, default_type: T.unsafe(nil)); end - # source://rbs/lib/rbs/ast/type_param.rb#33 + # source://rbs//lib/rbs/ast/type_param.rb#33 def ==(other); end # Returns the value of attribute default_type. # - # source://rbs/lib/rbs/ast/type_param.rb#6 + # source://rbs//lib/rbs/ast/type_param.rb#6 def default_type; end - # source://rbs/lib/rbs/ast/type_param.rb#33 + # source://rbs//lib/rbs/ast/type_param.rb#33 def eql?(other); end - # source://rbs/lib/rbs/ast/type_param.rb#44 + # source://rbs//lib/rbs/ast/type_param.rb#44 def hash; end # Returns the value of attribute location. # - # source://rbs/lib/rbs/ast/type_param.rb#6 + # source://rbs//lib/rbs/ast/type_param.rb#6 def location; end - # source://rbs/lib/rbs/ast/type_param.rb#69 + # source://rbs//lib/rbs/ast/type_param.rb#69 def map_type(&block); end # Returns the value of attribute name. # - # source://rbs/lib/rbs/ast/type_param.rb#6 + # source://rbs//lib/rbs/ast/type_param.rb#6 def name; end - # source://rbs/lib/rbs/ast/type_param.rb#59 + # source://rbs//lib/rbs/ast/type_param.rb#59 def rename(name); end - # source://rbs/lib/rbs/ast/type_param.rb#48 + # source://rbs//lib/rbs/ast/type_param.rb#48 def to_json(state = T.unsafe(nil)); end - # source://rbs/lib/rbs/ast/type_param.rb#127 + # source://rbs//lib/rbs/ast/type_param.rb#127 def to_s; end - # source://rbs/lib/rbs/ast/type_param.rb#24 + # source://rbs//lib/rbs/ast/type_param.rb#24 def unchecked!(value = T.unsafe(nil)); end # @return [Boolean] # - # source://rbs/lib/rbs/ast/type_param.rb#29 + # source://rbs//lib/rbs/ast/type_param.rb#29 def unchecked?; end - # source://rbs/lib/rbs/ast/type_param.rb#17 + # source://rbs//lib/rbs/ast/type_param.rb#17 def upper_bound; end # Returns the value of attribute upper_bound_type. # - # source://rbs/lib/rbs/ast/type_param.rb#6 + # source://rbs//lib/rbs/ast/type_param.rb#6 def upper_bound_type; end # Returns the value of attribute variance. # - # source://rbs/lib/rbs/ast/type_param.rb#6 + # source://rbs//lib/rbs/ast/type_param.rb#6 def variance; end class << self - # source://rbs/lib/rbs/ast/type_param.rb#156 + # source://rbs//lib/rbs/ast/type_param.rb#156 def application(params, args); end - # source://rbs/lib/rbs/ast/type_param.rb#188 + # source://rbs//lib/rbs/ast/type_param.rb#188 def normalize_args(params, args); end - # source://rbs/lib/rbs/ast/type_param.rb#109 + # source://rbs//lib/rbs/ast/type_param.rb#109 def rename(params, new_names:); end - # source://rbs/lib/rbs/ast/type_param.rb#87 + # source://rbs//lib/rbs/ast/type_param.rb#87 def resolve_variables(params); end - # source://rbs/lib/rbs/ast/type_param.rb#97 + # source://rbs//lib/rbs/ast/type_param.rb#97 def subst_var(vars, type); end - # source://rbs/lib/rbs/ast/type_param.rb#209 + # source://rbs//lib/rbs/ast/type_param.rb#209 def validate(type_params); end end end @@ -1149,122 +1149,122 @@ end # visitor.visit(ast_node) # ~~~ # -# source://rbs/lib/rbs/ast/visitor.rb#26 +# source://rbs//lib/rbs/ast/visitor.rb#26 class RBS::AST::Visitor - # source://rbs/lib/rbs/ast/visitor.rb#27 + # source://rbs//lib/rbs/ast/visitor.rb#27 def visit(node); end - # source://rbs/lib/rbs/ast/visitor.rb#70 + # source://rbs//lib/rbs/ast/visitor.rb#70 def visit_all(nodes); end - # source://rbs/lib/rbs/ast/visitor.rb#79 + # source://rbs//lib/rbs/ast/visitor.rb#79 def visit_declaration_class(node); end - # source://rbs/lib/rbs/ast/visitor.rb#87 + # source://rbs//lib/rbs/ast/visitor.rb#87 def visit_declaration_constant(node); end - # source://rbs/lib/rbs/ast/visitor.rb#76 + # source://rbs//lib/rbs/ast/visitor.rb#76 def visit_declaration_global(node); end - # source://rbs/lib/rbs/ast/visitor.rb#93 + # source://rbs//lib/rbs/ast/visitor.rb#93 def visit_declaration_interface(node); end - # source://rbs/lib/rbs/ast/visitor.rb#83 + # source://rbs//lib/rbs/ast/visitor.rb#83 def visit_declaration_module(node); end - # source://rbs/lib/rbs/ast/visitor.rb#90 + # source://rbs//lib/rbs/ast/visitor.rb#90 def visit_declaration_type_alias(node); end - # source://rbs/lib/rbs/ast/visitor.rb#97 + # source://rbs//lib/rbs/ast/visitor.rb#97 def visit_member_alias(node); end - # source://rbs/lib/rbs/ast/visitor.rb#124 + # source://rbs//lib/rbs/ast/visitor.rb#124 def visit_member_attr_accessor(node); end - # source://rbs/lib/rbs/ast/visitor.rb#118 + # source://rbs//lib/rbs/ast/visitor.rb#118 def visit_member_attr_reader(node); end - # source://rbs/lib/rbs/ast/visitor.rb#121 + # source://rbs//lib/rbs/ast/visitor.rb#121 def visit_member_attr_writer(node); end - # source://rbs/lib/rbs/ast/visitor.rb#100 + # source://rbs//lib/rbs/ast/visitor.rb#100 def visit_member_class_instance_variable(node); end - # source://rbs/lib/rbs/ast/visitor.rb#103 + # source://rbs//lib/rbs/ast/visitor.rb#103 def visit_member_class_variable(node); end - # source://rbs/lib/rbs/ast/visitor.rb#133 + # source://rbs//lib/rbs/ast/visitor.rb#133 def visit_member_extend(node); end - # source://rbs/lib/rbs/ast/visitor.rb#127 + # source://rbs//lib/rbs/ast/visitor.rb#127 def visit_member_include(node); end - # source://rbs/lib/rbs/ast/visitor.rb#106 + # source://rbs//lib/rbs/ast/visitor.rb#106 def visit_member_instance_variable(node); end - # source://rbs/lib/rbs/ast/visitor.rb#115 + # source://rbs//lib/rbs/ast/visitor.rb#115 def visit_member_method_definition(node); end - # source://rbs/lib/rbs/ast/visitor.rb#130 + # source://rbs//lib/rbs/ast/visitor.rb#130 def visit_member_prepend(node); end - # source://rbs/lib/rbs/ast/visitor.rb#109 + # source://rbs//lib/rbs/ast/visitor.rb#109 def visit_member_private(node); end - # source://rbs/lib/rbs/ast/visitor.rb#112 + # source://rbs//lib/rbs/ast/visitor.rb#112 def visit_member_public(node); end end -# source://rbs/lib/rbs/ancestor_graph.rb#4 +# source://rbs//lib/rbs/ancestor_graph.rb#4 class RBS::AncestorGraph # @return [AncestorGraph] a new instance of AncestorGraph # - # source://rbs/lib/rbs/ancestor_graph.rb#13 + # source://rbs//lib/rbs/ancestor_graph.rb#13 def initialize(env:, ancestor_builder: T.unsafe(nil)); end # Returns the value of attribute ancestor_builder. # - # source://rbs/lib/rbs/ancestor_graph.rb#9 + # source://rbs//lib/rbs/ancestor_graph.rb#9 def ancestor_builder; end - # source://rbs/lib/rbs/ancestor_graph.rb#19 + # source://rbs//lib/rbs/ancestor_graph.rb#19 def build; end - # source://rbs/lib/rbs/ancestor_graph.rb#32 + # source://rbs//lib/rbs/ancestor_graph.rb#32 def build_ancestors(node, ancestors); end # Returns the value of attribute children. # - # source://rbs/lib/rbs/ancestor_graph.rb#11 + # source://rbs//lib/rbs/ancestor_graph.rb#11 def children; end - # source://rbs/lib/rbs/ancestor_graph.rb#64 + # source://rbs//lib/rbs/ancestor_graph.rb#64 def each_ancestor(node, yielded: T.unsafe(nil), &block); end - # source://rbs/lib/rbs/ancestor_graph.rb#56 + # source://rbs//lib/rbs/ancestor_graph.rb#56 def each_child(node, &block); end - # source://rbs/lib/rbs/ancestor_graph.rb#78 + # source://rbs//lib/rbs/ancestor_graph.rb#78 def each_descendant(node, yielded: T.unsafe(nil), &block); end - # source://rbs/lib/rbs/ancestor_graph.rb#48 + # source://rbs//lib/rbs/ancestor_graph.rb#48 def each_parent(node, &block); end # Returns the value of attribute env. # - # source://rbs/lib/rbs/ancestor_graph.rb#8 + # source://rbs//lib/rbs/ancestor_graph.rb#8 def env; end # Returns the value of attribute parents. # - # source://rbs/lib/rbs/ancestor_graph.rb#10 + # source://rbs//lib/rbs/ancestor_graph.rb#10 def parents; end - # source://rbs/lib/rbs/ancestor_graph.rb#43 + # source://rbs//lib/rbs/ancestor_graph.rb#43 def register(parent:, child:); end end -# source://rbs/lib/rbs/ancestor_graph.rb#5 +# source://rbs//lib/rbs/ancestor_graph.rb#5 class RBS::AncestorGraph::InstanceNode < ::Struct def type_name; end def type_name=(_); end @@ -1278,7 +1278,7 @@ class RBS::AncestorGraph::InstanceNode < ::Struct end end -# source://rbs/lib/rbs/ancestor_graph.rb#6 +# source://rbs//lib/rbs/ancestor_graph.rb#6 class RBS::AncestorGraph::SingletonNode < ::Struct def type_name; end def type_name=(_); end @@ -1292,606 +1292,606 @@ class RBS::AncestorGraph::SingletonNode < ::Struct end end -# source://rbs/lib/rbs/errors.rb#19 +# source://rbs//lib/rbs/errors.rb#19 class RBS::BaseError < ::StandardError; end -# source://rbs/lib/rbs/buffer.rb#4 +# source://rbs//lib/rbs/buffer.rb#4 class RBS::Buffer # @return [Buffer] a new instance of Buffer # - # source://rbs/lib/rbs/buffer.rb#8 + # source://rbs//lib/rbs/buffer.rb#8 def initialize(name:, content:); end # Returns the value of attribute content. # - # source://rbs/lib/rbs/buffer.rb#6 + # source://rbs//lib/rbs/buffer.rb#6 def content; end - # source://rbs/lib/rbs/buffer.rb#63 + # source://rbs//lib/rbs/buffer.rb#63 def inspect; end - # source://rbs/lib/rbs/buffer.rb#59 + # source://rbs//lib/rbs/buffer.rb#59 def last_position; end - # source://rbs/lib/rbs/buffer.rb#13 + # source://rbs//lib/rbs/buffer.rb#13 def lines; end - # source://rbs/lib/rbs/buffer.rb#49 + # source://rbs//lib/rbs/buffer.rb#49 def loc_to_pos(loc); end # Returns the value of attribute name. # - # source://rbs/lib/rbs/buffer.rb#5 + # source://rbs//lib/rbs/buffer.rb#5 def name; end - # source://rbs/lib/rbs/buffer.rb#37 + # source://rbs//lib/rbs/buffer.rb#37 def pos_to_loc(pos); end - # source://rbs/lib/rbs/buffer.rb#17 + # source://rbs//lib/rbs/buffer.rb#17 def ranges; end end -# source://rbs/lib/rbs/builtin_names.rb#4 +# source://rbs//lib/rbs/builtin_names.rb#4 module RBS::BuiltinNames; end -# source://rbs/lib/rbs/builtin_names.rb#45 +# source://rbs//lib/rbs/builtin_names.rb#45 RBS::BuiltinNames::Array = T.let(T.unsafe(nil), RBS::BuiltinNames::Name) -# source://rbs/lib/rbs/builtin_names.rb#37 +# source://rbs//lib/rbs/builtin_names.rb#37 RBS::BuiltinNames::BasicObject = T.let(T.unsafe(nil), RBS::BuiltinNames::Name) -# source://rbs/lib/rbs/builtin_names.rb#43 +# source://rbs//lib/rbs/builtin_names.rb#43 RBS::BuiltinNames::Class = T.let(T.unsafe(nil), RBS::BuiltinNames::Name) -# source://rbs/lib/rbs/builtin_names.rb#41 +# source://rbs//lib/rbs/builtin_names.rb#41 RBS::BuiltinNames::Comparable = T.let(T.unsafe(nil), RBS::BuiltinNames::Name) -# source://rbs/lib/rbs/builtin_names.rb#42 +# source://rbs//lib/rbs/builtin_names.rb#42 RBS::BuiltinNames::Enumerable = T.let(T.unsafe(nil), RBS::BuiltinNames::Name) -# source://rbs/lib/rbs/builtin_names.rb#48 +# source://rbs//lib/rbs/builtin_names.rb#48 RBS::BuiltinNames::Enumerator = T.let(T.unsafe(nil), RBS::BuiltinNames::Name) -# source://rbs/lib/rbs/builtin_names.rb#55 +# source://rbs//lib/rbs/builtin_names.rb#55 RBS::BuiltinNames::FalseClass = T.let(T.unsafe(nil), RBS::BuiltinNames::Name) -# source://rbs/lib/rbs/builtin_names.rb#52 +# source://rbs//lib/rbs/builtin_names.rb#52 RBS::BuiltinNames::Float = T.let(T.unsafe(nil), RBS::BuiltinNames::Name) -# source://rbs/lib/rbs/builtin_names.rb#46 +# source://rbs//lib/rbs/builtin_names.rb#46 RBS::BuiltinNames::Hash = T.let(T.unsafe(nil), RBS::BuiltinNames::Name) -# source://rbs/lib/rbs/builtin_names.rb#51 +# source://rbs//lib/rbs/builtin_names.rb#51 RBS::BuiltinNames::Integer = T.let(T.unsafe(nil), RBS::BuiltinNames::Name) -# source://rbs/lib/rbs/builtin_names.rb#39 +# source://rbs//lib/rbs/builtin_names.rb#39 RBS::BuiltinNames::Kernel = T.let(T.unsafe(nil), RBS::BuiltinNames::Name) -# source://rbs/lib/rbs/builtin_names.rb#44 +# source://rbs//lib/rbs/builtin_names.rb#44 RBS::BuiltinNames::Module = T.let(T.unsafe(nil), RBS::BuiltinNames::Name) -# source://rbs/lib/rbs/builtin_names.rb#5 +# source://rbs//lib/rbs/builtin_names.rb#5 class RBS::BuiltinNames::Name # @return [Name] a new instance of Name # - # source://rbs/lib/rbs/builtin_names.rb#8 + # source://rbs//lib/rbs/builtin_names.rb#8 def initialize(name:); end - # source://rbs/lib/rbs/builtin_names.rb#16 + # source://rbs//lib/rbs/builtin_names.rb#16 def instance_type(*args); end # @return [Boolean] # - # source://rbs/lib/rbs/builtin_names.rb#20 + # source://rbs//lib/rbs/builtin_names.rb#20 def instance_type?(type); end # Returns the value of attribute name. # - # source://rbs/lib/rbs/builtin_names.rb#6 + # source://rbs//lib/rbs/builtin_names.rb#6 def name; end - # source://rbs/lib/rbs/builtin_names.rb#24 + # source://rbs//lib/rbs/builtin_names.rb#24 def singleton_type; end # @return [Boolean] # - # source://rbs/lib/rbs/builtin_names.rb#28 + # source://rbs//lib/rbs/builtin_names.rb#28 def singleton_type?(type); end - # source://rbs/lib/rbs/builtin_names.rb#12 + # source://rbs//lib/rbs/builtin_names.rb#12 def to_s; end class << self - # source://rbs/lib/rbs/builtin_names.rb#32 + # source://rbs//lib/rbs/builtin_names.rb#32 def define(name, namespace: T.unsafe(nil)); end end end -# source://rbs/lib/rbs/builtin_names.rb#56 +# source://rbs//lib/rbs/builtin_names.rb#56 RBS::BuiltinNames::Numeric = T.let(T.unsafe(nil), RBS::BuiltinNames::Name) -# source://rbs/lib/rbs/builtin_names.rb#38 +# source://rbs//lib/rbs/builtin_names.rb#38 RBS::BuiltinNames::Object = T.let(T.unsafe(nil), RBS::BuiltinNames::Name) -# source://rbs/lib/rbs/builtin_names.rb#47 +# source://rbs//lib/rbs/builtin_names.rb#47 RBS::BuiltinNames::Range = T.let(T.unsafe(nil), RBS::BuiltinNames::Name) -# source://rbs/lib/rbs/builtin_names.rb#53 +# source://rbs//lib/rbs/builtin_names.rb#53 RBS::BuiltinNames::Regexp = T.let(T.unsafe(nil), RBS::BuiltinNames::Name) -# source://rbs/lib/rbs/builtin_names.rb#49 +# source://rbs//lib/rbs/builtin_names.rb#49 RBS::BuiltinNames::Set = T.let(T.unsafe(nil), RBS::BuiltinNames::Name) -# source://rbs/lib/rbs/builtin_names.rb#40 +# source://rbs//lib/rbs/builtin_names.rb#40 RBS::BuiltinNames::String = T.let(T.unsafe(nil), RBS::BuiltinNames::Name) -# source://rbs/lib/rbs/builtin_names.rb#50 +# source://rbs//lib/rbs/builtin_names.rb#50 RBS::BuiltinNames::Symbol = T.let(T.unsafe(nil), RBS::BuiltinNames::Name) -# source://rbs/lib/rbs/builtin_names.rb#54 +# source://rbs//lib/rbs/builtin_names.rb#54 RBS::BuiltinNames::TrueClass = T.let(T.unsafe(nil), RBS::BuiltinNames::Name) -# source://rbs/lib/rbs/cli/colored_io.rb#4 +# source://rbs//lib/rbs/cli/colored_io.rb#4 class RBS::CLI; end -# source://rbs/lib/rbs/cli/colored_io.rb#5 +# source://rbs//lib/rbs/cli/colored_io.rb#5 class RBS::CLI::ColoredIO # @return [ColoredIO] a new instance of ColoredIO # - # source://rbs/lib/rbs/cli/colored_io.rb#8 + # source://rbs//lib/rbs/cli/colored_io.rb#8 def initialize(stdout:); end - # source://rbs/lib/rbs/cli/colored_io.rb#28 + # source://rbs//lib/rbs/cli/colored_io.rb#28 def puts(*_arg0, **_arg1, &_arg2); end - # source://rbs/lib/rbs/cli/colored_io.rb#20 + # source://rbs//lib/rbs/cli/colored_io.rb#20 def puts_green(string); end - # source://rbs/lib/rbs/cli/colored_io.rb#12 + # source://rbs//lib/rbs/cli/colored_io.rb#12 def puts_red(string); end # Returns the value of attribute stdout. # - # source://rbs/lib/rbs/cli/colored_io.rb#6 + # source://rbs//lib/rbs/cli/colored_io.rb#6 def stdout; end private # @return [Boolean] # - # source://rbs/lib/rbs/cli/colored_io.rb#43 + # source://rbs//lib/rbs/cli/colored_io.rb#43 def are_colors_disabled?; end # @return [Boolean] # - # source://rbs/lib/rbs/cli/colored_io.rb#39 + # source://rbs//lib/rbs/cli/colored_io.rb#39 def are_colors_supported?; end # https://github.com/rubygems/rubygems/blob/ed65279100234a17d65d71fe26de5083984ac5b8/bundler/lib/bundler/vendor/thor/lib/thor/shell/color.rb#L99-L109 # # @return [Boolean] # - # source://rbs/lib/rbs/cli/colored_io.rb#35 + # source://rbs//lib/rbs/cli/colored_io.rb#35 def can_display_colors?; end end -# source://rbs/lib/rbs/collection/sources/base.rb#4 +# source://rbs//lib/rbs/collection/sources/base.rb#4 module RBS::Collection; end -# source://rbs/lib/rbs/collection/cleaner.rb#5 +# source://rbs//lib/rbs/collection/cleaner.rb#5 class RBS::Collection::Cleaner # @return [Cleaner] a new instance of Cleaner # - # source://rbs/lib/rbs/collection/cleaner.rb#8 + # source://rbs//lib/rbs/collection/cleaner.rb#8 def initialize(lockfile_path:); end - # source://rbs/lib/rbs/collection/cleaner.rb#12 + # source://rbs//lib/rbs/collection/cleaner.rb#12 def clean; end # Returns the value of attribute lock. # - # source://rbs/lib/rbs/collection/cleaner.rb#6 + # source://rbs//lib/rbs/collection/cleaner.rb#6 def lock; end # @return [Boolean] # - # source://rbs/lib/rbs/collection/cleaner.rb#30 + # source://rbs//lib/rbs/collection/cleaner.rb#30 def needed?(gem_name, version); end end # This class represent the configuration file. # -# source://rbs/lib/rbs/collection/config.rb#7 +# source://rbs//lib/rbs/collection/config.rb#7 class RBS::Collection::Config # @return [Config] a new instance of Config # - # source://rbs/lib/rbs/collection/config.rb#49 + # source://rbs//lib/rbs/collection/config.rb#49 def initialize(data, config_path:); end # Returns the value of attribute config_path. # - # source://rbs/lib/rbs/collection/config.rb#19 + # source://rbs//lib/rbs/collection/config.rb#19 def config_path; end # Returns the value of attribute data. # - # source://rbs/lib/rbs/collection/config.rb#19 + # source://rbs//lib/rbs/collection/config.rb#19 def data; end - # source://rbs/lib/rbs/collection/config.rb#54 + # source://rbs//lib/rbs/collection/config.rb#54 def gem(gem_name); end - # source://rbs/lib/rbs/collection/config.rb#74 + # source://rbs//lib/rbs/collection/config.rb#74 def gems; end - # source://rbs/lib/rbs/collection/config.rb#58 + # source://rbs//lib/rbs/collection/config.rb#58 def repo_path; end - # source://rbs/lib/rbs/collection/config.rb#62 + # source://rbs//lib/rbs/collection/config.rb#62 def repo_path_data; end - # source://rbs/lib/rbs/collection/config.rb#66 + # source://rbs//lib/rbs/collection/config.rb#66 def sources; end class << self - # source://rbs/lib/rbs/collection/config.rb#21 + # source://rbs//lib/rbs/collection/config.rb#21 def find_config_path; end - # source://rbs/lib/rbs/collection/config.rb#41 + # source://rbs//lib/rbs/collection/config.rb#41 def from_path(path); end # Generate a rbs lockfile from Gemfile.lock to `config_path`. # If `with_lockfile` is true, it respects existing rbs lockfile. # - # source://rbs/lib/rbs/collection/config.rb#34 + # source://rbs//lib/rbs/collection/config.rb#34 def generate_lockfile(config_path:, definition:, with_lockfile: T.unsafe(nil)); end - # source://rbs/lib/rbs/collection/config.rb#45 + # source://rbs//lib/rbs/collection/config.rb#45 def to_lockfile_path(config_path); end end end -# source://rbs/lib/rbs/collection/config.rb#8 +# source://rbs//lib/rbs/collection/config.rb#8 class RBS::Collection::Config::CollectionNotAvailable < ::StandardError # @return [CollectionNotAvailable] a new instance of CollectionNotAvailable # - # source://rbs/lib/rbs/collection/config.rb#9 + # source://rbs//lib/rbs/collection/config.rb#9 def initialize; end end -# source://rbs/lib/rbs/collection/config/lockfile.rb#6 +# source://rbs//lib/rbs/collection/config/lockfile.rb#6 class RBS::Collection::Config::Lockfile # @return [Lockfile] a new instance of Lockfile # - # source://rbs/lib/rbs/collection/config/lockfile.rb#9 + # source://rbs//lib/rbs/collection/config/lockfile.rb#9 def initialize(lockfile_path:, path:, gemfile_lock_path:); end # @raise [CollectionNotAvailable] # - # source://rbs/lib/rbs/collection/config/lockfile.rb#73 + # source://rbs//lib/rbs/collection/config/lockfile.rb#73 def check_rbs_availability!; end - # source://rbs/lib/rbs/collection/config/lockfile.rb#18 + # source://rbs//lib/rbs/collection/config/lockfile.rb#18 def fullpath; end - # source://rbs/lib/rbs/collection/config/lockfile.rb#22 + # source://rbs//lib/rbs/collection/config/lockfile.rb#22 def gemfile_lock_fullpath; end # Returns the value of attribute gemfile_lock_path. # - # source://rbs/lib/rbs/collection/config/lockfile.rb#7 + # source://rbs//lib/rbs/collection/config/lockfile.rb#7 def gemfile_lock_path; end # Returns the value of attribute gems. # - # source://rbs/lib/rbs/collection/config/lockfile.rb#7 + # source://rbs//lib/rbs/collection/config/lockfile.rb#7 def gems; end - # source://rbs/lib/rbs/collection/config/lockfile.rb#65 + # source://rbs//lib/rbs/collection/config/lockfile.rb#65 def library_data(lib); end # Returns the value of attribute lockfile_dir. # - # source://rbs/lib/rbs/collection/config/lockfile.rb#7 + # source://rbs//lib/rbs/collection/config/lockfile.rb#7 def lockfile_dir; end # Returns the value of attribute lockfile_path. # - # source://rbs/lib/rbs/collection/config/lockfile.rb#7 + # source://rbs//lib/rbs/collection/config/lockfile.rb#7 def lockfile_path; end # Returns the value of attribute path. # - # source://rbs/lib/rbs/collection/config/lockfile.rb#7 + # source://rbs//lib/rbs/collection/config/lockfile.rb#7 def path; end # Returns the value of attribute sources. # - # source://rbs/lib/rbs/collection/config/lockfile.rb#7 + # source://rbs//lib/rbs/collection/config/lockfile.rb#7 def sources; end - # source://rbs/lib/rbs/collection/config/lockfile.rb#28 + # source://rbs//lib/rbs/collection/config/lockfile.rb#28 def to_lockfile; end class << self - # source://rbs/lib/rbs/collection/config/lockfile.rb#42 + # source://rbs//lib/rbs/collection/config/lockfile.rb#42 def from_lockfile(lockfile_path:, data:); end end end -# source://rbs/lib/rbs/collection/config/lockfile_generator.rb#6 +# source://rbs//lib/rbs/collection/config/lockfile_generator.rb#6 class RBS::Collection::Config::LockfileGenerator # @return [LockfileGenerator] a new instance of LockfileGenerator # - # source://rbs/lib/rbs/collection/config/lockfile_generator.rb#33 + # source://rbs//lib/rbs/collection/config/lockfile_generator.rb#33 def initialize(config:, definition:, with_lockfile:); end # Returns the value of attribute config. # - # source://rbs/lib/rbs/collection/config/lockfile_generator.rb#25 + # source://rbs//lib/rbs/collection/config/lockfile_generator.rb#25 def config; end # Returns the value of attribute definition. # - # source://rbs/lib/rbs/collection/config/lockfile_generator.rb#25 + # source://rbs//lib/rbs/collection/config/lockfile_generator.rb#25 def definition; end # Returns the value of attribute existing_lockfile. # - # source://rbs/lib/rbs/collection/config/lockfile_generator.rb#25 + # source://rbs//lib/rbs/collection/config/lockfile_generator.rb#25 def existing_lockfile; end # Returns the value of attribute gem_entries. # - # source://rbs/lib/rbs/collection/config/lockfile_generator.rb#25 + # source://rbs//lib/rbs/collection/config/lockfile_generator.rb#25 def gem_entries; end # Returns the value of attribute gem_hash. # - # source://rbs/lib/rbs/collection/config/lockfile_generator.rb#25 + # source://rbs//lib/rbs/collection/config/lockfile_generator.rb#25 def gem_hash; end - # source://rbs/lib/rbs/collection/config/lockfile_generator.rb#61 + # source://rbs//lib/rbs/collection/config/lockfile_generator.rb#61 def generate; end # Returns the value of attribute lockfile. # - # source://rbs/lib/rbs/collection/config/lockfile_generator.rb#25 + # source://rbs//lib/rbs/collection/config/lockfile_generator.rb#25 def lockfile; end private - # source://rbs/lib/rbs/collection/config/lockfile_generator.rb#94 + # source://rbs//lib/rbs/collection/config/lockfile_generator.rb#94 def assign_gem(name:, version:, skip: T.unsafe(nil)); end - # source://rbs/lib/rbs/collection/config/lockfile_generator.rb#160 + # source://rbs//lib/rbs/collection/config/lockfile_generator.rb#160 def assign_stdlib(name:, from_gem: T.unsafe(nil)); end - # source://rbs/lib/rbs/collection/config/lockfile_generator.rb#213 + # source://rbs//lib/rbs/collection/config/lockfile_generator.rb#213 def find_best_version(version:, versions:); end - # source://rbs/lib/rbs/collection/config/lockfile_generator.rb#207 + # source://rbs//lib/rbs/collection/config/lockfile_generator.rb#207 def find_source(name:); end - # source://rbs/lib/rbs/collection/config/lockfile_generator.rb#86 + # source://rbs//lib/rbs/collection/config/lockfile_generator.rb#86 def validate_gemfile_lock_path!(lock:, gemfile_lock_path:); end class << self - # source://rbs/lib/rbs/collection/config/lockfile_generator.rb#27 + # source://rbs//lib/rbs/collection/config/lockfile_generator.rb#27 def generate(config:, definition:, with_lockfile: T.unsafe(nil)); end end end -# source://rbs/lib/rbs/collection/config/lockfile_generator.rb#7 +# source://rbs//lib/rbs/collection/config/lockfile_generator.rb#7 RBS::Collection::Config::LockfileGenerator::ALUMNI_STDLIBS = T.let(T.unsafe(nil), Hash) -# source://rbs/lib/rbs/collection/config/lockfile_generator.rb#9 +# source://rbs//lib/rbs/collection/config/lockfile_generator.rb#9 class RBS::Collection::Config::LockfileGenerator::GemfileLockMismatchError < ::StandardError # @return [GemfileLockMismatchError] a new instance of GemfileLockMismatchError # - # source://rbs/lib/rbs/collection/config/lockfile_generator.rb#10 + # source://rbs//lib/rbs/collection/config/lockfile_generator.rb#10 def initialize(expected:, actual:); end - # source://rbs/lib/rbs/collection/config/lockfile_generator.rb#15 + # source://rbs//lib/rbs/collection/config/lockfile_generator.rb#15 def message; end end -# source://rbs/lib/rbs/collection/config.rb#17 +# source://rbs//lib/rbs/collection/config.rb#17 RBS::Collection::Config::PATH = T.let(T.unsafe(nil), Pathname) -# source://rbs/lib/rbs/collection/installer.rb#5 +# source://rbs//lib/rbs/collection/installer.rb#5 class RBS::Collection::Installer # @return [Installer] a new instance of Installer # - # source://rbs/lib/rbs/collection/installer.rb#9 + # source://rbs//lib/rbs/collection/installer.rb#9 def initialize(lockfile_path:, stdout: T.unsafe(nil)); end - # source://rbs/lib/rbs/collection/installer.rb#14 + # source://rbs//lib/rbs/collection/installer.rb#14 def install_from_lockfile; end # Returns the value of attribute lockfile. # - # source://rbs/lib/rbs/collection/installer.rb#6 + # source://rbs//lib/rbs/collection/installer.rb#6 def lockfile; end # Returns the value of attribute stdout. # - # source://rbs/lib/rbs/collection/installer.rb#7 + # source://rbs//lib/rbs/collection/installer.rb#7 def stdout; end end -# source://rbs/lib/rbs/collection/sources/base.rb#5 +# source://rbs//lib/rbs/collection/sources/base.rb#5 module RBS::Collection::Sources class << self - # source://rbs/lib/rbs/collection/sources.rb#12 + # source://rbs//lib/rbs/collection/sources.rb#12 def from_config_entry(source_entry, base_directory:); end end end -# source://rbs/lib/rbs/collection/sources/base.rb#6 +# source://rbs//lib/rbs/collection/sources/base.rb#6 module RBS::Collection::Sources::Base - # source://rbs/lib/rbs/collection/sources/base.rb#7 + # source://rbs//lib/rbs/collection/sources/base.rb#7 def dependencies_of(name, version); end end -# source://rbs/lib/rbs/collection/sources/git.rb#10 +# source://rbs//lib/rbs/collection/sources/git.rb#10 class RBS::Collection::Sources::Git include ::RBS::Collection::Sources::Base # @return [Git] a new instance of Git # - # source://rbs/lib/rbs/collection/sources/git.rb#18 + # source://rbs//lib/rbs/collection/sources/git.rb#18 def initialize(name:, revision:, remote:, repo_dir:); end # @return [Boolean] # - # source://rbs/lib/rbs/collection/sources/git.rb#26 + # source://rbs//lib/rbs/collection/sources/git.rb#26 def has?(name, version); end - # source://rbs/lib/rbs/collection/sources/git.rb#43 + # source://rbs//lib/rbs/collection/sources/git.rb#43 def install(dest:, name:, version:, stdout:); end - # source://rbs/lib/rbs/collection/sources/git.rb#223 + # source://rbs//lib/rbs/collection/sources/git.rb#223 def load_metadata(dir:); end - # source://rbs/lib/rbs/collection/sources/git.rb#73 + # source://rbs//lib/rbs/collection/sources/git.rb#73 def manifest_of(name, version); end - # source://rbs/lib/rbs/collection/sources/git.rb#207 + # source://rbs//lib/rbs/collection/sources/git.rb#207 def metadata_content(name:, version:); end # Returns the value of attribute name. # - # source://rbs/lib/rbs/collection/sources/git.rb#16 + # source://rbs//lib/rbs/collection/sources/git.rb#16 def name; end # Returns the value of attribute remote. # - # source://rbs/lib/rbs/collection/sources/git.rb#16 + # source://rbs//lib/rbs/collection/sources/git.rb#16 def remote; end # Returns the value of attribute repo_dir. # - # source://rbs/lib/rbs/collection/sources/git.rb#16 + # source://rbs//lib/rbs/collection/sources/git.rb#16 def repo_dir; end - # source://rbs/lib/rbs/collection/sources/git.rb#172 + # source://rbs//lib/rbs/collection/sources/git.rb#172 def resolved_revision; end # Returns the value of attribute revision. # - # source://rbs/lib/rbs/collection/sources/git.rb#16 + # source://rbs//lib/rbs/collection/sources/git.rb#16 def revision; end - # source://rbs/lib/rbs/collection/sources/git.rb#113 + # source://rbs//lib/rbs/collection/sources/git.rb#113 def to_lockfile; end - # source://rbs/lib/rbs/collection/sources/git.rb#36 + # source://rbs//lib/rbs/collection/sources/git.rb#36 def versions(name); end - # source://rbs/lib/rbs/collection/sources/git.rb#215 + # source://rbs//lib/rbs/collection/sources/git.rb#215 def write_metadata(dir:, name:, version:); end private - # source://rbs/lib/rbs/collection/sources/git.rb#87 + # source://rbs//lib/rbs/collection/sources/git.rb#87 def _install(dest:, name:, version:); end # @return [Boolean] # - # source://rbs/lib/rbs/collection/sources/git.rb#183 + # source://rbs//lib/rbs/collection/sources/git.rb#183 def commit_hash?; end - # source://rbs/lib/rbs/collection/sources/git.rb#99 + # source://rbs//lib/rbs/collection/sources/git.rb#99 def cp_r(src, dest); end - # source://rbs/lib/rbs/collection/sources/git.rb#123 + # source://rbs//lib/rbs/collection/sources/git.rb#123 def format_config_entry(name, version); end - # source://rbs/lib/rbs/collection/sources/git.rb#168 + # source://rbs//lib/rbs/collection/sources/git.rb#168 def gem_repo_dir; end - # source://rbs/lib/rbs/collection/sources/git.rb#229 + # source://rbs//lib/rbs/collection/sources/git.rb#229 def gems_versions; end - # source://rbs/lib/rbs/collection/sources/git.rb#187 + # source://rbs//lib/rbs/collection/sources/git.rb#187 def git(*cmd, **opt); end # @return [Boolean] # - # source://rbs/lib/rbs/collection/sources/git.rb#191 + # source://rbs//lib/rbs/collection/sources/git.rb#191 def git?(*cmd, **opt); end - # source://rbs/lib/rbs/collection/sources/git.rb#158 + # source://rbs//lib/rbs/collection/sources/git.rb#158 def git_dir; end # @return [Boolean] # - # source://rbs/lib/rbs/collection/sources/git.rb#152 + # source://rbs//lib/rbs/collection/sources/git.rb#152 def need_to_fetch?(revision); end - # source://rbs/lib/rbs/collection/sources/git.rb#130 + # source://rbs//lib/rbs/collection/sources/git.rb#130 def setup!; end - # source://rbs/lib/rbs/collection/sources/git.rb#197 + # source://rbs//lib/rbs/collection/sources/git.rb#197 def sh!(*cmd, **opt); end end -# source://rbs/lib/rbs/collection/sources/git.rb#14 +# source://rbs//lib/rbs/collection/sources/git.rb#14 class RBS::Collection::Sources::Git::CommandError < ::StandardError; end -# source://rbs/lib/rbs/collection/sources/git.rb#12 +# source://rbs//lib/rbs/collection/sources/git.rb#12 RBS::Collection::Sources::Git::METADATA_FILENAME = T.let(T.unsafe(nil), String) -# source://rbs/lib/rbs/collection/sources/local.rb#6 +# source://rbs//lib/rbs/collection/sources/local.rb#6 class RBS::Collection::Sources::Local include ::RBS::Collection::Sources::Base # @return [Local] a new instance of Local # - # source://rbs/lib/rbs/collection/sources/local.rb#11 + # source://rbs//lib/rbs/collection/sources/local.rb#11 def initialize(path:, base_directory:); end # Returns the value of attribute full_path. # - # source://rbs/lib/rbs/collection/sources/local.rb#9 + # source://rbs//lib/rbs/collection/sources/local.rb#9 def full_path; end # @return [Boolean] # - # source://rbs/lib/rbs/collection/sources/local.rb#17 + # source://rbs//lib/rbs/collection/sources/local.rb#17 def has?(name, version); end # Create a symlink instead of copying file to refer files in @path. # By avoiding copying RBS files, the users do not need re-run `rbs collection install` # when the RBS files are updated. # - # source://rbs/lib/rbs/collection/sources/local.rb#32 + # source://rbs//lib/rbs/collection/sources/local.rb#32 def install(dest:, name:, version:, stdout:); end - # source://rbs/lib/rbs/collection/sources/local.rb#64 + # source://rbs//lib/rbs/collection/sources/local.rb#64 def manifest_of(name, version); end # Returns the value of attribute path. # - # source://rbs/lib/rbs/collection/sources/local.rb#9 + # source://rbs//lib/rbs/collection/sources/local.rb#9 def path; end - # source://rbs/lib/rbs/collection/sources/local.rb#72 + # source://rbs//lib/rbs/collection/sources/local.rb#72 def to_lockfile; end - # source://rbs/lib/rbs/collection/sources/local.rb#25 + # source://rbs//lib/rbs/collection/sources/local.rb#25 def versions(name); end private - # source://rbs/lib/rbs/collection/sources/local.rb#59 + # source://rbs//lib/rbs/collection/sources/local.rb#59 def _install(src, dst); end end # Signatures that are inclduded in gem package as sig/ directory. # -# source://rbs/lib/rbs/collection/sources/rubygems.rb#9 +# source://rbs//lib/rbs/collection/sources/rubygems.rb#9 class RBS::Collection::Sources::Rubygems include ::RBS::Collection::Sources::Base include ::Singleton @@ -1899,24 +1899,24 @@ class RBS::Collection::Sources::Rubygems # @return [Boolean] # - # source://rbs/lib/rbs/collection/sources/rubygems.rb#13 + # source://rbs//lib/rbs/collection/sources/rubygems.rb#13 def has?(name, version); end - # source://rbs/lib/rbs/collection/sources/rubygems.rb#23 + # source://rbs//lib/rbs/collection/sources/rubygems.rb#23 def install(dest:, name:, version:, stdout:); end - # source://rbs/lib/rbs/collection/sources/rubygems.rb#29 + # source://rbs//lib/rbs/collection/sources/rubygems.rb#29 def manifest_of(name, version); end - # source://rbs/lib/rbs/collection/sources/rubygems.rb#36 + # source://rbs//lib/rbs/collection/sources/rubygems.rb#36 def to_lockfile; end - # source://rbs/lib/rbs/collection/sources/rubygems.rb#17 + # source://rbs//lib/rbs/collection/sources/rubygems.rb#17 def versions(name); end private - # source://rbs/lib/rbs/collection/sources/rubygems.rb#42 + # source://rbs//lib/rbs/collection/sources/rubygems.rb#42 def gem_sig_path(name, version); end class << self @@ -1929,7 +1929,7 @@ end # signatures that are bundled in rbs gem under the stdlib/ directory # -# source://rbs/lib/rbs/collection/sources/stdlib.rb#9 +# source://rbs//lib/rbs/collection/sources/stdlib.rb#9 class RBS::Collection::Sources::Stdlib include ::RBS::Collection::Sources::Base include ::Singleton @@ -1937,24 +1937,24 @@ class RBS::Collection::Sources::Stdlib # @return [Boolean] # - # source://rbs/lib/rbs/collection/sources/stdlib.rb#15 + # source://rbs//lib/rbs/collection/sources/stdlib.rb#15 def has?(name, version); end - # source://rbs/lib/rbs/collection/sources/stdlib.rb#23 + # source://rbs//lib/rbs/collection/sources/stdlib.rb#23 def install(dest:, name:, version:, stdout:); end - # source://rbs/lib/rbs/collection/sources/stdlib.rb#29 + # source://rbs//lib/rbs/collection/sources/stdlib.rb#29 def manifest_of(name, version); end - # source://rbs/lib/rbs/collection/sources/stdlib.rb#38 + # source://rbs//lib/rbs/collection/sources/stdlib.rb#38 def to_lockfile; end - # source://rbs/lib/rbs/collection/sources/stdlib.rb#19 + # source://rbs//lib/rbs/collection/sources/stdlib.rb#19 def versions(name); end private - # source://rbs/lib/rbs/collection/sources/stdlib.rb#44 + # source://rbs//lib/rbs/collection/sources/stdlib.rb#44 def lookup(name, version); end class << self @@ -1965,1251 +1965,1251 @@ class RBS::Collection::Sources::Stdlib end end -# source://rbs/lib/rbs/collection/sources/stdlib.rb#13 +# source://rbs//lib/rbs/collection/sources/stdlib.rb#13 RBS::Collection::Sources::Stdlib::REPO = T.let(T.unsafe(nil), RBS::Repository) -# source://rbs/lib/rbs/constant.rb#4 +# source://rbs//lib/rbs/constant.rb#4 class RBS::Constant # @return [Constant] a new instance of Constant # - # source://rbs/lib/rbs/constant.rb#9 + # source://rbs//lib/rbs/constant.rb#9 def initialize(name:, type:, entry:); end - # source://rbs/lib/rbs/constant.rb#15 + # source://rbs//lib/rbs/constant.rb#15 def ==(other); end # Returns the value of attribute entry. # - # source://rbs/lib/rbs/constant.rb#7 + # source://rbs//lib/rbs/constant.rb#7 def entry; end - # source://rbs/lib/rbs/constant.rb#15 + # source://rbs//lib/rbs/constant.rb#15 def eql?(other); end - # source://rbs/lib/rbs/constant.rb#24 + # source://rbs//lib/rbs/constant.rb#24 def hash; end # Returns the value of attribute name. # - # source://rbs/lib/rbs/constant.rb#5 + # source://rbs//lib/rbs/constant.rb#5 def name; end # Returns the value of attribute type. # - # source://rbs/lib/rbs/constant.rb#6 + # source://rbs//lib/rbs/constant.rb#6 def type; end end -# source://rbs/lib/rbs/errors.rb#553 +# source://rbs//lib/rbs/errors.rb#553 class RBS::CyclicClassAliasDefinitionError < ::RBS::BaseError include ::RBS::DetailedMessageable # @return [CyclicClassAliasDefinitionError] a new instance of CyclicClassAliasDefinitionError # - # source://rbs/lib/rbs/errors.rb#558 + # source://rbs//lib/rbs/errors.rb#558 def initialize(entry); end # Returns the value of attribute alias_entry. # - # source://rbs/lib/rbs/errors.rb#556 + # source://rbs//lib/rbs/errors.rb#556 def alias_entry; end - # source://rbs/lib/rbs/errors.rb#564 + # source://rbs//lib/rbs/errors.rb#564 def location; end end -# source://rbs/lib/rbs/errors.rb#514 +# source://rbs//lib/rbs/errors.rb#514 class RBS::CyclicTypeParameterBound < ::RBS::BaseError include ::RBS::DetailedMessageable # @return [CyclicTypeParameterBound] a new instance of CyclicTypeParameterBound # - # source://rbs/lib/rbs/errors.rb#519 + # source://rbs//lib/rbs/errors.rb#519 def initialize(type_name:, method_name:, params:, location:); end # Returns the value of attribute location. # - # source://rbs/lib/rbs/errors.rb#517 + # source://rbs//lib/rbs/errors.rb#517 def location; end # Returns the value of attribute method_name. # - # source://rbs/lib/rbs/errors.rb#517 + # source://rbs//lib/rbs/errors.rb#517 def method_name; end # Returns the value of attribute params. # - # source://rbs/lib/rbs/errors.rb#517 + # source://rbs//lib/rbs/errors.rb#517 def params; end # Returns the value of attribute type_name. # - # source://rbs/lib/rbs/errors.rb#517 + # source://rbs//lib/rbs/errors.rb#517 def type_name; end end -# source://rbs/lib/rbs/definition.rb#4 +# source://rbs//lib/rbs/definition.rb#4 class RBS::Definition # @return [Definition] a new instance of Definition # - # source://rbs/lib/rbs/definition.rb#284 + # source://rbs//lib/rbs/definition.rb#284 def initialize(type_name:, entry:, self_type:, ancestors:); end # Returns the value of attribute ancestors. # - # source://rbs/lib/rbs/definition.rb#278 + # source://rbs//lib/rbs/definition.rb#278 def ancestors; end # @return [Boolean] # - # source://rbs/lib/rbs/definition.rb#307 + # source://rbs//lib/rbs/definition.rb#307 def class?; end # @return [Boolean] # - # source://rbs/lib/rbs/definition.rb#324 + # source://rbs//lib/rbs/definition.rb#324 def class_type?; end # Returns the value of attribute class_variables. # - # source://rbs/lib/rbs/definition.rb#282 + # source://rbs//lib/rbs/definition.rb#282 def class_variables; end - # source://rbs/lib/rbs/definition.rb#369 + # source://rbs//lib/rbs/definition.rb#369 def each_type(&block); end # Returns the value of attribute entry. # - # source://rbs/lib/rbs/definition.rb#277 + # source://rbs//lib/rbs/definition.rb#277 def entry; end # @return [Boolean] # - # source://rbs/lib/rbs/definition.rb#328 + # source://rbs//lib/rbs/definition.rb#328 def instance_type?; end # Returns the value of attribute instance_variables. # - # source://rbs/lib/rbs/definition.rb#281 + # source://rbs//lib/rbs/definition.rb#281 def instance_variables; end # @return [Boolean] # - # source://rbs/lib/rbs/definition.rb#315 + # source://rbs//lib/rbs/definition.rb#315 def interface?; end # @return [Boolean] # - # source://rbs/lib/rbs/definition.rb#332 + # source://rbs//lib/rbs/definition.rb#332 def interface_type?; end - # source://rbs/lib/rbs/definition.rb#359 + # source://rbs//lib/rbs/definition.rb#359 def map_method_type(&block); end # Returns the value of attribute methods. # - # source://rbs/lib/rbs/definition.rb#280 + # source://rbs//lib/rbs/definition.rb#280 def methods; end # @return [Boolean] # - # source://rbs/lib/rbs/definition.rb#311 + # source://rbs//lib/rbs/definition.rb#311 def module?; end # Returns the value of attribute self_type. # - # source://rbs/lib/rbs/definition.rb#279 + # source://rbs//lib/rbs/definition.rb#279 def self_type; end - # source://rbs/lib/rbs/definition.rb#349 + # source://rbs//lib/rbs/definition.rb#349 def sub(s); end # Returns the value of attribute type_name. # - # source://rbs/lib/rbs/definition.rb#276 + # source://rbs//lib/rbs/definition.rb#276 def type_name; end - # source://rbs/lib/rbs/definition.rb#336 + # source://rbs//lib/rbs/definition.rb#336 def type_params; end - # source://rbs/lib/rbs/definition.rb#340 + # source://rbs//lib/rbs/definition.rb#340 def type_params_decl; end end -# source://rbs/lib/rbs/definition.rb#191 +# source://rbs//lib/rbs/definition.rb#191 module RBS::Definition::Ancestor; end -# source://rbs/lib/rbs/definition.rb#192 +# source://rbs//lib/rbs/definition.rb#192 class RBS::Definition::Ancestor::Instance # @return [Instance] a new instance of Instance # - # source://rbs/lib/rbs/definition.rb#195 + # source://rbs//lib/rbs/definition.rb#195 def initialize(name:, args:, source:); end - # source://rbs/lib/rbs/definition.rb#201 + # source://rbs//lib/rbs/definition.rb#201 def ==(other); end # Returns the value of attribute args. # - # source://rbs/lib/rbs/definition.rb#193 + # source://rbs//lib/rbs/definition.rb#193 def args; end - # source://rbs/lib/rbs/definition.rb#201 + # source://rbs//lib/rbs/definition.rb#201 def eql?(other); end - # source://rbs/lib/rbs/definition.rb#207 + # source://rbs//lib/rbs/definition.rb#207 def hash; end # Returns the value of attribute name. # - # source://rbs/lib/rbs/definition.rb#193 + # source://rbs//lib/rbs/definition.rb#193 def name; end # Returns the value of attribute source. # - # source://rbs/lib/rbs/definition.rb#193 + # source://rbs//lib/rbs/definition.rb#193 def source; end end -# source://rbs/lib/rbs/definition.rb#212 +# source://rbs//lib/rbs/definition.rb#212 class RBS::Definition::Ancestor::Singleton # @return [Singleton] a new instance of Singleton # - # source://rbs/lib/rbs/definition.rb#215 + # source://rbs//lib/rbs/definition.rb#215 def initialize(name:); end - # source://rbs/lib/rbs/definition.rb#219 + # source://rbs//lib/rbs/definition.rb#219 def ==(other); end - # source://rbs/lib/rbs/definition.rb#219 + # source://rbs//lib/rbs/definition.rb#219 def eql?(other); end - # source://rbs/lib/rbs/definition.rb#225 + # source://rbs//lib/rbs/definition.rb#225 def hash; end # Returns the value of attribute name. # - # source://rbs/lib/rbs/definition.rb#213 + # source://rbs//lib/rbs/definition.rb#213 def name; end end -# source://rbs/lib/rbs/definition.rb#231 +# source://rbs//lib/rbs/definition.rb#231 class RBS::Definition::InstanceAncestors # @return [InstanceAncestors] a new instance of InstanceAncestors # - # source://rbs/lib/rbs/definition.rb#236 + # source://rbs//lib/rbs/definition.rb#236 def initialize(type_name:, params:, ancestors:); end # Returns the value of attribute ancestors. # - # source://rbs/lib/rbs/definition.rb#234 + # source://rbs//lib/rbs/definition.rb#234 def ancestors; end - # source://rbs/lib/rbs/definition.rb#242 + # source://rbs//lib/rbs/definition.rb#242 def apply(args, env:, location:); end # Returns the value of attribute params. # - # source://rbs/lib/rbs/definition.rb#233 + # source://rbs//lib/rbs/definition.rb#233 def params; end # Returns the value of attribute type_name. # - # source://rbs/lib/rbs/definition.rb#232 + # source://rbs//lib/rbs/definition.rb#232 def type_name; end end -# source://rbs/lib/rbs/definition.rb#25 +# source://rbs//lib/rbs/definition.rb#25 class RBS::Definition::Method # @return [Method] a new instance of Method # - # source://rbs/lib/rbs/definition.rb#83 + # source://rbs//lib/rbs/definition.rb#83 def initialize(super_method:, defs:, accessibility:, alias_of:, annotations: T.unsafe(nil)); end - # source://rbs/lib/rbs/definition.rb#91 + # source://rbs//lib/rbs/definition.rb#91 def ==(other); end # Returns the value of attribute accessibility. # - # source://rbs/lib/rbs/definition.rb#79 + # source://rbs//lib/rbs/definition.rb#79 def accessibility; end # Returns the value of attribute alias_of. # - # source://rbs/lib/rbs/definition.rb#81 + # source://rbs//lib/rbs/definition.rb#81 def alias_of; end - # source://rbs/lib/rbs/definition.rb#128 + # source://rbs//lib/rbs/definition.rb#128 def annotations; end - # source://rbs/lib/rbs/definition.rb#124 + # source://rbs//lib/rbs/definition.rb#124 def comments; end - # source://rbs/lib/rbs/definition.rb#106 + # source://rbs//lib/rbs/definition.rb#106 def defined_in; end # Returns the value of attribute defs. # - # source://rbs/lib/rbs/definition.rb#78 + # source://rbs//lib/rbs/definition.rb#78 def defs; end - # source://rbs/lib/rbs/definition.rb#91 + # source://rbs//lib/rbs/definition.rb#91 def eql?(other); end # Returns the value of attribute extra_annotations. # - # source://rbs/lib/rbs/definition.rb#80 + # source://rbs//lib/rbs/definition.rb#80 def extra_annotations; end - # source://rbs/lib/rbs/definition.rb#102 + # source://rbs//lib/rbs/definition.rb#102 def hash; end - # source://rbs/lib/rbs/definition.rb#113 + # source://rbs//lib/rbs/definition.rb#113 def implemented_in; end - # source://rbs/lib/rbs/definition.rb#171 + # source://rbs//lib/rbs/definition.rb#171 def map_method_type(&block); end - # source://rbs/lib/rbs/definition.rb#153 + # source://rbs//lib/rbs/definition.rb#153 def map_type(&block); end - # source://rbs/lib/rbs/definition.rb#162 + # source://rbs//lib/rbs/definition.rb#162 def map_type_bound(&block); end - # source://rbs/lib/rbs/definition.rb#132 + # source://rbs//lib/rbs/definition.rb#132 def members; end - # source://rbs/lib/rbs/definition.rb#120 + # source://rbs//lib/rbs/definition.rb#120 def method_types; end # @return [Boolean] # - # source://rbs/lib/rbs/definition.rb#140 + # source://rbs//lib/rbs/definition.rb#140 def private?; end # @return [Boolean] # - # source://rbs/lib/rbs/definition.rb#136 + # source://rbs//lib/rbs/definition.rb#136 def public?; end - # source://rbs/lib/rbs/definition.rb#144 + # source://rbs//lib/rbs/definition.rb#144 def sub(s); end # Returns the value of attribute super_method. # - # source://rbs/lib/rbs/definition.rb#77 + # source://rbs//lib/rbs/definition.rb#77 def super_method; end - # source://rbs/lib/rbs/definition.rb#180 + # source://rbs//lib/rbs/definition.rb#180 def update(super_method: T.unsafe(nil), defs: T.unsafe(nil), accessibility: T.unsafe(nil), alias_of: T.unsafe(nil), annotations: T.unsafe(nil)); end end -# source://rbs/lib/rbs/definition.rb#26 +# source://rbs//lib/rbs/definition.rb#26 class RBS::Definition::Method::TypeDef # @return [TypeDef] a new instance of TypeDef # - # source://rbs/lib/rbs/definition.rb#35 + # source://rbs//lib/rbs/definition.rb#35 def initialize(type:, member:, defined_in:, implemented_in:, overload_annotations: T.unsafe(nil)); end - # source://rbs/lib/rbs/definition.rb#45 + # source://rbs//lib/rbs/definition.rb#45 def ==(other); end # Returns the value of attribute annotations. # - # source://rbs/lib/rbs/definition.rb#33 + # source://rbs//lib/rbs/definition.rb#33 def annotations; end - # source://rbs/lib/rbs/definition.rb#59 + # source://rbs//lib/rbs/definition.rb#59 def comment; end # Returns the value of attribute defined_in. # - # source://rbs/lib/rbs/definition.rb#29 + # source://rbs//lib/rbs/definition.rb#29 def defined_in; end - # source://rbs/lib/rbs/definition.rb#45 + # source://rbs//lib/rbs/definition.rb#45 def eql?(other); end - # source://rbs/lib/rbs/definition.rb#55 + # source://rbs//lib/rbs/definition.rb#55 def hash; end # Returns the value of attribute implemented_in. # - # source://rbs/lib/rbs/definition.rb#30 + # source://rbs//lib/rbs/definition.rb#30 def implemented_in; end # Returns the value of attribute member. # - # source://rbs/lib/rbs/definition.rb#28 + # source://rbs//lib/rbs/definition.rb#28 def member; end # Returns the value of attribute member_annotations. # - # source://rbs/lib/rbs/definition.rb#31 + # source://rbs//lib/rbs/definition.rb#31 def member_annotations; end # @return [Boolean] # - # source://rbs/lib/rbs/definition.rb#67 + # source://rbs//lib/rbs/definition.rb#67 def overload?; end # Returns the value of attribute overload_annotations. # - # source://rbs/lib/rbs/definition.rb#32 + # source://rbs//lib/rbs/definition.rb#32 def overload_annotations; end # Returns the value of attribute type. # - # source://rbs/lib/rbs/definition.rb#27 + # source://rbs//lib/rbs/definition.rb#27 def type; end - # source://rbs/lib/rbs/definition.rb#63 + # source://rbs//lib/rbs/definition.rb#63 def update(type: T.unsafe(nil), member: T.unsafe(nil), defined_in: T.unsafe(nil), implemented_in: T.unsafe(nil)); end end -# source://rbs/lib/rbs/definition.rb#266 +# source://rbs//lib/rbs/definition.rb#266 class RBS::Definition::SingletonAncestors # @return [SingletonAncestors] a new instance of SingletonAncestors # - # source://rbs/lib/rbs/definition.rb#270 + # source://rbs//lib/rbs/definition.rb#270 def initialize(type_name:, ancestors:); end # Returns the value of attribute ancestors. # - # source://rbs/lib/rbs/definition.rb#268 + # source://rbs//lib/rbs/definition.rb#268 def ancestors; end # Returns the value of attribute type_name. # - # source://rbs/lib/rbs/definition.rb#267 + # source://rbs//lib/rbs/definition.rb#267 def type_name; end end -# source://rbs/lib/rbs/definition.rb#5 +# source://rbs//lib/rbs/definition.rb#5 class RBS::Definition::Variable # @return [Variable] a new instance of Variable # - # source://rbs/lib/rbs/definition.rb#10 + # source://rbs//lib/rbs/definition.rb#10 def initialize(parent_variable:, type:, declared_in:); end # Returns the value of attribute declared_in. # - # source://rbs/lib/rbs/definition.rb#8 + # source://rbs//lib/rbs/definition.rb#8 def declared_in; end # Returns the value of attribute parent_variable. # - # source://rbs/lib/rbs/definition.rb#6 + # source://rbs//lib/rbs/definition.rb#6 def parent_variable; end - # source://rbs/lib/rbs/definition.rb#16 + # source://rbs//lib/rbs/definition.rb#16 def sub(s); end # Returns the value of attribute type. # - # source://rbs/lib/rbs/definition.rb#7 + # source://rbs//lib/rbs/definition.rb#7 def type; end end -# source://rbs/lib/rbs/definition_builder.rb#4 +# source://rbs//lib/rbs/definition_builder.rb#4 class RBS::DefinitionBuilder # @return [DefinitionBuilder] a new instance of DefinitionBuilder # - # source://rbs/lib/rbs/definition_builder.rb#14 + # source://rbs//lib/rbs/definition_builder.rb#14 def initialize(env:, ancestor_builder: T.unsafe(nil), method_builder: T.unsafe(nil)); end # Returns the value of attribute ancestor_builder. # - # source://rbs/lib/rbs/definition_builder.rb#6 + # source://rbs//lib/rbs/definition_builder.rb#6 def ancestor_builder; end - # source://rbs/lib/rbs/definition_builder.rb#168 + # source://rbs//lib/rbs/definition_builder.rb#168 def build_instance(type_name); end - # source://rbs/lib/rbs/definition_builder.rb#43 + # source://rbs//lib/rbs/definition_builder.rb#43 def build_interface(type_name); end - # source://rbs/lib/rbs/definition_builder.rb#301 + # source://rbs//lib/rbs/definition_builder.rb#301 def build_singleton(type_name); end # Builds a definition for singleton without .new method. # - # source://rbs/lib/rbs/definition_builder.rb#230 + # source://rbs//lib/rbs/definition_builder.rb#230 def build_singleton0(type_name); end - # source://rbs/lib/rbs/definition_builder.rb#85 + # source://rbs//lib/rbs/definition_builder.rb#85 def define_instance(definition, type_name, subst); end - # source://rbs/lib/rbs/definition_builder.rb#33 + # source://rbs//lib/rbs/definition_builder.rb#33 def define_interface(definition, type_name, subst); end - # source://rbs/lib/rbs/definition_builder.rb#607 + # source://rbs//lib/rbs/definition_builder.rb#607 def define_method(methods, definition, method, subst, self_type_methods, defined_in:, implemented_in: T.unsafe(nil)); end - # source://rbs/lib/rbs/definition_builder.rb#25 + # source://rbs//lib/rbs/definition_builder.rb#25 def ensure_namespace!(namespace, location:); end # Returns the value of attribute env. # - # source://rbs/lib/rbs/definition_builder.rb#5 + # source://rbs//lib/rbs/definition_builder.rb#5 def env; end - # source://rbs/lib/rbs/definition_builder.rb#770 + # source://rbs//lib/rbs/definition_builder.rb#770 def expand_alias(type_name); end - # source://rbs/lib/rbs/definition_builder.rb#774 + # source://rbs//lib/rbs/definition_builder.rb#774 def expand_alias1(type_name); end - # source://rbs/lib/rbs/definition_builder.rb#781 + # source://rbs//lib/rbs/definition_builder.rb#781 def expand_alias2(type_name, args); end - # source://rbs/lib/rbs/definition_builder.rb#546 + # source://rbs//lib/rbs/definition_builder.rb#546 def import_methods(definition, module_name, module_methods, interfaces_methods, subst, self_type_methods); end - # source://rbs/lib/rbs/definition_builder.rb#538 + # source://rbs//lib/rbs/definition_builder.rb#538 def insert_variable(type_name, variables, name:, type:); end # Returns the value of attribute instance_cache. # - # source://rbs/lib/rbs/definition_builder.rb#9 + # source://rbs//lib/rbs/definition_builder.rb#9 def instance_cache; end # Returns the value of attribute interface_cache. # - # source://rbs/lib/rbs/definition_builder.rb#12 + # source://rbs//lib/rbs/definition_builder.rb#12 def interface_cache; end - # source://rbs/lib/rbs/definition_builder.rb#412 + # source://rbs//lib/rbs/definition_builder.rb#412 def interface_methods(interface_ancestors); end # Returns the value of attribute method_builder. # - # source://rbs/lib/rbs/definition_builder.rb#7 + # source://rbs//lib/rbs/definition_builder.rb#7 def method_builder; end # Returns the value of attribute singleton0_cache. # - # source://rbs/lib/rbs/definition_builder.rb#11 + # source://rbs//lib/rbs/definition_builder.rb#11 def singleton0_cache; end # Returns the value of attribute singleton_cache. # - # source://rbs/lib/rbs/definition_builder.rb#10 + # source://rbs//lib/rbs/definition_builder.rb#10 def singleton_cache; end - # source://rbs/lib/rbs/definition_builder.rb#442 + # source://rbs//lib/rbs/definition_builder.rb#442 def source_location(source, decl); end - # source://rbs/lib/rbs/definition_builder.rb#66 + # source://rbs//lib/rbs/definition_builder.rb#66 def tapp_subst(name, args); end - # source://rbs/lib/rbs/definition_builder.rb#766 + # source://rbs//lib/rbs/definition_builder.rb#766 def try_cache(type_name, cache:); end - # source://rbs/lib/rbs/definition_builder.rb#805 + # source://rbs//lib/rbs/definition_builder.rb#805 def update(env:, except:, ancestor_builder:); end - # source://rbs/lib/rbs/definition_builder.rb#432 + # source://rbs//lib/rbs/definition_builder.rb#432 def validate_params_with(type_params, result:); end # @raise [NoTypeFoundError] # - # source://rbs/lib/rbs/definition_builder.rb#834 + # source://rbs//lib/rbs/definition_builder.rb#834 def validate_type_name(name, location); end - # source://rbs/lib/rbs/definition_builder.rb#456 + # source://rbs//lib/rbs/definition_builder.rb#456 def validate_type_params(definition, ancestors:, methods:); end - # source://rbs/lib/rbs/definition_builder.rb#823 + # source://rbs//lib/rbs/definition_builder.rb#823 def validate_type_presence(type); end end -# source://rbs/lib/rbs/definition_builder/ancestor_builder.rb#5 +# source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#5 class RBS::DefinitionBuilder::AncestorBuilder # @return [AncestorBuilder] a new instance of AncestorBuilder # - # source://rbs/lib/rbs/definition_builder/ancestor_builder.rb#162 + # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#162 def initialize(env:); end # Returns the value of attribute env. # - # source://rbs/lib/rbs/definition_builder/ancestor_builder.rb#151 + # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#151 def env; end - # source://rbs/lib/rbs/definition_builder/ancestor_builder.rb#606 + # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#606 def fill_ancestor_source(ancestor, name:, source:, &block); end - # source://rbs/lib/rbs/definition_builder/ancestor_builder.rb#434 + # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#434 def instance_ancestors(type_name, building_ancestors: T.unsafe(nil)); end # Returns the value of attribute instance_ancestors_cache. # - # source://rbs/lib/rbs/definition_builder/ancestor_builder.rb#154 + # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#154 def instance_ancestors_cache; end - # source://rbs/lib/rbs/definition_builder/ancestor_builder.rb#570 + # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#570 def interface_ancestors(type_name, building_ancestors: T.unsafe(nil)); end # Returns the value of attribute interface_ancestors_cache. # - # source://rbs/lib/rbs/definition_builder/ancestor_builder.rb#160 + # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#160 def interface_ancestors_cache; end - # source://rbs/lib/rbs/definition_builder/ancestor_builder.rb#414 + # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#414 def mixin_ancestors(entry, type_name, included_modules:, included_interfaces:, extended_modules:, prepended_modules:, extended_interfaces:); end - # source://rbs/lib/rbs/definition_builder/ancestor_builder.rb#348 + # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#348 def mixin_ancestors0(decl, type_name, align_params:, included_modules:, included_interfaces:, extended_modules:, prepended_modules:, extended_interfaces:); end - # source://rbs/lib/rbs/definition_builder/ancestor_builder.rb#192 + # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#192 def one_instance_ancestors(type_name); end # Returns the value of attribute one_instance_ancestors_cache. # - # source://rbs/lib/rbs/definition_builder/ancestor_builder.rb#153 + # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#153 def one_instance_ancestors_cache; end - # source://rbs/lib/rbs/definition_builder/ancestor_builder.rb#329 + # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#329 def one_interface_ancestors(type_name); end # Returns the value of attribute one_interface_ancestors_cache. # - # source://rbs/lib/rbs/definition_builder/ancestor_builder.rb#159 + # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#159 def one_interface_ancestors_cache; end - # source://rbs/lib/rbs/definition_builder/ancestor_builder.rb#275 + # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#275 def one_singleton_ancestors(type_name); end # Returns the value of attribute one_singleton_ancestors_cache. # - # source://rbs/lib/rbs/definition_builder/ancestor_builder.rb#156 + # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#156 def one_singleton_ancestors_cache; end - # source://rbs/lib/rbs/definition_builder/ancestor_builder.rb#515 + # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#515 def singleton_ancestors(type_name, building_ancestors: T.unsafe(nil)); end # Returns the value of attribute singleton_ancestors_cache. # - # source://rbs/lib/rbs/definition_builder/ancestor_builder.rb#157 + # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#157 def singleton_ancestors_cache; end # @raise [SuperclassMismatchError] # - # source://rbs/lib/rbs/definition_builder/ancestor_builder.rb#175 + # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#175 def validate_super_class!(type_name, entry); end end -# source://rbs/lib/rbs/definition_builder/ancestor_builder.rb#6 +# source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#6 class RBS::DefinitionBuilder::AncestorBuilder::OneAncestors # @return [OneAncestors] a new instance of OneAncestors # - # source://rbs/lib/rbs/definition_builder/ancestor_builder.rb#17 + # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#17 def initialize(type_name:, params:, super_class:, self_types:, included_modules:, included_interfaces:, prepended_modules:, extended_modules:, extended_interfaces:); end - # source://rbs/lib/rbs/definition_builder/ancestor_builder.rb#29 + # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#29 def each_ancestor(&block); end - # source://rbs/lib/rbs/definition_builder/ancestor_builder.rb#86 + # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#86 def each_extended_interface(&block); end - # source://rbs/lib/rbs/definition_builder/ancestor_builder.rb#78 + # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#78 def each_extended_module(&block); end - # source://rbs/lib/rbs/definition_builder/ancestor_builder.rb#62 + # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#62 def each_included_interface(&block); end - # source://rbs/lib/rbs/definition_builder/ancestor_builder.rb#54 + # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#54 def each_included_module(&block); end - # source://rbs/lib/rbs/definition_builder/ancestor_builder.rb#70 + # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#70 def each_prepended_module(&block); end - # source://rbs/lib/rbs/definition_builder/ancestor_builder.rb#46 + # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#46 def each_self_type(&block); end # Returns the value of attribute extended_interfaces. # - # source://rbs/lib/rbs/definition_builder/ancestor_builder.rb#15 + # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#15 def extended_interfaces; end # Returns the value of attribute extended_modules. # - # source://rbs/lib/rbs/definition_builder/ancestor_builder.rb#14 + # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#14 def extended_modules; end # Returns the value of attribute included_interfaces. # - # source://rbs/lib/rbs/definition_builder/ancestor_builder.rb#12 + # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#12 def included_interfaces; end # Returns the value of attribute included_modules. # - # source://rbs/lib/rbs/definition_builder/ancestor_builder.rb#11 + # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#11 def included_modules; end # Returns the value of attribute params. # - # source://rbs/lib/rbs/definition_builder/ancestor_builder.rb#8 + # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#8 def params; end # Returns the value of attribute prepended_modules. # - # source://rbs/lib/rbs/definition_builder/ancestor_builder.rb#13 + # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#13 def prepended_modules; end # Returns the value of attribute self_types. # - # source://rbs/lib/rbs/definition_builder/ancestor_builder.rb#10 + # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#10 def self_types; end # Returns the value of attribute super_class. # - # source://rbs/lib/rbs/definition_builder/ancestor_builder.rb#9 + # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#9 def super_class; end # Returns the value of attribute type_name. # - # source://rbs/lib/rbs/definition_builder/ancestor_builder.rb#7 + # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#7 def type_name; end class << self - # source://rbs/lib/rbs/definition_builder/ancestor_builder.rb#94 + # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#94 def class_instance(type_name:, params:, super_class:); end - # source://rbs/lib/rbs/definition_builder/ancestor_builder.rb#136 + # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#136 def interface(type_name:, params:); end - # source://rbs/lib/rbs/definition_builder/ancestor_builder.rb#122 + # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#122 def module_instance(type_name:, params:); end - # source://rbs/lib/rbs/definition_builder/ancestor_builder.rb#108 + # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#108 def singleton(type_name:, super_class:); end end end -# source://rbs/lib/rbs/definition_builder/method_builder.rb#5 +# source://rbs//lib/rbs/definition_builder/method_builder.rb#5 class RBS::DefinitionBuilder::MethodBuilder # @return [MethodBuilder] a new instance of MethodBuilder # - # source://rbs/lib/rbs/definition_builder/method_builder.rb#91 + # source://rbs//lib/rbs/definition_builder/method_builder.rb#91 def initialize(env:); end - # source://rbs/lib/rbs/definition_builder/method_builder.rb#194 + # source://rbs//lib/rbs/definition_builder/method_builder.rb#194 def build_alias(methods, type, member:); end - # source://rbs/lib/rbs/definition_builder/method_builder.rb#199 + # source://rbs//lib/rbs/definition_builder/method_builder.rb#199 def build_attribute(methods, type, member:, accessibility:); end - # source://rbs/lib/rbs/definition_builder/method_builder.rb#99 + # source://rbs//lib/rbs/definition_builder/method_builder.rb#99 def build_instance(type_name); end - # source://rbs/lib/rbs/definition_builder/method_builder.rb#174 + # source://rbs//lib/rbs/definition_builder/method_builder.rb#174 def build_interface(type_name); end - # source://rbs/lib/rbs/definition_builder/method_builder.rb#215 + # source://rbs//lib/rbs/definition_builder/method_builder.rb#215 def build_method(methods, type, member:, accessibility:); end - # source://rbs/lib/rbs/definition_builder/method_builder.rb#145 + # source://rbs//lib/rbs/definition_builder/method_builder.rb#145 def build_singleton(type_name); end - # source://rbs/lib/rbs/definition_builder/method_builder.rb#226 + # source://rbs//lib/rbs/definition_builder/method_builder.rb#226 def each_member_with_accessibility(members, accessibility: T.unsafe(nil)); end # Returns the value of attribute env. # - # source://rbs/lib/rbs/definition_builder/method_builder.rb#86 + # source://rbs//lib/rbs/definition_builder/method_builder.rb#86 def env; end # Returns the value of attribute instance_methods. # - # source://rbs/lib/rbs/definition_builder/method_builder.rb#87 + # source://rbs//lib/rbs/definition_builder/method_builder.rb#87 def instance_methods; end # Returns the value of attribute interface_methods. # - # source://rbs/lib/rbs/definition_builder/method_builder.rb#89 + # source://rbs//lib/rbs/definition_builder/method_builder.rb#89 def interface_methods; end # Returns the value of attribute singleton_methods. # - # source://rbs/lib/rbs/definition_builder/method_builder.rb#88 + # source://rbs//lib/rbs/definition_builder/method_builder.rb#88 def singleton_methods; end - # source://rbs/lib/rbs/definition_builder/method_builder.rb#239 + # source://rbs//lib/rbs/definition_builder/method_builder.rb#239 def update(env:, except:); end end -# source://rbs/lib/rbs/definition_builder/method_builder.rb#6 +# source://rbs//lib/rbs/definition_builder/method_builder.rb#6 class RBS::DefinitionBuilder::MethodBuilder::Methods # @return [Methods] a new instance of Methods # - # source://rbs/lib/rbs/definition_builder/method_builder.rb#30 + # source://rbs//lib/rbs/definition_builder/method_builder.rb#30 def initialize(type:); end - # source://rbs/lib/rbs/definition_builder/method_builder.rb#49 + # source://rbs//lib/rbs/definition_builder/method_builder.rb#49 def each; end # Returns the value of attribute methods. # - # source://rbs/lib/rbs/definition_builder/method_builder.rb#28 + # source://rbs//lib/rbs/definition_builder/method_builder.rb#28 def methods; end # Returns the value of attribute type. # - # source://rbs/lib/rbs/definition_builder/method_builder.rb#27 + # source://rbs//lib/rbs/definition_builder/method_builder.rb#27 def type; end - # source://rbs/lib/rbs/definition_builder/method_builder.rb#35 + # source://rbs//lib/rbs/definition_builder/method_builder.rb#35 def validate!; end end -# source://rbs/lib/rbs/definition_builder/method_builder.rb#7 +# source://rbs//lib/rbs/definition_builder/method_builder.rb#7 class RBS::DefinitionBuilder::MethodBuilder::Methods::Definition < ::Struct - # source://rbs/lib/rbs/definition_builder/method_builder.rb#14 + # source://rbs//lib/rbs/definition_builder/method_builder.rb#14 def accessibility; end - # source://rbs/lib/rbs/definition_builder/method_builder.rb#10 + # source://rbs//lib/rbs/definition_builder/method_builder.rb#10 def original; end class << self - # source://rbs/lib/rbs/definition_builder/method_builder.rb#22 + # source://rbs//lib/rbs/definition_builder/method_builder.rb#22 def empty(name:, type:); end end end -# source://rbs/lib/rbs/definition_builder/method_builder.rb#63 +# source://rbs//lib/rbs/definition_builder/method_builder.rb#63 class RBS::DefinitionBuilder::MethodBuilder::Methods::Sorter include ::TSort # @return [Sorter] a new instance of Sorter # - # source://rbs/lib/rbs/definition_builder/method_builder.rb#68 + # source://rbs//lib/rbs/definition_builder/method_builder.rb#68 def initialize(methods); end # Returns the value of attribute methods. # - # source://rbs/lib/rbs/definition_builder/method_builder.rb#66 + # source://rbs//lib/rbs/definition_builder/method_builder.rb#66 def methods; end - # source://rbs/lib/rbs/definition_builder/method_builder.rb#76 + # source://rbs//lib/rbs/definition_builder/method_builder.rb#76 def tsort_each_child(defn); end - # source://rbs/lib/rbs/definition_builder/method_builder.rb#72 + # source://rbs//lib/rbs/definition_builder/method_builder.rb#72 def tsort_each_node(&block); end end -# source://rbs/lib/rbs/errors.rb#21 +# source://rbs//lib/rbs/errors.rb#21 class RBS::DefinitionError < ::RBS::BaseError; end -# source://rbs/lib/rbs/errors.rb#23 +# source://rbs//lib/rbs/errors.rb#23 module RBS::DetailedMessageable - # source://rbs/lib/rbs/errors.rb#24 + # source://rbs//lib/rbs/errors.rb#24 def detailed_message(highlight: T.unsafe(nil), **_arg1); end end -# source://rbs/lib/rbs/diff.rb#4 +# source://rbs//lib/rbs/diff.rb#4 class RBS::Diff # @return [Diff] a new instance of Diff # - # source://rbs/lib/rbs/diff.rb#5 + # source://rbs//lib/rbs/diff.rb#5 def initialize(type_name:, library_options:, after_path: T.unsafe(nil), before_path: T.unsafe(nil), detail: T.unsafe(nil)); end - # source://rbs/lib/rbs/diff.rb#13 + # source://rbs//lib/rbs/diff.rb#13 def each_diff(&block); end private - # source://rbs/lib/rbs/diff.rb#96 + # source://rbs//lib/rbs/diff.rb#96 def build_builder(env); end - # source://rbs/lib/rbs/diff.rb#77 + # source://rbs//lib/rbs/diff.rb#77 def build_env(path); end - # source://rbs/lib/rbs/diff.rb#49 + # source://rbs//lib/rbs/diff.rb#49 def build_methods(path); end - # source://rbs/lib/rbs/diff.rb#116 + # source://rbs//lib/rbs/diff.rb#116 def constant_to_s(constant); end - # source://rbs/lib/rbs/diff.rb#100 + # source://rbs//lib/rbs/diff.rb#100 def definition_method_to_s(key, kind, definition_method); end - # source://rbs/lib/rbs/diff.rb#38 + # source://rbs//lib/rbs/diff.rb#38 def each_diff_constants(before_constant_children, after_constant_children); end - # source://rbs/lib/rbs/diff.rb#27 + # source://rbs//lib/rbs/diff.rb#27 def each_diff_methods(kind, before_methods, after_methods); end end -# source://rbs/lib/rbs/errors.rb#394 +# source://rbs//lib/rbs/errors.rb#394 class RBS::DuplicatedDeclarationError < ::RBS::LoadingError # @return [DuplicatedDeclarationError] a new instance of DuplicatedDeclarationError # - # source://rbs/lib/rbs/errors.rb#398 + # source://rbs//lib/rbs/errors.rb#398 def initialize(name, *decls); end # Returns the value of attribute decls. # - # source://rbs/lib/rbs/errors.rb#396 + # source://rbs//lib/rbs/errors.rb#396 def decls; end # Returns the value of attribute name. # - # source://rbs/lib/rbs/errors.rb#395 + # source://rbs//lib/rbs/errors.rb#395 def name; end end -# source://rbs/lib/rbs/errors.rb#292 +# source://rbs//lib/rbs/errors.rb#292 class RBS::DuplicatedInterfaceMethodDefinitionError < ::RBS::DefinitionError include ::RBS::DetailedMessageable # @return [DuplicatedInterfaceMethodDefinitionError] a new instance of DuplicatedInterfaceMethodDefinitionError # - # source://rbs/lib/rbs/errors.rb#299 + # source://rbs//lib/rbs/errors.rb#299 def initialize(type:, method_name:, member:); end - # source://rbs/lib/rbs/errors.rb#307 + # source://rbs//lib/rbs/errors.rb#307 def location; end # Returns the value of attribute member. # - # source://rbs/lib/rbs/errors.rb#297 + # source://rbs//lib/rbs/errors.rb#297 def member; end # Returns the value of attribute method_name. # - # source://rbs/lib/rbs/errors.rb#296 + # source://rbs//lib/rbs/errors.rb#296 def method_name; end - # source://rbs/lib/rbs/errors.rb#311 + # source://rbs//lib/rbs/errors.rb#311 def qualified_method_name; end # Returns the value of attribute type. # - # source://rbs/lib/rbs/errors.rb#295 + # source://rbs//lib/rbs/errors.rb#295 def type; end - # source://rbs/lib/rbs/errors.rb#320 + # source://rbs//lib/rbs/errors.rb#320 def type_name; end end -# source://rbs/lib/rbs/errors.rb#251 +# source://rbs//lib/rbs/errors.rb#251 class RBS::DuplicatedMethodDefinitionError < ::RBS::DefinitionError include ::RBS::DetailedMessageable # @return [DuplicatedMethodDefinitionError] a new instance of DuplicatedMethodDefinitionError # - # source://rbs/lib/rbs/errors.rb#258 + # source://rbs//lib/rbs/errors.rb#258 def initialize(type:, method_name:, members:); end - # source://rbs/lib/rbs/errors.rb#283 + # source://rbs//lib/rbs/errors.rb#283 def location; end # Returns the value of attribute members. # - # source://rbs/lib/rbs/errors.rb#256 + # source://rbs//lib/rbs/errors.rb#256 def members; end # Returns the value of attribute method_name. # - # source://rbs/lib/rbs/errors.rb#255 + # source://rbs//lib/rbs/errors.rb#255 def method_name; end - # source://rbs/lib/rbs/errors.rb#287 + # source://rbs//lib/rbs/errors.rb#287 def other_locations; end - # source://rbs/lib/rbs/errors.rb#270 + # source://rbs//lib/rbs/errors.rb#270 def qualified_method_name; end # Returns the value of attribute type. # - # source://rbs/lib/rbs/errors.rb#254 + # source://rbs//lib/rbs/errors.rb#254 def type; end - # source://rbs/lib/rbs/errors.rb#279 + # source://rbs//lib/rbs/errors.rb#279 def type_name; end end -# source://rbs/lib/rbs/environment.rb#4 +# source://rbs//lib/rbs/environment.rb#4 class RBS::Environment # @return [Environment] a new instance of Environment # - # source://rbs/lib/rbs/environment.rb#145 + # source://rbs//lib/rbs/environment.rb#145 def initialize; end - # source://rbs/lib/rbs/environment.rb#470 + # source://rbs//lib/rbs/environment.rb#470 def <<(decl); end - # source://rbs/lib/rbs/environment.rb#792 + # source://rbs//lib/rbs/environment.rb#792 def absolute_type(resolver, map, type, context:); end - # source://rbs/lib/rbs/environment.rb#787 + # source://rbs//lib/rbs/environment.rb#787 def absolute_type_name(resolver, map, type_name, context:); end - # source://rbs/lib/rbs/environment.rb#476 + # source://rbs//lib/rbs/environment.rb#476 def add_signature(buffer:, directives:, decls:); end - # source://rbs/lib/rbs/environment.rb#528 + # source://rbs//lib/rbs/environment.rb#528 def append_context(context, decl); end - # source://rbs/lib/rbs/environment.rb#803 + # source://rbs//lib/rbs/environment.rb#803 def buffers; end # @return [Boolean] # - # source://rbs/lib/rbs/environment.rb#218 + # source://rbs//lib/rbs/environment.rb#218 def class_alias?(name); end # Returns the value of attribute class_alias_decls. # - # source://rbs/lib/rbs/environment.rb#12 + # source://rbs//lib/rbs/environment.rb#12 def class_alias_decls; end # @return [Boolean] # - # source://rbs/lib/rbs/environment.rb#202 + # source://rbs//lib/rbs/environment.rb#202 def class_decl?(name); end # Returns the value of attribute class_decls. # - # source://rbs/lib/rbs/environment.rb#7 + # source://rbs//lib/rbs/environment.rb#7 def class_decls; end - # source://rbs/lib/rbs/environment.rb#226 + # source://rbs//lib/rbs/environment.rb#226 def class_entry(type_name); end # @return [Boolean] # - # source://rbs/lib/rbs/environment.rb#198 + # source://rbs//lib/rbs/environment.rb#198 def constant_decl?(name); end # Returns the value of attribute constant_decls. # - # source://rbs/lib/rbs/environment.rb#10 + # source://rbs//lib/rbs/environment.rb#10 def constant_decls; end - # source://rbs/lib/rbs/environment.rb#274 + # source://rbs//lib/rbs/environment.rb#274 def constant_entry(type_name); end # @return [Boolean] # - # source://rbs/lib/rbs/environment.rb#194 + # source://rbs//lib/rbs/environment.rb#194 def constant_name?(name); end # Returns the value of attribute declarations. # - # source://rbs/lib/rbs/environment.rb#5 + # source://rbs//lib/rbs/environment.rb#5 def declarations; end # Returns the value of attribute global_decls. # - # source://rbs/lib/rbs/environment.rb#11 + # source://rbs//lib/rbs/environment.rb#11 def global_decls; end - # source://rbs/lib/rbs/environment.rb#373 + # source://rbs//lib/rbs/environment.rb#373 def insert_decl(decl, outer:, namespace:); end - # source://rbs/lib/rbs/environment.rb#798 + # source://rbs//lib/rbs/environment.rb#798 def inspect; end # Returns the value of attribute interface_decls. # - # source://rbs/lib/rbs/environment.rb#8 + # source://rbs//lib/rbs/environment.rb#8 def interface_decls; end # @return [Boolean] # - # source://rbs/lib/rbs/environment.rb#176 + # source://rbs//lib/rbs/environment.rb#176 def interface_name?(name); end # @return [Boolean] # - # source://rbs/lib/rbs/environment.rb#210 + # source://rbs//lib/rbs/environment.rb#210 def module_alias?(name); end - # source://rbs/lib/rbs/environment.rb#266 + # source://rbs//lib/rbs/environment.rb#266 def module_class_entry(type_name); end # @return [Boolean] # - # source://rbs/lib/rbs/environment.rb#206 + # source://rbs//lib/rbs/environment.rb#206 def module_decl?(name); end - # source://rbs/lib/rbs/environment.rb#235 + # source://rbs//lib/rbs/environment.rb#235 def module_entry(type_name); end # @return [Boolean] # - # source://rbs/lib/rbs/environment.rb#184 + # source://rbs//lib/rbs/environment.rb#184 def module_name?(name); end - # source://rbs/lib/rbs/environment.rb#332 + # source://rbs//lib/rbs/environment.rb#332 def normalize_module_name(name); end # @return [Boolean] # - # source://rbs/lib/rbs/environment.rb#336 + # source://rbs//lib/rbs/environment.rb#336 def normalize_module_name?(name); end - # source://rbs/lib/rbs/environment.rb#328 + # source://rbs//lib/rbs/environment.rb#328 def normalize_type_name(name); end - # source://rbs/lib/rbs/environment.rb#297 + # source://rbs//lib/rbs/environment.rb#297 def normalize_type_name!(name); end # @return [Boolean] # - # source://rbs/lib/rbs/environment.rb#278 + # source://rbs//lib/rbs/environment.rb#278 def normalize_type_name?(name); end - # source://rbs/lib/rbs/environment.rb#244 + # source://rbs//lib/rbs/environment.rb#244 def normalized_class_entry(type_name); end - # source://rbs/lib/rbs/environment.rb#270 + # source://rbs//lib/rbs/environment.rb#270 def normalized_module_class_entry(type_name); end - # source://rbs/lib/rbs/environment.rb#255 + # source://rbs//lib/rbs/environment.rb#255 def normalized_module_entry(type_name); end - # source://rbs/lib/rbs/environment.rb#323 + # source://rbs//lib/rbs/environment.rb#323 def normalized_type_name!(name); end # @return [Boolean] # - # source://rbs/lib/rbs/environment.rb#310 + # source://rbs//lib/rbs/environment.rb#310 def normalized_type_name?(type_name); end - # source://rbs/lib/rbs/environment.rb#537 + # source://rbs//lib/rbs/environment.rb#537 def resolve_declaration(resolver, map, decl, outer:, prefix:); end - # source://rbs/lib/rbs/environment.rb#673 + # source://rbs//lib/rbs/environment.rb#673 def resolve_member(resolver, map, member, context:); end - # source://rbs/lib/rbs/environment.rb#773 + # source://rbs//lib/rbs/environment.rb#773 def resolve_method_type(resolver, map, type, context:); end - # source://rbs/lib/rbs/environment.rb#489 + # source://rbs//lib/rbs/environment.rb#489 def resolve_type_names(only: T.unsafe(nil)); end - # source://rbs/lib/rbs/environment.rb#781 + # source://rbs//lib/rbs/environment.rb#781 def resolve_type_params(resolver, map, params, context:); end - # source://rbs/lib/rbs/environment.rb#522 + # source://rbs//lib/rbs/environment.rb#522 def resolver_context(*nesting); end # Returns the value of attribute signatures. # - # source://rbs/lib/rbs/environment.rb#14 + # source://rbs//lib/rbs/environment.rb#14 def signatures; end # Returns the value of attribute type_alias_decls. # - # source://rbs/lib/rbs/environment.rb#9 + # source://rbs//lib/rbs/environment.rb#9 def type_alias_decls; end # @return [Boolean] # - # source://rbs/lib/rbs/environment.rb#180 + # source://rbs//lib/rbs/environment.rb#180 def type_alias_name?(name); end # @return [Boolean] # - # source://rbs/lib/rbs/environment.rb#188 + # source://rbs//lib/rbs/environment.rb#188 def type_name?(name); end - # source://rbs/lib/rbs/environment.rb#807 + # source://rbs//lib/rbs/environment.rb#807 def unload(buffers); end - # source://rbs/lib/rbs/environment.rb#483 + # source://rbs//lib/rbs/environment.rb#483 def validate_type_params; end private - # source://rbs/lib/rbs/environment.rb#158 + # source://rbs//lib/rbs/environment.rb#158 def initialize_copy(other); end class << self - # source://rbs/lib/rbs/environment.rb#170 + # source://rbs//lib/rbs/environment.rb#170 def from_loader(loader); end end end -# source://rbs/lib/rbs/environment.rb#130 +# source://rbs//lib/rbs/environment.rb#130 class RBS::Environment::ClassAliasEntry < ::RBS::Environment::SingleEntry; end -# source://rbs/lib/rbs/environment.rb#100 +# source://rbs//lib/rbs/environment.rb#100 class RBS::Environment::ClassEntry < ::RBS::Environment::MultiEntry - # source://rbs/lib/rbs/environment.rb#101 + # source://rbs//lib/rbs/environment.rb#101 def primary; end end -# source://rbs/lib/rbs/environment.rb#139 +# source://rbs//lib/rbs/environment.rb#139 class RBS::Environment::ConstantEntry < ::RBS::Environment::SingleEntry; end -# source://rbs/lib/rbs/environment.rb#16 +# source://rbs//lib/rbs/environment.rb#16 module RBS::Environment::ContextUtil - # source://rbs/lib/rbs/environment.rb#17 + # source://rbs//lib/rbs/environment.rb#17 def calculate_context(decls); end end -# source://rbs/lib/rbs/environment.rb#142 +# source://rbs//lib/rbs/environment.rb#142 class RBS::Environment::GlobalEntry < ::RBS::Environment::SingleEntry; end -# source://rbs/lib/rbs/environment.rb#133 +# source://rbs//lib/rbs/environment.rb#133 class RBS::Environment::InterfaceEntry < ::RBS::Environment::SingleEntry; end -# source://rbs/lib/rbs/environment.rb#127 +# source://rbs//lib/rbs/environment.rb#127 class RBS::Environment::ModuleAliasEntry < ::RBS::Environment::SingleEntry; end -# source://rbs/lib/rbs/environment.rb#85 +# source://rbs//lib/rbs/environment.rb#85 class RBS::Environment::ModuleEntry < ::RBS::Environment::MultiEntry - # source://rbs/lib/rbs/environment.rb#92 + # source://rbs//lib/rbs/environment.rb#92 def primary; end - # source://rbs/lib/rbs/environment.rb#86 + # source://rbs//lib/rbs/environment.rb#86 def self_types; end end -# source://rbs/lib/rbs/environment.rb#29 +# source://rbs//lib/rbs/environment.rb#29 class RBS::Environment::MultiEntry # @return [MultiEntry] a new instance of MultiEntry # - # source://rbs/lib/rbs/environment.rb#43 + # source://rbs//lib/rbs/environment.rb#43 def initialize(name:); end # @return [Boolean] # - # source://rbs/lib/rbs/environment.rb#70 + # source://rbs//lib/rbs/environment.rb#70 def compatible_params?(ps1, ps2); end # Returns the value of attribute decls. # - # source://rbs/lib/rbs/environment.rb#41 + # source://rbs//lib/rbs/environment.rb#41 def decls; end - # source://rbs/lib/rbs/environment.rb#48 + # source://rbs//lib/rbs/environment.rb#48 def insert(decl:, outer:); end # Returns the value of attribute name. # - # source://rbs/lib/rbs/environment.rb#40 + # source://rbs//lib/rbs/environment.rb#40 def name; end - # source://rbs/lib/rbs/environment.rb#80 + # source://rbs//lib/rbs/environment.rb#80 def primary; end - # source://rbs/lib/rbs/environment.rb#76 + # source://rbs//lib/rbs/environment.rb#76 def type_params; end - # source://rbs/lib/rbs/environment.rb#53 + # source://rbs//lib/rbs/environment.rb#53 def validate_type_params; end end -# source://rbs/lib/rbs/environment.rb#30 +# source://rbs//lib/rbs/environment.rb#30 class RBS::Environment::MultiEntry::D < ::Struct include ::RBS::Environment::ContextUtil - # source://rbs/lib/rbs/environment.rb#35 + # source://rbs//lib/rbs/environment.rb#35 def context; end def decl; end @@ -3226,198 +3226,198 @@ class RBS::Environment::MultiEntry::D < ::Struct end end -# source://rbs/lib/rbs/environment.rb#109 +# source://rbs//lib/rbs/environment.rb#109 class RBS::Environment::SingleEntry include ::RBS::Environment::ContextUtil # @return [SingleEntry] a new instance of SingleEntry # - # source://rbs/lib/rbs/environment.rb#114 + # source://rbs//lib/rbs/environment.rb#114 def initialize(name:, decl:, outer:); end - # source://rbs/lib/rbs/environment.rb#122 + # source://rbs//lib/rbs/environment.rb#122 def context; end # Returns the value of attribute decl. # - # source://rbs/lib/rbs/environment.rb#112 + # source://rbs//lib/rbs/environment.rb#112 def decl; end # Returns the value of attribute name. # - # source://rbs/lib/rbs/environment.rb#110 + # source://rbs//lib/rbs/environment.rb#110 def name; end # Returns the value of attribute outer. # - # source://rbs/lib/rbs/environment.rb#111 + # source://rbs//lib/rbs/environment.rb#111 def outer; end end -# source://rbs/lib/rbs/environment.rb#136 +# source://rbs//lib/rbs/environment.rb#136 class RBS::Environment::TypeAliasEntry < ::RBS::Environment::SingleEntry; end -# source://rbs/lib/rbs/environment/use_map.rb#5 +# source://rbs//lib/rbs/environment/use_map.rb#5 class RBS::Environment::UseMap # @return [UseMap] a new instance of UseMap # - # source://rbs/lib/rbs/environment/use_map.rb#30 + # source://rbs//lib/rbs/environment/use_map.rb#30 def initialize(table:); end - # source://rbs/lib/rbs/environment/use_map.rb#36 + # source://rbs//lib/rbs/environment/use_map.rb#36 def build_map(clause); end - # source://rbs/lib/rbs/environment/use_map.rb#72 + # source://rbs//lib/rbs/environment/use_map.rb#72 def resolve(type_name); end # @return [Boolean] # - # source://rbs/lib/rbs/environment/use_map.rb#53 + # source://rbs//lib/rbs/environment/use_map.rb#53 def resolve?(type_name); end # Returns the value of attribute use_dirs. # - # source://rbs/lib/rbs/environment/use_map.rb#28 + # source://rbs//lib/rbs/environment/use_map.rb#28 def use_dirs; end end -# source://rbs/lib/rbs/environment/use_map.rb#6 +# source://rbs//lib/rbs/environment/use_map.rb#6 class RBS::Environment::UseMap::Table # @return [Table] a new instance of Table # - # source://rbs/lib/rbs/environment/use_map.rb#9 + # source://rbs//lib/rbs/environment/use_map.rb#9 def initialize; end # Returns the value of attribute children. # - # source://rbs/lib/rbs/environment/use_map.rb#7 + # source://rbs//lib/rbs/environment/use_map.rb#7 def children; end - # source://rbs/lib/rbs/environment/use_map.rb#14 + # source://rbs//lib/rbs/environment/use_map.rb#14 def compute_children; end # Returns the value of attribute known_types. # - # source://rbs/lib/rbs/environment/use_map.rb#7 + # source://rbs//lib/rbs/environment/use_map.rb#7 def known_types; end end -# source://rbs/lib/rbs/environment_loader.rb#4 +# source://rbs//lib/rbs/environment_loader.rb#4 class RBS::EnvironmentLoader include ::RBS::FileFinder # @return [EnvironmentLoader] a new instance of EnvironmentLoader # - # source://rbs/lib/rbs/environment_loader.rb#40 + # source://rbs//lib/rbs/environment_loader.rb#40 def initialize(core_root: T.unsafe(nil), repository: T.unsafe(nil)); end - # source://rbs/lib/rbs/environment_loader.rb#48 + # source://rbs//lib/rbs/environment_loader.rb#48 def add(path: T.unsafe(nil), library: T.unsafe(nil), version: T.unsafe(nil), resolve_dependencies: T.unsafe(nil)); end - # source://rbs/lib/rbs/environment_loader.rb#80 + # source://rbs//lib/rbs/environment_loader.rb#80 def add_collection(lockfile); end # Returns the value of attribute core_root. # - # source://rbs/lib/rbs/environment_loader.rb#20 + # source://rbs//lib/rbs/environment_loader.rb#20 def core_root; end # Returns the value of attribute dirs. # - # source://rbs/lib/rbs/environment_loader.rb#24 + # source://rbs//lib/rbs/environment_loader.rb#24 def dirs; end - # source://rbs/lib/rbs/environment_loader.rb#131 + # source://rbs//lib/rbs/environment_loader.rb#131 def each_dir; end - # source://rbs/lib/rbs/environment_loader.rb#154 + # source://rbs//lib/rbs/environment_loader.rb#154 def each_signature; end # @return [Boolean] # - # source://rbs/lib/rbs/environment_loader.rb#104 + # source://rbs//lib/rbs/environment_loader.rb#104 def has_library?(library:, version:); end # Returns the value of attribute libs. # - # source://rbs/lib/rbs/environment_loader.rb#23 + # source://rbs//lib/rbs/environment_loader.rb#23 def libs; end - # source://rbs/lib/rbs/environment_loader.rb#112 + # source://rbs//lib/rbs/environment_loader.rb#112 def load(env:); end # Returns the value of attribute repository. # - # source://rbs/lib/rbs/environment_loader.rb#21 + # source://rbs//lib/rbs/environment_loader.rb#21 def repository; end - # source://rbs/lib/rbs/environment_loader.rb#65 + # source://rbs//lib/rbs/environment_loader.rb#65 def resolve_dependencies(library:, version:); end class << self - # source://rbs/lib/rbs/environment_loader.rb#28 + # source://rbs//lib/rbs/environment_loader.rb#28 def gem_sig_path(name, version); end end end -# source://rbs/lib/rbs/environment_loader.rb#26 +# source://rbs//lib/rbs/environment_loader.rb#26 RBS::EnvironmentLoader::DEFAULT_CORE_ROOT = T.let(T.unsafe(nil), Pathname) -# source://rbs/lib/rbs/environment_loader.rb#17 +# source://rbs//lib/rbs/environment_loader.rb#17 class RBS::EnvironmentLoader::Library < ::Struct; end -# source://rbs/lib/rbs/environment_loader.rb#5 +# source://rbs//lib/rbs/environment_loader.rb#5 class RBS::EnvironmentLoader::UnknownLibraryError < ::StandardError # @return [UnknownLibraryError] a new instance of UnknownLibraryError # - # source://rbs/lib/rbs/environment_loader.rb#8 + # source://rbs//lib/rbs/environment_loader.rb#8 def initialize(lib:); end # Returns the value of attribute library. # - # source://rbs/lib/rbs/environment_loader.rb#6 + # source://rbs//lib/rbs/environment_loader.rb#6 def library; end end -# source://rbs/lib/rbs/environment_walker.rb#4 +# source://rbs//lib/rbs/environment_walker.rb#4 class RBS::EnvironmentWalker include ::TSort # @return [EnvironmentWalker] a new instance of EnvironmentWalker # - # source://rbs/lib/rbs/environment_walker.rb#11 + # source://rbs//lib/rbs/environment_walker.rb#11 def initialize(env:); end - # source://rbs/lib/rbs/environment_walker.rb#16 + # source://rbs//lib/rbs/environment_walker.rb#16 def builder; end - # source://rbs/lib/rbs/environment_walker.rb#99 + # source://rbs//lib/rbs/environment_walker.rb#99 def each_type_name(type, &block); end - # source://rbs/lib/rbs/environment_walker.rb#105 + # source://rbs//lib/rbs/environment_walker.rb#105 def each_type_node(type, &block); end # Returns the value of attribute env. # - # source://rbs/lib/rbs/environment_walker.rb#9 + # source://rbs//lib/rbs/environment_walker.rb#9 def env; end - # source://rbs/lib/rbs/environment_walker.rb#20 + # source://rbs//lib/rbs/environment_walker.rb#20 def only_ancestors!(only = T.unsafe(nil)); end # @return [Boolean] # - # source://rbs/lib/rbs/environment_walker.rb#25 + # source://rbs//lib/rbs/environment_walker.rb#25 def only_ancestors?; end - # source://rbs/lib/rbs/environment_walker.rb#44 + # source://rbs//lib/rbs/environment_walker.rb#44 def tsort_each_child(node, &block); end - # source://rbs/lib/rbs/environment_walker.rb#31 + # source://rbs//lib/rbs/environment_walker.rb#31 def tsort_each_node(&block); end end -# source://rbs/lib/rbs/environment_walker.rb#5 +# source://rbs//lib/rbs/environment_walker.rb#5 class RBS::EnvironmentWalker::InstanceNode < ::Struct def type_name; end def type_name=(_); end @@ -3431,7 +3431,7 @@ class RBS::EnvironmentWalker::InstanceNode < ::Struct end end -# source://rbs/lib/rbs/environment_walker.rb#6 +# source://rbs//lib/rbs/environment_walker.rb#6 class RBS::EnvironmentWalker::SingletonNode < ::Struct def type_name; end def type_name=(_); end @@ -3445,7 +3445,7 @@ class RBS::EnvironmentWalker::SingletonNode < ::Struct end end -# source://rbs/lib/rbs/environment_walker.rb#7 +# source://rbs//lib/rbs/environment_walker.rb#7 class RBS::EnvironmentWalker::TypeNameNode < ::Struct def type_name; end def type_name=(_); end @@ -3459,186 +3459,186 @@ class RBS::EnvironmentWalker::TypeNameNode < ::Struct end end -# source://rbs/lib/rbs/factory.rb#4 +# source://rbs//lib/rbs/factory.rb#4 class RBS::Factory - # source://rbs/lib/rbs/factory.rb#5 + # source://rbs//lib/rbs/factory.rb#5 def type_name(string); end end -# source://rbs/lib/rbs/file_finder.rb#4 +# source://rbs//lib/rbs/file_finder.rb#4 module RBS::FileFinder class << self - # source://rbs/lib/rbs/file_finder.rb#7 + # source://rbs//lib/rbs/file_finder.rb#7 def each_file(path, skip_hidden:, immediate: T.unsafe(nil), &block); end end end -# source://rbs/lib/rbs/errors.rb#383 +# source://rbs//lib/rbs/errors.rb#383 class RBS::GenericParameterMismatchError < ::RBS::LoadingError # @return [GenericParameterMismatchError] a new instance of GenericParameterMismatchError # - # source://rbs/lib/rbs/errors.rb#387 + # source://rbs//lib/rbs/errors.rb#387 def initialize(name:, decl:); end # Returns the value of attribute decl. # - # source://rbs/lib/rbs/errors.rb#385 + # source://rbs//lib/rbs/errors.rb#385 def decl; end # Returns the value of attribute name. # - # source://rbs/lib/rbs/errors.rb#384 + # source://rbs//lib/rbs/errors.rb#384 def name; end end -# source://rbs/lib/rbs/errors.rb#529 +# source://rbs//lib/rbs/errors.rb#529 class RBS::InconsistentClassModuleAliasError < ::RBS::BaseError include ::RBS::DetailedMessageable # @return [InconsistentClassModuleAliasError] a new instance of InconsistentClassModuleAliasError # - # source://rbs/lib/rbs/errors.rb#534 + # source://rbs//lib/rbs/errors.rb#534 def initialize(entry); end # Returns the value of attribute alias_entry. # - # source://rbs/lib/rbs/errors.rb#532 + # source://rbs//lib/rbs/errors.rb#532 def alias_entry; end - # source://rbs/lib/rbs/errors.rb#548 + # source://rbs//lib/rbs/errors.rb#548 def location; end end -# source://rbs/lib/rbs/errors.rb#187 +# source://rbs//lib/rbs/errors.rb#187 class RBS::InheritModuleError < ::RBS::DefinitionError include ::RBS::DetailedMessageable # @return [InheritModuleError] a new instance of InheritModuleError # - # source://rbs/lib/rbs/errors.rb#192 + # source://rbs//lib/rbs/errors.rb#192 def initialize(super_decl); end - # source://rbs/lib/rbs/errors.rb#198 + # source://rbs//lib/rbs/errors.rb#198 def location; end # Returns the value of attribute super_decl. # - # source://rbs/lib/rbs/errors.rb#190 + # source://rbs//lib/rbs/errors.rb#190 def super_decl; end class << self - # source://rbs/lib/rbs/errors.rb#202 + # source://rbs//lib/rbs/errors.rb#202 def check!(super_decl, env:); end end end -# source://rbs/lib/rbs/errors.rb#354 +# source://rbs//lib/rbs/errors.rb#354 class RBS::InvalidOverloadMethodError < ::RBS::DefinitionError include ::RBS::DetailedMessageable # @return [InvalidOverloadMethodError] a new instance of InvalidOverloadMethodError # - # source://rbs/lib/rbs/errors.rb#362 + # source://rbs//lib/rbs/errors.rb#362 def initialize(type_name:, method_name:, kind:, members:); end # Returns the value of attribute kind. # - # source://rbs/lib/rbs/errors.rb#359 + # source://rbs//lib/rbs/errors.rb#359 def kind; end - # source://rbs/lib/rbs/errors.rb#378 + # source://rbs//lib/rbs/errors.rb#378 def location; end # Returns the value of attribute members. # - # source://rbs/lib/rbs/errors.rb#360 + # source://rbs//lib/rbs/errors.rb#360 def members; end # Returns the value of attribute method_name. # - # source://rbs/lib/rbs/errors.rb#358 + # source://rbs//lib/rbs/errors.rb#358 def method_name; end # Returns the value of attribute type_name. # - # source://rbs/lib/rbs/errors.rb#357 + # source://rbs//lib/rbs/errors.rb#357 def type_name; end end -# source://rbs/lib/rbs/errors.rb#67 +# source://rbs//lib/rbs/errors.rb#67 class RBS::InvalidTypeApplicationError < ::RBS::DefinitionError # @return [InvalidTypeApplicationError] a new instance of InvalidTypeApplicationError # - # source://rbs/lib/rbs/errors.rb#74 + # source://rbs//lib/rbs/errors.rb#74 def initialize(type_name:, args:, params:, location:); end # Returns the value of attribute args. # - # source://rbs/lib/rbs/errors.rb#69 + # source://rbs//lib/rbs/errors.rb#69 def args; end # Returns the value of attribute location. # - # source://rbs/lib/rbs/errors.rb#72 + # source://rbs//lib/rbs/errors.rb#72 def location; end # Returns the value of attribute params. # - # source://rbs/lib/rbs/errors.rb#70 + # source://rbs//lib/rbs/errors.rb#70 def params; end # Returns the value of attribute type_name. # - # source://rbs/lib/rbs/errors.rb#68 + # source://rbs//lib/rbs/errors.rb#68 def type_name; end # Returns the value of attribute type_params. # - # source://rbs/lib/rbs/errors.rb#71 + # source://rbs//lib/rbs/errors.rb#71 def type_params; end class << self - # source://rbs/lib/rbs/errors.rb#83 + # source://rbs//lib/rbs/errors.rb#83 def check!(type_name:, args:, params:, location:); end - # source://rbs/lib/rbs/errors.rb#92 + # source://rbs//lib/rbs/errors.rb#92 def check2!(env:, type_name:, args:, location:); end end end -# source://rbs/lib/rbs/errors.rb#407 +# source://rbs//lib/rbs/errors.rb#407 class RBS::InvalidVarianceAnnotationError < ::RBS::DefinitionError include ::RBS::DetailedMessageable # @return [InvalidVarianceAnnotationError] a new instance of InvalidVarianceAnnotationError # - # source://rbs/lib/rbs/errors.rb#414 + # source://rbs//lib/rbs/errors.rb#414 def initialize(type_name:, param:, location:); end # Returns the value of attribute location. # - # source://rbs/lib/rbs/errors.rb#412 + # source://rbs//lib/rbs/errors.rb#412 def location; end # Returns the value of attribute param. # - # source://rbs/lib/rbs/errors.rb#411 + # source://rbs//lib/rbs/errors.rb#411 def param; end # Returns the value of attribute type_name. # - # source://rbs/lib/rbs/errors.rb#410 + # source://rbs//lib/rbs/errors.rb#410 def type_name; end end -# source://rbs/lib/rbs/errors.rb#20 +# source://rbs//lib/rbs/errors.rb#20 class RBS::LoadingError < ::RBS::BaseError; end -# source://rbs/lib/rbs/location_aux.rb#4 +# source://rbs//lib/rbs/location_aux.rb#4 class RBS::Location def initialize(_arg0, _arg1, _arg2); end - # source://rbs/lib/rbs/location_aux.rb#71 + # source://rbs//lib/rbs/location_aux.rb#71 def ==(other); end def [](_arg0); end @@ -3648,74 +3648,74 @@ class RBS::Location def _optional_keys; end def _required_keys; end - # source://rbs/lib/rbs/location_aux.rb#102 + # source://rbs//lib/rbs/location_aux.rb#102 def add_optional_child(name, range); end - # source://rbs/lib/rbs/location_aux.rb#98 + # source://rbs//lib/rbs/location_aux.rb#98 def add_required_child(name, range); end def aref(_arg0); end def buffer; end - # source://rbs/lib/rbs/location_aux.rb#110 + # source://rbs//lib/rbs/location_aux.rb#110 def each_optional_key(&block); end - # source://rbs/lib/rbs/location_aux.rb#118 + # source://rbs//lib/rbs/location_aux.rb#118 def each_required_key(&block); end - # source://rbs/lib/rbs/location_aux.rb#47 + # source://rbs//lib/rbs/location_aux.rb#47 def end_column; end - # source://rbs/lib/rbs/location_aux.rb#43 + # source://rbs//lib/rbs/location_aux.rb#43 def end_line; end - # source://rbs/lib/rbs/location_aux.rb#55 + # source://rbs//lib/rbs/location_aux.rb#55 def end_loc; end def end_pos; end - # source://rbs/lib/rbs/location_aux.rb#5 + # source://rbs//lib/rbs/location_aux.rb#5 def inspect; end # @return [Boolean] # - # source://rbs/lib/rbs/location_aux.rb#126 + # source://rbs//lib/rbs/location_aux.rb#126 def key?(name); end - # source://rbs/lib/rbs/location_aux.rb#31 + # source://rbs//lib/rbs/location_aux.rb#31 def name; end # @return [Boolean] # - # source://rbs/lib/rbs/location_aux.rb#130 + # source://rbs//lib/rbs/location_aux.rb#130 def optional_key?(name); end - # source://rbs/lib/rbs/location_aux.rb#59 + # source://rbs//lib/rbs/location_aux.rb#59 def range; end # @return [Boolean] # - # source://rbs/lib/rbs/location_aux.rb#134 + # source://rbs//lib/rbs/location_aux.rb#134 def required_key?(name); end - # source://rbs/lib/rbs/location_aux.rb#63 + # source://rbs//lib/rbs/location_aux.rb#63 def source; end - # source://rbs/lib/rbs/location_aux.rb#39 + # source://rbs//lib/rbs/location_aux.rb#39 def start_column; end - # source://rbs/lib/rbs/location_aux.rb#35 + # source://rbs//lib/rbs/location_aux.rb#35 def start_line; end - # source://rbs/lib/rbs/location_aux.rb#51 + # source://rbs//lib/rbs/location_aux.rb#51 def start_loc; end def start_pos; end - # source://rbs/lib/rbs/location_aux.rb#78 + # source://rbs//lib/rbs/location_aux.rb#78 def to_json(state = T.unsafe(nil)); end - # source://rbs/lib/rbs/location_aux.rb#67 + # source://rbs//lib/rbs/location_aux.rb#67 def to_s; end private @@ -3723,379 +3723,379 @@ class RBS::Location def initialize_copy(_arg0); end class << self - # source://rbs/lib/rbs/location_aux.rb#16 + # source://rbs//lib/rbs/location_aux.rb#16 def new(buffer_ = T.unsafe(nil), start_pos_ = T.unsafe(nil), end_pos_ = T.unsafe(nil), buffer: T.unsafe(nil), start_pos: T.unsafe(nil), end_pos: T.unsafe(nil)); end - # source://rbs/lib/rbs/location_aux.rb#94 + # source://rbs//lib/rbs/location_aux.rb#94 def to_string(location, default: T.unsafe(nil)); end end end -# source://rbs/lib/rbs/location_aux.rb#29 +# source://rbs//lib/rbs/location_aux.rb#29 RBS::Location::WithChildren = RBS::Location -# source://rbs/lib/rbs/locator.rb#4 +# source://rbs//lib/rbs/locator.rb#4 class RBS::Locator # @return [Locator] a new instance of Locator # - # source://rbs/lib/rbs/locator.rb#7 + # source://rbs//lib/rbs/locator.rb#7 def initialize(buffer:, dirs:, decls:); end # Returns the value of attribute buffer. # - # source://rbs/lib/rbs/locator.rb#5 + # source://rbs//lib/rbs/locator.rb#5 def buffer; end # Returns the value of attribute decls. # - # source://rbs/lib/rbs/locator.rb#5 + # source://rbs//lib/rbs/locator.rb#5 def decls; end # Returns the value of attribute dirs. # - # source://rbs/lib/rbs/locator.rb#5 + # source://rbs//lib/rbs/locator.rb#5 def dirs; end - # source://rbs/lib/rbs/locator.rb#13 + # source://rbs//lib/rbs/locator.rb#13 def find(line:, column:); end - # source://rbs/lib/rbs/locator.rb#29 + # source://rbs//lib/rbs/locator.rb#29 def find2(line:, column:); end - # source://rbs/lib/rbs/locator.rb#58 + # source://rbs//lib/rbs/locator.rb#58 def find_in_decl(pos, decl:, array:); end - # source://rbs/lib/rbs/locator.rb#42 + # source://rbs//lib/rbs/locator.rb#42 def find_in_directive(pos, dir, array); end - # source://rbs/lib/rbs/locator.rb#206 + # source://rbs//lib/rbs/locator.rb#206 def find_in_loc(pos, location:, array:); end - # source://rbs/lib/rbs/locator.rb#129 + # source://rbs//lib/rbs/locator.rb#129 def find_in_member(pos, member:, array:); end - # source://rbs/lib/rbs/locator.rb#152 + # source://rbs//lib/rbs/locator.rb#152 def find_in_method_type(pos, method_type:, array:); end - # source://rbs/lib/rbs/locator.rb#190 + # source://rbs//lib/rbs/locator.rb#190 def find_in_type(pos, type:, array:); end - # source://rbs/lib/rbs/locator.rb#170 + # source://rbs//lib/rbs/locator.rb#170 def find_in_type_param(pos, type_param:, array:); end - # source://rbs/lib/rbs/locator.rb#233 + # source://rbs//lib/rbs/locator.rb#233 def test_loc(pos, location:); end end -# source://rbs/lib/rbs/errors.rb#4 +# source://rbs//lib/rbs/errors.rb#4 module RBS::MethodNameHelper - # source://rbs/lib/rbs/errors.rb#5 + # source://rbs//lib/rbs/errors.rb#5 def method_name_string; end end -# source://rbs/lib/rbs/method_type.rb#4 +# source://rbs//lib/rbs/method_type.rb#4 class RBS::MethodType # @return [MethodType] a new instance of MethodType # - # source://rbs/lib/rbs/method_type.rb#10 + # source://rbs//lib/rbs/method_type.rb#10 def initialize(type_params:, type:, block:, location:); end - # source://rbs/lib/rbs/method_type.rb#17 + # source://rbs//lib/rbs/method_type.rb#17 def ==(other); end # Returns the value of attribute block. # - # source://rbs/lib/rbs/method_type.rb#7 + # source://rbs//lib/rbs/method_type.rb#7 def block; end - # source://rbs/lib/rbs/method_type.rb#84 + # source://rbs//lib/rbs/method_type.rb#84 def each_type(&block); end - # source://rbs/lib/rbs/method_type.rb#57 + # source://rbs//lib/rbs/method_type.rb#57 def free_variables(set = T.unsafe(nil)); end # @return [Boolean] # - # source://rbs/lib/rbs/method_type.rb#125 + # source://rbs//lib/rbs/method_type.rb#125 def has_classish_type?; end # @return [Boolean] # - # source://rbs/lib/rbs/method_type.rb#121 + # source://rbs//lib/rbs/method_type.rb#121 def has_self_type?; end # Returns the value of attribute location. # - # source://rbs/lib/rbs/method_type.rb#8 + # source://rbs//lib/rbs/method_type.rb#8 def location; end - # source://rbs/lib/rbs/method_type.rb#63 + # source://rbs//lib/rbs/method_type.rb#63 def map_type(&block); end - # source://rbs/lib/rbs/method_type.rb#72 + # source://rbs//lib/rbs/method_type.rb#72 def map_type_bound(&block); end - # source://rbs/lib/rbs/method_type.rb#33 + # source://rbs//lib/rbs/method_type.rb#33 def sub(s); end - # source://rbs/lib/rbs/method_type.rb#24 + # source://rbs//lib/rbs/method_type.rb#24 def to_json(state = T.unsafe(nil)); end - # source://rbs/lib/rbs/method_type.rb#98 + # source://rbs//lib/rbs/method_type.rb#98 def to_s; end # Returns the value of attribute type. # - # source://rbs/lib/rbs/method_type.rb#6 + # source://rbs//lib/rbs/method_type.rb#6 def type; end - # source://rbs/lib/rbs/method_type.rb#117 + # source://rbs//lib/rbs/method_type.rb#117 def type_param_names; end # Returns the value of attribute type_params. # - # source://rbs/lib/rbs/method_type.rb#5 + # source://rbs//lib/rbs/method_type.rb#5 def type_params; end - # source://rbs/lib/rbs/method_type.rb#48 + # source://rbs//lib/rbs/method_type.rb#48 def update(type_params: T.unsafe(nil), type: T.unsafe(nil), block: T.unsafe(nil), location: T.unsafe(nil)); end # @return [Boolean] # - # source://rbs/lib/rbs/method_type.rb#129 + # source://rbs//lib/rbs/method_type.rb#129 def with_nonreturn_void?; end end -# source://rbs/lib/rbs/errors.rb#443 +# source://rbs//lib/rbs/errors.rb#443 class RBS::MixinClassError < ::RBS::DefinitionError include ::RBS::DetailedMessageable # @return [MixinClassError] a new instance of MixinClassError # - # source://rbs/lib/rbs/errors.rb#449 + # source://rbs//lib/rbs/errors.rb#449 def initialize(type_name:, member:); end - # source://rbs/lib/rbs/errors.rb#456 + # source://rbs//lib/rbs/errors.rb#456 def location; end # Returns the value of attribute member. # - # source://rbs/lib/rbs/errors.rb#447 + # source://rbs//lib/rbs/errors.rb#447 def member; end # Returns the value of attribute type_name. # - # source://rbs/lib/rbs/errors.rb#446 + # source://rbs//lib/rbs/errors.rb#446 def type_name; end private - # source://rbs/lib/rbs/errors.rb#468 + # source://rbs//lib/rbs/errors.rb#468 def mixin_name; end class << self - # source://rbs/lib/rbs/errors.rb#460 + # source://rbs//lib/rbs/errors.rb#460 def check!(type_name:, env:, member:); end end end -# source://rbs/lib/rbs/namespace.rb#4 +# source://rbs//lib/rbs/namespace.rb#4 class RBS::Namespace # @return [Namespace] a new instance of Namespace # - # source://rbs/lib/rbs/namespace.rb#7 + # source://rbs//lib/rbs/namespace.rb#7 def initialize(path:, absolute:); end - # source://rbs/lib/rbs/namespace.rb#20 + # source://rbs//lib/rbs/namespace.rb#20 def +(other); end - # source://rbs/lib/rbs/namespace.rb#59 + # source://rbs//lib/rbs/namespace.rb#59 def ==(other); end - # source://rbs/lib/rbs/namespace.rb#47 + # source://rbs//lib/rbs/namespace.rb#47 def absolute!; end # @return [Boolean] # - # source://rbs/lib/rbs/namespace.rb#39 + # source://rbs//lib/rbs/namespace.rb#39 def absolute?; end - # source://rbs/lib/rbs/namespace.rb#28 + # source://rbs//lib/rbs/namespace.rb#28 def append(component); end - # source://rbs/lib/rbs/namespace.rb#101 + # source://rbs//lib/rbs/namespace.rb#101 def ascend; end # @return [Boolean] # - # source://rbs/lib/rbs/namespace.rb#55 + # source://rbs//lib/rbs/namespace.rb#55 def empty?; end - # source://rbs/lib/rbs/namespace.rb#59 + # source://rbs//lib/rbs/namespace.rb#59 def eql?(other); end - # source://rbs/lib/rbs/namespace.rb#65 + # source://rbs//lib/rbs/namespace.rb#65 def hash; end - # source://rbs/lib/rbs/namespace.rb#32 + # source://rbs//lib/rbs/namespace.rb#32 def parent; end # Returns the value of attribute path. # - # source://rbs/lib/rbs/namespace.rb#5 + # source://rbs//lib/rbs/namespace.rb#5 def path; end - # source://rbs/lib/rbs/namespace.rb#51 + # source://rbs//lib/rbs/namespace.rb#51 def relative!; end # @return [Boolean] # - # source://rbs/lib/rbs/namespace.rb#43 + # source://rbs//lib/rbs/namespace.rb#43 def relative?; end - # source://rbs/lib/rbs/namespace.rb#69 + # source://rbs//lib/rbs/namespace.rb#69 def split; end - # source://rbs/lib/rbs/namespace.rb#75 + # source://rbs//lib/rbs/namespace.rb#75 def to_s; end - # source://rbs/lib/rbs/namespace.rb#84 + # source://rbs//lib/rbs/namespace.rb#84 def to_type_name; end class << self - # source://rbs/lib/rbs/namespace.rb#12 + # source://rbs//lib/rbs/namespace.rb#12 def empty; end - # source://rbs/lib/rbs/namespace.rb#93 + # source://rbs//lib/rbs/namespace.rb#93 def parse(string); end - # source://rbs/lib/rbs/namespace.rb#16 + # source://rbs//lib/rbs/namespace.rb#16 def root; end end end -# source://rbs/lib/rbs/errors.rb#229 +# source://rbs//lib/rbs/errors.rb#229 class RBS::NoMixinFoundError < ::RBS::DefinitionError include ::RBS::DetailedMessageable # @return [NoMixinFoundError] a new instance of NoMixinFoundError # - # source://rbs/lib/rbs/errors.rb#235 + # source://rbs//lib/rbs/errors.rb#235 def initialize(type_name:, member:); end - # source://rbs/lib/rbs/errors.rb#242 + # source://rbs//lib/rbs/errors.rb#242 def location; end # Returns the value of attribute member. # - # source://rbs/lib/rbs/errors.rb#233 + # source://rbs//lib/rbs/errors.rb#233 def member; end # Returns the value of attribute type_name. # - # source://rbs/lib/rbs/errors.rb#232 + # source://rbs//lib/rbs/errors.rb#232 def type_name; end class << self - # source://rbs/lib/rbs/errors.rb#246 + # source://rbs//lib/rbs/errors.rb#246 def check!(type_name, env:, member:); end end end -# source://rbs/lib/rbs/errors.rb#210 +# source://rbs//lib/rbs/errors.rb#210 class RBS::NoSelfTypeFoundError < ::RBS::DefinitionError include ::RBS::DetailedMessageable # @return [NoSelfTypeFoundError] a new instance of NoSelfTypeFoundError # - # source://rbs/lib/rbs/errors.rb#216 + # source://rbs//lib/rbs/errors.rb#216 def initialize(type_name:, location:); end # Returns the value of attribute location. # - # source://rbs/lib/rbs/errors.rb#214 + # source://rbs//lib/rbs/errors.rb#214 def location; end # Returns the value of attribute type_name. # - # source://rbs/lib/rbs/errors.rb#213 + # source://rbs//lib/rbs/errors.rb#213 def type_name; end class << self - # source://rbs/lib/rbs/errors.rb#223 + # source://rbs//lib/rbs/errors.rb#223 def check!(self_type, env:); end end end -# source://rbs/lib/rbs/errors.rb#167 +# source://rbs//lib/rbs/errors.rb#167 class RBS::NoSuperclassFoundError < ::RBS::DefinitionError # @return [NoSuperclassFoundError] a new instance of NoSuperclassFoundError # - # source://rbs/lib/rbs/errors.rb#171 + # source://rbs//lib/rbs/errors.rb#171 def initialize(type_name:, location:); end # Returns the value of attribute location. # - # source://rbs/lib/rbs/errors.rb#169 + # source://rbs//lib/rbs/errors.rb#169 def location; end # Returns the value of attribute type_name. # - # source://rbs/lib/rbs/errors.rb#168 + # source://rbs//lib/rbs/errors.rb#168 def type_name; end class << self - # source://rbs/lib/rbs/errors.rb#178 + # source://rbs//lib/rbs/errors.rb#178 def check!(type_name, env:, location:); end end end -# source://rbs/lib/rbs/errors.rb#148 +# source://rbs//lib/rbs/errors.rb#148 class RBS::NoTypeFoundError < ::RBS::DefinitionError include ::RBS::DetailedMessageable # @return [NoTypeFoundError] a new instance of NoTypeFoundError # - # source://rbs/lib/rbs/errors.rb#154 + # source://rbs//lib/rbs/errors.rb#154 def initialize(type_name:, location:); end # Returns the value of attribute location. # - # source://rbs/lib/rbs/errors.rb#152 + # source://rbs//lib/rbs/errors.rb#152 def location; end # Returns the value of attribute type_name. # - # source://rbs/lib/rbs/errors.rb#151 + # source://rbs//lib/rbs/errors.rb#151 def type_name; end class << self - # source://rbs/lib/rbs/errors.rb#161 + # source://rbs//lib/rbs/errors.rb#161 def check!(type_name, env:, location:); end end end -# source://rbs/lib/rbs/errors.rb#500 +# source://rbs//lib/rbs/errors.rb#500 class RBS::NonregularTypeAliasError < ::RBS::BaseError include ::RBS::DetailedMessageable # @return [NonregularTypeAliasError] a new instance of NonregularTypeAliasError # - # source://rbs/lib/rbs/errors.rb#506 + # source://rbs//lib/rbs/errors.rb#506 def initialize(diagnostic:, location:); end # Returns the value of attribute diagnostic. # - # source://rbs/lib/rbs/errors.rb#503 + # source://rbs//lib/rbs/errors.rb#503 def diagnostic; end # Returns the value of attribute location. # - # source://rbs/lib/rbs/errors.rb#504 + # source://rbs//lib/rbs/errors.rb#504 def location; end end -# source://rbs/lib/rbs/parser/lex_result.rb#4 +# source://rbs//lib/rbs/parser/lex_result.rb#4 class RBS::Parser class << self def _lex(_arg0, _arg1); end @@ -4103,867 +4103,867 @@ class RBS::Parser def _parse_signature(_arg0, _arg1); end def _parse_type(_arg0, _arg1, _arg2, _arg3, _arg4); end - # source://rbs/lib/rbs/parser_aux.rb#34 + # source://rbs//lib/rbs/parser_aux.rb#34 def buffer(source); end - # source://rbs/lib/rbs/parser_aux.rb#25 + # source://rbs//lib/rbs/parser_aux.rb#25 def lex(source); end - # source://rbs/lib/rbs/parser_aux.rb#13 + # source://rbs//lib/rbs/parser_aux.rb#13 def parse_method_type(source, range: T.unsafe(nil), variables: T.unsafe(nil), require_eof: T.unsafe(nil)); end - # source://rbs/lib/rbs/parser_aux.rb#18 + # source://rbs//lib/rbs/parser_aux.rb#18 def parse_signature(source); end - # source://rbs/lib/rbs/parser_aux.rb#8 + # source://rbs//lib/rbs/parser_aux.rb#8 def parse_type(source, range: T.unsafe(nil), variables: T.unsafe(nil), require_eof: T.unsafe(nil)); end end end -# source://rbs/lib/rbs/parser_aux.rb#43 +# source://rbs//lib/rbs/parser_aux.rb#43 RBS::Parser::KEYWORDS = T.let(T.unsafe(nil), Hash) -# source://rbs/lib/rbs/parser/lex_result.rb#5 +# source://rbs//lib/rbs/parser/lex_result.rb#5 class RBS::Parser::LexResult # @return [LexResult] a new instance of LexResult # - # source://rbs/lib/rbs/parser/lex_result.rb#9 + # source://rbs//lib/rbs/parser/lex_result.rb#9 def initialize(buffer:, value:); end # Returns the value of attribute buffer. # - # source://rbs/lib/rbs/parser/lex_result.rb#6 + # source://rbs//lib/rbs/parser/lex_result.rb#6 def buffer; end # Returns the value of attribute value. # - # source://rbs/lib/rbs/parser/lex_result.rb#7 + # source://rbs//lib/rbs/parser/lex_result.rb#7 def value; end end -# source://rbs/lib/rbs/parser/token.rb#5 +# source://rbs//lib/rbs/parser/token.rb#5 class RBS::Parser::Token # @return [Token] a new instance of Token # - # source://rbs/lib/rbs/parser/token.rb#9 + # source://rbs//lib/rbs/parser/token.rb#9 def initialize(type:, location:); end # @return [Boolean] # - # source://rbs/lib/rbs/parser/token.rb#18 + # source://rbs//lib/rbs/parser/token.rb#18 def comment?; end # Returns the value of attribute location. # - # source://rbs/lib/rbs/parser/token.rb#7 + # source://rbs//lib/rbs/parser/token.rb#7 def location; end # Returns the value of attribute type. # - # source://rbs/lib/rbs/parser/token.rb#6 + # source://rbs//lib/rbs/parser/token.rb#6 def type; end - # source://rbs/lib/rbs/parser/token.rb#14 + # source://rbs//lib/rbs/parser/token.rb#14 def value; end end -# source://rbs/lib/rbs/errors.rb#51 +# source://rbs//lib/rbs/errors.rb#51 class RBS::ParsingError < ::RBS::BaseError include ::RBS::DetailedMessageable # @return [ParsingError] a new instance of ParsingError # - # source://rbs/lib/rbs/errors.rb#58 + # source://rbs//lib/rbs/errors.rb#58 def initialize(location, error_message, token_type); end # Returns the value of attribute error_message. # - # source://rbs/lib/rbs/errors.rb#55 + # source://rbs//lib/rbs/errors.rb#55 def error_message; end # Returns the value of attribute location. # - # source://rbs/lib/rbs/errors.rb#54 + # source://rbs//lib/rbs/errors.rb#54 def location; end # Returns the value of attribute token_type. # - # source://rbs/lib/rbs/errors.rb#56 + # source://rbs//lib/rbs/errors.rb#56 def token_type; end end -# source://rbs/lib/rbs/prototype/helpers.rb#4 +# source://rbs//lib/rbs/prototype/helpers.rb#4 module RBS::Prototype; end -# source://rbs/lib/rbs/prototype/helpers.rb#5 +# source://rbs//lib/rbs/prototype/helpers.rb#5 module RBS::Prototype::Helpers private # @return [Boolean] # - # source://rbs/lib/rbs/prototype/helpers.rb#96 + # source://rbs//lib/rbs/prototype/helpers.rb#96 def any_node?(node, nodes: T.unsafe(nil), &block); end # NOTE: args_node may be a nil by a bug # https://bugs.ruby-lang.org/issues/17495 # - # source://rbs/lib/rbs/prototype/helpers.rb#120 + # source://rbs//lib/rbs/prototype/helpers.rb#120 def args_from_node(args_node); end - # source://rbs/lib/rbs/prototype/helpers.rb#8 + # source://rbs//lib/rbs/prototype/helpers.rb#8 def block_from_body(node); end - # source://rbs/lib/rbs/prototype/helpers.rb#84 + # source://rbs//lib/rbs/prototype/helpers.rb#84 def each_child(node, &block); end - # source://rbs/lib/rbs/prototype/helpers.rb#88 + # source://rbs//lib/rbs/prototype/helpers.rb#88 def each_node(nodes); end # @return [Boolean] # - # source://rbs/lib/rbs/prototype/helpers.rb#108 + # source://rbs//lib/rbs/prototype/helpers.rb#108 def keyword_hash?(node); end # @return [Boolean] # - # source://rbs/lib/rbs/prototype/helpers.rb#124 + # source://rbs//lib/rbs/prototype/helpers.rb#124 def symbol_literal_node?(node); end - # source://rbs/lib/rbs/prototype/helpers.rb#135 + # source://rbs//lib/rbs/prototype/helpers.rb#135 def untyped; end end -# source://rbs/lib/rbs/prototype/node_usage.rb#5 +# source://rbs//lib/rbs/prototype/node_usage.rb#5 class RBS::Prototype::NodeUsage include ::RBS::Prototype::Helpers # @return [NodeUsage] a new instance of NodeUsage # - # source://rbs/lib/rbs/prototype/node_usage.rb#10 + # source://rbs//lib/rbs/prototype/node_usage.rb#10 def initialize(node); end - # source://rbs/lib/rbs/prototype/node_usage.rb#25 + # source://rbs//lib/rbs/prototype/node_usage.rb#25 def calculate(node, conditional:); end # Returns the value of attribute conditional_nodes. # - # source://rbs/lib/rbs/prototype/node_usage.rb#8 + # source://rbs//lib/rbs/prototype/node_usage.rb#8 def conditional_nodes; end - # source://rbs/lib/rbs/prototype/node_usage.rb#17 + # source://rbs//lib/rbs/prototype/node_usage.rb#17 def each_conditional_node(&block); end end -# source://rbs/lib/rbs/prototype/rb.rb#5 +# source://rbs//lib/rbs/prototype/rb.rb#5 class RBS::Prototype::RB include ::RBS::Prototype::Helpers # @return [RB] a new instance of RB # - # source://rbs/lib/rbs/prototype/rb.rb#45 + # source://rbs//lib/rbs/prototype/rb.rb#45 def initialize; end - # source://rbs/lib/rbs/prototype/rb.rb#560 + # source://rbs//lib/rbs/prototype/rb.rb#560 def block_type(node); end - # source://rbs/lib/rbs/prototype/rb.rb#540 + # source://rbs//lib/rbs/prototype/rb.rb#540 def body_type(node); end - # source://rbs/lib/rbs/prototype/rb.rb#455 + # source://rbs//lib/rbs/prototype/rb.rb#455 def const_to_name(node, context:); end - # source://rbs/lib/rbs/prototype/rb.rb#432 + # source://rbs//lib/rbs/prototype/rb.rb#432 def const_to_name!(node, context: T.unsafe(nil)); end - # source://rbs/lib/rbs/prototype/rb.rb#771 + # source://rbs//lib/rbs/prototype/rb.rb#771 def current_accessibility(decls, index = T.unsafe(nil)); end - # source://rbs/lib/rbs/prototype/rb.rb#49 + # source://rbs//lib/rbs/prototype/rb.rb#49 def decls; end - # source://rbs/lib/rbs/prototype/rb.rb#811 + # source://rbs//lib/rbs/prototype/rb.rb#811 def find_def_index_by_name(decls, name); end - # source://rbs/lib/rbs/prototype/rb.rb#535 + # source://rbs//lib/rbs/prototype/rb.rb#535 def function_return_type_from_body(node); end - # source://rbs/lib/rbs/prototype/rb.rb#477 + # source://rbs//lib/rbs/prototype/rb.rb#477 def function_type_from_body(node, def_name); end - # source://rbs/lib/rbs/prototype/rb.rb#553 + # source://rbs//lib/rbs/prototype/rb.rb#553 def if_unless_type(node); end # @return [Boolean] # - # source://rbs/lib/rbs/prototype/rb.rb#807 + # source://rbs//lib/rbs/prototype/rb.rb#807 def is_accessibility?(decl); end - # source://rbs/lib/rbs/prototype/rb.rb#466 + # source://rbs//lib/rbs/prototype/rb.rb#466 def literal_to_symbol(node); end - # source://rbs/lib/rbs/prototype/rb.rb#574 + # source://rbs//lib/rbs/prototype/rb.rb#574 def literal_to_type(node); end # backward compatible # - # source://rbs/lib/rbs/prototype/rb.rb#718 + # source://rbs//lib/rbs/prototype/rb.rb#718 def node_type(node, default: T.unsafe(nil)); end - # source://rbs/lib/rbs/prototype/rb.rb#718 + # source://rbs//lib/rbs/prototype/rb.rb#718 def param_type(node, default: T.unsafe(nil)); end - # source://rbs/lib/rbs/prototype/rb.rb#75 + # source://rbs//lib/rbs/prototype/rb.rb#75 def parse(string); end - # source://rbs/lib/rbs/prototype/rb.rb#763 + # source://rbs//lib/rbs/prototype/rb.rb#763 def private; end - # source://rbs/lib/rbs/prototype/rb.rb#107 + # source://rbs//lib/rbs/prototype/rb.rb#107 def process(node, decls:, comments:, context:); end - # source://rbs/lib/rbs/prototype/rb.rb#426 + # source://rbs//lib/rbs/prototype/rb.rb#426 def process_children(node, decls:, comments:, context:); end - # source://rbs/lib/rbs/prototype/rb.rb#767 + # source://rbs//lib/rbs/prototype/rb.rb#767 def public; end - # source://rbs/lib/rbs/prototype/rb.rb#698 + # source://rbs//lib/rbs/prototype/rb.rb#698 def range_element_type(types); end - # source://rbs/lib/rbs/prototype/rb.rb#781 + # source://rbs//lib/rbs/prototype/rb.rb#781 def remove_unnecessary_accessibility_methods!(decls); end - # source://rbs/lib/rbs/prototype/rb.rb#829 + # source://rbs//lib/rbs/prototype/rb.rb#829 def sort_members!(decls); end # Returns the value of attribute source_decls. # - # source://rbs/lib/rbs/prototype/rb.rb#42 + # source://rbs//lib/rbs/prototype/rb.rb#42 def source_decls; end # Returns the value of attribute toplevel_members. # - # source://rbs/lib/rbs/prototype/rb.rb#43 + # source://rbs//lib/rbs/prototype/rb.rb#43 def toplevel_members; end - # source://rbs/lib/rbs/prototype/rb.rb#687 + # source://rbs//lib/rbs/prototype/rb.rb#687 def types_to_union_type(types); end end -# source://rbs/lib/rbs/prototype/rb.rb#8 +# source://rbs//lib/rbs/prototype/rb.rb#8 class RBS::Prototype::RB::Context < ::Struct - # source://rbs/lib/rbs/prototype/rb.rb#25 + # source://rbs//lib/rbs/prototype/rb.rb#25 def attribute_kind; end - # source://rbs/lib/rbs/prototype/rb.rb#33 + # source://rbs//lib/rbs/prototype/rb.rb#33 def enter_namespace(namespace); end - # source://rbs/lib/rbs/prototype/rb.rb#15 + # source://rbs//lib/rbs/prototype/rb.rb#15 def method_kind; end - # source://rbs/lib/rbs/prototype/rb.rb#37 + # source://rbs//lib/rbs/prototype/rb.rb#37 def update(module_function: T.unsafe(nil), singleton: T.unsafe(nil), in_def: T.unsafe(nil)); end class << self - # source://rbs/lib/rbs/prototype/rb.rb#11 + # source://rbs//lib/rbs/prototype/rb.rb#11 def initial(namespace: T.unsafe(nil)); end end end -# source://rbs/lib/rbs/prototype/rbi.rb#5 +# source://rbs//lib/rbs/prototype/rbi.rb#5 class RBS::Prototype::RBI include ::RBS::Prototype::Helpers # @return [RBI] a new instance of RBI # - # source://rbs/lib/rbs/prototype/rbi.rb#12 + # source://rbs//lib/rbs/prototype/rbi.rb#12 def initialize; end # @return [Boolean] # - # source://rbs/lib/rbs/prototype/rbi.rb#561 + # source://rbs//lib/rbs/prototype/rbi.rb#561 def call_node?(node, name:, receiver: T.unsafe(nil), args: T.unsafe(nil)); end - # source://rbs/lib/rbs/prototype/rbi.rb#565 + # source://rbs//lib/rbs/prototype/rbi.rb#565 def const_to_name(node); end - # source://rbs/lib/rbs/prototype/rbi.rb#90 + # source://rbs//lib/rbs/prototype/rbi.rb#90 def current_module; end - # source://rbs/lib/rbs/prototype/rbi.rb#94 + # source://rbs//lib/rbs/prototype/rbi.rb#94 def current_module!; end - # source://rbs/lib/rbs/prototype/rbi.rb#46 + # source://rbs//lib/rbs/prototype/rbi.rb#46 def current_namespace; end # Returns the value of attribute decls. # - # source://rbs/lib/rbs/prototype/rbi.rb#8 + # source://rbs//lib/rbs/prototype/rbi.rb#8 def decls; end - # source://rbs/lib/rbs/prototype/rbi.rb#601 + # source://rbs//lib/rbs/prototype/rbi.rb#601 def each_arg(array, &block); end - # source://rbs/lib/rbs/prototype/rbi.rb#615 + # source://rbs//lib/rbs/prototype/rbi.rb#615 def each_child(node); end - # source://rbs/lib/rbs/prototype/rbi.rb#112 + # source://rbs//lib/rbs/prototype/rbi.rb#112 def join_comments(nodes, comments); end # Returns the value of attribute last_sig. # - # source://rbs/lib/rbs/prototype/rbi.rb#10 + # source://rbs//lib/rbs/prototype/rbi.rb#10 def last_sig; end - # source://rbs/lib/rbs/prototype/rbi.rb#279 + # source://rbs//lib/rbs/prototype/rbi.rb#279 def method_type(args_node, type_node, variables:, overloads:); end # Returns the value of attribute modules. # - # source://rbs/lib/rbs/prototype/rbi.rb#9 + # source://rbs//lib/rbs/prototype/rbi.rb#9 def modules; end - # source://rbs/lib/rbs/prototype/rbi.rb#42 + # source://rbs//lib/rbs/prototype/rbi.rb#42 def nested_name(name); end - # source://rbs/lib/rbs/prototype/rbi.rb#623 + # source://rbs//lib/rbs/prototype/rbi.rb#623 def node_to_hash(node); end - # source://rbs/lib/rbs/prototype/rbi.rb#18 + # source://rbs//lib/rbs/prototype/rbi.rb#18 def parse(string); end - # source://rbs/lib/rbs/prototype/rbi.rb#351 + # source://rbs//lib/rbs/prototype/rbi.rb#351 def parse_params(args_node, args, method_type, variables:, overloads:); end - # source://rbs/lib/rbs/prototype/rbi.rb#106 + # source://rbs//lib/rbs/prototype/rbi.rb#106 def pop_sig; end # @return [Boolean] # - # source://rbs/lib/rbs/prototype/rbi.rb#553 + # source://rbs//lib/rbs/prototype/rbi.rb#553 def proc_type?(type_node); end - # source://rbs/lib/rbs/prototype/rbi.rb#117 + # source://rbs//lib/rbs/prototype/rbi.rb#117 def process(node, comments:, outer: T.unsafe(nil)); end - # source://rbs/lib/rbs/prototype/rbi.rb#52 + # source://rbs//lib/rbs/prototype/rbi.rb#52 def push_class(name, super_class, comment:); end - # source://rbs/lib/rbs/prototype/rbi.rb#71 + # source://rbs//lib/rbs/prototype/rbi.rb#71 def push_module(name, comment:); end - # source://rbs/lib/rbs/prototype/rbi.rb#98 + # source://rbs//lib/rbs/prototype/rbi.rb#98 def push_sig(node); end - # source://rbs/lib/rbs/prototype/rbi.rb#476 + # source://rbs//lib/rbs/prototype/rbi.rb#476 def type_of(type_node, variables:); end - # source://rbs/lib/rbs/prototype/rbi.rb#489 + # source://rbs//lib/rbs/prototype/rbi.rb#489 def type_of0(type_node, variables:); end end -# source://rbs/lib/rbs/prototype/runtime/helpers.rb#5 +# source://rbs//lib/rbs/prototype/runtime/helpers.rb#5 class RBS::Prototype::Runtime include ::RBS::Prototype::Helpers include ::RBS::Prototype::Runtime::Helpers # @return [Runtime] a new instance of Runtime # - # source://rbs/lib/rbs/prototype/runtime.rb#71 + # source://rbs//lib/rbs/prototype/runtime.rb#71 def initialize(patterns:, env:, merge:, todo: T.unsafe(nil), owners_included: T.unsafe(nil)); end - # source://rbs/lib/rbs/prototype/runtime.rb#651 + # source://rbs//lib/rbs/prototype/runtime.rb#651 def block_from_ast_of(method); end - # source://rbs/lib/rbs/prototype/runtime.rb#101 + # source://rbs//lib/rbs/prototype/runtime.rb#101 def builder; end - # source://rbs/lib/rbs/prototype/runtime.rb#109 + # source://rbs//lib/rbs/prototype/runtime.rb#109 def decls; end # Generate/find outer module declarations # This is broken down into another method to comply with `DRY` # This generates/finds declarations in nested form & returns the last array of declarations # - # source://rbs/lib/rbs/prototype/runtime.rb#580 + # source://rbs//lib/rbs/prototype/runtime.rb#580 def ensure_outer_module_declarations(mod); end # Returns the value of attribute env. # - # source://rbs/lib/rbs/prototype/runtime.rb#65 + # source://rbs//lib/rbs/prototype/runtime.rb#65 def env; end - # source://rbs/lib/rbs/prototype/runtime.rb#485 + # source://rbs//lib/rbs/prototype/runtime.rb#485 def generate_class(mod); end - # source://rbs/lib/rbs/prototype/runtime.rb#423 + # source://rbs//lib/rbs/prototype/runtime.rb#423 def generate_constants(mod, decls); end - # source://rbs/lib/rbs/prototype/runtime.rb#299 + # source://rbs//lib/rbs/prototype/runtime.rb#299 def generate_methods(mod, module_name, members); end - # source://rbs/lib/rbs/prototype/runtime.rb#562 + # source://rbs//lib/rbs/prototype/runtime.rb#562 def generate_mixin(mod, decl, type_name, type_name_absolute); end - # source://rbs/lib/rbs/prototype/runtime.rb#524 + # source://rbs//lib/rbs/prototype/runtime.rb#524 def generate_module(mod); end - # source://rbs/lib/rbs/prototype/runtime.rb#470 + # source://rbs//lib/rbs/prototype/runtime.rb#470 def generate_super_class(mod); end # Returns the value of attribute merge. # - # source://rbs/lib/rbs/prototype/runtime.rb#66 + # source://rbs//lib/rbs/prototype/runtime.rb#66 def merge; end - # source://rbs/lib/rbs/prototype/runtime.rb#240 + # source://rbs//lib/rbs/prototype/runtime.rb#240 def merge_rbs(module_name, members, instance: T.unsafe(nil), singleton: T.unsafe(nil)); end - # source://rbs/lib/rbs/prototype/runtime.rb#171 + # source://rbs//lib/rbs/prototype/runtime.rb#171 def method_type(method); end # Returns the value of attribute outline. # - # source://rbs/lib/rbs/prototype/runtime.rb#69 + # source://rbs//lib/rbs/prototype/runtime.rb#69 def outline; end # Sets the attribute outline # # @param value the value to set the attribute outline to. # - # source://rbs/lib/rbs/prototype/runtime.rb#69 + # source://rbs//lib/rbs/prototype/runtime.rb#69 def outline=(_arg0); end # Returns the value of attribute owners_included. # - # source://rbs/lib/rbs/prototype/runtime.rb#68 + # source://rbs//lib/rbs/prototype/runtime.rb#68 def owners_included; end - # source://rbs/lib/rbs/prototype/runtime.rb#105 + # source://rbs//lib/rbs/prototype/runtime.rb#105 def parse(file); end # Returns the value of attribute patterns. # - # source://rbs/lib/rbs/prototype/runtime.rb#64 + # source://rbs//lib/rbs/prototype/runtime.rb#64 def patterns; end # @return [Boolean] # - # source://rbs/lib/rbs/prototype/runtime.rb#84 + # source://rbs//lib/rbs/prototype/runtime.rb#84 def target?(const); end # @return [Boolean] # - # source://rbs/lib/rbs/prototype/runtime.rb#286 + # source://rbs//lib/rbs/prototype/runtime.rb#286 def target_method?(mod, instance: T.unsafe(nil), singleton: T.unsafe(nil)); end # Returns the value of attribute todo. # - # source://rbs/lib/rbs/prototype/runtime.rb#67 + # source://rbs//lib/rbs/prototype/runtime.rb#67 def todo; end - # source://rbs/lib/rbs/prototype/runtime.rb#97 + # source://rbs//lib/rbs/prototype/runtime.rb#97 def todo_object; end - # source://rbs/lib/rbs/prototype/runtime.rb#634 + # source://rbs//lib/rbs/prototype/runtime.rb#634 def type_args(type_name); end - # source://rbs/lib/rbs/prototype/runtime.rb#642 + # source://rbs//lib/rbs/prototype/runtime.rb#642 def type_params(mod); end private # @return [Boolean] # - # source://rbs/lib/rbs/prototype/runtime.rb#413 + # source://rbs//lib/rbs/prototype/runtime.rb#413 def can_alias?(mod, method); end - # source://rbs/lib/rbs/prototype/runtime.rb#129 + # source://rbs//lib/rbs/prototype/runtime.rb#129 def each_mixined_module(type_name, mod); end - # source://rbs/lib/rbs/prototype/runtime.rb#138 + # source://rbs//lib/rbs/prototype/runtime.rb#138 def each_mixined_module_one(type_name, mod); end end -# source://rbs/lib/rbs/prototype/runtime/value_object_generator.rb#213 +# source://rbs//lib/rbs/prototype/runtime/value_object_generator.rb#213 class RBS::Prototype::Runtime::DataGenerator < ::RBS::Prototype::Runtime::ValueObjectBase private - # source://rbs/lib/rbs/prototype/runtime/value_object_generator.rb#229 + # source://rbs//lib/rbs/prototype/runtime/value_object_generator.rb#229 def add_decl_members(decl); end # def self.new: (untyped foo, untyped bar) -> instance # | (foo: untyped, bar: untyped) -> instance # - # source://rbs/lib/rbs/prototype/runtime/value_object_generator.rb#237 + # source://rbs//lib/rbs/prototype/runtime/value_object_generator.rb#237 def build_s_new; end - # source://rbs/lib/rbs/prototype/runtime/value_object_generator.rb#225 + # source://rbs//lib/rbs/prototype/runtime/value_object_generator.rb#225 def build_super_class; end class << self # @return [Boolean] # - # source://rbs/lib/rbs/prototype/runtime/value_object_generator.rb#214 + # source://rbs//lib/rbs/prototype/runtime/value_object_generator.rb#214 def generatable?(target); end end end -# source://rbs/lib/rbs/prototype/runtime/helpers.rb#6 +# source://rbs//lib/rbs/prototype/runtime/helpers.rb#6 module RBS::Prototype::Runtime::Helpers private - # source://rbs/lib/rbs/prototype/runtime/helpers.rb#19 + # source://rbs//lib/rbs/prototype/runtime/helpers.rb#19 def const_name(const); end - # source://rbs/lib/rbs/prototype/runtime/helpers.rb#15 + # source://rbs//lib/rbs/prototype/runtime/helpers.rb#15 def const_name!(const); end # Returns the exact name & not compactly declared name # - # source://rbs/lib/rbs/prototype/runtime/helpers.rb#10 + # source://rbs//lib/rbs/prototype/runtime/helpers.rb#10 def only_name(mod); end - # source://rbs/lib/rbs/prototype/runtime/helpers.rb#37 + # source://rbs//lib/rbs/prototype/runtime/helpers.rb#37 def to_type_name(name, full_name: T.unsafe(nil)); end - # source://rbs/lib/rbs/prototype/runtime/helpers.rb#53 + # source://rbs//lib/rbs/prototype/runtime/helpers.rb#53 def untyped; end end -# source://rbs/lib/rbs/prototype/runtime/reflection.rb#6 +# source://rbs//lib/rbs/prototype/runtime/reflection.rb#6 module RBS::Prototype::Runtime::Reflection class << self - # source://rbs/lib/rbs/prototype/runtime/reflection.rb#12 + # source://rbs//lib/rbs/prototype/runtime/reflection.rb#12 def constants_of(mod, inherit = T.unsafe(nil)); end - # source://rbs/lib/rbs/prototype/runtime/reflection.rb#7 + # source://rbs//lib/rbs/prototype/runtime/reflection.rb#7 def object_class(value); end end end -# source://rbs/lib/rbs/prototype/runtime/value_object_generator.rb#91 +# source://rbs//lib/rbs/prototype/runtime/value_object_generator.rb#91 class RBS::Prototype::Runtime::StructGenerator < ::RBS::Prototype::Runtime::ValueObjectBase private - # source://rbs/lib/rbs/prototype/runtime/value_object_generator.rb#108 + # source://rbs//lib/rbs/prototype/runtime/value_object_generator.rb#108 def add_decl_members(decl); end - # source://rbs/lib/rbs/prototype/runtime/value_object_generator.rb#165 + # source://rbs//lib/rbs/prototype/runtime/value_object_generator.rb#165 def build_overload_for_keyword_arguments; end - # source://rbs/lib/rbs/prototype/runtime/value_object_generator.rb#151 + # source://rbs//lib/rbs/prototype/runtime/value_object_generator.rb#151 def build_overload_for_positional_arguments; end # def self.keyword_init?: () -> bool? # - # source://rbs/lib/rbs/prototype/runtime/value_object_generator.rb#180 + # source://rbs//lib/rbs/prototype/runtime/value_object_generator.rb#180 def build_s_keyword_init_p; end # def self.new: (?untyped foo, ?untyped bar) -> instance # | (?foo: untyped, ?bar: untyped) -> instance # - # source://rbs/lib/rbs/prototype/runtime/value_object_generator.rb#117 + # source://rbs//lib/rbs/prototype/runtime/value_object_generator.rb#117 def build_s_new; end - # source://rbs/lib/rbs/prototype/runtime/value_object_generator.rb#104 + # source://rbs//lib/rbs/prototype/runtime/value_object_generator.rb#104 def build_super_class; end class << self # @return [Boolean] # - # source://rbs/lib/rbs/prototype/runtime/value_object_generator.rb#92 + # source://rbs//lib/rbs/prototype/runtime/value_object_generator.rb#92 def generatable?(target); end end end -# source://rbs/lib/rbs/prototype/runtime/value_object_generator.rb#102 +# source://rbs//lib/rbs/prototype/runtime/value_object_generator.rb#102 RBS::Prototype::Runtime::StructGenerator::CAN_CALL_KEYWORD_INIT_P = T.let(T.unsafe(nil), TrueClass) -# source://rbs/lib/rbs/prototype/runtime.rb#10 +# source://rbs//lib/rbs/prototype/runtime.rb#10 class RBS::Prototype::Runtime::Todo # @return [Todo] a new instance of Todo # - # source://rbs/lib/rbs/prototype/runtime.rb#11 + # source://rbs//lib/rbs/prototype/runtime.rb#11 def initialize(builder:); end # @return [Boolean] # - # source://rbs/lib/rbs/prototype/runtime.rb#42 + # source://rbs//lib/rbs/prototype/runtime.rb#42 def skip_constant?(module_name:, name:); end # @return [Boolean] # - # source://rbs/lib/rbs/prototype/runtime.rb#33 + # source://rbs//lib/rbs/prototype/runtime.rb#33 def skip_instance_method?(module_name:, method:, accessibility:); end # @return [Boolean] # - # source://rbs/lib/rbs/prototype/runtime.rb#15 + # source://rbs//lib/rbs/prototype/runtime.rb#15 def skip_mixin?(type_name:, module_name:, mixin_class:); end # @return [Boolean] # - # source://rbs/lib/rbs/prototype/runtime.rb#24 + # source://rbs//lib/rbs/prototype/runtime.rb#24 def skip_singleton_method?(module_name:, method:, accessibility:); end private - # source://rbs/lib/rbs/prototype/runtime.rb#49 + # source://rbs//lib/rbs/prototype/runtime.rb#49 def mixin_decls(type_name); end end -# source://rbs/lib/rbs/prototype/runtime/value_object_generator.rb#8 +# source://rbs//lib/rbs/prototype/runtime/value_object_generator.rb#8 class RBS::Prototype::Runtime::ValueObjectBase include ::RBS::Prototype::Runtime::Helpers # @return [ValueObjectBase] a new instance of ValueObjectBase # - # source://rbs/lib/rbs/prototype/runtime/value_object_generator.rb#11 + # source://rbs//lib/rbs/prototype/runtime/value_object_generator.rb#11 def initialize(target_class); end - # source://rbs/lib/rbs/prototype/runtime/value_object_generator.rb#15 + # source://rbs//lib/rbs/prototype/runtime/value_object_generator.rb#15 def build_decl; end private # attr_accessor foo: untyped # - # source://rbs/lib/rbs/prototype/runtime/value_object_generator.rb#74 + # source://rbs//lib/rbs/prototype/runtime/value_object_generator.rb#74 def build_member_accessors(ast_members_class); end # def self.members: () -> [ :foo, :bar ] # def members: () -> [ :foo, :bar ] # - # source://rbs/lib/rbs/prototype/runtime/value_object_generator.rb#35 + # source://rbs//lib/rbs/prototype/runtime/value_object_generator.rb#35 def build_s_members; end end -# source://rbs/lib/rdoc_plugin/parser.rb#6 +# source://rbs//lib/rdoc_plugin/parser.rb#6 module RBS::RDocPlugin; end -# source://rbs/lib/rdoc_plugin/parser.rb#7 +# source://rbs//lib/rdoc_plugin/parser.rb#7 class RBS::RDocPlugin::Parser # @return [Parser] a new instance of Parser # - # source://rbs/lib/rdoc_plugin/parser.rb#11 + # source://rbs//lib/rdoc_plugin/parser.rb#11 def initialize(top_level, content); end # Returns the value of attribute content. # - # source://rbs/lib/rdoc_plugin/parser.rb#9 + # source://rbs//lib/rdoc_plugin/parser.rb#9 def content; end # Sets the attribute content # # @param value the value to set the attribute content to. # - # source://rbs/lib/rdoc_plugin/parser.rb#9 + # source://rbs//lib/rdoc_plugin/parser.rb#9 def content=(_arg0); end - # source://rbs/lib/rdoc_plugin/parser.rb#94 + # source://rbs//lib/rdoc_plugin/parser.rb#94 def parse_attr_decl(decl:, context:, outer_name: T.unsafe(nil)); end - # source://rbs/lib/rdoc_plugin/parser.rb#53 + # source://rbs//lib/rdoc_plugin/parser.rb#53 def parse_class_decl(decl:, context:, outer_name: T.unsafe(nil)); end - # source://rbs/lib/rdoc_plugin/parser.rb#67 + # source://rbs//lib/rdoc_plugin/parser.rb#67 def parse_constant_decl(decl:, context:, outer_name: T.unsafe(nil)); end - # source://rbs/lib/rdoc_plugin/parser.rb#125 + # source://rbs//lib/rdoc_plugin/parser.rb#125 def parse_extend_decl(decl:, context:, outer_name: T.unsafe(nil)); end - # source://rbs/lib/rdoc_plugin/parser.rb#109 + # source://rbs//lib/rdoc_plugin/parser.rb#109 def parse_include_decl(decl:, context:, outer_name: T.unsafe(nil)); end - # source://rbs/lib/rdoc_plugin/parser.rb#24 + # source://rbs//lib/rdoc_plugin/parser.rb#24 def parse_member(decl:, context:, outer_name: T.unsafe(nil)); end - # source://rbs/lib/rdoc_plugin/parser.rb#88 + # source://rbs//lib/rdoc_plugin/parser.rb#88 def parse_method_alias_decl(decl:, context:, outer_name: T.unsafe(nil)); end - # source://rbs/lib/rdoc_plugin/parser.rb#73 + # source://rbs//lib/rdoc_plugin/parser.rb#73 def parse_method_decl(decl:, context:, outer_name: T.unsafe(nil)); end - # source://rbs/lib/rdoc_plugin/parser.rb#60 + # source://rbs//lib/rdoc_plugin/parser.rb#60 def parse_module_decl(decl:, context:, outer_name: T.unsafe(nil)); end - # source://rbs/lib/rdoc_plugin/parser.rb#16 + # source://rbs//lib/rdoc_plugin/parser.rb#16 def scan; end # Returns the value of attribute top_level. # - # source://rbs/lib/rdoc_plugin/parser.rb#9 + # source://rbs//lib/rdoc_plugin/parser.rb#9 def top_level; end # Sets the attribute top_level # # @param value the value to set the attribute top_level to. # - # source://rbs/lib/rdoc_plugin/parser.rb#9 + # source://rbs//lib/rdoc_plugin/parser.rb#9 def top_level=(_arg0); end private - # source://rbs/lib/rdoc_plugin/parser.rb#149 + # source://rbs//lib/rdoc_plugin/parser.rb#149 def comment_string(with_comment); end - # source://rbs/lib/rdoc_plugin/parser.rb#143 + # source://rbs//lib/rdoc_plugin/parser.rb#143 def construct_comment(context:, comment:); end - # source://rbs/lib/rdoc_plugin/parser.rb#154 + # source://rbs//lib/rdoc_plugin/parser.rb#154 def fully_qualified_name(outer_name:, decl:); end end -# source://rbs/lib/rbs/errors.rb#423 +# source://rbs//lib/rbs/errors.rb#423 class RBS::RecursiveAliasDefinitionError < ::RBS::DefinitionError include ::RBS::DetailedMessageable # @return [RecursiveAliasDefinitionError] a new instance of RecursiveAliasDefinitionError # - # source://rbs/lib/rbs/errors.rb#429 + # source://rbs//lib/rbs/errors.rb#429 def initialize(type:, defs:); end # Returns the value of attribute defs. # - # source://rbs/lib/rbs/errors.rb#427 + # source://rbs//lib/rbs/errors.rb#427 def defs; end - # source://rbs/lib/rbs/errors.rb#436 + # source://rbs//lib/rbs/errors.rb#436 def location; end # Returns the value of attribute type. # - # source://rbs/lib/rbs/errors.rb#426 + # source://rbs//lib/rbs/errors.rb#426 def type; end end -# source://rbs/lib/rbs/errors.rb#110 +# source://rbs//lib/rbs/errors.rb#110 class RBS::RecursiveAncestorError < ::RBS::DefinitionError # @return [RecursiveAncestorError] a new instance of RecursiveAncestorError # - # source://rbs/lib/rbs/errors.rb#114 + # source://rbs//lib/rbs/errors.rb#114 def initialize(ancestors:, location:); end # Returns the value of attribute ancestors. # - # source://rbs/lib/rbs/errors.rb#111 + # source://rbs//lib/rbs/errors.rb#111 def ancestors; end # Returns the value of attribute location. # - # source://rbs/lib/rbs/errors.rb#112 + # source://rbs//lib/rbs/errors.rb#112 def location; end class << self - # source://rbs/lib/rbs/errors.rb#134 + # source://rbs//lib/rbs/errors.rb#134 def check!(self_ancestor, ancestors:, location:); end end end -# source://rbs/lib/rbs/errors.rb#482 +# source://rbs//lib/rbs/errors.rb#482 class RBS::RecursiveTypeAliasError < ::RBS::BaseError include ::RBS::DetailedMessageable # @return [RecursiveTypeAliasError] a new instance of RecursiveTypeAliasError # - # source://rbs/lib/rbs/errors.rb#488 + # source://rbs//lib/rbs/errors.rb#488 def initialize(alias_names:, location:); end # Returns the value of attribute alias_names. # - # source://rbs/lib/rbs/errors.rb#485 + # source://rbs//lib/rbs/errors.rb#485 def alias_names; end # Returns the value of attribute location. # - # source://rbs/lib/rbs/errors.rb#486 + # source://rbs//lib/rbs/errors.rb#486 def location; end - # source://rbs/lib/rbs/errors.rb#495 + # source://rbs//lib/rbs/errors.rb#495 def name; end end -# source://rbs/lib/rbs/repository.rb#4 +# source://rbs//lib/rbs/repository.rb#4 class RBS::Repository # @return [Repository] a new instance of Repository # - # source://rbs/lib/rbs/repository.rb#74 + # source://rbs//lib/rbs/repository.rb#74 def initialize(no_stdlib: T.unsafe(nil)); end - # source://rbs/lib/rbs/repository.rb#98 + # source://rbs//lib/rbs/repository.rb#98 def add(dir); end # Returns the value of attribute dirs. # - # source://rbs/lib/rbs/repository.rb#71 + # source://rbs//lib/rbs/repository.rb#71 def dirs; end # Returns the value of attribute gems. # - # source://rbs/lib/rbs/repository.rb#72 + # source://rbs//lib/rbs/repository.rb#72 def gems; end - # source://rbs/lib/rbs/repository.rb#108 + # source://rbs//lib/rbs/repository.rb#108 def lookup(gem, version); end - # source://rbs/lib/rbs/repository.rb#113 + # source://rbs//lib/rbs/repository.rb#113 def lookup_path(gem, version); end class << self - # source://rbs/lib/rbs/repository.rb#83 + # source://rbs//lib/rbs/repository.rb#83 def default; end - # source://rbs/lib/rbs/repository.rb#87 + # source://rbs//lib/rbs/repository.rb#87 def find_best_version(version, candidates); end end end -# source://rbs/lib/rbs/repository.rb#5 +# source://rbs//lib/rbs/repository.rb#5 RBS::Repository::DEFAULT_STDLIB_ROOT = T.let(T.unsafe(nil), Pathname) -# source://rbs/lib/rbs/repository.rb#7 +# source://rbs//lib/rbs/repository.rb#7 class RBS::Repository::GemRBS # @return [GemRBS] a new instance of GemRBS # - # source://rbs/lib/rbs/repository.rb#11 + # source://rbs//lib/rbs/repository.rb#11 def initialize(name:); end # @return [Boolean] # - # source://rbs/lib/rbs/repository.rb#64 + # source://rbs//lib/rbs/repository.rb#64 def empty?; end - # source://rbs/lib/rbs/repository.rb#59 + # source://rbs//lib/rbs/repository.rb#59 def find_best_version(version); end - # source://rbs/lib/rbs/repository.rb#54 + # source://rbs//lib/rbs/repository.rb#54 def latest_version; end - # source://rbs/lib/rbs/repository.rb#22 + # source://rbs//lib/rbs/repository.rb#22 def load!; end # Returns the value of attribute name. # - # source://rbs/lib/rbs/repository.rb#8 + # source://rbs//lib/rbs/repository.rb#8 def name; end - # source://rbs/lib/rbs/repository.rb#49 + # source://rbs//lib/rbs/repository.rb#49 def oldest_version; end # Returns the value of attribute paths. # - # source://rbs/lib/rbs/repository.rb#9 + # source://rbs//lib/rbs/repository.rb#9 def paths; end - # source://rbs/lib/rbs/repository.rb#45 + # source://rbs//lib/rbs/repository.rb#45 def version_names; end - # source://rbs/lib/rbs/repository.rb#17 + # source://rbs//lib/rbs/repository.rb#17 def versions; end end -# source://rbs/lib/rbs/repository.rb#69 +# source://rbs//lib/rbs/repository.rb#69 class RBS::Repository::VersionPath < ::Struct def gem; end def gem=(_); end @@ -4981,590 +4981,590 @@ class RBS::Repository::VersionPath < ::Struct end end -# source://rbs/lib/rbs/resolver/constant_resolver.rb#4 +# source://rbs//lib/rbs/resolver/constant_resolver.rb#4 module RBS::Resolver; end -# source://rbs/lib/rbs/resolver/constant_resolver.rb#5 +# source://rbs//lib/rbs/resolver/constant_resolver.rb#5 class RBS::Resolver::ConstantResolver # @return [ConstantResolver] a new instance of ConstantResolver # - # source://rbs/lib/rbs/resolver/constant_resolver.rb#88 + # source://rbs//lib/rbs/resolver/constant_resolver.rb#88 def initialize(builder:); end # Returns the value of attribute builder. # - # source://rbs/lib/rbs/resolver/constant_resolver.rb#85 + # source://rbs//lib/rbs/resolver/constant_resolver.rb#85 def builder; end # Returns the value of attribute child_constants_cache. # - # source://rbs/lib/rbs/resolver/constant_resolver.rb#86 + # source://rbs//lib/rbs/resolver/constant_resolver.rb#86 def child_constants_cache; end - # source://rbs/lib/rbs/resolver/constant_resolver.rb#112 + # source://rbs//lib/rbs/resolver/constant_resolver.rb#112 def children(module_name); end - # source://rbs/lib/rbs/resolver/constant_resolver.rb#100 + # source://rbs//lib/rbs/resolver/constant_resolver.rb#100 def constants(context); end - # source://rbs/lib/rbs/resolver/constant_resolver.rb#178 + # source://rbs//lib/rbs/resolver/constant_resolver.rb#178 def constants_from_ancestors(module_name, constants:); end - # source://rbs/lib/rbs/resolver/constant_resolver.rb#163 + # source://rbs//lib/rbs/resolver/constant_resolver.rb#163 def constants_from_context(context, constants:); end - # source://rbs/lib/rbs/resolver/constant_resolver.rb#201 + # source://rbs//lib/rbs/resolver/constant_resolver.rb#201 def constants_itself(context, constants:); end # Returns the value of attribute context_constants_cache. # - # source://rbs/lib/rbs/resolver/constant_resolver.rb#86 + # source://rbs//lib/rbs/resolver/constant_resolver.rb#86 def context_constants_cache; end - # source://rbs/lib/rbs/resolver/constant_resolver.rb#138 + # source://rbs//lib/rbs/resolver/constant_resolver.rb#138 def load_child_constants(name); end - # source://rbs/lib/rbs/resolver/constant_resolver.rb#122 + # source://rbs//lib/rbs/resolver/constant_resolver.rb#122 def load_context_constants(context); end - # source://rbs/lib/rbs/resolver/constant_resolver.rb#95 + # source://rbs//lib/rbs/resolver/constant_resolver.rb#95 def resolve(name, context:); end - # source://rbs/lib/rbs/resolver/constant_resolver.rb#108 + # source://rbs//lib/rbs/resolver/constant_resolver.rb#108 def resolve_child(module_name, name); end # Returns the value of attribute table. # - # source://rbs/lib/rbs/resolver/constant_resolver.rb#85 + # source://rbs//lib/rbs/resolver/constant_resolver.rb#85 def table; end end -# source://rbs/lib/rbs/resolver/constant_resolver.rb#6 +# source://rbs//lib/rbs/resolver/constant_resolver.rb#6 class RBS::Resolver::ConstantResolver::Table # @return [Table] a new instance of Table # - # source://rbs/lib/rbs/resolver/constant_resolver.rb#10 + # source://rbs//lib/rbs/resolver/constant_resolver.rb#10 def initialize(environment); end - # source://rbs/lib/rbs/resolver/constant_resolver.rb#63 + # source://rbs//lib/rbs/resolver/constant_resolver.rb#63 def children(name); end # Returns the value of attribute children_table. # - # source://rbs/lib/rbs/resolver/constant_resolver.rb#7 + # source://rbs//lib/rbs/resolver/constant_resolver.rb#7 def children_table; end - # source://rbs/lib/rbs/resolver/constant_resolver.rb#67 + # source://rbs//lib/rbs/resolver/constant_resolver.rb#67 def constant(name); end - # source://rbs/lib/rbs/resolver/constant_resolver.rb#80 + # source://rbs//lib/rbs/resolver/constant_resolver.rb#80 def constant_of_constant(name, entry); end - # source://rbs/lib/rbs/resolver/constant_resolver.rb#71 + # source://rbs//lib/rbs/resolver/constant_resolver.rb#71 def constant_of_module(name, entry); end # Returns the value of attribute constants_table. # - # source://rbs/lib/rbs/resolver/constant_resolver.rb#8 + # source://rbs//lib/rbs/resolver/constant_resolver.rb#8 def constants_table; end # Returns the value of attribute toplevel. # - # source://rbs/lib/rbs/resolver/constant_resolver.rb#7 + # source://rbs//lib/rbs/resolver/constant_resolver.rb#7 def toplevel; end end -# source://rbs/lib/rbs/resolver/type_name_resolver.rb#5 +# source://rbs//lib/rbs/resolver/type_name_resolver.rb#5 class RBS::Resolver::TypeNameResolver # @return [TypeNameResolver] a new instance of TypeNameResolver # - # source://rbs/lib/rbs/resolver/type_name_resolver.rb#10 + # source://rbs//lib/rbs/resolver/type_name_resolver.rb#10 def initialize(env); end # Returns the value of attribute all_names. # - # source://rbs/lib/rbs/resolver/type_name_resolver.rb#6 + # source://rbs//lib/rbs/resolver/type_name_resolver.rb#6 def all_names; end # Returns the value of attribute cache. # - # source://rbs/lib/rbs/resolver/type_name_resolver.rb#7 + # source://rbs//lib/rbs/resolver/type_name_resolver.rb#7 def cache; end # Returns the value of attribute env. # - # source://rbs/lib/rbs/resolver/type_name_resolver.rb#8 + # source://rbs//lib/rbs/resolver/type_name_resolver.rb#8 def env; end # @return [Boolean] # - # source://rbs/lib/rbs/resolver/type_name_resolver.rb#84 + # source://rbs//lib/rbs/resolver/type_name_resolver.rb#84 def has_name?(full_name); end - # source://rbs/lib/rbs/resolver/type_name_resolver.rb#51 + # source://rbs//lib/rbs/resolver/type_name_resolver.rb#51 def partition(type_name); end - # source://rbs/lib/rbs/resolver/type_name_resolver.rb#28 + # source://rbs//lib/rbs/resolver/type_name_resolver.rb#28 def resolve(type_name, context:); end - # source://rbs/lib/rbs/resolver/type_name_resolver.rb#69 + # source://rbs//lib/rbs/resolver/type_name_resolver.rb#69 def resolve_in(head, context); end - # source://rbs/lib/rbs/resolver/type_name_resolver.rb#21 + # source://rbs//lib/rbs/resolver/type_name_resolver.rb#21 def try_cache(query); end end -# source://rbs/lib/rbs/substitution.rb#4 +# source://rbs//lib/rbs/substitution.rb#4 class RBS::Substitution # @return [Substitution] a new instance of Substitution # - # source://rbs/lib/rbs/substitution.rb#12 + # source://rbs//lib/rbs/substitution.rb#12 def initialize; end - # source://rbs/lib/rbs/substitution.rb#66 + # source://rbs//lib/rbs/substitution.rb#66 def +(other); end - # source://rbs/lib/rbs/substitution.rb#37 + # source://rbs//lib/rbs/substitution.rb#37 def [](ty); end - # source://rbs/lib/rbs/substitution.rb#16 + # source://rbs//lib/rbs/substitution.rb#16 def add(from:, to:); end - # source://rbs/lib/rbs/substitution.rb#37 + # source://rbs//lib/rbs/substitution.rb#37 def apply(ty); end # @return [Boolean] # - # source://rbs/lib/rbs/substitution.rb#8 + # source://rbs//lib/rbs/substitution.rb#8 def empty?; end # Returns the value of attribute instance_type. # - # source://rbs/lib/rbs/substitution.rb#6 + # source://rbs//lib/rbs/substitution.rb#6 def instance_type; end # Sets the attribute instance_type # # @param value the value to set the attribute instance_type to. # - # source://rbs/lib/rbs/substitution.rb#6 + # source://rbs//lib/rbs/substitution.rb#6 def instance_type=(_arg0); end # Returns the value of attribute mapping. # - # source://rbs/lib/rbs/substitution.rb#5 + # source://rbs//lib/rbs/substitution.rb#5 def mapping; end - # source://rbs/lib/rbs/substitution.rb#55 + # source://rbs//lib/rbs/substitution.rb#55 def without(*vars); end class << self - # source://rbs/lib/rbs/substitution.rb#20 + # source://rbs//lib/rbs/substitution.rb#20 def build(variables, types, instance_type: T.unsafe(nil), &block); end end end -# source://rbs/lib/rbs/subtractor.rb#4 +# source://rbs//lib/rbs/subtractor.rb#4 class RBS::Subtractor # @return [Subtractor] a new instance of Subtractor # - # source://rbs/lib/rbs/subtractor.rb#5 + # source://rbs//lib/rbs/subtractor.rb#5 def initialize(minuend, subtrahend); end - # source://rbs/lib/rbs/subtractor.rb#10 + # source://rbs//lib/rbs/subtractor.rb#10 def call(minuend = T.unsafe(nil), context: T.unsafe(nil)); end private - # source://rbs/lib/rbs/subtractor.rb#177 + # source://rbs//lib/rbs/subtractor.rb#177 def absolute_typename(name, context:); end # @return [Boolean] # - # source://rbs/lib/rbs/subtractor.rb#160 + # source://rbs//lib/rbs/subtractor.rb#160 def access_modifier?(decl); end # @return [Boolean] # - # source://rbs/lib/rbs/subtractor.rb#118 + # source://rbs//lib/rbs/subtractor.rb#118 def cvar_exist?(owner, name); end - # source://rbs/lib/rbs/subtractor.rb#127 + # source://rbs//lib/rbs/subtractor.rb#127 def each_member(owner, &block); end - # source://rbs/lib/rbs/subtractor.rb#48 + # source://rbs//lib/rbs/subtractor.rb#48 def filter_members(decl, context:); end - # source://rbs/lib/rbs/subtractor.rb#148 + # source://rbs//lib/rbs/subtractor.rb#148 def filter_redundunt_access_modifiers(decls); end # @return [Boolean] # - # source://rbs/lib/rbs/subtractor.rb#106 + # source://rbs//lib/rbs/subtractor.rb#106 def ivar_exist?(owner, name, kind); end # @return [Boolean] # - # source://rbs/lib/rbs/subtractor.rb#60 + # source://rbs//lib/rbs/subtractor.rb#60 def member_exist?(owner, member, context:); end # @return [Boolean] # - # source://rbs/lib/rbs/subtractor.rb#89 + # source://rbs//lib/rbs/subtractor.rb#89 def method_exist?(owner, method_name, kind); end # @return [Boolean] # - # source://rbs/lib/rbs/subtractor.rb#137 + # source://rbs//lib/rbs/subtractor.rb#137 def mixin_exist?(owner, mixin, context:); end - # source://rbs/lib/rbs/subtractor.rb#186 + # source://rbs//lib/rbs/subtractor.rb#186 def typename_candidates(name, context:); end - # source://rbs/lib/rbs/subtractor.rb#164 + # source://rbs//lib/rbs/subtractor.rb#164 def update_decl(decl, members:); end end -# source://rbs/lib/rbs/errors.rb#343 +# source://rbs//lib/rbs/errors.rb#343 class RBS::SuperclassMismatchError < ::RBS::DefinitionError # @return [SuperclassMismatchError] a new instance of SuperclassMismatchError # - # source://rbs/lib/rbs/errors.rb#347 + # source://rbs//lib/rbs/errors.rb#347 def initialize(name:, entry:); end # Returns the value of attribute entry. # - # source://rbs/lib/rbs/errors.rb#345 + # source://rbs//lib/rbs/errors.rb#345 def entry; end # Returns the value of attribute name. # - # source://rbs/lib/rbs/errors.rb#344 + # source://rbs//lib/rbs/errors.rb#344 def name; end end -# source://rbs/lib/rbs/type_alias_dependency.rb#4 +# source://rbs//lib/rbs/type_alias_dependency.rb#4 class RBS::TypeAliasDependency # @return [TypeAliasDependency] a new instance of TypeAliasDependency # - # source://rbs/lib/rbs/type_alias_dependency.rb#14 + # source://rbs//lib/rbs/type_alias_dependency.rb#14 def initialize(env:); end - # source://rbs/lib/rbs/type_alias_dependency.rb#27 + # source://rbs//lib/rbs/type_alias_dependency.rb#27 def build_dependencies; end # Check if an alias type definition is circular & prohibited # # @return [Boolean] # - # source://rbs/lib/rbs/type_alias_dependency.rb#19 + # source://rbs//lib/rbs/type_alias_dependency.rb#19 def circular_definition?(alias_name); end # A hash which stores the transitive closure # of the directed graph # - # source://rbs/lib/rbs/type_alias_dependency.rb#12 + # source://rbs//lib/rbs/type_alias_dependency.rb#12 def dependencies; end - # source://rbs/lib/rbs/type_alias_dependency.rb#57 + # source://rbs//lib/rbs/type_alias_dependency.rb#57 def dependencies_of(name); end # Direct dependencies corresponds to a directed graph # with vertices as types and directions based on assignment of types # - # source://rbs/lib/rbs/type_alias_dependency.rb#9 + # source://rbs//lib/rbs/type_alias_dependency.rb#9 def direct_dependencies; end - # source://rbs/lib/rbs/type_alias_dependency.rb#52 + # source://rbs//lib/rbs/type_alias_dependency.rb#52 def direct_dependencies_of(name); end # Returns the value of attribute env. # - # source://rbs/lib/rbs/type_alias_dependency.rb#5 + # source://rbs//lib/rbs/type_alias_dependency.rb#5 def env; end - # source://rbs/lib/rbs/type_alias_dependency.rb#43 + # source://rbs//lib/rbs/type_alias_dependency.rb#43 def transitive_closure; end private # Recursive function to construct transitive closure # - # source://rbs/lib/rbs/type_alias_dependency.rb#81 + # source://rbs//lib/rbs/type_alias_dependency.rb#81 def dependency(start, vertex, nested = T.unsafe(nil)); end # Constructs directed graph recursively # - # source://rbs/lib/rbs/type_alias_dependency.rb#65 + # source://rbs//lib/rbs/type_alias_dependency.rb#65 def direct_dependency(type, result = T.unsafe(nil)); end end -# source://rbs/lib/rbs/type_alias_regularity.rb#4 +# source://rbs//lib/rbs/type_alias_regularity.rb#4 class RBS::TypeAliasRegularity # @return [TypeAliasRegularity] a new instance of TypeAliasRegularity # - # source://rbs/lib/rbs/type_alias_regularity.rb#16 + # source://rbs//lib/rbs/type_alias_regularity.rb#16 def initialize(env:); end - # source://rbs/lib/rbs/type_alias_regularity.rb#61 + # source://rbs//lib/rbs/type_alias_regularity.rb#61 def build_alias_type(name); end # Returns the value of attribute builder. # - # source://rbs/lib/rbs/type_alias_regularity.rb#14 + # source://rbs//lib/rbs/type_alias_regularity.rb#14 def builder; end # @return [Boolean] # - # source://rbs/lib/rbs/type_alias_regularity.rb#69 + # source://rbs//lib/rbs/type_alias_regularity.rb#69 def compatible_args?(args1, args2); end # Returns the value of attribute diagnostics. # - # source://rbs/lib/rbs/type_alias_regularity.rb#14 + # source://rbs//lib/rbs/type_alias_regularity.rb#14 def diagnostics; end - # source://rbs/lib/rbs/type_alias_regularity.rb#110 + # source://rbs//lib/rbs/type_alias_regularity.rb#110 def each_alias_type(type, &block); end - # source://rbs/lib/rbs/type_alias_regularity.rb#83 + # source://rbs//lib/rbs/type_alias_regularity.rb#83 def each_mutual_alias_defs(&block); end # Returns the value of attribute env. # - # source://rbs/lib/rbs/type_alias_regularity.rb#14 + # source://rbs//lib/rbs/type_alias_regularity.rb#14 def env; end # @return [Boolean] # - # source://rbs/lib/rbs/type_alias_regularity.rb#79 + # source://rbs//lib/rbs/type_alias_regularity.rb#79 def nonregular?(type_name); end - # source://rbs/lib/rbs/type_alias_regularity.rb#22 + # source://rbs//lib/rbs/type_alias_regularity.rb#22 def validate; end - # source://rbs/lib/rbs/type_alias_regularity.rb#39 + # source://rbs//lib/rbs/type_alias_regularity.rb#39 def validate_alias_type(alias_type, names, types); end class << self - # source://rbs/lib/rbs/type_alias_regularity.rb#120 + # source://rbs//lib/rbs/type_alias_regularity.rb#120 def validate(env:); end end end -# source://rbs/lib/rbs/type_alias_regularity.rb#5 +# source://rbs//lib/rbs/type_alias_regularity.rb#5 class RBS::TypeAliasRegularity::Diagnostic # @return [Diagnostic] a new instance of Diagnostic # - # source://rbs/lib/rbs/type_alias_regularity.rb#8 + # source://rbs//lib/rbs/type_alias_regularity.rb#8 def initialize(type_name:, nonregular_type:); end # Returns the value of attribute nonregular_type. # - # source://rbs/lib/rbs/type_alias_regularity.rb#6 + # source://rbs//lib/rbs/type_alias_regularity.rb#6 def nonregular_type; end # Returns the value of attribute type_name. # - # source://rbs/lib/rbs/type_alias_regularity.rb#6 + # source://rbs//lib/rbs/type_alias_regularity.rb#6 def type_name; end end -# source://rbs/lib/rbs/type_name.rb#4 +# source://rbs//lib/rbs/type_name.rb#4 class RBS::TypeName # @return [TypeName] a new instance of TypeName # - # source://rbs/lib/rbs/type_name.rb#9 + # source://rbs//lib/rbs/type_name.rb#9 def initialize(namespace:, name:); end - # source://rbs/lib/rbs/type_name.rb#79 + # source://rbs//lib/rbs/type_name.rb#79 def +(other); end - # source://rbs/lib/rbs/type_name.rb#25 + # source://rbs//lib/rbs/type_name.rb#25 def ==(other); end - # source://rbs/lib/rbs/type_name.rb#55 + # source://rbs//lib/rbs/type_name.rb#55 def absolute!; end # @return [Boolean] # - # source://rbs/lib/rbs/type_name.rb#59 + # source://rbs//lib/rbs/type_name.rb#59 def absolute?; end # @return [Boolean] # - # source://rbs/lib/rbs/type_name.rb#51 + # source://rbs//lib/rbs/type_name.rb#51 def alias?; end # @return [Boolean] # - # source://rbs/lib/rbs/type_name.rb#47 + # source://rbs//lib/rbs/type_name.rb#47 def class?; end - # source://rbs/lib/rbs/type_name.rb#25 + # source://rbs//lib/rbs/type_name.rb#25 def eql?(other); end - # source://rbs/lib/rbs/type_name.rb#31 + # source://rbs//lib/rbs/type_name.rb#31 def hash; end # @return [Boolean] # - # source://rbs/lib/rbs/type_name.rb#67 + # source://rbs//lib/rbs/type_name.rb#67 def interface?; end # Returns the value of attribute kind. # - # source://rbs/lib/rbs/type_name.rb#7 + # source://rbs//lib/rbs/type_name.rb#7 def kind; end # Returns the value of attribute name. # - # source://rbs/lib/rbs/type_name.rb#6 + # source://rbs//lib/rbs/type_name.rb#6 def name; end # Returns the value of attribute namespace. # - # source://rbs/lib/rbs/type_name.rb#5 + # source://rbs//lib/rbs/type_name.rb#5 def namespace; end - # source://rbs/lib/rbs/type_name.rb#63 + # source://rbs//lib/rbs/type_name.rb#63 def relative!; end - # source://rbs/lib/rbs/type_name.rb#75 + # source://rbs//lib/rbs/type_name.rb#75 def split; end - # source://rbs/lib/rbs/type_name.rb#39 + # source://rbs//lib/rbs/type_name.rb#39 def to_json(state = T.unsafe(nil)); end - # source://rbs/lib/rbs/type_name.rb#43 + # source://rbs//lib/rbs/type_name.rb#43 def to_namespace; end - # source://rbs/lib/rbs/type_name.rb#35 + # source://rbs//lib/rbs/type_name.rb#35 def to_s; end - # source://rbs/lib/rbs/type_name.rb#71 + # source://rbs//lib/rbs/type_name.rb#71 def with_prefix(namespace); end class << self - # source://rbs/lib/rbs/type_name.rb#90 + # source://rbs//lib/rbs/type_name.rb#90 def parse(string); end end end -# source://rbs/lib/rbs/errors.rb#580 +# source://rbs//lib/rbs/errors.rb#580 class RBS::TypeParamDefaultReferenceError < ::RBS::DefinitionError include ::RBS::DetailedMessageable # @return [TypeParamDefaultReferenceError] a new instance of TypeParamDefaultReferenceError # - # source://rbs/lib/rbs/errors.rb#586 + # source://rbs//lib/rbs/errors.rb#586 def initialize(type_param, location:); end # Returns the value of attribute location. # - # source://rbs/lib/rbs/errors.rb#584 + # source://rbs//lib/rbs/errors.rb#584 def location; end # Returns the value of attribute type_param. # - # source://rbs/lib/rbs/errors.rb#583 + # source://rbs//lib/rbs/errors.rb#583 def type_param; end class << self - # source://rbs/lib/rbs/errors.rb#592 + # source://rbs//lib/rbs/errors.rb#592 def check!(type_params); end end end -# source://rbs/lib/rbs/types.rb#4 +# source://rbs//lib/rbs/types.rb#4 module RBS::Types; end -# source://rbs/lib/rbs/types.rb#394 +# source://rbs//lib/rbs/types.rb#394 class RBS::Types::Alias include ::RBS::Types::Application # @return [Alias] a new instance of Alias # - # source://rbs/lib/rbs/types.rb#399 + # source://rbs//lib/rbs/types.rb#399 def initialize(name:, args:, location:); end # Returns the value of attribute location. # - # source://rbs/lib/rbs/types.rb#395 + # source://rbs//lib/rbs/types.rb#395 def location; end - # source://rbs/lib/rbs/types.rb#421 + # source://rbs//lib/rbs/types.rb#421 def map_type(&block); end - # source://rbs/lib/rbs/types.rb#413 + # source://rbs//lib/rbs/types.rb#413 def map_type_name(&block); end - # source://rbs/lib/rbs/types.rb#409 + # source://rbs//lib/rbs/types.rb#409 def sub(s); end - # source://rbs/lib/rbs/types.rb#405 + # source://rbs//lib/rbs/types.rb#405 def to_json(state = T.unsafe(nil)); end end -# source://rbs/lib/rbs/types.rb#252 +# source://rbs//lib/rbs/types.rb#252 module RBS::Types::Application - # source://rbs/lib/rbs/types.rb#256 + # source://rbs//lib/rbs/types.rb#256 def ==(other); end # Returns the value of attribute args. # - # source://rbs/lib/rbs/types.rb#254 + # source://rbs//lib/rbs/types.rb#254 def args; end - # source://rbs/lib/rbs/types.rb#282 + # source://rbs//lib/rbs/types.rb#282 def each_type(&block); end - # source://rbs/lib/rbs/types.rb#256 + # source://rbs//lib/rbs/types.rb#256 def eql?(other); end - # source://rbs/lib/rbs/types.rb#266 + # source://rbs//lib/rbs/types.rb#266 def free_variables(set = T.unsafe(nil)); end # @return [Boolean] # - # source://rbs/lib/rbs/types.rb#294 + # source://rbs//lib/rbs/types.rb#294 def has_classish_type?; end # @return [Boolean] # - # source://rbs/lib/rbs/types.rb#290 + # source://rbs//lib/rbs/types.rb#290 def has_self_type?; end - # source://rbs/lib/rbs/types.rb#262 + # source://rbs//lib/rbs/types.rb#262 def hash; end # Returns the value of attribute name. # - # source://rbs/lib/rbs/types.rb#253 + # source://rbs//lib/rbs/types.rb#253 def name; end - # source://rbs/lib/rbs/types.rb#274 + # source://rbs//lib/rbs/types.rb#274 def to_s(level = T.unsafe(nil)); end # @return [Boolean] # - # source://rbs/lib/rbs/types.rb#298 + # source://rbs//lib/rbs/types.rb#298 def with_nonreturn_void?; end end -# source://rbs/lib/rbs/types.rb#41 +# source://rbs//lib/rbs/types.rb#41 module RBS::Types::Bases; end -# source://rbs/lib/rbs/types.rb#109 +# source://rbs//lib/rbs/types.rb#109 class RBS::Types::Bases::Any < ::RBS::Types::Bases::Base - # source://rbs/lib/rbs/types.rb#110 + # source://rbs//lib/rbs/types.rb#110 def to_s(level = T.unsafe(nil)); end - # source://rbs/lib/rbs/types.rb#114 + # source://rbs//lib/rbs/types.rb#114 def todo!; end end -# source://rbs/lib/rbs/types.rb#42 +# source://rbs//lib/rbs/types.rb#42 class RBS::Types::Bases::Base include ::RBS::Types::NoFreeVariables include ::RBS::Types::NoSubst @@ -5573,135 +5573,135 @@ class RBS::Types::Bases::Base # @return [Base] a new instance of Base # - # source://rbs/lib/rbs/types.rb#45 + # source://rbs//lib/rbs/types.rb#45 def initialize(location:); end - # source://rbs/lib/rbs/types.rb#49 + # source://rbs//lib/rbs/types.rb#49 def ==(other); end - # source://rbs/lib/rbs/types.rb#49 + # source://rbs//lib/rbs/types.rb#49 def eql?(other); end # @return [Boolean] # - # source://rbs/lib/rbs/types.rb#98 + # source://rbs//lib/rbs/types.rb#98 def has_classish_type?; end # @return [Boolean] # - # source://rbs/lib/rbs/types.rb#94 + # source://rbs//lib/rbs/types.rb#94 def has_self_type?; end - # source://rbs/lib/rbs/types.rb#53 + # source://rbs//lib/rbs/types.rb#53 def hash; end # Returns the value of attribute location. # - # source://rbs/lib/rbs/types.rb#43 + # source://rbs//lib/rbs/types.rb#43 def location; end - # source://rbs/lib/rbs/types.rb#64 + # source://rbs//lib/rbs/types.rb#64 def to_json(state = T.unsafe(nil)); end - # source://rbs/lib/rbs/types.rb#69 + # source://rbs//lib/rbs/types.rb#69 def to_s(level = T.unsafe(nil)); end # @return [Boolean] # - # source://rbs/lib/rbs/types.rb#102 + # source://rbs//lib/rbs/types.rb#102 def with_nonreturn_void?; end end -# source://rbs/lib/rbs/types.rb#107 +# source://rbs//lib/rbs/types.rb#107 class RBS::Types::Bases::Bool < ::RBS::Types::Bases::Base; end -# source://rbs/lib/rbs/types.rb#121 +# source://rbs//lib/rbs/types.rb#121 class RBS::Types::Bases::Bottom < ::RBS::Types::Bases::Base; end -# source://rbs/lib/rbs/types.rb#128 +# source://rbs//lib/rbs/types.rb#128 class RBS::Types::Bases::Class < ::RBS::Types::Bases::Base; end -# source://rbs/lib/rbs/types.rb#123 +# source://rbs//lib/rbs/types.rb#123 class RBS::Types::Bases::Instance < ::RBS::Types::Bases::Base - # source://rbs/lib/rbs/types.rb#124 + # source://rbs//lib/rbs/types.rb#124 def sub(s); end end -# source://rbs/lib/rbs/types.rb#119 +# source://rbs//lib/rbs/types.rb#119 class RBS::Types::Bases::Nil < ::RBS::Types::Bases::Base; end -# source://rbs/lib/rbs/types.rb#122 +# source://rbs//lib/rbs/types.rb#122 class RBS::Types::Bases::Self < ::RBS::Types::Bases::Base; end -# source://rbs/lib/rbs/types.rb#120 +# source://rbs//lib/rbs/types.rb#120 class RBS::Types::Bases::Top < ::RBS::Types::Bases::Base; end -# source://rbs/lib/rbs/types.rb#108 +# source://rbs//lib/rbs/types.rb#108 class RBS::Types::Bases::Void < ::RBS::Types::Bases::Base; end -# source://rbs/lib/rbs/types.rb#1307 +# source://rbs//lib/rbs/types.rb#1307 class RBS::Types::Block # @return [Block] a new instance of Block # - # source://rbs/lib/rbs/types.rb#1312 + # source://rbs//lib/rbs/types.rb#1312 def initialize(type:, required:, self_type: T.unsafe(nil)); end - # source://rbs/lib/rbs/types.rb#1318 + # source://rbs//lib/rbs/types.rb#1318 def ==(other); end - # source://rbs/lib/rbs/types.rb#1341 + # source://rbs//lib/rbs/types.rb#1341 def map_type(&block); end # Returns the value of attribute required. # - # source://rbs/lib/rbs/types.rb#1309 + # source://rbs//lib/rbs/types.rb#1309 def required; end # Returns the value of attribute self_type. # - # source://rbs/lib/rbs/types.rb#1310 + # source://rbs//lib/rbs/types.rb#1310 def self_type; end - # source://rbs/lib/rbs/types.rb#1333 + # source://rbs//lib/rbs/types.rb#1333 def sub(s); end - # source://rbs/lib/rbs/types.rb#1325 + # source://rbs//lib/rbs/types.rb#1325 def to_json(state = T.unsafe(nil)); end # Returns the value of attribute type. # - # source://rbs/lib/rbs/types.rb#1308 + # source://rbs//lib/rbs/types.rb#1308 def type; end end -# source://rbs/lib/rbs/types.rb#352 +# source://rbs//lib/rbs/types.rb#352 class RBS::Types::ClassInstance include ::RBS::Types::Application # @return [ClassInstance] a new instance of ClassInstance # - # source://rbs/lib/rbs/types.rb#357 + # source://rbs//lib/rbs/types.rb#357 def initialize(name:, args:, location:); end # Returns the value of attribute location. # - # source://rbs/lib/rbs/types.rb#353 + # source://rbs//lib/rbs/types.rb#353 def location; end - # source://rbs/lib/rbs/types.rb#381 + # source://rbs//lib/rbs/types.rb#381 def map_type(&block); end - # source://rbs/lib/rbs/types.rb#373 + # source://rbs//lib/rbs/types.rb#373 def map_type_name(&block); end - # source://rbs/lib/rbs/types.rb#367 + # source://rbs//lib/rbs/types.rb#367 def sub(s); end - # source://rbs/lib/rbs/types.rb#363 + # source://rbs//lib/rbs/types.rb#363 def to_json(state = T.unsafe(nil)); end end -# source://rbs/lib/rbs/types.rb#200 +# source://rbs//lib/rbs/types.rb#200 class RBS::Types::ClassSingleton include ::RBS::Types::NoFreeVariables include ::RBS::Types::NoSubst @@ -5709,326 +5709,326 @@ class RBS::Types::ClassSingleton # @return [ClassSingleton] a new instance of ClassSingleton # - # source://rbs/lib/rbs/types.rb#204 + # source://rbs//lib/rbs/types.rb#204 def initialize(name:, location:); end - # source://rbs/lib/rbs/types.rb#209 + # source://rbs//lib/rbs/types.rb#209 def ==(other); end - # source://rbs/lib/rbs/types.rb#209 + # source://rbs//lib/rbs/types.rb#209 def eql?(other); end # @return [Boolean] # - # source://rbs/lib/rbs/types.rb#243 + # source://rbs//lib/rbs/types.rb#243 def has_classish_type?; end # @return [Boolean] # - # source://rbs/lib/rbs/types.rb#239 + # source://rbs//lib/rbs/types.rb#239 def has_self_type?; end - # source://rbs/lib/rbs/types.rb#215 + # source://rbs//lib/rbs/types.rb#215 def hash; end # Returns the value of attribute location. # - # source://rbs/lib/rbs/types.rb#202 + # source://rbs//lib/rbs/types.rb#202 def location; end - # source://rbs/lib/rbs/types.rb#232 + # source://rbs//lib/rbs/types.rb#232 def map_type_name; end # Returns the value of attribute name. # - # source://rbs/lib/rbs/types.rb#201 + # source://rbs//lib/rbs/types.rb#201 def name; end - # source://rbs/lib/rbs/types.rb#222 + # source://rbs//lib/rbs/types.rb#222 def to_json(state = T.unsafe(nil)); end - # source://rbs/lib/rbs/types.rb#226 + # source://rbs//lib/rbs/types.rb#226 def to_s(level = T.unsafe(nil)); end # @return [Boolean] # - # source://rbs/lib/rbs/types.rb#247 + # source://rbs//lib/rbs/types.rb#247 def with_nonreturn_void?; end end -# source://rbs/lib/rbs/types.rb#23 +# source://rbs//lib/rbs/types.rb#23 module RBS::Types::EmptyEachType - # source://rbs/lib/rbs/types.rb#24 + # source://rbs//lib/rbs/types.rb#24 def each_type; end - # source://rbs/lib/rbs/types.rb#32 + # source://rbs//lib/rbs/types.rb#32 def map_type(&block); end end -# source://rbs/lib/rbs/types.rb#878 +# source://rbs//lib/rbs/types.rb#878 class RBS::Types::Function # @return [Function] a new instance of Function # - # source://rbs/lib/rbs/types.rb#934 + # source://rbs//lib/rbs/types.rb#934 def initialize(required_positionals:, optional_positionals:, rest_positionals:, trailing_positionals:, required_keywords:, optional_keywords:, rest_keywords:, return_type:); end - # source://rbs/lib/rbs/types.rb#945 + # source://rbs//lib/rbs/types.rb#945 def ==(other); end - # source://rbs/lib/rbs/types.rb#1016 + # source://rbs//lib/rbs/types.rb#1016 def amap(array, &block); end - # source://rbs/lib/rbs/types.rb#1153 + # source://rbs//lib/rbs/types.rb#1153 def drop_head; end - # source://rbs/lib/rbs/types.rb#1170 + # source://rbs//lib/rbs/types.rb#1170 def drop_tail; end - # source://rbs/lib/rbs/types.rb#1053 + # source://rbs//lib/rbs/types.rb#1053 def each_param(&block); end - # source://rbs/lib/rbs/types.rb#1038 + # source://rbs//lib/rbs/types.rb#1038 def each_type; end # @return [Boolean] # - # source://rbs/lib/rbs/types.rb#1124 + # source://rbs//lib/rbs/types.rb#1124 def empty?; end - # source://rbs/lib/rbs/types.rb#945 + # source://rbs//lib/rbs/types.rb#945 def eql?(other); end - # source://rbs/lib/rbs/types.rb#971 + # source://rbs//lib/rbs/types.rb#971 def free_variables(set = T.unsafe(nil)); end # @return [Boolean] # - # source://rbs/lib/rbs/types.rb#1195 + # source://rbs//lib/rbs/types.rb#1195 def has_classish_type?; end # @return [Boolean] # - # source://rbs/lib/rbs/types.rb#1183 + # source://rbs//lib/rbs/types.rb#1183 def has_keyword?; end # @return [Boolean] # - # source://rbs/lib/rbs/types.rb#1191 + # source://rbs//lib/rbs/types.rb#1191 def has_self_type?; end - # source://rbs/lib/rbs/types.rb#959 + # source://rbs//lib/rbs/types.rb#959 def hash; end - # source://rbs/lib/rbs/types.rb#1024 + # source://rbs//lib/rbs/types.rb#1024 def hmapv(hash, &block); end - # source://rbs/lib/rbs/types.rb#999 + # source://rbs//lib/rbs/types.rb#999 def map_type(&block); end - # source://rbs/lib/rbs/types.rb#1032 + # source://rbs//lib/rbs/types.rb#1032 def map_type_name(&block); end # Returns the value of attribute optional_keywords. # - # source://rbs/lib/rbs/types.rb#930 + # source://rbs//lib/rbs/types.rb#930 def optional_keywords; end # Returns the value of attribute optional_positionals. # - # source://rbs/lib/rbs/types.rb#926 + # source://rbs//lib/rbs/types.rb#926 def optional_positionals; end - # source://rbs/lib/rbs/types.rb#1134 + # source://rbs//lib/rbs/types.rb#1134 def param_to_s; end # Returns the value of attribute required_keywords. # - # source://rbs/lib/rbs/types.rb#929 + # source://rbs//lib/rbs/types.rb#929 def required_keywords; end # Returns the value of attribute required_positionals. # - # source://rbs/lib/rbs/types.rb#925 + # source://rbs//lib/rbs/types.rb#925 def required_positionals; end # Returns the value of attribute rest_keywords. # - # source://rbs/lib/rbs/types.rb#931 + # source://rbs//lib/rbs/types.rb#931 def rest_keywords; end # Returns the value of attribute rest_positionals. # - # source://rbs/lib/rbs/types.rb#927 + # source://rbs//lib/rbs/types.rb#927 def rest_positionals; end - # source://rbs/lib/rbs/types.rb#1149 + # source://rbs//lib/rbs/types.rb#1149 def return_to_s; end # Returns the value of attribute return_type. # - # source://rbs/lib/rbs/types.rb#932 + # source://rbs//lib/rbs/types.rb#932 def return_type; end - # source://rbs/lib/rbs/types.rb#1080 + # source://rbs//lib/rbs/types.rb#1080 def sub(s); end - # source://rbs/lib/rbs/types.rb#1067 + # source://rbs//lib/rbs/types.rb#1067 def to_json(state = T.unsafe(nil)); end # Returns the value of attribute trailing_positionals. # - # source://rbs/lib/rbs/types.rb#928 + # source://rbs//lib/rbs/types.rb#928 def trailing_positionals; end - # source://rbs/lib/rbs/types.rb#1110 + # source://rbs//lib/rbs/types.rb#1110 def update(required_positionals: T.unsafe(nil), optional_positionals: T.unsafe(nil), rest_positionals: T.unsafe(nil), trailing_positionals: T.unsafe(nil), required_keywords: T.unsafe(nil), optional_keywords: T.unsafe(nil), rest_keywords: T.unsafe(nil), return_type: T.unsafe(nil)); end # @return [Boolean] # - # source://rbs/lib/rbs/types.rb#1199 + # source://rbs//lib/rbs/types.rb#1199 def with_nonreturn_void?; end - # source://rbs/lib/rbs/types.rb#1097 + # source://rbs//lib/rbs/types.rb#1097 def with_return_type(type); end class << self - # source://rbs/lib/rbs/types.rb#1084 + # source://rbs//lib/rbs/types.rb#1084 def empty(return_type); end end end -# source://rbs/lib/rbs/types.rb#879 +# source://rbs//lib/rbs/types.rb#879 class RBS::Types::Function::Param # @return [Param] a new instance of Param # - # source://rbs/lib/rbs/types.rb#884 + # source://rbs//lib/rbs/types.rb#884 def initialize(type:, name:, location: T.unsafe(nil)); end - # source://rbs/lib/rbs/types.rb#890 + # source://rbs//lib/rbs/types.rb#890 def ==(other); end - # source://rbs/lib/rbs/types.rb#890 + # source://rbs//lib/rbs/types.rb#890 def eql?(other); end - # source://rbs/lib/rbs/types.rb#896 + # source://rbs//lib/rbs/types.rb#896 def hash; end # Returns the value of attribute location. # - # source://rbs/lib/rbs/types.rb#882 + # source://rbs//lib/rbs/types.rb#882 def location; end - # source://rbs/lib/rbs/types.rb#900 + # source://rbs//lib/rbs/types.rb#900 def map_type(&block); end # Returns the value of attribute name. # - # source://rbs/lib/rbs/types.rb#881 + # source://rbs//lib/rbs/types.rb#881 def name; end - # source://rbs/lib/rbs/types.rb#908 + # source://rbs//lib/rbs/types.rb#908 def to_json(state = T.unsafe(nil)); end - # source://rbs/lib/rbs/types.rb#912 + # source://rbs//lib/rbs/types.rb#912 def to_s; end # Returns the value of attribute type. # - # source://rbs/lib/rbs/types.rb#880 + # source://rbs//lib/rbs/types.rb#880 def type; end end -# source://rbs/lib/rbs/types.rb#310 +# source://rbs//lib/rbs/types.rb#310 class RBS::Types::Interface include ::RBS::Types::Application # @return [Interface] a new instance of Interface # - # source://rbs/lib/rbs/types.rb#315 + # source://rbs//lib/rbs/types.rb#315 def initialize(name:, args:, location:); end # Returns the value of attribute location. # - # source://rbs/lib/rbs/types.rb#311 + # source://rbs//lib/rbs/types.rb#311 def location; end - # source://rbs/lib/rbs/types.rb#339 + # source://rbs//lib/rbs/types.rb#339 def map_type(&block); end - # source://rbs/lib/rbs/types.rb#331 + # source://rbs//lib/rbs/types.rb#331 def map_type_name(&block); end - # source://rbs/lib/rbs/types.rb#325 + # source://rbs//lib/rbs/types.rb#325 def sub(s); end - # source://rbs/lib/rbs/types.rb#321 + # source://rbs//lib/rbs/types.rb#321 def to_json(state = T.unsafe(nil)); end end -# source://rbs/lib/rbs/types.rb#797 +# source://rbs//lib/rbs/types.rb#797 class RBS::Types::Intersection # @return [Intersection] a new instance of Intersection # - # source://rbs/lib/rbs/types.rb#801 + # source://rbs//lib/rbs/types.rb#801 def initialize(types:, location:); end - # source://rbs/lib/rbs/types.rb#806 + # source://rbs//lib/rbs/types.rb#806 def ==(other); end - # source://rbs/lib/rbs/types.rb#842 + # source://rbs//lib/rbs/types.rb#842 def each_type(&block); end - # source://rbs/lib/rbs/types.rb#806 + # source://rbs//lib/rbs/types.rb#806 def eql?(other); end - # source://rbs/lib/rbs/types.rb#816 + # source://rbs//lib/rbs/types.rb#816 def free_variables(set = T.unsafe(nil)); end # @return [Boolean] # - # source://rbs/lib/rbs/types.rb#869 + # source://rbs//lib/rbs/types.rb#869 def has_classish_type?; end # @return [Boolean] # - # source://rbs/lib/rbs/types.rb#865 + # source://rbs//lib/rbs/types.rb#865 def has_self_type?; end - # source://rbs/lib/rbs/types.rb#812 + # source://rbs//lib/rbs/types.rb#812 def hash; end # Returns the value of attribute location. # - # source://rbs/lib/rbs/types.rb#799 + # source://rbs//lib/rbs/types.rb#799 def location; end - # source://rbs/lib/rbs/types.rb#850 + # source://rbs//lib/rbs/types.rb#850 def map_type(&block); end - # source://rbs/lib/rbs/types.rb#858 + # source://rbs//lib/rbs/types.rb#858 def map_type_name(&block); end - # source://rbs/lib/rbs/types.rb#828 + # source://rbs//lib/rbs/types.rb#828 def sub(s); end - # source://rbs/lib/rbs/types.rb#824 + # source://rbs//lib/rbs/types.rb#824 def to_json(state = T.unsafe(nil)); end - # source://rbs/lib/rbs/types.rb#833 + # source://rbs//lib/rbs/types.rb#833 def to_s(level = T.unsafe(nil)); end # Returns the value of attribute types. # - # source://rbs/lib/rbs/types.rb#798 + # source://rbs//lib/rbs/types.rb#798 def types; end # @return [Boolean] # - # source://rbs/lib/rbs/types.rb#873 + # source://rbs//lib/rbs/types.rb#873 def with_nonreturn_void?; end end -# source://rbs/lib/rbs/types.rb#1483 +# source://rbs//lib/rbs/types.rb#1483 class RBS::Types::Literal include ::RBS::Types::NoFreeVariables include ::RBS::Types::NoSubst @@ -6037,844 +6037,844 @@ class RBS::Types::Literal # @return [Literal] a new instance of Literal # - # source://rbs/lib/rbs/types.rb#1487 + # source://rbs//lib/rbs/types.rb#1487 def initialize(literal:, location:); end - # source://rbs/lib/rbs/types.rb#1492 + # source://rbs//lib/rbs/types.rb#1492 def ==(other); end - # source://rbs/lib/rbs/types.rb#1492 + # source://rbs//lib/rbs/types.rb#1492 def eql?(other); end # @return [Boolean] # - # source://rbs/lib/rbs/types.rb#1519 + # source://rbs//lib/rbs/types.rb#1519 def has_classish_type?; end # @return [Boolean] # - # source://rbs/lib/rbs/types.rb#1515 + # source://rbs//lib/rbs/types.rb#1515 def has_self_type?; end - # source://rbs/lib/rbs/types.rb#1498 + # source://rbs//lib/rbs/types.rb#1498 def hash; end # Returns the value of attribute literal. # - # source://rbs/lib/rbs/types.rb#1484 + # source://rbs//lib/rbs/types.rb#1484 def literal; end # Returns the value of attribute location. # - # source://rbs/lib/rbs/types.rb#1485 + # source://rbs//lib/rbs/types.rb#1485 def location; end - # source://rbs/lib/rbs/types.rb#1507 + # source://rbs//lib/rbs/types.rb#1507 def to_json(state = T.unsafe(nil)); end - # source://rbs/lib/rbs/types.rb#1511 + # source://rbs//lib/rbs/types.rb#1511 def to_s(level = T.unsafe(nil)); end # @return [Boolean] # - # source://rbs/lib/rbs/types.rb#1523 + # source://rbs//lib/rbs/types.rb#1523 def with_nonreturn_void?; end class << self - # source://rbs/lib/rbs/types.rb#1543 + # source://rbs//lib/rbs/types.rb#1543 def unescape_string(string, is_double_quote); end end end -# source://rbs/lib/rbs/types.rb#1527 +# source://rbs//lib/rbs/types.rb#1527 RBS::Types::Literal::TABLE = T.let(T.unsafe(nil), Hash) -# source://rbs/lib/rbs/types.rb#5 +# source://rbs//lib/rbs/types.rb#5 module RBS::Types::NoFreeVariables - # source://rbs/lib/rbs/types.rb#6 + # source://rbs//lib/rbs/types.rb#6 def free_variables(set = T.unsafe(nil)); end end -# source://rbs/lib/rbs/types.rb#11 +# source://rbs//lib/rbs/types.rb#11 module RBS::Types::NoSubst - # source://rbs/lib/rbs/types.rb#12 + # source://rbs//lib/rbs/types.rb#12 def sub(s); end end -# source://rbs/lib/rbs/types.rb#17 +# source://rbs//lib/rbs/types.rb#17 module RBS::Types::NoTypeName - # source://rbs/lib/rbs/types.rb#18 + # source://rbs//lib/rbs/types.rb#18 def map_type_name; end end -# source://rbs/lib/rbs/types.rb#633 +# source://rbs//lib/rbs/types.rb#633 class RBS::Types::Optional # @return [Optional] a new instance of Optional # - # source://rbs/lib/rbs/types.rb#637 + # source://rbs//lib/rbs/types.rb#637 def initialize(type:, location:); end - # source://rbs/lib/rbs/types.rb#642 + # source://rbs//lib/rbs/types.rb#642 def ==(other); end - # source://rbs/lib/rbs/types.rb#678 + # source://rbs//lib/rbs/types.rb#678 def each_type; end - # source://rbs/lib/rbs/types.rb#642 + # source://rbs//lib/rbs/types.rb#642 def eql?(other); end - # source://rbs/lib/rbs/types.rb#652 + # source://rbs//lib/rbs/types.rb#652 def free_variables(set = T.unsafe(nil)); end # @return [Boolean] # - # source://rbs/lib/rbs/types.rb#708 + # source://rbs//lib/rbs/types.rb#708 def has_classish_type?; end # @return [Boolean] # - # source://rbs/lib/rbs/types.rb#704 + # source://rbs//lib/rbs/types.rb#704 def has_self_type?; end - # source://rbs/lib/rbs/types.rb#648 + # source://rbs//lib/rbs/types.rb#648 def hash; end # Returns the value of attribute location. # - # source://rbs/lib/rbs/types.rb#635 + # source://rbs//lib/rbs/types.rb#635 def location; end - # source://rbs/lib/rbs/types.rb#693 + # source://rbs//lib/rbs/types.rb#693 def map_type(&block); end - # source://rbs/lib/rbs/types.rb#686 + # source://rbs//lib/rbs/types.rb#686 def map_type_name(&block); end - # source://rbs/lib/rbs/types.rb#660 + # source://rbs//lib/rbs/types.rb#660 def sub(s); end - # source://rbs/lib/rbs/types.rb#656 + # source://rbs//lib/rbs/types.rb#656 def to_json(state = T.unsafe(nil)); end - # source://rbs/lib/rbs/types.rb#664 + # source://rbs//lib/rbs/types.rb#664 def to_s(level = T.unsafe(nil)); end # Returns the value of attribute type. # - # source://rbs/lib/rbs/types.rb#634 + # source://rbs//lib/rbs/types.rb#634 def type; end # @return [Boolean] # - # source://rbs/lib/rbs/types.rb#712 + # source://rbs//lib/rbs/types.rb#712 def with_nonreturn_void?; end end -# source://rbs/lib/rbs/types.rb#1362 +# source://rbs//lib/rbs/types.rb#1362 class RBS::Types::Proc # @return [Proc] a new instance of Proc # - # source://rbs/lib/rbs/types.rb#1368 + # source://rbs//lib/rbs/types.rb#1368 def initialize(location:, type:, block:, self_type: T.unsafe(nil)); end - # source://rbs/lib/rbs/types.rb#1375 + # source://rbs//lib/rbs/types.rb#1375 def ==(other); end # Returns the value of attribute block. # - # source://rbs/lib/rbs/types.rb#1364 + # source://rbs//lib/rbs/types.rb#1364 def block; end - # source://rbs/lib/rbs/types.rb#1427 + # source://rbs//lib/rbs/types.rb#1427 def each_type(&block); end - # source://rbs/lib/rbs/types.rb#1375 + # source://rbs//lib/rbs/types.rb#1375 def eql?(other); end - # source://rbs/lib/rbs/types.rb#1385 + # source://rbs//lib/rbs/types.rb#1385 def free_variables(set = T.unsafe(nil)); end # @return [Boolean] # - # source://rbs/lib/rbs/types.rb#1466 + # source://rbs//lib/rbs/types.rb#1466 def has_classish_type?; end # @return [Boolean] # - # source://rbs/lib/rbs/types.rb#1462 + # source://rbs//lib/rbs/types.rb#1462 def has_self_type?; end - # source://rbs/lib/rbs/types.rb#1381 + # source://rbs//lib/rbs/types.rb#1381 def hash; end # Returns the value of attribute location. # - # source://rbs/lib/rbs/types.rb#1366 + # source://rbs//lib/rbs/types.rb#1366 def location; end - # source://rbs/lib/rbs/types.rb#1449 + # source://rbs//lib/rbs/types.rb#1449 def map_type(&block); end - # source://rbs/lib/rbs/types.rb#1440 + # source://rbs//lib/rbs/types.rb#1440 def map_type_name(&block); end # Returns the value of attribute self_type. # - # source://rbs/lib/rbs/types.rb#1365 + # source://rbs//lib/rbs/types.rb#1365 def self_type; end - # source://rbs/lib/rbs/types.rb#1402 + # source://rbs//lib/rbs/types.rb#1402 def sub(s); end - # source://rbs/lib/rbs/types.rb#1392 + # source://rbs//lib/rbs/types.rb#1392 def to_json(state = T.unsafe(nil)); end - # source://rbs/lib/rbs/types.rb#1411 + # source://rbs//lib/rbs/types.rb#1411 def to_s(level = T.unsafe(nil)); end # Returns the value of attribute type. # - # source://rbs/lib/rbs/types.rb#1363 + # source://rbs//lib/rbs/types.rb#1363 def type; end # @return [Boolean] # - # source://rbs/lib/rbs/types.rb#1470 + # source://rbs//lib/rbs/types.rb#1470 def with_nonreturn_void?; end end -# source://rbs/lib/rbs/types.rb#517 +# source://rbs//lib/rbs/types.rb#517 class RBS::Types::Record # @return [Record] a new instance of Record # - # source://rbs/lib/rbs/types.rb#521 + # source://rbs//lib/rbs/types.rb#521 def initialize(location:, all_fields: T.unsafe(nil), fields: T.unsafe(nil)); end - # source://rbs/lib/rbs/types.rb#545 + # source://rbs//lib/rbs/types.rb#545 def ==(other); end # Returns the value of attribute all_fields. # - # source://rbs/lib/rbs/types.rb#518 + # source://rbs//lib/rbs/types.rb#518 def all_fields; end - # source://rbs/lib/rbs/types.rb#593 + # source://rbs//lib/rbs/types.rb#593 def each_type(&block); end - # source://rbs/lib/rbs/types.rb#545 + # source://rbs//lib/rbs/types.rb#545 def eql?(other); end # Returns the value of attribute fields. # - # source://rbs/lib/rbs/types.rb#518 + # source://rbs//lib/rbs/types.rb#518 def fields; end - # source://rbs/lib/rbs/types.rb#555 + # source://rbs//lib/rbs/types.rb#555 def free_variables(set = T.unsafe(nil)); end # @return [Boolean] # - # source://rbs/lib/rbs/types.rb#624 + # source://rbs//lib/rbs/types.rb#624 def has_classish_type?; end # @return [Boolean] # - # source://rbs/lib/rbs/types.rb#620 + # source://rbs//lib/rbs/types.rb#620 def has_self_type?; end - # source://rbs/lib/rbs/types.rb#551 + # source://rbs//lib/rbs/types.rb#551 def hash; end # Returns the value of attribute location. # - # source://rbs/lib/rbs/types.rb#519 + # source://rbs//lib/rbs/types.rb#519 def location; end - # source://rbs/lib/rbs/types.rb#609 + # source://rbs//lib/rbs/types.rb#609 def map_type(&block); end - # source://rbs/lib/rbs/types.rb#602 + # source://rbs//lib/rbs/types.rb#602 def map_type_name(&block); end # Returns the value of attribute optional_fields. # - # source://rbs/lib/rbs/types.rb#518 + # source://rbs//lib/rbs/types.rb#518 def optional_fields; end - # source://rbs/lib/rbs/types.rb#570 + # source://rbs//lib/rbs/types.rb#570 def sub(s); end - # source://rbs/lib/rbs/types.rb#566 + # source://rbs//lib/rbs/types.rb#566 def to_json(state = T.unsafe(nil)); end - # source://rbs/lib/rbs/types.rb#577 + # source://rbs//lib/rbs/types.rb#577 def to_s(level = T.unsafe(nil)); end # @return [Boolean] # - # source://rbs/lib/rbs/types.rb#628 + # source://rbs//lib/rbs/types.rb#628 def with_nonreturn_void?; end end -# source://rbs/lib/rbs/types.rb#1350 +# source://rbs//lib/rbs/types.rb#1350 module RBS::Types::SelfTypeBindingHelper private - # source://rbs/lib/rbs/types.rb#1353 + # source://rbs//lib/rbs/types.rb#1353 def self_type_binding_to_s(t); end class << self - # source://rbs/lib/rbs/types.rb#1353 + # source://rbs//lib/rbs/types.rb#1353 def self_type_binding_to_s(t); end end end -# source://rbs/lib/rbs/types.rb#434 +# source://rbs//lib/rbs/types.rb#434 class RBS::Types::Tuple # @return [Tuple] a new instance of Tuple # - # source://rbs/lib/rbs/types.rb#438 + # source://rbs//lib/rbs/types.rb#438 def initialize(types:, location:); end - # source://rbs/lib/rbs/types.rb#443 + # source://rbs//lib/rbs/types.rb#443 def ==(other); end - # source://rbs/lib/rbs/types.rb#478 + # source://rbs//lib/rbs/types.rb#478 def each_type(&block); end - # source://rbs/lib/rbs/types.rb#443 + # source://rbs//lib/rbs/types.rb#443 def eql?(other); end - # source://rbs/lib/rbs/types.rb#453 + # source://rbs//lib/rbs/types.rb#453 def free_variables(set = T.unsafe(nil)); end # @return [Boolean] # - # source://rbs/lib/rbs/types.rb#508 + # source://rbs//lib/rbs/types.rb#508 def has_classish_type?; end # @return [Boolean] # - # source://rbs/lib/rbs/types.rb#504 + # source://rbs//lib/rbs/types.rb#504 def has_self_type?; end - # source://rbs/lib/rbs/types.rb#449 + # source://rbs//lib/rbs/types.rb#449 def hash; end # Returns the value of attribute location. # - # source://rbs/lib/rbs/types.rb#436 + # source://rbs//lib/rbs/types.rb#436 def location; end - # source://rbs/lib/rbs/types.rb#493 + # source://rbs//lib/rbs/types.rb#493 def map_type(&block); end - # source://rbs/lib/rbs/types.rb#486 + # source://rbs//lib/rbs/types.rb#486 def map_type_name(&block); end - # source://rbs/lib/rbs/types.rb#465 + # source://rbs//lib/rbs/types.rb#465 def sub(s); end - # source://rbs/lib/rbs/types.rb#461 + # source://rbs//lib/rbs/types.rb#461 def to_json(state = T.unsafe(nil)); end - # source://rbs/lib/rbs/types.rb#470 + # source://rbs//lib/rbs/types.rb#470 def to_s(level = T.unsafe(nil)); end # Returns the value of attribute types. # - # source://rbs/lib/rbs/types.rb#435 + # source://rbs//lib/rbs/types.rb#435 def types; end # @return [Boolean] # - # source://rbs/lib/rbs/types.rb#512 + # source://rbs//lib/rbs/types.rb#512 def with_nonreturn_void?; end end -# source://rbs/lib/rbs/types.rb#717 +# source://rbs//lib/rbs/types.rb#717 class RBS::Types::Union # @return [Union] a new instance of Union # - # source://rbs/lib/rbs/types.rb#721 + # source://rbs//lib/rbs/types.rb#721 def initialize(types:, location:); end - # source://rbs/lib/rbs/types.rb#726 + # source://rbs//lib/rbs/types.rb#726 def ==(other); end - # source://rbs/lib/rbs/types.rb#761 + # source://rbs//lib/rbs/types.rb#761 def each_type(&block); end - # source://rbs/lib/rbs/types.rb#726 + # source://rbs//lib/rbs/types.rb#726 def eql?(other); end - # source://rbs/lib/rbs/types.rb#736 + # source://rbs//lib/rbs/types.rb#736 def free_variables(set = T.unsafe(nil)); end # @return [Boolean] # - # source://rbs/lib/rbs/types.rb#788 + # source://rbs//lib/rbs/types.rb#788 def has_classish_type?; end # @return [Boolean] # - # source://rbs/lib/rbs/types.rb#784 + # source://rbs//lib/rbs/types.rb#784 def has_self_type?; end - # source://rbs/lib/rbs/types.rb#732 + # source://rbs//lib/rbs/types.rb#732 def hash; end # Returns the value of attribute location. # - # source://rbs/lib/rbs/types.rb#719 + # source://rbs//lib/rbs/types.rb#719 def location; end - # source://rbs/lib/rbs/types.rb#769 + # source://rbs//lib/rbs/types.rb#769 def map_type(&block); end - # source://rbs/lib/rbs/types.rb#777 + # source://rbs//lib/rbs/types.rb#777 def map_type_name(&block); end - # source://rbs/lib/rbs/types.rb#748 + # source://rbs//lib/rbs/types.rb#748 def sub(s); end - # source://rbs/lib/rbs/types.rb#744 + # source://rbs//lib/rbs/types.rb#744 def to_json(state = T.unsafe(nil)); end - # source://rbs/lib/rbs/types.rb#753 + # source://rbs//lib/rbs/types.rb#753 def to_s(level = T.unsafe(nil)); end # Returns the value of attribute types. # - # source://rbs/lib/rbs/types.rb#718 + # source://rbs//lib/rbs/types.rb#718 def types; end # @return [Boolean] # - # source://rbs/lib/rbs/types.rb#792 + # source://rbs//lib/rbs/types.rb#792 def with_nonreturn_void?; end end -# source://rbs/lib/rbs/types.rb#1212 +# source://rbs//lib/rbs/types.rb#1212 class RBS::Types::UntypedFunction # @return [UntypedFunction] a new instance of UntypedFunction # - # source://rbs/lib/rbs/types.rb#1215 + # source://rbs//lib/rbs/types.rb#1215 def initialize(return_type:); end - # source://rbs/lib/rbs/types.rb#1295 + # source://rbs//lib/rbs/types.rb#1295 def ==(other); end - # source://rbs/lib/rbs/types.rb#1245 + # source://rbs//lib/rbs/types.rb#1245 def each_param(&block); end - # source://rbs/lib/rbs/types.rb#1237 + # source://rbs//lib/rbs/types.rb#1237 def each_type(&block); end # @return [Boolean] # - # source://rbs/lib/rbs/types.rb#1271 + # source://rbs//lib/rbs/types.rb#1271 def empty?; end - # source://rbs/lib/rbs/types.rb#1295 + # source://rbs//lib/rbs/types.rb#1295 def eql?(other); end - # source://rbs/lib/rbs/types.rb#1219 + # source://rbs//lib/rbs/types.rb#1219 def free_variables(acc = T.unsafe(nil)); end # @return [Boolean] # - # source://rbs/lib/rbs/types.rb#1279 + # source://rbs//lib/rbs/types.rb#1279 def has_classish_type?; end # @return [Boolean] # - # source://rbs/lib/rbs/types.rb#1275 + # source://rbs//lib/rbs/types.rb#1275 def has_self_type?; end - # source://rbs/lib/rbs/types.rb#1301 + # source://rbs//lib/rbs/types.rb#1301 def hash; end - # source://rbs/lib/rbs/types.rb#1223 + # source://rbs//lib/rbs/types.rb#1223 def map_type(&block); end - # source://rbs/lib/rbs/types.rb#1231 + # source://rbs//lib/rbs/types.rb#1231 def map_type_name(&block); end - # source://rbs/lib/rbs/types.rb#1287 + # source://rbs//lib/rbs/types.rb#1287 def param_to_s; end - # source://rbs/lib/rbs/types.rb#1291 + # source://rbs//lib/rbs/types.rb#1291 def return_to_s; end # Returns the value of attribute return_type. # - # source://rbs/lib/rbs/types.rb#1213 + # source://rbs//lib/rbs/types.rb#1213 def return_type; end - # source://rbs/lib/rbs/types.rb#1259 + # source://rbs//lib/rbs/types.rb#1259 def sub(subst); end - # source://rbs/lib/rbs/types.rb#1253 + # source://rbs//lib/rbs/types.rb#1253 def to_json(state = T.unsafe(nil)); end - # source://rbs/lib/rbs/types.rb#1267 + # source://rbs//lib/rbs/types.rb#1267 def update(return_type: T.unsafe(nil)); end # @return [Boolean] # - # source://rbs/lib/rbs/types.rb#1283 + # source://rbs//lib/rbs/types.rb#1283 def with_nonreturn_void?; end - # source://rbs/lib/rbs/types.rb#1263 + # source://rbs//lib/rbs/types.rb#1263 def with_return_type(ty); end end -# source://rbs/lib/rbs/types.rb#131 +# source://rbs//lib/rbs/types.rb#131 class RBS::Types::Variable include ::RBS::Types::NoTypeName include ::RBS::Types::EmptyEachType # @return [Variable] a new instance of Variable # - # source://rbs/lib/rbs/types.rb#137 + # source://rbs//lib/rbs/types.rb#137 def initialize(name:, location:); end - # source://rbs/lib/rbs/types.rb#142 + # source://rbs//lib/rbs/types.rb#142 def ==(other); end - # source://rbs/lib/rbs/types.rb#142 + # source://rbs//lib/rbs/types.rb#142 def eql?(other); end - # source://rbs/lib/rbs/types.rb#152 + # source://rbs//lib/rbs/types.rb#152 def free_variables(set = T.unsafe(nil)); end # @return [Boolean] # - # source://rbs/lib/rbs/types.rb#191 + # source://rbs//lib/rbs/types.rb#191 def has_classish_type?; end # @return [Boolean] # - # source://rbs/lib/rbs/types.rb#187 + # source://rbs//lib/rbs/types.rb#187 def has_self_type?; end - # source://rbs/lib/rbs/types.rb#148 + # source://rbs//lib/rbs/types.rb#148 def hash; end # Returns the value of attribute location. # - # source://rbs/lib/rbs/types.rb#133 + # source://rbs//lib/rbs/types.rb#133 def location; end # Returns the value of attribute name. # - # source://rbs/lib/rbs/types.rb#132 + # source://rbs//lib/rbs/types.rb#132 def name; end - # source://rbs/lib/rbs/types.rb#162 + # source://rbs//lib/rbs/types.rb#162 def sub(s); end - # source://rbs/lib/rbs/types.rb#158 + # source://rbs//lib/rbs/types.rb#158 def to_json(state = T.unsafe(nil)); end - # source://rbs/lib/rbs/types.rb#181 + # source://rbs//lib/rbs/types.rb#181 def to_s(level = T.unsafe(nil)); end # @return [Boolean] # - # source://rbs/lib/rbs/types.rb#195 + # source://rbs//lib/rbs/types.rb#195 def with_nonreturn_void?; end class << self - # source://rbs/lib/rbs/types.rb#166 + # source://rbs//lib/rbs/types.rb#166 def build(v); end - # source://rbs/lib/rbs/types.rb#176 + # source://rbs//lib/rbs/types.rb#176 def fresh(v = T.unsafe(nil)); end end end -# source://rbs/lib/rbs/errors.rb#325 +# source://rbs//lib/rbs/errors.rb#325 class RBS::UnknownMethodAliasError < ::RBS::DefinitionError include ::RBS::DetailedMessageable # @return [UnknownMethodAliasError] a new instance of UnknownMethodAliasError # - # source://rbs/lib/rbs/errors.rb#333 + # source://rbs//lib/rbs/errors.rb#333 def initialize(type_name:, original_name:, aliased_name:, location:); end # Returns the value of attribute aliased_name. # - # source://rbs/lib/rbs/errors.rb#330 + # source://rbs//lib/rbs/errors.rb#330 def aliased_name; end # Returns the value of attribute location. # - # source://rbs/lib/rbs/errors.rb#331 + # source://rbs//lib/rbs/errors.rb#331 def location; end # Returns the value of attribute original_name. # - # source://rbs/lib/rbs/errors.rb#329 + # source://rbs//lib/rbs/errors.rb#329 def original_name; end # Returns the value of attribute type_name. # - # source://rbs/lib/rbs/errors.rb#328 + # source://rbs//lib/rbs/errors.rb#328 def type_name; end end -# source://rbs/lib/rbs/version.rb#4 +# source://rbs//lib/rbs/version.rb#4 RBS::VERSION = T.let(T.unsafe(nil), String) -# source://rbs/lib/rbs/validator.rb#4 +# source://rbs//lib/rbs/validator.rb#4 class RBS::Validator # @return [Validator] a new instance of Validator # - # source://rbs/lib/rbs/validator.rb#9 + # source://rbs//lib/rbs/validator.rb#9 def initialize(env:, resolver: T.unsafe(nil)); end - # source://rbs/lib/rbs/validator.rb#15 + # source://rbs//lib/rbs/validator.rb#15 def absolute_type(type, context:, &block); end # Returns the value of attribute definition_builder. # - # source://rbs/lib/rbs/validator.rb#7 + # source://rbs//lib/rbs/validator.rb#7 def definition_builder; end # Returns the value of attribute env. # - # source://rbs/lib/rbs/validator.rb#5 + # source://rbs//lib/rbs/validator.rb#5 def env; end # Returns the value of attribute resolver. # - # source://rbs/lib/rbs/validator.rb#6 + # source://rbs//lib/rbs/validator.rb#6 def resolver; end - # source://rbs/lib/rbs/validator.rb#174 + # source://rbs//lib/rbs/validator.rb#174 def type_alias_dependency; end - # source://rbs/lib/rbs/validator.rb#178 + # source://rbs//lib/rbs/validator.rb#178 def type_alias_regularity; end - # source://rbs/lib/rbs/validator.rb#154 + # source://rbs//lib/rbs/validator.rb#154 def validate_class_alias(entry:); end - # source://rbs/lib/rbs/validator.rb#104 + # source://rbs//lib/rbs/validator.rb#104 def validate_method_definition(method_def, type_name:); end # Validates presence of the relative type, and application arity match. # - # source://rbs/lib/rbs/validator.rb#24 + # source://rbs//lib/rbs/validator.rb#24 def validate_type(type, context:); end - # source://rbs/lib/rbs/validator.rb#63 + # source://rbs//lib/rbs/validator.rb#63 def validate_type_alias(entry:); end - # source://rbs/lib/rbs/validator.rb#120 + # source://rbs//lib/rbs/validator.rb#120 def validate_type_params(params, type_name:, location:, method_name: T.unsafe(nil)); end end -# source://rbs/lib/rbs/variance_calculator.rb#4 +# source://rbs//lib/rbs/variance_calculator.rb#4 class RBS::VarianceCalculator # @return [VarianceCalculator] a new instance of VarianceCalculator # - # source://rbs/lib/rbs/variance_calculator.rb#78 + # source://rbs//lib/rbs/variance_calculator.rb#78 def initialize(builder:); end # Returns the value of attribute builder. # - # source://rbs/lib/rbs/variance_calculator.rb#76 + # source://rbs//lib/rbs/variance_calculator.rb#76 def builder; end - # source://rbs/lib/rbs/variance_calculator.rb#82 + # source://rbs//lib/rbs/variance_calculator.rb#82 def env; end - # source://rbs/lib/rbs/variance_calculator.rb#169 + # source://rbs//lib/rbs/variance_calculator.rb#169 def function(type, result:, context:); end - # source://rbs/lib/rbs/variance_calculator.rb#98 + # source://rbs//lib/rbs/variance_calculator.rb#98 def in_inherit(name:, args:, variables:); end - # source://rbs/lib/rbs/variance_calculator.rb#86 + # source://rbs//lib/rbs/variance_calculator.rb#86 def in_method_type(method_type:, variables:); end - # source://rbs/lib/rbs/variance_calculator.rb#110 + # source://rbs//lib/rbs/variance_calculator.rb#110 def in_type_alias(name:); end - # source://rbs/lib/rbs/variance_calculator.rb#176 + # source://rbs//lib/rbs/variance_calculator.rb#176 def negate(variance); end - # source://rbs/lib/rbs/variance_calculator.rb#121 + # source://rbs//lib/rbs/variance_calculator.rb#121 def type(type, result:, context:); end end -# source://rbs/lib/rbs/variance_calculator.rb#5 +# source://rbs//lib/rbs/variance_calculator.rb#5 class RBS::VarianceCalculator::Result # @return [Result] a new instance of Result # - # source://rbs/lib/rbs/variance_calculator.rb#8 + # source://rbs//lib/rbs/variance_calculator.rb#8 def initialize(variables:); end # @return [Boolean] # - # source://rbs/lib/rbs/variance_calculator.rb#45 + # source://rbs//lib/rbs/variance_calculator.rb#45 def compatible?(var, with_annotation:); end - # source://rbs/lib/rbs/variance_calculator.rb#24 + # source://rbs//lib/rbs/variance_calculator.rb#24 def contravariant(x); end - # source://rbs/lib/rbs/variance_calculator.rb#15 + # source://rbs//lib/rbs/variance_calculator.rb#15 def covariant(x); end - # source://rbs/lib/rbs/variance_calculator.rb#37 + # source://rbs//lib/rbs/variance_calculator.rb#37 def each(&block); end # @return [Boolean] # - # source://rbs/lib/rbs/variance_calculator.rb#41 + # source://rbs//lib/rbs/variance_calculator.rb#41 def include?(name); end # @return [Boolean] # - # source://rbs/lib/rbs/variance_calculator.rb#60 + # source://rbs//lib/rbs/variance_calculator.rb#60 def incompatible?(params); end - # source://rbs/lib/rbs/variance_calculator.rb#33 + # source://rbs//lib/rbs/variance_calculator.rb#33 def invariant(x); end # Returns the value of attribute result. # - # source://rbs/lib/rbs/variance_calculator.rb#6 + # source://rbs//lib/rbs/variance_calculator.rb#6 def result; end end -# source://rbs/lib/rbs/vendorer.rb#4 +# source://rbs//lib/rbs/vendorer.rb#4 class RBS::Vendorer # @return [Vendorer] a new instance of Vendorer # - # source://rbs/lib/rbs/vendorer.rb#8 + # source://rbs//lib/rbs/vendorer.rb#8 def initialize(vendor_dir:, loader:); end - # source://rbs/lib/rbs/vendorer.rb#21 + # source://rbs//lib/rbs/vendorer.rb#21 def clean!; end - # source://rbs/lib/rbs/vendorer.rb#28 + # source://rbs//lib/rbs/vendorer.rb#28 def copy!; end - # source://rbs/lib/rbs/vendorer.rb#13 + # source://rbs//lib/rbs/vendorer.rb#13 def ensure_dir; end # Returns the value of attribute loader. # - # source://rbs/lib/rbs/vendorer.rb#6 + # source://rbs//lib/rbs/vendorer.rb#6 def loader; end # Returns the value of attribute vendor_dir. # - # source://rbs/lib/rbs/vendorer.rb#5 + # source://rbs//lib/rbs/vendorer.rb#5 def vendor_dir; end end -# source://rbs/lib/rbs/errors.rb#569 +# source://rbs//lib/rbs/errors.rb#569 class RBS::WillSyntaxError < ::RBS::DefinitionError include ::RBS::DetailedMessageable # @return [WillSyntaxError] a new instance of WillSyntaxError # - # source://rbs/lib/rbs/errors.rb#574 + # source://rbs//lib/rbs/errors.rb#574 def initialize(message, location:); end # Returns the value of attribute location. # - # source://rbs/lib/rbs/errors.rb#572 + # source://rbs//lib/rbs/errors.rb#572 def location; end end -# source://rbs/lib/rbs/writer.rb#4 +# source://rbs//lib/rbs/writer.rb#4 class RBS::Writer # @return [Writer] a new instance of Writer # - # source://rbs/lib/rbs/writer.rb#8 + # source://rbs//lib/rbs/writer.rb#8 def initialize(out:); end - # source://rbs/lib/rbs/writer.rb#361 + # source://rbs//lib/rbs/writer.rb#361 def attribute(kind, attr); end - # source://rbs/lib/rbs/writer.rb#42 + # source://rbs//lib/rbs/writer.rb#42 def format_annotation(annotation); end - # source://rbs/lib/rbs/writer.rb#23 + # source://rbs//lib/rbs/writer.rb#23 def indent(size = T.unsafe(nil)); end # Returns the value of attribute indentation. # - # source://rbs/lib/rbs/writer.rb#6 + # source://rbs//lib/rbs/writer.rb#6 def indentation; end - # source://rbs/lib/rbs/writer.rb#288 + # source://rbs//lib/rbs/writer.rb#288 def method_name(name); end - # source://rbs/lib/rbs/writer.rb#214 + # source://rbs//lib/rbs/writer.rb#214 def name_and_args(name, args); end - # source://rbs/lib/rbs/writer.rb#202 + # source://rbs//lib/rbs/writer.rb#202 def name_and_params(name, params); end # Returns the value of attribute out. # - # source://rbs/lib/rbs/writer.rb#5 + # source://rbs//lib/rbs/writer.rb#5 def out; end - # source://rbs/lib/rbs/writer.rb#30 + # source://rbs//lib/rbs/writer.rb#30 def prefix; end - # source://rbs/lib/rbs/writer.rb#18 + # source://rbs//lib/rbs/writer.rb#18 def preserve!(preserve: T.unsafe(nil)); end # @return [Boolean] # - # source://rbs/lib/rbs/writer.rb#14 + # source://rbs//lib/rbs/writer.rb#14 def preserve?; end - # source://rbs/lib/rbs/writer.rb#391 + # source://rbs//lib/rbs/writer.rb#391 def preserve_empty_line(prev, decl); end - # source://rbs/lib/rbs/writer.rb#224 + # source://rbs//lib/rbs/writer.rb#224 def put_lines(lines, leading_spaces:); end - # source://rbs/lib/rbs/writer.rb#34 + # source://rbs//lib/rbs/writer.rb#34 def puts(string = T.unsafe(nil)); end - # source://rbs/lib/rbs/writer.rb#79 + # source://rbs//lib/rbs/writer.rb#79 def write(contents); end - # source://rbs/lib/rbs/writer.rb#60 + # source://rbs//lib/rbs/writer.rb#60 def write_annotation(annotations); end - # source://rbs/lib/rbs/writer.rb#66 + # source://rbs//lib/rbs/writer.rb#66 def write_comment(comment); end - # source://rbs/lib/rbs/writer.rb#114 + # source://rbs//lib/rbs/writer.rb#114 def write_decl(decl); end - # source://rbs/lib/rbs/writer.rb#309 + # source://rbs//lib/rbs/writer.rb#309 def write_def(member); end - # source://rbs/lib/rbs/writer.rb#97 + # source://rbs//lib/rbs/writer.rb#97 def write_directive(dir); end - # source://rbs/lib/rbs/writer.rb#301 + # source://rbs//lib/rbs/writer.rb#301 def write_loc_source(located); end - # source://rbs/lib/rbs/writer.rb#234 + # source://rbs//lib/rbs/writer.rb#234 def write_member(member); end end -# source://rbs/lib/rdoc/discover.rb#8 +# source://rbs//lib/rdoc/discover.rb#8 class RDoc::Parser::RBS < ::RDoc::Parser - # source://rbs/lib/rdoc/discover.rb#10 + # source://rbs//lib/rdoc/discover.rb#10 def scan; end end diff --git a/sorbet/rbi/gems/require-hooks@0.2.2.rbi b/sorbet/rbi/gems/require-hooks@0.2.2.rbi new file mode 100644 index 00000000..a1b3d289 --- /dev/null +++ b/sorbet/rbi/gems/require-hooks@0.2.2.rbi @@ -0,0 +1,110 @@ +# typed: true + +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `require-hooks` gem. +# Please instead update this file by running `bin/tapioca gem require-hooks`. + + +# source://require-hooks//lib/require-hooks/api.rb#3 +module RequireHooks + class << self + # Define a block to wrap the code loading. + # The return value MUST be a result of calling the passed block. + # For example, you can use such hooks for instrumentation, debugging purposes. + # + # RequireHooks.around_load do |path, &block| + # puts "Loading #{path}" + # block.call.tap { puts "Loaded #{path}" } + # end + # + # source://require-hooks//lib/require-hooks/api.rb#71 + def around_load(patterns: T.unsafe(nil), exclude_patterns: T.unsafe(nil), &block); end + + # source://require-hooks//lib/require-hooks/api.rb#107 + def context_for(path); end + + # This hook should be used to manually compile byte code to be loaded by the VM. + # The arguments are (path, source = nil), where source is only defined if transformations took place. + # Otherwise, you MUST read the source code from the file yourself. + # + # The return value MUST be either nil (continue to the next hook or default behavior) or a platform-specific bytecode object (e.g., RubyVM::InstructionSequence). + # + # RequireHooks.hijack_load do |path, source| + # source ||= File.read(path) + # if defined?(RubyVM::InstructionSequence) + # RubyVM::InstructionSequence.compile(source) + # elsif defined?(JRUBY_VERSION) + # JRuby.compile(source) + # end + # end + # + # source://require-hooks//lib/require-hooks/api.rb#103 + def hijack_load(patterns: T.unsafe(nil), exclude_patterns: T.unsafe(nil), &block); end + + # Returns the value of attribute print_warnings. + # + # source://require-hooks//lib/require-hooks/api.rb#61 + def print_warnings; end + + # Sets the attribute print_warnings + # + # @param value the value to set the attribute print_warnings to. + # + # source://require-hooks//lib/require-hooks/api.rb#61 + def print_warnings=(_arg0); end + + # Define hooks to perform source-to-source transformations. + # The return value MUST be either String (new source code) or nil (indicating that no transformations were performed). + # + # NOTE: The second argument (`source`) MAY be nil, indicating that no transformer tried to transform the source code. + # + # + # RequireHooks.source_transform do |path, source| + # end + # + # source://require-hooks//lib/require-hooks/api.rb#85 + def source_transform(patterns: T.unsafe(nil), exclude_patterns: T.unsafe(nil), &block); end + end +end + +# source://require-hooks//lib/require-hooks/api.rb#8 +class RequireHooks::Context + # @return [Context] a new instance of Context + # + # source://require-hooks//lib/require-hooks/api.rb#9 + def initialize(around_load, source_transform, hijack_load); end + + # @return [Boolean] + # + # source://require-hooks//lib/require-hooks/api.rb#15 + def empty?; end + + # @return [Boolean] + # + # source://require-hooks//lib/require-hooks/api.rb#23 + def hijack?; end + + # source://require-hooks//lib/require-hooks/api.rb#37 + def perform_source_transform(path); end + + # source://require-hooks//lib/require-hooks/api.rb#27 + def run_around_load_callbacks(path); end + + # @return [Boolean] + # + # source://require-hooks//lib/require-hooks/api.rb#19 + def source_transform?; end + + # source://require-hooks//lib/require-hooks/api.rb#49 + def try_hijack_load(path, source); end +end + +# source://require-hooks//lib/require-hooks/mode/load_iseq.rb#4 +module RequireHooks::LoadIseq + # source://require-hooks//lib/require-hooks/mode/load_iseq.rb#5 + def load_iseq(path); end +end + +class RubyVM::InstructionSequence + extend ::RequireHooks::LoadIseq +end diff --git a/sorbet/rbi/gems/ruby-lsp@0.23.6.rbi b/sorbet/rbi/gems/ruby-lsp@0.23.12-779679c26ba3830d29adbcec70476494fc194527.rbi similarity index 52% rename from sorbet/rbi/gems/ruby-lsp@0.23.6.rbi rename to sorbet/rbi/gems/ruby-lsp@0.23.12-779679c26ba3830d29adbcec70476494fc194527.rbi index e580f72f..e332aa06 100644 --- a/sorbet/rbi/gems/ruby-lsp@0.23.6.rbi +++ b/sorbet/rbi/gems/ruby-lsp@0.23.12-779679c26ba3830d29adbcec70476494fc194527.rbi @@ -5,63 +5,92 @@ # Please instead update this file by running `bin/tapioca gem ruby-lsp`. -# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/visibility_scope.rb#4 +# source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/visibility_scope.rb#4 module RubyIndexer; end -# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/configuration.rb#5 +# source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/configuration.rb#5 class RubyIndexer::Configuration - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/configuration.rb#26 + # : -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/configuration.rb#24 sig { void } def initialize; end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/configuration.rb#231 + # : (Hash[String, untyped] config) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/configuration.rb#184 sig { params(config: T::Hash[::String, T.untyped]).void } def apply_config(config); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/configuration.rb#23 + # : Encoding + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/configuration.rb#21 sig { returns(::Encoding) } def encoding; end - # @return [Encoding] + # : Encoding # - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/configuration.rb#23 + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/configuration.rb#21 def encoding=(_arg0); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/configuration.rb#85 + # : -> Array[URI::Generic] + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/configuration.rb#68 sig { returns(T::Array[::URI::Generic]) } def indexable_uris; end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/configuration.rb#226 + # : -> Regexp + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/configuration.rb#179 sig { returns(::Regexp) } def magic_comment_regex; end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/configuration.rb#70 - sig { returns(::String) } - def merged_excluded_file_pattern; end - - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/configuration.rb#20 - sig { params(workspace_path: ::String).void } + # : String + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/configuration.rb#18 + sig { params(workspace_path: ::String).returns(::String) } def workspace_path=(workspace_path); end private - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/configuration.rb#259 + # : -> Array[String] + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/configuration.rb#212 sig { returns(T::Array[::String]) } def initial_excluded_gems; end + # Checks if the test file is never supposed to be ignored from indexing despite matching exclusion patterns, like + # `test_helper.rb` or `test_case.rb`. Also takes into consideration the possibility of finding these files under + # fixtures or inside gem source code if the bundle path points to a directory inside the workspace + # : (String path, String? bundle_path) -> bool + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/configuration.rb#266 + sig { params(path: ::String, bundle_path: T.nilable(::String)).returns(T::Boolean) } + def test_files_ignored_from_exclusion?(path, bundle_path); end + + # : -> Array[String] + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/configuration.rb#273 + sig { returns(T::Array[::String]) } + def top_level_directories; end + + # : (Hash[String, untyped] config) -> void + # # @raise [ArgumentError] # - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/configuration.rb#244 + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/configuration.rb#197 sig { params(config: T::Hash[::String, T.untyped]).void } def validate_config!(config); end end -# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/configuration.rb#8 +# source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/configuration.rb#6 RubyIndexer::Configuration::CONFIGURATION_SCHEMA = T.let(T.unsafe(nil), Hash) -# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#5 +# source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#5 class RubyIndexer::DeclarationListener - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#23 + # : (Index index, Prism::Dispatcher dispatcher, Prism::ParseResult parse_result, URI::Generic uri, ?collect_comments: bool) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#13 sig do params( index: ::RubyIndexer::Index, @@ -73,7 +102,9 @@ class RubyIndexer::DeclarationListener end def initialize(index, dispatcher, parse_result, uri, collect_comments: T.unsafe(nil)); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#538 + # : ((String | Array[String]) name_or_nesting, Prism::Location full_location, Prism::Location name_location, ?parent_class_name: String?, ?comments: String?) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#505 sig do params( name_or_nesting: T.any(::String, T::Array[::String]), @@ -85,7 +116,9 @@ class RubyIndexer::DeclarationListener end def add_class(name_or_nesting, full_location, name_location, parent_class_name: T.unsafe(nil), comments: T.unsafe(nil)); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#491 + # : (String name, Prism::Location node_location, Array[Entry::Signature] signatures, ?visibility: Entry::Visibility, ?comments: String?) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#473 sig do params( name: ::String, @@ -97,7 +130,9 @@ class RubyIndexer::DeclarationListener end def add_method(name, node_location, signatures, visibility: T.unsafe(nil), comments: T.unsafe(nil)); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#514 + # : (String name, Prism::Location full_location, Prism::Location name_location, ?comments: String?) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#489 sig do params( name: ::String, @@ -108,169 +143,245 @@ class RubyIndexer::DeclarationListener end def add_module(name, full_location, name_location, comments: T.unsafe(nil)); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#570 + # : -> Entry::Namespace? + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#537 sig { returns(T.nilable(::RubyIndexer::Entry::Namespace)) } def current_owner; end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#12 + # : Array[String] + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#10 sig { returns(T::Array[::String]) } def indexing_errors; end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#442 + # : (Prism::AliasMethodNode node) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#432 sig { params(node: ::Prism::AliasMethodNode).void } def on_alias_method_node_enter(node); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#265 + # : (Prism::CallNode node) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#255 sig { params(node: ::Prism::CallNode).void } def on_call_node_enter(node); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#303 + # : (Prism::CallNode node) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#293 sig { params(node: ::Prism::CallNode).void } def on_call_node_leave(node); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#91 + # : (Prism::ClassNode node) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#81 sig { params(node: ::Prism::ClassNode).void } def on_class_node_enter(node); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#123 + # : (Prism::ClassNode node) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#113 sig { params(node: ::Prism::ClassNode).void } def on_class_node_leave(node); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#458 + # : (Prism::ClassVariableAndWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#448 sig { params(node: ::Prism::ClassVariableAndWriteNode).void } def on_class_variable_and_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#463 + # : (Prism::ClassVariableOperatorWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#453 sig { params(node: ::Prism::ClassVariableOperatorWriteNode).void } def on_class_variable_operator_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#468 + # : (Prism::ClassVariableOrWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#458 sig { params(node: ::Prism::ClassVariableOrWriteNode).void } def on_class_variable_or_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#473 + # : (Prism::ClassVariableTargetNode node) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#463 sig { params(node: ::Prism::ClassVariableTargetNode).void } def on_class_variable_target_node_enter(node); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#478 + # : (Prism::ClassVariableWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#468 sig { params(node: ::Prism::ClassVariableWriteNode).void } def on_class_variable_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#253 + # : (Prism::ConstantAndWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#243 sig { params(node: ::Prism::ConstantAndWriteNode).void } def on_constant_and_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#259 + # : (Prism::ConstantOperatorWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#249 sig { params(node: ::Prism::ConstantOperatorWriteNode).void } def on_constant_operator_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#247 + # : (Prism::ConstantOrWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#237 sig { params(node: ::Prism::ConstantOrWriteNode).void } def on_constant_or_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#231 + # : (Prism::ConstantPathAndWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#221 sig { params(node: ::Prism::ConstantPathAndWriteNode).void } def on_constant_path_and_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#221 + # : (Prism::ConstantPathOperatorWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#211 sig { params(node: ::Prism::ConstantPathOperatorWriteNode).void } def on_constant_path_operator_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#211 + # : (Prism::ConstantPathOrWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#201 sig { params(node: ::Prism::ConstantPathOrWriteNode).void } def on_constant_path_or_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#201 + # : (Prism::ConstantPathWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#191 sig { params(node: ::Prism::ConstantPathWriteNode).void } def on_constant_path_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#241 + # : (Prism::ConstantWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#231 sig { params(node: ::Prism::ConstantWriteNode).void } def on_constant_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#324 + # : (Prism::DefNode node) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#314 sig { params(node: ::Prism::DefNode).void } def on_def_node_enter(node); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#383 + # : (Prism::DefNode node) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#373 sig { params(node: ::Prism::DefNode).void } def on_def_node_leave(node); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#392 + # : (Prism::GlobalVariableAndWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#382 sig { params(node: ::Prism::GlobalVariableAndWriteNode).void } def on_global_variable_and_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#397 + # : (Prism::GlobalVariableOperatorWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#387 sig { params(node: ::Prism::GlobalVariableOperatorWriteNode).void } def on_global_variable_operator_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#402 + # : (Prism::GlobalVariableOrWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#392 sig { params(node: ::Prism::GlobalVariableOrWriteNode).void } def on_global_variable_or_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#407 + # : (Prism::GlobalVariableTargetNode node) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#397 sig { params(node: ::Prism::GlobalVariableTargetNode).void } def on_global_variable_target_node_enter(node); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#412 + # : (Prism::GlobalVariableWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#402 sig { params(node: ::Prism::GlobalVariableWriteNode).void } def on_global_variable_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#422 + # : (Prism::InstanceVariableAndWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#412 sig { params(node: ::Prism::InstanceVariableAndWriteNode).void } def on_instance_variable_and_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#427 + # : (Prism::InstanceVariableOperatorWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#417 sig { params(node: ::Prism::InstanceVariableOperatorWriteNode).void } def on_instance_variable_operator_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#432 + # : (Prism::InstanceVariableOrWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#422 sig { params(node: ::Prism::InstanceVariableOrWriteNode).void } def on_instance_variable_or_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#437 + # : (Prism::InstanceVariableTargetNode node) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#427 sig { params(node: ::Prism::InstanceVariableTargetNode).void } def on_instance_variable_target_node_enter(node); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#417 + # : (Prism::InstanceVariableWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#407 sig { params(node: ::Prism::InstanceVariableWriteNode).void } def on_instance_variable_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#128 + # : (Prism::ModuleNode node) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#118 sig { params(node: ::Prism::ModuleNode).void } def on_module_node_enter(node); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#134 + # : (Prism::ModuleNode node) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#124 sig { params(node: ::Prism::ModuleNode).void } def on_module_node_leave(node); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#181 + # : (Prism::MultiWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#171 sig { params(node: ::Prism::MultiWriteNode).void } def on_multi_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#139 + # : (Prism::SingletonClassNode node) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#129 sig { params(node: ::Prism::SingletonClassNode).void } def on_singleton_class_node_enter(node); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#176 + # : (Prism::SingletonClassNode node) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#166 sig { params(node: ::Prism::SingletonClassNode).void } def on_singleton_class_node_leave(node); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#563 + # : -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#530 sig { void } def pop_namespace_stack; end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#553 + # : { (Index index, Entry::Namespace base) -> void } -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#520 sig { params(block: T.proc.params(index: ::RubyIndexer::Index, base: ::RubyIndexer::Entry::Namespace).void).void } def register_included_hook(&block); end private - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#1108 - sig { params(name: ::String).returns(T::Array[::String]) } - def actual_nesting(name); end - - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#751 + # : ((Prism::ConstantWriteNode | Prism::ConstantOrWriteNode | Prism::ConstantAndWriteNode | Prism::ConstantOperatorWriteNode | Prism::ConstantPathWriteNode | Prism::ConstantPathOrWriteNode | Prism::ConstantPathOperatorWriteNode | Prism::ConstantPathAndWriteNode | Prism::ConstantTargetNode | Prism::ConstantPathTargetNode) node, String name, ?Prism::Node? value) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#668 sig do params( node: T.any(::Prism::ConstantAndWriteNode, ::Prism::ConstantOperatorWriteNode, ::Prism::ConstantOrWriteNode, ::Prism::ConstantPathAndWriteNode, ::Prism::ConstantPathOperatorWriteNode, ::Prism::ConstantPathOrWriteNode, ::Prism::ConstantPathTargetNode, ::Prism::ConstantPathWriteNode, ::Prism::ConstantTargetNode, ::Prism::ConstantWriteNode), @@ -280,35 +391,51 @@ class RubyIndexer::DeclarationListener end def add_constant(node, name, value = T.unsafe(nil)); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#1122 + # : (String short_name, Entry::Namespace entry) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#1025 sig { params(short_name: ::String, entry: ::RubyIndexer::Entry::Namespace).void } def advance_namespace_stack(short_name, entry); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#802 + # : (Prism::Node node) -> String? + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#719 sig { params(node: ::Prism::Node).returns(T.nilable(::String)) } def collect_comments(node); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#830 + # : (Integer line) -> bool + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#747 sig { params(line: ::Integer).returns(T::Boolean) } def comment_exists_at?(line); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#1016 + # : -> VisibilityScope + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#933 sig { returns(::RubyIndexer::VisibilityScope) } def current_visibility_scope; end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#835 + # : (String name) -> String + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#752 sig { params(name: ::String).returns(::String) } def fully_qualify_name(name); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#695 + # : (Prism::CallNode node) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#629 sig { params(node: ::Prism::CallNode).void } def handle_alias_method(node); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#844 + # : (Prism::CallNode node, reader: bool, writer: bool) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#761 sig { params(node: ::Prism::CallNode, reader: T::Boolean, writer: T::Boolean).void } def handle_attribute(node, reader:, writer:); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#612 + # : ((Prism::ClassVariableAndWriteNode | Prism::ClassVariableOperatorWriteNode | Prism::ClassVariableOrWriteNode | Prism::ClassVariableTargetNode | Prism::ClassVariableWriteNode) node, Prism::Location loc) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#557 sig do params( node: T.any(::Prism::ClassVariableAndWriteNode, ::Prism::ClassVariableOperatorWriteNode, ::Prism::ClassVariableOrWriteNode, ::Prism::ClassVariableTargetNode, ::Prism::ClassVariableWriteNode), @@ -317,7 +444,9 @@ class RubyIndexer::DeclarationListener end def handle_class_variable(node, loc); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#588 + # : ((Prism::GlobalVariableAndWriteNode | Prism::GlobalVariableOperatorWriteNode | Prism::GlobalVariableOrWriteNode | Prism::GlobalVariableTargetNode | Prism::GlobalVariableWriteNode) node, Prism::Location loc) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#544 sig do params( node: T.any(::Prism::GlobalVariableAndWriteNode, ::Prism::GlobalVariableOperatorWriteNode, ::Prism::GlobalVariableOrWriteNode, ::Prism::GlobalVariableTargetNode, ::Prism::GlobalVariableWriteNode), @@ -326,7 +455,9 @@ class RubyIndexer::DeclarationListener end def handle_global_variable(node, loc); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#648 + # : ((Prism::InstanceVariableAndWriteNode | Prism::InstanceVariableOperatorWriteNode | Prism::InstanceVariableOrWriteNode | Prism::InstanceVariableTargetNode | Prism::InstanceVariableWriteNode) node, Prism::Location loc) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#582 sig do params( node: T.any(::Prism::InstanceVariableAndWriteNode, ::Prism::InstanceVariableOperatorWriteNode, ::Prism::InstanceVariableOrWriteNode, ::Prism::InstanceVariableTargetNode, ::Prism::InstanceVariableWriteNode), @@ -335,30 +466,41 @@ class RubyIndexer::DeclarationListener end def handle_instance_variable(node, loc); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#923 + # : (Prism::CallNode node) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#840 sig { params(node: ::Prism::CallNode).void } def handle_module_function(node); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#889 + # : (Prism::CallNode node, Symbol operation) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#806 sig { params(node: ::Prism::CallNode, operation: ::Symbol).void } def handle_module_operation(node, operation); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#974 + # : (Prism::CallNode node) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#891 sig { params(node: ::Prism::CallNode).void } def handle_private_class_method(node); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#670 + # : (Prism::CallNode node) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#604 sig { params(node: ::Prism::CallNode).void } def handle_private_constant(node); end # Returns the last name in the stack not as we found it, but in terms of declared constants. For example, if the # last entry in the stack is a compact namespace like `Foo::Bar`, then the last name is `Bar` + # : -> String? # - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#1132 + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#1035 sig { returns(T.nilable(::String)) } def last_name_in_stack; end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#1021 + # : (Prism::ParametersNode? parameters_node) -> Array[Entry::Parameter] + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#938 sig do params( parameters_node: T.nilable(::Prism::ParametersNode) @@ -366,59 +508,73 @@ class RubyIndexer::DeclarationListener end def list_params(parameters_node); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#1083 + # : (Prism::Node? node) -> Symbol? + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#1000 sig { params(node: T.nilable(::Prism::Node)).returns(T.nilable(::Symbol)) } def parameter_name(node); end end -# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#9 +# source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#7 RubyIndexer::DeclarationListener::BASIC_OBJECT_NESTING = T.let(T.unsafe(nil), Array) -# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#8 +# source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/declaration_listener.rb#6 RubyIndexer::DeclarationListener::OBJECT_NESTING = T.let(T.unsafe(nil), Array) # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below. # -# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/enhancement.rb#5 +# source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/enhancement.rb#5 class RubyIndexer::Enhancement abstract! - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/enhancement.rb#35 + # : (DeclarationListener listener) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/enhancement.rb#35 sig { params(listener: ::RubyIndexer::DeclarationListener).void } def initialize(listener); end # The `on_extend` indexing enhancement is invoked whenever an extend is encountered in the code. It can be used to # register for an included callback, similar to what `ActiveSupport::Concern` does in order to auto-extend the # `ClassMethods` modules + # : (Prism::CallNode node) -> void # - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/enhancement.rb#43 + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/enhancement.rb#44 sig { overridable.params(node: ::Prism::CallNode).void } def on_call_node_enter(node); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/enhancement.rb#46 + # : (Prism::CallNode node) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/enhancement.rb#48 sig { overridable.params(node: ::Prism::CallNode).void } def on_call_node_leave(node); end class << self - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/enhancement.rb#23 + # : (DeclarationListener listener) -> Array[Enhancement] + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/enhancement.rb#23 sig { params(listener: ::RubyIndexer::DeclarationListener).returns(T::Array[::RubyIndexer::Enhancement]) } def all(listener); end # Only available for testing purposes + # : -> void # - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/enhancement.rb#29 + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/enhancement.rb#29 sig { void } def clear; end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/enhancement.rb#17 + # : (Class[Enhancement] child) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/enhancement.rb#17 sig { params(child: T::Class[::RubyIndexer::Enhancement]).void } def inherited(child); end end end -# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#5 +# source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#5 class RubyIndexer::Entry - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#38 + # : (String name, URI::Generic uri, Location location, String? comments) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#29 sig do params( name: ::String, @@ -429,85 +585,113 @@ class RubyIndexer::Entry end def initialize(name, uri, location, comments); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#76 + # : -> String + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#67 sig { returns(::String) } def comments; end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#62 + # : -> String + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#53 sig { returns(::String) } def file_name; end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#71 + # : -> String? + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#62 sig { returns(T.nilable(::String)) } def file_path; end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#23 + # : RubyIndexer::Location + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#21 sig { returns(::RubyIndexer::Location) } def location; end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#17 + # : String + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#15 sig { returns(::String) } def name; end - # @return [RubyIndexer::Location] + # : RubyIndexer::Location # - # source://sorbet-runtime/0.5.11761lib/types/private/methods/_methods.rb#257 + # source://sorbet-runtime/0.5.11915/lib/types/private/methods/_methods.rb#257 def name_location(*args, **_arg1, &blk); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#57 + # : -> bool + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#48 sig { returns(T::Boolean) } def private?; end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#52 + # : -> bool + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#43 sig { returns(T::Boolean) } def protected?; end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#47 + # : -> bool + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#38 sig { returns(T::Boolean) } def public?; end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#20 + # : URI::Generic + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#18 sig { returns(::URI::Generic) } def uri; end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#28 + # : Visibility + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#26 sig { returns(::RubyIndexer::Entry::Visibility) } def visibility; end - # @return [Visibility] + # : Visibility # - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#28 + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#26 def visibility=(_arg0); end end -# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#383 +# source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#342 class RubyIndexer::Entry::Accessor < ::RubyIndexer::Entry::Member - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#387 + # : -> Array[Signature] + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#345 sig { override.returns(T::Array[::RubyIndexer::Entry::Signature]) } def signatures; end end # A block method parameter, e.g. `def foo(&block)` # -# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#305 +# source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#275 class RubyIndexer::Entry::BlockParameter < ::RubyIndexer::Entry::Parameter - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#317 + # : -> Symbol + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#287 sig { override.returns(::Symbol) } def decorated_name; end class << self - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#311 + # : -> BlockParameter + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#280 sig { returns(::RubyIndexer::Entry::BlockParameter) } def anonymous; end end end -# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#306 +# source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#276 RubyIndexer::Entry::BlockParameter::DEFAULT_NAME = T.let(T.unsafe(nil), Symbol) -# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#188 +# source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#171 class RubyIndexer::Entry::Class < ::RubyIndexer::Entry::Namespace - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#206 + # : (Array[String] nesting, URI::Generic uri, Location location, Location name_location, String? comments, String? parent_class) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#178 sig do params( nesting: T::Array[::String], @@ -520,23 +704,28 @@ class RubyIndexer::Entry::Class < ::RubyIndexer::Entry::Namespace end def initialize(nesting, uri, location, name_location, comments, parent_class); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#212 + # : -> Integer + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#185 sig { override.returns(::Integer) } def ancestor_hash; end # The unresolved name of the parent class. This may return `nil`, which indicates the lack of an explicit parent # and therefore ::Object is the correct parent class + # : String? # - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#194 + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#175 sig { returns(T.nilable(::String)) } def parent_class; end end # Represents a class variable e.g.: @@a = 1 # -# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#490 +# source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#422 class RubyIndexer::Entry::ClassVariable < ::RubyIndexer::Entry - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#503 + # : (String name, URI::Generic uri, Location location, String? comments, Entry::Namespace? owner) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#427 sig do params( name: ::String, @@ -548,49 +737,59 @@ class RubyIndexer::Entry::ClassVariable < ::RubyIndexer::Entry end def initialize(name, uri, location, comments, owner); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#492 + # : Entry::Namespace? + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#424 sig { returns(T.nilable(::RubyIndexer::Entry::Namespace)) } def owner; end end -# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#234 +# source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#199 class RubyIndexer::Entry::Constant < ::RubyIndexer::Entry; end # Alias represents a resolved alias, which points to an existing constant target # -# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#466 +# source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#400 class RubyIndexer::Entry::ConstantAlias < ::RubyIndexer::Entry - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#473 + # : (String target, UnresolvedConstantAlias unresolved_alias) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#405 sig { params(target: ::String, unresolved_alias: ::RubyIndexer::Entry::UnresolvedConstantAlias).void } def initialize(target, unresolved_alias); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#470 + # : String + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#402 sig { returns(::String) } def target; end end # A forwarding method parameter, e.g. `def foo(...)` # -# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#323 +# source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#293 class RubyIndexer::Entry::ForwardingParameter < ::RubyIndexer::Entry::Parameter - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#327 + # : -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#295 sig { void } def initialize; end end # Represents a global variable e.g.: $DEBUG # -# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#487 +# source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#419 class RubyIndexer::Entry::GlobalVariable < ::RubyIndexer::Entry; end -# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#131 +# source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#122 class RubyIndexer::Entry::Include < ::RubyIndexer::Entry::ModuleOperation; end # Represents an instance variable e.g.: @a = 1 # -# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#510 +# source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#434 class RubyIndexer::Entry::InstanceVariable < ::RubyIndexer::Entry - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#523 + # : (String name, URI::Generic uri, Location location, String? comments, Entry::Namespace? owner) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#439 sig do params( name: ::String, @@ -602,39 +801,47 @@ class RubyIndexer::Entry::InstanceVariable < ::RubyIndexer::Entry end def initialize(name, uri, location, comments, owner); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#512 + # : Entry::Namespace? + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#436 sig { returns(T.nilable(::RubyIndexer::Entry::Namespace)) } def owner; end end # An required keyword method parameter, e.g. `def foo(a:)` # -# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#269 +# source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#235 class RubyIndexer::Entry::KeywordParameter < ::RubyIndexer::Entry::Parameter - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#271 + # : -> Symbol + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#238 sig { override.returns(::Symbol) } def decorated_name; end end # A keyword rest method parameter, e.g. `def foo(**a)` # -# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#295 +# source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#264 class RubyIndexer::Entry::KeywordRestParameter < ::RubyIndexer::Entry::Parameter - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#299 + # : -> Symbol + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#269 sig { override.returns(::Symbol) } def decorated_name; end end -# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#296 +# source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#265 RubyIndexer::Entry::KeywordRestParameter::DEFAULT_NAME = T.let(T.unsafe(nil), Symbol) # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below. # -# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#333 +# source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#301 class RubyIndexer::Entry::Member < ::RubyIndexer::Entry abstract! - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#352 + # : (String name, URI::Generic uri, Location location, String? comments, Visibility visibility, Entry::Namespace? owner) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#311 sig do params( name: ::String, @@ -647,28 +854,36 @@ class RubyIndexer::Entry::Member < ::RubyIndexer::Entry end def initialize(name, uri, location, comments, visibility, owner); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#362 + # : -> String + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#321 sig { returns(::String) } def decorated_parameters; end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#370 + # : -> String + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#329 sig { returns(::String) } def formatted_signatures; end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#340 + # : Entry::Namespace? + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#308 sig { returns(T.nilable(::RubyIndexer::Entry::Namespace)) } def owner; end # @abstract # - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#359 + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#318 sig { abstract.returns(T::Array[::RubyIndexer::Entry::Signature]) } def signatures; end end -# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#399 +# source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#357 class RubyIndexer::Entry::Method < ::RubyIndexer::Entry::Member - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#421 + # : (String name, URI::Generic uri, Location location, Location name_location, String? comments, Array[Signature] signatures, Visibility visibility, Entry::Namespace? owner) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#366 sig do params( name: ::String, @@ -684,21 +899,26 @@ class RubyIndexer::Entry::Method < ::RubyIndexer::Entry::Member def initialize(name, uri, location, name_location, comments, signatures, visibility, owner); end # Returns the location of the method name, excluding parameters or the body + # : Location # - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#407 + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#363 sig { returns(::RubyIndexer::Location) } def name_location; end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#403 - sig { override.returns(T::Array[::RubyIndexer::Entry::Signature]) } + # : Array[Signature] + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#359 + sig { returns(T.untyped) } def signatures; end end # A method alias is a resolved alias entry that points to the exact method target it refers to # -# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#561 +# source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#466 class RubyIndexer::Entry::MethodAlias < ::RubyIndexer::Entry - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#573 + # : ((Member | MethodAlias) target, UnresolvedMethodAlias unresolved_alias) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#474 sig do params( target: T.any(::RubyIndexer::Entry::Member, ::RubyIndexer::Entry::MethodAlias), @@ -707,52 +927,68 @@ class RubyIndexer::Entry::MethodAlias < ::RubyIndexer::Entry end def initialize(target, unresolved_alias); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#590 + # : -> String + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#491 sig { returns(::String) } def decorated_parameters; end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#595 + # : -> String + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#496 sig { returns(::String) } def formatted_signatures; end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#568 + # : Entry::Namespace? + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#471 sig { returns(T.nilable(::RubyIndexer::Entry::Namespace)) } def owner; end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#600 + # : -> Array[Signature] + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#501 sig { returns(T::Array[::RubyIndexer::Entry::Signature]) } def signatures; end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#565 + # : (Member | MethodAlias) + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#468 sig { returns(T.any(::RubyIndexer::Entry::Member, ::RubyIndexer::Entry::MethodAlias)) } def target; end end -# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#185 +# source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#168 class RubyIndexer::Entry::Module < ::RubyIndexer::Entry::Namespace; end # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below. # -# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#116 +# source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#107 class RubyIndexer::Entry::ModuleOperation abstract! - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#126 + # : (String module_name) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#117 sig { params(module_name: ::String).void } def initialize(module_name); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#123 + # : String + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#114 sig { returns(::String) } def module_name; end end # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below. # -# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#134 +# source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#125 class RubyIndexer::Entry::Namespace < ::RubyIndexer::Entry abstract! - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#156 + # : (Array[String] nesting, URI::Generic uri, Location location, Location name_location, String? comments) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#139 sig do params( nesting: T::Array[::String], @@ -764,113 +1000,134 @@ class RubyIndexer::Entry::Namespace < ::RubyIndexer::Entry end def initialize(nesting, uri, location, name_location, comments); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#180 + # : -> Integer + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#163 sig { returns(::Integer) } def ancestor_hash; end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#167 + # : -> Array[String] + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#150 sig { returns(T::Array[::String]) } def mixin_operation_module_names; end # Stores all explicit prepend, include and extend operations in the exact order they were discovered in the source # code. Maintaining the order is essential to linearize ancestors the right way when a module is both included # and prepended + # : -> Array[ModuleOperation] # - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#175 + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#158 sig { returns(T::Array[::RubyIndexer::Entry::ModuleOperation]) } def mixin_operations; end # Returns the location of the constant name, excluding the parent class or the body + # : Location # - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#145 + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#136 sig { returns(::RubyIndexer::Location) } def name_location; end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#141 + # : Array[String] + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#132 sig { returns(T::Array[::String]) } def nesting; end end # An optional keyword method parameter, e.g. `def foo(a: 123)` # -# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#277 +# source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#244 class RubyIndexer::Entry::OptionalKeywordParameter < ::RubyIndexer::Entry::Parameter - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#279 + # : -> Symbol + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#247 sig { override.returns(::Symbol) } def decorated_name; end end # An optional method parameter, e.g. `def foo(a = 123)` # -# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#261 +# source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#226 class RubyIndexer::Entry::OptionalParameter < ::RubyIndexer::Entry::Parameter - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#263 + # : -> Symbol + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#229 sig { override.returns(::Symbol) } def decorated_name; end end # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below. # -# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#237 +# source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#202 class RubyIndexer::Entry::Parameter abstract! - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#251 + # : (name: Symbol) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#216 sig { params(name: ::Symbol).void } def initialize(name:); end # Name includes just the name of the parameter, excluding symbols like splats + # : Symbol # Decorated name is the parameter name including the splat or block prefix, e.g.: `*foo`, `**foo` or `&block` # - # @return [Symbol] - # - # source://sorbet-runtime/0.5.11761lib/types/private/methods/_methods.rb#257 + # source://sorbet-runtime/0.5.11915/lib/types/private/methods/_methods.rb#257 def decorated_name(*args, **_arg1, &blk); end # Name includes just the name of the parameter, excluding symbols like splats + # : Symbol # - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#245 + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#210 sig { returns(::Symbol) } def name; end end -# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#132 +# source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#123 class RubyIndexer::Entry::Prepend < ::RubyIndexer::Entry::ModuleOperation; end # A required method parameter, e.g. `def foo(a)` # -# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#257 +# source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#222 class RubyIndexer::Entry::RequiredParameter < ::RubyIndexer::Entry::Parameter; end # A rest method parameter, e.g. `def foo(*a)` # -# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#285 +# source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#253 class RubyIndexer::Entry::RestParameter < ::RubyIndexer::Entry::Parameter - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#289 + # : -> Symbol + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#258 sig { override.returns(::Symbol) } def decorated_name; end end -# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#286 +# source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#254 RubyIndexer::Entry::RestParameter::DEFAULT_NAME = T.let(T.unsafe(nil), Symbol) # Ruby doesn't support method overloading, so a method will have only one signature. # However RBS can represent the concept of method overloading, with different return types based on the arguments # passed, so we need to store all the signatures. # -# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#608 +# source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#509 class RubyIndexer::Entry::Signature - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#615 + # : (Array[Parameter] parameters) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#514 sig { params(parameters: T::Array[::RubyIndexer::Entry::Parameter]).void } def initialize(parameters); end # Returns a string with the decorated names of the parameters of this member. E.g.: `(a, b = 1, c: 2)` + # : -> String # - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#621 + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#520 sig { returns(::String) } def format; end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#713 + # : (Array[Prism::Node]? args, Array[Symbol] names) -> bool + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#604 sig { params(args: T.nilable(T::Array[::Prism::Node]), names: T::Array[::Symbol]).returns(T::Boolean) } def keyword_arguments_match?(args, names); end @@ -889,16 +1146,21 @@ class RubyIndexer::Entry::Signature # foo(1) # foo(1, 2) # ``` + # : (Array[Prism::Node] arguments) -> bool # - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#641 + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#540 sig { params(arguments: T::Array[::Prism::Node]).returns(T::Boolean) } def matches?(arguments); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#612 + # : Array[Parameter] + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#511 sig { returns(T::Array[::RubyIndexer::Entry::Parameter]) } def parameters; end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#700 + # : (Array[Prism::Node] positional_args, Array[Prism::Node] forwarding_arguments, Array[Prism::Node]? keyword_args, Integer min_pos, (Integer | Float) max_pos) -> bool + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#591 sig do params( positional_args: T::Array[::Prism::Node], @@ -911,9 +1173,11 @@ class RubyIndexer::Entry::Signature def positional_arguments_match?(positional_args, forwarding_arguments, keyword_args, min_pos, max_pos); end end -# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#217 +# source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#190 class RubyIndexer::Entry::SingletonClass < ::RubyIndexer::Entry::Class - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#227 + # : (Location location, Location name_location, String? comments) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#192 sig do params( location: ::RubyIndexer::Location, @@ -935,9 +1199,11 @@ end # target in [rdoc-ref:Index#resolve]. If the right hand side contains a constant that doesn't exist, then it's not # possible to resolve the alias and it will remain an UnresolvedAlias until the right hand side constant exists # -# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#438 +# source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#383 class RubyIndexer::Entry::UnresolvedConstantAlias < ::RubyIndexer::Entry - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#457 + # : (String target, Array[String] nesting, String name, URI::Generic uri, Location location, String? comments) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#391 sig do params( target: ::String, @@ -950,11 +1216,15 @@ class RubyIndexer::Entry::UnresolvedConstantAlias < ::RubyIndexer::Entry end def initialize(target, nesting, name, uri, location, comments); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#445 + # : Array[String] + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#388 sig { returns(T::Array[::String]) } def nesting; end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#442 + # : String + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#385 sig { returns(::String) } def target; end end @@ -963,9 +1233,11 @@ end # example, if we have `alias a b`, we create an unresolved alias for `a` because we aren't sure immediate what `b` # is referring to # -# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#532 +# source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#448 class RubyIndexer::Entry::UnresolvedMethodAlias < ::RubyIndexer::Entry - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#551 + # : (String new_name, String old_name, Entry::Namespace? owner, URI::Generic uri, Location location, String? comments) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#456 sig do params( new_name: ::String, @@ -978,21 +1250,25 @@ class RubyIndexer::Entry::UnresolvedMethodAlias < ::RubyIndexer::Entry end def initialize(new_name, old_name, owner, uri, location, comments); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#536 + # : String + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#450 sig { returns(::String) } def new_name; end - # @return [String] + # : String # - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#536 + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#450 def old_name; end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#539 + # : Entry::Namespace? + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#453 sig { returns(T.nilable(::RubyIndexer::Entry::Namespace)) } def owner; end end -# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/entry.rb#6 +# source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/entry.rb#6 class RubyIndexer::Entry::Visibility < ::T::Enum enums do PRIVATE = new @@ -1001,29 +1277,41 @@ class RubyIndexer::Entry::Visibility < ::T::Enum end end -# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/index.rb#5 +# source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/index.rb#5 class RubyIndexer::Index - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/index.rb#19 + # : -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/index.rb#54 sig { void } def initialize; end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/index.rb#101 + # : (String fully_qualified_name) -> Array[Entry]? + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/index.rb#136 sig { params(fully_qualified_name: ::String).returns(T.nilable(T::Array[::RubyIndexer::Entry])) } def [](fully_qualified_name); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/index.rb#92 + # : (Entry entry, ?skip_prefix_tree: bool) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/index.rb#127 sig { params(entry: ::RubyIndexer::Entry, skip_prefix_tree: T::Boolean).void } def add(entry, skip_prefix_tree: T.unsafe(nil)); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/index.rb#615 + # : (String name, String owner_name) -> Array[Entry::ClassVariable] + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/index.rb#631 sig { params(name: ::String, owner_name: ::String).returns(T::Array[::RubyIndexer::Entry::ClassVariable]) } def class_variable_completion_candidates(name, owner_name); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/index.rb#16 + # : Configuration + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/index.rb#14 sig { returns(::RubyIndexer::Configuration) } def configuration; end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/index.rb#253 + # : (String name, Array[String] nesting) -> Array[Array[(Entry::Constant | Entry::ConstantAlias | Entry::Namespace | Entry::UnresolvedConstantAlias)]] + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/index.rb#272 sig do params( name: ::String, @@ -1032,15 +1320,21 @@ class RubyIndexer::Index end def constant_completion_candidates(name, nesting); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/index.rb#62 + # : (URI::Generic uri, ?skip_require_paths_tree: bool) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/index.rb#97 sig { params(uri: ::URI::Generic, skip_require_paths_tree: T::Boolean).void } def delete(uri, skip_require_paths_tree: T.unsafe(nil)); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/index.rb#663 + # : -> bool + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/index.rb#679 sig { returns(T::Boolean) } def empty?; end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/index.rb#711 + # : [T] (String uri, ?Class[(T & Entry)]? type) -> (Array[Entry] | Array[T])? + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/index.rb#722 sig do type_parameters(:T) .params( @@ -1050,14 +1344,17 @@ class RubyIndexer::Index end def entries_for(uri, type = T.unsafe(nil)); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/index.rb#683 + # : (String name) -> Entry::SingletonClass + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/index.rb#699 sig { params(name: ::String).returns(::RubyIndexer::Entry::SingletonClass) } def existing_or_new_singleton_class(name); end # Searches for a constant based on an unqualified name and returns the first possible match regardless of whether # there are more possible matching entries + # : (String name) -> Array[(Entry::Namespace | Entry::ConstantAlias | Entry::UnresolvedConstantAlias | Entry::Constant)]? # - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/index.rb#122 + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/index.rb#148 sig do params( name: ::String @@ -1075,14 +1372,16 @@ class RubyIndexer::Index # If we find an alias, then we want to follow its target. In the same example, if `Foo::Bar` is an alias to # `Something::Else`, then we first discover `Something::Else::Baz`. But `Something::Else::Baz` might contain other # aliases, so we have to invoke `follow_aliased_namespace` again to check until we only return a real name + # : (String name, ?Array[String] seen_names) -> String # - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/index.rb#425 + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/index.rb#429 sig { params(name: ::String, seen_names: T::Array[::String]).returns(::String) } def follow_aliased_namespace(name, seen_names = T.unsafe(nil)); end # Fuzzy searches index entries based on Jaro-Winkler similarity. If no query is provided, all entries are returned + # : (String? query) -> Array[Entry] # - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/index.rb#171 + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/index.rb#205 sig { params(query: T.nilable(::String)).returns(T::Array[::RubyIndexer::Entry]) } def fuzzy_search(query); end @@ -1090,8 +1389,9 @@ class RubyIndexer::Index # declarations removed and that the ancestor linearization cache is cleared if necessary. If a block is passed, the # consumer of this API has to handle deleting and inserting/updating entries in the index instead of passing the # document's source (used to handle unsaved changes to files) + # : (URI::Generic uri, ?String? source) ?{ (Index index) -> void } -> void # - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/index.rb#631 + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/index.rb#647 sig do params( uri: ::URI::Generic, @@ -1104,8 +1404,9 @@ class RubyIndexer::Index # Index all files for the given URIs, which defaults to what is configured. A block can be used to track and control # indexing progress. That block is invoked with the current progress percentage and should return `true` to continue # indexing or `false` to stop indexing. + # : (?uris: Array[URI::Generic]) ?{ (Integer progress) -> bool } -> void # - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/index.rb#359 + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/index.rb#363 sig do params( uris: T::Array[::URI::Generic], @@ -1115,27 +1416,46 @@ class RubyIndexer::Index def index_all(uris: T.unsafe(nil), &block); end # Indexes a File URI by reading the contents from disk + # : (URI::Generic uri, ?collect_comments: bool) -> void # - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/index.rb#407 + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/index.rb#411 sig { params(uri: ::URI::Generic, collect_comments: T::Boolean).void } def index_file(uri, collect_comments: T.unsafe(nil)); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/index.rb#385 + # : (URI::Generic uri, String source, ?collect_comments: bool) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/index.rb#389 sig { params(uri: ::URI::Generic, source: ::String, collect_comments: T::Boolean).void } def index_single(uri, source, collect_comments: T.unsafe(nil)); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/index.rb#673 + # : (String name) -> bool + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/index.rb#689 sig { params(name: ::String).returns(T::Boolean) } def indexed?(name); end + # : bool + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/index.rb#17 + sig { returns(T::Boolean) } + def initial_indexing_completed; end + # Returns a list of possible candidates for completion of instance variables for a given owner name. The name must # include the `@` prefix + # : (String name, String owner_name) -> Array[(Entry::InstanceVariable | Entry::ClassVariable)] # - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/index.rb#605 - sig { params(name: ::String, owner_name: ::String).returns(T::Array[::RubyIndexer::Entry::InstanceVariable]) } + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/index.rb#602 + sig do + params( + name: ::String, + owner_name: ::String + ).returns(T::Array[T.any(::RubyIndexer::Entry::ClassVariable, ::RubyIndexer::Entry::InstanceVariable)]) + end def instance_variable_completion_candidates(name, owner_name); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/index.rb#678 + # : -> Integer + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/index.rb#694 sig { returns(::Integer) } def length; end @@ -1147,14 +1467,17 @@ class RubyIndexer::Index # module that prepends another module, then the prepend module appears before the included module. # # The order of ancestors is [linearized_prepends, self, linearized_includes, linearized_superclass] + # : (String fully_qualified_name) -> Array[String] # # @raise [NonExistingNamespaceError] # - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/index.rb#503 + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/index.rb#500 sig { params(fully_qualified_name: ::String).returns(T::Array[::String]) } def linearized_ancestors_of(fully_qualified_name); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/index.rb#200 + # : (String? name, String receiver_name) -> Array[(Entry::Member | Entry::MethodAlias)] + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/index.rb#229 sig do params( name: T.nilable(::String), @@ -1163,7 +1486,9 @@ class RubyIndexer::Index end def method_completion_candidates(name, receiver_name); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/index.rb#668 + # : -> Array[String] + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/index.rb#684 sig { returns(T::Array[::String]) } def names; end @@ -1180,8 +1505,9 @@ class RubyIndexer::Index # [#], # ] # ``` + # : (String query, ?Array[String]? nesting) -> Array[Array[Entry]] # - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/index.rb#152 + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/index.rb#186 sig do params( query: ::String, @@ -1191,8 +1517,9 @@ class RubyIndexer::Index def prefix_search(query, nesting = T.unsafe(nil)); end # Register an included `hook` that will be executed when `module_name` is included into any namespace + # : (String module_name) { (Index index, Entry::Namespace base) -> void } -> void # - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/index.rb#57 + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/index.rb#92 sig do params( module_name: ::String, @@ -1208,8 +1535,9 @@ class RubyIndexer::Index # nesting: the nesting structure where the reference was found (e.g.: ["Foo", "Bar"]) # seen_names: this parameter should not be used by consumers of the api. It is used to avoid infinite recursion when # resolving circular references + # : (String name, Array[String] nesting, ?Array[String] seen_names) -> Array[(Entry::Namespace | Entry::ConstantAlias | Entry::UnresolvedConstantAlias)]? # - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/index.rb#318 + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/index.rb#327 sig do params( name: ::String, @@ -1219,7 +1547,9 @@ class RubyIndexer::Index end def resolve(name, nesting, seen_names = T.unsafe(nil)); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/index.rb#592 + # : (String variable_name, String owner_name) -> Array[Entry::ClassVariable]? + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/index.rb#589 sig do params( variable_name: ::String, @@ -1230,8 +1560,9 @@ class RubyIndexer::Index # Resolves an instance variable name for a given owner name. This method will linearize the ancestors of the owner # and find inherited instance variables as well + # : (String variable_name, String owner_name) -> Array[Entry::InstanceVariable]? # - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/index.rb#581 + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/index.rb#578 sig do params( variable_name: ::String, @@ -1243,8 +1574,9 @@ class RubyIndexer::Index # Attempts to find methods for a resolved fully qualified receiver name. Do not provide the `seen_names` parameter # as it is used only internally to prevent infinite loops when resolving circular aliases # Returns `nil` if the method does not exist on that receiver + # : (String method_name, String receiver_name, ?Array[String] seen_names, ?inherited_only: bool) -> Array[(Entry::Member | Entry::MethodAlias)]? # - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/index.rb#465 + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/index.rb#462 sig do params( method_name: ::String, @@ -1255,7 +1587,9 @@ class RubyIndexer::Index end def resolve_method(method_name, receiver_name, seen_names = T.unsafe(nil), inherited_only: T.unsafe(nil)); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/index.rb#106 + # : (String query) -> Array[URI::Generic] + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/index.rb#141 sig { params(query: ::String).returns(T::Array[::URI::Generic]) } def search_require_paths(query); end @@ -1265,12 +1599,15 @@ class RubyIndexer::Index # inside of the ["A", "B"] nesting, then we should not concatenate the nesting with the name or else we'll end up # with `A::B::A::B::Foo`. This method will remove any redundant parts from the final name based on the reference and # the nesting + # : (String name, Array[String] nesting) -> String # - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/index.rb#1011 + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/index.rb#986 sig { params(name: ::String, nesting: T::Array[::String]).returns(::String) } def build_non_redundant_full_name(name, nesting); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/index.rb#1043 + # : (String full_name, Array[String] seen_names) -> Array[(Entry::Namespace | Entry::ConstantAlias | Entry::UnresolvedConstantAlias)]? + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/index.rb#1007 sig do params( full_name: ::String, @@ -1279,7 +1616,9 @@ class RubyIndexer::Index end def direct_or_aliased_constant(full_name, seen_names); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/index.rb#972 + # : (String? name, Array[String] nesting) -> Array[Array[(Entry::Namespace | Entry::ConstantAlias | Entry::UnresolvedConstantAlias | Entry::Constant)]] + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/index.rb#947 sig do params( name: T.nilable(::String), @@ -1290,8 +1629,9 @@ class RubyIndexer::Index # Linearize mixins for an array of namespace entries. This method will mutate the `ancestors` array with the # linearized ancestors of the mixins + # : (Array[String] ancestors, Array[Entry::Namespace] namespace_entries, Array[String] nesting) -> void # - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/index.rb#757 + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/index.rb#776 sig do params( ancestors: T::Array[::String], @@ -1303,8 +1643,9 @@ class RubyIndexer::Index # Linearize the superclass of a given namespace (including modules with the implicit `Module` superclass). This # method will mutate the `ancestors` array with the linearized ancestors of the superclass + # : (Array[String] ancestors, String attached_class_name, String fully_qualified_name, Array[Entry::Namespace] namespace_entries, Array[String] nesting, Integer singleton_levels) -> void # - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/index.rb#807 + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/index.rb#817 sig do params( ancestors: T::Array[::String], @@ -1317,7 +1658,17 @@ class RubyIndexer::Index end def linearize_superclass(ancestors, attached_class_name, fully_qualified_name, namespace_entries, nesting, singleton_levels); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/index.rb#942 + # Always returns the linearized ancestors for the attached class, regardless of whether `name` refers to a singleton + # or attached namespace + # : (String name) -> Array[String] + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/index.rb#734 + sig { params(name: ::String).returns(T::Array[::String]) } + def linearized_attached_ancestors(name); end + + # : (String name, Array[String] nesting, Array[String] seen_names) -> Array[(Entry::Namespace | Entry::ConstantAlias | Entry::UnresolvedConstantAlias)]? + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/index.rb#927 sig do params( name: ::String, @@ -1327,7 +1678,9 @@ class RubyIndexer::Index end def lookup_ancestor_chain(name, nesting, seen_names); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/index.rb#913 + # : (String name, Array[String] nesting, Array[String] seen_names) -> Array[(Entry::Namespace | Entry::ConstantAlias | Entry::UnresolvedConstantAlias)]? + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/index.rb#908 sig do params( name: ::String, @@ -1339,8 +1692,9 @@ class RubyIndexer::Index # Attempts to resolve an UnresolvedAlias into a resolved Alias. If the unresolved alias is pointing to a constant # that doesn't exist, then we return the same UnresolvedAlias + # : (Entry::UnresolvedConstantAlias entry, Array[String] seen_names) -> (Entry::ConstantAlias | Entry::UnresolvedConstantAlias) # - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/index.rb#880 + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/index.rb#885 sig do params( entry: ::RubyIndexer::Entry::UnresolvedConstantAlias, @@ -1351,8 +1705,9 @@ class RubyIndexer::Index # Attempt to resolve a given unresolved method alias. This method returns the resolved alias if we managed to # identify the target or the same unresolved alias entry if we couldn't + # : (Entry::UnresolvedMethodAlias entry, String receiver_name, Array[String] seen_names) -> (Entry::MethodAlias | Entry::UnresolvedMethodAlias) # - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/index.rb#1065 + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/index.rb#1023 sig do params( entry: ::RubyIndexer::Entry::UnresolvedMethodAlias, @@ -1363,53 +1718,89 @@ class RubyIndexer::Index def resolve_method_alias(entry, receiver_name, seen_names); end # Runs the registered included hooks + # : (String fully_qualified_name, Array[String] nesting) -> void # - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/index.rb#722 + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/index.rb#747 sig { params(fully_qualified_name: ::String, nesting: T::Array[::String]).void } def run_included_hooks(fully_qualified_name, nesting); end + + class << self + # Returns the real nesting of a constant name taking into account top level + # references that may be included anywhere in the name or nesting where that + # constant was found + # : (Array[String] stack, String? name) -> Array[String] + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/index.rb#24 + sig { params(stack: T::Array[::String], name: T.nilable(::String)).returns(T::Array[::String]) } + def actual_nesting(stack, name); end + + # Returns the unresolved name for a constant reference including all parts of a constant path, or `nil` if the + # constant contains dynamic or incomplete parts + # : ((Prism::ConstantPathNode | Prism::ConstantReadNode | Prism::ConstantPathTargetNode | Prism::CallNode | Prism::MissingNode) node) -> String? + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/index.rb#40 + sig do + params( + node: T.any(::Prism::CallNode, ::Prism::ConstantPathNode, ::Prism::ConstantPathTargetNode, ::Prism::ConstantReadNode, ::Prism::MissingNode) + ).returns(T.nilable(::String)) + end + def constant_name(node); end + end end # The minimum Jaro-Winkler similarity score for an entry to be considered a match for a given fuzzy search query # -# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/index.rb#13 +# source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/index.rb#11 RubyIndexer::Index::ENTRY_SIMILARITY_THRESHOLD = T.let(T.unsafe(nil), Float) -# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/index.rb#10 +# source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/index.rb#8 class RubyIndexer::Index::IndexNotEmptyError < ::StandardError; end -# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/index.rb#9 +# source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/index.rb#7 class RubyIndexer::Index::NonExistingNamespaceError < ::StandardError; end -# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/index.rb#8 +# source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/index.rb#6 class RubyIndexer::Index::UnresolvableAliasError < ::StandardError; end -# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/location.rb#5 +# source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/location.rb#5 class RubyIndexer::Location - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/location.rb#41 + # : (Integer start_line, Integer end_line, Integer start_column, Integer end_column) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/location.rb#22 sig { params(start_line: ::Integer, end_line: ::Integer, start_column: ::Integer, end_column: ::Integer).void } def initialize(start_line, end_line, start_column, end_column); end - # @return [Integer] + # : ((Location | Prism::Location) other) -> bool + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/location.rb#30 + sig { params(other: T.any(::Prism::Location, ::RubyIndexer::Location)).returns(T::Boolean) } + def ==(other); end + + # : Integer # - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/location.rb#31 + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/location.rb#19 def end_column; end - # @return [Integer] + # : Integer # - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/location.rb#31 + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/location.rb#19 def end_line; end - # @return [Integer] + # : Integer # - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/location.rb#31 + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/location.rb#19 def start_column; end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/location.rb#31 + # : Integer + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/location.rb#19 sig { returns(::Integer) } def start_line; end class << self - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/location.rb#20 + # : (Prism::Location prism_location, (^(Integer arg0) -> Integer | Prism::CodeUnitsCache) code_units_cache) -> instance + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/location.rb#8 sig do params( prism_location: ::Prism::Location, @@ -1451,26 +1842,30 @@ end # # See https://en.wikipedia.org/wiki/Trie for more information # -# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/prefix_tree.rb#35 +# source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/prefix_tree.rb#35 class RubyIndexer::PrefixTree extend T::Generic Value = type_member - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/prefix_tree.rb#42 + # : -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/prefix_tree.rb#41 sig { void } def initialize; end # Deletes the entry identified by `key` from the tree. Notice that a partial match will still delete all entries # that match it. For example, if the tree contains `foo` and we ask to delete `fo`, then `foo` will be deleted + # : (String key) -> void # - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/prefix_tree.rb#77 + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/prefix_tree.rb#76 sig { params(key: ::String).void } def delete(key); end # Inserts a `value` using the given `key` + # : (String key, Value value) -> void # - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/prefix_tree.rb#60 + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/prefix_tree.rb#59 sig { params(key: ::String, value: Value).void } def insert(key, value); end @@ -1478,82 +1873,106 @@ class RubyIndexer::PrefixTree # return it as a result. The result is always an array of the type of value attribute to the generic `Value` type. # Notice that if the `Value` is an array, this method will return an array of arrays, where each entry is the array # of values for a given match + # : (String prefix) -> Array[Value] # - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/prefix_tree.rb#51 + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/prefix_tree.rb#50 sig { params(prefix: ::String).returns(T::Array[Value]) } def search(prefix); end private # Find a node that matches the given `key` + # : (String key) -> Node[Value]? # - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/prefix_tree.rb#97 + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/prefix_tree.rb#96 sig { params(key: ::String).returns(T.nilable(RubyIndexer::PrefixTree::Node[Value])) } def find_node(key); end end -# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/prefix_tree.rb#110 +# source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/prefix_tree.rb#109 class RubyIndexer::PrefixTree::Node extend T::Generic Value = type_member - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/prefix_tree.rb#132 + # : (String key, Value value, ?Node[Value]? parent) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/prefix_tree.rb#130 sig { params(key: ::String, value: Value, parent: T.nilable(RubyIndexer::PrefixTree::Node[Value])).void } def initialize(key, value, parent = T.unsafe(nil)); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/prefix_tree.rb#117 + # : Hash[String, Node[Value]] + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/prefix_tree.rb#115 sig { returns(T::Hash[::String, RubyIndexer::PrefixTree::Node[Value]]) } def children; end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/prefix_tree.rb#141 + # : -> Array[Value] + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/prefix_tree.rb#139 sig { returns(T::Array[Value]) } def collect; end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/prefix_tree.rb#120 + # : String + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/prefix_tree.rb#118 sig { returns(::String) } def key; end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/prefix_tree.rb#126 + # : bool + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/prefix_tree.rb#124 sig { returns(T::Boolean) } def leaf; end - # @return [Boolean] + # : bool # - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/prefix_tree.rb#126 + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/prefix_tree.rb#124 def leaf=(_arg0); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/prefix_tree.rb#129 + # : Node[Value]? + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/prefix_tree.rb#127 sig { returns(T.nilable(RubyIndexer::PrefixTree::Node[Value])) } def parent; end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/prefix_tree.rb#123 + # : Value + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/prefix_tree.rb#121 sig { returns(Value) } def value; end - # @return [Value] + # : Value # - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/prefix_tree.rb#123 + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/prefix_tree.rb#121 def value=(_arg0); end end -# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/rbs_indexer.rb#5 +# source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/rbs_indexer.rb#5 class RubyIndexer::RBSIndexer - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/rbs_indexer.rb#11 + # : (Index index) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/rbs_indexer.rb#9 sig { params(index: ::RubyIndexer::Index).void } def initialize(index); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/rbs_indexer.rb#16 + # : -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/rbs_indexer.rb#14 sig { void } def index_ruby_core; end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/rbs_indexer.rb#31 + # : (Pathname pathname, Array[RBS::AST::Declarations::Base] declarations) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/rbs_indexer.rb#24 sig { params(pathname: ::Pathname, declarations: T::Array[::RBS::AST::Declarations::Base]).void } def process_signature(pathname, declarations); end private - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/rbs_indexer.rb#102 + # : ((RBS::AST::Declarations::Class | RBS::AST::Declarations::Module) declaration, Entry::Namespace entry) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/rbs_indexer.rb#88 sig do params( declaration: T.any(::RBS::AST::Declarations::Class, ::RBS::AST::Declarations::Module), @@ -1562,7 +1981,9 @@ class RubyIndexer::RBSIndexer end def add_declaration_mixins_to_entry(declaration, entry); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/rbs_indexer.rb#318 + # : ((RBS::AST::Declarations::Class | RBS::AST::Declarations::Module | RBS::AST::Declarations::Constant | RBS::AST::Declarations::Global | RBS::AST::Members::MethodDefinition | RBS::AST::Members::Alias) declaration) -> String? + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/rbs_indexer.rb#295 sig do params( declaration: T.any(::RBS::AST::Declarations::Class, ::RBS::AST::Declarations::Constant, ::RBS::AST::Declarations::Global, ::RBS::AST::Declarations::Module, ::RBS::AST::Members::Alias, ::RBS::AST::Members::MethodDefinition) @@ -1570,7 +1991,9 @@ class RubyIndexer::RBSIndexer end def comments_to_string(declaration); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/rbs_indexer.rb#57 + # : ((RBS::AST::Declarations::Class | RBS::AST::Declarations::Module) declaration, Pathname pathname) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/rbs_indexer.rb#48 sig do params( declaration: T.any(::RBS::AST::Declarations::Class, ::RBS::AST::Declarations::Module), @@ -1593,8 +2016,9 @@ class RubyIndexer::RBSIndexer # Complex::I = ... # Complex::I is a top-level constant # # And we need to handle their nesting differently. + # : (RBS::AST::Declarations::Constant declaration, Array[String] nesting, URI::Generic uri) -> void # - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/rbs_indexer.rb#266 + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/rbs_indexer.rb#252 sig do params( declaration: ::RBS::AST::Declarations::Constant, @@ -1604,31 +2028,45 @@ class RubyIndexer::RBSIndexer end def handle_constant(declaration, nesting, uri); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/rbs_indexer.rb#277 + # : (RBS::AST::Declarations::Global declaration, Pathname pathname) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/rbs_indexer.rb#263 sig { params(declaration: ::RBS::AST::Declarations::Global, pathname: ::Pathname).void } def handle_global_variable(declaration, pathname); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/rbs_indexer.rb#118 + # : (RBS::AST::Members::MethodDefinition member, Entry::Namespace owner) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/rbs_indexer.rb#104 sig { params(member: ::RBS::AST::Members::MethodDefinition, owner: ::RubyIndexer::Entry::Namespace).void } def handle_method(member, owner); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/rbs_indexer.rb#292 + # : (RBS::AST::Members::Alias member, Entry::Namespace owner_entry) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/rbs_indexer.rb#278 sig { params(member: ::RBS::AST::Members::Alias, owner_entry: ::RubyIndexer::Entry::Namespace).void } def handle_signature_alias(member, owner_entry); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/rbs_indexer.rb#177 + # : (RBS::Types::Function function) -> Array[Entry::Parameter] + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/rbs_indexer.rb#163 sig { params(function: ::RBS::Types::Function).returns(T::Array[::RubyIndexer::Entry::Parameter]) } def parse_arguments(function); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/rbs_indexer.rb#40 + # : (RBS::AST::Declarations::Base declaration, Pathname pathname) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/rbs_indexer.rb#33 sig { params(declaration: ::RBS::AST::Declarations::Base, pathname: ::Pathname).void } def process_declaration(declaration, pathname); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/rbs_indexer.rb#236 + # : (RBS::Types::Function function) -> Array[Entry::OptionalKeywordParameter] + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/rbs_indexer.rb#222 sig { params(function: ::RBS::Types::Function).returns(T::Array[::RubyIndexer::Entry::OptionalKeywordParameter]) } def process_optional_keywords(function); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/rbs_indexer.rb#156 + # : (RBS::AST::Members::MethodDefinition::Overload overload) -> Array[Entry::Parameter] + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/rbs_indexer.rb#142 sig do params( overload: ::RBS::AST::Members::MethodDefinition::Overload @@ -1636,237 +2074,320 @@ class RubyIndexer::RBSIndexer end def process_overload(overload); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/rbs_indexer.rb#189 + # : (RBS::Types::Function function) -> Array[Entry::RequiredParameter] + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/rbs_indexer.rb#175 sig { params(function: ::RBS::Types::Function).returns(T::Array[::RubyIndexer::Entry::RequiredParameter]) } def process_required_and_optional_positionals(function); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/rbs_indexer.rb#229 + # : (RBS::Types::Function function) -> Array[Entry::KeywordParameter] + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/rbs_indexer.rb#215 sig { params(function: ::RBS::Types::Function).returns(T::Array[::RubyIndexer::Entry::KeywordParameter]) } def process_required_keywords(function); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/rbs_indexer.rb#243 + # : (RBS::Types::Function function) -> Entry::KeywordRestParameter + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/rbs_indexer.rb#229 sig { params(function: ::RBS::Types::Function).returns(::RubyIndexer::Entry::KeywordRestParameter) } def process_rest_keywords(function); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/rbs_indexer.rb#220 + # : (RBS::Types::Function function) -> Entry::RestParameter + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/rbs_indexer.rb#206 sig { params(function: ::RBS::Types::Function).returns(::RubyIndexer::Entry::RestParameter) } def process_rest_positionals(function); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/rbs_indexer.rb#213 + # : (RBS::Types::Function function) -> Array[Entry::OptionalParameter] + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/rbs_indexer.rb#199 sig { params(function: ::RBS::Types::Function).returns(T::Array[::RubyIndexer::Entry::OptionalParameter]) } def process_trailing_positionals(function); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/rbs_indexer.rb#148 + # : (RBS::AST::Members::MethodDefinition member) -> Array[Entry::Signature] + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/rbs_indexer.rb#134 sig { params(member: ::RBS::AST::Members::MethodDefinition).returns(T::Array[::RubyIndexer::Entry::Signature]) } def signatures(member); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/rbs_indexer.rb#87 + # : (RBS::Location rbs_location) -> RubyIndexer::Location + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/rbs_indexer.rb#78 sig { params(rbs_location: ::RBS::Location).returns(::RubyIndexer::Location) } def to_ruby_indexer_location(rbs_location); end end -# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/rbs_indexer.rb#8 +# source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/rbs_indexer.rb#6 RubyIndexer::RBSIndexer::HAS_UNTYPED_FUNCTION = T.let(T.unsafe(nil), TrueClass) -# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#5 +# source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#5 class RubyIndexer::ReferenceFinder - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#81 + # : (Target target, RubyIndexer::Index index, Prism::Dispatcher dispatcher, URI::Generic uri, ?include_declarations: bool) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#64 sig do params( target: ::RubyIndexer::ReferenceFinder::Target, index: ::RubyIndexer::Index, dispatcher: ::Prism::Dispatcher, + uri: ::URI::Generic, include_declarations: T::Boolean ).void end - def initialize(target, index, dispatcher, include_declarations: T.unsafe(nil)); end + def initialize(target, index, dispatcher, uri, include_declarations: T.unsafe(nil)); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#315 + # : (Prism::CallNode node) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#283 sig { params(node: ::Prism::CallNode).void } def on_call_node_enter(node); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#128 + # : (Prism::ClassNode node) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#112 sig { params(node: ::Prism::ClassNode).void } def on_class_node_enter(node); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#141 + # : (Prism::ClassNode node) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#117 sig { params(node: ::Prism::ClassNode).void } def on_class_node_leave(node); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#257 + # : (Prism::ConstantAndWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#225 sig { params(node: ::Prism::ConstantAndWriteNode).void } def on_constant_and_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#262 + # : (Prism::ConstantOperatorWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#230 sig { params(node: ::Prism::ConstantOperatorWriteNode).void } def on_constant_operator_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#252 + # : (Prism::ConstantOrWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#220 sig { params(node: ::Prism::ConstantOrWriteNode).void } def on_constant_or_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#236 + # : (Prism::ConstantPathAndWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#204 sig { params(node: ::Prism::ConstantPathAndWriteNode).void } def on_constant_path_and_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#177 + # : (Prism::ConstantPathNode node) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#145 sig { params(node: ::Prism::ConstantPathNode).void } def on_constant_path_node_enter(node); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#225 + # : (Prism::ConstantPathOperatorWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#193 sig { params(node: ::Prism::ConstantPathOperatorWriteNode).void } def on_constant_path_operator_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#214 + # : (Prism::ConstantPathOrWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#182 sig { params(node: ::Prism::ConstantPathOrWriteNode).void } def on_constant_path_or_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#203 + # : (Prism::ConstantPathWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#171 sig { params(node: ::Prism::ConstantPathWriteNode).void } def on_constant_path_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#185 + # : (Prism::ConstantReadNode node) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#153 sig { params(node: ::Prism::ConstantReadNode).void } def on_constant_read_node_enter(node); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#247 + # : (Prism::ConstantWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#215 sig { params(node: ::Prism::ConstantWriteNode).void } def on_constant_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#267 + # : (Prism::DefNode node) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#235 sig { params(node: ::Prism::DefNode).void } def on_def_node_enter(node); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#278 + # : (Prism::DefNode node) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#246 sig { params(node: ::Prism::DefNode).void } def on_def_node_leave(node); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#295 + # : (Prism::InstanceVariableAndWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#263 sig { params(node: ::Prism::InstanceVariableAndWriteNode).void } def on_instance_variable_and_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#300 + # : (Prism::InstanceVariableOperatorWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#268 sig { params(node: ::Prism::InstanceVariableOperatorWriteNode).void } def on_instance_variable_operator_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#305 + # : (Prism::InstanceVariableOrWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#273 sig { params(node: ::Prism::InstanceVariableOrWriteNode).void } def on_instance_variable_or_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#285 + # : (Prism::InstanceVariableReadNode node) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#253 sig { params(node: ::Prism::InstanceVariableReadNode).void } def on_instance_variable_read_node_enter(node); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#310 + # : (Prism::InstanceVariableTargetNode node) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#278 sig { params(node: ::Prism::InstanceVariableTargetNode).void } def on_instance_variable_target_node_enter(node); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#290 + # : (Prism::InstanceVariableWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#258 sig { params(node: ::Prism::InstanceVariableWriteNode).void } def on_instance_variable_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#146 + # : (Prism::ModuleNode node) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#122 sig { params(node: ::Prism::ModuleNode).void } def on_module_node_enter(node); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#159 + # : (Prism::ModuleNode node) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#127 sig { params(node: ::Prism::ModuleNode).void } def on_module_node_leave(node); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#193 + # : (Prism::MultiWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#161 sig { params(node: ::Prism::MultiWriteNode).void } def on_multi_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#164 + # : (Prism::SingletonClassNode node) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#132 sig { params(node: ::Prism::SingletonClassNode).void } def on_singleton_class_node_enter(node); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#172 + # : (Prism::SingletonClassNode node) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#140 sig { params(node: ::Prism::SingletonClassNode).void } def on_singleton_class_node_leave(node); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#121 + # : -> Array[Reference] + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#105 sig { returns(T::Array[::RubyIndexer::ReferenceFinder::Reference]) } def references; end private - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#324 - sig { params(name: ::String).returns(T::Array[::String]) } - def actual_nesting(name); end - - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#338 + # : (String name, Prism::Location location) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#292 sig { params(name: ::String, location: ::Prism::Location).void } def collect_constant_references(name, location); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#358 + # : (String name, Prism::Location location, bool declaration) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#321 sig { params(name: ::String, location: ::Prism::Location, declaration: T::Boolean).void } def collect_instance_variable_references(name, location, declaration); end +end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#373 - sig do - params( - node: T.any(::Prism::ConstantPathNode, ::Prism::ConstantPathTargetNode, ::Prism::ConstantReadNode) - ).returns(T.nilable(::String)) - end - def constant_name(node); end -end - -# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#14 +# source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#12 class RubyIndexer::ReferenceFinder::ConstTarget < ::RubyIndexer::ReferenceFinder::Target - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#21 + # : (String fully_qualified_name) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#17 sig { params(fully_qualified_name: ::String).void } def initialize(fully_qualified_name); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#18 + # : String + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#14 sig { returns(::String) } def fully_qualified_name; end end -# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#40 +# source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#34 class RubyIndexer::ReferenceFinder::InstanceVariableTarget < ::RubyIndexer::ReferenceFinder::Target - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#47 + # : (String name) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#39 sig { params(name: ::String).void } def initialize(name); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#44 + # : String + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#36 sig { returns(::String) } def name; end end -# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#27 +# source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#23 class RubyIndexer::ReferenceFinder::MethodTarget < ::RubyIndexer::ReferenceFinder::Target - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#34 + # : (String method_name) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#28 sig { params(method_name: ::String).void } def initialize(method_name); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#31 + # : String + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#25 sig { returns(::String) } def method_name; end end -# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#53 +# source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#45 class RubyIndexer::ReferenceFinder::Reference - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#66 + # : (String name, Prism::Location location, declaration: bool) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#56 sig { params(name: ::String, location: ::Prism::Location, declaration: T::Boolean).void } def initialize(name, location, declaration:); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#63 + # : bool + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#53 sig { returns(T::Boolean) } def declaration; end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#60 + # : Prism::Location + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#50 sig { returns(::Prism::Location) } def location; end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#57 + # : String + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#47 sig { returns(::String) } def name; end end # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below. # -# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#8 +# source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/reference_finder.rb#6 class RubyIndexer::ReferenceFinder::Target abstract! end @@ -1874,32 +2395,42 @@ end # Represents the visibility scope in a Ruby namespace. This keeps track of whether methods are in a public, private or # protected section, and whether they are module functions. # -# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/visibility_scope.rb#7 +# source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/visibility_scope.rb#7 class RubyIndexer::VisibilityScope - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/visibility_scope.rb#31 + # : (?visibility: Entry::Visibility, ?module_func: bool) -> void + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/visibility_scope.rb#27 sig { params(visibility: ::RubyIndexer::Entry::Visibility, module_func: T::Boolean).void } def initialize(visibility: T.unsafe(nil), module_func: T.unsafe(nil)); end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/visibility_scope.rb#28 + # : bool + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/visibility_scope.rb#24 sig { returns(T::Boolean) } def module_func; end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/visibility_scope.rb#25 + # : Entry::Visibility + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/visibility_scope.rb#21 sig { returns(::RubyIndexer::Entry::Visibility) } def visibility; end class << self - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/visibility_scope.rb#14 + # : -> instance + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/visibility_scope.rb#10 sig { returns(T.attached_class) } def module_function_scope; end - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/visibility_scope.rb#19 + # : -> instance + # + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/visibility_scope.rb#15 sig { returns(T.attached_class) } def public_scope; end end end -# source://ruby-lsp/lib/ruby-lsp.rb#4 +# source://ruby-lsp//lib/ruby-lsp.rb#4 module RubyLsp; end # To register an add-on, inherit from this class and implement both `name` and `activate` @@ -1922,11 +2453,13 @@ module RubyLsp; end # # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below. # -# source://ruby-lsp/lib/ruby_lsp/addon.rb#22 +# source://ruby-lsp//lib/ruby_lsp/addon.rb#22 class RubyLsp::Addon abstract! - # source://ruby-lsp/lib/ruby_lsp/addon.rb#159 + # : -> void + # + # source://ruby-lsp//lib/ruby_lsp/addon.rb#151 sig { void } def initialize; end @@ -1935,17 +2468,20 @@ class RubyLsp::Addon # # @abstract # - # source://ruby-lsp/lib/ruby_lsp/addon.rb#190 + # source://ruby-lsp//lib/ruby_lsp/addon.rb#182 sig { abstract.params(global_state: ::RubyLsp::GlobalState, outgoing_queue: ::Thread::Queue).void } def activate(global_state, outgoing_queue); end - # source://ruby-lsp/lib/ruby_lsp/addon.rb#164 + # : (StandardError error) -> self + # + # source://ruby-lsp//lib/ruby_lsp/addon.rb#156 sig { params(error: ::StandardError).returns(T.self_type) } def add_error(error); end # Creates a new CodeLens listener. This method is invoked on every CodeLens request + # : (ResponseBuilders::CollectionResponseBuilder[Interface::CodeLens] response_builder, URI::Generic uri, Prism::Dispatcher dispatcher) -> void # - # source://ruby-lsp/lib/ruby_lsp/addon.rb#221 + # source://ruby-lsp//lib/ruby_lsp/addon.rb#209 sig do overridable .params( @@ -1957,8 +2493,9 @@ class RubyLsp::Addon def create_code_lens_listener(response_builder, uri, dispatcher); end # Creates a new Completion listener. This method is invoked on every Completion request + # : (ResponseBuilders::CollectionResponseBuilder[Interface::CompletionItem] response_builder, NodeContext node_context, Prism::Dispatcher dispatcher, URI::Generic uri) -> void # - # source://ruby-lsp/lib/ruby_lsp/addon.rb#273 + # source://ruby-lsp//lib/ruby_lsp/addon.rb#233 sig do overridable .params( @@ -1971,8 +2508,9 @@ class RubyLsp::Addon def create_completion_listener(response_builder, node_context, dispatcher, uri); end # Creates a new Definition listener. This method is invoked on every Definition request + # : (ResponseBuilders::CollectionResponseBuilder[(Interface::Location | Interface::LocationLink)] response_builder, URI::Generic uri, NodeContext node_context, Prism::Dispatcher dispatcher) -> void # - # source://ruby-lsp/lib/ruby_lsp/addon.rb#262 + # source://ruby-lsp//lib/ruby_lsp/addon.rb#228 sig do overridable .params( @@ -1984,9 +2522,24 @@ class RubyLsp::Addon end def create_definition_listener(response_builder, uri, node_context, dispatcher); end + # Creates a new Discover Tests listener. This method is invoked on every DiscoverTests request + # : (ResponseBuilders::TestCollection response_builder, Prism::Dispatcher dispatcher, URI::Generic uri) -> void + # + # source://ruby-lsp//lib/ruby_lsp/addon.rb#238 + sig do + overridable + .params( + response_builder: RubyLsp::ResponseBuilders::TestCollection, + dispatcher: ::Prism::Dispatcher, + uri: ::URI::Generic + ).void + end + def create_discover_tests_listener(response_builder, dispatcher, uri); end + # Creates a new DocumentSymbol listener. This method is invoked on every DocumentSymbol request + # : (ResponseBuilders::DocumentSymbol response_builder, Prism::Dispatcher dispatcher) -> void # - # source://ruby-lsp/lib/ruby_lsp/addon.rb#240 + # source://ruby-lsp//lib/ruby_lsp/addon.rb#219 sig do overridable .params( @@ -1997,8 +2550,9 @@ class RubyLsp::Addon def create_document_symbol_listener(response_builder, dispatcher); end # Creates a new Hover listener. This method is invoked on every Hover request + # : (ResponseBuilders::Hover response_builder, NodeContext node_context, Prism::Dispatcher dispatcher) -> void # - # source://ruby-lsp/lib/ruby_lsp/addon.rb#231 + # source://ruby-lsp//lib/ruby_lsp/addon.rb#214 sig do overridable .params( @@ -2009,7 +2563,9 @@ class RubyLsp::Addon end def create_hover_listener(response_builder, node_context, dispatcher); end - # source://ruby-lsp/lib/ruby_lsp/addon.rb#248 + # : (ResponseBuilders::SemanticHighlighting response_builder, Prism::Dispatcher dispatcher) -> void + # + # source://ruby-lsp//lib/ruby_lsp/addon.rb#223 sig do overridable .params( @@ -2024,19 +2580,25 @@ class RubyLsp::Addon # # @abstract # - # source://ruby-lsp/lib/ruby_lsp/addon.rb#195 + # source://ruby-lsp//lib/ruby_lsp/addon.rb#187 sig { abstract.void } def deactivate; end - # source://ruby-lsp/lib/ruby_lsp/addon.rb#170 + # : -> bool + # + # source://ruby-lsp//lib/ruby_lsp/addon.rb#162 sig { returns(T::Boolean) } def error?; end - # source://ruby-lsp/lib/ruby_lsp/addon.rb#183 + # : -> String + # + # source://ruby-lsp//lib/ruby_lsp/addon.rb#175 sig { returns(::String) } def errors_details; end - # source://ruby-lsp/lib/ruby_lsp/addon.rb#175 + # : -> String + # + # source://ruby-lsp//lib/ruby_lsp/addon.rb#167 sig { returns(::String) } def formatted_errors; end @@ -2044,8 +2606,9 @@ class RubyLsp::Addon # original request so that the response is delegated to the correct add-on and must override this method to handle # the response # https://microsoft.github.io/language-server-protocol/specification#window_showMessageRequest + # : (String title) -> void # - # source://ruby-lsp/lib/ruby_lsp/addon.rb#211 + # source://ruby-lsp//lib/ruby_lsp/addon.rb#204 sig { overridable.params(title: ::String).void } def handle_window_show_message_response(title); end @@ -2053,7 +2616,7 @@ class RubyLsp::Addon # # @abstract # - # source://ruby-lsp/lib/ruby_lsp/addon.rb#199 + # source://ruby-lsp//lib/ruby_lsp/addon.rb#191 sig { abstract.returns(::String) } def name; end @@ -2062,22 +2625,26 @@ class RubyLsp::Addon # # @abstract # - # source://ruby-lsp/lib/ruby_lsp/addon.rb#204 + # source://ruby-lsp//lib/ruby_lsp/addon.rb#196 sig { abstract.returns(::String) } def version; end class << self - # source://ruby-lsp/lib/ruby_lsp/addon.rb#47 + # : Array[singleton(Addon)] + # + # source://ruby-lsp//lib/ruby_lsp/addon.rb#45 sig { returns(T::Array[T.class_of(RubyLsp::Addon)]) } def addon_classes; end - # source://ruby-lsp/lib/ruby_lsp/addon.rb#41 + # : Array[Addon] + # + # source://ruby-lsp//lib/ruby_lsp/addon.rb#39 sig { returns(T::Array[::RubyLsp::Addon]) } def addons; end - # @return [Array] + # : Array[Addon] # - # source://ruby-lsp/lib/ruby_lsp/addon.rb#41 + # source://ruby-lsp//lib/ruby_lsp/addon.rb#39 def addons=(_arg0); end # Depend on a specific version of the Ruby LSP. This method should only be used if the add-on is distributed in a @@ -2093,18 +2660,21 @@ class RubyLsp::Addon # end # end # ``` + # : (*String version_constraints) -> void # - # source://ruby-lsp/lib/ruby_lsp/addon.rb#148 + # source://ruby-lsp//lib/ruby_lsp/addon.rb#140 sig { params(version_constraints: ::String).void } def depend_on_ruby_lsp!(*version_constraints); end - # source://ruby-lsp/lib/ruby_lsp/addon.rb#44 + # : Array[Addon] + # + # source://ruby-lsp//lib/ruby_lsp/addon.rb#42 sig { returns(T::Array[::RubyLsp::Addon]) } def file_watcher_addons; end - # @return [Array] + # : Array[Addon] # - # source://ruby-lsp/lib/ruby_lsp/addon.rb#44 + # source://ruby-lsp//lib/ruby_lsp/addon.rb#42 def file_watcher_addons=(_arg0); end # Get a reference to another add-on object by name and version. If an add-on exports an API that can be used by @@ -2113,22 +2683,25 @@ class RubyLsp::Addon # Important: if the add-on is not found, AddonNotFoundError will be raised. If the add-on is found, but its # current version does not satisfy the given version constraint, then IncompatibleApiError will be raised. It is # the responsibility of the add-ons using this API to handle these errors appropriately. + # : (String addon_name, *String version_constraints) -> Addon # # @raise [AddonNotFoundError] # - # source://ruby-lsp/lib/ruby_lsp/addon.rb#116 + # source://ruby-lsp//lib/ruby_lsp/addon.rb#108 sig { params(addon_name: ::String, version_constraints: ::String).returns(::RubyLsp::Addon) } def get(addon_name, *version_constraints); end # Automatically track and instantiate add-on classes + # : (singleton(Addon) child_class) -> void # - # source://ruby-lsp/lib/ruby_lsp/addon.rb#51 + # source://ruby-lsp//lib/ruby_lsp/addon.rb#49 sig { params(child_class: T.class_of(RubyLsp::Addon)).void } def inherited(child_class); end # Discovers and loads all add-ons. Returns a list of errors when trying to require add-ons + # : (GlobalState global_state, Thread::Queue outgoing_queue, ?include_project_addons: bool) -> Array[StandardError] # - # source://ruby-lsp/lib/ruby_lsp/addon.rb#64 + # source://ruby-lsp//lib/ruby_lsp/addon.rb#56 sig do params( global_state: ::RubyLsp::GlobalState, @@ -2139,83 +2712,105 @@ class RubyLsp::Addon def load_addons(global_state, outgoing_queue, include_project_addons: T.unsafe(nil)); end # Unloads all add-ons. Only intended to be invoked once when shutting down the Ruby LSP server + # : -> void # - # source://ruby-lsp/lib/ruby_lsp/addon.rb#102 + # source://ruby-lsp//lib/ruby_lsp/addon.rb#94 sig { void } def unload_addons; end end end -# source://ruby-lsp/lib/ruby_lsp/addon.rb#33 +# source://ruby-lsp//lib/ruby_lsp/addon.rb#33 class RubyLsp::Addon::AddonNotFoundError < ::StandardError; end -# source://ruby-lsp/lib/ruby_lsp/addon.rb#35 +# source://ruby-lsp//lib/ruby_lsp/addon.rb#35 class RubyLsp::Addon::IncompatibleApiError < ::StandardError; end +# source://ruby-lsp//lib/ruby_lsp/utils.rb#40 +RubyLsp::BUNDLE_COMPOSE_FAILED_CODE = T.let(T.unsafe(nil), Integer) + # Used to indicate that a request shouldn't return a response # -# source://ruby-lsp/lib/ruby_lsp/utils.rb#12 +# source://ruby-lsp//lib/ruby_lsp/utils.rb#12 RubyLsp::BUNDLE_PATH = T.let(T.unsafe(nil), String) # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below. # -# source://ruby-lsp/lib/ruby_lsp/base_server.rb#5 +# source://ruby-lsp//lib/ruby_lsp/base_server.rb#5 class RubyLsp::BaseServer abstract! - # source://ruby-lsp/lib/ruby_lsp/base_server.rb#12 + # : (**untyped options) -> void + # + # source://ruby-lsp//lib/ruby_lsp/base_server.rb#12 sig { params(options: T.untyped).void } def initialize(**options); end - # source://ruby-lsp/lib/ruby_lsp/base_server.rb#142 + # : (Integer id, String message, ?type: Integer) -> void + # + # source://ruby-lsp//lib/ruby_lsp/base_server.rb#143 sig { params(id: ::Integer, message: ::String, type: ::Integer).void } def fail_request_and_notify(id, message, type: T.unsafe(nil)); end - # source://ruby-lsp/lib/ruby_lsp/base_server.rb#148 + # : -> Thread + # + # source://ruby-lsp//lib/ruby_lsp/base_server.rb#149 sig { returns(::Thread) } def new_worker; end # This method is only intended to be used in tests! Pops the latest response that would be sent to the client + # : -> untyped # - # source://ruby-lsp/lib/ruby_lsp/base_server.rb#125 + # source://ruby-lsp//lib/ruby_lsp/base_server.rb#126 sig { returns(T.untyped) } def pop_response; end # @abstract # - # source://ruby-lsp/lib/ruby_lsp/base_server.rb#136 + # source://ruby-lsp//lib/ruby_lsp/base_server.rb#137 sig { abstract.params(message: T::Hash[::Symbol, T.untyped]).void } def process_message(message); end # This method is only intended to be used in tests! Pushes a message to the incoming queue directly + # : (Hash[Symbol, untyped] message) -> void # - # source://ruby-lsp/lib/ruby_lsp/base_server.rb#131 + # source://ruby-lsp//lib/ruby_lsp/base_server.rb#132 sig { params(message: T::Hash[::Symbol, T.untyped]).void } def push_message(message); end - # source://ruby-lsp/lib/ruby_lsp/base_server.rb#111 + # : -> void + # + # source://ruby-lsp//lib/ruby_lsp/base_server.rb#112 sig { void } def run_shutdown; end - # source://ruby-lsp/lib/ruby_lsp/base_server.rb#179 + # : (Integer id) -> void + # + # source://ruby-lsp//lib/ruby_lsp/base_server.rb#180 sig { params(id: ::Integer).void } def send_empty_response(id); end - # source://ruby-lsp/lib/ruby_lsp/base_server.rb#184 + # : (String message, ?type: Integer) -> void + # + # source://ruby-lsp//lib/ruby_lsp/base_server.rb#185 sig { params(message: ::String, type: ::Integer).void } def send_log_message(message, type: T.unsafe(nil)); end - # source://ruby-lsp/lib/ruby_lsp/base_server.rb#168 + # : ((Result | Error | Notification | Request) message) -> void + # + # source://ruby-lsp//lib/ruby_lsp/base_server.rb#169 sig { params(message: T.any(::RubyLsp::Error, ::RubyLsp::Notification, ::RubyLsp::Request, ::RubyLsp::Result)).void } def send_message(message); end # @abstract # - # source://ruby-lsp/lib/ruby_lsp/base_server.rb#139 + # source://ruby-lsp//lib/ruby_lsp/base_server.rb#140 sig { abstract.void } def shutdown; end - # source://ruby-lsp/lib/ruby_lsp/base_server.rb#45 + # : -> void + # + # source://ruby-lsp//lib/ruby_lsp/base_server.rb#45 sig { void } def start; end end @@ -2223,46 +2818,54 @@ end # This class stores all client capabilities that the Ruby LSP and its add-ons depend on to ensure that we're # not enabling functionality unsupported by the editor connecting to the server # -# source://ruby-lsp/lib/ruby_lsp/client_capabilities.rb#7 +# source://ruby-lsp//lib/ruby_lsp/client_capabilities.rb#7 class RubyLsp::ClientCapabilities - # source://ruby-lsp/lib/ruby_lsp/client_capabilities.rb#18 + # : -> void + # + # source://ruby-lsp//lib/ruby_lsp/client_capabilities.rb#16 sig { void } def initialize; end - # source://ruby-lsp/lib/ruby_lsp/client_capabilities.rb#42 + # : (Hash[Symbol, untyped] capabilities) -> void + # + # source://ruby-lsp//lib/ruby_lsp/client_capabilities.rb#40 sig { params(capabilities: T::Hash[::Symbol, T.untyped]).void } def apply_client_capabilities(capabilities); end - # @return [Boolean] + # : bool # - # source://ruby-lsp/lib/ruby_lsp/client_capabilities.rb#11 + # source://ruby-lsp//lib/ruby_lsp/client_capabilities.rb#9 def supports_diagnostic_refresh; end - # @return [Boolean] + # : bool # - # source://ruby-lsp/lib/ruby_lsp/client_capabilities.rb#11 + # source://ruby-lsp//lib/ruby_lsp/client_capabilities.rb#9 def supports_progress; end - # source://ruby-lsp/lib/ruby_lsp/client_capabilities.rb#69 + # : -> bool + # + # source://ruby-lsp//lib/ruby_lsp/client_capabilities.rb#67 sig { returns(T::Boolean) } def supports_rename?; end - # @return [Boolean] + # : bool # - # source://ruby-lsp/lib/ruby_lsp/client_capabilities.rb#11 + # source://ruby-lsp//lib/ruby_lsp/client_capabilities.rb#9 def supports_request_delegation; end - # source://ruby-lsp/lib/ruby_lsp/client_capabilities.rb#11 + # : bool + # + # source://ruby-lsp//lib/ruby_lsp/client_capabilities.rb#9 sig { returns(T::Boolean) } def supports_watching_files; end - # @return [Boolean] + # : bool # - # source://ruby-lsp/lib/ruby_lsp/client_capabilities.rb#11 + # source://ruby-lsp//lib/ruby_lsp/client_capabilities.rb#9 def window_show_message_supports_extra_properties; end end -# source://ruby-lsp/lib/ruby_lsp/utils.rb#7 +# source://ruby-lsp//lib/ruby_lsp/utils.rb#7 RubyLsp::Constant = LanguageServer::Protocol::Constant # Request delegation for embedded languages is not yet standardized into the language server specification. Here we @@ -2270,18 +2873,18 @@ RubyLsp::Constant = LanguageServer::Protocol::Constant # language server for the host language. The support for delegation is custom built on the client side, so each editor # needs to implement their own until this becomes a part of the spec # -# source://ruby-lsp/lib/ruby_lsp/utils.rb#34 +# source://ruby-lsp//lib/ruby_lsp/utils.rb#34 class RubyLsp::DelegateRequestError < ::StandardError; end # A custom error code that clients can use to handle delegate requests. This is past the range of error codes listed # by the specification to avoid conflicting with other error types # -# source://ruby-lsp/lib/ruby_lsp/utils.rb#37 +# source://ruby-lsp//lib/ruby_lsp/utils.rb#37 RubyLsp::DelegateRequestError::CODE = T.let(T.unsafe(nil), Integer) # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below. # -# source://ruby-lsp/lib/ruby_lsp/document.rb#5 +# source://ruby-lsp//lib/ruby_lsp/document.rb#5 class RubyLsp::Document extend T::Generic @@ -2289,15 +2892,21 @@ class RubyLsp::Document ParseResultType = type_member - # source://ruby-lsp/lib/ruby_lsp/document.rb#50 + # : (source: String, version: Integer, uri: URI::Generic, global_state: GlobalState) -> void + # + # source://ruby-lsp//lib/ruby_lsp/document.rb#50 sig { params(source: ::String, version: ::Integer, uri: ::URI::Generic, global_state: ::RubyLsp::GlobalState).void } def initialize(source:, version:, uri:, global_state:); end - # source://ruby-lsp/lib/ruby_lsp/document.rb#65 + # : (Document[untyped] other) -> bool + # + # source://ruby-lsp//lib/ruby_lsp/document.rb#65 sig { params(other: RubyLsp::Document[T.untyped]).returns(T::Boolean) } def ==(other); end - # source://ruby-lsp/lib/ruby_lsp/document.rb#79 + # : [T] (String request_name) { (Document[ParseResultType] document) -> T } -> T + # + # source://ruby-lsp//lib/ruby_lsp/document.rb#73 sig do type_parameters(:T) .params( @@ -2307,19 +2916,27 @@ class RubyLsp::Document end def cache_fetch(request_name, &block); end - # source://ruby-lsp/lib/ruby_lsp/document.rb#94 + # : (String request_name) -> untyped + # + # source://ruby-lsp//lib/ruby_lsp/document.rb#88 sig { params(request_name: ::String).returns(T.untyped) } def cache_get(request_name); end - # source://ruby-lsp/lib/ruby_lsp/document.rb#89 + # : [T] (String request_name, T value) -> T + # + # source://ruby-lsp//lib/ruby_lsp/document.rb#83 sig { type_parameters(:T).params(request_name: ::String, value: T.type_parameter(:T)).returns(T.type_parameter(:T)) } def cache_set(request_name, value); end - # source://ruby-lsp/lib/ruby_lsp/document.rb#41 + # : Encoding + # + # source://ruby-lsp//lib/ruby_lsp/document.rb#41 sig { returns(::Encoding) } def encoding; end - # source://ruby-lsp/lib/ruby_lsp/document.rb#146 + # : (Hash[Symbol, untyped] start_pos, ?Hash[Symbol, untyped]? end_pos) -> [Integer, Integer?] + # + # source://ruby-lsp//lib/ruby_lsp/document.rb#135 sig do params( start_pos: T::Hash[::Symbol, T.untyped], @@ -2330,11 +2947,13 @@ class RubyLsp::Document # @abstract # - # source://ruby-lsp/lib/ruby_lsp/document.rb#70 + # source://ruby-lsp//lib/ruby_lsp/document.rb#70 sig { abstract.returns(::RubyLsp::Document::LanguageId) } def language_id; end - # source://ruby-lsp/lib/ruby_lsp/document.rb#44 + # : Edit? + # + # source://ruby-lsp//lib/ruby_lsp/document.rb#44 sig { returns(T.nilable(::RubyLsp::Document::Edit)) } def last_edit; end @@ -2342,81 +2961,101 @@ class RubyLsp::Document # # @abstract # - # source://ruby-lsp/lib/ruby_lsp/document.rb#130 + # source://ruby-lsp//lib/ruby_lsp/document.rb#124 sig { abstract.returns(T::Boolean) } def parse!; end - # source://ruby-lsp/lib/ruby_lsp/document.rb#29 + # : ParseResultType + # + # source://ruby-lsp//lib/ruby_lsp/document.rb#29 sig { returns(ParseResultType) } def parse_result; end - # source://ruby-lsp/lib/ruby_lsp/document.rb#136 + # : -> bool + # + # source://ruby-lsp//lib/ruby_lsp/document.rb#130 sig { returns(T::Boolean) } def past_expensive_limit?; end - # source://ruby-lsp/lib/ruby_lsp/document.rb#99 + # : (Array[Hash[Symbol, untyped]] edits, version: Integer) -> void + # + # source://ruby-lsp//lib/ruby_lsp/document.rb#93 sig { params(edits: T::Array[T::Hash[::Symbol, T.untyped]], version: ::Integer).void } def push_edits(edits, version:); end - # source://ruby-lsp/lib/ruby_lsp/document.rb#47 + # : (Interface::SemanticTokens | Object) + # + # source://ruby-lsp//lib/ruby_lsp/document.rb#47 sig { returns(T.any(::LanguageServer::Protocol::Interface::SemanticTokens, ::Object)) } def semantic_tokens; end - # @return [Interface::SemanticTokens, Object] + # : (Interface::SemanticTokens | Object) # - # source://ruby-lsp/lib/ruby_lsp/document.rb#47 + # source://ruby-lsp//lib/ruby_lsp/document.rb#47 def semantic_tokens=(_arg0); end - # source://ruby-lsp/lib/ruby_lsp/document.rb#32 + # : String + # + # source://ruby-lsp//lib/ruby_lsp/document.rb#32 sig { returns(::String) } def source; end # @abstract # - # source://ruby-lsp/lib/ruby_lsp/document.rb#133 + # source://ruby-lsp//lib/ruby_lsp/document.rb#127 sig { abstract.returns(T::Boolean) } def syntax_error?; end - # source://ruby-lsp/lib/ruby_lsp/document.rb#38 + # : URI::Generic + # + # source://ruby-lsp//lib/ruby_lsp/document.rb#38 sig { returns(::URI::Generic) } def uri; end - # source://ruby-lsp/lib/ruby_lsp/document.rb#35 + # : Integer + # + # source://ruby-lsp//lib/ruby_lsp/document.rb#35 sig { returns(::Integer) } def version; end private - # source://ruby-lsp/lib/ruby_lsp/document.rb#158 + # : -> Scanner + # + # source://ruby-lsp//lib/ruby_lsp/document.rb#147 sig { returns(::RubyLsp::Document::Scanner) } def create_scanner; end end -# source://ruby-lsp/lib/ruby_lsp/document.rb#179 +# source://ruby-lsp//lib/ruby_lsp/document.rb#168 class RubyLsp::Document::Delete < ::RubyLsp::Document::Edit; end -# source://ruby-lsp/lib/ruby_lsp/document.rb#24 +# source://ruby-lsp//lib/ruby_lsp/document.rb#24 RubyLsp::Document::EMPTY_CACHE = T.let(T.unsafe(nil), Object) # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below. # -# source://ruby-lsp/lib/ruby_lsp/document.rb#162 +# source://ruby-lsp//lib/ruby_lsp/document.rb#151 class RubyLsp::Document::Edit abstract! - # source://ruby-lsp/lib/ruby_lsp/document.rb#172 + # : (Hash[Symbol, untyped] range) -> void + # + # source://ruby-lsp//lib/ruby_lsp/document.rb#161 sig { params(range: T::Hash[::Symbol, T.untyped]).void } def initialize(range); end - # source://ruby-lsp/lib/ruby_lsp/document.rb#169 + # : Hash[Symbol, untyped] + # + # source://ruby-lsp//lib/ruby_lsp/document.rb#158 sig { returns(T::Hash[::Symbol, T.untyped]) } def range; end end -# source://ruby-lsp/lib/ruby_lsp/document.rb#177 +# source://ruby-lsp//lib/ruby_lsp/document.rb#166 class RubyLsp::Document::Insert < ::RubyLsp::Document::Edit; end -# source://ruby-lsp/lib/ruby_lsp/document.rb#6 +# source://ruby-lsp//lib/ruby_lsp/document.rb#6 class RubyLsp::Document::LanguageId < ::T::Enum enums do ERB = new @@ -2425,73 +3064,89 @@ class RubyLsp::Document::LanguageId < ::T::Enum end end -# source://ruby-lsp/lib/ruby_lsp/document.rb#18 +# source://ruby-lsp//lib/ruby_lsp/document.rb#18 class RubyLsp::Document::LocationNotFoundError < ::StandardError; end # This maximum number of characters for providing expensive features, like semantic highlighting and diagnostics. # This is the same number used by the TypeScript extension in VS Code # -# source://ruby-lsp/lib/ruby_lsp/document.rb#23 +# source://ruby-lsp//lib/ruby_lsp/document.rb#23 RubyLsp::Document::MAXIMUM_CHARACTERS_FOR_EXPENSIVE_FEATURES = T.let(T.unsafe(nil), Integer) -# source://ruby-lsp/lib/ruby_lsp/document.rb#178 +# source://ruby-lsp//lib/ruby_lsp/document.rb#167 class RubyLsp::Document::Replace < ::RubyLsp::Document::Edit; end -# source://ruby-lsp/lib/ruby_lsp/document.rb#181 +# source://ruby-lsp//lib/ruby_lsp/document.rb#170 class RubyLsp::Document::Scanner - # source://ruby-lsp/lib/ruby_lsp/document.rb#189 + # : (String source, Encoding encoding) -> void + # + # source://ruby-lsp//lib/ruby_lsp/document.rb#178 sig { params(source: ::String, encoding: ::Encoding).void } def initialize(source, encoding); end # Finds the character index inside the source string for a given line and column + # : (Hash[Symbol, untyped] position) -> Integer # - # source://ruby-lsp/lib/ruby_lsp/document.rb#198 + # source://ruby-lsp//lib/ruby_lsp/document.rb#187 sig { params(position: T::Hash[::Symbol, T.untyped]).returns(::Integer) } def find_char_position(position); end # Subtract 1 for each character after 0xFFFF in the current line from the column position, so that we hit the # right character in the UTF-8 representation + # : (Integer current_position, Integer requested_position) -> Integer # - # source://ruby-lsp/lib/ruby_lsp/document.rb#228 + # source://ruby-lsp//lib/ruby_lsp/document.rb#217 sig { params(current_position: ::Integer, requested_position: ::Integer).returns(::Integer) } def utf_16_character_position_correction(current_position, requested_position); end end -# source://ruby-lsp/lib/ruby_lsp/document.rb#184 +# source://ruby-lsp//lib/ruby_lsp/document.rb#173 RubyLsp::Document::Scanner::LINE_BREAK = T.let(T.unsafe(nil), Integer) # After character 0xFFFF, UTF-16 considers characters to have length 2 and we have to account for that # -# source://ruby-lsp/lib/ruby_lsp/document.rb#186 +# source://ruby-lsp//lib/ruby_lsp/document.rb#175 RubyLsp::Document::Scanner::SURROGATE_PAIR_START = T.let(T.unsafe(nil), Integer) -# source://ruby-lsp/lib/ruby_lsp/erb_document.rb#5 +# source://ruby-lsp//lib/ruby_lsp/erb_document.rb#5 class RubyLsp::ERBDocument < ::RubyLsp::Document extend T::Generic ParseResultType = type_member { { fixed: Prism::ParseResult } } - # source://ruby-lsp/lib/ruby_lsp/erb_document.rb#23 + # : (source: String, version: Integer, uri: URI::Generic, global_state: GlobalState) -> void + # + # source://ruby-lsp//lib/ruby_lsp/erb_document.rb#17 sig { params(source: ::String, version: ::Integer, uri: ::URI::Generic, global_state: ::RubyLsp::GlobalState).void } def initialize(source:, version:, uri:, global_state:); end - # source://ruby-lsp/lib/ruby_lsp/erb_document.rb#20 + # : (^(Integer arg0) -> Integer | Prism::CodeUnitsCache) + # + # source://ruby-lsp//lib/ruby_lsp/erb_document.rb#14 sig { returns(T.any(::Prism::CodeUnitsCache, T.proc.params(arg0: ::Integer).returns(::Integer))) } def code_units_cache; end - # source://ruby-lsp/lib/ruby_lsp/erb_document.rb#12 + # : String + # + # source://ruby-lsp//lib/ruby_lsp/erb_document.rb#11 sig { returns(::String) } def host_language_source; end - # source://ruby-lsp/lib/ruby_lsp/erb_document.rb#77 + # : (Integer char_position) -> bool? + # + # source://ruby-lsp//lib/ruby_lsp/erb_document.rb#69 sig { params(char_position: ::Integer).returns(T.nilable(T::Boolean)) } def inside_host_language?(char_position); end - # source://ruby-lsp/lib/ruby_lsp/erb_document.rb#55 + # : -> LanguageId + # + # source://ruby-lsp//lib/ruby_lsp/erb_document.rb#52 sig { override.returns(::RubyLsp::Document::LanguageId) } def language_id; end - # source://ruby-lsp/lib/ruby_lsp/erb_document.rb#65 + # : (Hash[Symbol, untyped] position, ?node_types: Array[singleton(Prism::Node)]) -> NodeContext + # + # source://ruby-lsp//lib/ruby_lsp/erb_document.rb#57 sig do params( position: T::Hash[::Symbol, T.untyped], @@ -2500,221 +3155,309 @@ class RubyLsp::ERBDocument < ::RubyLsp::Document end def locate_node(position, node_types: T.unsafe(nil)); end - # source://ruby-lsp/lib/ruby_lsp/erb_document.rb#35 + # : -> bool + # + # source://ruby-lsp//lib/ruby_lsp/erb_document.rb#30 sig { override.returns(T::Boolean) } def parse!; end - # source://ruby-lsp/lib/ruby_lsp/erb_document.rb#50 + # : -> bool + # + # source://ruby-lsp//lib/ruby_lsp/erb_document.rb#46 sig { override.returns(T::Boolean) } def syntax_error?; end end -# source://ruby-lsp/lib/ruby_lsp/erb_document.rb#82 +# source://ruby-lsp//lib/ruby_lsp/erb_document.rb#74 class RubyLsp::ERBDocument::ERBScanner - # source://ruby-lsp/lib/ruby_lsp/erb_document.rb#89 + # : (String source) -> void + # + # source://ruby-lsp//lib/ruby_lsp/erb_document.rb#79 sig { params(source: ::String).void } def initialize(source); end - # @return [String] + # : String # - # source://ruby-lsp/lib/ruby_lsp/erb_document.rb#86 + # source://ruby-lsp//lib/ruby_lsp/erb_document.rb#76 def host_language; end - # source://ruby-lsp/lib/ruby_lsp/erb_document.rb#86 + # : String + # + # source://ruby-lsp//lib/ruby_lsp/erb_document.rb#76 sig { returns(::String) } def ruby; end - # source://ruby-lsp/lib/ruby_lsp/erb_document.rb#98 + # : -> void + # + # source://ruby-lsp//lib/ruby_lsp/erb_document.rb#88 sig { void } def scan; end private - # source://ruby-lsp/lib/ruby_lsp/erb_document.rb#174 + # : -> String + # + # source://ruby-lsp//lib/ruby_lsp/erb_document.rb#164 sig { returns(::String) } def next_char; end - # source://ruby-lsp/lib/ruby_lsp/erb_document.rb#163 + # : (String char) -> void + # + # source://ruby-lsp//lib/ruby_lsp/erb_document.rb#153 sig { params(char: ::String).void } def push_char(char); end - # source://ruby-lsp/lib/ruby_lsp/erb_document.rb#108 + # : -> void + # + # source://ruby-lsp//lib/ruby_lsp/erb_document.rb#98 sig { void } def scan_char; end end -# source://ruby-lsp/lib/ruby_lsp/utils.rb#217 +# source://ruby-lsp//lib/ruby_lsp/utils.rb#195 class RubyLsp::Error - # source://ruby-lsp/lib/ruby_lsp/utils.rb#227 + # : (id: Integer, code: Integer, message: String, ?data: Hash[Symbol, untyped]?) -> void + # + # source://ruby-lsp//lib/ruby_lsp/utils.rb#203 sig { params(id: ::Integer, code: ::Integer, message: ::String, data: T.nilable(T::Hash[::Symbol, T.untyped])).void } def initialize(id:, code:, message:, data: T.unsafe(nil)); end - # source://ruby-lsp/lib/ruby_lsp/utils.rb#224 + # : Integer + # + # source://ruby-lsp//lib/ruby_lsp/utils.rb#200 sig { returns(::Integer) } def code; end - # source://ruby-lsp/lib/ruby_lsp/utils.rb#221 + # : String + # + # source://ruby-lsp//lib/ruby_lsp/utils.rb#197 sig { returns(::String) } def message; end - # source://ruby-lsp/lib/ruby_lsp/utils.rb#235 + # : -> Hash[Symbol, untyped] + # + # source://ruby-lsp//lib/ruby_lsp/utils.rb#211 sig { returns(T::Hash[::Symbol, T.untyped]) } def to_hash; end end -# source://ruby-lsp/lib/ruby_lsp/utils.rb#20 +# source://ruby-lsp//lib/ruby_lsp/utils.rb#20 RubyLsp::GEMFILE_NAME = T.let(T.unsafe(nil), String) -# source://ruby-lsp/lib/ruby_lsp/utils.rb#28 +# source://ruby-lsp//lib/ruby_lsp/utils.rb#28 RubyLsp::GUESSED_TYPES_URL = T.let(T.unsafe(nil), String) -# source://ruby-lsp/lib/ruby_lsp/global_state.rb#5 +# source://ruby-lsp//lib/ruby_lsp/global_state.rb#5 class RubyLsp::GlobalState - # source://ruby-lsp/lib/ruby_lsp/global_state.rb#36 + # : -> void + # + # source://ruby-lsp//lib/ruby_lsp/global_state.rb#37 sig { void } def initialize; end - # source://ruby-lsp/lib/ruby_lsp/global_state.rb#78 + # : -> Requests::Support::Formatter? + # + # source://ruby-lsp//lib/ruby_lsp/global_state.rb#80 sig { returns(T.nilable(::RubyLsp::Requests::Support::Formatter)) } def active_formatter; end - # source://ruby-lsp/lib/ruby_lsp/global_state.rb#83 + # : -> Array[Requests::Support::Formatter] + # + # source://ruby-lsp//lib/ruby_lsp/global_state.rb#85 sig { returns(T::Array[::RubyLsp::Requests::Support::Formatter]) } def active_linters; end # Applies the options provided by the editor and returns an array of notifications to send back to the client + # : (Hash[Symbol, untyped] options) -> Array[Notification] # - # source://ruby-lsp/lib/ruby_lsp/global_state.rb#89 + # source://ruby-lsp//lib/ruby_lsp/global_state.rb#91 sig { params(options: T::Hash[::Symbol, T.untyped]).returns(T::Array[::RubyLsp::Notification]) } def apply_options(options); end - # source://ruby-lsp/lib/ruby_lsp/global_state.rb#30 + # : ClientCapabilities + # + # source://ruby-lsp//lib/ruby_lsp/global_state.rb#28 sig { returns(::RubyLsp::ClientCapabilities) } def client_capabilities; end - # source://ruby-lsp/lib/ruby_lsp/global_state.rb#182 + # : (Symbol flag) -> bool? + # + # source://ruby-lsp//lib/ruby_lsp/global_state.rb#185 sig { params(flag: ::Symbol).returns(T.nilable(T::Boolean)) } def enabled_feature?(flag); end - # source://ruby-lsp/lib/ruby_lsp/global_state.rb#21 + # : Encoding + # + # source://ruby-lsp//lib/ruby_lsp/global_state.rb#19 sig { returns(::Encoding) } def encoding; end - # source://ruby-lsp/lib/ruby_lsp/global_state.rb#192 + # : -> String + # + # source://ruby-lsp//lib/ruby_lsp/global_state.rb#195 sig { returns(::String) } def encoding_name; end - # source://ruby-lsp/lib/ruby_lsp/global_state.rb#12 + # : String + # + # source://ruby-lsp//lib/ruby_lsp/global_state.rb#10 sig { returns(::String) } def formatter; end - # @return [String] + # : String # - # source://ruby-lsp/lib/ruby_lsp/global_state.rb#12 + # source://ruby-lsp//lib/ruby_lsp/global_state.rb#10 def formatter=(_arg0); end - # source://ruby-lsp/lib/ruby_lsp/global_state.rb#15 + # : bool + # + # source://ruby-lsp//lib/ruby_lsp/global_state.rb#13 sig { returns(T::Boolean) } def has_type_checker; end - # source://ruby-lsp/lib/ruby_lsp/global_state.rb#18 + # : RubyIndexer::Index + # + # source://ruby-lsp//lib/ruby_lsp/global_state.rb#16 sig { returns(::RubyIndexer::Index) } def index; end - # source://ruby-lsp/lib/ruby_lsp/global_state.rb#73 + # : (String identifier, Requests::Support::Formatter instance) -> void + # + # source://ruby-lsp//lib/ruby_lsp/global_state.rb#75 sig { params(identifier: ::String, instance: ::RubyLsp::Requests::Support::Formatter).void } def register_formatter(identifier, instance); end - # source://ruby-lsp/lib/ruby_lsp/global_state.rb#68 + # : (String addon_name) -> Hash[Symbol, untyped]? + # + # source://ruby-lsp//lib/ruby_lsp/global_state.rb#70 sig { params(addon_name: ::String).returns(T.nilable(T::Hash[::Symbol, T.untyped])) } def settings_for_addon(addon_name); end - # source://ruby-lsp/lib/ruby_lsp/global_state.rb#204 + # : -> bool + # + # source://ruby-lsp//lib/ruby_lsp/global_state.rb#207 sig { returns(T::Boolean) } def supports_watching_files; end - # source://ruby-lsp/lib/ruby_lsp/global_state.rb#63 + # : [T] { -> T } -> T + # + # source://ruby-lsp//lib/ruby_lsp/global_state.rb#65 sig { type_parameters(:T).params(block: T.proc.returns(T.type_parameter(:T))).returns(T.type_parameter(:T)) } def synchronize(&block); end - # source://ruby-lsp/lib/ruby_lsp/global_state.rb#9 + # : String? + # + # source://ruby-lsp//lib/ruby_lsp/global_state.rb#34 + sig { returns(T.nilable(::String)) } + def telemetry_machine_id; end + + # : String + # + # source://ruby-lsp//lib/ruby_lsp/global_state.rb#7 sig { returns(::String) } def test_library; end - # source://ruby-lsp/lib/ruby_lsp/global_state.rb#24 + # : bool + # + # source://ruby-lsp//lib/ruby_lsp/global_state.rb#22 sig { returns(T::Boolean) } def top_level_bundle; end - # source://ruby-lsp/lib/ruby_lsp/global_state.rb#27 + # : TypeInferrer + # + # source://ruby-lsp//lib/ruby_lsp/global_state.rb#25 sig { returns(::RubyLsp::TypeInferrer) } def type_inferrer; end - # source://ruby-lsp/lib/ruby_lsp/global_state.rb#187 + # : -> String + # + # source://ruby-lsp//lib/ruby_lsp/global_state.rb#190 sig { returns(::String) } def workspace_path; end - # source://ruby-lsp/lib/ruby_lsp/global_state.rb#33 + # : URI::Generic + # + # source://ruby-lsp//lib/ruby_lsp/global_state.rb#31 sig { returns(::URI::Generic) } def workspace_uri; end private - # source://ruby-lsp/lib/ruby_lsp/global_state.rb#267 + # : -> bool + # + # source://ruby-lsp//lib/ruby_lsp/global_state.rb#270 sig { returns(T::Boolean) } def bin_rails_present; end - # source://ruby-lsp/lib/ruby_lsp/global_state.rb#211 + # : (Array[String] direct_dependencies, Array[String] all_dependencies) -> String + # + # source://ruby-lsp//lib/ruby_lsp/global_state.rb#214 sig { params(direct_dependencies: T::Array[::String], all_dependencies: T::Array[::String]).returns(::String) } def detect_formatter(direct_dependencies, all_dependencies); end # Try to detect if there are linters in the project's dependencies. For auto-detection, we always only consider a # single linter. To have multiple linters running, the user must configure them manually + # : (Array[String] dependencies, Array[String] all_dependencies) -> Array[String] # - # source://ruby-lsp/lib/ruby_lsp/global_state.rb#227 + # source://ruby-lsp//lib/ruby_lsp/global_state.rb#230 sig { params(dependencies: T::Array[::String], all_dependencies: T::Array[::String]).returns(T::Array[::String]) } def detect_linters(dependencies, all_dependencies); end - # source://ruby-lsp/lib/ruby_lsp/global_state.rb#238 + # : (Array[String] dependencies) -> String + # + # source://ruby-lsp//lib/ruby_lsp/global_state.rb#241 sig { params(dependencies: T::Array[::String]).returns(::String) } def detect_test_library(dependencies); end - # source://ruby-lsp/lib/ruby_lsp/global_state.rb#258 + # : (Array[String] dependencies) -> bool + # + # source://ruby-lsp//lib/ruby_lsp/global_state.rb#261 sig { params(dependencies: T::Array[::String]).returns(T::Boolean) } def detect_typechecker(dependencies); end - # source://ruby-lsp/lib/ruby_lsp/global_state.rb#272 + # : -> bool + # + # source://ruby-lsp//lib/ruby_lsp/global_state.rb#275 sig { returns(T::Boolean) } def dot_rubocop_yml_present; end - # source://ruby-lsp/lib/ruby_lsp/global_state.rb#294 + # : -> Array[String] + # + # source://ruby-lsp//lib/ruby_lsp/global_state.rb#297 sig { returns(T::Array[::String]) } def gather_direct_and_indirect_dependencies; end - # source://ruby-lsp/lib/ruby_lsp/global_state.rb#277 + # : -> Array[String] + # + # source://ruby-lsp//lib/ruby_lsp/global_state.rb#280 sig { returns(T::Array[::String]) } def gather_direct_dependencies; end - # source://ruby-lsp/lib/ruby_lsp/global_state.rb#287 + # : -> Array[String] + # + # source://ruby-lsp//lib/ruby_lsp/global_state.rb#290 sig { returns(T::Array[::String]) } def gemspec_dependencies; end end -# source://ruby-lsp/lib/ruby_lsp/utils.rb#6 +# source://ruby-lsp//lib/ruby_lsp/utils.rb#6 RubyLsp::Interface = LanguageServer::Protocol::Interface # A map of keyword => short documentation to be displayed on hover or completion # -# source://ruby-lsp/lib/ruby_lsp/static_docs.rb#9 +# source://ruby-lsp//lib/ruby_lsp/static_docs.rb#9 RubyLsp::KEYWORD_DOCS = T.let(T.unsafe(nil), Hash) -# source://ruby-lsp/lib/ruby_lsp/listeners/code_lens.rb#7 +# source://ruby-lsp//lib/ruby_lsp/listeners/code_lens.rb#7 module RubyLsp::Listeners; end -# source://ruby-lsp/lib/ruby_lsp/listeners/code_lens.rb#8 +# source://ruby-lsp//lib/ruby_lsp/listeners/code_lens.rb#8 class RubyLsp::Listeners::CodeLens include ::RubyLsp::Requests::Support::Common - # source://ruby-lsp/lib/ruby_lsp/listeners/code_lens.rb#35 + # : (ResponseBuilders::CollectionResponseBuilder[Interface::CodeLens] response_builder, GlobalState global_state, URI::Generic uri, Prism::Dispatcher dispatcher) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/code_lens.rb#25 sig do params( response_builder: RubyLsp::ResponseBuilders::CollectionResponseBuilder[::LanguageServer::Protocol::Interface::CodeLens], @@ -2725,53 +3468,77 @@ class RubyLsp::Listeners::CodeLens end def initialize(response_builder, global_state, uri, dispatcher); end - # source://ruby-lsp/lib/ruby_lsp/listeners/code_lens.rb#137 + # : (Prism::CallNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/code_lens.rb#127 sig { params(node: ::Prism::CallNode).void } def on_call_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/code_lens.rb#167 + # : (Prism::CallNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/code_lens.rb#155 sig { params(node: ::Prism::CallNode).void } def on_call_node_leave(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/code_lens.rb#63 + # : (Prism::ClassNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/code_lens.rb#53 sig { params(node: ::Prism::ClassNode).void } def on_class_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/code_lens.rb#83 + # : (Prism::ClassNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/code_lens.rb#73 sig { params(node: ::Prism::ClassNode).void } def on_class_node_leave(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/code_lens.rb#95 + # : (Prism::DefNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/code_lens.rb#85 sig { params(node: ::Prism::DefNode).void } def on_def_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/code_lens.rb#118 + # : (Prism::DefNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/code_lens.rb#108 sig { params(node: ::Prism::DefNode).void } def on_def_node_leave(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/code_lens.rb#123 + # : (Prism::ModuleNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/code_lens.rb#113 sig { params(node: ::Prism::ModuleNode).void } def on_module_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/code_lens.rb#132 + # : (Prism::ModuleNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/code_lens.rb#122 sig { params(node: ::Prism::ModuleNode).void } def on_module_node_leave(node); end private - # source://ruby-lsp/lib/ruby_lsp/listeners/code_lens.rb#278 + # : (Prism::CallNode node, kind: Symbol) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/code_lens.rb#260 sig { params(node: ::Prism::CallNode, kind: ::Symbol).void } def add_spec_code_lens(node, kind:); end - # source://ruby-lsp/lib/ruby_lsp/listeners/code_lens.rb#179 + # : (Prism::Node node, name: String, command: String, kind: Symbol, ?id: String) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/code_lens.rb#167 sig { params(node: ::Prism::Node, name: ::String, command: ::String, kind: ::Symbol, id: ::String).void } def add_test_code_lens(node, name:, command:, kind:, id: T.unsafe(nil)); end - # source://ruby-lsp/lib/ruby_lsp/listeners/code_lens.rb#316 + # : (group_stack: Array[String], ?method_name: String?) -> String + # + # source://ruby-lsp//lib/ruby_lsp/listeners/code_lens.rb#298 sig { params(group_stack: T::Array[::String], method_name: T.nilable(::String)).returns(::String) } def generate_fully_qualified_id(group_stack:, method_name: T.unsafe(nil)); end - # source://ruby-lsp/lib/ruby_lsp/listeners/code_lens.rb#231 + # : (?group_stack: Array[String], ?spec_name: String?, ?method_name: String?) -> String + # + # source://ruby-lsp//lib/ruby_lsp/listeners/code_lens.rb#213 sig do params( group_stack: T::Array[::String], @@ -2782,29 +3549,25 @@ class RubyLsp::Listeners::CodeLens def generate_test_command(group_stack: T.unsafe(nil), spec_name: T.unsafe(nil), method_name: T.unsafe(nil)); end end -# source://ruby-lsp/lib/ruby_lsp/listeners/code_lens.rb#21 +# source://ruby-lsp//lib/ruby_lsp/listeners/code_lens.rb#20 RubyLsp::Listeners::CodeLens::ACCESS_MODIFIERS = T.let(T.unsafe(nil), Array) -# source://ruby-lsp/lib/ruby_lsp/listeners/code_lens.rb#12 +# source://ruby-lsp//lib/ruby_lsp/listeners/code_lens.rb#11 RubyLsp::Listeners::CodeLens::BASE_COMMAND = T.let(T.unsafe(nil), String) -# source://ruby-lsp/lib/ruby_lsp/listeners/code_lens.rb#23 -RubyLsp::Listeners::CodeLens::DESCRIBE_KEYWORD = T.let(T.unsafe(nil), Symbol) - -# source://ruby-lsp/lib/ruby_lsp/listeners/code_lens.rb#25 +# source://ruby-lsp//lib/ruby_lsp/listeners/code_lens.rb#22 RubyLsp::Listeners::CodeLens::DYNAMIC_REFERENCE_MARKER = T.let(T.unsafe(nil), String) -# source://ruby-lsp/lib/ruby_lsp/listeners/code_lens.rb#24 -RubyLsp::Listeners::CodeLens::IT_KEYWORD = T.let(T.unsafe(nil), Symbol) - -# source://ruby-lsp/lib/ruby_lsp/listeners/code_lens.rb#22 +# source://ruby-lsp//lib/ruby_lsp/listeners/code_lens.rb#21 RubyLsp::Listeners::CodeLens::SUPPORTED_TEST_LIBRARIES = T.let(T.unsafe(nil), Array) -# source://ruby-lsp/lib/ruby_lsp/listeners/completion.rb#6 +# source://ruby-lsp//lib/ruby_lsp/listeners/completion.rb#6 class RubyLsp::Listeners::Completion include ::RubyLsp::Requests::Support::Common - # source://ruby-lsp/lib/ruby_lsp/listeners/completion.rb#65 + # : (ResponseBuilders::CollectionResponseBuilder[Interface::CompletionItem] response_builder, GlobalState global_state, NodeContext node_context, RubyDocument::SorbetLevel sorbet_level, Prism::Dispatcher dispatcher, URI::Generic uri, String? trigger_character) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/completion.rb#54 sig do params( response_builder: RubyLsp::ResponseBuilders::CollectionResponseBuilder[::LanguageServer::Protocol::Interface::CompletionItem], @@ -2818,105 +3581,151 @@ class RubyLsp::Listeners::Completion end def initialize(response_builder, global_state, node_context, sorbet_level, dispatcher, uri, trigger_character); end - # source://ruby-lsp/lib/ruby_lsp/listeners/completion.rb#153 + # : (Prism::CallNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/completion.rb#142 sig { params(node: ::Prism::CallNode).void } def on_call_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/completion.rb#257 + # : (Prism::ClassVariableAndWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/completion.rb#246 sig { params(node: ::Prism::ClassVariableAndWriteNode).void } def on_class_variable_and_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/completion.rb#262 + # : (Prism::ClassVariableOperatorWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/completion.rb#251 sig { params(node: ::Prism::ClassVariableOperatorWriteNode).void } def on_class_variable_operator_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/completion.rb#267 + # : (Prism::ClassVariableOrWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/completion.rb#256 sig { params(node: ::Prism::ClassVariableOrWriteNode).void } def on_class_variable_or_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/completion.rb#277 + # : (Prism::ClassVariableReadNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/completion.rb#266 sig { params(node: ::Prism::ClassVariableReadNode).void } def on_class_variable_read_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/completion.rb#272 + # : (Prism::ClassVariableTargetNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/completion.rb#261 sig { params(node: ::Prism::ClassVariableTargetNode).void } def on_class_variable_target_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/completion.rb#282 + # : (Prism::ClassVariableWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/completion.rb#271 sig { params(node: ::Prism::ClassVariableWriteNode).void } def on_class_variable_write_node_enter(node); end # Handle completion on namespaced constant references (e.g. `Foo::Bar`) + # : (Prism::ConstantPathNode node) -> void # - # source://ruby-lsp/lib/ruby_lsp/listeners/completion.rb#135 + # source://ruby-lsp//lib/ruby_lsp/listeners/completion.rb#124 sig { params(node: ::Prism::ConstantPathNode).void } def on_constant_path_node_enter(node); end # Handle completion on regular constant references (e.g. `Bar`) + # : (Prism::ConstantReadNode node) -> void # - # source://ruby-lsp/lib/ruby_lsp/listeners/completion.rb#111 + # source://ruby-lsp//lib/ruby_lsp/listeners/completion.rb#100 sig { params(node: ::Prism::ConstantReadNode).void } def on_constant_read_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/completion.rb#197 + # : (Prism::GlobalVariableAndWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/completion.rb#186 sig { params(node: ::Prism::GlobalVariableAndWriteNode).void } def on_global_variable_and_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/completion.rb#202 + # : (Prism::GlobalVariableOperatorWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/completion.rb#191 sig { params(node: ::Prism::GlobalVariableOperatorWriteNode).void } def on_global_variable_operator_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/completion.rb#207 + # : (Prism::GlobalVariableOrWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/completion.rb#196 sig { params(node: ::Prism::GlobalVariableOrWriteNode).void } def on_global_variable_or_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/completion.rb#212 + # : (Prism::GlobalVariableReadNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/completion.rb#201 sig { params(node: ::Prism::GlobalVariableReadNode).void } def on_global_variable_read_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/completion.rb#217 + # : (Prism::GlobalVariableTargetNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/completion.rb#206 sig { params(node: ::Prism::GlobalVariableTargetNode).void } def on_global_variable_target_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/completion.rb#222 + # : (Prism::GlobalVariableWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/completion.rb#211 sig { params(node: ::Prism::GlobalVariableWriteNode).void } def on_global_variable_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/completion.rb#237 + # : (Prism::InstanceVariableAndWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/completion.rb#226 sig { params(node: ::Prism::InstanceVariableAndWriteNode).void } def on_instance_variable_and_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/completion.rb#242 + # : (Prism::InstanceVariableOperatorWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/completion.rb#231 sig { params(node: ::Prism::InstanceVariableOperatorWriteNode).void } def on_instance_variable_operator_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/completion.rb#247 + # : (Prism::InstanceVariableOrWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/completion.rb#236 sig { params(node: ::Prism::InstanceVariableOrWriteNode).void } def on_instance_variable_or_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/completion.rb#227 + # : (Prism::InstanceVariableReadNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/completion.rb#216 sig { params(node: ::Prism::InstanceVariableReadNode).void } def on_instance_variable_read_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/completion.rb#252 + # : (Prism::InstanceVariableTargetNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/completion.rb#241 sig { params(node: ::Prism::InstanceVariableTargetNode).void } def on_instance_variable_target_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/completion.rb#232 + # : (Prism::InstanceVariableWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/completion.rb#221 sig { params(node: ::Prism::InstanceVariableWriteNode).void } def on_instance_variable_write_node_enter(node); end private - # source://ruby-lsp/lib/ruby_lsp/listeners/completion.rb#561 + # : (Prism::CallNode node, String name) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/completion.rb#553 sig { params(node: ::Prism::CallNode, name: ::String).void } def add_keyword_completions(node, name); end - # source://ruby-lsp/lib/ruby_lsp/listeners/completion.rb#541 + # : (Prism::CallNode node, String name) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/completion.rb#533 sig { params(node: ::Prism::CallNode, name: ::String).void } def add_local_completions(node, name); end - # source://ruby-lsp/lib/ruby_lsp/listeners/completion.rb#579 + # : (String label, Prism::StringNode node) -> Interface::CompletionItem + # + # source://ruby-lsp//lib/ruby_lsp/listeners/completion.rb#571 sig do params( label: ::String, @@ -2925,7 +3734,9 @@ class RubyLsp::Listeners::Completion end def build_completion(label, node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/completion.rb#602 + # : (String real_name, String incomplete_name, Interface::Range range, Array[RubyIndexer::Entry] entries, bool top_level) -> Interface::CompletionItem + # + # source://ruby-lsp//lib/ruby_lsp/listeners/completion.rb#586 sig do params( real_name: ::String, @@ -2937,31 +3748,45 @@ class RubyLsp::Listeners::Completion end def build_entry_completion(real_name, incomplete_name, range, entries, top_level); end - # source://ruby-lsp/lib/ruby_lsp/listeners/completion.rb#477 + # : (Prism::CallNode node, String name) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/completion.rb#469 sig { params(node: ::Prism::CallNode, name: ::String).void } def complete_methods(node, name); end - # source://ruby-lsp/lib/ruby_lsp/listeners/completion.rb#432 + # : (Prism::CallNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/completion.rb#421 sig { params(node: ::Prism::CallNode).void } def complete_require(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/completion.rb#448 + # : (Prism::CallNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/completion.rb#437 sig { params(node: ::Prism::CallNode).void } def complete_require_relative(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/completion.rb#289 + # : (String name, Interface::Range range) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/completion.rb#278 sig { params(name: ::String, range: ::LanguageServer::Protocol::Interface::Range).void } def constant_path_completion(name, range); end - # source://ruby-lsp/lib/ruby_lsp/listeners/completion.rb#367 + # : (String name, Prism::Location location) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/completion.rb#356 sig { params(name: ::String, location: ::Prism::Location).void } def handle_class_variable_completion(name, location); end - # source://ruby-lsp/lib/ruby_lsp/listeners/completion.rb#344 + # : (String name, Prism::Location location) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/completion.rb#333 sig { params(name: ::String, location: ::Prism::Location).void } def handle_global_variable_completion(name, location); end - # source://ruby-lsp/lib/ruby_lsp/listeners/completion.rb#398 + # : (String name, Prism::Location location) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/completion.rb#387 sig { params(name: ::String, location: ::Prism::Location).void } def handle_instance_variable_completion(name, location); end @@ -2979,20 +3804,23 @@ class RubyLsp::Listeners::Completion # B # end # ``` + # : (String entry_name) -> bool # - # source://ruby-lsp/lib/ruby_lsp/listeners/completion.rb#691 + # source://ruby-lsp//lib/ruby_lsp/listeners/completion.rb#675 sig { params(entry_name: ::String).returns(T::Boolean) } def top_level?(entry_name); end end -# source://ruby-lsp/lib/ruby_lsp/listeners/completion.rb#10 +# source://ruby-lsp//lib/ruby_lsp/listeners/completion.rb#9 RubyLsp::Listeners::Completion::KEYWORDS = T.let(T.unsafe(nil), Array) -# source://ruby-lsp/lib/ruby_lsp/listeners/definition.rb#6 +# source://ruby-lsp//lib/ruby_lsp/listeners/definition.rb#6 class RubyLsp::Listeners::Definition include ::RubyLsp::Requests::Support::Common - # source://ruby-lsp/lib/ruby_lsp/listeners/definition.rb#26 + # : (ResponseBuilders::CollectionResponseBuilder[(Interface::Location | Interface::LocationLink)] response_builder, GlobalState global_state, Document::LanguageId language_id, URI::Generic uri, NodeContext node_context, Prism::Dispatcher dispatcher, RubyDocument::SorbetLevel sorbet_level) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/definition.rb#12 sig do params( response_builder: RubyLsp::ResponseBuilders::CollectionResponseBuilder[T.any(::LanguageServer::Protocol::Interface::Location, ::LanguageServer::Protocol::Interface::LocationLink)], @@ -3006,133 +3834,197 @@ class RubyLsp::Listeners::Definition end def initialize(response_builder, global_state, language_id, uri, node_context, dispatcher, sorbet_level); end - # source://ruby-lsp/lib/ruby_lsp/listeners/definition.rb#109 + # : (Prism::BlockArgumentNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/definition.rb#95 sig { params(node: ::Prism::BlockArgumentNode).void } def on_block_argument_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/definition.rb#68 + # : (Prism::CallNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/definition.rb#54 sig { params(node: ::Prism::CallNode).void } def on_call_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/definition.rb#206 + # : (Prism::ClassVariableAndWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/definition.rb#192 sig { params(node: ::Prism::ClassVariableAndWriteNode).void } def on_class_variable_and_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/definition.rb#211 + # : (Prism::ClassVariableOperatorWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/definition.rb#197 sig { params(node: ::Prism::ClassVariableOperatorWriteNode).void } def on_class_variable_operator_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/definition.rb#216 + # : (Prism::ClassVariableOrWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/definition.rb#202 sig { params(node: ::Prism::ClassVariableOrWriteNode).void } def on_class_variable_or_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/definition.rb#226 + # : (Prism::ClassVariableReadNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/definition.rb#212 sig { params(node: ::Prism::ClassVariableReadNode).void } def on_class_variable_read_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/definition.rb#221 + # : (Prism::ClassVariableTargetNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/definition.rb#207 sig { params(node: ::Prism::ClassVariableTargetNode).void } def on_class_variable_target_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/definition.rb#231 + # : (Prism::ClassVariableWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/definition.rb#217 sig { params(node: ::Prism::ClassVariableWriteNode).void } def on_class_variable_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/definition.rb#120 + # : (Prism::ConstantPathNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/definition.rb#106 sig { params(node: ::Prism::ConstantPathNode).void } def on_constant_path_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/definition.rb#128 + # : (Prism::ConstantReadNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/definition.rb#114 sig { params(node: ::Prism::ConstantReadNode).void } def on_constant_read_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/definition.rb#201 + # : (Prism::ForwardingSuperNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/definition.rb#187 sig { params(node: ::Prism::ForwardingSuperNode).void } def on_forwarding_super_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/definition.rb#136 + # : (Prism::GlobalVariableAndWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/definition.rb#122 sig { params(node: ::Prism::GlobalVariableAndWriteNode).void } def on_global_variable_and_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/definition.rb#141 + # : (Prism::GlobalVariableOperatorWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/definition.rb#127 sig { params(node: ::Prism::GlobalVariableOperatorWriteNode).void } def on_global_variable_operator_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/definition.rb#146 + # : (Prism::GlobalVariableOrWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/definition.rb#132 sig { params(node: ::Prism::GlobalVariableOrWriteNode).void } def on_global_variable_or_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/definition.rb#151 + # : (Prism::GlobalVariableReadNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/definition.rb#137 sig { params(node: ::Prism::GlobalVariableReadNode).void } def on_global_variable_read_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/definition.rb#156 + # : (Prism::GlobalVariableTargetNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/definition.rb#142 sig { params(node: ::Prism::GlobalVariableTargetNode).void } def on_global_variable_target_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/definition.rb#161 + # : (Prism::GlobalVariableWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/definition.rb#147 sig { params(node: ::Prism::GlobalVariableWriteNode).void } def on_global_variable_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/definition.rb#176 + # : (Prism::InstanceVariableAndWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/definition.rb#162 sig { params(node: ::Prism::InstanceVariableAndWriteNode).void } def on_instance_variable_and_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/definition.rb#181 + # : (Prism::InstanceVariableOperatorWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/definition.rb#167 sig { params(node: ::Prism::InstanceVariableOperatorWriteNode).void } def on_instance_variable_operator_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/definition.rb#186 + # : (Prism::InstanceVariableOrWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/definition.rb#172 sig { params(node: ::Prism::InstanceVariableOrWriteNode).void } def on_instance_variable_or_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/definition.rb#166 + # : (Prism::InstanceVariableReadNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/definition.rb#152 sig { params(node: ::Prism::InstanceVariableReadNode).void } def on_instance_variable_read_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/definition.rb#191 + # : (Prism::InstanceVariableTargetNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/definition.rb#177 sig { params(node: ::Prism::InstanceVariableTargetNode).void } def on_instance_variable_target_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/definition.rb#171 + # : (Prism::InstanceVariableWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/definition.rb#157 sig { params(node: ::Prism::InstanceVariableWriteNode).void } def on_instance_variable_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/definition.rb#87 + # : (Prism::StringNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/definition.rb#73 sig { params(node: ::Prism::StringNode).void } def on_string_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/definition.rb#196 + # : (Prism::SuperNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/definition.rb#182 sig { params(node: ::Prism::SuperNode).void } def on_super_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/definition.rb#98 + # : (Prism::SymbolNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/definition.rb#84 sig { params(node: ::Prism::SymbolNode).void } def on_symbol_node_enter(node); end private - # source://ruby-lsp/lib/ruby_lsp/listeners/definition.rb#393 + # : (String value) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/definition.rb#379 sig { params(value: ::String).void } def find_in_index(value); end - # source://ruby-lsp/lib/ruby_lsp/listeners/definition.rb#382 + # : (Prism::CallNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/definition.rb#368 sig { params(node: ::Prism::CallNode).void } def handle_autoload_definition(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/definition.rb#272 + # : (String name) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/definition.rb#258 sig { params(name: ::String).void } def handle_class_variable_definition(name); end - # source://ruby-lsp/lib/ruby_lsp/listeners/definition.rb#253 + # : (String name) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/definition.rb#239 sig { params(name: ::String).void } def handle_global_variable_definition(name); end - # source://ruby-lsp/lib/ruby_lsp/listeners/definition.rb#290 + # : (String name) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/definition.rb#276 sig { params(name: ::String).void } def handle_instance_variable_definition(name); end - # source://ruby-lsp/lib/ruby_lsp/listeners/definition.rb#317 + # : (String message, TypeInferrer::Type? receiver_type, ?inherited_only: bool) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/definition.rb#303 sig do params( message: ::String, @@ -3142,23 +4034,29 @@ class RubyLsp::Listeners::Definition end def handle_method_definition(message, receiver_type, inherited_only: T.unsafe(nil)); end - # source://ruby-lsp/lib/ruby_lsp/listeners/definition.rb#345 + # : (Prism::StringNode node, Symbol message) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/definition.rb#331 sig { params(node: ::Prism::StringNode, message: ::Symbol).void } def handle_require_definition(node, message); end - # source://ruby-lsp/lib/ruby_lsp/listeners/definition.rb#238 + # : -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/definition.rb#224 sig { void } def handle_super_node_definition; end end -# source://ruby-lsp/lib/ruby_lsp/listeners/definition.rb#10 +# source://ruby-lsp//lib/ruby_lsp/listeners/definition.rb#9 RubyLsp::Listeners::Definition::MAX_NUMBER_OF_DEFINITION_CANDIDATES_WITHOUT_RECEIVER = T.let(T.unsafe(nil), Integer) -# source://ruby-lsp/lib/ruby_lsp/listeners/document_highlight.rb#6 +# source://ruby-lsp//lib/ruby_lsp/listeners/document_highlight.rb#6 class RubyLsp::Listeners::DocumentHighlight include ::RubyLsp::Requests::Support::Common - # source://ruby-lsp/lib/ruby_lsp/listeners/document_highlight.rb#98 + # : (ResponseBuilders::CollectionResponseBuilder[Interface::DocumentHighlight] response_builder, Prism::Node? target, Prism::Node? parent, Prism::Dispatcher dispatcher, Hash[Symbol, untyped] position) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_highlight.rb#89 sig do params( response_builder: RubyLsp::ResponseBuilders::CollectionResponseBuilder[::LanguageServer::Protocol::Interface::DocumentHighlight], @@ -3170,268 +4068,388 @@ class RubyLsp::Listeners::DocumentHighlight end def initialize(response_builder, target, parent, dispatcher, position); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_highlight.rb#254 + # : (Prism::BlockParameterNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_highlight.rb#245 sig { params(node: ::Prism::BlockParameterNode).void } def on_block_parameter_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_highlight.rb#192 + # : (Prism::CallNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_highlight.rb#183 sig { params(node: ::Prism::CallNode).void } def on_call_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_highlight.rb#540 + # : (Prism::CaseNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_highlight.rb#531 sig { params(node: ::Prism::CaseNode).void } def on_case_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_highlight.rb#268 + # : (Prism::ClassNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_highlight.rb#259 sig { params(node: ::Prism::ClassNode).void } def on_class_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_highlight.rb#442 + # : (Prism::ClassVariableAndWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_highlight.rb#433 sig { params(node: ::Prism::ClassVariableAndWriteNode).void } def on_class_variable_and_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_highlight.rb#435 + # : (Prism::ClassVariableOperatorWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_highlight.rb#426 sig { params(node: ::Prism::ClassVariableOperatorWriteNode).void } def on_class_variable_operator_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_highlight.rb#428 + # : (Prism::ClassVariableOrWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_highlight.rb#419 sig { params(node: ::Prism::ClassVariableOrWriteNode).void } def on_class_variable_or_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_highlight.rb#314 + # : (Prism::ClassVariableReadNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_highlight.rb#305 sig { params(node: ::Prism::ClassVariableReadNode).void } def on_class_variable_read_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_highlight.rb#240 + # : (Prism::ClassVariableTargetNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_highlight.rb#231 sig { params(node: ::Prism::ClassVariableTargetNode).void } def on_class_variable_target_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_highlight.rb#421 + # : (Prism::ClassVariableWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_highlight.rb#412 sig { params(node: ::Prism::ClassVariableWriteNode).void } def on_class_variable_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_highlight.rb#498 + # : (Prism::ConstantAndWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_highlight.rb#489 sig { params(node: ::Prism::ConstantAndWriteNode).void } def on_constant_and_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_highlight.rb#463 + # : (Prism::ConstantOperatorWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_highlight.rb#454 sig { params(node: ::Prism::ConstantOperatorWriteNode).void } def on_constant_operator_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_highlight.rb#456 + # : (Prism::ConstantOrWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_highlight.rb#447 sig { params(node: ::Prism::ConstantOrWriteNode).void } def on_constant_or_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_highlight.rb#342 + # : (Prism::ConstantPathAndWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_highlight.rb#333 sig { params(node: ::Prism::ConstantPathAndWriteNode).void } def on_constant_path_and_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_highlight.rb#293 + # : (Prism::ConstantPathNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_highlight.rb#284 sig { params(node: ::Prism::ConstantPathNode).void } def on_constant_path_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_highlight.rb#349 + # : (Prism::ConstantPathOperatorWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_highlight.rb#340 sig { params(node: ::Prism::ConstantPathOperatorWriteNode).void } def on_constant_path_operator_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_highlight.rb#335 + # : (Prism::ConstantPathOrWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_highlight.rb#326 sig { params(node: ::Prism::ConstantPathOrWriteNode).void } def on_constant_path_or_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_highlight.rb#226 + # : (Prism::ConstantPathTargetNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_highlight.rb#217 sig { params(node: ::Prism::ConstantPathTargetNode).void } def on_constant_path_target_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_highlight.rb#328 + # : (Prism::ConstantPathWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_highlight.rb#319 sig { params(node: ::Prism::ConstantPathWriteNode).void } def on_constant_path_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_highlight.rb#300 + # : (Prism::ConstantReadNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_highlight.rb#291 sig { params(node: ::Prism::ConstantReadNode).void } def on_constant_read_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_highlight.rb#233 + # : (Prism::ConstantTargetNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_highlight.rb#224 sig { params(node: ::Prism::ConstantTargetNode).void } def on_constant_target_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_highlight.rb#449 + # : (Prism::ConstantWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_highlight.rb#440 sig { params(node: ::Prism::ConstantWriteNode).void } def on_constant_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_highlight.rb#203 + # : (Prism::DefNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_highlight.rb#194 sig { params(node: ::Prism::DefNode).void } def on_def_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_highlight.rb#561 + # : (Prism::ForNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_highlight.rb#552 sig { params(node: ::Prism::ForNode).void } def on_for_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_highlight.rb#519 + # : (Prism::GlobalVariableAndWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_highlight.rb#510 sig { params(node: ::Prism::GlobalVariableAndWriteNode).void } def on_global_variable_and_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_highlight.rb#526 + # : (Prism::GlobalVariableOperatorWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_highlight.rb#517 sig { params(node: ::Prism::GlobalVariableOperatorWriteNode).void } def on_global_variable_operator_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_highlight.rb#512 + # : (Prism::GlobalVariableOrWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_highlight.rb#503 sig { params(node: ::Prism::GlobalVariableOrWriteNode).void } def on_global_variable_or_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_highlight.rb#321 + # : (Prism::GlobalVariableReadNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_highlight.rb#312 sig { params(node: ::Prism::GlobalVariableReadNode).void } def on_global_variable_read_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_highlight.rb#212 + # : (Prism::GlobalVariableTargetNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_highlight.rb#203 sig { params(node: ::Prism::GlobalVariableTargetNode).void } def on_global_variable_target_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_highlight.rb#505 + # : (Prism::GlobalVariableWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_highlight.rb#496 sig { params(node: ::Prism::GlobalVariableWriteNode).void } def on_global_variable_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_highlight.rb#568 + # : (Prism::IfNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_highlight.rb#559 sig { params(node: ::Prism::IfNode).void } def on_if_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_highlight.rb#484 + # : (Prism::InstanceVariableAndWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_highlight.rb#475 sig { params(node: ::Prism::InstanceVariableAndWriteNode).void } def on_instance_variable_and_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_highlight.rb#491 + # : (Prism::InstanceVariableOperatorWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_highlight.rb#482 sig { params(node: ::Prism::InstanceVariableOperatorWriteNode).void } def on_instance_variable_operator_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_highlight.rb#477 + # : (Prism::InstanceVariableOrWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_highlight.rb#468 sig { params(node: ::Prism::InstanceVariableOrWriteNode).void } def on_instance_variable_or_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_highlight.rb#307 + # : (Prism::InstanceVariableReadNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_highlight.rb#298 sig { params(node: ::Prism::InstanceVariableReadNode).void } def on_instance_variable_read_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_highlight.rb#219 + # : (Prism::InstanceVariableTargetNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_highlight.rb#210 sig { params(node: ::Prism::InstanceVariableTargetNode).void } def on_instance_variable_target_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_highlight.rb#470 + # : (Prism::InstanceVariableWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_highlight.rb#461 sig { params(node: ::Prism::InstanceVariableWriteNode).void } def on_instance_variable_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_highlight.rb#392 + # : (Prism::KeywordRestParameterNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_highlight.rb#383 sig { params(node: ::Prism::KeywordRestParameterNode).void } def on_keyword_rest_parameter_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_highlight.rb#400 + # : (Prism::LocalVariableAndWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_highlight.rb#391 sig { params(node: ::Prism::LocalVariableAndWriteNode).void } def on_local_variable_and_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_highlight.rb#407 + # : (Prism::LocalVariableOperatorWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_highlight.rb#398 sig { params(node: ::Prism::LocalVariableOperatorWriteNode).void } def on_local_variable_operator_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_highlight.rb#414 + # : (Prism::LocalVariableOrWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_highlight.rb#405 sig { params(node: ::Prism::LocalVariableOrWriteNode).void } def on_local_variable_or_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_highlight.rb#286 + # : (Prism::LocalVariableReadNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_highlight.rb#277 sig { params(node: ::Prism::LocalVariableReadNode).void } def on_local_variable_read_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_highlight.rb#247 + # : (Prism::LocalVariableTargetNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_highlight.rb#238 sig { params(node: ::Prism::LocalVariableTargetNode).void } def on_local_variable_target_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_highlight.rb#356 + # : (Prism::LocalVariableWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_highlight.rb#347 sig { params(node: ::Prism::LocalVariableWriteNode).void } def on_local_variable_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_highlight.rb#277 + # : (Prism::ModuleNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_highlight.rb#268 sig { params(node: ::Prism::ModuleNode).void } def on_module_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_highlight.rb#370 + # : (Prism::OptionalKeywordParameterNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_highlight.rb#361 sig { params(node: ::Prism::OptionalKeywordParameterNode).void } def on_optional_keyword_parameter_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_highlight.rb#385 + # : (Prism::OptionalParameterNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_highlight.rb#376 sig { params(node: ::Prism::OptionalParameterNode).void } def on_optional_parameter_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_highlight.rb#363 + # : (Prism::RequiredKeywordParameterNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_highlight.rb#354 sig { params(node: ::Prism::RequiredKeywordParameterNode).void } def on_required_keyword_parameter_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_highlight.rb#261 + # : (Prism::RequiredParameterNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_highlight.rb#252 sig { params(node: ::Prism::RequiredParameterNode).void } def on_required_parameter_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_highlight.rb#377 + # : (Prism::RestParameterNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_highlight.rb#368 sig { params(node: ::Prism::RestParameterNode).void } def on_rest_parameter_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_highlight.rb#533 + # : (Prism::SingletonClassNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_highlight.rb#524 sig { params(node: ::Prism::SingletonClassNode).void } def on_singleton_class_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_highlight.rb#575 + # : (Prism::UnlessNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_highlight.rb#566 sig { params(node: ::Prism::UnlessNode).void } def on_unless_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_highlight.rb#554 + # : (Prism::UntilNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_highlight.rb#545 sig { params(node: ::Prism::UntilNode).void } def on_until_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_highlight.rb#547 + # : (Prism::WhileNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_highlight.rb#538 sig { params(node: ::Prism::WhileNode).void } def on_while_node_enter(node); end private - # source://ruby-lsp/lib/ruby_lsp/listeners/document_highlight.rb#589 + # : (Integer kind, Prism::Location location) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_highlight.rb#580 sig { params(kind: ::Integer, location: ::Prism::Location).void } def add_highlight(kind, location); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_highlight.rb#622 + # : (Prism::Location? keyword_loc, Prism::Location? end_loc) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_highlight.rb#613 sig { params(keyword_loc: T.nilable(::Prism::Location), end_loc: T.nilable(::Prism::Location)).void } def add_matching_end_highlights(keyword_loc, end_loc); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_highlight.rb#632 + # : (Prism::Location location) -> bool + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_highlight.rb#623 sig { params(location: ::Prism::Location).returns(T::Boolean) } def covers_target_position?(location); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_highlight.rb#584 + # : (Prism::Node node, Array[singleton(Prism::Node)] classes) -> bool? + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_highlight.rb#575 sig { params(node: ::Prism::Node, classes: T::Array[T.class_of(Prism::Node)]).returns(T.nilable(T::Boolean)) } def matches?(node, classes); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_highlight.rb#594 + # : (Prism::Node? node) -> String? + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_highlight.rb#585 sig { params(node: T.nilable(::Prism::Node)).returns(T.nilable(::String)) } def node_value(node); end end -# source://ruby-lsp/lib/ruby_lsp/listeners/document_highlight.rb#58 +# source://ruby-lsp//lib/ruby_lsp/listeners/document_highlight.rb#57 RubyLsp::Listeners::DocumentHighlight::CLASS_VARIABLE_NODES = T.let(T.unsafe(nil), Array) -# source://ruby-lsp/lib/ruby_lsp/listeners/document_highlight.rb#34 +# source://ruby-lsp//lib/ruby_lsp/listeners/document_highlight.rb#33 RubyLsp::Listeners::DocumentHighlight::CONSTANT_NODES = T.let(T.unsafe(nil), Array) -# source://ruby-lsp/lib/ruby_lsp/listeners/document_highlight.rb#46 +# source://ruby-lsp//lib/ruby_lsp/listeners/document_highlight.rb#45 RubyLsp::Listeners::DocumentHighlight::CONSTANT_PATH_NODES = T.let(T.unsafe(nil), Array) -# source://ruby-lsp/lib/ruby_lsp/listeners/document_highlight.rb#10 +# source://ruby-lsp//lib/ruby_lsp/listeners/document_highlight.rb#9 RubyLsp::Listeners::DocumentHighlight::GLOBAL_VARIABLE_NODES = T.let(T.unsafe(nil), Array) -# source://ruby-lsp/lib/ruby_lsp/listeners/document_highlight.rb#22 +# source://ruby-lsp//lib/ruby_lsp/listeners/document_highlight.rb#21 RubyLsp::Listeners::DocumentHighlight::INSTANCE_VARIABLE_NODES = T.let(T.unsafe(nil), Array) -# source://ruby-lsp/lib/ruby_lsp/listeners/document_highlight.rb#70 +# source://ruby-lsp//lib/ruby_lsp/listeners/document_highlight.rb#69 RubyLsp::Listeners::DocumentHighlight::LOCAL_NODES = T.let(T.unsafe(nil), Array) -# source://ruby-lsp/lib/ruby_lsp/listeners/document_link.rb#8 +# source://ruby-lsp//lib/ruby_lsp/listeners/document_link.rb#8 class RubyLsp::Listeners::DocumentLink include ::RubyLsp::Requests::Support::Common - # source://ruby-lsp/lib/ruby_lsp/listeners/document_link.rb#68 + # : (ResponseBuilders::CollectionResponseBuilder[Interface::DocumentLink] response_builder, URI::Generic uri, Array[Prism::Comment] comments, Prism::Dispatcher dispatcher) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_link.rb#58 sig do params( response_builder: RubyLsp::ResponseBuilders::CollectionResponseBuilder[::LanguageServer::Protocol::Interface::DocumentLink], @@ -3442,29 +4460,41 @@ class RubyLsp::Listeners::DocumentLink end def initialize(response_builder, uri, comments, dispatcher); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_link.rb#98 + # : (Prism::ClassNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_link.rb#88 sig { params(node: ::Prism::ClassNode).void } def on_class_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_link.rb#113 + # : (Prism::ConstantPathWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_link.rb#103 sig { params(node: ::Prism::ConstantPathWriteNode).void } def on_constant_path_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_link.rb#108 + # : (Prism::ConstantWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_link.rb#98 sig { params(node: ::Prism::ConstantWriteNode).void } def on_constant_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_link.rb#93 + # : (Prism::DefNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_link.rb#83 sig { params(node: ::Prism::DefNode).void } def on_def_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_link.rb#103 + # : (Prism::ModuleNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_link.rb#93 sig { params(node: ::Prism::ModuleNode).void } def on_module_node_enter(node); end private - # source://ruby-lsp/lib/ruby_lsp/listeners/document_link.rb#120 + # : (Prism::Node node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_link.rb#110 sig { params(node: ::Prism::Node).void } def extract_document_link(node); end @@ -3472,26 +4502,31 @@ class RubyLsp::Listeners::DocumentLink # 1. The version in the URI # 2. The version in the RBI file name # 3. The version from the gemspec + # : (URI::Source uri) -> String? # - # source://ruby-lsp/lib/ruby_lsp/listeners/document_link.rb#152 + # source://ruby-lsp//lib/ruby_lsp/listeners/document_link.rb#151 sig { params(uri: ::URI::Source).returns(T.nilable(::String)) } def resolve_version(uri); end class << self - # source://ruby-lsp/lib/ruby_lsp/listeners/document_link.rb#23 + # : -> Hash[String, Hash[String, Hash[String, String]]] + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_link.rb#20 sig { returns(T::Hash[::String, T::Hash[::String, T::Hash[::String, ::String]]]) } def gem_paths; end end end -# source://ruby-lsp/lib/ruby_lsp/listeners/document_link.rb#12 +# source://ruby-lsp//lib/ruby_lsp/listeners/document_link.rb#11 RubyLsp::Listeners::DocumentLink::GEM_TO_VERSION_MAP = T.let(T.unsafe(nil), Hash) -# source://ruby-lsp/lib/ruby_lsp/listeners/document_symbol.rb#6 +# source://ruby-lsp//lib/ruby_lsp/listeners/document_symbol.rb#6 class RubyLsp::Listeners::DocumentSymbol include ::RubyLsp::Requests::Support::Common - # source://ruby-lsp/lib/ruby_lsp/listeners/document_symbol.rb#19 + # : (ResponseBuilders::DocumentSymbol response_builder, URI::Generic uri, Prism::Dispatcher dispatcher) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_symbol.rb#12 sig do params( response_builder: RubyLsp::ResponseBuilders::DocumentSymbol, @@ -3501,117 +4536,173 @@ class RubyLsp::Listeners::DocumentSymbol end def initialize(response_builder, uri, dispatcher); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_symbol.rb#317 + # : (Prism::AliasMethodNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_symbol.rb#310 sig { params(node: ::Prism::AliasMethodNode).void } def on_alias_method_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_symbol.rb#88 + # : (Prism::CallNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_symbol.rb#81 sig { params(node: ::Prism::CallNode).void } def on_call_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_symbol.rb#102 + # : (Prism::CallNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_symbol.rb#95 sig { params(node: ::Prism::CallNode).void } def on_call_node_leave(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_symbol.rb#56 + # : (Prism::ClassNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_symbol.rb#49 sig { params(node: ::Prism::ClassNode).void } def on_class_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_symbol.rb#66 + # : (Prism::ClassNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_symbol.rb#59 sig { params(node: ::Prism::ClassNode).void } def on_class_node_leave(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_symbol.rb#257 + # : (Prism::ClassVariableWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_symbol.rb#250 sig { params(node: ::Prism::ClassVariableWriteNode).void } def on_class_variable_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_symbol.rb#171 + # : (Prism::ConstantAndWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_symbol.rb#164 sig { params(node: ::Prism::ConstantAndWriteNode).void } def on_constant_and_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_symbol.rb#181 + # : (Prism::ConstantOperatorWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_symbol.rb#174 sig { params(node: ::Prism::ConstantOperatorWriteNode).void } def on_constant_operator_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_symbol.rb#161 + # : (Prism::ConstantOrWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_symbol.rb#154 sig { params(node: ::Prism::ConstantOrWriteNode).void } def on_constant_or_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_symbol.rb#131 + # : (Prism::ConstantPathAndWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_symbol.rb#124 sig { params(node: ::Prism::ConstantPathAndWriteNode).void } def on_constant_path_and_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_symbol.rb#151 + # : (Prism::ConstantPathOperatorWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_symbol.rb#144 sig { params(node: ::Prism::ConstantPathOperatorWriteNode).void } def on_constant_path_operator_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_symbol.rb#141 + # : (Prism::ConstantPathOrWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_symbol.rb#134 sig { params(node: ::Prism::ConstantPathOrWriteNode).void } def on_constant_path_or_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_symbol.rb#201 + # : (Prism::ConstantPathTargetNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_symbol.rb#194 sig { params(node: ::Prism::ConstantPathTargetNode).void } def on_constant_path_target_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_symbol.rb#111 + # : (Prism::ConstantPathWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_symbol.rb#104 sig { params(node: ::Prism::ConstantPathWriteNode).void } def on_constant_path_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_symbol.rb#191 + # : (Prism::ConstantTargetNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_symbol.rb#184 sig { params(node: ::Prism::ConstantTargetNode).void } def on_constant_target_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_symbol.rb#121 + # : (Prism::ConstantWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_symbol.rb#114 sig { params(node: ::Prism::ConstantWriteNode).void } def on_constant_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_symbol.rb#226 + # : (Prism::DefNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_symbol.rb#219 sig { params(node: ::Prism::DefNode).void } def on_def_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_symbol.rb#211 + # : (Prism::DefNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_symbol.rb#204 sig { params(node: ::Prism::DefNode).void } def on_def_node_leave(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_symbol.rb#307 + # : (Prism::InstanceVariableAndWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_symbol.rb#300 sig { params(node: ::Prism::InstanceVariableAndWriteNode).void } def on_instance_variable_and_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_symbol.rb#287 + # : (Prism::InstanceVariableOperatorWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_symbol.rb#280 sig { params(node: ::Prism::InstanceVariableOperatorWriteNode).void } def on_instance_variable_operator_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_symbol.rb#297 + # : (Prism::InstanceVariableOrWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_symbol.rb#290 sig { params(node: ::Prism::InstanceVariableOrWriteNode).void } def on_instance_variable_or_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_symbol.rb#277 + # : (Prism::InstanceVariableTargetNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_symbol.rb#270 sig { params(node: ::Prism::InstanceVariableTargetNode).void } def on_instance_variable_target_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_symbol.rb#267 + # : (Prism::InstanceVariableWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_symbol.rb#260 sig { params(node: ::Prism::InstanceVariableWriteNode).void } def on_instance_variable_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_symbol.rb#216 + # : (Prism::ModuleNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_symbol.rb#209 sig { params(node: ::Prism::ModuleNode).void } def on_module_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_symbol.rb#252 + # : (Prism::ModuleNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_symbol.rb#245 sig { params(node: ::Prism::ModuleNode).void } def on_module_node_leave(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_symbol.rb#71 + # : (Prism::SingletonClassNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_symbol.rb#64 sig { params(node: ::Prism::SingletonClassNode).void } def on_singleton_class_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_symbol.rb#83 + # : (Prism::SingletonClassNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_symbol.rb#76 sig { params(node: ::Prism::SingletonClassNode).void } def on_singleton_class_node_leave(node); end private - # source://ruby-lsp/lib/ruby_lsp/listeners/document_symbol.rb#342 + # : (name: String, kind: Integer, range_location: Prism::Location, selection_range_location: Prism::Location) -> Interface::DocumentSymbol + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_symbol.rb#328 sig do params( name: ::String, @@ -3622,35 +4713,47 @@ class RubyLsp::Listeners::DocumentSymbol end def create_document_symbol(name:, kind:, range_location:, selection_range_location:); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_symbol.rb#391 + # : (Prism::CallNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_symbol.rb#377 sig { params(node: ::Prism::CallNode).void } def handle_alias_method(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_symbol.rb#358 + # : (Prism::CallNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_symbol.rb#344 sig { params(node: ::Prism::CallNode).void } def handle_attr_accessor(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_symbol.rb#424 + # : (Prism::CallNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_symbol.rb#410 sig { params(node: ::Prism::CallNode).void } def handle_rake_namespace(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_symbol.rb#450 + # : (Prism::CallNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_symbol.rb#436 sig { params(node: ::Prism::CallNode).void } def handle_rake_task(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/document_symbol.rb#485 + # : -> bool + # + # source://ruby-lsp//lib/ruby_lsp/listeners/document_symbol.rb#471 sig { returns(T::Boolean) } def rake?; end end -# source://ruby-lsp/lib/ruby_lsp/listeners/document_symbol.rb#10 +# source://ruby-lsp//lib/ruby_lsp/listeners/document_symbol.rb#9 RubyLsp::Listeners::DocumentSymbol::ATTR_ACCESSORS = T.let(T.unsafe(nil), Array) -# source://ruby-lsp/lib/ruby_lsp/listeners/folding_ranges.rb#6 +# source://ruby-lsp//lib/ruby_lsp/listeners/folding_ranges.rb#6 class RubyLsp::Listeners::FoldingRanges include ::RubyLsp::Requests::Support::Common - # source://ruby-lsp/lib/ruby_lsp/listeners/folding_ranges.rb#17 + # : (ResponseBuilders::CollectionResponseBuilder[Interface::FoldingRange] response_builder, Array[Prism::Comment] comments, Prism::Dispatcher dispatcher) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/folding_ranges.rb#10 sig do params( response_builder: RubyLsp::ResponseBuilders::CollectionResponseBuilder[::LanguageServer::Protocol::Interface::FoldingRange], @@ -3660,134 +4763,196 @@ class RubyLsp::Listeners::FoldingRanges end def initialize(response_builder, comments, dispatcher); end - # source://ruby-lsp/lib/ruby_lsp/listeners/folding_ranges.rb#51 + # : -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/folding_ranges.rb#44 sig { void } def finalize_response!; end - # source://ruby-lsp/lib/ruby_lsp/listeners/folding_ranges.rb#85 + # : (Prism::ArrayNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/folding_ranges.rb#78 sig { params(node: ::Prism::ArrayNode).void } def on_array_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/folding_ranges.rb#155 + # : (Prism::BeginNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/folding_ranges.rb#148 sig { params(node: ::Prism::BeginNode).void } def on_begin_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/folding_ranges.rb#90 + # : (Prism::BlockNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/folding_ranges.rb#83 sig { params(node: ::Prism::BlockNode).void } def on_block_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/folding_ranges.rb#175 + # : (Prism::CallNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/folding_ranges.rb#168 sig { params(node: ::Prism::CallNode).void } def on_call_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/folding_ranges.rb#100 + # : (Prism::CaseMatchNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/folding_ranges.rb#93 sig { params(node: ::Prism::CaseMatchNode).void } def on_case_match_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/folding_ranges.rb#95 + # : (Prism::CaseNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/folding_ranges.rb#88 sig { params(node: ::Prism::CaseNode).void } def on_case_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/folding_ranges.rb#105 + # : (Prism::ClassNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/folding_ranges.rb#98 sig { params(node: ::Prism::ClassNode).void } def on_class_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/folding_ranges.rb#160 + # : (Prism::DefNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/folding_ranges.rb#153 sig { params(node: ::Prism::DefNode).void } def on_def_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/folding_ranges.rb#145 + # : (Prism::ElseNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/folding_ranges.rb#138 sig { params(node: ::Prism::ElseNode).void } def on_else_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/folding_ranges.rb#150 + # : (Prism::EnsureNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/folding_ranges.rb#143 sig { params(node: ::Prism::EnsureNode).void } def on_ensure_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/folding_ranges.rb#115 + # : (Prism::ForNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/folding_ranges.rb#108 sig { params(node: ::Prism::ForNode).void } def on_for_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/folding_ranges.rb#120 + # : (Prism::HashNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/folding_ranges.rb#113 sig { params(node: ::Prism::HashNode).void } def on_hash_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/folding_ranges.rb#57 + # : (Prism::IfNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/folding_ranges.rb#50 sig { params(node: ::Prism::IfNode).void } def on_if_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/folding_ranges.rb#62 + # : (Prism::InNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/folding_ranges.rb#55 sig { params(node: ::Prism::InNode).void } def on_in_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/folding_ranges.rb#77 + # : (Prism::InterpolatedStringNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/folding_ranges.rb#70 sig { params(node: ::Prism::InterpolatedStringNode).void } def on_interpolated_string_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/folding_ranges.rb#188 + # : (Prism::LambdaNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/folding_ranges.rb#181 sig { params(node: ::Prism::LambdaNode).void } def on_lambda_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/folding_ranges.rb#110 + # : (Prism::ModuleNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/folding_ranges.rb#103 sig { params(node: ::Prism::ModuleNode).void } def on_module_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/folding_ranges.rb#67 + # : (Prism::RescueNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/folding_ranges.rb#60 sig { params(node: ::Prism::RescueNode).void } def on_rescue_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/folding_ranges.rb#125 + # : (Prism::SingletonClassNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/folding_ranges.rb#118 sig { params(node: ::Prism::SingletonClassNode).void } def on_singleton_class_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/folding_ranges.rb#130 + # : (Prism::UnlessNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/folding_ranges.rb#123 sig { params(node: ::Prism::UnlessNode).void } def on_unless_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/folding_ranges.rb#135 + # : (Prism::UntilNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/folding_ranges.rb#128 sig { params(node: ::Prism::UntilNode).void } def on_until_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/folding_ranges.rb#72 + # : (Prism::WhenNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/folding_ranges.rb#65 sig { params(node: ::Prism::WhenNode).void } def on_when_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/folding_ranges.rb#140 + # : (Prism::WhileNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/folding_ranges.rb#133 sig { params(node: ::Prism::WhileNode).void } def on_while_node_enter(node); end private - # source://ruby-lsp/lib/ruby_lsp/listeners/folding_ranges.rb#255 + # : (Integer start_line, Integer end_line) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/folding_ranges.rb#248 sig { params(start_line: ::Integer, end_line: ::Integer).void } def add_lines_range(start_line, end_line); end - # source://ruby-lsp/lib/ruby_lsp/listeners/folding_ranges.rb#249 + # : (Prism::Node node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/folding_ranges.rb#242 sig { params(node: ::Prism::Node).void } def add_simple_range(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/folding_ranges.rb#238 + # : ((Prism::IfNode | Prism::InNode | Prism::RescueNode | Prism::WhenNode) node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/folding_ranges.rb#231 sig { params(node: T.any(::Prism::IfNode, ::Prism::InNode, ::Prism::RescueNode, ::Prism::WhenNode)).void } def add_statements_range(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/folding_ranges.rb#211 + # : -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/folding_ranges.rb#204 sig { void } def emit_requires_range; end - # source://ruby-lsp/lib/ruby_lsp/listeners/folding_ranges.rb#195 + # : -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/folding_ranges.rb#188 sig { void } def push_comment_ranges; end - # source://ruby-lsp/lib/ruby_lsp/listeners/folding_ranges.rb#224 + # : (Prism::CallNode node) -> bool + # + # source://ruby-lsp//lib/ruby_lsp/listeners/folding_ranges.rb#217 sig { params(node: ::Prism::CallNode).returns(T::Boolean) } def require?(node); end end -# source://ruby-lsp/lib/ruby_lsp/listeners/hover.rb#6 +# source://ruby-lsp//lib/ruby_lsp/listeners/hover.rb#6 class RubyLsp::Listeners::Hover include ::RubyLsp::Requests::Support::Common - # source://ruby-lsp/lib/ruby_lsp/listeners/hover.rb#62 + # : (ResponseBuilders::Hover response_builder, GlobalState global_state, URI::Generic uri, NodeContext node_context, Prism::Dispatcher dispatcher, RubyDocument::SorbetLevel sorbet_level) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/hover.rb#52 sig do params( response_builder: RubyLsp::ResponseBuilders::Hover, @@ -3800,164 +4965,238 @@ class RubyLsp::Listeners::Hover end def initialize(response_builder, global_state, uri, node_context, dispatcher, sorbet_level); end - # source://ruby-lsp/lib/ruby_lsp/listeners/hover.rb#141 + # : (Prism::CallNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/hover.rb#131 sig { params(node: ::Prism::CallNode).void } def on_call_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/hover.rb#231 + # : (Prism::ClassVariableAndWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/hover.rb#221 sig { params(node: ::Prism::ClassVariableAndWriteNode).void } def on_class_variable_and_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/hover.rb#236 + # : (Prism::ClassVariableOperatorWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/hover.rb#226 sig { params(node: ::Prism::ClassVariableOperatorWriteNode).void } def on_class_variable_operator_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/hover.rb#241 + # : (Prism::ClassVariableOrWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/hover.rb#231 sig { params(node: ::Prism::ClassVariableOrWriteNode).void } def on_class_variable_or_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/hover.rb#251 + # : (Prism::ClassVariableReadNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/hover.rb#241 sig { params(node: ::Prism::ClassVariableReadNode).void } def on_class_variable_read_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/hover.rb#246 + # : (Prism::ClassVariableTargetNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/hover.rb#236 sig { params(node: ::Prism::ClassVariableTargetNode).void } def on_class_variable_target_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/hover.rb#256 + # : (Prism::ClassVariableWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/hover.rb#246 sig { params(node: ::Prism::ClassVariableWriteNode).void } def on_class_variable_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/hover.rb#131 + # : (Prism::ConstantPathNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/hover.rb#121 sig { params(node: ::Prism::ConstantPathNode).void } def on_constant_path_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/hover.rb#114 + # : (Prism::ConstantReadNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/hover.rb#104 sig { params(node: ::Prism::ConstantReadNode).void } def on_constant_read_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/hover.rb#124 + # : (Prism::ConstantWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/hover.rb#114 sig { params(node: ::Prism::ConstantWriteNode).void } def on_constant_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/hover.rb#221 + # : (Prism::ForwardingSuperNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/hover.rb#211 sig { params(node: ::Prism::ForwardingSuperNode).void } def on_forwarding_super_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/hover.rb#156 + # : (Prism::GlobalVariableAndWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/hover.rb#146 sig { params(node: ::Prism::GlobalVariableAndWriteNode).void } def on_global_variable_and_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/hover.rb#161 + # : (Prism::GlobalVariableOperatorWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/hover.rb#151 sig { params(node: ::Prism::GlobalVariableOperatorWriteNode).void } def on_global_variable_operator_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/hover.rb#166 + # : (Prism::GlobalVariableOrWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/hover.rb#156 sig { params(node: ::Prism::GlobalVariableOrWriteNode).void } def on_global_variable_or_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/hover.rb#171 + # : (Prism::GlobalVariableReadNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/hover.rb#161 sig { params(node: ::Prism::GlobalVariableReadNode).void } def on_global_variable_read_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/hover.rb#176 + # : (Prism::GlobalVariableTargetNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/hover.rb#166 sig { params(node: ::Prism::GlobalVariableTargetNode).void } def on_global_variable_target_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/hover.rb#181 + # : (Prism::GlobalVariableWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/hover.rb#171 sig { params(node: ::Prism::GlobalVariableWriteNode).void } def on_global_variable_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/hover.rb#196 + # : (Prism::InstanceVariableAndWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/hover.rb#186 sig { params(node: ::Prism::InstanceVariableAndWriteNode).void } def on_instance_variable_and_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/hover.rb#201 + # : (Prism::InstanceVariableOperatorWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/hover.rb#191 sig { params(node: ::Prism::InstanceVariableOperatorWriteNode).void } def on_instance_variable_operator_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/hover.rb#206 + # : (Prism::InstanceVariableOrWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/hover.rb#196 sig { params(node: ::Prism::InstanceVariableOrWriteNode).void } def on_instance_variable_or_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/hover.rb#186 + # : (Prism::InstanceVariableReadNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/hover.rb#176 sig { params(node: ::Prism::InstanceVariableReadNode).void } def on_instance_variable_read_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/hover.rb#211 + # : (Prism::InstanceVariableTargetNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/hover.rb#201 sig { params(node: ::Prism::InstanceVariableTargetNode).void } def on_instance_variable_target_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/hover.rb#191 + # : (Prism::InstanceVariableWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/hover.rb#181 sig { params(node: ::Prism::InstanceVariableWriteNode).void } def on_instance_variable_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/hover.rb#109 + # : (Prism::InterpolatedStringNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/hover.rb#99 sig { params(node: ::Prism::InterpolatedStringNode).void } def on_interpolated_string_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/hover.rb#104 + # : (Prism::StringNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/hover.rb#94 sig { params(node: ::Prism::StringNode).void } def on_string_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/hover.rb#216 + # : (Prism::SuperNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/hover.rb#206 sig { params(node: ::Prism::SuperNode).void } def on_super_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/hover.rb#226 + # : (Prism::YieldNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/hover.rb#216 sig { params(node: ::Prism::YieldNode).void } def on_yield_node_enter(node); end private - # source://ruby-lsp/lib/ruby_lsp/listeners/hover.rb#393 + # : (Prism::CallNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/hover.rb#383 sig { params(node: ::Prism::CallNode).void } def generate_gem_hover(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/hover.rb#263 + # : ((Prism::InterpolatedStringNode | Prism::StringNode) node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/hover.rb#253 sig { params(node: T.any(::Prism::InterpolatedStringNode, ::Prism::StringNode)).void } def generate_heredoc_hover(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/hover.rb#378 + # : (String name, Prism::Location location) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/hover.rb#368 sig { params(name: ::String, location: ::Prism::Location).void } def generate_hover(name, location); end - # source://ruby-lsp/lib/ruby_lsp/listeners/hover.rb#363 + # : (String name) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/hover.rb#353 sig { params(name: ::String).void } def handle_class_variable_hover(name); end - # source://ruby-lsp/lib/ruby_lsp/listeners/hover.rb#353 + # : (String name) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/hover.rb#343 sig { params(name: ::String).void } def handle_global_variable_hover(name); end - # source://ruby-lsp/lib/ruby_lsp/listeners/hover.rb#334 + # : (String name) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/hover.rb#324 sig { params(name: ::String).void } def handle_instance_variable_hover(name); end - # source://ruby-lsp/lib/ruby_lsp/listeners/hover.rb#288 + # : (String keyword) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/hover.rb#278 sig { params(keyword: ::String).void } def handle_keyword_documentation(keyword); end - # source://ruby-lsp/lib/ruby_lsp/listeners/hover.rb#311 + # : (String message, ?inherited_only: bool) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/hover.rb#301 sig { params(message: ::String, inherited_only: T::Boolean).void } def handle_method_hover(message, inherited_only: T.unsafe(nil)); end - # source://ruby-lsp/lib/ruby_lsp/listeners/hover.rb#300 + # : -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/hover.rb#290 sig { void } def handle_super_node_hover; end end -# source://ruby-lsp/lib/ruby_lsp/listeners/hover.rb#44 +# source://ruby-lsp//lib/ruby_lsp/listeners/hover.rb#43 RubyLsp::Listeners::Hover::ALLOWED_REMOTE_PROVIDERS = T.let(T.unsafe(nil), Array) -# source://ruby-lsp/lib/ruby_lsp/listeners/hover.rb#10 +# source://ruby-lsp//lib/ruby_lsp/listeners/hover.rb#9 RubyLsp::Listeners::Hover::ALLOWED_TARGETS = T.let(T.unsafe(nil), Array) -# source://ruby-lsp/lib/ruby_lsp/listeners/inlay_hints.rb#6 +# source://ruby-lsp//lib/ruby_lsp/listeners/inlay_hints.rb#6 class RubyLsp::Listeners::InlayHints include ::RubyLsp::Requests::Support::Common - # source://ruby-lsp/lib/ruby_lsp/listeners/inlay_hints.rb#19 + # : (ResponseBuilders::CollectionResponseBuilder[Interface::InlayHint] response_builder, RequestConfig hints_configuration, Prism::Dispatcher dispatcher) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/inlay_hints.rb#12 sig do params( response_builder: RubyLsp::ResponseBuilders::CollectionResponseBuilder[::LanguageServer::Protocol::Interface::InlayHint], @@ -3967,23 +5206,29 @@ class RubyLsp::Listeners::InlayHints end def initialize(response_builder, hints_configuration, dispatcher); end - # source://ruby-lsp/lib/ruby_lsp/listeners/inlay_hints.rb#42 + # : (Prism::ImplicitNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/inlay_hints.rb#35 sig { params(node: ::Prism::ImplicitNode).void } def on_implicit_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/inlay_hints.rb#27 + # : (Prism::RescueNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/inlay_hints.rb#20 sig { params(node: ::Prism::RescueNode).void } def on_rescue_node_enter(node); end end -# source://ruby-lsp/lib/ruby_lsp/listeners/inlay_hints.rb#10 +# source://ruby-lsp//lib/ruby_lsp/listeners/inlay_hints.rb#9 RubyLsp::Listeners::InlayHints::RESCUE_STRING_LENGTH = T.let(T.unsafe(nil), Integer) -# source://ruby-lsp/lib/ruby_lsp/listeners/semantic_highlighting.rb#6 +# source://ruby-lsp//lib/ruby_lsp/listeners/semantic_highlighting.rb#6 class RubyLsp::Listeners::SemanticHighlighting include ::RubyLsp::Requests::Support::Common - # source://ruby-lsp/lib/ruby_lsp/listeners/semantic_highlighting.rb#27 + # : (Prism::Dispatcher dispatcher, ResponseBuilders::SemanticHighlighting response_builder) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/semantic_highlighting.rb#21 sig do params( dispatcher: ::Prism::Dispatcher, @@ -3992,132 +5237,189 @@ class RubyLsp::Listeners::SemanticHighlighting end def initialize(dispatcher, response_builder); end - # source://ruby-lsp/lib/ruby_lsp/listeners/semantic_highlighting.rb#124 + # : (Prism::BlockLocalVariableNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/semantic_highlighting.rb#118 sig { params(node: ::Prism::BlockLocalVariableNode).void } def on_block_local_variable_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/semantic_highlighting.rb#114 + # : (Prism::BlockNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/semantic_highlighting.rb#108 sig { params(node: ::Prism::BlockNode).void } def on_block_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/semantic_highlighting.rb#119 + # : (Prism::BlockNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/semantic_highlighting.rb#113 sig { params(node: ::Prism::BlockNode).void } def on_block_node_leave(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/semantic_highlighting.rb#129 + # : (Prism::BlockParameterNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/semantic_highlighting.rb#123 sig { params(node: ::Prism::BlockParameterNode).void } def on_block_parameter_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/semantic_highlighting.rb#66 + # : (Prism::CallNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/semantic_highlighting.rb#60 sig { params(node: ::Prism::CallNode).void } def on_call_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/semantic_highlighting.rb#222 + # : (Prism::ClassNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/semantic_highlighting.rb#216 sig { params(node: ::Prism::ClassNode).void } def on_class_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/semantic_highlighting.rb#104 + # : (Prism::DefNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/semantic_highlighting.rb#98 sig { params(node: ::Prism::DefNode).void } def on_def_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/semantic_highlighting.rb#109 + # : (Prism::DefNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/semantic_highlighting.rb#103 sig { params(node: ::Prism::DefNode).void } def on_def_node_leave(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/semantic_highlighting.rb#282 + # : (Prism::ImplicitNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/semantic_highlighting.rb#276 sig { params(node: ::Prism::ImplicitNode).void } def on_implicit_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/semantic_highlighting.rb#287 + # : (Prism::ImplicitNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/semantic_highlighting.rb#281 sig { params(node: ::Prism::ImplicitNode).void } def on_implicit_node_leave(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/semantic_highlighting.rb#145 + # : (Prism::KeywordRestParameterNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/semantic_highlighting.rb#139 sig { params(node: ::Prism::KeywordRestParameterNode).void } def on_keyword_rest_parameter_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/semantic_highlighting.rb#192 + # : (Prism::LocalVariableAndWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/semantic_highlighting.rb#186 sig { params(node: ::Prism::LocalVariableAndWriteNode).void } def on_local_variable_and_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/semantic_highlighting.rb#198 + # : (Prism::LocalVariableOperatorWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/semantic_highlighting.rb#192 sig { params(node: ::Prism::LocalVariableOperatorWriteNode).void } def on_local_variable_operator_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/semantic_highlighting.rb#204 + # : (Prism::LocalVariableOrWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/semantic_highlighting.rb#198 sig { params(node: ::Prism::LocalVariableOrWriteNode).void } def on_local_variable_or_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/semantic_highlighting.rb#178 + # : (Prism::LocalVariableReadNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/semantic_highlighting.rb#172 sig { params(node: ::Prism::LocalVariableReadNode).void } def on_local_variable_read_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/semantic_highlighting.rb#210 + # : (Prism::LocalVariableTargetNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/semantic_highlighting.rb#204 sig { params(node: ::Prism::LocalVariableTargetNode).void } def on_local_variable_target_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/semantic_highlighting.rb#172 + # : (Prism::LocalVariableWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/semantic_highlighting.rb#166 sig { params(node: ::Prism::LocalVariableWriteNode).void } def on_local_variable_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/semantic_highlighting.rb#89 + # : (Prism::MatchWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/semantic_highlighting.rb#83 sig { params(node: ::Prism::MatchWriteNode).void } def on_match_write_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/semantic_highlighting.rb#99 + # : (Prism::MatchWriteNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/semantic_highlighting.rb#93 sig { params(node: ::Prism::MatchWriteNode).void } def on_match_write_node_leave(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/semantic_highlighting.rb#261 + # : (Prism::ModuleNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/semantic_highlighting.rb#255 sig { params(node: ::Prism::ModuleNode).void } def on_module_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/semantic_highlighting.rb#140 + # : (Prism::OptionalKeywordParameterNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/semantic_highlighting.rb#134 sig { params(node: ::Prism::OptionalKeywordParameterNode).void } def on_optional_keyword_parameter_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/semantic_highlighting.rb#151 + # : (Prism::OptionalParameterNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/semantic_highlighting.rb#145 sig { params(node: ::Prism::OptionalParameterNode).void } def on_optional_parameter_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/semantic_highlighting.rb#135 + # : (Prism::RequiredKeywordParameterNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/semantic_highlighting.rb#129 sig { params(node: ::Prism::RequiredKeywordParameterNode).void } def on_required_keyword_parameter_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/semantic_highlighting.rb#156 + # : (Prism::RequiredParameterNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/semantic_highlighting.rb#150 sig { params(node: ::Prism::RequiredParameterNode).void } def on_required_parameter_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/semantic_highlighting.rb#161 + # : (Prism::RestParameterNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/semantic_highlighting.rb#155 sig { params(node: ::Prism::RestParameterNode).void } def on_rest_parameter_node_enter(node); end - # source://ruby-lsp/lib/ruby_lsp/listeners/semantic_highlighting.rb#167 + # : (Prism::SelfNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/semantic_highlighting.rb#161 sig { params(node: ::Prism::SelfNode).void } def on_self_node_enter(node); end private - # source://ruby-lsp/lib/ruby_lsp/listeners/semantic_highlighting.rb#301 + # : (Prism::CallNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/semantic_highlighting.rb#295 sig { params(node: ::Prism::CallNode).void } def process_regexp_locals(node); end # Textmate provides highlighting for a subset of these special Ruby-specific methods. We want to utilize that # highlighting, so we avoid making a semantic token for it. + # : (String method_name) -> bool # - # source://ruby-lsp/lib/ruby_lsp/listeners/semantic_highlighting.rb#296 + # source://ruby-lsp//lib/ruby_lsp/listeners/semantic_highlighting.rb#290 sig { params(method_name: ::String).returns(T::Boolean) } def special_method?(method_name); end end -# source://ruby-lsp/lib/ruby_lsp/listeners/semantic_highlighting.rb#10 +# source://ruby-lsp//lib/ruby_lsp/listeners/semantic_highlighting.rb#9 RubyLsp::Listeners::SemanticHighlighting::SPECIAL_RUBY_METHODS = T.let(T.unsafe(nil), Array) -# source://ruby-lsp/lib/ruby_lsp/listeners/signature_help.rb#6 +# source://ruby-lsp//lib/ruby_lsp/listeners/signature_help.rb#6 class RubyLsp::Listeners::SignatureHelp include ::RubyLsp::Requests::Support::Common - # source://ruby-lsp/lib/ruby_lsp/listeners/signature_help.rb#19 + # : (ResponseBuilders::SignatureHelp response_builder, GlobalState global_state, NodeContext node_context, Prism::Dispatcher dispatcher, RubyDocument::SorbetLevel sorbet_level) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/signature_help.rb#10 sig do params( response_builder: RubyLsp::ResponseBuilders::SignatureHelp, @@ -4129,13 +5431,17 @@ class RubyLsp::Listeners::SignatureHelp end def initialize(response_builder, global_state, node_context, dispatcher, sorbet_level); end - # source://ruby-lsp/lib/ruby_lsp/listeners/signature_help.rb#30 + # : (Prism::CallNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/signature_help.rb#21 sig { params(node: ::Prism::CallNode).void } def on_call_node_enter(node); end private - # source://ruby-lsp/lib/ruby_lsp/listeners/signature_help.rb#73 + # : (Prism::CallNode node, Array[RubyIndexer::Entry::Signature] signatures) -> [Integer, Integer] + # + # source://ruby-lsp//lib/ruby_lsp/listeners/signature_help.rb#62 sig do params( node: ::Prism::CallNode, @@ -4144,7 +5450,9 @@ class RubyLsp::Listeners::SignatureHelp end def determine_active_signature_and_parameter(node, signatures); end - # source://ruby-lsp/lib/ruby_lsp/listeners/signature_help.rb#105 + # : (Array[RubyIndexer::Entry::Signature] signatures, String method_name, Array[RubyIndexer::Entry] methods, String title, String? extra_links) -> Array[Interface::SignatureInformation] + # + # source://ruby-lsp//lib/ruby_lsp/listeners/signature_help.rb#86 sig do params( signatures: T::Array[::RubyIndexer::Entry::Signature], @@ -4157,29 +5465,260 @@ class RubyLsp::Listeners::SignatureHelp def generate_signatures(signatures, method_name, methods, title, extra_links); end end +# source://ruby-lsp//lib/ruby_lsp/listeners/spec_style.rb#6 +class RubyLsp::Listeners::SpecStyle + include ::RubyLsp::Requests::Support::Common + + # : (response_builder: ResponseBuilders::TestCollection, global_state: GlobalState, dispatcher: Prism::Dispatcher, uri: URI::Generic) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/spec_style.rb#13 + sig do + params( + response_builder: RubyLsp::ResponseBuilders::TestCollection, + global_state: ::RubyLsp::GlobalState, + dispatcher: ::Prism::Dispatcher, + uri: ::URI::Generic + ).void + end + def initialize(response_builder, global_state, dispatcher, uri); end + + # : (node: Prism::CallNode) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/spec_style.rb#79 + sig { params(node: ::Prism::CallNode).void } + def on_call_node_enter(node); end + + # : (node: Prism::CallNode) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/spec_style.rb#89 + sig { params(node: ::Prism::CallNode).void } + def on_call_node_leave(node); end + + # : (node: Prism::ClassNode) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/spec_style.rb#34 + sig { params(node: ::Prism::ClassNode).void } + def on_class_node_enter(node); end + + # : (node: Prism::ClassNode) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/spec_style.rb#72 + sig { params(node: ::Prism::ClassNode).void } + def on_class_node_leave(node); end + + # : (node: Prism::ModuleNode) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/spec_style.rb#56 + sig { params(node: ::Prism::ModuleNode).void } + def on_module_node_enter(node); end + + # : (node: Prism::ModuleNode) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/spec_style.rb#66 + sig { params(node: ::Prism::ModuleNode).void } + def on_module_node_leave(node); end + + private + + # : (description: String, node: Prism::CallNode) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/spec_style.rb#135 + sig { params(description: ::String, node: ::Prism::CallNode).void } + def add_to_parent_test_group(description, node); end + + # : (node: Prism::CallNode) -> String? + # + # source://ruby-lsp//lib/ruby_lsp/listeners/spec_style.rb#171 + sig { params(node: ::Prism::CallNode).returns(T.nilable(::String)) } + def extract_description(node); end + + # : -> Requests::Support::TestItem? + # + # source://ruby-lsp//lib/ruby_lsp/listeners/spec_style.rb#150 + sig { returns(T.nilable(::RubyLsp::Requests::Support::TestItem)) } + def find_parent_test_group; end + + # : (node: Prism::CallNode) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/spec_style.rb#98 + sig { params(node: ::Prism::CallNode).void } + def handle_describe(node); end + + # : (node: Prism::CallNode) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/spec_style.rb#123 + sig { params(node: ::Prism::CallNode).void } + def handle_example(node); end + + # : -> bool + # + # source://ruby-lsp//lib/ruby_lsp/listeners/spec_style.rb#186 + sig { returns(T::Boolean) } + def in_spec_context?; end + + # : (node: Prism::ConstantPathNode | Prism::ConstantReadNode | Prism::ConstantPathTargetNode | Prism::CallNode | Prism::MissingNode) -> String + # + # source://ruby-lsp//lib/ruby_lsp/listeners/spec_style.rb#193 + sig do + params( + node: T.any(::Prism::CallNode, ::Prism::ConstantPathNode, ::Prism::ConstantPathTargetNode, ::Prism::ConstantReadNode, ::Prism::MissingNode) + ).returns(::String) + end + def name_with_dynamic_reference(node); end +end + +# source://ruby-lsp//lib/ruby_lsp/listeners/spec_style.rb#10 +RubyLsp::Listeners::SpecStyle::DYNAMIC_REFERENCE_MARKER = T.let(T.unsafe(nil), String) + +# source://ruby-lsp//lib/ruby_lsp/listeners/test_style.rb#6 +class RubyLsp::Listeners::TestStyle + include ::RubyLsp::Requests::Support::Common + + # : (ResponseBuilders::TestCollection response_builder, GlobalState global_state, Prism::Dispatcher dispatcher, URI::Generic uri) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/test_style.rb#134 + sig do + params( + response_builder: RubyLsp::ResponseBuilders::TestCollection, + global_state: ::RubyLsp::GlobalState, + dispatcher: ::Prism::Dispatcher, + uri: ::URI::Generic + ).void + end + def initialize(response_builder, global_state, dispatcher, uri); end + + # : (Prism::CallNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/test_style.rb#232 + sig { params(node: ::Prism::CallNode).void } + def on_call_node_enter(node); end + + # : (Prism::CallNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/test_style.rb#240 + sig { params(node: ::Prism::CallNode).void } + def on_call_node_leave(node); end + + # : (Prism::ClassNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/test_style.rb#155 + sig { params(node: ::Prism::ClassNode).void } + def on_class_node_enter(node); end + + # : (Prism::ClassNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/test_style.rb#202 + sig { params(node: ::Prism::ClassNode).void } + def on_class_node_leave(node); end + + # : (Prism::DefNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/test_style.rb#208 + sig { params(node: ::Prism::DefNode).void } + def on_def_node_enter(node); end + + # : (Prism::ModuleNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/test_style.rb#186 + sig { params(node: ::Prism::ModuleNode).void } + def on_module_node_enter(node); end + + # : (Prism::ModuleNode node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/listeners/test_style.rb#196 + sig { params(node: ::Prism::ModuleNode).void } + def on_module_node_leave(node); end + + private + + # : ((Prism::ConstantPathNode | Prism::ConstantReadNode | Prism::ConstantPathTargetNode | Prism::CallNode | Prism::MissingNode) node) -> String + # + # source://ruby-lsp//lib/ruby_lsp/listeners/test_style.rb#264 + sig do + params( + node: T.any(::Prism::CallNode, ::Prism::ConstantPathNode, ::Prism::ConstantPathTargetNode, ::Prism::ConstantReadNode, ::Prism::MissingNode) + ).returns(::String) + end + def name_with_dynamic_reference(node); end + + # : (Array[String] attached_ancestors, String fully_qualified_name) -> bool + # + # source://ruby-lsp//lib/ruby_lsp/listeners/test_style.rb#251 + sig { params(attached_ancestors: T::Array[::String], fully_qualified_name: ::String).returns(T::Boolean) } + def non_declarative_minitest?(attached_ancestors, fully_qualified_name); end + + class << self + # Resolves the minimal set of commands required to execute the requested tests + # : (Array[Hash[Symbol, untyped]]) -> Array[String] + # + # source://ruby-lsp//lib/ruby_lsp/listeners/test_style.rb#10 + sig { params(items: T::Array[T::Hash[::Symbol, T.untyped]]).returns(T::Array[::String]) } + def resolve_test_commands(items); end + + private + + # : (String, Hash[String, Hash[Symbol, untyped]]) -> String + # + # source://ruby-lsp//lib/ruby_lsp/listeners/test_style.rb#77 + sig do + params( + file_path: ::String, + groups_and_examples: T::Hash[::String, T::Hash[::Symbol, T.untyped]] + ).returns(::String) + end + def handle_minitest_groups(file_path, groups_and_examples); end + + # : (String, Hash[String, Hash[Symbol, untyped]]) -> Array[String] + # + # source://ruby-lsp//lib/ruby_lsp/listeners/test_style.rb#100 + sig do + params( + file_path: ::String, + groups_and_examples: T::Hash[::String, T::Hash[::Symbol, T.untyped]] + ).returns(T::Array[::String]) + end + def handle_test_unit_groups(file_path, groups_and_examples); end + end +end + +# source://ruby-lsp//lib/ruby_lsp/listeners/test_style.rb#121 +RubyLsp::Listeners::TestStyle::ACCESS_MODIFIERS = T.let(T.unsafe(nil), Array) + +# source://ruby-lsp//lib/ruby_lsp/listeners/test_style.rb#123 +RubyLsp::Listeners::TestStyle::BASE_COMMAND = T.let(T.unsafe(nil), String) + +# source://ruby-lsp//lib/ruby_lsp/listeners/test_style.rb#122 +RubyLsp::Listeners::TestStyle::DYNAMIC_REFERENCE_MARKER = T.let(T.unsafe(nil), String) + # A notification to be sent to the client # # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below. # -# source://ruby-lsp/lib/ruby_lsp/utils.rb#41 +# source://ruby-lsp//lib/ruby_lsp/utils.rb#43 class RubyLsp::Message abstract! - # source://ruby-lsp/lib/ruby_lsp/utils.rb#54 + # : (method: String, params: Object) -> void + # + # source://ruby-lsp//lib/ruby_lsp/utils.rb#56 sig { params(method: ::String, params: ::Object).void } def initialize(method:, params:); end - # source://ruby-lsp/lib/ruby_lsp/utils.rb#46 + # : String + # + # source://ruby-lsp//lib/ruby_lsp/utils.rb#48 sig { returns(::String) } def method; end - # source://ruby-lsp/lib/ruby_lsp/utils.rb#49 + # : Object + # + # source://ruby-lsp//lib/ruby_lsp/utils.rb#51 sig { returns(::Object) } def params; end # @abstract # - # source://ruby-lsp/lib/ruby_lsp/utils.rb#60 + # source://ruby-lsp//lib/ruby_lsp/utils.rb#62 sig { abstract.returns(T::Hash[::Symbol, T.untyped]) } def to_hash; end end @@ -4187,9 +5726,11 @@ end # This class allows listeners to access contextual information about a node in the AST, such as its parent, # its namespace nesting, and the surrounding CallNode (e.g. a method call). # -# source://ruby-lsp/lib/ruby_lsp/node_context.rb#7 +# source://ruby-lsp//lib/ruby_lsp/node_context.rb#7 class RubyLsp::NodeContext - # source://ruby-lsp/lib/ruby_lsp/node_context.rb#38 + # : (Prism::Node? node, Prism::Node? parent, Array[(Prism::ClassNode | Prism::ModuleNode | Prism::SingletonClassNode | Prism::DefNode | Prism::BlockNode | Prism::LambdaNode | Prism::ProgramNode)] nesting_nodes, Prism::CallNode? call_node) -> void + # + # source://ruby-lsp//lib/ruby_lsp/node_context.rb#21 sig do params( node: T.nilable(::Prism::Node), @@ -4200,38 +5741,52 @@ class RubyLsp::NodeContext end def initialize(node, parent, nesting_nodes, call_node); end - # source://ruby-lsp/lib/ruby_lsp/node_context.rb#17 + # : Prism::CallNode? + # + # source://ruby-lsp//lib/ruby_lsp/node_context.rb#15 sig { returns(T.nilable(::Prism::CallNode)) } def call_node; end - # source://ruby-lsp/lib/ruby_lsp/node_context.rb#50 + # : -> String + # + # source://ruby-lsp//lib/ruby_lsp/node_context.rb#33 sig { returns(::String) } def fully_qualified_name; end - # source://ruby-lsp/lib/ruby_lsp/node_context.rb#55 + # : -> Array[Symbol] + # + # source://ruby-lsp//lib/ruby_lsp/node_context.rb#38 sig { returns(T::Array[::Symbol]) } def locals_for_scope; end - # source://ruby-lsp/lib/ruby_lsp/node_context.rb#14 + # : Array[String] + # + # source://ruby-lsp//lib/ruby_lsp/node_context.rb#12 sig { returns(T::Array[::String]) } def nesting; end - # source://ruby-lsp/lib/ruby_lsp/node_context.rb#11 + # : Prism::Node? + # + # source://ruby-lsp//lib/ruby_lsp/node_context.rb#9 sig { returns(T.nilable(::Prism::Node)) } def node; end - # @return [Prism::Node, nil] + # : Prism::Node? # - # source://ruby-lsp/lib/ruby_lsp/node_context.rb#11 + # source://ruby-lsp//lib/ruby_lsp/node_context.rb#9 def parent; end - # source://ruby-lsp/lib/ruby_lsp/node_context.rb#20 + # : String? + # + # source://ruby-lsp//lib/ruby_lsp/node_context.rb#18 sig { returns(T.nilable(::String)) } def surrounding_method; end private - # source://ruby-lsp/lib/ruby_lsp/node_context.rb#83 + # : (Array[(Prism::ClassNode | Prism::ModuleNode | Prism::SingletonClassNode | Prism::DefNode | Prism::BlockNode | Prism::LambdaNode | Prism::ProgramNode)] nodes) -> [Array[String], String?] + # + # source://ruby-lsp//lib/ruby_lsp/node_context.rb#56 sig do params( nodes: T::Array[T.any(::Prism::BlockNode, ::Prism::ClassNode, ::Prism::DefNode, ::Prism::LambdaNode, ::Prism::ModuleNode, ::Prism::ProgramNode, ::Prism::SingletonClassNode)] @@ -4240,14 +5795,18 @@ class RubyLsp::NodeContext def handle_nesting_nodes(nodes); end end -# source://ruby-lsp/lib/ruby_lsp/utils.rb#63 +# source://ruby-lsp//lib/ruby_lsp/utils.rb#65 class RubyLsp::Notification < ::RubyLsp::Message - # source://ruby-lsp/lib/ruby_lsp/utils.rb#164 + # : -> Hash[Symbol, untyped] + # + # source://ruby-lsp//lib/ruby_lsp/utils.rb#144 sig { override.returns(T::Hash[::Symbol, T.untyped]) } def to_hash; end class << self - # source://ruby-lsp/lib/ruby_lsp/utils.rb#99 + # : (String id, String title, ?percentage: Integer?, ?message: String?) -> Notification + # + # source://ruby-lsp//lib/ruby_lsp/utils.rb#92 sig do params( id: ::String, @@ -4258,11 +5817,15 @@ class RubyLsp::Notification < ::RubyLsp::Message end def progress_begin(id, title, percentage: T.unsafe(nil), message: T.unsafe(nil)); end - # source://ruby-lsp/lib/ruby_lsp/utils.rb#136 + # : (String id) -> Notification + # + # source://ruby-lsp//lib/ruby_lsp/utils.rb#123 sig { params(id: ::String).returns(::RubyLsp::Notification) } def progress_end(id); end - # source://ruby-lsp/lib/ruby_lsp/utils.rb#121 + # : (String id, ?percentage: Integer?, ?message: String?) -> Notification + # + # source://ruby-lsp//lib/ruby_lsp/utils.rb#108 sig do params( id: ::String, @@ -4272,7 +5835,9 @@ class RubyLsp::Notification < ::RubyLsp::Message end def progress_report(id, percentage: T.unsafe(nil), message: T.unsafe(nil)); end - # source://ruby-lsp/lib/ruby_lsp/utils.rb#153 + # : (String uri, Array[Interface::Diagnostic] diagnostics, ?version: Integer?) -> Notification + # + # source://ruby-lsp//lib/ruby_lsp/utils.rb#134 sig do params( uri: ::String, @@ -4282,102 +5847,131 @@ class RubyLsp::Notification < ::RubyLsp::Message end def publish_diagnostics(uri, diagnostics, version: T.unsafe(nil)); end - # source://ruby-lsp/lib/ruby_lsp/utils.rb#84 + # : (Hash[Symbol, untyped] data) -> Notification + # + # source://ruby-lsp//lib/ruby_lsp/utils.rb#84 sig { params(data: T::Hash[::Symbol, T.untyped]).returns(::RubyLsp::Notification) } def telemetry(data); end - # source://ruby-lsp/lib/ruby_lsp/utils.rb#76 + # : (String message, ?type: Integer) -> Notification + # + # source://ruby-lsp//lib/ruby_lsp/utils.rb#76 sig { params(message: ::String, type: ::Integer).returns(::RubyLsp::Notification) } def window_log_message(message, type: T.unsafe(nil)); end - # source://ruby-lsp/lib/ruby_lsp/utils.rb#68 + # : (String message, ?type: Integer) -> Notification + # + # source://ruby-lsp//lib/ruby_lsp/utils.rb#68 sig { params(message: ::String, type: ::Integer).returns(::RubyLsp::Notification) } def window_show_message(message, type: T.unsafe(nil)); end end end -# source://ruby-lsp/lib/ruby_lsp/rbs_document.rb#5 +# source://ruby-lsp//lib/ruby_lsp/rbs_document.rb#5 class RubyLsp::RBSDocument < ::RubyLsp::Document extend T::Generic ParseResultType = type_member { { fixed: T::Array[::RBS::AST::Declarations::Base] } } - # source://ruby-lsp/lib/ruby_lsp/rbs_document.rb#12 + # : (source: String, version: Integer, uri: URI::Generic, global_state: GlobalState) -> void + # + # source://ruby-lsp//lib/ruby_lsp/rbs_document.rb#11 sig { params(source: ::String, version: ::Integer, uri: ::URI::Generic, global_state: ::RubyLsp::GlobalState).void } def initialize(source:, version:, uri:, global_state:); end - # source://ruby-lsp/lib/ruby_lsp/rbs_document.rb#38 + # : -> LanguageId + # + # source://ruby-lsp//lib/ruby_lsp/rbs_document.rb#40 sig { override.returns(::RubyLsp::Document::LanguageId) } def language_id; end - # source://ruby-lsp/lib/ruby_lsp/rbs_document.rb#18 + # : -> bool + # + # source://ruby-lsp//lib/ruby_lsp/rbs_document.rb#18 sig { override.returns(T::Boolean) } def parse!; end - # source://ruby-lsp/lib/ruby_lsp/rbs_document.rb#33 + # : -> bool + # + # source://ruby-lsp//lib/ruby_lsp/rbs_document.rb#34 sig { override.returns(T::Boolean) } def syntax_error?; end end module RubyLsp::Rails; end -# source://ruby-lsp/lib/ruby_lsp/utils.rb#171 +# source://ruby-lsp//lib/ruby_lsp/utils.rb#151 class RubyLsp::Request < ::RubyLsp::Message - # source://ruby-lsp/lib/ruby_lsp/utils.rb#204 + # : (id: (Integer | String), method: String, params: Object) -> void + # + # source://ruby-lsp//lib/ruby_lsp/utils.rb#181 sig { params(id: T.any(::Integer, ::String), method: ::String, params: ::Object).void } def initialize(id:, method:, params:); end - # source://ruby-lsp/lib/ruby_lsp/utils.rb#210 + # : -> Hash[Symbol, untyped] + # + # source://ruby-lsp//lib/ruby_lsp/utils.rb#188 sig { override.returns(T::Hash[::Symbol, T.untyped]) } def to_hash; end class << self - # source://ruby-lsp/lib/ruby_lsp/utils.rb#178 + # : (Integer id, (Interface::RelativePattern | String) pattern, ?kind: Integer, ?registration_id: String?) -> Request + # + # source://ruby-lsp//lib/ruby_lsp/utils.rb#154 sig do params( id: ::Integer, pattern: T.any(::LanguageServer::Protocol::Interface::RelativePattern, ::String), - kind: ::Integer + kind: ::Integer, + registration_id: T.nilable(::String) ).returns(::RubyLsp::Request) end - def register_watched_files(id, pattern, kind: T.unsafe(nil)); end + def register_watched_files(id, pattern, kind: T.unsafe(nil), registration_id: T.unsafe(nil)); end end end # A request configuration, to turn on/off features # -# source://ruby-lsp/lib/ruby_lsp/utils.rb#270 +# source://ruby-lsp//lib/ruby_lsp/utils.rb#244 class RubyLsp::RequestConfig - # source://ruby-lsp/lib/ruby_lsp/utils.rb#277 + # : (Hash[Symbol, bool] configuration) -> void + # + # source://ruby-lsp//lib/ruby_lsp/utils.rb#249 sig { params(configuration: T::Hash[::Symbol, T::Boolean]).void } def initialize(configuration); end - # source://ruby-lsp/lib/ruby_lsp/utils.rb#274 + # : Hash[Symbol, bool] + # + # source://ruby-lsp//lib/ruby_lsp/utils.rb#246 sig { returns(T::Hash[::Symbol, T::Boolean]) } def configuration; end - # @return [Hash{Symbol => Boolean}] + # : Hash[Symbol, bool] # - # source://ruby-lsp/lib/ruby_lsp/utils.rb#274 + # source://ruby-lsp//lib/ruby_lsp/utils.rb#246 def configuration=(_arg0); end - # source://ruby-lsp/lib/ruby_lsp/utils.rb#282 + # : (Symbol feature) -> bool? + # + # source://ruby-lsp//lib/ruby_lsp/utils.rb#254 sig { params(feature: ::Symbol).returns(T.nilable(T::Boolean)) } def enabled?(feature); end end -# source://ruby-lsp/lib/ruby_lsp/requests/support/selection_range.rb#5 +# source://ruby-lsp//lib/ruby_lsp/requests/support/selection_range.rb#5 module RubyLsp::Requests; end # The [code action resolve](https://microsoft.github.io/language-server-protocol/specification#codeAction_resolve) # request is used to to resolve the edit field for a given code action, if it is not already provided in the # textDocument/codeAction response. We can use it for scenarios that require more computation such as refactoring. # -# source://ruby-lsp/lib/ruby_lsp/requests/code_action_resolve.rb#9 +# source://ruby-lsp//lib/ruby_lsp/requests/code_action_resolve.rb#9 class RubyLsp::Requests::CodeActionResolve < ::RubyLsp::Requests::Request include ::RubyLsp::Requests::Support::Common - # source://ruby-lsp/lib/ruby_lsp/requests/code_action_resolve.rb#27 + # : (RubyDocument document, GlobalState global_state, Hash[Symbol, untyped] code_action) -> void + # + # source://ruby-lsp//lib/ruby_lsp/requests/code_action_resolve.rb#26 sig do params( document: RubyLsp::RubyDocument, @@ -4387,7 +5981,9 @@ class RubyLsp::Requests::CodeActionResolve < ::RubyLsp::Requests::Request end def initialize(document, global_state, code_action); end - # source://ruby-lsp/lib/ruby_lsp/requests/code_action_resolve.rb#35 + # : -> (Interface::CodeAction | Error) + # + # source://ruby-lsp//lib/ruby_lsp/requests/code_action_resolve.rb#35 sig do override .returns(T.any(::LanguageServer::Protocol::Interface::CodeAction, ::RubyLsp::Requests::CodeActionResolve::Error)) @@ -4396,7 +5992,17 @@ class RubyLsp::Requests::CodeActionResolve < ::RubyLsp::Requests::Request private - # source://ruby-lsp/lib/ruby_lsp/requests/code_action_resolve.rb#261 + # : -> (Interface::CodeAction | Error) + # + # source://ruby-lsp//lib/ruby_lsp/requests/code_action_resolve.rb#334 + sig do + returns(T.any(::LanguageServer::Protocol::Interface::CodeAction, ::RubyLsp::Requests::CodeActionResolve::Error)) + end + def create_attribute_accessor; end + + # : (Hash[Symbol, untyped] range, String new_text) -> Interface::TextEdit + # + # source://ruby-lsp//lib/ruby_lsp/requests/code_action_resolve.rb#265 sig do params( range: T::Hash[::Symbol, T.untyped], @@ -4405,37 +6011,47 @@ class RubyLsp::Requests::CodeActionResolve < ::RubyLsp::Requests::Request end def create_text_edit(range, new_text); end - # source://ruby-lsp/lib/ruby_lsp/requests/code_action_resolve.rb#272 + # : (Prism::BlockNode node, String? indentation) -> String + # + # source://ruby-lsp//lib/ruby_lsp/requests/code_action_resolve.rb#276 sig { params(node: ::Prism::BlockNode, indentation: T.nilable(::String)).returns(::String) } def recursively_switch_nested_block_styles(node, indentation); end - # source://ruby-lsp/lib/ruby_lsp/requests/code_action_resolve.rb#189 + # : -> (Interface::CodeAction | Error) + # + # source://ruby-lsp//lib/ruby_lsp/requests/code_action_resolve.rb#193 sig do returns(T.any(::LanguageServer::Protocol::Interface::CodeAction, ::RubyLsp::Requests::CodeActionResolve::Error)) end def refactor_method; end - # source://ruby-lsp/lib/ruby_lsp/requests/code_action_resolve.rb#91 + # : -> (Interface::CodeAction | Error) + # + # source://ruby-lsp//lib/ruby_lsp/requests/code_action_resolve.rb#95 sig do returns(T.any(::LanguageServer::Protocol::Interface::CodeAction, ::RubyLsp::Requests::CodeActionResolve::Error)) end def refactor_variable; end - # source://ruby-lsp/lib/ruby_lsp/requests/code_action_resolve.rb#301 + # : (Prism::Node body, String? indentation) -> String + # + # source://ruby-lsp//lib/ruby_lsp/requests/code_action_resolve.rb#305 sig { params(body: ::Prism::Node, indentation: T.nilable(::String)).returns(::String) } def switch_block_body(body, indentation); end - # source://ruby-lsp/lib/ruby_lsp/requests/code_action_resolve.rb#53 + # : -> (Interface::CodeAction | Error) + # + # source://ruby-lsp//lib/ruby_lsp/requests/code_action_resolve.rb#57 sig do returns(T.any(::LanguageServer::Protocol::Interface::CodeAction, ::RubyLsp::Requests::CodeActionResolve::Error)) end def switch_block_style; end end -# source://ruby-lsp/lib/ruby_lsp/requests/code_action_resolve.rb#16 +# source://ruby-lsp//lib/ruby_lsp/requests/code_action_resolve.rb#15 class RubyLsp::Requests::CodeActionResolve::CodeActionError < ::StandardError; end -# source://ruby-lsp/lib/ruby_lsp/requests/code_action_resolve.rb#18 +# source://ruby-lsp//lib/ruby_lsp/requests/code_action_resolve.rb#17 class RubyLsp::Requests::CodeActionResolve::Error < ::T::Enum enums do EmptySelection = new @@ -4444,19 +6060,21 @@ class RubyLsp::Requests::CodeActionResolve::Error < ::T::Enum end end -# source://ruby-lsp/lib/ruby_lsp/requests/code_action_resolve.rb#14 +# source://ruby-lsp//lib/ruby_lsp/requests/code_action_resolve.rb#13 RubyLsp::Requests::CodeActionResolve::NEW_METHOD_NAME = T.let(T.unsafe(nil), String) -# source://ruby-lsp/lib/ruby_lsp/requests/code_action_resolve.rb#13 +# source://ruby-lsp//lib/ruby_lsp/requests/code_action_resolve.rb#12 RubyLsp::Requests::CodeActionResolve::NEW_VARIABLE_NAME = T.let(T.unsafe(nil), String) # The [code actions](https://microsoft.github.io/language-server-protocol/specification#textDocument_codeAction) # request informs the editor of RuboCop quick fixes that can be applied. These are accessible by hovering over a # specific diagnostic. # -# source://ruby-lsp/lib/ruby_lsp/requests/code_actions.rb#9 +# source://ruby-lsp//lib/ruby_lsp/requests/code_actions.rb#9 class RubyLsp::Requests::CodeActions < ::RubyLsp::Requests::Request - # source://ruby-lsp/lib/ruby_lsp/requests/code_actions.rb#35 + # : ((RubyDocument | ERBDocument) document, Hash[Symbol, untyped] range, Hash[Symbol, untyped] context) -> void + # + # source://ruby-lsp//lib/ruby_lsp/requests/code_actions.rb#40 sig do params( document: T.any(RubyLsp::ERBDocument, RubyLsp::RubyDocument), @@ -4466,42 +6084,72 @@ class RubyLsp::Requests::CodeActions < ::RubyLsp::Requests::Request end def initialize(document, range, context); end - # source://ruby-lsp/lib/ruby_lsp/requests/code_actions.rb#44 + # : -> (Array[Interface::CodeAction] & Object)? + # + # source://ruby-lsp//lib/ruby_lsp/requests/code_actions.rb#50 sig { override.returns(T.nilable(T.all(::Object, T::Array[::LanguageServer::Protocol::Interface::CodeAction]))) } def perform; end + private + + # : -> Array[Interface::CodeAction] + # + # source://ruby-lsp//lib/ruby_lsp/requests/code_actions.rb#83 + sig { returns(T::Array[::LanguageServer::Protocol::Interface::CodeAction]) } + def attribute_actions; end + class << self - # source://ruby-lsp/lib/ruby_lsp/requests/code_actions.rb#20 + # : -> Interface::CodeActionRegistrationOptions + # + # source://ruby-lsp//lib/ruby_lsp/requests/code_actions.rb#31 sig { returns(::LanguageServer::Protocol::Interface::CodeActionRegistrationOptions) } def provider; end end end -# source://ruby-lsp/lib/ruby_lsp/requests/code_actions.rb#13 +# source://ruby-lsp//lib/ruby_lsp/requests/code_actions.rb#15 +RubyLsp::Requests::CodeActions::CREATE_ATTRIBUTE_ACCESSOR = T.let(T.unsafe(nil), String) + +# source://ruby-lsp//lib/ruby_lsp/requests/code_actions.rb#13 +RubyLsp::Requests::CodeActions::CREATE_ATTRIBUTE_READER = T.let(T.unsafe(nil), String) + +# source://ruby-lsp//lib/ruby_lsp/requests/code_actions.rb#14 +RubyLsp::Requests::CodeActions::CREATE_ATTRIBUTE_WRITER = T.let(T.unsafe(nil), String) + +# source://ruby-lsp//lib/ruby_lsp/requests/code_actions.rb#11 RubyLsp::Requests::CodeActions::EXTRACT_TO_METHOD_TITLE = T.let(T.unsafe(nil), String) -# source://ruby-lsp/lib/ruby_lsp/requests/code_actions.rb#12 +# source://ruby-lsp//lib/ruby_lsp/requests/code_actions.rb#10 RubyLsp::Requests::CodeActions::EXTRACT_TO_VARIABLE_TITLE = T.let(T.unsafe(nil), String) -# source://ruby-lsp/lib/ruby_lsp/requests/code_actions.rb#14 +# source://ruby-lsp//lib/ruby_lsp/requests/code_actions.rb#17 +RubyLsp::Requests::CodeActions::INSTANCE_VARIABLE_NODES = T.let(T.unsafe(nil), Array) + +# source://ruby-lsp//lib/ruby_lsp/requests/code_actions.rb#12 RubyLsp::Requests::CodeActions::TOGGLE_BLOCK_STYLE_TITLE = T.let(T.unsafe(nil), String) # The # [code lens](https://microsoft.github.io/language-server-protocol/specification#textDocument_codeLens) # request informs the editor of runnable commands such as testing and debugging. # -# source://ruby-lsp/lib/ruby_lsp/requests/code_lens.rb#13 +# source://ruby-lsp//lib/ruby_lsp/requests/code_lens.rb#13 class RubyLsp::Requests::CodeLens < ::RubyLsp::Requests::Request - # source://ruby-lsp/lib/ruby_lsp/requests/code_lens.rb#32 + # : (GlobalState global_state, URI::Generic uri, Prism::Dispatcher dispatcher) -> void + # + # source://ruby-lsp//lib/ruby_lsp/requests/code_lens.rb#22 sig { params(global_state: ::RubyLsp::GlobalState, uri: ::URI::Generic, dispatcher: ::Prism::Dispatcher).void } def initialize(global_state, uri, dispatcher); end - # source://ruby-lsp/lib/ruby_lsp/requests/code_lens.rb#46 + # : -> Array[Interface::CodeLens] + # + # source://ruby-lsp//lib/ruby_lsp/requests/code_lens.rb#37 sig { override.returns(T::Array[::LanguageServer::Protocol::Interface::CodeLens]) } def perform; end class << self - # source://ruby-lsp/lib/ruby_lsp/requests/code_lens.rb#20 + # : -> Interface::CodeLensOptions + # + # source://ruby-lsp//lib/ruby_lsp/requests/code_lens.rb#16 sig { returns(::LanguageServer::Protocol::Interface::CodeLensOptions) } def provider; end end @@ -4510,9 +6158,11 @@ end # The [completion](https://microsoft.github.io/language-server-protocol/specification#textDocument_completion) # suggests possible completions according to what the developer is typing. # -# source://ruby-lsp/lib/ruby_lsp/requests/completion.rb#10 +# source://ruby-lsp//lib/ruby_lsp/requests/completion.rb#10 class RubyLsp::Requests::Completion < ::RubyLsp::Requests::Request - # source://ruby-lsp/lib/ruby_lsp/requests/completion.rb#37 + # : ((RubyDocument | ERBDocument) document, GlobalState global_state, Hash[Symbol, untyped] params, RubyDocument::SorbetLevel sorbet_level, Prism::Dispatcher dispatcher) -> void + # + # source://ruby-lsp//lib/ruby_lsp/requests/completion.rb#25 sig do params( document: T.any(RubyLsp::ERBDocument, RubyLsp::RubyDocument), @@ -4524,12 +6174,16 @@ class RubyLsp::Requests::Completion < ::RubyLsp::Requests::Request end def initialize(document, global_state, params, sorbet_level, dispatcher); end - # source://ruby-lsp/lib/ruby_lsp/requests/completion.rb#106 + # : -> Array[Interface::CompletionItem] + # + # source://ruby-lsp//lib/ruby_lsp/requests/completion.rb#95 sig { override.returns(T::Array[::LanguageServer::Protocol::Interface::CompletionItem]) } def perform; end class << self - # source://ruby-lsp/lib/ruby_lsp/requests/completion.rb#17 + # : -> Interface::CompletionOptions + # + # source://ruby-lsp//lib/ruby_lsp/requests/completion.rb#13 sig { returns(::LanguageServer::Protocol::Interface::CompletionOptions) } def provider; end end @@ -4546,21 +6200,27 @@ end # At most 10 definitions are included, to ensure low latency during request processing and rendering the completion # item. # -# source://ruby-lsp/lib/ruby_lsp/requests/completion_resolve.rb#16 +# source://ruby-lsp//lib/ruby_lsp/requests/completion_resolve.rb#16 class RubyLsp::Requests::CompletionResolve < ::RubyLsp::Requests::Request include ::RubyLsp::Requests::Support::Common - # source://ruby-lsp/lib/ruby_lsp/requests/completion_resolve.rb#25 + # : (GlobalState global_state, Hash[Symbol, untyped] item) -> void + # + # source://ruby-lsp//lib/ruby_lsp/requests/completion_resolve.rb#24 sig { params(global_state: ::RubyLsp::GlobalState, item: T::Hash[::Symbol, T.untyped]).void } def initialize(global_state, item); end - # source://ruby-lsp/lib/ruby_lsp/requests/completion_resolve.rb#32 + # : -> Hash[Symbol, untyped] + # + # source://ruby-lsp//lib/ruby_lsp/requests/completion_resolve.rb#32 sig { override.returns(T::Hash[::Symbol, T.untyped]) } def perform; end private - # source://ruby-lsp/lib/ruby_lsp/requests/completion_resolve.rb#82 + # : (Hash[Symbol, untyped] item) -> Hash[Symbol, untyped] + # + # source://ruby-lsp//lib/ruby_lsp/requests/completion_resolve.rb#82 sig { params(item: T::Hash[::Symbol, T.untyped]).returns(T::Hash[::Symbol, T.untyped]) } def keyword_resolve(item); end end @@ -4568,16 +6228,18 @@ end # set a limit on the number of documentation entries returned, to avoid rendering performance issues # https://github.com/Shopify/ruby-lsp/pull/1798 # -# source://ruby-lsp/lib/ruby_lsp/requests/completion_resolve.rb#22 +# source://ruby-lsp//lib/ruby_lsp/requests/completion_resolve.rb#21 RubyLsp::Requests::CompletionResolve::MAX_DOCUMENTATION_ENTRIES = T.let(T.unsafe(nil), Integer) # The [definition # request](https://microsoft.github.io/language-server-protocol/specification#textDocument_definition) jumps to the # definition of the symbol under the cursor. # -# source://ruby-lsp/lib/ruby_lsp/requests/definition.rb#11 +# source://ruby-lsp//lib/ruby_lsp/requests/definition.rb#11 class RubyLsp::Requests::Definition < ::RubyLsp::Requests::Request - # source://ruby-lsp/lib/ruby_lsp/requests/definition.rb#24 + # : ((RubyDocument | ERBDocument) document, GlobalState global_state, Hash[Symbol, untyped] position, Prism::Dispatcher dispatcher, RubyDocument::SorbetLevel sorbet_level) -> void + # + # source://ruby-lsp//lib/ruby_lsp/requests/definition.rb#15 sig do params( document: T.any(RubyLsp::ERBDocument, RubyLsp::RubyDocument), @@ -4589,7 +6251,9 @@ class RubyLsp::Requests::Definition < ::RubyLsp::Requests::Request end def initialize(document, global_state, position, dispatcher, sorbet_level); end - # source://ruby-lsp/lib/ruby_lsp/requests/definition.rb#107 + # : -> Array[(Interface::Location | Interface::LocationLink)] + # + # source://ruby-lsp//lib/ruby_lsp/requests/definition.rb#99 sig do override .returns(T::Array[T.any(::LanguageServer::Protocol::Interface::Location, ::LanguageServer::Protocol::Interface::LocationLink)]) @@ -4598,7 +6262,9 @@ class RubyLsp::Requests::Definition < ::RubyLsp::Requests::Request private - # source://ruby-lsp/lib/ruby_lsp/requests/definition.rb#115 + # : (Hash[Symbol, untyped] position, Prism::Node? target) -> bool + # + # source://ruby-lsp//lib/ruby_lsp/requests/definition.rb#107 sig { params(position: T::Hash[::Symbol, T.untyped], target: T.nilable(::Prism::Node)).returns(T::Boolean) } def position_outside_target?(position, target); end end @@ -4607,33 +6273,69 @@ end # [diagnostics](https://microsoft.github.io/language-server-protocol/specification#textDocument_publishDiagnostics) # request informs the editor of RuboCop offenses for a given file. # -# source://ruby-lsp/lib/ruby_lsp/requests/diagnostics.rb#9 +# source://ruby-lsp//lib/ruby_lsp/requests/diagnostics.rb#9 class RubyLsp::Requests::Diagnostics < ::RubyLsp::Requests::Request - # source://ruby-lsp/lib/ruby_lsp/requests/diagnostics.rb#26 + # : (GlobalState global_state, RubyDocument document) -> void + # + # source://ruby-lsp//lib/ruby_lsp/requests/diagnostics.rb#22 sig { params(global_state: ::RubyLsp::GlobalState, document: RubyLsp::RubyDocument).void } def initialize(global_state, document); end - # source://ruby-lsp/lib/ruby_lsp/requests/diagnostics.rb#34 + # : -> (Array[Interface::Diagnostic] & Object)? + # + # source://ruby-lsp//lib/ruby_lsp/requests/diagnostics.rb#31 sig { override.returns(T.nilable(T.all(::Object, T::Array[::LanguageServer::Protocol::Interface::Diagnostic]))) } def perform; end private - # source://ruby-lsp/lib/ruby_lsp/requests/diagnostics.rb#77 + # : -> Array[Interface::Diagnostic] + # + # source://ruby-lsp//lib/ruby_lsp/requests/diagnostics.rb#74 sig { returns(T::Array[::LanguageServer::Protocol::Interface::Diagnostic]) } def syntax_error_diagnostics; end - # source://ruby-lsp/lib/ruby_lsp/requests/diagnostics.rb#54 + # : -> Array[Interface::Diagnostic] + # + # source://ruby-lsp//lib/ruby_lsp/requests/diagnostics.rb#51 sig { returns(T::Array[::LanguageServer::Protocol::Interface::Diagnostic]) } def syntax_warning_diagnostics; end class << self - # source://ruby-lsp/lib/ruby_lsp/requests/diagnostics.rb#16 + # : -> Interface::DiagnosticRegistrationOptions + # + # source://ruby-lsp//lib/ruby_lsp/requests/diagnostics.rb#12 sig { returns(::LanguageServer::Protocol::Interface::DiagnosticRegistrationOptions) } def provider; end end end +# This is a custom request to ask the server to parse a test file and discover all available examples in it. Add-ons +# can augment the behavior through listeners, allowing them to handle discovery for different frameworks +# +# source://ruby-lsp//lib/ruby_lsp/requests/discover_tests.rb#11 +class RubyLsp::Requests::DiscoverTests < ::RubyLsp::Requests::Request + include ::RubyLsp::Requests::Support::Common + + # : (GlobalState global_state, RubyDocument document, Prism::Dispatcher dispatcher) -> void + # + # source://ruby-lsp//lib/ruby_lsp/requests/discover_tests.rb#15 + sig do + params( + global_state: ::RubyLsp::GlobalState, + document: RubyLsp::RubyDocument, + dispatcher: ::Prism::Dispatcher + ).void + end + def initialize(global_state, document, dispatcher); end + + # : -> Array[Support::TestItem] + # + # source://ruby-lsp//lib/ruby_lsp/requests/discover_tests.rb#26 + sig { override.returns(T::Array[::RubyLsp::Requests::Support::TestItem]) } + def perform; end +end + # The [document highlight](https://microsoft.github.io/language-server-protocol/specification#textDocument_documentHighlight) # informs the editor all relevant elements of the currently pointed item for highlighting. For example, when # the cursor is on the `F` of the constant `FOO`, the editor should identify other occurrences of `FOO` @@ -4642,9 +6344,11 @@ end # For writable elements like constants or variables, their read/write occurrences should be highlighted differently. # This is achieved by sending different "kind" attributes to the editor (2 for read and 3 for write). # -# source://ruby-lsp/lib/ruby_lsp/requests/document_highlight.rb#15 +# source://ruby-lsp//lib/ruby_lsp/requests/document_highlight.rb#15 class RubyLsp::Requests::DocumentHighlight < ::RubyLsp::Requests::Request - # source://ruby-lsp/lib/ruby_lsp/requests/document_highlight.rb#26 + # : (GlobalState global_state, (RubyDocument | ERBDocument) document, Hash[Symbol, untyped] position, Prism::Dispatcher dispatcher) -> void + # + # source://ruby-lsp//lib/ruby_lsp/requests/document_highlight.rb#17 sig do params( global_state: ::RubyLsp::GlobalState, @@ -4655,7 +6359,9 @@ class RubyLsp::Requests::DocumentHighlight < ::RubyLsp::Requests::Request end def initialize(global_state, document, position, dispatcher); end - # source://ruby-lsp/lib/ruby_lsp/requests/document_highlight.rb#51 + # : -> Array[Interface::DocumentHighlight] + # + # source://ruby-lsp//lib/ruby_lsp/requests/document_highlight.rb#43 sig { override.returns(T::Array[::LanguageServer::Protocol::Interface::DocumentHighlight]) } def perform; end end @@ -4664,18 +6370,24 @@ end # makes `# source://PATH_TO_FILE#line` comments in a Ruby/RBI file clickable if the file exists. # When the user clicks the link, it'll open that location. # -# source://ruby-lsp/lib/ruby_lsp/requests/document_link.rb#11 +# source://ruby-lsp//lib/ruby_lsp/requests/document_link.rb#11 class RubyLsp::Requests::DocumentLink < ::RubyLsp::Requests::Request - # source://ruby-lsp/lib/ruby_lsp/requests/document_link.rb#30 + # : (URI::Generic uri, Array[Prism::Comment] comments, Prism::Dispatcher dispatcher) -> void + # + # source://ruby-lsp//lib/ruby_lsp/requests/document_link.rb#20 sig { params(uri: ::URI::Generic, comments: T::Array[::Prism::Comment], dispatcher: ::Prism::Dispatcher).void } def initialize(uri, comments, dispatcher); end - # source://ruby-lsp/lib/ruby_lsp/requests/document_link.rb#40 + # : -> Array[Interface::DocumentLink] + # + # source://ruby-lsp//lib/ruby_lsp/requests/document_link.rb#31 sig { override.returns(T::Array[::LanguageServer::Protocol::Interface::DocumentLink]) } def perform; end class << self - # source://ruby-lsp/lib/ruby_lsp/requests/document_link.rb#18 + # : -> Interface::DocumentLinkOptions + # + # source://ruby-lsp//lib/ruby_lsp/requests/document_link.rb#14 sig { returns(::LanguageServer::Protocol::Interface::DocumentLinkOptions) } def provider; end end @@ -4689,18 +6401,24 @@ end # In VS Code, symbol search known as 'Go To Symbol in Editor' and can be accessed with Ctrl/Cmd-Shift-O, # or by opening the command palette and inserting an `@` symbol. # -# source://ruby-lsp/lib/ruby_lsp/requests/document_symbol.rb#15 +# source://ruby-lsp//lib/ruby_lsp/requests/document_symbol.rb#15 class RubyLsp::Requests::DocumentSymbol < ::RubyLsp::Requests::Request - # source://ruby-lsp/lib/ruby_lsp/requests/document_symbol.rb#28 + # : (URI::Generic uri, Prism::Dispatcher dispatcher) -> void + # + # source://ruby-lsp//lib/ruby_lsp/requests/document_symbol.rb#24 sig { params(uri: ::URI::Generic, dispatcher: ::Prism::Dispatcher).void } def initialize(uri, dispatcher); end - # source://ruby-lsp/lib/ruby_lsp/requests/document_symbol.rb#39 + # : -> Array[Interface::DocumentSymbol] + # + # source://ruby-lsp//lib/ruby_lsp/requests/document_symbol.rb#36 sig { override.returns(T::Array[::LanguageServer::Protocol::Interface::DocumentSymbol]) } def perform; end class << self - # source://ruby-lsp/lib/ruby_lsp/requests/document_symbol.rb#22 + # : -> Interface::DocumentSymbolOptions + # + # source://ruby-lsp//lib/ruby_lsp/requests/document_symbol.rb#18 sig { returns(::LanguageServer::Protocol::Interface::DocumentSymbolOptions) } def provider; end end @@ -4709,19 +6427,25 @@ end # The [folding ranges](https://microsoft.github.io/language-server-protocol/specification#textDocument_foldingRange) # request informs the editor of the ranges where and how code can be folded. # -# source://ruby-lsp/lib/ruby_lsp/requests/folding_ranges.rb#10 +# source://ruby-lsp//lib/ruby_lsp/requests/folding_ranges.rb#10 class RubyLsp::Requests::FoldingRanges < ::RubyLsp::Requests::Request - # source://ruby-lsp/lib/ruby_lsp/requests/folding_ranges.rb#27 + # : (Array[Prism::Comment] comments, Prism::Dispatcher dispatcher) -> void + # + # source://ruby-lsp//lib/ruby_lsp/requests/folding_ranges.rb#19 sig { params(comments: T::Array[::Prism::Comment], dispatcher: ::Prism::Dispatcher).void } def initialize(comments, dispatcher); end - # source://ruby-lsp/lib/ruby_lsp/requests/folding_ranges.rb#40 + # : -> Array[Interface::FoldingRange] + # + # source://ruby-lsp//lib/ruby_lsp/requests/folding_ranges.rb#33 sig { override.returns(T::Array[::LanguageServer::Protocol::Interface::FoldingRange]) } def perform; end class << self - # source://ruby-lsp/lib/ruby_lsp/requests/folding_ranges.rb#17 - sig { returns(::LanguageServer::Protocol::Interface::FoldingRangeRegistrationOptions) } + # : -> TrueClass + # + # source://ruby-lsp//lib/ruby_lsp/requests/folding_ranges.rb#13 + sig { returns(::TrueClass) } def provider; end end end @@ -4730,36 +6454,114 @@ end # request uses RuboCop to fix auto-correctable offenses in the document. This requires enabling format on save and # registering the ruby-lsp as the Ruby formatter. # -# source://ruby-lsp/lib/ruby_lsp/requests/formatting.rb#9 +# source://ruby-lsp//lib/ruby_lsp/requests/formatting.rb#9 class RubyLsp::Requests::Formatting < ::RubyLsp::Requests::Request - # source://ruby-lsp/lib/ruby_lsp/requests/formatting.rb#28 + # : (GlobalState global_state, RubyDocument document) -> void + # + # source://ruby-lsp//lib/ruby_lsp/requests/formatting.rb#20 sig { params(global_state: ::RubyLsp::GlobalState, document: RubyLsp::RubyDocument).void } def initialize(global_state, document); end - # source://ruby-lsp/lib/ruby_lsp/requests/formatting.rb#36 + # : -> (Array[Interface::TextEdit] & Object)? + # + # source://ruby-lsp//lib/ruby_lsp/requests/formatting.rb#29 sig { override.returns(T.nilable(T.all(::Object, T::Array[::LanguageServer::Protocol::Interface::TextEdit]))) } def perform; end class << self - # source://ruby-lsp/lib/ruby_lsp/requests/formatting.rb#18 - sig { returns(::LanguageServer::Protocol::Interface::DocumentFormattingRegistrationOptions) } + # : -> TrueClass + # + # source://ruby-lsp//lib/ruby_lsp/requests/formatting.rb#14 + sig { returns(::TrueClass) } def provider; end end end -# source://ruby-lsp/lib/ruby_lsp/requests/formatting.rb#12 +# source://ruby-lsp//lib/ruby_lsp/requests/formatting.rb#10 class RubyLsp::Requests::Formatting::Error < ::StandardError; end +# GoTo Relevant File is a custom [LSP +# request](https://microsoft.github.io/language-server-protocol/specification#requestMessage) +# that navigates to the relevant file for the current document. +# Currently, it supports source code file <> test file navigation. +# +# source://ruby-lsp//lib/ruby_lsp/requests/go_to_relevant_file.rb#10 +class RubyLsp::Requests::GoToRelevantFile < ::RubyLsp::Requests::Request + # : (String path, String workspace_path) -> void + # + # source://ruby-lsp//lib/ruby_lsp/requests/go_to_relevant_file.rb#23 + sig { params(path: ::String, workspace_path: ::String).void } + def initialize(path, workspace_path); end + + # : -> Array[String] + # + # source://ruby-lsp//lib/ruby_lsp/requests/go_to_relevant_file.rb#32 + sig { override.returns(T::Array[::String]) } + def perform; end + + private + + # Using the Jaccard algorithm to determine the similarity between the + # input path and the candidate relevant file paths. + # Ref: https://en.wikipedia.org/wiki/Jaccard_index + # The main idea of this algorithm is to take the size of interaction and divide + # it by the size of union between two sets (in our case the elements in each set + # would be the parts of the path separated by path divider.) + # : (Array[String] candidates) -> Array[String] + # + # source://ruby-lsp//lib/ruby_lsp/requests/go_to_relevant_file.rb#67 + sig { params(candidates: T::Array[::String]).returns(T::Array[::String]) } + def find_most_similar_with_jaccard(candidates); end + + # : -> Array[String] + # + # source://ruby-lsp//lib/ruby_lsp/requests/go_to_relevant_file.rb#39 + sig { returns(T::Array[::String]) } + def find_relevant_paths; end + + # : (String path) -> Set[String] + # + # source://ruby-lsp//lib/ruby_lsp/requests/go_to_relevant_file.rb#82 + sig { params(path: ::String).returns(T::Set[::String]) } + def get_dir_parts(path); end + + # : -> String + # + # source://ruby-lsp//lib/ruby_lsp/requests/go_to_relevant_file.rb#47 + sig { returns(::String) } + def relevant_filename_pattern; end +end + +# source://ruby-lsp//lib/ruby_lsp/requests/go_to_relevant_file.rb#13 +RubyLsp::Requests::GoToRelevantFile::TEST_KEYWORDS = T.let(T.unsafe(nil), Array) + +# source://ruby-lsp//lib/ruby_lsp/requests/go_to_relevant_file.rb#17 +RubyLsp::Requests::GoToRelevantFile::TEST_PATTERN = T.let(T.unsafe(nil), Regexp) + +# source://ruby-lsp//lib/ruby_lsp/requests/go_to_relevant_file.rb#19 +RubyLsp::Requests::GoToRelevantFile::TEST_PREFIX_GLOB = T.let(T.unsafe(nil), String) + +# source://ruby-lsp//lib/ruby_lsp/requests/go_to_relevant_file.rb#15 +RubyLsp::Requests::GoToRelevantFile::TEST_PREFIX_PATTERN = T.let(T.unsafe(nil), Regexp) + +# source://ruby-lsp//lib/ruby_lsp/requests/go_to_relevant_file.rb#20 +RubyLsp::Requests::GoToRelevantFile::TEST_SUFFIX_GLOB = T.let(T.unsafe(nil), String) + +# source://ruby-lsp//lib/ruby_lsp/requests/go_to_relevant_file.rb#16 +RubyLsp::Requests::GoToRelevantFile::TEST_SUFFIX_PATTERN = T.let(T.unsafe(nil), Regexp) + # The [hover request](https://microsoft.github.io/language-server-protocol/specification#textDocument_hover) # displays the documentation for the symbol currently under the cursor. # -# source://ruby-lsp/lib/ruby_lsp/requests/hover.rb#10 +# source://ruby-lsp//lib/ruby_lsp/requests/hover.rb#10 class RubyLsp::Requests::Hover < ::RubyLsp::Requests::Request extend T::Generic ResponseType = type_member { { fixed: T.nilable(::LanguageServer::Protocol::Interface::Hover) } } - # source://ruby-lsp/lib/ruby_lsp/requests/hover.rb#34 + # : ((RubyDocument | ERBDocument) document, GlobalState global_state, Hash[Symbol, untyped] position, Prism::Dispatcher dispatcher, RubyDocument::SorbetLevel sorbet_level) -> void + # + # source://ruby-lsp//lib/ruby_lsp/requests/hover.rb#23 sig do params( document: T.any(RubyLsp::ERBDocument, RubyLsp::RubyDocument), @@ -4771,22 +6573,30 @@ class RubyLsp::Requests::Hover < ::RubyLsp::Requests::Request end def initialize(document, global_state, position, dispatcher, sorbet_level); end - # source://ruby-lsp/lib/ruby_lsp/requests/hover.rb#74 + # : -> ResponseType + # + # source://ruby-lsp//lib/ruby_lsp/requests/hover.rb#64 sig { override.returns(ResponseType) } def perform; end private - # source://ruby-lsp/lib/ruby_lsp/requests/hover.rb#99 + # : (Hash[Symbol, untyped] position, Prism::Node? target) -> bool + # + # source://ruby-lsp//lib/ruby_lsp/requests/hover.rb#89 sig { params(position: T::Hash[::Symbol, T.untyped], target: T.nilable(::Prism::Node)).returns(T::Boolean) } def position_outside_target?(position, target); end - # source://ruby-lsp/lib/ruby_lsp/requests/hover.rb#92 + # : (Prism::Node? parent, Prism::Node? target) -> bool + # + # source://ruby-lsp//lib/ruby_lsp/requests/hover.rb#82 sig { params(parent: T.nilable(::Prism::Node), target: T.nilable(::Prism::Node)).returns(T::Boolean) } def should_refine_target?(parent, target); end class << self - # source://ruby-lsp/lib/ruby_lsp/requests/hover.rb#18 + # : -> Interface::HoverOptions + # + # source://ruby-lsp//lib/ruby_lsp/requests/hover.rb#15 sig { returns(::LanguageServer::Protocol::Interface::HoverOptions) } def provider; end end @@ -4796,9 +6606,11 @@ end # are labels added directly in the code that explicitly show the user something that might # otherwise just be implied. # -# source://ruby-lsp/lib/ruby_lsp/requests/inlay_hints.rb#11 +# source://ruby-lsp//lib/ruby_lsp/requests/inlay_hints.rb#11 class RubyLsp::Requests::InlayHints < ::RubyLsp::Requests::Request - # source://ruby-lsp/lib/ruby_lsp/requests/inlay_hints.rb#30 + # : ((RubyDocument | ERBDocument) document, RequestConfig hints_configuration, Prism::Dispatcher dispatcher) -> void + # + # source://ruby-lsp//lib/ruby_lsp/requests/inlay_hints.rb#20 sig do params( document: T.any(RubyLsp::ERBDocument, RubyLsp::RubyDocument), @@ -4808,12 +6620,16 @@ class RubyLsp::Requests::InlayHints < ::RubyLsp::Requests::Request end def initialize(document, hints_configuration, dispatcher); end - # source://ruby-lsp/lib/ruby_lsp/requests/inlay_hints.rb#41 + # : -> Array[Interface::InlayHint] + # + # source://ruby-lsp//lib/ruby_lsp/requests/inlay_hints.rb#32 sig { override.returns(T::Array[::LanguageServer::Protocol::Interface::InlayHint]) } def perform; end class << self - # source://ruby-lsp/lib/ruby_lsp/requests/inlay_hints.rb#18 + # : -> Interface::InlayHintOptions + # + # source://ruby-lsp//lib/ruby_lsp/requests/inlay_hints.rb#14 sig { returns(::LanguageServer::Protocol::Interface::InlayHintOptions) } def provider; end end @@ -4822,9 +6638,11 @@ end # The [on type formatting](https://microsoft.github.io/language-server-protocol/specification#textDocument_onTypeFormatting) # request formats code as the user is typing. For example, automatically adding `end` to class definitions. # -# source://ruby-lsp/lib/ruby_lsp/requests/on_type_formatting.rb#8 +# source://ruby-lsp//lib/ruby_lsp/requests/on_type_formatting.rb#8 class RubyLsp::Requests::OnTypeFormatting < ::RubyLsp::Requests::Request - # source://ruby-lsp/lib/ruby_lsp/requests/on_type_formatting.rb#41 + # : (RubyDocument document, Hash[Symbol, untyped] position, String trigger_character, String client_name) -> void + # + # source://ruby-lsp//lib/ruby_lsp/requests/on_type_formatting.rb#30 sig do params( document: RubyLsp::RubyDocument, @@ -4835,71 +6653,97 @@ class RubyLsp::Requests::OnTypeFormatting < ::RubyLsp::Requests::Request end def initialize(document, position, trigger_character, client_name); end - # source://ruby-lsp/lib/ruby_lsp/requests/on_type_formatting.rb#56 + # : -> (Array[Interface::TextEdit] & Object) + # + # source://ruby-lsp//lib/ruby_lsp/requests/on_type_formatting.rb#46 sig { override.returns(T.all(::Object, T::Array[::LanguageServer::Protocol::Interface::TextEdit])) } def perform; end private - # source://ruby-lsp/lib/ruby_lsp/requests/on_type_formatting.rb#159 + # : (String text, ?Hash[Symbol, untyped] position) -> void + # + # source://ruby-lsp//lib/ruby_lsp/requests/on_type_formatting.rb#152 sig { params(text: ::String, position: T::Hash[::Symbol, T.untyped]).void } def add_edit_with_text(text, position = T.unsafe(nil)); end - # source://ruby-lsp/lib/ruby_lsp/requests/on_type_formatting.rb#206 + # : -> void + # + # source://ruby-lsp//lib/ruby_lsp/requests/on_type_formatting.rb#199 sig { void } def auto_indent_after_end_keyword; end - # source://ruby-lsp/lib/ruby_lsp/requests/on_type_formatting.rb#193 + # : (String line) -> Integer + # + # source://ruby-lsp//lib/ruby_lsp/requests/on_type_formatting.rb#186 sig { params(line: ::String).returns(::Integer) } def find_indentation(line); end - # source://ruby-lsp/lib/ruby_lsp/requests/on_type_formatting.rb#154 + # : (String spaces) -> void + # + # source://ruby-lsp//lib/ruby_lsp/requests/on_type_formatting.rb#147 sig { params(spaces: ::String).void } def handle_comment_line(spaces); end - # source://ruby-lsp/lib/ruby_lsp/requests/on_type_formatting.rb#116 + # : -> void + # + # source://ruby-lsp//lib/ruby_lsp/requests/on_type_formatting.rb#109 sig { void } def handle_curly_brace; end - # source://ruby-lsp/lib/ruby_lsp/requests/on_type_formatting.rb#146 + # : (String delimiter) -> void + # + # source://ruby-lsp//lib/ruby_lsp/requests/on_type_formatting.rb#139 sig { params(delimiter: ::String).void } def handle_heredoc_end(delimiter); end - # source://ruby-lsp/lib/ruby_lsp/requests/on_type_formatting.rb#85 + # : -> void + # + # source://ruby-lsp//lib/ruby_lsp/requests/on_type_formatting.rb#78 sig { void } def handle_pipe; end - # source://ruby-lsp/lib/ruby_lsp/requests/on_type_formatting.rb#124 + # : -> void + # + # source://ruby-lsp//lib/ruby_lsp/requests/on_type_formatting.rb#117 sig { void } def handle_statement_end; end - # source://ruby-lsp/lib/ruby_lsp/requests/on_type_formatting.rb#172 + # : (Integer line, Integer character) -> void + # + # source://ruby-lsp//lib/ruby_lsp/requests/on_type_formatting.rb#165 sig { params(line: ::Integer, character: ::Integer).void } def move_cursor_to(line, character); end class << self - # source://ruby-lsp/lib/ruby_lsp/requests/on_type_formatting.rb#15 + # : -> Interface::DocumentOnTypeFormattingRegistrationOptions + # + # source://ruby-lsp//lib/ruby_lsp/requests/on_type_formatting.rb#11 sig { returns(::LanguageServer::Protocol::Interface::DocumentOnTypeFormattingRegistrationOptions) } def provider; end end end -# source://ruby-lsp/lib/ruby_lsp/requests/on_type_formatting.rb#24 +# source://ruby-lsp//lib/ruby_lsp/requests/on_type_formatting.rb#20 RubyLsp::Requests::OnTypeFormatting::END_REGEXES = T.let(T.unsafe(nil), Array) # The # [prepare_rename](https://microsoft.github.io/language-server-protocol/specification#textDocument_prepareRename) # # request checks the validity of a rename operation at a given location. # -# source://ruby-lsp/lib/ruby_lsp/requests/prepare_rename.rb#9 +# source://ruby-lsp//lib/ruby_lsp/requests/prepare_rename.rb#9 class RubyLsp::Requests::PrepareRename < ::RubyLsp::Requests::Request include ::RubyLsp::Requests::Support::Common - # source://ruby-lsp/lib/ruby_lsp/requests/prepare_rename.rb#19 + # : (RubyDocument document, Hash[Symbol, untyped] position) -> void + # + # source://ruby-lsp//lib/ruby_lsp/requests/prepare_rename.rb#13 sig { params(document: RubyLsp::RubyDocument, position: T::Hash[::Symbol, T.untyped]).void } def initialize(document, position); end - # source://ruby-lsp/lib/ruby_lsp/requests/prepare_rename.rb#26 + # : -> Interface::Range? + # + # source://ruby-lsp//lib/ruby_lsp/requests/prepare_rename.rb#21 sig { override.returns(T.nilable(::LanguageServer::Protocol::Interface::Range)) } def perform; end end @@ -4910,11 +6754,13 @@ end # # Currently only supports supertypes due to a limitation of the index. # -# source://ruby-lsp/lib/ruby_lsp/requests/prepare_type_hierarchy.rb#11 +# source://ruby-lsp//lib/ruby_lsp/requests/prepare_type_hierarchy.rb#11 class RubyLsp::Requests::PrepareTypeHierarchy < ::RubyLsp::Requests::Request include ::RubyLsp::Requests::Support::Common - # source://ruby-lsp/lib/ruby_lsp/requests/prepare_type_hierarchy.rb#32 + # : ((RubyDocument | ERBDocument) document, RubyIndexer::Index index, Hash[Symbol, untyped] position) -> void + # + # source://ruby-lsp//lib/ruby_lsp/requests/prepare_type_hierarchy.rb#22 sig do params( document: T.any(RubyLsp::ERBDocument, RubyLsp::RubyDocument), @@ -4924,12 +6770,16 @@ class RubyLsp::Requests::PrepareTypeHierarchy < ::RubyLsp::Requests::Request end def initialize(document, index, position); end - # source://ruby-lsp/lib/ruby_lsp/requests/prepare_type_hierarchy.rb#41 + # : -> Array[Interface::TypeHierarchyItem]? + # + # source://ruby-lsp//lib/ruby_lsp/requests/prepare_type_hierarchy.rb#32 sig { override.returns(T.nilable(T::Array[::LanguageServer::Protocol::Interface::TypeHierarchyItem])) } def perform; end class << self - # source://ruby-lsp/lib/ruby_lsp/requests/prepare_type_hierarchy.rb#20 + # : -> Interface::TypeHierarchyOptions + # + # source://ruby-lsp//lib/ruby_lsp/requests/prepare_type_hierarchy.rb#16 sig { returns(::LanguageServer::Protocol::Interface::TypeHierarchyOptions) } def provider; end end @@ -4938,9 +6788,11 @@ end # The [range formatting](https://microsoft.github.io/language-server-protocol/specification#textDocument_rangeFormatting) # is used to format a selection or to format on paste. # -# source://ruby-lsp/lib/ruby_lsp/requests/range_formatting.rb#8 +# source://ruby-lsp//lib/ruby_lsp/requests/range_formatting.rb#8 class RubyLsp::Requests::RangeFormatting < ::RubyLsp::Requests::Request - # source://ruby-lsp/lib/ruby_lsp/requests/range_formatting.rb#12 + # : (GlobalState global_state, RubyDocument document, Hash[Symbol, untyped] params) -> void + # + # source://ruby-lsp//lib/ruby_lsp/requests/range_formatting.rb#10 sig do params( global_state: ::RubyLsp::GlobalState, @@ -4950,7 +6802,9 @@ class RubyLsp::Requests::RangeFormatting < ::RubyLsp::Requests::Request end def initialize(global_state, document, params); end - # source://ruby-lsp/lib/ruby_lsp/requests/range_formatting.rb#21 + # : -> Array[Interface::TextEdit]? + # + # source://ruby-lsp//lib/ruby_lsp/requests/range_formatting.rb#20 sig { override.returns(T.nilable(T::Array[::LanguageServer::Protocol::Interface::TextEdit])) } def perform; end end @@ -4959,11 +6813,13 @@ end # [references](https://microsoft.github.io/language-server-protocol/specification#textDocument_references) # request finds all references for the selected symbol. # -# source://ruby-lsp/lib/ruby_lsp/requests/references.rb#9 +# source://ruby-lsp//lib/ruby_lsp/requests/references.rb#9 class RubyLsp::Requests::References < ::RubyLsp::Requests::Request include ::RubyLsp::Requests::Support::Common - # source://ruby-lsp/lib/ruby_lsp/requests/references.rb#21 + # : (GlobalState global_state, Store store, (RubyDocument | ERBDocument) document, Hash[Symbol, untyped] params) -> void + # + # source://ruby-lsp//lib/ruby_lsp/requests/references.rb#13 sig do params( global_state: ::RubyLsp::GlobalState, @@ -4974,13 +6830,17 @@ class RubyLsp::Requests::References < ::RubyLsp::Requests::Request end def initialize(global_state, store, document, params); end - # source://ruby-lsp/lib/ruby_lsp/requests/references.rb#31 + # : -> Array[Interface::Location] + # + # source://ruby-lsp//lib/ruby_lsp/requests/references.rb#24 sig { override.returns(T::Array[::LanguageServer::Protocol::Interface::Location]) } def perform; end private - # source://ruby-lsp/lib/ruby_lsp/requests/references.rb#155 + # : (RubyIndexer::ReferenceFinder::Target target, Prism::ParseResult parse_result, URI::Generic uri) -> void + # + # source://ruby-lsp//lib/ruby_lsp/requests/references.rb#125 sig do params( target: ::RubyIndexer::ReferenceFinder::Target, @@ -4990,7 +6850,9 @@ class RubyLsp::Requests::References < ::RubyLsp::Requests::Request end def collect_references(target, parse_result, uri); end - # source://ruby-lsp/lib/ruby_lsp/requests/references.rb#124 + # : ((Prism::ConstantReadNode | Prism::ConstantPathNode | Prism::ConstantPathTargetNode | Prism::InstanceVariableAndWriteNode | Prism::InstanceVariableOperatorWriteNode | Prism::InstanceVariableOrWriteNode | Prism::InstanceVariableReadNode | Prism::InstanceVariableTargetNode | Prism::InstanceVariableWriteNode | Prism::CallNode | Prism::DefNode) target_node, NodeContext node_context) -> RubyIndexer::ReferenceFinder::Target? + # + # source://ruby-lsp//lib/ruby_lsp/requests/references.rb#100 sig do params( target_node: T.any(::Prism::CallNode, ::Prism::ConstantPathNode, ::Prism::ConstantPathTargetNode, ::Prism::ConstantReadNode, ::Prism::DefNode, ::Prism::InstanceVariableAndWriteNode, ::Prism::InstanceVariableOperatorWriteNode, ::Prism::InstanceVariableOrWriteNode, ::Prism::InstanceVariableReadNode, ::Prism::InstanceVariableTargetNode, ::Prism::InstanceVariableWriteNode), @@ -5004,11 +6866,13 @@ end # [rename](https://microsoft.github.io/language-server-protocol/specification#textDocument_rename) # request renames all instances of a symbol in a document. # -# source://ruby-lsp/lib/ruby_lsp/requests/rename.rb#9 +# source://ruby-lsp//lib/ruby_lsp/requests/rename.rb#9 class RubyLsp::Requests::Rename < ::RubyLsp::Requests::Request include ::RubyLsp::Requests::Support::Common - # source://ruby-lsp/lib/ruby_lsp/requests/rename.rb#32 + # : (GlobalState global_state, Store store, (RubyDocument | ERBDocument) document, Hash[Symbol, untyped] params) -> void + # + # source://ruby-lsp//lib/ruby_lsp/requests/rename.rb#22 sig do params( global_state: ::RubyLsp::GlobalState, @@ -5019,13 +6883,17 @@ class RubyLsp::Requests::Rename < ::RubyLsp::Requests::Request end def initialize(global_state, store, document, params); end - # source://ruby-lsp/lib/ruby_lsp/requests/rename.rb#42 + # : -> Interface::WorkspaceEdit? + # + # source://ruby-lsp//lib/ruby_lsp/requests/rename.rb#33 sig { override.returns(T.nilable(::LanguageServer::Protocol::Interface::WorkspaceEdit)) } def perform; end private - # source://ruby-lsp/lib/ruby_lsp/requests/rename.rb#191 + # : (String name, RubyIndexer::ReferenceFinder::Reference reference) -> Interface::TextEdit + # + # source://ruby-lsp//lib/ruby_lsp/requests/rename.rb#165 sig do params( name: ::String, @@ -5034,7 +6902,9 @@ class RubyLsp::Requests::Rename < ::RubyLsp::Requests::Request end def adjust_reference_for_edit(name, reference); end - # source://ruby-lsp/lib/ruby_lsp/requests/rename.rb#180 + # : (RubyIndexer::ReferenceFinder::Target target, Prism::ParseResult parse_result, String name, URI::Generic uri) -> Array[Interface::TextEdit] + # + # source://ruby-lsp//lib/ruby_lsp/requests/rename.rb#154 sig do params( target: ::RubyIndexer::ReferenceFinder::Target, @@ -5045,7 +6915,9 @@ class RubyLsp::Requests::Rename < ::RubyLsp::Requests::Request end def collect_changes(target, parse_result, name, uri); end - # source://ruby-lsp/lib/ruby_lsp/requests/rename.rb#109 + # : (String fully_qualified_name, Array[(Interface::RenameFile | Interface::TextDocumentEdit)] document_changes) -> void + # + # source://ruby-lsp//lib/ruby_lsp/requests/rename.rb#95 sig do params( fully_qualified_name: ::String, @@ -5054,7 +6926,9 @@ class RubyLsp::Requests::Rename < ::RubyLsp::Requests::Request end def collect_file_renames(fully_qualified_name, document_changes); end - # source://ruby-lsp/lib/ruby_lsp/requests/rename.rb#148 + # : (RubyIndexer::ReferenceFinder::Target target, String name) -> Hash[String, Array[Interface::TextEdit]] + # + # source://ruby-lsp//lib/ruby_lsp/requests/rename.rb#129 sig do params( target: ::RubyIndexer::ReferenceFinder::Target, @@ -5063,50 +6937,57 @@ class RubyLsp::Requests::Rename < ::RubyLsp::Requests::Request end def collect_text_edits(target, name); end - # source://ruby-lsp/lib/ruby_lsp/requests/rename.rb#201 + # : (String constant_name) -> String + # + # source://ruby-lsp//lib/ruby_lsp/requests/rename.rb#175 sig { params(constant_name: ::String).returns(::String) } def file_from_constant_name(constant_name); end class << self - # source://ruby-lsp/lib/ruby_lsp/requests/rename.rb#19 + # : -> Interface::RenameOptions + # + # source://ruby-lsp//lib/ruby_lsp/requests/rename.rb#16 sig { returns(::LanguageServer::Protocol::Interface::RenameOptions) } def provider; end end end -# source://ruby-lsp/lib/ruby_lsp/requests/rename.rb#13 +# source://ruby-lsp//lib/ruby_lsp/requests/rename.rb#12 class RubyLsp::Requests::Rename::InvalidNameError < ::StandardError; end # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below. # -# source://ruby-lsp/lib/ruby_lsp/requests/request.rb#6 +# source://ruby-lsp//lib/ruby_lsp/requests/request.rb#6 class RubyLsp::Requests::Request abstract! # @abstract # - # source://ruby-lsp/lib/ruby_lsp/requests/request.rb#15 + # source://ruby-lsp//lib/ruby_lsp/requests/request.rb#15 sig { abstract.returns(T.anything) } def perform; end private # Checks if a location covers a position + # : (Prism::Location location, untyped position) -> bool # - # source://ruby-lsp/lib/ruby_lsp/requests/request.rb#38 + # source://ruby-lsp//lib/ruby_lsp/requests/request.rb#32 sig { params(location: ::Prism::Location, position: T.untyped).returns(T::Boolean) } def cover?(location, position); end # Checks if a given location covers the position requested + # : (Prism::Location? location, Hash[Symbol, untyped] position) -> bool # - # source://ruby-lsp/lib/ruby_lsp/requests/request.rb#87 + # source://ruby-lsp//lib/ruby_lsp/requests/request.rb#75 sig { params(location: T.nilable(::Prism::Location), position: T::Hash[::Symbol, T.untyped]).returns(T::Boolean) } def covers_position?(location, position); end # Signals to the client that the request should be delegated to the language server server for the host language # in ERB files + # : (GlobalState global_state, Document[untyped] document, Integer char_position) -> void # - # source://ruby-lsp/lib/ruby_lsp/requests/request.rb#28 + # source://ruby-lsp//lib/ruby_lsp/requests/request.rb#22 sig do params( global_state: ::RubyLsp::GlobalState, @@ -5126,8 +7007,9 @@ class RubyLsp::Requests::Request # # ^ Going to definition here should go to Foo::Bar # #^ Going to definition here should go to Foo # ``` + # : (Prism::Node target, Prism::Node parent, Hash[Symbol, Integer] position) -> Prism::Node # - # source://ruby-lsp/lib/ruby_lsp/requests/request.rb#71 + # source://ruby-lsp//lib/ruby_lsp/requests/request.rb#59 sig do params( target: ::Prism::Node, @@ -5138,7 +7020,7 @@ class RubyLsp::Requests::Request def determine_target(target, parent, position); end end -# source://ruby-lsp/lib/ruby_lsp/requests/request.rb#10 +# source://ruby-lsp//lib/ruby_lsp/requests/request.rb#10 class RubyLsp::Requests::Request::InvalidFormatter < ::StandardError; end # The [selection ranges](https://microsoft.github.io/language-server-protocol/specification#textDocument_selectionRange) @@ -5149,15 +7031,19 @@ class RubyLsp::Requests::Request::InvalidFormatter < ::StandardError; end # # Note that if using VSCode Neovim, you will need to be in Insert mode for this to work correctly. # -# source://ruby-lsp/lib/ruby_lsp/requests/selection_ranges.rb#13 +# source://ruby-lsp//lib/ruby_lsp/requests/selection_ranges.rb#13 class RubyLsp::Requests::SelectionRanges < ::RubyLsp::Requests::Request include ::RubyLsp::Requests::Support::Common - # source://ruby-lsp/lib/ruby_lsp/requests/selection_ranges.rb#18 + # : ((RubyDocument | ERBDocument) document) -> void + # + # source://ruby-lsp//lib/ruby_lsp/requests/selection_ranges.rb#17 sig { params(document: T.any(RubyLsp::ERBDocument, RubyLsp::RubyDocument)).void } def initialize(document); end - # source://ruby-lsp/lib/ruby_lsp/requests/selection_ranges.rb#26 + # : -> (Array[Support::SelectionRange] & Object) + # + # source://ruby-lsp//lib/ruby_lsp/requests/selection_ranges.rb#26 sig { override.returns(T.all(::Object, T::Array[::RubyLsp::Requests::Support::SelectionRange])) } def perform; end end @@ -5166,9 +7052,11 @@ end # highlighting](https://microsoft.github.io/language-server-protocol/specification#textDocument_semanticTokens) # request informs the editor of the correct token types to provide consistent and accurate highlighting for themes. # -# source://ruby-lsp/lib/ruby_lsp/requests/semantic_highlighting.rb#11 +# source://ruby-lsp//lib/ruby_lsp/requests/semantic_highlighting.rb#11 class RubyLsp::Requests::SemanticHighlighting < ::RubyLsp::Requests::Request - # source://ruby-lsp/lib/ruby_lsp/requests/semantic_highlighting.rb#96 + # : (GlobalState global_state, Prism::Dispatcher dispatcher, (RubyDocument | ERBDocument) document, String? previous_result_id, ?range: T::Range[Integer]?) -> void + # + # source://ruby-lsp//lib/ruby_lsp/requests/semantic_highlighting.rb#78 sig do params( global_state: ::RubyLsp::GlobalState, @@ -5180,7 +7068,9 @@ class RubyLsp::Requests::SemanticHighlighting < ::RubyLsp::Requests::Request end def initialize(global_state, dispatcher, document, previous_result_id, range: T.unsafe(nil)); end - # source://ruby-lsp/lib/ruby_lsp/requests/semantic_highlighting.rb#115 + # : -> (Interface::SemanticTokens | Interface::SemanticTokensDelta) + # + # source://ruby-lsp//lib/ruby_lsp/requests/semantic_highlighting.rb#98 sig do override .returns(T.any(::LanguageServer::Protocol::Interface::SemanticTokens, ::LanguageServer::Protocol::Interface::SemanticTokensDelta)) @@ -5190,8 +7080,9 @@ class RubyLsp::Requests::SemanticHighlighting < ::RubyLsp::Requests::Request class << self # The compute_delta method receives the current semantic tokens and the previous semantic tokens and then tries # to compute the smallest possible semantic token edit that will turn previous into current + # : (Array[Integer] current_tokens, Array[Integer] previous_tokens, String result_id) -> Interface::SemanticTokensDelta # - # source://ruby-lsp/lib/ruby_lsp/requests/semantic_highlighting.rb#39 + # source://ruby-lsp//lib/ruby_lsp/requests/semantic_highlighting.rb#29 sig do params( current_tokens: T::Array[::Integer], @@ -5201,11 +7092,15 @@ class RubyLsp::Requests::SemanticHighlighting < ::RubyLsp::Requests::Request end def compute_delta(current_tokens, previous_tokens, result_id); end - # source://ruby-lsp/lib/ruby_lsp/requests/semantic_highlighting.rb#77 + # : -> Integer + # + # source://ruby-lsp//lib/ruby_lsp/requests/semantic_highlighting.rb#67 sig { returns(::Integer) } def next_result_id; end - # source://ruby-lsp/lib/ruby_lsp/requests/semantic_highlighting.rb#18 + # : -> Interface::SemanticTokensRegistrationOptions + # + # source://ruby-lsp//lib/ruby_lsp/requests/semantic_highlighting.rb#14 sig { returns(::LanguageServer::Protocol::Interface::SemanticTokensRegistrationOptions) } def provider; end end @@ -5215,19 +7110,25 @@ end # request](https://microsoft.github.io/language-server-protocol/specification#requestMessage) that displays the AST # for the current document or for the current selection in a new tab. # -# source://ruby-lsp/lib/ruby_lsp/requests/show_syntax_tree.rb#9 +# source://ruby-lsp//lib/ruby_lsp/requests/show_syntax_tree.rb#9 class RubyLsp::Requests::ShowSyntaxTree < ::RubyLsp::Requests::Request - # source://ruby-lsp/lib/ruby_lsp/requests/show_syntax_tree.rb#13 + # : (RubyDocument document, Hash[Symbol, untyped]? range) -> void + # + # source://ruby-lsp//lib/ruby_lsp/requests/show_syntax_tree.rb#11 sig { params(document: RubyLsp::RubyDocument, range: T.nilable(T::Hash[::Symbol, T.untyped])).void } def initialize(document, range); end - # source://ruby-lsp/lib/ruby_lsp/requests/show_syntax_tree.rb#21 + # : -> String + # + # source://ruby-lsp//lib/ruby_lsp/requests/show_syntax_tree.rb#20 sig { override.returns(::String) } def perform; end private - # source://ruby-lsp/lib/ruby_lsp/requests/show_syntax_tree.rb#32 + # : -> String + # + # source://ruby-lsp//lib/ruby_lsp/requests/show_syntax_tree.rb#31 sig { returns(::String) } def ast_for_range; end end @@ -5236,9 +7137,11 @@ end # request](https://microsoft.github.io/language-server-protocol/specification#textDocument_signatureHelp) displays # information about the parameters of a method as you type an invocation. # -# source://ruby-lsp/lib/ruby_lsp/requests/signature_help.rb#11 +# source://ruby-lsp//lib/ruby_lsp/requests/signature_help.rb#11 class RubyLsp::Requests::SignatureHelp < ::RubyLsp::Requests::Request - # source://ruby-lsp/lib/ruby_lsp/requests/signature_help.rb#36 + # : ((RubyDocument | ERBDocument) document, GlobalState global_state, Hash[Symbol, untyped] position, Hash[Symbol, untyped]? context, Prism::Dispatcher dispatcher, RubyDocument::SorbetLevel sorbet_level) -> void + # + # source://ruby-lsp//lib/ruby_lsp/requests/signature_help.rb#23 sig do params( document: T.any(RubyLsp::ERBDocument, RubyLsp::RubyDocument), @@ -5251,7 +7154,9 @@ class RubyLsp::Requests::SignatureHelp < ::RubyLsp::Requests::Request end def initialize(document, global_state, position, context, dispatcher, sorbet_level); end - # source://ruby-lsp/lib/ruby_lsp/requests/signature_help.rb#58 + # : -> Interface::SignatureHelp? + # + # source://ruby-lsp//lib/ruby_lsp/requests/signature_help.rb#46 sig { override.returns(T.nilable(::LanguageServer::Protocol::Interface::SignatureHelp)) } def perform; end @@ -5263,8 +7168,9 @@ class RubyLsp::Requests::SignatureHelp < ::RubyLsp::Requests::Request # foo(another_method_call) # # In that case, we want to provide signature help for `foo` and not `another_method_call`. + # : (Prism::Node? target, Prism::Node? parent, Hash[Symbol, untyped] position) -> Prism::Node? # - # source://ruby-lsp/lib/ruby_lsp/requests/signature_help.rb#80 + # source://ruby-lsp//lib/ruby_lsp/requests/signature_help.rb#62 sig do params( target: T.nilable(::Prism::Node), @@ -5274,46 +7180,60 @@ class RubyLsp::Requests::SignatureHelp < ::RubyLsp::Requests::Request end def adjust_for_nested_target(target, parent, position); end - # source://ruby-lsp/lib/ruby_lsp/requests/signature_help.rb#96 + # : (Prism::Node node, Hash[Symbol, untyped] position) -> bool + # + # source://ruby-lsp//lib/ruby_lsp/requests/signature_help.rb#78 sig { params(node: ::Prism::Node, position: T::Hash[::Symbol, T.untyped]).returns(T::Boolean) } def node_covers?(node, position); end class << self - # source://ruby-lsp/lib/ruby_lsp/requests/signature_help.rb#18 + # : -> Interface::SignatureHelpOptions + # + # source://ruby-lsp//lib/ruby_lsp/requests/signature_help.rb#14 sig { returns(::LanguageServer::Protocol::Interface::SignatureHelpOptions) } def provider; end end end -# source://ruby-lsp/lib/ruby_lsp/requests/support/selection_range.rb#6 +# source://ruby-lsp//lib/ruby_lsp/requests/support/selection_range.rb#6 module RubyLsp::Requests::Support; end -# source://ruby-lsp/lib/ruby_lsp/requests/support/annotation.rb#7 +# source://ruby-lsp//lib/ruby_lsp/requests/support/annotation.rb#7 class RubyLsp::Requests::Support::Annotation - # source://ruby-lsp/lib/ruby_lsp/requests/support/annotation.rb#15 + # : (arity: (Integer | T::Range[Integer]), ?receiver: bool) -> void + # + # source://ruby-lsp//lib/ruby_lsp/requests/support/annotation.rb#9 sig { params(arity: T.any(::Integer, T::Range[::Integer]), receiver: T::Boolean).void } def initialize(arity:, receiver: T.unsafe(nil)); end - # source://ruby-lsp/lib/ruby_lsp/requests/support/annotation.rb#21 + # : (Prism::CallNode node) -> bool + # + # source://ruby-lsp//lib/ruby_lsp/requests/support/annotation.rb#15 sig { params(node: ::Prism::CallNode).returns(T::Boolean) } def match?(node); end private - # source://ruby-lsp/lib/ruby_lsp/requests/support/annotation.rb#34 + # : (Prism::CallNode node) -> bool + # + # source://ruby-lsp//lib/ruby_lsp/requests/support/annotation.rb#28 sig { params(node: ::Prism::CallNode).returns(T::Boolean) } def arity_matches?(node); end - # source://ruby-lsp/lib/ruby_lsp/requests/support/annotation.rb#28 + # : (Prism::CallNode node) -> bool + # + # source://ruby-lsp//lib/ruby_lsp/requests/support/annotation.rb#22 sig { params(node: ::Prism::CallNode).returns(T::Boolean) } def receiver_matches?(node); end end -# source://ruby-lsp/lib/ruby_lsp/requests/support/common.rb#7 +# source://ruby-lsp//lib/ruby_lsp/requests/support/common.rb#7 module RubyLsp::Requests::Support::Common requires_ancestor { Kernel } - # source://ruby-lsp/lib/ruby_lsp/requests/support/common.rb#83 + # : (String title, (Array[RubyIndexer::Entry] | RubyIndexer::Entry) entries, ?Integer? max_entries) -> Hash[Symbol, String] + # + # source://ruby-lsp//lib/ruby_lsp/requests/support/common.rb#68 sig do params( title: ::String, @@ -5323,15 +7243,19 @@ module RubyLsp::Requests::Support::Common end def categorized_markdown_from_index_entries(title, entries, max_entries = T.unsafe(nil)); end - # source://ruby-lsp/lib/ruby_lsp/requests/support/common.rb#147 + # : ((Prism::ConstantPathNode | Prism::ConstantReadNode | Prism::ConstantPathTargetNode | Prism::CallNode | Prism::MissingNode) node) -> String? + # + # source://ruby-lsp//lib/ruby_lsp/requests/support/common.rb#117 sig do params( - node: T.any(::Prism::ConstantPathNode, ::Prism::ConstantPathTargetNode, ::Prism::ConstantReadNode) + node: T.any(::Prism::CallNode, ::Prism::ConstantPathNode, ::Prism::ConstantPathTargetNode, ::Prism::ConstantReadNode, ::Prism::MissingNode) ).returns(T.nilable(::String)) end def constant_name(node); end - # source://ruby-lsp/lib/ruby_lsp/requests/support/common.rb#49 + # : (Prism::Node node, title: String, command_name: String, arguments: Array[untyped]?, data: Hash[untyped, untyped]?) -> Interface::CodeLens + # + # source://ruby-lsp//lib/ruby_lsp/requests/support/common.rb#40 sig do params( node: ::Prism::Node, @@ -5346,16 +7270,21 @@ module RubyLsp::Requests::Support::Common # Iterates over each part of a constant path, so that we can easily push response items for each section of the # name. For example, for `Foo::Bar::Baz`, this method will invoke the block with `Foo`, then `Bar` and finally # `Baz`. + # : (Prism::Node node) { (Prism::Node part) -> void } -> void # - # source://ruby-lsp/lib/ruby_lsp/requests/support/common.rb#172 + # source://ruby-lsp//lib/ruby_lsp/requests/support/common.rb#134 sig { params(node: ::Prism::Node, block: T.proc.params(part: ::Prism::Node).void).void } def each_constant_path_part(node, &block); end - # source://ruby-lsp/lib/ruby_lsp/requests/support/common.rb#182 + # : (RubyIndexer::Entry entry) -> Integer? + # + # source://ruby-lsp//lib/ruby_lsp/requests/support/common.rb#144 sig { params(entry: ::RubyIndexer::Entry).returns(T.nilable(::Integer)) } def kind_for_entry(entry); end - # source://ruby-lsp/lib/ruby_lsp/requests/support/common.rb#123 + # : (String title, (Array[RubyIndexer::Entry] | RubyIndexer::Entry) entries, ?Integer? max_entries, ?extra_links: String?) -> String + # + # source://ruby-lsp//lib/ruby_lsp/requests/support/common.rb#101 sig do params( title: ::String, @@ -5366,15 +7295,21 @@ module RubyLsp::Requests::Support::Common end def markdown_from_index_entries(title, entries, max_entries = T.unsafe(nil), extra_links: T.unsafe(nil)); end - # source://ruby-lsp/lib/ruby_lsp/requests/support/common.rb#155 + # : ((Prism::ModuleNode | Prism::ClassNode) node) -> String? + # + # source://ruby-lsp//lib/ruby_lsp/requests/support/common.rb#122 sig { params(node: T.any(::Prism::ClassNode, ::Prism::ModuleNode)).returns(T.nilable(::String)) } def namespace_constant_name(node); end - # source://ruby-lsp/lib/ruby_lsp/requests/support/common.rb#64 + # : (String file_path) -> bool? + # + # source://ruby-lsp//lib/ruby_lsp/requests/support/common.rb#55 sig { params(file_path: ::String).returns(T.nilable(T::Boolean)) } def not_in_dependencies?(file_path); end - # source://ruby-lsp/lib/ruby_lsp/requests/support/common.rb#30 + # : ((Prism::Location | RubyIndexer::Location) location) -> Interface::Range + # + # source://ruby-lsp//lib/ruby_lsp/requests/support/common.rb#29 sig do params( location: T.any(::Prism::Location, ::RubyIndexer::Location) @@ -5382,28 +7317,34 @@ module RubyLsp::Requests::Support::Common end def range_from_location(location); end - # source://ruby-lsp/lib/ruby_lsp/requests/support/common.rb#17 + # : (Prism::Node node) -> Interface::Range + # + # source://ruby-lsp//lib/ruby_lsp/requests/support/common.rb#16 sig { params(node: ::Prism::Node).returns(::LanguageServer::Protocol::Interface::Range) } def range_from_node(node); end - # source://ruby-lsp/lib/ruby_lsp/requests/support/common.rb#71 + # : (Prism::CallNode node) -> bool + # + # source://ruby-lsp//lib/ruby_lsp/requests/support/common.rb#62 sig { params(node: ::Prism::CallNode).returns(T::Boolean) } def self_receiver?(node); end - # source://ruby-lsp/lib/ruby_lsp/requests/support/common.rb#200 + # : (RubyDocument::SorbetLevel sorbet_level) -> bool + # + # source://ruby-lsp//lib/ruby_lsp/requests/support/common.rb#162 sig { params(sorbet_level: ::RubyLsp::RubyDocument::SorbetLevel).returns(T::Boolean) } def sorbet_level_true_or_higher?(sorbet_level); end end # @abstract Subclasses must implement the `abstract` methods below. # -# source://ruby-lsp/lib/ruby_lsp/requests/support/formatter.rb#7 +# source://ruby-lsp//lib/ruby_lsp/requests/support/formatter.rb#7 module RubyLsp::Requests::Support::Formatter interface! # @abstract # - # source://ruby-lsp/lib/ruby_lsp/requests/support/formatter.rb#25 + # source://ruby-lsp//lib/ruby_lsp/requests/support/formatter.rb#25 sig do abstract .params( @@ -5415,13 +7356,13 @@ module RubyLsp::Requests::Support::Formatter # @abstract # - # source://ruby-lsp/lib/ruby_lsp/requests/support/formatter.rb#14 + # source://ruby-lsp//lib/ruby_lsp/requests/support/formatter.rb#14 sig { abstract.params(uri: ::URI::Generic, document: RubyLsp::RubyDocument).returns(T.nilable(::String)) } def run_formatting(uri, document); end # @abstract # - # source://ruby-lsp/lib/ruby_lsp/requests/support/formatter.rb#17 + # source://ruby-lsp//lib/ruby_lsp/requests/support/formatter.rb#17 sig do abstract .params( @@ -5433,91 +7374,119 @@ module RubyLsp::Requests::Support::Formatter def run_range_formatting(uri, source, base_indentation); end end -# source://ruby-lsp/lib/ruby_lsp/requests/support/rubocop_runner.rb#34 +# source://ruby-lsp//lib/ruby_lsp/requests/support/rubocop_runner.rb#34 class RubyLsp::Requests::Support::InternalRuboCopError < ::StandardError - # source://ruby-lsp/lib/ruby_lsp/requests/support/rubocop_runner.rb#44 + # : ((::RuboCop::ErrorWithAnalyzedFileLocation | StandardError) rubocop_error) -> void + # + # source://ruby-lsp//lib/ruby_lsp/requests/support/rubocop_runner.rb#42 sig { params(rubocop_error: T.any(::RuboCop::ErrorWithAnalyzedFileLocation, ::StandardError)).void } def initialize(rubocop_error); end end -# source://ruby-lsp/lib/ruby_lsp/requests/support/rubocop_runner.rb#37 +# source://ruby-lsp//lib/ruby_lsp/requests/support/rubocop_runner.rb#35 RubyLsp::Requests::Support::InternalRuboCopError::MESSAGE = T.let(T.unsafe(nil), String) -# source://ruby-lsp/lib/ruby_lsp/requests/support/rubocop_diagnostic.rb#7 +# source://ruby-lsp//lib/ruby_lsp/requests/support/rubocop_diagnostic.rb#7 class RubyLsp::Requests::Support::RuboCopDiagnostic # TODO: avoid passing document once we have alternative ways to get at # encoding and file source + # : (RubyDocument document, ::RuboCop::Cop::Offense offense, URI::Generic uri) -> void # - # source://ruby-lsp/lib/ruby_lsp/requests/support/rubocop_diagnostic.rb#35 + # source://ruby-lsp//lib/ruby_lsp/requests/support/rubocop_diagnostic.rb#33 sig { params(document: RubyLsp::RubyDocument, offense: ::RuboCop::Cop::Offense, uri: ::URI::Generic).void } def initialize(document, offense, uri); end - # source://ruby-lsp/lib/ruby_lsp/requests/support/rubocop_diagnostic.rb#42 + # : -> Array[Interface::CodeAction] + # + # source://ruby-lsp//lib/ruby_lsp/requests/support/rubocop_diagnostic.rb#40 sig { returns(T::Array[::LanguageServer::Protocol::Interface::CodeAction]) } def to_lsp_code_actions; end - # source://ruby-lsp/lib/ruby_lsp/requests/support/rubocop_diagnostic.rb#52 + # : (::RuboCop::Config config) -> Interface::Diagnostic + # + # source://ruby-lsp//lib/ruby_lsp/requests/support/rubocop_diagnostic.rb#50 sig { params(config: ::RuboCop::Config).returns(::LanguageServer::Protocol::Interface::Diagnostic) } def to_lsp_diagnostic(config); end private - # source://ruby-lsp/lib/ruby_lsp/requests/support/rubocop_diagnostic.rb#107 + # : -> Interface::CodeAction + # + # source://ruby-lsp//lib/ruby_lsp/requests/support/rubocop_diagnostic.rb#105 sig { returns(::LanguageServer::Protocol::Interface::CodeAction) } def autocorrect_action; end - # source://ruby-lsp/lib/ruby_lsp/requests/support/rubocop_diagnostic.rb#94 + # : (::RuboCop::Config config) -> Interface::CodeDescription? + # + # source://ruby-lsp//lib/ruby_lsp/requests/support/rubocop_diagnostic.rb#92 sig { params(config: ::RuboCop::Config).returns(T.nilable(::LanguageServer::Protocol::Interface::CodeDescription)) } def code_description(config); end # When `RuboCop::LSP.enable` is called, contextual autocorrect will not offer itself # as `correctable?` to prevent annoying changes while typing. Instead check if # a corrector is present. If it is, then that means some code transformation can be applied. + # : -> bool # - # source://ruby-lsp/lib/ruby_lsp/requests/support/rubocop_diagnostic.rb#201 + # source://ruby-lsp//lib/ruby_lsp/requests/support/rubocop_diagnostic.rb#199 sig { returns(T::Boolean) } def correctable?; end - # source://ruby-lsp/lib/ruby_lsp/requests/support/rubocop_diagnostic.rb#140 + # : -> Interface::CodeAction + # + # source://ruby-lsp//lib/ruby_lsp/requests/support/rubocop_diagnostic.rb#138 sig { returns(::LanguageServer::Protocol::Interface::CodeAction) } def disable_line_action; end - # source://ruby-lsp/lib/ruby_lsp/requests/support/rubocop_diagnostic.rb#182 + # : (String line) -> Integer + # + # source://ruby-lsp//lib/ruby_lsp/requests/support/rubocop_diagnostic.rb#180 sig { params(line: ::String).returns(::Integer) } def length_of_line(line); end - # source://ruby-lsp/lib/ruby_lsp/requests/support/rubocop_diagnostic.rb#159 + # : -> Array[Interface::TextEdit] + # + # source://ruby-lsp//lib/ruby_lsp/requests/support/rubocop_diagnostic.rb#157 sig { returns(T::Array[::LanguageServer::Protocol::Interface::TextEdit]) } def line_disable_comment; end - # source://ruby-lsp/lib/ruby_lsp/requests/support/rubocop_diagnostic.rb#82 + # : -> String + # + # source://ruby-lsp//lib/ruby_lsp/requests/support/rubocop_diagnostic.rb#80 sig { returns(::String) } def message; end - # source://ruby-lsp/lib/ruby_lsp/requests/support/rubocop_diagnostic.rb#127 + # : -> Array[Interface::TextEdit] + # + # source://ruby-lsp//lib/ruby_lsp/requests/support/rubocop_diagnostic.rb#125 sig { returns(T::Array[::LanguageServer::Protocol::Interface::TextEdit]) } def offense_replacements; end - # source://ruby-lsp/lib/ruby_lsp/requests/support/rubocop_diagnostic.rb#89 + # : -> Integer? + # + # source://ruby-lsp//lib/ruby_lsp/requests/support/rubocop_diagnostic.rb#87 sig { returns(T.nilable(::Integer)) } def severity; end end -# source://ruby-lsp/lib/ruby_lsp/requests/support/rubocop_diagnostic.rb#22 +# source://ruby-lsp//lib/ruby_lsp/requests/support/rubocop_diagnostic.rb#20 RubyLsp::Requests::Support::RuboCopDiagnostic::ENHANCED_DOC_URL = T.let(T.unsafe(nil), TrueClass) -# source://ruby-lsp/lib/ruby_lsp/requests/support/rubocop_diagnostic.rb#10 +# source://ruby-lsp//lib/ruby_lsp/requests/support/rubocop_diagnostic.rb#8 RubyLsp::Requests::Support::RuboCopDiagnostic::RUBOCOP_TO_LSP_SEVERITY = T.let(T.unsafe(nil), Hash) -# source://ruby-lsp/lib/ruby_lsp/requests/support/rubocop_formatter.rb#11 +# source://ruby-lsp//lib/ruby_lsp/requests/support/rubocop_formatter.rb#11 class RubyLsp::Requests::Support::RuboCopFormatter include ::RubyLsp::Requests::Support::Formatter - # source://ruby-lsp/lib/ruby_lsp/requests/support/rubocop_formatter.rb#16 + # : -> void + # + # source://ruby-lsp//lib/ruby_lsp/requests/support/rubocop_formatter.rb#15 sig { void } def initialize; end - # source://ruby-lsp/lib/ruby_lsp/requests/support/rubocop_formatter.rb#43 + # : (URI::Generic uri, RubyDocument document) -> Array[Interface::Diagnostic]? + # + # source://ruby-lsp//lib/ruby_lsp/requests/support/rubocop_formatter.rb#40 sig do override .params( @@ -5527,13 +7496,16 @@ class RubyLsp::Requests::Support::RuboCopFormatter end def run_diagnostic(uri, document); end - # source://ruby-lsp/lib/ruby_lsp/requests/support/rubocop_formatter.rb#23 + # : (URI::Generic uri, RubyDocument document) -> String? + # + # source://ruby-lsp//lib/ruby_lsp/requests/support/rubocop_formatter.rb#23 sig { override.params(uri: ::URI::Generic, document: RubyLsp::RubyDocument).returns(T.nilable(::String)) } def run_formatting(uri, document); end # RuboCop does not support range formatting + # : (URI::Generic uri, String source, Integer base_indentation) -> String? # - # source://ruby-lsp/lib/ruby_lsp/requests/support/rubocop_formatter.rb#33 + # source://ruby-lsp//lib/ruby_lsp/requests/support/rubocop_formatter.rb#34 sig do override .params( @@ -5545,88 +7517,178 @@ class RubyLsp::Requests::Support::RuboCopFormatter def run_range_formatting(uri, source, base_indentation); end end -# source://ruby-lsp/lib/ruby_lsp/requests/support/rubocop_runner.rb#56 +# source://ruby-lsp//lib/ruby_lsp/requests/support/rubocop_runner.rb#54 class RubyLsp::Requests::Support::RuboCopRunner < ::RuboCop::Runner - # source://ruby-lsp/lib/ruby_lsp/requests/support/rubocop_runner.rb#86 + # : (*String args) -> void + # + # source://ruby-lsp//lib/ruby_lsp/requests/support/rubocop_runner.rb#82 sig { params(args: ::String).void } def initialize(*args); end - # source://ruby-lsp/lib/ruby_lsp/requests/support/rubocop_runner.rb#75 + # : ::RuboCop::Config + # + # source://ruby-lsp//lib/ruby_lsp/requests/support/rubocop_runner.rb#71 sig { returns(::RuboCop::Config) } def config_for_working_directory; end - # source://ruby-lsp/lib/ruby_lsp/requests/support/rubocop_runner.rb#125 + # : -> String + # + # source://ruby-lsp//lib/ruby_lsp/requests/support/rubocop_runner.rb#121 sig { returns(::String) } def formatted_source; end - # source://ruby-lsp/lib/ruby_lsp/requests/support/rubocop_runner.rb#72 + # : Array[::RuboCop::Cop::Offense] + # + # source://ruby-lsp//lib/ruby_lsp/requests/support/rubocop_runner.rb#68 sig { returns(T::Array[::RuboCop::Cop::Offense]) } def offenses; end - # source://ruby-lsp/lib/ruby_lsp/requests/support/rubocop_runner.rb#103 + # : (String path, String contents) -> void + # + # source://ruby-lsp//lib/ruby_lsp/requests/support/rubocop_runner.rb#99 sig { params(path: ::String, contents: ::String).void } def run(path, contents); end private - # source://ruby-lsp/lib/ruby_lsp/requests/support/rubocop_runner.rb#151 + # : (String _file, Array[::RuboCop::Cop::Offense] offenses) -> void + # + # source://ruby-lsp//lib/ruby_lsp/requests/support/rubocop_runner.rb#145 sig { params(_file: ::String, offenses: T::Array[::RuboCop::Cop::Offense]).void } def file_finished(_file, offenses); end class << self - # source://ruby-lsp/lib/ruby_lsp/requests/support/rubocop_runner.rb#133 + # : (String cop_name) -> singleton(::RuboCop::Cop::Base)? + # + # source://ruby-lsp//lib/ruby_lsp/requests/support/rubocop_runner.rb#127 sig { params(cop_name: ::String).returns(T.nilable(T.class_of(RuboCop::Cop::Base))) } def find_cop_by_name(cop_name); end private - # source://ruby-lsp/lib/ruby_lsp/requests/support/rubocop_runner.rb#140 + # : -> Hash[String, [singleton(::RuboCop::Cop::Base)]] + # + # source://ruby-lsp//lib/ruby_lsp/requests/support/rubocop_runner.rb#134 sig { returns(T::Hash[::String, [T.class_of(RuboCop::Cop::Base)]]) } def cop_registry; end end end -# source://ruby-lsp/lib/ruby_lsp/requests/support/rubocop_runner.rb#59 +# source://ruby-lsp//lib/ruby_lsp/requests/support/rubocop_runner.rb#55 class RubyLsp::Requests::Support::RuboCopRunner::ConfigurationError < ::StandardError; end -# source://ruby-lsp/lib/ruby_lsp/requests/support/rubocop_runner.rb#61 +# source://ruby-lsp//lib/ruby_lsp/requests/support/rubocop_runner.rb#57 RubyLsp::Requests::Support::RuboCopRunner::DEFAULT_ARGS = T.let(T.unsafe(nil), Array) -# source://ruby-lsp/lib/ruby_lsp/requests/support/selection_range.rb#7 +# source://ruby-lsp//lib/ruby_lsp/requests/support/selection_range.rb#7 class RubyLsp::Requests::Support::SelectionRange < ::LanguageServer::Protocol::Interface::SelectionRange - # source://ruby-lsp/lib/ruby_lsp/requests/support/selection_range.rb#11 + # : (Hash[Symbol, untyped] position) -> bool + # + # source://ruby-lsp//lib/ruby_lsp/requests/support/selection_range.rb#9 sig { params(position: T::Hash[::Symbol, T.untyped]).returns(T::Boolean) } def cover?(position); end end -# source://ruby-lsp/lib/ruby_lsp/requests/support/sorbet.rb#7 +# source://ruby-lsp//lib/ruby_lsp/requests/support/sorbet.rb#7 class RubyLsp::Requests::Support::Sorbet class << self - # source://ruby-lsp/lib/ruby_lsp/requests/support/sorbet.rb#48 + # : (Prism::CallNode node) -> bool + # + # source://ruby-lsp//lib/ruby_lsp/requests/support/sorbet.rb#42 sig { params(node: ::Prism::CallNode).returns(T::Boolean) } def annotation?(node); end end end +# Represents a test item as defined by the VS Code interface to be used in the test explorer +# See https://code.visualstudio.com/api/references/vscode-api#TestItem +# +# Note: this test item object can only represent test groups or examples discovered inside files. It cannot be +# used to represent test files, directories or workspaces +# +# source://ruby-lsp//lib/ruby_lsp/requests/support/test_item.rb#12 +class RubyLsp::Requests::Support::TestItem + # : (String id, String label, URI::Generic uri, Interface::Range range, Array[Symbol] tags) -> void + # + # source://ruby-lsp//lib/ruby_lsp/requests/support/test_item.rb#17 + sig do + params( + id: ::String, + label: ::String, + uri: ::URI::Generic, + range: ::LanguageServer::Protocol::Interface::Range, + tags: T::Array[::Symbol] + ).void + end + def initialize(id, label, uri, range, tags: T.unsafe(nil)); end + + # : (String id) -> TestItem? + # + # source://ruby-lsp//lib/ruby_lsp/requests/support/test_item.rb#32 + sig { params(id: ::String).returns(T.nilable(::RubyLsp::Requests::Support::TestItem)) } + def [](id); end + + # : (TestItem item) -> void + # + # source://ruby-lsp//lib/ruby_lsp/requests/support/test_item.rb#27 + sig { params(item: ::RubyLsp::Requests::Support::TestItem).void } + def add(item); end + + # : -> Array[TestItem] + # + # source://ruby-lsp//lib/ruby_lsp/requests/support/test_item.rb#37 + sig { returns(T::Array[::RubyLsp::Requests::Support::TestItem]) } + def children; end + + # : String + # + # source://ruby-lsp//lib/ruby_lsp/requests/support/test_item.rb#14 + sig { returns(::String) } + def id; end + + # : String + # + # source://ruby-lsp//lib/ruby_lsp/requests/support/test_item.rb#14 + def label; end + + # : (Symbol) -> bool + # + # source://ruby-lsp//lib/ruby_lsp/requests/support/test_item.rb#42 + sig { params(tag: ::Symbol).returns(T::Boolean) } + def tag?(tag); end + + # : -> Hash[Symbol, untyped] + # + # source://ruby-lsp//lib/ruby_lsp/requests/support/test_item.rb#47 + sig { returns(T::Hash[::Symbol, T.untyped]) } + def to_hash; end +end + # The [type hierarchy supertypes # request](https://microsoft.github.io/language-server-protocol/specification#typeHierarchy_supertypes) # displays the list of ancestors (supertypes) for the selected type. # -# source://ruby-lsp/lib/ruby_lsp/requests/type_hierarchy_supertypes.rb#9 +# source://ruby-lsp//lib/ruby_lsp/requests/type_hierarchy_supertypes.rb#9 class RubyLsp::Requests::TypeHierarchySupertypes < ::RubyLsp::Requests::Request include ::RubyLsp::Requests::Support::Common - # source://ruby-lsp/lib/ruby_lsp/requests/type_hierarchy_supertypes.rb#15 + # : (RubyIndexer::Index index, Hash[Symbol, untyped] item) -> void + # + # source://ruby-lsp//lib/ruby_lsp/requests/type_hierarchy_supertypes.rb#13 sig { params(index: ::RubyIndexer::Index, item: T::Hash[::Symbol, T.untyped]).void } def initialize(index, item); end - # source://ruby-lsp/lib/ruby_lsp/requests/type_hierarchy_supertypes.rb#23 + # : -> Array[Interface::TypeHierarchyItem]? + # + # source://ruby-lsp//lib/ruby_lsp/requests/type_hierarchy_supertypes.rb#22 sig { override.returns(T.nilable(T::Array[::LanguageServer::Protocol::Interface::TypeHierarchyItem])) } def perform; end private - # source://ruby-lsp/lib/ruby_lsp/requests/type_hierarchy_supertypes.rb#64 + # : (RubyIndexer::Entry entry) -> Interface::TypeHierarchyItem + # + # source://ruby-lsp//lib/ruby_lsp/requests/type_hierarchy_supertypes.rb#63 sig { params(entry: ::RubyIndexer::Entry).returns(::LanguageServer::Protocol::Interface::TypeHierarchyItem) } def hierarchy_item(entry); end end @@ -5635,130 +7697,163 @@ end # request allows fuzzy searching declarations in the entire project. On VS Code, use CTRL/CMD + T to search for # symbols. # -# source://ruby-lsp/lib/ruby_lsp/requests/workspace_symbol.rb#9 +# source://ruby-lsp//lib/ruby_lsp/requests/workspace_symbol.rb#9 class RubyLsp::Requests::WorkspaceSymbol < ::RubyLsp::Requests::Request include ::RubyLsp::Requests::Support::Common - # source://ruby-lsp/lib/ruby_lsp/requests/workspace_symbol.rb#14 + # : (GlobalState global_state, String? query) -> void + # + # source://ruby-lsp//lib/ruby_lsp/requests/workspace_symbol.rb#13 sig { params(global_state: ::RubyLsp::GlobalState, query: T.nilable(::String)).void } def initialize(global_state, query); end - # source://ruby-lsp/lib/ruby_lsp/requests/workspace_symbol.rb#22 + # : -> Array[Interface::WorkspaceSymbol] + # + # source://ruby-lsp//lib/ruby_lsp/requests/workspace_symbol.rb#22 sig { override.returns(T::Array[::LanguageServer::Protocol::Interface::WorkspaceSymbol]) } def perform; end end -# source://ruby-lsp/lib/ruby_lsp/response_builders/response_builder.rb#5 +# source://ruby-lsp//lib/ruby_lsp/response_builders/response_builder.rb#5 module RubyLsp::ResponseBuilders; end -# source://ruby-lsp/lib/ruby_lsp/response_builders/collection_response_builder.rb#6 +# source://ruby-lsp//lib/ruby_lsp/response_builders/collection_response_builder.rb#6 class RubyLsp::ResponseBuilders::CollectionResponseBuilder < ::RubyLsp::ResponseBuilders::ResponseBuilder extend T::Generic ResponseType = type_member { { upper: Object } } - # source://ruby-lsp/lib/ruby_lsp/response_builders/collection_response_builder.rb#13 + # : -> void + # + # source://ruby-lsp//lib/ruby_lsp/response_builders/collection_response_builder.rb#12 sig { void } def initialize; end - # source://ruby-lsp/lib/ruby_lsp/response_builders/collection_response_builder.rb#19 + # : (ResponseType item) -> void + # + # source://ruby-lsp//lib/ruby_lsp/response_builders/collection_response_builder.rb#18 sig { params(item: ResponseType).void } def <<(item); end - # source://ruby-lsp/lib/ruby_lsp/response_builders/collection_response_builder.rb#24 + # : -> Array[ResponseType] + # + # source://ruby-lsp//lib/ruby_lsp/response_builders/collection_response_builder.rb#24 sig { override.returns(T::Array[ResponseType]) } def response; end end -# source://ruby-lsp/lib/ruby_lsp/response_builders/document_symbol.rb#6 +# source://ruby-lsp//lib/ruby_lsp/response_builders/document_symbol.rb#6 class RubyLsp::ResponseBuilders::DocumentSymbol < ::RubyLsp::ResponseBuilders::ResponseBuilder extend T::Generic ResponseType = type_member { { fixed: T::Array[::LanguageServer::Protocol::Interface::DocumentSymbol] } } - # source://ruby-lsp/lib/ruby_lsp/response_builders/document_symbol.rb#24 + # : -> void + # + # source://ruby-lsp//lib/ruby_lsp/response_builders/document_symbol.rb#20 sig { void } def initialize; end - # @param symbol [Interface::DocumentSymbol] - # @return [void] + # : (Interface::DocumentSymbol symbol) -> void # - # source://sorbet-runtime/0.5.11761lib/types/private/methods/_methods.rb#257 + # source://sorbet-runtime/0.5.11915/lib/types/private/methods/_methods.rb#257 def <<(*args, **_arg1, &blk); end - # source://ruby-lsp/lib/ruby_lsp/response_builders/document_symbol.rb#47 + # : -> (SymbolHierarchyRoot | Interface::DocumentSymbol) + # + # source://ruby-lsp//lib/ruby_lsp/response_builders/document_symbol.rb#43 sig do returns(T.any(::LanguageServer::Protocol::Interface::DocumentSymbol, ::RubyLsp::ResponseBuilders::DocumentSymbol::SymbolHierarchyRoot)) end def last; end - # source://ruby-lsp/lib/ruby_lsp/response_builders/document_symbol.rb#40 + # : -> Interface::DocumentSymbol? + # + # source://ruby-lsp//lib/ruby_lsp/response_builders/document_symbol.rb#36 sig { returns(T.nilable(::LanguageServer::Protocol::Interface::DocumentSymbol)) } def pop; end - # source://ruby-lsp/lib/ruby_lsp/response_builders/document_symbol.rb#33 + # : (Interface::DocumentSymbol symbol) -> void + # + # source://ruby-lsp//lib/ruby_lsp/response_builders/document_symbol.rb#29 sig { params(symbol: ::LanguageServer::Protocol::Interface::DocumentSymbol).void } def push(symbol); end - # source://ruby-lsp/lib/ruby_lsp/response_builders/document_symbol.rb#52 + # : -> Array[Interface::DocumentSymbol] + # + # source://ruby-lsp//lib/ruby_lsp/response_builders/document_symbol.rb#49 sig { override.returns(T::Array[::LanguageServer::Protocol::Interface::DocumentSymbol]) } def response; end end -# source://ruby-lsp/lib/ruby_lsp/response_builders/document_symbol.rb#11 +# source://ruby-lsp//lib/ruby_lsp/response_builders/document_symbol.rb#9 class RubyLsp::ResponseBuilders::DocumentSymbol::SymbolHierarchyRoot - # source://ruby-lsp/lib/ruby_lsp/response_builders/document_symbol.rb#18 + # : -> void + # + # source://ruby-lsp//lib/ruby_lsp/response_builders/document_symbol.rb#14 sig { void } def initialize; end - # source://ruby-lsp/lib/ruby_lsp/response_builders/document_symbol.rb#15 + # : Array[Interface::DocumentSymbol] + # + # source://ruby-lsp//lib/ruby_lsp/response_builders/document_symbol.rb#11 sig { returns(T::Array[::LanguageServer::Protocol::Interface::DocumentSymbol]) } def children; end end -# source://ruby-lsp/lib/ruby_lsp/response_builders/hover.rb#6 +# source://ruby-lsp//lib/ruby_lsp/response_builders/hover.rb#6 class RubyLsp::ResponseBuilders::Hover < ::RubyLsp::ResponseBuilders::ResponseBuilder extend T::Generic ResponseType = type_member { { fixed: String } } - # source://ruby-lsp/lib/ruby_lsp/response_builders/hover.rb#13 + # : -> void + # + # source://ruby-lsp//lib/ruby_lsp/response_builders/hover.rb#12 sig { void } def initialize; end - # source://ruby-lsp/lib/ruby_lsp/response_builders/hover.rb#35 + # : -> bool + # + # source://ruby-lsp//lib/ruby_lsp/response_builders/hover.rb#34 sig { returns(T::Boolean) } def empty?; end - # source://ruby-lsp/lib/ruby_lsp/response_builders/hover.rb#27 + # : (String content, category: Symbol) -> void + # + # source://ruby-lsp//lib/ruby_lsp/response_builders/hover.rb#26 sig { params(content: ::String, category: ::Symbol).void } def push(content, category:); end - # source://ruby-lsp/lib/ruby_lsp/response_builders/hover.rb#40 + # : -> ResponseType + # + # source://ruby-lsp//lib/ruby_lsp/response_builders/hover.rb#40 sig { override.returns(ResponseType) } def response; end end # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below. # -# source://ruby-lsp/lib/ruby_lsp/response_builders/response_builder.rb#6 +# source://ruby-lsp//lib/ruby_lsp/response_builders/response_builder.rb#6 class RubyLsp::ResponseBuilders::ResponseBuilder abstract! # @abstract # - # source://ruby-lsp/lib/ruby_lsp/response_builders/response_builder.rb#13 + # source://ruby-lsp//lib/ruby_lsp/response_builders/response_builder.rb#13 sig { abstract.returns(T.anything) } def response; end end -# source://ruby-lsp/lib/ruby_lsp/response_builders/semantic_highlighting.rb#6 +# source://ruby-lsp//lib/ruby_lsp/response_builders/semantic_highlighting.rb#6 class RubyLsp::ResponseBuilders::SemanticHighlighting < ::RubyLsp::ResponseBuilders::ResponseBuilder extend T::Generic ResponseType = type_member { { fixed: LanguageServer::Protocol::Interface::SemanticTokens } } - # source://ruby-lsp/lib/ruby_lsp/response_builders/semantic_highlighting.rb#64 + # : ((^(Integer arg0) -> Integer | Prism::CodeUnitsCache) code_units_cache) -> void + # + # source://ruby-lsp//lib/ruby_lsp/response_builders/semantic_highlighting.rb#57 sig do params( code_units_cache: T.any(::Prism::CodeUnitsCache, T.proc.params(arg0: ::Integer).returns(::Integer)) @@ -5766,26 +7861,36 @@ class RubyLsp::ResponseBuilders::SemanticHighlighting < ::RubyLsp::ResponseBuild end def initialize(code_units_cache); end - # source://ruby-lsp/lib/ruby_lsp/response_builders/semantic_highlighting.rb#71 + # : (Prism::Location location, Symbol type, ?Array[Symbol] modifiers) -> void + # + # source://ruby-lsp//lib/ruby_lsp/response_builders/semantic_highlighting.rb#64 sig { params(location: ::Prism::Location, type: ::Symbol, modifiers: T::Array[::Symbol]).void } def add_token(location, type, modifiers = T.unsafe(nil)); end - # source://ruby-lsp/lib/ruby_lsp/response_builders/semantic_highlighting.rb#96 + # : -> SemanticToken? + # + # source://ruby-lsp//lib/ruby_lsp/response_builders/semantic_highlighting.rb#89 sig { returns(T.nilable(::RubyLsp::ResponseBuilders::SemanticHighlighting::SemanticToken)) } def last; end - # source://ruby-lsp/lib/ruby_lsp/response_builders/semantic_highlighting.rb#87 + # : (Prism::Location location) -> bool + # + # source://ruby-lsp//lib/ruby_lsp/response_builders/semantic_highlighting.rb#80 sig { params(location: ::Prism::Location).returns(T::Boolean) } def last_token_matches?(location); end - # source://ruby-lsp/lib/ruby_lsp/response_builders/semantic_highlighting.rb#101 + # : -> Array[SemanticToken] + # + # source://ruby-lsp//lib/ruby_lsp/response_builders/semantic_highlighting.rb#95 sig { override.returns(T::Array[::RubyLsp::ResponseBuilders::SemanticHighlighting::SemanticToken]) } def response; end end -# source://ruby-lsp/lib/ruby_lsp/response_builders/semantic_highlighting.rb#105 +# source://ruby-lsp//lib/ruby_lsp/response_builders/semantic_highlighting.rb#99 class RubyLsp::ResponseBuilders::SemanticHighlighting::SemanticToken - # source://ruby-lsp/lib/ruby_lsp/response_builders/semantic_highlighting.rb#132 + # : (start_line: Integer, start_code_unit_column: Integer, length: Integer, type: Integer, modifier: Array[Integer]) -> void + # + # source://ruby-lsp//lib/ruby_lsp/response_builders/semantic_highlighting.rb#116 sig do params( start_line: ::Integer, @@ -5797,51 +7902,70 @@ class RubyLsp::ResponseBuilders::SemanticHighlighting::SemanticToken end def initialize(start_line:, start_code_unit_column:, length:, type:, modifier:); end - # source://ruby-lsp/lib/ruby_lsp/response_builders/semantic_highlighting.rb#115 + # : Integer + # + # source://ruby-lsp//lib/ruby_lsp/response_builders/semantic_highlighting.rb#107 sig { returns(::Integer) } def length; end - # source://ruby-lsp/lib/ruby_lsp/response_builders/semantic_highlighting.rb#121 + # : Array[Integer] + # + # source://ruby-lsp//lib/ruby_lsp/response_builders/semantic_highlighting.rb#113 sig { returns(T::Array[::Integer]) } def modifier; end - # source://ruby-lsp/lib/ruby_lsp/response_builders/semantic_highlighting.rb#149 + # : (Array[Symbol] modifier_symbols) -> void + # + # source://ruby-lsp//lib/ruby_lsp/response_builders/semantic_highlighting.rb#133 sig { params(modifier_symbols: T::Array[::Symbol]).void } def replace_modifier(modifier_symbols); end + # : (Symbol type_symbol) -> void + # # @raise [UndefinedTokenType] # - # source://ruby-lsp/lib/ruby_lsp/response_builders/semantic_highlighting.rb#141 + # source://ruby-lsp//lib/ruby_lsp/response_builders/semantic_highlighting.rb#125 sig { params(type_symbol: ::Symbol).void } def replace_type(type_symbol); end - # source://ruby-lsp/lib/ruby_lsp/response_builders/semantic_highlighting.rb#112 + # : Integer + # + # source://ruby-lsp//lib/ruby_lsp/response_builders/semantic_highlighting.rb#104 sig { returns(::Integer) } def start_code_unit_column; end - # source://ruby-lsp/lib/ruby_lsp/response_builders/semantic_highlighting.rb#109 + # : Integer + # + # source://ruby-lsp//lib/ruby_lsp/response_builders/semantic_highlighting.rb#101 sig { returns(::Integer) } def start_line; end - # source://ruby-lsp/lib/ruby_lsp/response_builders/semantic_highlighting.rb#118 + # : Integer + # + # source://ruby-lsp//lib/ruby_lsp/response_builders/semantic_highlighting.rb#110 sig { returns(::Integer) } def type; end end -# source://ruby-lsp/lib/ruby_lsp/response_builders/semantic_highlighting.rb#159 +# source://ruby-lsp//lib/ruby_lsp/response_builders/semantic_highlighting.rb#143 class RubyLsp::ResponseBuilders::SemanticHighlighting::SemanticTokenEncoder - # source://ruby-lsp/lib/ruby_lsp/response_builders/semantic_highlighting.rb#163 + # : -> void + # + # source://ruby-lsp//lib/ruby_lsp/response_builders/semantic_highlighting.rb#145 sig { void } def initialize; end # For more information on how each number is calculated, read: # https://microsoft.github.io/language-server-protocol/specifications/specification-current/#textDocument_semanticTokens + # : (SemanticToken token) -> Array[Integer] # - # source://ruby-lsp/lib/ruby_lsp/response_builders/semantic_highlighting.rb#198 + # source://ruby-lsp//lib/ruby_lsp/response_builders/semantic_highlighting.rb#176 sig { params(token: ::RubyLsp::ResponseBuilders::SemanticHighlighting::SemanticToken).returns(T::Array[::Integer]) } def compute_delta(token); end - # source://ruby-lsp/lib/ruby_lsp/response_builders/semantic_highlighting.rb#173 + # : (Array[SemanticToken] tokens) -> Array[Integer] + # + # source://ruby-lsp//lib/ruby_lsp/response_builders/semantic_highlighting.rb#151 sig do params( tokens: T::Array[::RubyLsp::ResponseBuilders::SemanticHighlighting::SemanticToken] @@ -5853,84 +7977,134 @@ class RubyLsp::ResponseBuilders::SemanticHighlighting::SemanticTokenEncoder # For example, [:default_library] will be encoded as # 0b1000000000, as :default_library is the 10th bit according # to the token modifiers index map. + # : (Array[Integer] modifiers) -> Integer # - # source://ruby-lsp/lib/ruby_lsp/response_builders/semantic_highlighting.rb#220 + # source://ruby-lsp//lib/ruby_lsp/response_builders/semantic_highlighting.rb#198 sig { params(modifiers: T::Array[::Integer]).returns(::Integer) } def encode_modifiers(modifiers); end end -# source://ruby-lsp/lib/ruby_lsp/response_builders/semantic_highlighting.rb#40 +# source://ruby-lsp//lib/ruby_lsp/response_builders/semantic_highlighting.rb#38 RubyLsp::ResponseBuilders::SemanticHighlighting::TOKEN_MODIFIERS = T.let(T.unsafe(nil), Hash) -# source://ruby-lsp/lib/ruby_lsp/response_builders/semantic_highlighting.rb#11 +# source://ruby-lsp//lib/ruby_lsp/response_builders/semantic_highlighting.rb#9 RubyLsp::ResponseBuilders::SemanticHighlighting::TOKEN_TYPES = T.let(T.unsafe(nil), Hash) -# source://ruby-lsp/lib/ruby_lsp/response_builders/semantic_highlighting.rb#7 +# source://ruby-lsp//lib/ruby_lsp/response_builders/semantic_highlighting.rb#7 class RubyLsp::ResponseBuilders::SemanticHighlighting::UndefinedTokenType < ::StandardError; end -# source://ruby-lsp/lib/ruby_lsp/response_builders/signature_help.rb#6 +# source://ruby-lsp//lib/ruby_lsp/response_builders/signature_help.rb#6 class RubyLsp::ResponseBuilders::SignatureHelp < ::RubyLsp::ResponseBuilders::ResponseBuilder extend T::Generic ResponseType = type_member { { fixed: T.nilable(::LanguageServer::Protocol::Interface::SignatureHelp) } } - # source://ruby-lsp/lib/ruby_lsp/response_builders/signature_help.rb#12 + # : -> void + # + # source://ruby-lsp//lib/ruby_lsp/response_builders/signature_help.rb#10 sig { void } def initialize; end - # source://ruby-lsp/lib/ruby_lsp/response_builders/signature_help.rb#18 + # : (ResponseType signature_help) -> void + # + # source://ruby-lsp//lib/ruby_lsp/response_builders/signature_help.rb#16 sig { params(signature_help: ResponseType).void } def replace(signature_help); end - # source://ruby-lsp/lib/ruby_lsp/response_builders/signature_help.rb#23 + # : -> ResponseType + # + # source://ruby-lsp//lib/ruby_lsp/response_builders/signature_help.rb#22 sig { override.returns(ResponseType) } def response; end end +# source://ruby-lsp//lib/ruby_lsp/response_builders/test_collection.rb#6 +class RubyLsp::ResponseBuilders::TestCollection < ::RubyLsp::ResponseBuilders::ResponseBuilder + extend T::Generic + + ResponseType = type_member { { fixed: RubyLsp::Requests::Support::TestItem } } + + # : -> void + # + # source://ruby-lsp//lib/ruby_lsp/response_builders/test_collection.rb#12 + sig { void } + def initialize; end + + # : (String id) -> ResponseType? + # + # source://ruby-lsp//lib/ruby_lsp/response_builders/test_collection.rb#23 + sig { params(id: ::String).returns(T.nilable(ResponseType)) } + def [](id); end + + # : (ResponseType item) -> void + # + # source://ruby-lsp//lib/ruby_lsp/response_builders/test_collection.rb#18 + sig { params(item: ResponseType).void } + def add(item); end + + # : -> Array[ResponseType] + # + # source://ruby-lsp//lib/ruby_lsp/response_builders/test_collection.rb#29 + sig { override.returns(T::Array[ResponseType]) } + def response; end +end + # The final result of running a request before its IO is finalized # -# source://ruby-lsp/lib/ruby_lsp/utils.rb#248 +# source://ruby-lsp//lib/ruby_lsp/utils.rb#224 class RubyLsp::Result - # source://ruby-lsp/lib/ruby_lsp/utils.rb#258 + # : (id: Integer, response: untyped) -> void + # + # source://ruby-lsp//lib/ruby_lsp/utils.rb#232 sig { params(id: ::Integer, response: T.untyped).void } def initialize(id:, response:); end - # source://ruby-lsp/lib/ruby_lsp/utils.rb#255 + # : Integer + # + # source://ruby-lsp//lib/ruby_lsp/utils.rb#229 sig { returns(::Integer) } def id; end - # source://ruby-lsp/lib/ruby_lsp/utils.rb#252 + # : untyped + # + # source://ruby-lsp//lib/ruby_lsp/utils.rb#226 sig { returns(T.untyped) } def response; end - # source://ruby-lsp/lib/ruby_lsp/utils.rb#264 + # : -> Hash[Symbol, untyped] + # + # source://ruby-lsp//lib/ruby_lsp/utils.rb#238 sig { returns(T::Hash[::Symbol, T.untyped]) } def to_hash; end end -# source://ruby-lsp/lib/ruby_lsp/ruby_document.rb#5 +# source://ruby-lsp//lib/ruby_lsp/ruby_document.rb#5 class RubyLsp::RubyDocument < ::RubyLsp::Document extend T::Generic ParseResultType = type_member { { fixed: Prism::ParseResult } } - # source://ruby-lsp/lib/ruby_lsp/ruby_document.rb#162 + # : (source: String, version: Integer, uri: URI::Generic, global_state: GlobalState) -> void + # + # source://ruby-lsp//lib/ruby_lsp/ruby_document.rb#144 sig { params(source: ::String, version: ::Integer, uri: ::URI::Generic, global_state: ::RubyLsp::GlobalState).void } def initialize(source:, version:, uri:, global_state:); end - # source://ruby-lsp/lib/ruby_lsp/ruby_document.rb#159 + # : (^(Integer arg0) -> Integer | Prism::CodeUnitsCache) + # + # source://ruby-lsp//lib/ruby_lsp/ruby_document.rb#141 sig { returns(T.any(::Prism::CodeUnitsCache, T.proc.params(arg0: ::Integer).returns(::Integer))) } def code_units_cache; end - # source://ruby-lsp/lib/ruby_lsp/ruby_document.rb#186 + # : -> LanguageId + # + # source://ruby-lsp//lib/ruby_lsp/ruby_document.rb#171 sig { override.returns(::RubyLsp::Document::LanguageId) } def language_id; end - # source://ruby-lsp/lib/ruby_lsp/ruby_document.rb#261 - sig { returns(T::Boolean) } - def last_edit_may_change_declarations?; end - - # source://ruby-lsp/lib/ruby_lsp/ruby_document.rb#216 + # : (Hash[Symbol, untyped] range, ?node_types: Array[singleton(Prism::Node)]) -> Prism::Node? + # + # source://ruby-lsp//lib/ruby_lsp/ruby_document.rb#196 sig do params( range: T::Hash[::Symbol, T.untyped], @@ -5939,7 +8113,9 @@ class RubyLsp::RubyDocument < ::RubyLsp::Document end def locate_first_within_range(range, node_types: T.unsafe(nil)); end - # source://ruby-lsp/lib/ruby_lsp/ruby_document.rb#249 + # : (Hash[Symbol, untyped] position, ?node_types: Array[singleton(Prism::Node)]) -> NodeContext + # + # source://ruby-lsp//lib/ruby_lsp/ruby_document.rb#224 sig do params( position: T::Hash[::Symbol, T.untyped], @@ -5948,26 +8124,48 @@ class RubyLsp::RubyDocument < ::RubyLsp::Document end def locate_node(position, node_types: T.unsafe(nil)); end - # source://ruby-lsp/lib/ruby_lsp/ruby_document.rb#171 + # : -> bool + # + # source://ruby-lsp//lib/ruby_lsp/ruby_document.rb#154 sig { override.returns(T::Boolean) } def parse!; end - # source://ruby-lsp/lib/ruby_lsp/ruby_document.rb#191 + # : -> bool + # + # source://ruby-lsp//lib/ruby_lsp/ruby_document.rb#236 + sig { returns(T::Boolean) } + def should_index?; end + + # : -> SorbetLevel + # + # source://ruby-lsp//lib/ruby_lsp/ruby_document.rb#176 sig { returns(::RubyLsp::RubyDocument::SorbetLevel) } def sorbet_level; end - # source://ruby-lsp/lib/ruby_lsp/ruby_document.rb#181 + # : -> bool + # + # source://ruby-lsp//lib/ruby_lsp/ruby_document.rb#165 sig { override.returns(T::Boolean) } def syntax_error?; end private - # source://ruby-lsp/lib/ruby_lsp/ruby_document.rb#281 + # : -> bool + # + # source://ruby-lsp//lib/ruby_lsp/ruby_document.rb#247 + sig { returns(T::Boolean) } + def last_edit_may_change_declarations?; end + + # : (Hash[Symbol, Integer] position) -> bool + # + # source://ruby-lsp//lib/ruby_lsp/ruby_document.rb#261 sig { params(position: T::Hash[::Symbol, ::Integer]).returns(T::Boolean) } def position_may_impact_declarations?(position); end class << self - # source://ruby-lsp/lib/ruby_lsp/ruby_document.rb#51 + # : (Prism::Node node, Integer char_position, code_units_cache: (^(Integer arg0) -> Integer | Prism::CodeUnitsCache), ?node_types: Array[singleton(Prism::Node)]) -> NodeContext + # + # source://ruby-lsp//lib/ruby_lsp/ruby_document.rb#38 sig do params( node: ::Prism::Node, @@ -5980,10 +8178,10 @@ class RubyLsp::RubyDocument < ::RubyLsp::Document end end -# source://ruby-lsp/lib/ruby_lsp/ruby_document.rb#11 +# source://ruby-lsp//lib/ruby_lsp/ruby_document.rb#10 RubyLsp::RubyDocument::METHODS_THAT_CHANGE_DECLARATIONS = T.let(T.unsafe(nil), Array) -# source://ruby-lsp/lib/ruby_lsp/ruby_document.rb#27 +# source://ruby-lsp//lib/ruby_lsp/ruby_document.rb#26 class RubyLsp::RubyDocument::SorbetLevel < ::T::Enum enums do False = new @@ -5996,273 +8194,414 @@ end # The path to the `static_docs` directory, where we keep long-form static documentation # -# source://ruby-lsp/lib/ruby_lsp/static_docs.rb#6 +# source://ruby-lsp//lib/ruby_lsp/static_docs.rb#6 RubyLsp::STATIC_DOCS_PATH = T.let(T.unsafe(nil), String) -# source://ruby-lsp/lib/ruby_lsp/scope.rb#5 +# source://ruby-lsp//lib/ruby_lsp/scope.rb#5 class RubyLsp::Scope - # source://ruby-lsp/lib/ruby_lsp/scope.rb#12 + # : (?Scope? parent) -> void + # + # source://ruby-lsp//lib/ruby_lsp/scope.rb#10 sig { params(parent: T.nilable(::RubyLsp::Scope)).void } def initialize(parent = T.unsafe(nil)); end # Add a new local to this scope. The types should only be `:parameter` or `:variable` + # : ((String | Symbol) name, Symbol type) -> void # - # source://ruby-lsp/lib/ruby_lsp/scope.rb#21 + # source://ruby-lsp//lib/ruby_lsp/scope.rb#19 sig { params(name: T.any(::String, ::Symbol), type: ::Symbol).void } def add(name, type); end - # source://ruby-lsp/lib/ruby_lsp/scope.rb#26 + # : ((String | Symbol) name) -> Local? + # + # source://ruby-lsp//lib/ruby_lsp/scope.rb#24 sig { params(name: T.any(::String, ::Symbol)).returns(T.nilable(::RubyLsp::Scope::Local)) } def lookup(name); end - # source://ruby-lsp/lib/ruby_lsp/scope.rb#9 + # : Scope? + # + # source://ruby-lsp//lib/ruby_lsp/scope.rb#7 sig { returns(T.nilable(::RubyLsp::Scope)) } def parent; end end -# source://ruby-lsp/lib/ruby_lsp/scope.rb#35 +# source://ruby-lsp//lib/ruby_lsp/scope.rb#33 class RubyLsp::Scope::Local - # source://ruby-lsp/lib/ruby_lsp/scope.rb#42 + # : (Symbol type) -> void + # + # source://ruby-lsp//lib/ruby_lsp/scope.rb#38 sig { params(type: ::Symbol).void } def initialize(type); end - # source://ruby-lsp/lib/ruby_lsp/scope.rb#39 + # : Symbol + # + # source://ruby-lsp//lib/ruby_lsp/scope.rb#35 sig { returns(::Symbol) } def type; end end -# source://ruby-lsp/lib/ruby_lsp/server.rb#5 +# source://ruby-lsp//lib/ruby_lsp/server.rb#5 class RubyLsp::Server < ::RubyLsp::BaseServer # Only for testing + # : GlobalState # - # source://ruby-lsp/lib/ruby_lsp/server.rb#10 + # source://ruby-lsp//lib/ruby_lsp/server.rb#8 sig { returns(::RubyLsp::GlobalState) } def global_state; end - # source://ruby-lsp/lib/ruby_lsp/server.rb#167 + # : (?include_project_addons: bool) -> void + # + # source://ruby-lsp//lib/ruby_lsp/server.rb#176 sig { params(include_project_addons: T::Boolean).void } def load_addons(include_project_addons: T.unsafe(nil)); end - # source://ruby-lsp/lib/ruby_lsp/server.rb#13 + # : (Hash[Symbol, untyped] message) -> void + # + # source://ruby-lsp//lib/ruby_lsp/server.rb#12 sig { override.params(message: T::Hash[::Symbol, T.untyped]).void } def process_message(message); end # Process responses to requests that were sent to the client + # : (Hash[Symbol, untyped] message) -> void # - # source://ruby-lsp/lib/ruby_lsp/server.rb#159 + # source://ruby-lsp//lib/ruby_lsp/server.rb#168 sig { params(message: T::Hash[::Symbol, T.untyped]).void } def process_response(message); end private - # source://ruby-lsp/lib/ruby_lsp/server.rb#1186 + # : (String id, String title, ?percentage: Integer) -> void + # + # source://ruby-lsp//lib/ruby_lsp/server.rb#1268 sig { params(id: ::String, title: ::String, percentage: ::Integer).void } def begin_progress(id, title, percentage: T.unsafe(nil)); end - # source://ruby-lsp/lib/ruby_lsp/server.rb#1216 + # : -> void + # + # source://ruby-lsp//lib/ruby_lsp/server.rb#1298 sig { void } def check_formatter_is_available; end - # source://ruby-lsp/lib/ruby_lsp/server.rb#837 + # : (Hash[Symbol, untyped] message) -> void + # + # source://ruby-lsp//lib/ruby_lsp/server.rb#857 sig { params(message: T::Hash[::Symbol, T.untyped]).void } def code_action_resolve(message); end - # source://ruby-lsp/lib/ruby_lsp/server.rb#1206 + # NOTE: all servers methods are void because they can produce several messages for the client. The only reason this + # method returns the created thread is to that we can join it in tests and avoid flakiness. The implementation is + # not supposed to rely on the return of this method + # : (Hash[Symbol, untyped] message) -> Thread? + # + # source://ruby-lsp//lib/ruby_lsp/server.rb#1372 + sig { params(message: T::Hash[::Symbol, T.untyped]).returns(T.nilable(::Thread)) } + def compose_bundle(message); end + + # Returns internal state information for debugging purposes + # : (Hash[Symbol, untyped] message) -> void + # + # source://ruby-lsp//lib/ruby_lsp/server.rb#1419 + sig { params(message: T::Hash[::Symbol, T.untyped]).void } + def diagnose_state(message); end + + # Discovers all available test groups and examples in a given file taking into consideration the merged response of + # all add-ons + # : (Hash[Symbol, untyped] message) -> void + # + # source://ruby-lsp//lib/ruby_lsp/server.rb#1439 + sig { params(message: T::Hash[::Symbol, T.untyped]).void } + def discover_tests(message); end + + # : (String id) -> void + # + # source://ruby-lsp//lib/ruby_lsp/server.rb#1288 sig { params(id: ::String).void } def end_progress(id); end - # source://ruby-lsp/lib/ruby_lsp/server.rb#1039 + # : (Hash[Symbol, untyped] message) -> void + # + # source://ruby-lsp//lib/ruby_lsp/server.rb#1148 + sig { params(message: T::Hash[::Symbol, T.untyped]).void } + def experimental_go_to_relevant_file(message); end + + # : (URI::Generic uri) -> void + # + # source://ruby-lsp//lib/ruby_lsp/server.rb#1096 sig { params(uri: ::URI::Generic).void } def handle_rubocop_config_change(uri); end - # source://ruby-lsp/lib/ruby_lsp/server.rb#1022 + # : (RubyIndexer::Index index, String file_path, Integer change_type) -> void + # + # source://ruby-lsp//lib/ruby_lsp/server.rb#1069 sig { params(index: ::RubyIndexer::Index, file_path: ::String, change_type: ::Integer).void } def handle_ruby_file_change(index, file_path, change_type); end - # source://ruby-lsp/lib/ruby_lsp/server.rb#1154 + # : -> void + # + # source://ruby-lsp//lib/ruby_lsp/server.rb#1236 sig { void } def perform_initial_indexing; end - # source://ruby-lsp/lib/ruby_lsp/server.rb#1234 + # : (Hash[Symbol, untyped]? indexing_options) -> void + # + # source://ruby-lsp//lib/ruby_lsp/server.rb#1316 sig { params(indexing_options: T.nilable(T::Hash[::Symbol, T.untyped])).void } def process_indexing_configuration(indexing_options); end - # source://ruby-lsp/lib/ruby_lsp/server.rb#1199 + # : (String id, Integer percentage) -> void + # + # source://ruby-lsp//lib/ruby_lsp/server.rb#1281 sig { params(id: ::String, percentage: ::Integer).void } def progress(id, percentage); end - # source://ruby-lsp/lib/ruby_lsp/server.rb#447 + # : (Hash[Symbol, untyped] message) -> void + # + # source://ruby-lsp//lib/ruby_lsp/server.rb#1460 + sig { params(message: T::Hash[::Symbol, T.untyped]).void } + def resolve_test_commands(message); end + + # : (Hash[Symbol, untyped] message) -> void + # + # source://ruby-lsp//lib/ruby_lsp/server.rb#467 sig { params(message: T::Hash[::Symbol, T.untyped]).void } def run_combined_requests(message); end - # source://ruby-lsp/lib/ruby_lsp/server.rb#207 + # : (Hash[Symbol, untyped] message) -> void + # + # source://ruby-lsp//lib/ruby_lsp/server.rb#216 sig { params(message: T::Hash[::Symbol, T.untyped]).void } def run_initialize(message); end - # source://ruby-lsp/lib/ruby_lsp/server.rb#334 + # : -> void + # + # source://ruby-lsp//lib/ruby_lsp/server.rb#354 sig { void } def run_initialized; end - # source://ruby-lsp/lib/ruby_lsp/server.rb#1149 + # : -> void + # + # source://ruby-lsp//lib/ruby_lsp/server.rb#1231 sig { override.void } def shutdown; end - # source://ruby-lsp/lib/ruby_lsp/server.rb#773 + # : (Document[untyped] document) -> RubyDocument::SorbetLevel + # + # source://ruby-lsp//lib/ruby_lsp/server.rb#793 sig { params(document: RubyLsp::Document[T.untyped]).returns(::RubyLsp::RubyDocument::SorbetLevel) } def sorbet_level(document); end - # source://ruby-lsp/lib/ruby_lsp/server.rb#815 + # : (Hash[Symbol, untyped] message) -> void + # + # source://ruby-lsp//lib/ruby_lsp/server.rb#835 sig { params(message: T::Hash[::Symbol, T.untyped]).void } def text_document_code_action(message); end - # @param message [Hash{Symbol => T.untyped}] - # @return [void] + # : (Hash[Symbol, untyped] message) -> void # - # source://sorbet-runtime/0.5.11761lib/types/private/methods/_methods.rb#257 + # source://sorbet-runtime/0.5.11915/lib/types/private/methods/_methods.rb#257 def text_document_code_lens(*args, **_arg1, &blk); end - # source://ruby-lsp/lib/ruby_lsp/server.rb#902 + # : (Hash[Symbol, untyped] message) -> void + # + # source://ruby-lsp//lib/ruby_lsp/server.rb#922 sig { params(message: T::Hash[::Symbol, T.untyped]).void } def text_document_completion(message); end - # source://ruby-lsp/lib/ruby_lsp/server.rb#927 + # : (Hash[Symbol, untyped] message) -> void + # + # source://ruby-lsp//lib/ruby_lsp/server.rb#947 sig { params(message: T::Hash[::Symbol, T.untyped]).void } def text_document_completion_item_resolve(message); end - # source://ruby-lsp/lib/ruby_lsp/server.rb#972 + # : (Hash[Symbol, untyped] message) -> void + # + # source://ruby-lsp//lib/ruby_lsp/server.rb#992 sig { params(message: T::Hash[::Symbol, T.untyped]).void } def text_document_definition(message); end - # source://ruby-lsp/lib/ruby_lsp/server.rb#862 + # : (Hash[Symbol, untyped] message) -> void + # + # source://ruby-lsp//lib/ruby_lsp/server.rb#882 sig { params(message: T::Hash[::Symbol, T.untyped]).void } def text_document_diagnostic(message); end - # source://ruby-lsp/lib/ruby_lsp/server.rb#411 + # : (Hash[Symbol, untyped] message) -> void + # + # source://ruby-lsp//lib/ruby_lsp/server.rb#431 sig { params(message: T::Hash[::Symbol, T.untyped]).void } def text_document_did_change(message); end - # source://ruby-lsp/lib/ruby_lsp/server.rb#400 + # : (Hash[Symbol, untyped] message) -> void + # + # source://ruby-lsp//lib/ruby_lsp/server.rb#420 sig { params(message: T::Hash[::Symbol, T.untyped]).void } def text_document_did_close(message); end - # source://ruby-lsp/lib/ruby_lsp/server.rb#361 + # : (Hash[Symbol, untyped] message) -> void + # + # source://ruby-lsp//lib/ruby_lsp/server.rb#381 sig { params(message: T::Hash[::Symbol, T.untyped]).void } def text_document_did_open(message); end - # source://ruby-lsp/lib/ruby_lsp/server.rb#653 + # : (Hash[Symbol, untyped] message) -> void + # + # source://ruby-lsp//lib/ruby_lsp/server.rb#673 sig { params(message: T::Hash[::Symbol, T.untyped]).void } def text_document_document_highlight(message); end - # @param message [Hash{Symbol => T.untyped}] - # @return [void] + # : (Hash[Symbol, untyped] message) -> void # - # source://sorbet-runtime/0.5.11761lib/types/private/methods/_methods.rb#257 + # source://sorbet-runtime/0.5.11915/lib/types/private/methods/_methods.rb#257 def text_document_document_link(*args, **_arg1, &blk); end - # @param message [Hash{Symbol => T.untyped}] - # @return [void] + # : (Hash[Symbol, untyped] message) -> void # - # source://sorbet-runtime/0.5.11761lib/types/private/methods/_methods.rb#257 + # source://sorbet-runtime/0.5.11915/lib/types/private/methods/_methods.rb#257 def text_document_document_symbol(*args, **_arg1, &blk); end - # @param message [Hash{Symbol => T.untyped}] - # @return [void] + # : (Hash[Symbol, untyped] message) -> void # - # source://sorbet-runtime/0.5.11761lib/types/private/methods/_methods.rb#257 + # source://sorbet-runtime/0.5.11915/lib/types/private/methods/_methods.rb#257 def text_document_folding_range(*args, **_arg1, &blk); end - # source://ruby-lsp/lib/ruby_lsp/server.rb#609 + # : (Hash[Symbol, untyped] message) -> void + # + # source://ruby-lsp//lib/ruby_lsp/server.rb#629 sig { params(message: T::Hash[::Symbol, T.untyped]).void } def text_document_formatting(message); end - # source://ruby-lsp/lib/ruby_lsp/server.rb#692 + # : (Hash[Symbol, untyped] message) -> void + # + # source://ruby-lsp//lib/ruby_lsp/server.rb#712 sig { params(message: T::Hash[::Symbol, T.untyped]).void } def text_document_hover(message); end - # source://ruby-lsp/lib/ruby_lsp/server.rb#781 + # : (Hash[Symbol, untyped] message) -> void + # + # source://ruby-lsp//lib/ruby_lsp/server.rb#801 sig { params(message: T::Hash[::Symbol, T.untyped]).void } def text_document_inlay_hint(message); end - # source://ruby-lsp/lib/ruby_lsp/server.rb#669 + # : (Hash[Symbol, untyped] message) -> void + # + # source://ruby-lsp//lib/ruby_lsp/server.rb#689 sig { params(message: T::Hash[::Symbol, T.untyped]).void } def text_document_on_type_formatting(message); end - # source://ruby-lsp/lib/ruby_lsp/server.rb#737 + # : (Hash[Symbol, untyped] message) -> void + # + # source://ruby-lsp//lib/ruby_lsp/server.rb#757 sig { params(message: T::Hash[::Symbol, T.untyped]).void } def text_document_prepare_rename(message); end - # source://ruby-lsp/lib/ruby_lsp/server.rb#1091 + # : (Hash[Symbol, untyped] message) -> void + # + # source://ruby-lsp//lib/ruby_lsp/server.rb#1167 sig { params(message: T::Hash[::Symbol, T.untyped]).void } def text_document_prepare_type_hierarchy(message); end - # source://ruby-lsp/lib/ruby_lsp/server.rb#581 + # : (Hash[Symbol, untyped] message) -> void + # + # source://ruby-lsp//lib/ruby_lsp/server.rb#601 sig { params(message: T::Hash[::Symbol, T.untyped]).void } def text_document_range_formatting(message); end - # source://ruby-lsp/lib/ruby_lsp/server.rb#755 + # : (Hash[Symbol, untyped] message) -> void + # + # source://ruby-lsp//lib/ruby_lsp/server.rb#775 sig { params(message: T::Hash[::Symbol, T.untyped]).void } def text_document_references(message); end - # source://ruby-lsp/lib/ruby_lsp/server.rb#717 + # : (Hash[Symbol, untyped] message) -> void + # + # source://ruby-lsp//lib/ruby_lsp/server.rb#737 sig { params(message: T::Hash[::Symbol, T.untyped]).void } def text_document_rename(message); end - # source://ruby-lsp/lib/ruby_lsp/server.rb#421 + # : (Hash[Symbol, untyped] message) -> void + # + # source://ruby-lsp//lib/ruby_lsp/server.rb#441 sig { params(message: T::Hash[::Symbol, T.untyped]).void } def text_document_selection_range(message); end - # source://ruby-lsp/lib/ruby_lsp/server.rb#527 + # : (Hash[Symbol, untyped] message) -> void + # + # source://ruby-lsp//lib/ruby_lsp/server.rb#547 sig { params(message: T::Hash[::Symbol, T.untyped]).void } def text_document_semantic_tokens_delta(message); end - # source://ruby-lsp/lib/ruby_lsp/server.rb#506 + # : (Hash[Symbol, untyped] message) -> void + # + # source://ruby-lsp//lib/ruby_lsp/server.rb#526 sig { params(message: T::Hash[::Symbol, T.untyped]).void } def text_document_semantic_tokens_full(message); end - # source://ruby-lsp/lib/ruby_lsp/server.rb#552 + # : (Hash[Symbol, untyped] message) -> void + # + # source://ruby-lsp//lib/ruby_lsp/server.rb#572 sig { params(message: T::Hash[::Symbol, T.untyped]).void } def text_document_semantic_tokens_range(message); end - # source://ruby-lsp/lib/ruby_lsp/server.rb#1072 + # : (Hash[Symbol, untyped] message) -> void + # + # source://ruby-lsp//lib/ruby_lsp/server.rb#1129 sig { params(message: T::Hash[::Symbol, T.untyped]).void } def text_document_show_syntax_tree(message); end - # source://ruby-lsp/lib/ruby_lsp/server.rb#946 + # : (Hash[Symbol, untyped] message) -> void + # + # source://ruby-lsp//lib/ruby_lsp/server.rb#966 sig { params(message: T::Hash[::Symbol, T.untyped]).void } def text_document_signature_help(message); end - # source://ruby-lsp/lib/ruby_lsp/server.rb#1119 + # : (Hash[Symbol, untyped] message) -> void + # + # source://ruby-lsp//lib/ruby_lsp/server.rb#1195 sig { params(message: T::Hash[::Symbol, T.untyped]).void } def type_hierarchy_subtypes(message); end - # source://ruby-lsp/lib/ruby_lsp/server.rb#1110 + # : (Hash[Symbol, untyped] message) -> void + # + # source://ruby-lsp//lib/ruby_lsp/server.rb#1186 sig { params(message: T::Hash[::Symbol, T.untyped]).void } def type_hierarchy_supertypes(message); end - # source://ruby-lsp/lib/ruby_lsp/server.rb#1275 + # : (Hash[Symbol, untyped] message) -> void + # + # source://ruby-lsp//lib/ruby_lsp/server.rb#1357 sig { params(message: T::Hash[::Symbol, T.untyped]).void } def window_show_message_request(message); end - # source://ruby-lsp/lib/ruby_lsp/server.rb#1126 + # : (Hash[Symbol, untyped] message) -> void + # + # source://ruby-lsp//lib/ruby_lsp/server.rb#1202 sig { params(message: T::Hash[::Symbol, T.untyped]).void } def workspace_dependencies(message); end - # source://ruby-lsp/lib/ruby_lsp/server.rb#997 + # : (Hash[Symbol, untyped] message) -> void + # + # source://ruby-lsp//lib/ruby_lsp/server.rb#1017 sig { params(message: T::Hash[::Symbol, T.untyped]).void } def workspace_did_change_watched_files(message); end - # source://ruby-lsp/lib/ruby_lsp/server.rb#1059 + # : (Hash[Symbol, untyped] message) -> void + # + # source://ruby-lsp//lib/ruby_lsp/server.rb#1116 sig { params(message: T::Hash[::Symbol, T.untyped]).void } def workspace_symbol(message); end end -# source://ruby-lsp/lib/ruby_lsp/store.rb#5 +# source://ruby-lsp//lib/ruby_lsp/store.rb#5 class RubyLsp::Store - # source://ruby-lsp/lib/ruby_lsp/store.rb#17 + # : (GlobalState global_state) -> void + # + # source://ruby-lsp//lib/ruby_lsp/store.rb#15 sig { params(global_state: ::RubyLsp::GlobalState).void } def initialize(global_state); end - # source://ruby-lsp/lib/ruby_lsp/store.rb#118 + # : [T] (URI::Generic uri, String request_name) { (Document[untyped] document) -> T } -> T + # + # source://ruby-lsp//lib/ruby_lsp/store.rb#102 sig do type_parameters(:T) .params( @@ -6273,53 +8612,73 @@ class RubyLsp::Store end def cache_fetch(uri, request_name, &block); end - # source://ruby-lsp/lib/ruby_lsp/store.rb#84 + # : -> void + # + # source://ruby-lsp//lib/ruby_lsp/store.rb#75 sig { void } def clear; end - # source://ruby-lsp/lib/ruby_lsp/store.rb#14 + # : String + # + # source://ruby-lsp//lib/ruby_lsp/store.rb#12 sig { returns(::String) } def client_name; end - # @return [String] + # : String # - # source://ruby-lsp/lib/ruby_lsp/store.rb#14 + # source://ruby-lsp//lib/ruby_lsp/store.rb#12 def client_name=(_arg0); end - # source://ruby-lsp/lib/ruby_lsp/store.rb#94 + # : (URI::Generic uri) -> void + # + # source://ruby-lsp//lib/ruby_lsp/store.rb#85 sig { params(uri: ::URI::Generic).void } def delete(uri); end - # source://ruby-lsp/lib/ruby_lsp/store.rb#104 + # : { (String uri, Document[untyped] document) -> void } -> void + # + # source://ruby-lsp//lib/ruby_lsp/store.rb#95 sig { params(block: T.proc.params(uri: ::String, document: RubyLsp::Document[T.untyped]).void).void } def each(&block); end - # source://ruby-lsp/lib/ruby_lsp/store.rb#89 + # : -> bool + # + # source://ruby-lsp//lib/ruby_lsp/store.rb#80 sig { returns(T::Boolean) } def empty?; end - # source://ruby-lsp/lib/ruby_lsp/store.rb#11 + # : Hash[Symbol, RequestConfig] + # + # source://ruby-lsp//lib/ruby_lsp/store.rb#9 sig { returns(T::Hash[::Symbol, ::RubyLsp::RequestConfig]) } def features_configuration; end - # @return [Hash{Symbol => RequestConfig}] + # : Hash[Symbol, RequestConfig] # - # source://ruby-lsp/lib/ruby_lsp/store.rb#11 + # source://ruby-lsp//lib/ruby_lsp/store.rb#9 def features_configuration=(_arg0); end - # source://ruby-lsp/lib/ruby_lsp/store.rb#34 + # : (URI::Generic uri) -> Document[untyped] + # + # source://ruby-lsp//lib/ruby_lsp/store.rb#32 sig { params(uri: ::URI::Generic).returns(RubyLsp::Document[T.untyped]) } def get(uri); end - # source://ruby-lsp/lib/ruby_lsp/store.rb#99 + # : (URI::Generic uri) -> bool + # + # source://ruby-lsp//lib/ruby_lsp/store.rb#90 sig { params(uri: ::URI::Generic).returns(T::Boolean) } def key?(uri); end - # source://ruby-lsp/lib/ruby_lsp/store.rb#79 + # : (uri: URI::Generic, edits: Array[Hash[Symbol, untyped]], version: Integer) -> void + # + # source://ruby-lsp//lib/ruby_lsp/store.rb#70 sig { params(uri: ::URI::Generic, edits: T::Array[T::Hash[::Symbol, T.untyped]], version: ::Integer).void } def push_edits(uri:, edits:, version:); end - # source://ruby-lsp/lib/ruby_lsp/store.rb#67 + # : (uri: URI::Generic, source: String, version: Integer, language_id: Document::LanguageId) -> Document[untyped] + # + # source://ruby-lsp//lib/ruby_lsp/store.rb#58 sig do params( uri: ::URI::Generic, @@ -6331,24 +8690,28 @@ class RubyLsp::Store def set(uri:, source:, version:, language_id:); end end -# source://ruby-lsp/lib/ruby_lsp/store.rb#8 +# source://ruby-lsp//lib/ruby_lsp/store.rb#6 class RubyLsp::Store::NonExistingDocumentError < ::StandardError; end -# source://ruby-lsp/lib/ruby_lsp/test_helper.rb#7 +# source://ruby-lsp//lib/ruby_lsp/test_helper.rb#7 module RubyLsp::TestHelper requires_ancestor { Kernel } - # source://ruby-lsp/lib/ruby_lsp/test_helper.rb#73 + # source://ruby-lsp//lib/ruby_lsp/test_helper.rb#64 def pop_log_notification(message_queue, type); end - # source://ruby-lsp/lib/ruby_lsp/test_helper.rb#81 + # source://ruby-lsp//lib/ruby_lsp/test_helper.rb#72 def pop_message(outgoing_queue, &block); end - # source://ruby-lsp/lib/ruby_lsp/test_helper.rb#62 + # : (RubyLsp::Server server) -> RubyLsp::Result + # + # source://ruby-lsp//lib/ruby_lsp/test_helper.rb#53 sig { params(server: ::RubyLsp::Server).returns(::RubyLsp::Result) } def pop_result(server); end - # source://ruby-lsp/lib/ruby_lsp/test_helper.rb#25 + # : [T] (?String? source, ?URI::Generic uri, ?stub_no_typechecker: bool, ?load_addons: bool) { (RubyLsp::Server server, URI::Generic uri) -> T } -> T + # + # source://ruby-lsp//lib/ruby_lsp/test_helper.rb#15 sig do type_parameters(:T) .params( @@ -6362,32 +8725,34 @@ module RubyLsp::TestHelper def with_server(source = T.unsafe(nil), uri = T.unsafe(nil), stub_no_typechecker: T.unsafe(nil), load_addons: T.unsafe(nil), &block); end end -# source://ruby-lsp/lib/ruby_lsp/test_helper.rb#8 +# source://ruby-lsp//lib/ruby_lsp/test_helper.rb#8 class RubyLsp::TestHelper::TestError < ::StandardError; end -# source://ruby-lsp/lib/ruby_lsp/utils.rb#8 +# source://ruby-lsp//lib/ruby_lsp/utils.rb#8 RubyLsp::Transport = LanguageServer::Protocol::Transport # A minimalistic type checker to try to resolve types that can be inferred without requiring a type system or # annotations # -# source://ruby-lsp/lib/ruby_lsp/type_inferrer.rb#7 +# source://ruby-lsp//lib/ruby_lsp/type_inferrer.rb#7 class RubyLsp::TypeInferrer - # source://ruby-lsp/lib/ruby_lsp/type_inferrer.rb#11 + # : (RubyIndexer::Index index) -> void + # + # source://ruby-lsp//lib/ruby_lsp/type_inferrer.rb#9 sig { params(index: ::RubyIndexer::Index).void } def initialize(index); end - # source://ruby-lsp/lib/ruby_lsp/type_inferrer.rb#16 + # : (NodeContext node_context) -> Type? + # + # source://ruby-lsp//lib/ruby_lsp/type_inferrer.rb#14 sig { params(node_context: ::RubyLsp::NodeContext).returns(T.nilable(::RubyLsp::TypeInferrer::Type)) } def infer_receiver_type(node_context); end private - # source://ruby-lsp/lib/ruby_lsp/type_inferrer.rb#158 - sig { params(node: T.any(::Prism::ConstantPathNode, ::Prism::ConstantReadNode)).returns(T.nilable(::String)) } - def constant_name(node); end - - # source://ruby-lsp/lib/ruby_lsp/type_inferrer.rb#118 + # : (String raw_receiver, Array[String] nesting) -> GuessedType? + # + # source://ruby-lsp//lib/ruby_lsp/type_inferrer.rb#116 sig do params( raw_receiver: ::String, @@ -6396,7 +8761,9 @@ class RubyLsp::TypeInferrer end def guess_type(raw_receiver, nesting); end - # source://ruby-lsp/lib/ruby_lsp/type_inferrer.rb#35 + # : (Prism::CallNode node, NodeContext node_context) -> Type? + # + # source://ruby-lsp//lib/ruby_lsp/type_inferrer.rb#33 sig do params( node: ::Prism::CallNode, @@ -6405,87 +8772,102 @@ class RubyLsp::TypeInferrer end def infer_receiver_for_call_node(node, node_context); end - # source://ruby-lsp/lib/ruby_lsp/type_inferrer.rb#166 + # : (NodeContext node_context) -> Type? + # + # source://ruby-lsp//lib/ruby_lsp/type_inferrer.rb#149 sig { params(node_context: ::RubyLsp::NodeContext).returns(T.nilable(::RubyLsp::TypeInferrer::Type)) } def infer_receiver_for_class_variables(node_context); end - # source://ruby-lsp/lib/ruby_lsp/type_inferrer.rb#134 + # : (NodeContext node_context) -> Type + # + # source://ruby-lsp//lib/ruby_lsp/type_inferrer.rb#132 sig { params(node_context: ::RubyLsp::NodeContext).returns(::RubyLsp::TypeInferrer::Type) } def self_receiver_handling(node_context); end end # A type that was guessed based on the receiver raw name # -# source://ruby-lsp/lib/ruby_lsp/type_inferrer.rb#204 +# source://ruby-lsp//lib/ruby_lsp/type_inferrer.rb#185 class RubyLsp::TypeInferrer::GuessedType < ::RubyLsp::TypeInferrer::Type; end # A known type # -# source://ruby-lsp/lib/ruby_lsp/type_inferrer.rb#185 +# source://ruby-lsp//lib/ruby_lsp/type_inferrer.rb#168 class RubyLsp::TypeInferrer::Type - # source://ruby-lsp/lib/ruby_lsp/type_inferrer.rb#192 + # : (String name) -> void + # + # source://ruby-lsp//lib/ruby_lsp/type_inferrer.rb#173 sig { params(name: ::String).void } def initialize(name); end # Returns the attached version of this type by removing the `` part from its name + # : -> Type # - # source://ruby-lsp/lib/ruby_lsp/type_inferrer.rb#198 + # source://ruby-lsp//lib/ruby_lsp/type_inferrer.rb#179 sig { returns(::RubyLsp::TypeInferrer::Type) } def attached; end - # source://ruby-lsp/lib/ruby_lsp/type_inferrer.rb#189 + # : String + # + # source://ruby-lsp//lib/ruby_lsp/type_inferrer.rb#170 sig { returns(::String) } def name; end end -# source://ruby-lsp/lib/ruby-lsp.rb#5 +# source://ruby-lsp//lib/ruby-lsp.rb#5 RubyLsp::VERSION = T.let(T.unsafe(nil), String) -# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/uri.rb#5 +# source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/uri.rb#7 class URI::Generic - # @return [String, nil] + # : String? # - # source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/uri.rb#46 + # source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/uri.rb#39 def require_path=(_arg0); end end -# Avoid a deprecation warning with Ruby 3.4 where the default parser was changed to RFC3986. -# This condition must remain even after support for 3.4 has been dropped for users that have -# `uri` in their lockfile, decoupling it from the ruby version. +# NOTE: We also define this in the shim # -# source://ruby-lsp/lib/ruby_indexer/lib/ruby_indexer/uri.rb#11 +# source://ruby-lsp//lib/ruby_indexer/lib/ruby_indexer/uri.rb#13 URI::Generic::PARSER = T.let(T.unsafe(nil), URI::RFC2396_Parser) # Must be kept in sync with the one in Tapioca # -# source://ruby-lsp/lib/ruby_lsp/requests/support/source_uri.rb#8 +# source://ruby-lsp//lib/ruby_lsp/requests/support/source_uri.rb#8 class URI::Source < ::URI::File - # source://ruby-lsp/lib/ruby_lsp/requests/support/source_uri.rb#69 + # : (String? v) -> bool + # + # source://ruby-lsp//lib/ruby_lsp/requests/support/source_uri.rb#58 sig { params(v: T.nilable(::String)).returns(T::Boolean) } def check_host(v); end - # source://tapioca/0.16.8lib/tapioca/helpers/source_uri.rb#55 - sig { returns(T.nilable(::String)) } + # source://uri/1.0.1/lib/uri/generic.rb#243 def gem_name; end - # source://ruby-lsp/lib/ruby_lsp/requests/support/source_uri.rb#33 + # : String? + # + # source://ruby-lsp//lib/ruby_lsp/requests/support/source_uri.rb#31 sig { returns(T.nilable(::String)) } def gem_version; end - # source://tapioca/0.16.8lib/tapioca/helpers/source_uri.rb#60 - sig { returns(T.nilable(::String)) } + # source://uri/1.0.1/lib/uri/generic.rb#283 def line_number; end - # source://ruby-lsp/lib/ruby_lsp/requests/support/source_uri.rb#59 + # : (String? v) -> void + # + # source://ruby-lsp//lib/ruby_lsp/requests/support/source_uri.rb#48 sig { params(v: T.nilable(::String)).void } def set_path(v); end - # source://ruby-lsp/lib/ruby_lsp/requests/support/source_uri.rb#81 + # : -> String + # + # source://ruby-lsp//lib/ruby_lsp/requests/support/source_uri.rb#70 sig { returns(::String) } def to_s; end class << self - # source://ruby-lsp/lib/ruby_lsp/requests/support/source_uri.rb#46 + # : (gem_name: String, gem_version: String?, path: String, line_number: String?) -> URI::Source + # + # source://ruby-lsp//lib/ruby_lsp/requests/support/source_uri.rb#35 sig do params( gem_name: ::String, @@ -6498,7 +8880,7 @@ class URI::Source < ::URI::File end end -# source://ruby-lsp/lib/ruby_lsp/requests/support/source_uri.rb#11 +# source://ruby-lsp//lib/ruby_lsp/requests/support/source_uri.rb#9 URI::Source::COMPONENT = T.let(T.unsafe(nil), Array) # `uri` for Ruby 3.4 switched the default parser from RFC2396 to RFC3986. The new parser emits a deprecation @@ -6507,5 +8889,5 @@ URI::Source::COMPONENT = T.let(T.unsafe(nil), Array) # handling to select a parser that doesn't emit deprecations. While it was backported to Ruby 3.1, users may # have the uri gem in their own bundle and thus not use a compatible version. # -# source://ruby-lsp/lib/ruby_lsp/requests/support/source_uri.rb#27 +# source://ruby-lsp//lib/ruby_lsp/requests/support/source_uri.rb#25 URI::Source::PARSER = T.let(T.unsafe(nil), URI::RFC2396_Parser) diff --git a/sorbet/rbi/gems/ruby-next-core@1.1.1.rbi b/sorbet/rbi/gems/ruby-next-core@1.1.1.rbi new file mode 100644 index 00000000..02978087 --- /dev/null +++ b/sorbet/rbi/gems/ruby-next-core@1.1.1.rbi @@ -0,0 +1,1884 @@ +# typed: true + +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `ruby-next-core` gem. +# Please instead update this file by running `bin/tapioca gem ruby-next-core`. + + +# source://ruby-next-core//lib/ruby-next/language/unparser.rb#10 +Parser::Lexer::ESCAPES = T.let(T.unsafe(nil), Hash) + +# Add binding argument to all self-less eval's +# +# source://ruby-next-core//lib/ruby-next/version.rb#3 +module RubyNext + class << self + # source://ruby-next-core//lib/ruby-next/config.rb#35 + def current_ruby_version; end + + # Returns the value of attribute debug_enabled. + # + # source://ruby-next-core//lib/ruby-next/logging.rb#8 + def debug_enabled; end + + # source://ruby-next-core//lib/ruby-next/logging.rb#24 + def debug_enabled=(val); end + + # source://ruby-next-core//lib/ruby-next/logging.rb#16 + def debug_source(source, filepath = T.unsafe(nil)); end + + # Returns true if we want to use edge syntax + # + # @return [Boolean] + # + # source://ruby-next-core//lib/ruby-next/config.rb#41 + def edge_syntax?; end + + # Load transpile settings from the RC file (nextify command flags) + # + # source://ruby-next-core//lib/ruby-next/config.rb#67 + def load_from_rc(path = T.unsafe(nil)); end + + # source://ruby-next-core//lib/ruby-next/config.rb#49 + def next_ruby_version(version = T.unsafe(nil)); end + + # @return [Boolean] + # + # source://ruby-next-core//lib/ruby-next/config.rb#45 + def proposed_syntax?; end + + # Returns the value of attribute silence_warnings. + # + # source://ruby-next-core//lib/ruby-next/logging.rb#7 + def silence_warnings; end + + # Sets the attribute silence_warnings + # + # @param value the value to set the attribute silence_warnings to. + # + # source://ruby-next-core//lib/ruby-next/logging.rb#7 + def silence_warnings=(_arg0); end + + # source://ruby-next-core//lib/ruby-next/logging.rb#10 + def warn(msg); end + + private + + # Returns the value of attribute debug_filter. + # + # source://ruby-next-core//lib/ruby-next/logging.rb#38 + def debug_filter; end + end +end + +# source://ruby-next-core//lib/ruby-next/core.rb#9 +module RubyNext::Core + class << self + # @return [Boolean] + # + # source://ruby-next-core//lib/ruby-next/core.rb#122 + def backports?; end + + # @return [Boolean] + # + # source://ruby-next-core//lib/ruby-next/core.rb#118 + def core_ext?; end + + # source://ruby-next-core//lib/ruby-next/core/refinement/import.rb#7 + def import_methods(*others, bind); end + + # Inject `using RubyNext` at the top of the source code + # + # source://ruby-next-core//lib/ruby-next/core.rb#131 + def inject!(contents); end + + # source://ruby-next-core//lib/ruby-next/core.rb#126 + def patch(*_arg0, **_arg1, &_arg2); end + + # source://ruby-next-core//lib/ruby-next/core.rb#140 + def patches; end + + # @return [Boolean] + # + # source://ruby-next-core//lib/ruby-next/core.rb#114 + def refine?; end + + # Returns the value of attribute strategy. + # + # source://ruby-next-core//lib/ruby-next/core.rb#107 + def strategy; end + + # @raise [ArgumentError] + # + # source://ruby-next-core//lib/ruby-next/core.rb#109 + def strategy=(val); end + end +end + +# Patch contains the extension implementation +# and meta information (e.g., Ruby version). +# +# source://ruby-next-core//lib/ruby-next/core.rb#12 +class RubyNext::Core::Patch + # Create a new patch for module/class (mod) + # with the specified uniq name + # + # `core_ext` defines the strategy for core extensions: + # - :patch — extend class directly + # - :prepend — extend class by prepending a module (e.g., when needs `super`) + # + # @return [Patch] a new instance of Patch + # + # source://ruby-next-core//lib/ruby-next/core.rb#21 + def initialize(mod = T.unsafe(nil), method:, version:, name: T.unsafe(nil), supported: T.unsafe(nil), native: T.unsafe(nil), location: T.unsafe(nil), refineable: T.unsafe(nil), core_ext: T.unsafe(nil), singleton: T.unsafe(nil)); end + + # Returns the value of attribute body. + # + # source://ruby-next-core//lib/ruby-next/core.rb#13 + def body; end + + # Returns the value of attribute core_ext. + # + # source://ruby-next-core//lib/ruby-next/core.rb#13 + def core_ext; end + + # @return [Boolean] + # + # source://ruby-next-core//lib/ruby-next/core.rb#43 + def core_ext?; end + + # Returns the value of attribute location. + # + # source://ruby-next-core//lib/ruby-next/core.rb#13 + def location; end + + # Returns the value of attribute method_name. + # + # source://ruby-next-core//lib/ruby-next/core.rb#13 + def method_name; end + + # Returns the value of attribute mod. + # + # source://ruby-next-core//lib/ruby-next/core.rb#13 + def mod; end + + # Returns the value of attribute name. + # + # source://ruby-next-core//lib/ruby-next/core.rb#13 + def name; end + + # Returns the value of attribute native. + # + # source://ruby-next-core//lib/ruby-next/core.rb#13 + def native; end + + # Returns the value of attribute native. + # + # source://ruby-next-core//lib/ruby-next/core.rb#13 + def native?; end + + # @return [Boolean] + # + # source://ruby-next-core//lib/ruby-next/core.rb#39 + def prepend?; end + + # Returns the value of attribute refineables. + # + # source://ruby-next-core//lib/ruby-next/core.rb#13 + def refineables; end + + # Returns the value of attribute singleton. + # + # source://ruby-next-core//lib/ruby-next/core.rb#13 + def singleton; end + + # Returns the value of attribute singleton. + # + # source://ruby-next-core//lib/ruby-next/core.rb#13 + def singleton?; end + + # Returns the value of attribute supported. + # + # source://ruby-next-core//lib/ruby-next/core.rb#13 + def supported; end + + # Returns the value of attribute supported. + # + # source://ruby-next-core//lib/ruby-next/core.rb#13 + def supported?; end + + # source://ruby-next-core//lib/ruby-next/core.rb#51 + def to_module; end + + # Returns the value of attribute version. + # + # source://ruby-next-core//lib/ruby-next/core.rb#13 + def version; end + + private + + # source://ruby-next-core//lib/ruby-next/core.rb#68 + def build_location(trace_locations); end + + # source://ruby-next-core//lib/ruby-next/core.rb#61 + def build_module_name; end + + # @return [Boolean] + # + # source://ruby-next-core//lib/ruby-next/core.rb#80 + def native_location?(location); end +end + +# Registry for patches +# +# source://ruby-next-core//lib/ruby-next/core.rb#86 +class RubyNext::Core::Patches + # @return [Patches] a new instance of Patches + # + # source://ruby-next-core//lib/ruby-next/core.rb#89 + def initialize; end + + # Register new patch + # + # @raise [ArgumentError] + # + # source://ruby-next-core//lib/ruby-next/core.rb#96 + def <<(patch); end + + # Returns the value of attribute extensions. + # + # source://ruby-next-core//lib/ruby-next/core.rb#87 + def extensions; end + + # Returns the value of attribute refined. + # + # source://ruby-next-core//lib/ruby-next/core.rb#87 + def refined; end +end + +# Defines last minor version for every major version +# +# source://ruby-next-core//lib/ruby-next/config.rb#11 +RubyNext::LAST_MINOR_VERSIONS = T.let(T.unsafe(nil), Hash) + +# source://ruby-next-core//lib/ruby-next/config.rb#16 +RubyNext::LATEST_VERSION = T.let(T.unsafe(nil), Array) + +# Language module contains tools to transpile newer Ruby syntax +# into an older one. +# +# It works the following way: +# - Takes a Ruby source code as input +# - Generates the AST using the edge parser (via the `parser` gem) +# - Pass this AST through the list of processors (one feature = one processor) +# - Each processor may modify the AST +# - Generates a transpiled source code from the transformed AST (via the `unparser` gem) +# +# source://ruby-next-core//lib/ruby-next/language.rb#23 +module RubyNext::Language + class << self + # @return [Boolean] + # + # source://ruby-next-core//lib/ruby-next/language.rb#94 + def ast?; end + + # Rewriters required for the current version + # + # source://ruby-next-core//lib/ruby-next/language.rb#150 + def current_rewriters; end + + # Returns the value of attribute exclude_patterns. + # + # source://ruby-next-core//lib/ruby-next/language.rb#70 + def exclude_patterns; end + + # Returns the value of attribute include_patterns. + # + # source://ruby-next-core//lib/ruby-next/language.rb#69 + def include_patterns; end + + # Returns the value of attribute mode. + # + # source://ruby-next-core//lib/ruby-next/language.rb#83 + def mode; end + + # @raise [ArgumentError] + # + # source://ruby-next-core//lib/ruby-next/language.rb#85 + def mode=(val); end + + # source://ruby-next-core//lib/ruby-next/language/parser.rb#48 + def parse(source, file = T.unsafe(nil)); end + + # source://ruby-next-core//lib/ruby-next/language/parser.rb#58 + def parse_with_comments(source, file = T.unsafe(nil)); end + + # source://ruby-next-core//lib/ruby-next/language/parser.rb#40 + def parser; end + + # Returns the value of attribute parser_class. + # + # source://ruby-next-core//lib/ruby-next/language/parser.rb#38 + def parser_class; end + + # Sets the attribute parser_class + # + # @param value the value to set the attribute parser_class to. + # + # source://ruby-next-core//lib/ruby-next/language/parser.rb#38 + def parser_class=(_arg0); end + + # Returns the value of attribute parser_syntax_errors. + # + # source://ruby-next-core//lib/ruby-next/language/parser.rb#38 + def parser_syntax_errors; end + + # Sets the attribute parser_syntax_errors + # + # @param value the value to set the attribute parser_syntax_errors to. + # + # source://ruby-next-core//lib/ruby-next/language/parser.rb#38 + def parser_syntax_errors=(_arg0); end + + # @return [Boolean] + # + # source://ruby-next-core//lib/ruby-next/language.rb#90 + def rewrite?; end + + # Returns the value of attribute rewriters. + # + # source://ruby-next-core//lib/ruby-next/language.rb#77 + def rewriters; end + + # Sets the attribute rewriters + # + # @param value the value to set the attribute rewriters to. + # + # source://ruby-next-core//lib/ruby-next/language.rb#77 + def rewriters=(_arg0); end + + # source://ruby-next-core//lib/ruby-next/language.rb#98 + def runtime!; end + + # @return [Boolean] + # + # source://ruby-next-core//lib/ruby-next/language.rb#104 + def runtime?; end + + # This method guarantees that rewriters will be returned in order they defined in Language module + # + # source://ruby-next-core//lib/ruby-next/language.rb#155 + def select_rewriters(*names); end + + # Returns the value of attribute strategy. + # + # source://ruby-next-core//lib/ruby-next/language.rb#79 + def strategy; end + + # Sets the attribute strategy + # + # @param value the value to set the attribute strategy to. + # + # source://ruby-next-core//lib/ruby-next/language.rb#79 + def strategy=(_arg0); end + + # @return [Boolean] + # + # source://ruby-next-core//lib/ruby-next/language.rb#136 + def target_dir?(dirname); end + + # source://ruby-next-core//lib/ruby-next/language.rb#108 + def transform(source, rewriters: T.unsafe(nil), using: T.unsafe(nil), path: T.unsafe(nil), context: T.unsafe(nil)); end + + # @return [Boolean] + # + # source://ruby-next-core//lib/ruby-next/language.rb#144 + def transformable?(path); end + + # source://ruby-next-core//lib/ruby-next/language.rb#72 + def watch_dirs; end + + private + + # Sets the attribute exclude_patterns + # + # @param value the value to set the attribute exclude_patterns to. + # + # source://ruby-next-core//lib/ruby-next/language.rb#202 + def exclude_patterns=(_arg0); end + + # Sets the attribute include_patterns + # + # @param value the value to set the attribute include_patterns to. + # + # source://ruby-next-core//lib/ruby-next/language.rb#202 + def include_patterns=(_arg0); end + + # source://ruby-next-core//lib/ruby-next/language.rb#166 + def regenerate(source, rewriters:, using:, context:); end + + # source://ruby-next-core//lib/ruby-next/language.rb#178 + def rewrite(source, rewriters:, using:, context:); end + + # source://ruby-next-core//lib/ruby-next/language.rb#191 + def text_rewrite(source, rewriters:, using:, context:); end + + # Sets the attribute watch_dirs + # + # @param value the value to set the attribute watch_dirs to. + # + # source://ruby-next-core//lib/ruby-next/language.rb#201 + def watch_dirs=(_arg0); end + end +end + +# source://ruby-next-core//lib/ruby-next/language/parser.rb#24 +class RubyNext::Language::Builder < ::Parser::Builders::Default + # source://ruby-next-core//lib/ruby-next/language/parser.rb#31 + def check_reserved_for_numparam(name, loc); end +end + +# source://ruby-next-core//lib/ruby-next/language/parser.rb#12 +module RubyNext::Language::BuilderExt + # source://ruby-next-core//lib/ruby-next/language/parser.rb#13 + def match_pattern(lhs, match_t, rhs); end + + # source://ruby-next-core//lib/ruby-next/language/parser.rb#18 + def match_pattern_p(lhs, match_t, rhs); end +end + +# source://ruby-next-core//lib/ruby-next/language/eval.rb#33 +module RubyNext::Language::ClassEval; end + +# Refinements for `eval`-like methods. +# Transpiling eval is only possible if we do not use local from the binding, +# because we cannot access the binding of caller (without non-production ready hacks). +# +# This module is meant mainly for testing purposes. +# +# source://ruby-next-core//lib/ruby-next/language/eval.rb#61 +module RubyNext::Language::Eval + include ::RubyNext::Language::InstanceEval + include ::RubyNext::Language::ClassEval + include ::RubyNext::Language::KernelEval +end + +# source://ruby-next-core//lib/ruby-next/language/eval.rb#20 +module RubyNext::Language::InstanceEval; end + +# source://ruby-next-core//lib/ruby-next/language/eval.rb#5 +module RubyNext::Language::KernelEval; end + +# source://ruby-next-core//lib/ruby-next/language/paco_parsers/base.rb#5 +module RubyNext::Language::PacoParsers; end + +# source://ruby-next-core//lib/ruby-next/language/paco_parsers/base.rb#6 +class RubyNext::Language::PacoParsers::Base + include ::Paco + include ::Paco::Combinators::Char + include ::Paco::Combinators + + # source://ruby-next-core//lib/ruby-next/language/paco_parsers/base.rb#9 + def parse(io); end + + private + + # source://ruby-next-core//lib/ruby-next/language/paco_parsers/base.rb#15 + def anything_between(left, right); end + + # source://ruby-next-core//lib/ruby-next/language/paco_parsers/base.rb#29 + def balanced(l, r, inner); end + + # source://ruby-next-core//lib/ruby-next/language/paco_parsers/base.rb#23 + def starting_string(str); end +end + +# source://ruby-next-core//lib/ruby-next/language/paco_parsers/comments.rb#6 +class RubyNext::Language::PacoParsers::Comments < ::RubyNext::Language::PacoParsers::Base + # Matches a Ruby block comment (from `=begin` till `=end`) + # + # source://ruby-next-core//lib/ruby-next/language/paco_parsers/comments.rb#20 + def block_comment; end + + # source://ruby-next-core//lib/ruby-next/language/paco_parsers/comments.rb#7 + def default; end + + # Matches a Ruby line comment (from `#` till the end of the line) + # + # source://ruby-next-core//lib/ruby-next/language/paco_parsers/comments.rb#15 + def line_comment; end +end + +# source://ruby-next-core//lib/ruby-next/language/paco_parsers/string_literals.rb#6 +class RubyNext::Language::PacoParsers::StringLiterals < ::RubyNext::Language::PacoParsers::Base + # source://ruby-next-core//lib/ruby-next/language/paco_parsers/string_literals.rb#15 + def all_strings; end + + # source://ruby-next-core//lib/ruby-next/language/paco_parsers/string_literals.rb#9 + def default; end + + # source://ruby-next-core//lib/ruby-next/language/paco_parsers/string_literals.rb#59 + def double_quoted; end + + # source://ruby-next-core//lib/ruby-next/language/paco_parsers/string_literals.rb#63 + def escapable_string(left, right = T.unsafe(nil), interpolate: T.unsafe(nil)); end + + # source://ruby-next-core//lib/ruby-next/language/paco_parsers/string_literals.rb#55 + def external_cmd_exec; end + + # source://ruby-next-core//lib/ruby-next/language/paco_parsers/string_literals.rb#27 + def literal_start; end + + # source://ruby-next-core//lib/ruby-next/language/paco_parsers/string_literals.rb#31 + def quoted; end + + # source://ruby-next-core//lib/ruby-next/language/paco_parsers/string_literals.rb#45 + def quoted_expanded; end + + # source://ruby-next-core//lib/ruby-next/language/paco_parsers/string_literals.rb#41 + def single_quoted; end + + private + + # source://ruby-next-core//lib/ruby-next/language/paco_parsers/string_literals.rb#86 + def reduce_tokens(tokens); end +end + +# source://ruby-next-core//lib/ruby-next/language/paco_parsers/string_literals.rb#7 +RubyNext::Language::PacoParsers::StringLiterals::PAIRS = T.let(T.unsafe(nil), Hash) + +# source://ruby-next-core//lib/ruby-next/language/parser.rb#76 +class RubyNext::Language::PrismParser < ::Prism::Translation::Parser + # source://ruby-next-core//lib/ruby-next/language/parser.rb#79 + def valid_error?(error); end +end + +# source://ruby-next-core//lib/ruby-next/language.rb#29 +class RubyNext::Language::RewriterNotFoundError < ::StandardError; end + +# source://ruby-next-core//lib/ruby-next/language/rewriters/abstract.rb#5 +module RubyNext::Language::Rewriters; end + +# source://ruby-next-core//lib/ruby-next/language/rewriters/abstract.rb#6 +class RubyNext::Language::Rewriters::Abstract < ::Parser::TreeRewriter + # @return [Abstract] a new instance of Abstract + # + # source://ruby-next-core//lib/ruby-next/language/rewriters/abstract.rb#44 + def initialize(context); end + + private + + # Returns the value of attribute context. + # + # source://ruby-next-core//lib/ruby-next/language/rewriters/abstract.rb#51 + def context; end + + class << self + # @return [Boolean] + # + # source://ruby-next-core//lib/ruby-next/language/rewriters/abstract.rb#35 + def ast?; end + + # @return [Boolean] + # + # source://ruby-next-core//lib/ruby-next/language/rewriters/abstract.rb#31 + def text?; end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/abstract.rb#39 + def transform(source, **opts); end + + # Returns true if the syntax is not supported + # by the current Ruby (performs syntax check, not version check) + # + # @return [Boolean] + # + # source://ruby-next-core//lib/ruby-next/language/rewriters/abstract.rb#14 + def unsupported_syntax?; end + + # Returns true if the syntax is supported + # by the specified version + # + # @return [Boolean] + # + # source://ruby-next-core//lib/ruby-next/language/rewriters/abstract.rb#27 + def unsupported_version?(version); end + end +end + +# source://ruby-next-core//lib/ruby-next/language/rewriters/abstract.rb#9 +RubyNext::Language::Rewriters::Abstract::MIN_SUPPORTED_VERSION = T.let(T.unsafe(nil), Gem::Version) + +# source://ruby-next-core//lib/ruby-next/language/rewriters/abstract.rb#7 +RubyNext::Language::Rewriters::Abstract::NAME = T.let(T.unsafe(nil), String) + +# source://ruby-next-core//lib/ruby-next/language/rewriters/abstract.rb#8 +RubyNext::Language::Rewriters::Abstract::SYNTAX_PROBE = T.let(T.unsafe(nil), String) + +# source://ruby-next-core//lib/ruby-next/language/rewriters/3.1/anonymous_block.rb#6 +class RubyNext::Language::Rewriters::AnonymousBlock < ::RubyNext::Language::Rewriters::Base + # source://ruby-next-core//lib/ruby-next/language/rewriters/3.1/anonymous_block.rb#13 + def on_args(node); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/3.1/anonymous_block.rb#32 + def on_send(node); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/3.1/anonymous_block.rb#39 + def on_super(node); end + + private + + # source://ruby-next-core//lib/ruby-next/language/rewriters/3.1/anonymous_block.rb#48 + def extract_block_pass(node); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/3.1/anonymous_block.rb#52 + def process_block(node, block); end +end + +# source://ruby-next-core//lib/ruby-next/language/rewriters/3.1/anonymous_block.rb#11 +RubyNext::Language::Rewriters::AnonymousBlock::BLOCK = T.let(T.unsafe(nil), Symbol) + +# source://ruby-next-core//lib/ruby-next/language/rewriters/3.1/anonymous_block.rb#9 +RubyNext::Language::Rewriters::AnonymousBlock::MIN_SUPPORTED_VERSION = T.let(T.unsafe(nil), Gem::Version) + +# source://ruby-next-core//lib/ruby-next/language/rewriters/3.1/anonymous_block.rb#7 +RubyNext::Language::Rewriters::AnonymousBlock::NAME = T.let(T.unsafe(nil), String) + +# source://ruby-next-core//lib/ruby-next/language/rewriters/3.1/anonymous_block.rb#8 +RubyNext::Language::Rewriters::AnonymousBlock::SYNTAX_PROBE = T.let(T.unsafe(nil), String) + +# source://ruby-next-core//lib/ruby-next/language/rewriters/3.2/anonymous_restargs.rb#6 +class RubyNext::Language::Rewriters::AnonymousRestArgs < ::RubyNext::Language::Rewriters::Base + # source://ruby-next-core//lib/ruby-next/language/rewriters/3.2/anonymous_restargs.rb#14 + def on_args(node); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/3.2/anonymous_restargs.rb#38 + def on_send(node); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/3.2/anonymous_restargs.rb#44 + def on_super(node); end + + private + + # @return [Boolean] + # + # source://ruby-next-core//lib/ruby-next/language/rewriters/3.2/anonymous_restargs.rb#52 + def forwarded_args?(node); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/3.2/anonymous_restargs.rb#70 + def process_send_args(node); end +end + +# source://ruby-next-core//lib/ruby-next/language/rewriters/3.2/anonymous_restargs.rb#12 +RubyNext::Language::Rewriters::AnonymousRestArgs::KWREST = T.let(T.unsafe(nil), Symbol) + +# source://ruby-next-core//lib/ruby-next/language/rewriters/3.2/anonymous_restargs.rb#9 +RubyNext::Language::Rewriters::AnonymousRestArgs::MIN_SUPPORTED_VERSION = T.let(T.unsafe(nil), Gem::Version) + +# source://ruby-next-core//lib/ruby-next/language/rewriters/3.2/anonymous_restargs.rb#7 +RubyNext::Language::Rewriters::AnonymousRestArgs::NAME = T.let(T.unsafe(nil), String) + +# source://ruby-next-core//lib/ruby-next/language/rewriters/3.2/anonymous_restargs.rb#11 +RubyNext::Language::Rewriters::AnonymousRestArgs::REST = T.let(T.unsafe(nil), Symbol) + +# source://ruby-next-core//lib/ruby-next/language/rewriters/3.2/anonymous_restargs.rb#8 +RubyNext::Language::Rewriters::AnonymousRestArgs::SYNTAX_PROBE = T.let(T.unsafe(nil), String) + +# source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/args_forward.rb#6 +class RubyNext::Language::Rewriters::ArgsForward < ::RubyNext::Language::Rewriters::Base + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/args_forward.rb#14 + def on_args(node); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/args_forward.rb#48 + def on_def(node); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/args_forward.rb#62 + def on_defs(node); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/args_forward.rb#34 + def on_send(node); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/args_forward.rb#41 + def on_super(node); end + + private + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/args_forward.rb#107 + def extract_fargs(node); end + + # @return [Boolean] + # + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/args_forward.rb#101 + def forward_arg?(args); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/args_forward.rb#125 + def forwarded_args; end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/args_forward.rb#111 + def process_fargs(node, fargs); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/args_forward.rb#91 + def ruby2_keywords_node(receiver, name); end +end + +# source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/args_forward.rb#12 +RubyNext::Language::Rewriters::ArgsForward::BLOCK = T.let(T.unsafe(nil), Symbol) + +# source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/args_forward.rb#9 +RubyNext::Language::Rewriters::ArgsForward::MIN_SUPPORTED_VERSION = T.let(T.unsafe(nil), Gem::Version) + +# source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/args_forward.rb#7 +RubyNext::Language::Rewriters::ArgsForward::NAME = T.let(T.unsafe(nil), String) + +# source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/args_forward.rb#11 +RubyNext::Language::Rewriters::ArgsForward::REST = T.let(T.unsafe(nil), Symbol) + +# source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/args_forward.rb#8 +RubyNext::Language::Rewriters::ArgsForward::SYNTAX_PROBE = T.let(T.unsafe(nil), String) + +# source://ruby-next-core//lib/ruby-next/language/rewriters/3.0/args_forward_leading.rb#6 +class RubyNext::Language::Rewriters::ArgsForwardLeading < ::RubyNext::Language::Rewriters::ArgsForward + # Returns the value of attribute leading_farg. + # + # source://ruby-next-core//lib/ruby-next/language/rewriters/3.0/args_forward_leading.rb#11 + def leading_farg; end + + # Returns the value of attribute leading_farg. + # + # source://ruby-next-core//lib/ruby-next/language/rewriters/3.0/args_forward_leading.rb#11 + def leading_farg?; end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/3.0/args_forward_leading.rb#26 + def on_args(node); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/3.0/args_forward_leading.rb#14 + def on_def(node); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/3.0/args_forward_leading.rb#20 + def on_defs(node); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/3.0/args_forward_leading.rb#32 + def on_send(node); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/3.0/args_forward_leading.rb#38 + def on_super(node); end + + private + + # source://ruby-next-core//lib/ruby-next/language/rewriters/3.0/args_forward_leading.rb#64 + def def_with_leading_farg(node); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/3.0/args_forward_leading.rb#56 + def method_with_leading_arg(node); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/3.0/args_forward_leading.rb#46 + def send_with_leading_farg(node); end +end + +# source://ruby-next-core//lib/ruby-next/language/rewriters/3.0/args_forward_leading.rb#9 +RubyNext::Language::Rewriters::ArgsForwardLeading::MIN_SUPPORTED_VERSION = T.let(T.unsafe(nil), Gem::Version) + +# source://ruby-next-core//lib/ruby-next/language/rewriters/3.0/args_forward_leading.rb#7 +RubyNext::Language::Rewriters::ArgsForwardLeading::NAME = T.let(T.unsafe(nil), String) + +# source://ruby-next-core//lib/ruby-next/language/rewriters/3.0/args_forward_leading.rb#8 +RubyNext::Language::Rewriters::ArgsForwardLeading::SYNTAX_PROBE = T.let(T.unsafe(nil), String) + +# source://ruby-next-core//lib/ruby-next/language/rewriters/base.rb#16 +class RubyNext::Language::Rewriters::Base < ::RubyNext::Language::Rewriters::Abstract + # @return [Base] a new instance of Base + # + # source://ruby-next-core//lib/ruby-next/language/rewriters/base.rb#74 + def initialize(*args); end + + # Returns the value of attribute locals. + # + # source://ruby-next-core//lib/ruby-next/language/rewriters/base.rb#68 + def locals; end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/base.rb#79 + def s(type, *children); end + + private + + # BFS with predicate block + # + # source://ruby-next-core//lib/ruby-next/language/rewriters/base.rb#86 + def find_child(node); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/base.rb#111 + def insert_after(range, ast); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/base.rb#115 + def insert_before(range, ast); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/base.rb#107 + def remove(range); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/base.rb#103 + def replace(range, ast); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/base.rb#119 + def unparse(ast); end + + class << self + # @return [Boolean] + # + # source://ruby-next-core//lib/ruby-next/language/rewriters/base.rb#70 + def ast?; end + end +end + +# source://ruby-next-core//lib/ruby-next/language/rewriters/base.rb#17 +class RubyNext::Language::Rewriters::Base::LocalsTracker + # @return [LocalsTracker] a new instance of LocalsTracker + # + # source://ruby-next-core//lib/ruby-next/language/rewriters/base.rb#32 + def initialize; end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/base.rb#41 + def [](name, suffix = T.unsafe(nil)); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/base.rb#52 + def fetch(name); end + + # @return [Boolean] + # + # source://ruby-next-core//lib/ruby-next/language/rewriters/base.rb#48 + def key?(name); end + + # Returns the value of attribute stacks. + # + # source://ruby-next-core//lib/ruby-next/language/rewriters/base.rb#30 + def stacks; end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/base.rb#36 + def with(**locals); end +end + +# source://ruby-next-core//lib/ruby-next/language/rewriters/base.rb#8 +RubyNext::Language::Rewriters::CUSTOM_PARSER_REQUIRED = T.let(T.unsafe(nil), String) + +# Special rewriter for Ruby <=2.3, which doesn't support __dir__ in iseq.eval +# +# source://ruby-next-core//lib/ruby-next/language/rewriters/2.4/dir.rb#7 +class RubyNext::Language::Rewriters::Dir < ::RubyNext::Language::Rewriters::Base + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.4/dir.rb#11 + def on_send(node); end +end + +# source://ruby-next-core//lib/ruby-next/language/rewriters/2.4/dir.rb#9 +RubyNext::Language::Rewriters::Dir::MIN_SUPPORTED_VERSION = T.let(T.unsafe(nil), Gem::Version) + +# source://ruby-next-core//lib/ruby-next/language/rewriters/2.4/dir.rb#8 +RubyNext::Language::Rewriters::Dir::SYNTAX_PROBE = T.let(T.unsafe(nil), String) + +# source://ruby-next-core//lib/ruby-next/language/rewriters/3.0/endless_method.rb#6 +class RubyNext::Language::Rewriters::EndlessMethod < ::RubyNext::Language::Rewriters::Base + # source://ruby-next-core//lib/ruby-next/language/rewriters/3.0/endless_method.rb#11 + def on_def(node); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/3.0/endless_method.rb#35 + def on_defs(node); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/3.0/endless_method.rb#17 + def process_def(node); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/3.0/endless_method.rb#40 + def process_defs(node); end + + private + + # @return [Boolean] + # + # source://ruby-next-core//lib/ruby-next/language/rewriters/3.0/endless_method.rb#60 + def endless?(node); end +end + +# source://ruby-next-core//lib/ruby-next/language/rewriters/3.0/endless_method.rb#9 +RubyNext::Language::Rewriters::EndlessMethod::MIN_SUPPORTED_VERSION = T.let(T.unsafe(nil), Gem::Version) + +# source://ruby-next-core//lib/ruby-next/language/rewriters/3.0/endless_method.rb#7 +RubyNext::Language::Rewriters::EndlessMethod::NAME = T.let(T.unsafe(nil), String) + +# source://ruby-next-core//lib/ruby-next/language/rewriters/3.0/endless_method.rb#8 +RubyNext::Language::Rewriters::EndlessMethod::SYNTAX_PROBE = T.let(T.unsafe(nil), String) + +# source://ruby-next-core//lib/ruby-next/language/rewriters/3.1/endless_method_command.rb#6 +class RubyNext::Language::Rewriters::EndlessMethodCommand < ::RubyNext::Language::Rewriters::EndlessMethod + # source://ruby-next-core//lib/ruby-next/language/rewriters/3.1/endless_method_command.rb#11 + def process_def(node); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/3.1/endless_method_command.rb#17 + def process_defs(node); end + + private + + # @return [Boolean] + # + # source://ruby-next-core//lib/ruby-next/language/rewriters/3.1/endless_method_command.rb#25 + def command?(node); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/3.1/endless_method_command.rb#36 + def parser30; end +end + +# source://ruby-next-core//lib/ruby-next/language/rewriters/3.1/endless_method_command.rb#9 +RubyNext::Language::Rewriters::EndlessMethodCommand::MIN_SUPPORTED_VERSION = T.let(T.unsafe(nil), Gem::Version) + +# source://ruby-next-core//lib/ruby-next/language/rewriters/3.1/endless_method_command.rb#7 +RubyNext::Language::Rewriters::EndlessMethodCommand::NAME = T.let(T.unsafe(nil), String) + +# source://ruby-next-core//lib/ruby-next/language/rewriters/3.1/endless_method_command.rb#8 +RubyNext::Language::Rewriters::EndlessMethodCommand::SYNTAX_PROBE = T.let(T.unsafe(nil), String) + +# source://ruby-next-core//lib/ruby-next/language/rewriters/2.6/endless_range.rb#6 +class RubyNext::Language::Rewriters::EndlessRange < ::RubyNext::Language::Rewriters::Base + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.6/endless_range.rb#25 + def on_erange(node); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.6/endless_range.rb#11 + def on_index(node); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.6/endless_range.rb#25 + def on_irange(node); end + + private + + # Returns the value of attribute current_index. + # + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.6/endless_range.rb#55 + def current_index; end + + # @return [Boolean] + # + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.6/endless_range.rb#57 + def index_arg?(node); end +end + +# source://ruby-next-core//lib/ruby-next/language/rewriters/2.6/endless_range.rb#9 +RubyNext::Language::Rewriters::EndlessRange::MIN_SUPPORTED_VERSION = T.let(T.unsafe(nil), Gem::Version) + +# source://ruby-next-core//lib/ruby-next/language/rewriters/2.6/endless_range.rb#7 +RubyNext::Language::Rewriters::EndlessRange::NAME = T.let(T.unsafe(nil), String) + +# source://ruby-next-core//lib/ruby-next/language/rewriters/2.6/endless_range.rb#8 +RubyNext::Language::Rewriters::EndlessRange::SYNTAX_PROBE = T.let(T.unsafe(nil), String) + +# Separate pattern matching rewriter for Ruby 2.7 to +# transpile only case...in with a find pattern +# +# source://ruby-next-core//lib/ruby-next/language/rewriters/3.0/find_pattern.rb#10 +class RubyNext::Language::Rewriters::FindPattern < ::RubyNext::Language::Rewriters::PatternMatching + # source://ruby-next-core//lib/ruby-next/language/rewriters/3.0/find_pattern.rb#15 + def on_case_match(node); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/3.0/find_pattern.rb#31 + def on_find_pattern(node); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/3.0/find_pattern.rb#23 + def on_match_pattern(node); end + + private + + # Returns the value of attribute has_find_pattern. + # + # source://ruby-next-core//lib/ruby-next/language/rewriters/3.0/find_pattern.rb#38 + def has_find_pattern; end +end + +# source://ruby-next-core//lib/ruby-next/language/rewriters/3.0/find_pattern.rb#13 +RubyNext::Language::Rewriters::FindPattern::MIN_SUPPORTED_VERSION = T.let(T.unsafe(nil), Gem::Version) + +# source://ruby-next-core//lib/ruby-next/language/rewriters/3.0/find_pattern.rb#11 +RubyNext::Language::Rewriters::FindPattern::NAME = T.let(T.unsafe(nil), String) + +# source://ruby-next-core//lib/ruby-next/language/rewriters/3.0/find_pattern.rb#12 +RubyNext::Language::Rewriters::FindPattern::SYNTAX_PROBE = T.let(T.unsafe(nil), String) + +# Separate pattern matching rewriter for Ruby 2.7 to +# transpile only `in` patterns +# +# source://ruby-next-core//lib/ruby-next/language/rewriters/3.0/in_pattern.rb#10 +class RubyNext::Language::Rewriters::InPattern < ::RubyNext::Language::Rewriters::PatternMatching + # Make case-match no-op + # + # source://ruby-next-core//lib/ruby-next/language/rewriters/3.0/in_pattern.rb#16 + def on_case_match(node); end +end + +# source://ruby-next-core//lib/ruby-next/language/rewriters/3.0/in_pattern.rb#13 +RubyNext::Language::Rewriters::InPattern::MIN_SUPPORTED_VERSION = T.let(T.unsafe(nil), Gem::Version) + +# source://ruby-next-core//lib/ruby-next/language/rewriters/3.0/in_pattern.rb#11 +RubyNext::Language::Rewriters::InPattern::NAME = T.let(T.unsafe(nil), String) + +# source://ruby-next-core//lib/ruby-next/language/rewriters/3.0/in_pattern.rb#12 +RubyNext::Language::Rewriters::InPattern::SYNTAX_PROBE = T.let(T.unsafe(nil), String) + +# source://ruby-next-core//lib/ruby-next/language/rewriters/3.4/it_param.rb#6 +class RubyNext::Language::Rewriters::ItParam < ::RubyNext::Language::Rewriters::Base + # source://ruby-next-core//lib/ruby-next/language/rewriters/3.4/it_param.rb#13 + def on_block(node); end + + private + + # It's important to check if the current block refers to `it` variable somewhere + # (and not within a nested block), so we don't declare numbered params + # + # @return [Boolean] + # + # source://ruby-next-core//lib/ruby-next/language/rewriters/3.4/it_param.rb#39 + def block_has_it?(node); end + + # @return [Boolean] + # + # source://ruby-next-core//lib/ruby-next/language/rewriters/3.4/it_param.rb#52 + def it?(node); end +end + +# source://ruby-next-core//lib/ruby-next/language/rewriters/3.4/it_param.rb#11 +RubyNext::Language::Rewriters::ItParam::MIN_SUPPORTED_VERSION = T.let(T.unsafe(nil), Gem::Version) + +# source://ruby-next-core//lib/ruby-next/language/rewriters/3.4/it_param.rb#9 +RubyNext::Language::Rewriters::ItParam::NAME = T.let(T.unsafe(nil), String) + +# source://ruby-next-core//lib/ruby-next/language/rewriters/3.4/it_param.rb#10 +RubyNext::Language::Rewriters::ItParam::SYNTAX_PROBE = T.let(T.unsafe(nil), String) + +# source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/numbered_params.rb#6 +class RubyNext::Language::Rewriters::NumberedParams < ::RubyNext::Language::Rewriters::Base + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/numbered_params.rb#13 + def on_numblock(node); end + + private + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/numbered_params.rb#40 + def proc_args(n); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/numbered_params.rb#36 + def proc_args_str(n); end +end + +# source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/numbered_params.rb#11 +RubyNext::Language::Rewriters::NumberedParams::MIN_SUPPORTED_VERSION = T.let(T.unsafe(nil), Gem::Version) + +# source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/numbered_params.rb#9 +RubyNext::Language::Rewriters::NumberedParams::NAME = T.let(T.unsafe(nil), String) + +# source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/numbered_params.rb#10 +RubyNext::Language::Rewriters::NumberedParams::SYNTAX_PROBE = T.let(T.unsafe(nil), String) + +# source://ruby-next-core//lib/ruby-next/language/rewriters/2.1/numeric_literals.rb#6 +class RubyNext::Language::Rewriters::NumericLiterals < ::RubyNext::Language::Rewriters::Base + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.1/numeric_literals.rb#27 + def on_complex(node); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.1/numeric_literals.rb#13 + def on_rational(node); end +end + +# source://ruby-next-core//lib/ruby-next/language/rewriters/2.1/numeric_literals.rb#11 +RubyNext::Language::Rewriters::NumericLiterals::MIN_SUPPORTED_VERSION = T.let(T.unsafe(nil), Gem::Version) + +# source://ruby-next-core//lib/ruby-next/language/rewriters/2.1/numeric_literals.rb#9 +RubyNext::Language::Rewriters::NumericLiterals::NAME = T.let(T.unsafe(nil), String) + +# source://ruby-next-core//lib/ruby-next/language/rewriters/2.1/numeric_literals.rb#10 +RubyNext::Language::Rewriters::NumericLiterals::SYNTAX_PROBE = T.let(T.unsafe(nil), String) + +# Allow omitting parentheses around patterns in `=>` and `in` +# +# source://ruby-next-core//lib/ruby-next/language/rewriters/3.1/oneline_pattern_parensless.rb#9 +class RubyNext::Language::Rewriters::OnelinePatternParensless < ::RubyNext::Language::Rewriters::Base + # source://ruby-next-core//lib/ruby-next/language/rewriters/3.1/oneline_pattern_parensless.rb#14 + def on_match_pattern(node); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/3.1/oneline_pattern_parensless.rb#14 + def on_match_pattern_p(node); end +end + +# source://ruby-next-core//lib/ruby-next/language/rewriters/3.1/oneline_pattern_parensless.rb#12 +RubyNext::Language::Rewriters::OnelinePatternParensless::MIN_SUPPORTED_VERSION = T.let(T.unsafe(nil), Gem::Version) + +# source://ruby-next-core//lib/ruby-next/language/rewriters/3.1/oneline_pattern_parensless.rb#10 +RubyNext::Language::Rewriters::OnelinePatternParensless::NAME = T.let(T.unsafe(nil), String) + +# source://ruby-next-core//lib/ruby-next/language/rewriters/3.1/oneline_pattern_parensless.rb#11 +RubyNext::Language::Rewriters::OnelinePatternParensless::SYNTAX_PROBE = T.let(T.unsafe(nil), String) + +# source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#228 +class RubyNext::Language::Rewriters::PatternMatching < ::RubyNext::Language::Rewriters::Base + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#240 + def on_case_match(node); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#270 + def on_in_match(node); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#270 + def on_match_pattern(node); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#312 + def on_match_pattern_p(node); end + + private + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#705 + def arr_item_at(index, arr = T.unsafe(nil)); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#709 + def arr_slice(lindex, rindex, arr = T.unsafe(nil)); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#535 + def array_element(index, head, *tail); end + + # [*a, 1, 2, *] -> arr.find.with_index { |_, i| (a = arr.take(i)) && arr[i] == 1 && arr[i + 1] == 2 } + # + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#549 + def array_find(head, *nodes, tail); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#610 + def array_match_rest(index, node, *tail); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#642 + def array_pattern_array_element(node, index); end + + # =========== ARRAY PATTERN (START) =============== + # + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#474 + def array_pattern_clause(node, matchee = T.unsafe(nil)); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#845 + def array_pattern_hash_element(node, key); end + + # =========== ARRAY PATTERN (START) =============== + # + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#474 + def array_pattern_with_tail_clause(node, matchee = T.unsafe(nil)); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#631 + def array_rest_element(head, *tail, index); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#380 + def build_case_when(nodes); end + + # Value could be omitted for mass assignment + # + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#1082 + def build_var_assignment(var, value = T.unsafe(nil)); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#401 + def build_when_clause(clause); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#701 + def case_eq_array_element(node, index); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#466 + def case_eq_clause(node, right = T.unsafe(nil)); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#951 + def case_eq_hash_element(node, key); end + + # Raise SyntaxError if match-var is used within alternation + # https://github.com/ruby/ruby/blob/672213ef1ca2b71312084057e27580b340438796/compile.c#L5900 + # + # @raise [::SyntaxError] + # + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#1057 + def check_match_var_alternation!(name); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#666 + def const_pattern_array_element(node, index); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#419 + def const_pattern_clause(node, right = T.unsafe(nil)); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#863 + def const_pattern_hash_element(node, key); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#785 + def deconstruct_keys_node(keys, matchee = T.unsafe(nil)); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#510 + def deconstruct_node(matchee); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#1069 + def deconstructed_key(key); end + + # Returns the value of attribute deconstructed_keys. + # + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#1053 + def deconstructed_keys; end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#650 + def find_pattern_array_element(node, index); end + + # =========== ARRAY PATTERN (START) =============== + # + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#474 + def find_pattern_clause(node, matchee = T.unsafe(nil)); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#854 + def find_pattern_hash_element(node, key); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#872 + def hash_element(head, *tail); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#969 + def hash_has_key(key, hash = T.unsafe(nil)); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#658 + def hash_pattern_array_element(node, index); end + + # =========== HASH PATTERN (START) =============== + # + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#721 + def hash_pattern_clause(node, matchee = T.unsafe(nil)); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#763 + def hash_pattern_destruction_keys(children); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#836 + def hash_pattern_hash_element(node, key); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#754 + def hash_pattern_keys(children); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#955 + def hash_value_at(key, hash = T.unsafe(nil)); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#975 + def having_hash_keys(keys, hash = T.unsafe(nil)); end + + # Unparser generates `do .. end` or `{ ... }` multiline blocks, we want to + # have single-line blocks with `{ ... }`. + # + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#1077 + def inline_blocks(source); end + + # Returns the value of attribute lvars. + # + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#1053 + def lvars; end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#674 + def match_alt_array_element(node, index); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#432 + def match_alt_clause(node, matchee = T.unsafe(nil)); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#892 + def match_alt_hash_element(node, key); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#689 + def match_as_array_element(node, index); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#442 + def match_as_clause(node, right = T.unsafe(nil)); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#911 + def match_as_hash_element(node, key); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#930 + def match_nil_pattern_hash_element(node, _key = T.unsafe(nil)); end + + # @raise [ArgumentError] + # + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#936 + def match_rest_hash_element(node, _key = T.unsafe(nil)); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#681 + def match_var_array_element(node, index); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#449 + def match_var_clause(node, left = T.unsafe(nil)); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#920 + def match_var_hash_element(node, key = T.unsafe(nil)); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#779 + def match_var_hash_key(node); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#1043 + def method_missing(mid, *args, &block); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#1019 + def no_matching_pattern; end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#887 + def pair_hash_element(node, _key = T.unsafe(nil)); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#775 + def pair_hash_key(node); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#697 + def pin_array_element(node, index); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#461 + def pin_clause(node, right = T.unsafe(nil)); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#947 + def pin_hash_element(node, index); end + + # Returns the value of attribute predicates. + # + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#1053 + def predicates; end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#1027 + def raise_error(type, msg = T.unsafe(nil)); end + + # Add respond_to? check + # + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#1034 + def respond_to_check(node, mid); end + + # @return [Boolean] + # + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#1038 + def respond_to_missing?(mid, *_arg1); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#349 + def rewrite_case_in!(node, matchee, new_node); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#1001 + def with_declared_locals; end + + # =========== HASH PATTERN (END) =============== + # + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#989 + def with_guard(node, guard); end +end + +# source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#237 +RubyNext::Language::Rewriters::PatternMatching::ALTERNATION_MARKER = T.let(T.unsafe(nil), Symbol) + +# source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#238 +RubyNext::Language::Rewriters::PatternMatching::CURRENT_HASH_KEY = T.let(T.unsafe(nil), Symbol) + +# source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#233 +RubyNext::Language::Rewriters::PatternMatching::MATCHEE = T.let(T.unsafe(nil), Symbol) + +# source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#234 +RubyNext::Language::Rewriters::PatternMatching::MATCHEE_ARR = T.let(T.unsafe(nil), Symbol) + +# source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#235 +RubyNext::Language::Rewriters::PatternMatching::MATCHEE_HASH = T.let(T.unsafe(nil), Symbol) + +# source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#231 +RubyNext::Language::Rewriters::PatternMatching::MIN_SUPPORTED_VERSION = T.let(T.unsafe(nil), Gem::Version) + +# source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#229 +RubyNext::Language::Rewriters::PatternMatching::NAME = T.let(T.unsafe(nil), String) + +# source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#230 +RubyNext::Language::Rewriters::PatternMatching::SYNTAX_PROBE = T.let(T.unsafe(nil), String) + +# Separate pattern matching rewriter for Ruby 2.7 and 3.0 to +# transpile only ^(ivar|cvar|gvar) +# +# source://ruby-next-core//lib/ruby-next/language/rewriters/3.1/pin_vars_pattern.rb#10 +class RubyNext::Language::Rewriters::PinVarsPattern < ::RubyNext::Language::Rewriters::PatternMatching + # source://ruby-next-core//lib/ruby-next/language/rewriters/3.1/pin_vars_pattern.rb#15 + def on_case_match(node); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/3.1/pin_vars_pattern.rb#23 + def on_match_pattern(node); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/3.1/pin_vars_pattern.rb#31 + def on_match_pattern_p(node); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/3.1/pin_vars_pattern.rb#39 + def on_pin(node); end + + private + + # Returns the value of attribute has_pin_vars. + # + # source://ruby-next-core//lib/ruby-next/language/rewriters/3.1/pin_vars_pattern.rb#46 + def has_pin_vars; end +end + +# source://ruby-next-core//lib/ruby-next/language/rewriters/3.1/pin_vars_pattern.rb#13 +RubyNext::Language::Rewriters::PinVarsPattern::MIN_SUPPORTED_VERSION = T.let(T.unsafe(nil), Gem::Version) + +# source://ruby-next-core//lib/ruby-next/language/rewriters/3.1/pin_vars_pattern.rb#11 +RubyNext::Language::Rewriters::PinVarsPattern::NAME = T.let(T.unsafe(nil), String) + +# source://ruby-next-core//lib/ruby-next/language/rewriters/3.1/pin_vars_pattern.rb#12 +RubyNext::Language::Rewriters::PinVarsPattern::SYNTAX_PROBE = T.let(T.unsafe(nil), String) + +# We can memoize structural predicates to avoid double calculation. +# +# For example, consider the following case and the corresponding predicate chains: +# +# case val +# in [:ok, 200] #=> [:respond_to_deconstruct, :deconstruct_type, :arr_size_is_2] +# in [:created, 201] #=> [:respond_to_deconstruct, :deconstruct_type, :arr_size_is_2] +# in [401 | 403] #=> [:respond_to_deconstruct, :deconstruct_type, :arr_size_is_1] +# end +# +# We can minimize the number of predicate calls by storing the intermediate values (prefixed with `p_`) and using them +# in the subsequent calls: +# +# case val +# in [:ok, 200] #=> [:respond_to_deconstruct, :deconstruct_type, :arr_size_is_2] +# in [:created, 201] #=> [:p_deconstructed, :p_arr_size_2] +# in [401 | 403] #=> [:p_deconstructed, :arr_size_is_1] +# end +# +# This way we mimic a naive decision tree algorithim. +# +# source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#64 +module RubyNext::Language::Rewriters::Predicates; end + +# source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#111 +class RubyNext::Language::Rewriters::Predicates::Base + # @return [Base] a new instance of Base + # + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#115 + def initialize; end + + # Returns the value of attribute count. + # + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#112 + def count; end + + # Returns the value of attribute current_path. + # + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#112 + def current_path; end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#135 + def pop; end + + # @return [Boolean] + # + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#151 + def pred?(name); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#143 + def predicate_clause(name, node); end + + # Returns the value of attribute predicates_by_path. + # + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#112 + def predicates_by_path; end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#174 + def process(ast); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#131 + def push(path); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#155 + def read_pred(name); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#126 + def reset!; end + + # Returns the value of attribute store. + # + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#112 + def store; end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#139 + def terminate!; end + + # Returns the value of attribute terminated. + # + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#112 + def terminated; end + + # Returns the value of attribute terminated. + # + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#112 + def terminated?; end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#162 + def write_pred(name, node); end + + private + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#180 + def s(type, *children); end +end + +# source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#195 +class RubyNext::Language::Rewriters::Predicates::CaseIn < ::RubyNext::Language::Rewriters::Predicates::Base + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#208 + def array_deconstructed(node); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#204 + def array_size(node, size); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#196 + def const(node, const); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#212 + def hash_deconstructed(node, keys); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#220 + def hash_keys(node, keys); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#200 + def respond_to_deconstruct(node); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#216 + def respond_to_deconstruct_keys(node); end +end + +# source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#186 +class RubyNext::Language::Rewriters::Predicates::Noop < ::RubyNext::Language::Rewriters::Predicates::Base + # Return node itself, no memoization + # + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#188 + def method_missing(mid, node, *_arg2); end +end + +# source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#65 +class RubyNext::Language::Rewriters::Predicates::Processor < ::Parser::TreeRewriter + # @return [Processor] a new instance of Processor + # + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#68 + def initialize(predicates); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#82 + def on_and(node); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#73 + def on_lvasgn(node); end + + # Returns the value of attribute predicates. + # + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#66 + def predicates; end + + private + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.7/pattern_matching.rb#102 + def truthy(node); end +end + +# source://ruby-next-core//lib/ruby-next/language/rewriters/3.1/refinement_import_methods.rb#7 +class RubyNext::Language::Rewriters::RefinementImportMethods < ::RubyNext::Language::Rewriters::Base + # source://ruby-next-core//lib/ruby-next/language/rewriters/3.1/refinement_import_methods.rb#12 + def on_block(node); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/3.1/refinement_import_methods.rb#34 + def on_send(node); end +end + +# source://ruby-next-core//lib/ruby-next/language/rewriters/3.1/refinement_import_methods.rb#10 +RubyNext::Language::Rewriters::RefinementImportMethods::MIN_SUPPORTED_VERSION = T.let(T.unsafe(nil), Gem::Version) + +# source://ruby-next-core//lib/ruby-next/language/rewriters/3.1/refinement_import_methods.rb#8 +RubyNext::Language::Rewriters::RefinementImportMethods::NAME = T.let(T.unsafe(nil), String) + +# source://ruby-next-core//lib/ruby-next/language/rewriters/3.1/refinement_import_methods.rb#9 +RubyNext::Language::Rewriters::RefinementImportMethods::SYNTAX_PROBE = T.let(T.unsafe(nil), String) + +# source://ruby-next-core//lib/ruby-next/language/rewriters/2.1/required_kwargs.rb#6 +class RubyNext::Language::Rewriters::RequiredKwargs < ::RubyNext::Language::Rewriters::Base + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.1/required_kwargs.rb#13 + def on_kwarg(node); end + + private + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.1/required_kwargs.rb#30 + def raise_missing_keyword(name); end +end + +# source://ruby-next-core//lib/ruby-next/language/rewriters/2.1/required_kwargs.rb#11 +RubyNext::Language::Rewriters::RequiredKwargs::MIN_SUPPORTED_VERSION = T.let(T.unsafe(nil), Gem::Version) + +# source://ruby-next-core//lib/ruby-next/language/rewriters/2.1/required_kwargs.rb#9 +RubyNext::Language::Rewriters::RequiredKwargs::NAME = T.let(T.unsafe(nil), String) + +# source://ruby-next-core//lib/ruby-next/language/rewriters/2.1/required_kwargs.rb#10 +RubyNext::Language::Rewriters::RequiredKwargs::SYNTAX_PROBE = T.let(T.unsafe(nil), String) + +# source://ruby-next-core//lib/ruby-next/language/rewriters/2.5/rescue_within_block.rb#6 +class RubyNext::Language::Rewriters::RescueWithinBlock < ::RubyNext::Language::Rewriters::Base + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.5/rescue_within_block.rb#16 + def on_block(block_node); end +end + +# source://ruby-next-core//lib/ruby-next/language/rewriters/2.5/rescue_within_block.rb#14 +RubyNext::Language::Rewriters::RescueWithinBlock::MIN_SUPPORTED_VERSION = T.let(T.unsafe(nil), Gem::Version) + +# source://ruby-next-core//lib/ruby-next/language/rewriters/2.5/rescue_within_block.rb#7 +RubyNext::Language::Rewriters::RescueWithinBlock::NAME = T.let(T.unsafe(nil), String) + +# source://ruby-next-core//lib/ruby-next/language/rewriters/2.5/rescue_within_block.rb#8 +RubyNext::Language::Rewriters::RescueWithinBlock::SYNTAX_PROBE = T.let(T.unsafe(nil), String) + +# source://ruby-next-core//lib/ruby-next/language/rewriters/2.3/safe_navigation.rb#6 +class RubyNext::Language::Rewriters::SafeNavigation < ::RubyNext::Language::Rewriters::Base + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.3/safe_navigation.rb#34 + def on_block(node); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.3/safe_navigation.rb#13 + def on_csend(node); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.3/safe_navigation.rb#42 + def on_numblock(node); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.3/safe_navigation.rb#50 + def on_op_asgn(node); end + + private + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.3/safe_navigation.rb#60 + def decsendize(node); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.3/safe_navigation.rb#98 + def safe_lvar; end + + # Transform: x&.y -> ((_tmp_ = x) || true) && (!_tmp_.nil? || nil) && _tmp_.y + # This allows us to handle `false&.to_s == "false"` + # + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.3/safe_navigation.rb#83 + def safe_navigation(node); end +end + +# source://ruby-next-core//lib/ruby-next/language/rewriters/2.3/safe_navigation.rb#9 +RubyNext::Language::Rewriters::SafeNavigation::MIN_SUPPORTED_VERSION = T.let(T.unsafe(nil), Gem::Version) + +# source://ruby-next-core//lib/ruby-next/language/rewriters/2.3/safe_navigation.rb#7 +RubyNext::Language::Rewriters::SafeNavigation::NAME = T.let(T.unsafe(nil), String) + +# source://ruby-next-core//lib/ruby-next/language/rewriters/2.3/safe_navigation.rb#11 +RubyNext::Language::Rewriters::SafeNavigation::SAFE_LVAR = T.let(T.unsafe(nil), Symbol) + +# source://ruby-next-core//lib/ruby-next/language/rewriters/2.3/safe_navigation.rb#8 +RubyNext::Language::Rewriters::SafeNavigation::SYNTAX_PROBE = T.let(T.unsafe(nil), String) + +# source://ruby-next-core//lib/ruby-next/language/rewriters/3.1/shorthand_hash.rb#6 +class RubyNext::Language::Rewriters::ShorthandHash < ::RubyNext::Language::Rewriters::Base + # source://ruby-next-core//lib/ruby-next/language/rewriters/3.1/shorthand_hash.rb#11 + def on_pair(node); end + + private + + # source://ruby-next-core//lib/ruby-next/language/rewriters/3.1/shorthand_hash.rb#37 + def key_from_ident(node); end +end + +# source://ruby-next-core//lib/ruby-next/language/rewriters/3.1/shorthand_hash.rb#9 +RubyNext::Language::Rewriters::ShorthandHash::MIN_SUPPORTED_VERSION = T.let(T.unsafe(nil), Gem::Version) + +# source://ruby-next-core//lib/ruby-next/language/rewriters/3.1/shorthand_hash.rb#7 +RubyNext::Language::Rewriters::ShorthandHash::NAME = T.let(T.unsafe(nil), String) + +# source://ruby-next-core//lib/ruby-next/language/rewriters/3.1/shorthand_hash.rb#8 +RubyNext::Language::Rewriters::ShorthandHash::SYNTAX_PROBE = T.let(T.unsafe(nil), String) + +# source://ruby-next-core//lib/ruby-next/language/rewriters/2.3/squiggly_heredoc.rb#6 +class RubyNext::Language::Rewriters::SquigglyHeredoc < ::RubyNext::Language::Rewriters::Base + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.3/squiggly_heredoc.rb#11 + def on_dstr(node); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.3/squiggly_heredoc.rb#11 + def on_str(node); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/2.3/squiggly_heredoc.rb#11 + def on_xstr(node); end +end + +# source://ruby-next-core//lib/ruby-next/language/rewriters/2.3/squiggly_heredoc.rb#9 +RubyNext::Language::Rewriters::SquigglyHeredoc::MIN_SUPPORTED_VERSION = T.let(T.unsafe(nil), Gem::Version) + +# source://ruby-next-core//lib/ruby-next/language/rewriters/2.3/squiggly_heredoc.rb#7 +RubyNext::Language::Rewriters::SquigglyHeredoc::NAME = T.let(T.unsafe(nil), String) + +# source://ruby-next-core//lib/ruby-next/language/rewriters/2.3/squiggly_heredoc.rb#8 +RubyNext::Language::Rewriters::SquigglyHeredoc::SYNTAX_PROBE = T.let(T.unsafe(nil), String) + +# source://ruby-next-core//lib/ruby-next/language/rewriters/text.rb#8 +class RubyNext::Language::Rewriters::Text < ::RubyNext::Language::Rewriters::Abstract + # Rewrite source code by ignoring string literals and comments + # + # source://ruby-next-core//lib/ruby-next/language/rewriters/text.rb#110 + def rewrite(source); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/text.rb#118 + def safe_rewrite(source); end + + private + + # source://ruby-next-core//lib/ruby-next/language/rewriters/text.rb#124 + def parse(source); end + + class << self + # source://ruby-next-core//lib/ruby-next/language/rewriters/text.rb#98 + def paco_parser; end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/text.rb#94 + def parser(&block); end + + # @return [Boolean] + # + # source://ruby-next-core//lib/ruby-next/language/rewriters/text.rb#104 + def text?; end + end +end + +# source://ruby-next-core//lib/ruby-next/language/rewriters/text.rb#11 +class RubyNext::Language::Rewriters::Text::Normalizer < ::RubyNext::Language::PacoParsers::Base + # @return [Normalizer] a new instance of Normalizer + # + # source://ruby-next-core//lib/ruby-next/language/rewriters/text.rb#14 + def initialize; end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/text.rb#18 + def normalizing(source); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/text.rb#70 + def parse_comments; end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/text.rb#74 + def parse_strings; end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/text.rb#64 + def restore(source); end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/text.rb#60 + def ruby_code; end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/text.rb#39 + def ruby_comment; end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/text.rb#46 + def ruby_string; end + + # Returns the value of attribute store. + # + # source://ruby-next-core//lib/ruby-next/language/rewriters/text.rb#12 + def store; end +end + +# Base class for rewriting parsers which adds the #track! method +# +# source://ruby-next-core//lib/ruby-next/language/rewriters/text.rb#80 +class RubyNext::Language::Rewriters::Text::PacoParser < ::RubyNext::Language::PacoParsers::Base + # @return [PacoParser] a new instance of PacoParser + # + # source://ruby-next-core//lib/ruby-next/language/rewriters/text.rb#83 + def initialize(rewriter, context); end + + # Returns the value of attribute context. + # + # source://ruby-next-core//lib/ruby-next/language/rewriters/text.rb#81 + def context; end + + # Returns the value of attribute rewriter. + # + # source://ruby-next-core//lib/ruby-next/language/rewriters/text.rb#81 + def rewriter; end + + # source://ruby-next-core//lib/ruby-next/language/rewriters/text.rb#88 + def track!; end +end + +# Module responsible for runtime transformations +# +# source://ruby-next-core//lib/ruby-next/language/runtime.rb#14 +module RubyNext::Language::Runtime + class << self + # source://ruby-next-core//lib/ruby-next/language/runtime.rb#18 + def load(path, contents); end + + # source://ruby-next-core//lib/ruby-next/language/runtime.rb#27 + def transform(contents, **options); end + end +end + +# source://ruby-next-core//lib/ruby-next/language.rb#31 +class RubyNext::Language::TransformContext + # @return [TransformContext] a new instance of TransformContext + # + # source://ruby-next-core//lib/ruby-next/language.rb#34 + def initialize(path: T.unsafe(nil)); end + + # @return [Boolean] + # + # source://ruby-next-core//lib/ruby-next/language.rb#55 + def dirty?; end + + # source://ruby-next-core//lib/ruby-next/language.rb#59 + def min_version; end + + # Returns the value of attribute path. + # + # source://ruby-next-core//lib/ruby-next/language.rb#32 + def path; end + + # source://ruby-next-core//lib/ruby-next/language.rb#63 + def sorted_versions; end + + # Called by rewriter when it performs transfomrations + # + # source://ruby-next-core//lib/ruby-next/language.rb#44 + def track!(rewriter); end + + # Returns the value of attribute use_ruby_next. + # + # source://ruby-next-core//lib/ruby-next/language.rb#32 + def use_ruby_next; end + + # source://ruby-next-core//lib/ruby-next/language.rb#49 + def use_ruby_next!; end + + # Returns the value of attribute use_ruby_next. + # + # source://ruby-next-core//lib/ruby-next/language.rb#32 + def use_ruby_next?; end + + # Returns the value of attribute versions. + # + # source://ruby-next-core//lib/ruby-next/language.rb#32 + def versions; end +end + +# Mininum Ruby version supported by RubyNext +# +# source://ruby-next-core//lib/ruby-next/config.rb#5 +RubyNext::MIN_SUPPORTED_VERSION = T.let(T.unsafe(nil), Gem::Version) + +# A virtual version number used for proposed features +# +# source://ruby-next-core//lib/ruby-next/config.rb#19 +RubyNext::NEXT_VERSION = T.let(T.unsafe(nil), String) + +# Where to store transpiled files (relative from the project LOAD_PATH, usually `lib/`) +# +# source://ruby-next-core//lib/ruby-next/config.rb#8 +RubyNext::RUBY_NEXT_DIR = T.let(T.unsafe(nil), String) + +# source://ruby-next-core//lib/ruby-next/utils.rb#4 +module RubyNext::Utils + private + + # Returns true if modules refinement is supported in current version + # + # source://ruby-next-core//lib/ruby-next/utils.rb#16 + def refine_modules?; end + + # source://ruby-next-core//lib/ruby-next/utils.rb#7 + def source_with_lines(source, path); end + + class << self + # Returns true if modules refinement is supported in current version + # + # @return [Boolean] + # + # source://ruby-next-core//lib/ruby-next/utils.rb#16 + def refine_modules?; end + + # source://ruby-next-core//lib/ruby-next/utils.rb#7 + def source_with_lines(source, path); end + end +end + +# source://ruby-next-core//lib/ruby-next/version.rb#4 +RubyNext::VERSION = T.let(T.unsafe(nil), String) diff --git a/sorbet/rbi/gems/ruby-next-parser@3.4.0.2.rbi b/sorbet/rbi/gems/ruby-next-parser@3.4.0.2.rbi new file mode 100644 index 00000000..93585fc5 --- /dev/null +++ b/sorbet/rbi/gems/ruby-next-parser@3.4.0.2.rbi @@ -0,0 +1,9 @@ +# typed: true + +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `ruby-next-parser` gem. +# Please instead update this file by running `bin/tapioca gem ruby-next-parser`. + + +# THIS IS AN EMPTY RBI FILE. +# see https://github.com/Shopify/tapioca#manually-requiring-parts-of-a-gem diff --git a/sorbet/rbi/gems/ruby-next@1.1.1.rbi b/sorbet/rbi/gems/ruby-next@1.1.1.rbi new file mode 100644 index 00000000..347a7e36 --- /dev/null +++ b/sorbet/rbi/gems/ruby-next@1.1.1.rbi @@ -0,0 +1,9 @@ +# typed: true + +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `ruby-next` gem. +# Please instead update this file by running `bin/tapioca gem ruby-next`. + + +# THIS IS AN EMPTY RBI FILE. +# see https://github.com/Shopify/tapioca#manually-requiring-parts-of-a-gem diff --git a/sorbet/rbi/gems/spoom@1.5.1.rbi b/sorbet/rbi/gems/spoom@1.5.1.rbi deleted file mode 100644 index 55477e34..00000000 --- a/sorbet/rbi/gems/spoom@1.5.1.rbi +++ /dev/null @@ -1,5039 +0,0 @@ -# typed: true - -# DO NOT EDIT MANUALLY -# This is an autogenerated file for types exported from the `spoom` gem. -# Please instead update this file by running `bin/tapioca gem spoom`. - - -# source://spoom/lib/spoom.rb#7 -module Spoom - class << self - # source://spoom/lib/spoom/parse.rb#13 - sig { params(ruby: ::String, file: ::String).returns(::Prism::Node) } - def parse_ruby(ruby, file:); end - end -end - -# source://spoom/lib/spoom/backtrace_filter/minitest.rb#7 -module Spoom::BacktraceFilter; end - -# source://spoom/lib/spoom/backtrace_filter/minitest.rb#8 -class Spoom::BacktraceFilter::Minitest < ::Minitest::BacktraceFilter - # source://spoom/lib/spoom/backtrace_filter/minitest.rb#14 - sig { override.params(bt: T.nilable(T::Array[::String])).returns(T::Array[::String]) } - def filter(bt); end -end - -# source://spoom/lib/spoom/backtrace_filter/minitest.rb#11 -Spoom::BacktraceFilter::Minitest::SORBET_PATHS = T.let(T.unsafe(nil), Array) - -# source://spoom/lib/spoom/cli/helper.rb#9 -module Spoom::Cli; end - -# source://spoom/lib/spoom/cli/deadcode.rb#8 -class Spoom::Cli::Deadcode < ::Thor - include ::Spoom::Colorize - include ::Spoom::Cli::Helper - - # source://spoom/lib/spoom/cli/deadcode.rb#52 - sig { params(paths: ::String).void } - def deadcode(*paths); end - - def help(command = T.unsafe(nil), subcommand = T.unsafe(nil)); end - - # source://spoom/lib/spoom/cli/deadcode.rb#154 - def remove(location_string); end -end - -# source://spoom/lib/spoom/cli/helper.rb#10 -module Spoom::Cli::Helper - include ::Spoom::Colorize - - requires_ancestor { Thor } - - # source://spoom/lib/spoom/cli/helper.rb#139 - sig { params(string: ::String).returns(::String) } - def blue(string); end - - # Is the `--color` option true? - # - # source://spoom/lib/spoom/cli/helper.rb#103 - sig { returns(T::Boolean) } - def color?; end - - # Colorize a string if `color?` - # - # source://spoom/lib/spoom/cli/helper.rb#132 - sig { params(string: ::String, color: ::Spoom::Color).returns(::String) } - def colorize(string, *color); end - - # Returns the context at `--path` (by default the current working directory) - # - # source://spoom/lib/spoom/cli/helper.rb#71 - sig { returns(::Spoom::Context) } - def context; end - - # Raise if `spoom` is not ran inside a context with a `sorbet/config` file - # - # source://spoom/lib/spoom/cli/helper.rb#77 - sig { returns(::Spoom::Context) } - def context_requiring_sorbet!; end - - # source://spoom/lib/spoom/cli/helper.rb#144 - sig { params(string: ::String).returns(::String) } - def cyan(string); end - - # Return the path specified through `--path` - # - # source://spoom/lib/spoom/cli/helper.rb#92 - sig { returns(::String) } - def exec_path; end - - # source://spoom/lib/spoom/cli/helper.rb#149 - sig { params(string: ::String).returns(::String) } - def gray(string); end - - # source://spoom/lib/spoom/cli/helper.rb#154 - sig { params(string: ::String).returns(::String) } - def green(string); end - - # source://spoom/lib/spoom/cli/helper.rb#108 - sig { params(string: ::String).returns(::String) } - def highlight(string); end - - # source://spoom/lib/spoom/cli/helper.rb#159 - sig { params(string: ::String).returns(::String) } - def red(string); end - - # Print `message` on `$stdout` - # - # source://spoom/lib/spoom/cli/helper.rb#20 - sig { params(message: ::String).void } - def say(message); end - - # Print `message` on `$stderr` - # - # The message is prefixed by a status (default: `Error`). - # - # source://spoom/lib/spoom/cli/helper.rb#39 - sig { params(message: ::String, status: T.nilable(::String), nl: T::Boolean).void } - def say_error(message, status: T.unsafe(nil), nl: T.unsafe(nil)); end - - # Print `message` on `$stderr` - # - # The message is prefixed by a status (default: `Warning`). - # - # source://spoom/lib/spoom/cli/helper.rb#59 - sig { params(message: ::String, status: T.nilable(::String), nl: T::Boolean).void } - def say_warning(message, status: T.unsafe(nil), nl: T.unsafe(nil)); end - - # source://spoom/lib/spoom/cli/helper.rb#164 - sig { params(string: ::String).returns(::String) } - def yellow(string); end -end - -# source://spoom/lib/spoom/cli.rb#12 -class Spoom::Cli::Main < ::Thor - include ::Spoom::Colorize - include ::Spoom::Cli::Helper - - # source://spoom/lib/spoom/cli.rb#101 - def __print_version; end - - # source://spoom/lib/spoom/cli.rb#58 - sig { params(directory: ::String).void } - def bump(directory = T.unsafe(nil)); end - - # source://spoom/lib/spoom/cli.rb#65 - def coverage(*args); end - - # source://thor/1.3.2lib/thor.rb#334 - def deadcode(*args); end - - # source://spoom/lib/spoom/cli.rb#75 - def lsp(*args); end - - # source://thor/1.3.2lib/thor.rb#334 - def srb(*args); end - - # source://spoom/lib/spoom/cli.rb#94 - def tc(*paths_to_select); end - - class << self - # @return [Boolean] - # - # source://spoom/lib/spoom/cli.rb#108 - def exit_on_failure?; end - end -end - -# source://spoom/lib/spoom/cli.rb#81 -Spoom::Cli::Main::SORT_CODE = T.let(T.unsafe(nil), String) - -# source://spoom/lib/spoom/cli.rb#83 -Spoom::Cli::Main::SORT_ENUM = T.let(T.unsafe(nil), Array) - -# source://spoom/lib/spoom/cli.rb#82 -Spoom::Cli::Main::SORT_LOC = T.let(T.unsafe(nil), String) - -# source://spoom/lib/spoom/cli/srb/bump.rb#9 -module Spoom::Cli::Srb; end - -# source://spoom/lib/spoom/cli/srb/bump.rb#10 -class Spoom::Cli::Srb::Bump < ::Thor - include ::Spoom::Colorize - include ::Spoom::Cli::Helper - - # source://spoom/lib/spoom/cli/srb/bump.rb#50 - sig { params(directory: ::String).void } - def bump(directory = T.unsafe(nil)); end - - def help(command = T.unsafe(nil), subcommand = T.unsafe(nil)); end - - # source://spoom/lib/spoom/cli/srb/bump.rb#171 - def print_changes(files, command:, from: T.unsafe(nil), to: T.unsafe(nil), dry: T.unsafe(nil), path: T.unsafe(nil)); end - - # source://spoom/lib/spoom/cli/srb/bump.rb#193 - def undo_changes(files, from_strictness); end -end - -# source://spoom/lib/spoom/cli/srb/coverage.rb#10 -class Spoom::Cli::Srb::Coverage < ::Thor - include ::Spoom::Colorize - include ::Spoom::Cli::Helper - - # source://spoom/lib/spoom/cli/srb/coverage.rb#199 - def bundle_install(path, sha); end - - def help(command = T.unsafe(nil), subcommand = T.unsafe(nil)); end - - # source://spoom/lib/spoom/cli/srb/coverage.rb#211 - def message_no_data(file); end - - # source://spoom/lib/spoom/cli/srb/coverage.rb#174 - def open(file = T.unsafe(nil)); end - - # source://spoom/lib/spoom/cli/srb/coverage.rb#190 - def parse_time(string, option); end - - # source://spoom/lib/spoom/cli/srb/coverage.rb#143 - def report; end - - # source://spoom/lib/spoom/cli/srb/coverage.rb#21 - def snapshot; end - - # source://spoom/lib/spoom/cli/srb/coverage.rb#43 - def timeline; end -end - -# source://spoom/lib/spoom/cli/srb/coverage.rb#13 -Spoom::Cli::Srb::Coverage::DATA_DIR = T.let(T.unsafe(nil), String) - -# source://spoom/lib/spoom/cli/srb/lsp.rb#11 -class Spoom::Cli::Srb::LSP < ::Thor - include ::Spoom::Colorize - include ::Spoom::Cli::Helper - - # TODO: options, filter, limit, kind etc.. filter rbi - # - # source://spoom/lib/spoom/cli/srb/lsp.rb#45 - def defs(file, line, col); end - - # TODO: options, filter, limit, kind etc.. filter rbi - # - # source://spoom/lib/spoom/cli/srb/lsp.rb#55 - def find(query); end - - def help(command = T.unsafe(nil), subcommand = T.unsafe(nil)); end - - # TODO: options, filter, limit, kind etc.. filter rbi - # - # source://spoom/lib/spoom/cli/srb/lsp.rb#31 - def hover(file, line, col); end - - # TODO: options, filter, limit, kind etc.. filter rbi - # - # source://spoom/lib/spoom/cli/srb/lsp.rb#16 - def list; end - - # source://spoom/lib/spoom/cli/srb/lsp.rb#104 - def lsp_client; end - - # TODO: options, filter, limit, kind etc.. filter rbi - # - # source://spoom/lib/spoom/cli/srb/lsp.rb#75 - def refs(file, line, col); end - - # source://spoom/lib/spoom/cli/srb/lsp.rb#127 - def run(&block); end - - # TODO: options, filter, limit, kind etc.. filter rbi - # - # source://spoom/lib/spoom/cli/srb/lsp.rb#85 - def sigs(file, line, col); end - - # source://spoom/lib/spoom/cli/srb/lsp.rb#119 - def symbol_printer; end - - # TODO: options, filter, limit, kind etc.. filter rbi - # - # source://spoom/lib/spoom/cli/srb/lsp.rb#65 - def symbols(file); end - - # source://spoom/lib/spoom/cli/srb/lsp.rb#152 - def to_uri(path); end - - # TODO: options, filter, limit, kind etc.. filter rbi - # - # source://spoom/lib/spoom/cli/srb/lsp.rb#95 - def types(file, line, col); end -end - -# source://spoom/lib/spoom/cli/srb.rb#13 -class Spoom::Cli::Srb::Main < ::Thor - # source://thor/1.3.2lib/thor.rb#334 - def bump(*args); end - - # source://thor/1.3.2lib/thor.rb#334 - def coverage(*args); end - - def help(command = T.unsafe(nil), subcommand = T.unsafe(nil)); end - - # source://thor/1.3.2lib/thor.rb#334 - def lsp(*args); end - - # source://thor/1.3.2lib/thor.rb#334 - def sigs(*args); end - - # source://thor/1.3.2lib/thor.rb#334 - def tc(*args); end -end - -# source://spoom/lib/spoom/cli/srb/sigs.rb#9 -class Spoom::Cli::Srb::Sigs < ::Thor - include ::Spoom::Colorize - include ::Spoom::Cli::Helper - - # source://spoom/lib/spoom/cli/srb/sigs.rb#45 - def collect_files(paths); end - - def help(command = T.unsafe(nil), subcommand = T.unsafe(nil)); end - - # source://spoom/lib/spoom/cli/srb/sigs.rb#32 - def strip(*paths); end - - # source://spoom/lib/spoom/cli/srb/sigs.rb#64 - def transform_files(files, &block); end - - # source://spoom/lib/spoom/cli/srb/sigs.rb#16 - def translate(*paths); end -end - -# source://spoom/lib/spoom/cli/srb/tc.rb#7 -class Spoom::Cli::Srb::Tc < ::Thor - include ::Spoom::Colorize - include ::Spoom::Cli::Helper - - # source://spoom/lib/spoom/cli/srb/tc.rb#132 - def colorize_message(message); end - - # source://spoom/lib/spoom/cli/srb/tc.rb#123 - def format_error(error, format); end - - def help(command = T.unsafe(nil), subcommand = T.unsafe(nil)); end - - # source://spoom/lib/spoom/cli/srb/tc.rb#27 - def tc(*paths_to_select); end -end - -# source://spoom/lib/spoom/cli/srb/tc.rb#16 -Spoom::Cli::Srb::Tc::DEFAULT_FORMAT = T.let(T.unsafe(nil), String) - -# source://spoom/lib/spoom/cli/srb/tc.rb#12 -Spoom::Cli::Srb::Tc::SORT_CODE = T.let(T.unsafe(nil), String) - -# source://spoom/lib/spoom/cli/srb/tc.rb#14 -Spoom::Cli::Srb::Tc::SORT_ENUM = T.let(T.unsafe(nil), Array) - -# source://spoom/lib/spoom/cli/srb/tc.rb#13 -Spoom::Cli::Srb::Tc::SORT_LOC = T.let(T.unsafe(nil), String) - -# source://spoom/lib/spoom/colors.rb#5 -class Spoom::Color < ::T::Enum - enums do - BLACK = new - BLUE = new - BOLD = new - CLEAR = new - CYAN = new - GREEN = new - LIGHT_BLACK = new - LIGHT_BLUE = new - LIGHT_CYAN = new - LIGHT_GREEN = new - LIGHT_MAGENTA = new - LIGHT_RED = new - LIGHT_WHITE = new - LIGHT_YELLOW = new - MAGENTA = new - RED = new - WHITE = new - YELLOW = new - end - - # source://spoom/lib/spoom/colors.rb#32 - sig { returns(::String) } - def ansi_code; end -end - -# source://spoom/lib/spoom/colors.rb#37 -module Spoom::Colorize - # source://spoom/lib/spoom/colors.rb#41 - sig { params(string: ::String, color: ::Spoom::Color).returns(::String) } - def set_color(string, *color); end -end - -# An abstraction to a Ruby project context -# -# A context maps to a directory in the file system. -# It is used to manipulate files and run commands in the context of this directory. -# -# source://spoom/lib/spoom/context/bundle.rb#5 -class Spoom::Context - include ::Spoom::Context::Bundle - include ::Spoom::Context::Exec - include ::Spoom::Context::FileSystem - include ::Spoom::Context::Git - include ::Spoom::Context::Sorbet - - # Create a new context about `absolute_path` - # - # The directory will not be created if it doesn't exist. - # Call `#make!` to create it. - # - # source://spoom/lib/spoom/context.rb#51 - sig { params(absolute_path: ::String).void } - def initialize(absolute_path); end - - # The absolute path to the directory this context is about - # - # source://spoom/lib/spoom/context.rb#44 - sig { returns(::String) } - def absolute_path; end - - class << self - # Create a new context in the system's temporary directory - # - # `name` is used as prefix to the temporary directory name. - # The directory will be created if it doesn't exist. - # - # source://spoom/lib/spoom/context.rb#37 - sig { params(name: T.nilable(::String)).returns(T.attached_class) } - def mktmp!(name = T.unsafe(nil)); end - end -end - -# Bundle features for a context -# -# source://spoom/lib/spoom/context/bundle.rb#7 -module Spoom::Context::Bundle - requires_ancestor { Spoom::Context } - - # Run a command with `bundle` in this context directory - # - # 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#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#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 - - # Get `gem` version from the `Gemfile.lock` content - # - # Returns `nil` if `gem` cannot be found in the Gemfile. - # - # source://spoom/lib/spoom/context/bundle.rb#62 - sig { params(gem: ::String).returns(T.nilable(::Gem::Version)) } - def gem_version_from_gemfile_lock(gem); end - - # 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 - - # 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 - -# Execution features for a context -# -# source://spoom/lib/spoom/context/exec.rb#27 -module Spoom::Context::Exec - requires_ancestor { Spoom::Context } - - # Run a command in this context directory - # - # source://spoom/lib/spoom/context/exec.rb#35 - sig { params(command: ::String, capture_err: T::Boolean).returns(::Spoom::ExecResult) } - def exec(command, capture_err: T.unsafe(nil)); end -end - -# File System features for a context -# -# source://spoom/lib/spoom/context/file_system.rb#7 -module Spoom::Context::FileSystem - requires_ancestor { Spoom::Context } - - # Returns the absolute path to `relative_path` in the context's directory - # - # source://spoom/lib/spoom/context/file_system.rb#15 - 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#105 - sig { void } - def destroy!; end - - # Does the context directory at `absolute_path` exist and is a directory? - # - # source://spoom/lib/spoom/context/file_system.rb#21 - sig { returns(T::Boolean) } - def exist?; end - - # Does `relative_path` point to an existing file in this context directory? - # - # source://spoom/lib/spoom/context/file_system.rb#65 - sig { params(relative_path: ::String).returns(T::Boolean) } - def file?(relative_path); end - - # List all files in this context matching `pattern` - # - # source://spoom/lib/spoom/context/file_system.rb#34 - sig { params(pattern: ::String).returns(T::Array[::String]) } - def glob(pattern = T.unsafe(nil)); end - - # List all files at the top level of this context directory - # - # source://spoom/lib/spoom/context/file_system.rb#42 - sig { returns(T::Array[::String]) } - def list; end - - # Create the context directory at `absolute_path` - # - # source://spoom/lib/spoom/context/file_system.rb#27 - sig { void } - def mkdir!; end - - # Move the file or directory from `from_relative_path` to `to_relative_path` - # - # 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 - - # Return the contents of the file at `relative_path` in this context directory - # - # Will raise if the file doesn't exist. - # - # 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#89 - sig { params(relative_path: ::String).void } - def remove!(relative_path); end - - # Write `contents` in the file at `relative_path` in this context directory - # - # Append to the file if `append` is true. - # - # 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 - -# Git features for a context -# -# source://spoom/lib/spoom/context/git.rb#35 -module Spoom::Context::Git - requires_ancestor { Spoom::Context } - - # Run a command prefixed by `git` in this context directory - # - # source://spoom/lib/spoom/context/git.rb#43 - sig { params(command: ::String).returns(::Spoom::ExecResult) } - def git(command); end - - # Run `git checkout` in this context directory - # - # source://spoom/lib/spoom/context/git.rb#62 - sig { params(ref: ::String).returns(::Spoom::ExecResult) } - def git_checkout!(ref: T.unsafe(nil)); end - - # Run `git checkout -b ` in this context directory - # - # source://spoom/lib/spoom/context/git.rb#68 - 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#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#98 - sig { params(arg: ::String).returns(::Spoom::ExecResult) } - def git_diff(*arg); end - - # Run `git init` in this context directory - # - # Warning: passing a branch will run `git init -b ` which is only available in git 2.28+. - # In older versions, use `git_init!` followed by `git("checkout -b ")`. - # - # source://spoom/lib/spoom/context/git.rb#52 - sig { params(branch: T.nilable(::String)).returns(::Spoom::ExecResult) } - def git_init!(branch: T.unsafe(nil)); end - - # Get the last commit in the currently checked out branch - # - # 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#115 - sig { params(arg: ::String).returns(::Spoom::ExecResult) } - def git_log(*arg); end - - # 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 uncommitted changes in this context directory? - # - # 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 - -# Sorbet features for a context -# -# source://spoom/lib/spoom/context/sorbet.rb#7 -module Spoom::Context::Sorbet - requires_ancestor { Spoom::Context } - - # Does this context has a `sorbet/config` file? - # - # 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#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#130 - sig { returns(::String) } - def read_sorbet_config; end - - # 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#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#160 - sig { returns(T.nilable(::Spoom::Git::Commit)) } - def sorbet_removal_commit; end - - # Run `bundle exec srb` in this context directory - # - # source://spoom/lib/spoom/context/sorbet.rb#15 - sig { params(arg: ::String, sorbet_bin: T.nilable(::String), capture_err: T::Boolean).returns(::Spoom::ExecResult) } - def srb(*arg, sorbet_bin: T.unsafe(nil), capture_err: T.unsafe(nil)); end - - # List all files typechecked by Sorbet from its `config` - # - # source://spoom/lib/spoom/context/sorbet.rb#65 - sig { params(with_config: T.nilable(::Spoom::Sorbet::Config), include_rbis: T::Boolean).returns(T::Array[::String]) } - def srb_files(with_config: T.unsafe(nil), include_rbis: T.unsafe(nil)); end - - # List all files typechecked by Sorbet from its `config` that matches `strictness` - # - # source://spoom/lib/spoom/context/sorbet.rb#104 - sig do - params( - strictness: ::String, - with_config: T.nilable(::Spoom::Sorbet::Config), - include_rbis: T::Boolean - ).returns(T::Array[::String]) - end - def srb_files_with_strictness(strictness, with_config: T.unsafe(nil), include_rbis: T.unsafe(nil)); end - - # source://spoom/lib/spoom/context/sorbet.rb#45 - sig do - params( - arg: ::String, - sorbet_bin: T.nilable(::String), - capture_err: T::Boolean - ).returns(T.nilable(T::Hash[::String, ::Integer])) - end - def srb_metrics(*arg, sorbet_bin: T.unsafe(nil), capture_err: T.unsafe(nil)); end - - # source://spoom/lib/spoom/context/sorbet.rb#33 - 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#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#136 - sig { params(contents: ::String, append: T::Boolean).void } - def write_sorbet_config!(contents, append: T.unsafe(nil)); end -end - -# source://spoom/lib/spoom/coverage/snapshot.rb#5 -module Spoom::Coverage - class << self - # source://spoom/lib/spoom/coverage.rb#103 - sig { params(context: ::Spoom::Context).returns(::Spoom::FileTree) } - def file_tree(context); end - - # source://spoom/lib/spoom/coverage.rb#83 - sig do - params( - context: ::Spoom::Context, - snapshots: T::Array[::Spoom::Coverage::Snapshot], - palette: ::Spoom::Coverage::D3::ColorPalette - ).returns(::Spoom::Coverage::Report) - end - def report(context, snapshots, palette:); end - - # source://spoom/lib/spoom/coverage.rb#16 - sig do - params( - context: ::Spoom::Context, - rbi: T::Boolean, - sorbet_bin: T.nilable(::String) - ).returns(::Spoom::Coverage::Snapshot) - end - def snapshot(context, rbi: T.unsafe(nil), sorbet_bin: T.unsafe(nil)); end - end -end - -# source://spoom/lib/spoom/coverage/report.rb#88 -module Spoom::Coverage::Cards; end - -# source://spoom/lib/spoom/coverage/report.rb#89 -class Spoom::Coverage::Cards::Card < ::Spoom::Coverage::Template - # source://spoom/lib/spoom/coverage/report.rb#98 - sig { params(template: ::String, title: T.nilable(::String), body: T.nilable(::String)).void } - def initialize(template: T.unsafe(nil), title: T.unsafe(nil), body: T.unsafe(nil)); end - - # @return [String, nil] - # - # source://spoom/lib/spoom/coverage/report.rb#95 - def body; end - - # source://spoom/lib/spoom/coverage/report.rb#95 - sig { returns(T.nilable(::String)) } - def title; end -end - -# source://spoom/lib/spoom/coverage/report.rb#92 -Spoom::Coverage::Cards::Card::TEMPLATE = T.let(T.unsafe(nil), String) - -# @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below. -# -# source://spoom/lib/spoom/coverage/report.rb#105 -class Spoom::Coverage::Cards::Erb < ::Spoom::Coverage::Cards::Card - abstract! - - # source://spoom/lib/spoom/coverage/report.rb#112 - sig { void } - def initialize; end - - # @abstract - # - # source://spoom/lib/spoom/coverage/report.rb#120 - sig { abstract.returns(::String) } - def erb; end - - # source://spoom/lib/spoom/coverage/report.rb#115 - sig { override.returns(::String) } - def html; end -end - -# source://spoom/lib/spoom/coverage/report.rb#153 -class Spoom::Coverage::Cards::Map < ::Spoom::Coverage::Cards::Card - # source://spoom/lib/spoom/coverage/report.rb#164 - sig do - params( - file_tree: ::Spoom::FileTree, - nodes_strictnesses: T::Hash[::Spoom::FileTree::Node, T.nilable(::String)], - nodes_strictness_scores: T::Hash[::Spoom::FileTree::Node, ::Float], - title: ::String - ).void - end - def initialize(file_tree:, nodes_strictnesses:, nodes_strictness_scores:, title: T.unsafe(nil)); end -end - -# source://spoom/lib/spoom/coverage/report.rb#123 -class Spoom::Coverage::Cards::Snapshot < ::Spoom::Coverage::Cards::Card - # source://spoom/lib/spoom/coverage/report.rb#132 - sig { params(snapshot: ::Spoom::Coverage::Snapshot, title: ::String).void } - def initialize(snapshot:, title: T.unsafe(nil)); end - - # source://spoom/lib/spoom/coverage/report.rb#143 - sig { returns(::Spoom::Coverage::D3::Pie::Calls) } - def pie_calls; end - - # source://spoom/lib/spoom/coverage/report.rb#138 - sig { returns(::Spoom::Coverage::D3::Pie::Sigils) } - def pie_sigils; end - - # source://spoom/lib/spoom/coverage/report.rb#148 - sig { returns(::Spoom::Coverage::D3::Pie::Sigs) } - def pie_sigs; end - - # source://spoom/lib/spoom/coverage/report.rb#129 - sig { returns(::Spoom::Coverage::Snapshot) } - def snapshot; end -end - -# source://spoom/lib/spoom/coverage/report.rb#126 -Spoom::Coverage::Cards::Snapshot::TEMPLATE = T.let(T.unsafe(nil), String) - -# source://spoom/lib/spoom/coverage/report.rb#240 -class Spoom::Coverage::Cards::SorbetIntro < ::Spoom::Coverage::Cards::Erb - # source://spoom/lib/spoom/coverage/report.rb#244 - sig { params(sorbet_intro_commit: T.nilable(::String), sorbet_intro_date: T.nilable(::Time)).void } - def initialize(sorbet_intro_commit: T.unsafe(nil), sorbet_intro_date: T.unsafe(nil)); end - - # source://spoom/lib/spoom/coverage/report.rb#250 - sig { override.returns(::String) } - def erb; end -end - -# source://spoom/lib/spoom/coverage/report.rb#177 -class Spoom::Coverage::Cards::Timeline < ::Spoom::Coverage::Cards::Card - # source://spoom/lib/spoom/coverage/report.rb#181 - sig { params(title: ::String, timeline: ::Spoom::Coverage::D3::Timeline).void } - def initialize(title:, timeline:); end -end - -# source://spoom/lib/spoom/coverage/report.rb#194 -class Spoom::Coverage::Cards::Timeline::Calls < ::Spoom::Coverage::Cards::Timeline - # source://spoom/lib/spoom/coverage/report.rb#198 - sig { params(snapshots: T::Array[::Spoom::Coverage::Snapshot], title: ::String).void } - def initialize(snapshots:, title: T.unsafe(nil)); end -end - -# source://spoom/lib/spoom/coverage/report.rb#212 -class Spoom::Coverage::Cards::Timeline::RBIs < ::Spoom::Coverage::Cards::Timeline - # source://spoom/lib/spoom/coverage/report.rb#216 - sig { params(snapshots: T::Array[::Spoom::Coverage::Snapshot], title: ::String).void } - def initialize(snapshots:, title: T.unsafe(nil)); end -end - -# source://spoom/lib/spoom/coverage/report.rb#230 -class Spoom::Coverage::Cards::Timeline::Runtimes < ::Spoom::Coverage::Cards::Timeline - # source://spoom/lib/spoom/coverage/report.rb#234 - sig { params(snapshots: T::Array[::Spoom::Coverage::Snapshot], title: ::String).void } - def initialize(snapshots:, title: T.unsafe(nil)); end -end - -# source://spoom/lib/spoom/coverage/report.rb#185 -class Spoom::Coverage::Cards::Timeline::Sigils < ::Spoom::Coverage::Cards::Timeline - # source://spoom/lib/spoom/coverage/report.rb#189 - sig { params(snapshots: T::Array[::Spoom::Coverage::Snapshot], title: ::String).void } - def initialize(snapshots:, title: T.unsafe(nil)); end -end - -# source://spoom/lib/spoom/coverage/report.rb#203 -class Spoom::Coverage::Cards::Timeline::Sigs < ::Spoom::Coverage::Cards::Timeline - # source://spoom/lib/spoom/coverage/report.rb#207 - sig { params(snapshots: T::Array[::Spoom::Coverage::Snapshot], title: ::String).void } - def initialize(snapshots:, title: T.unsafe(nil)); end -end - -# source://spoom/lib/spoom/coverage/report.rb#221 -class Spoom::Coverage::Cards::Timeline::Versions < ::Spoom::Coverage::Cards::Timeline - # source://spoom/lib/spoom/coverage/report.rb#225 - sig { params(snapshots: T::Array[::Spoom::Coverage::Snapshot], title: ::String).void } - def initialize(snapshots:, title: T.unsafe(nil)); end -end - -# source://spoom/lib/spoom/coverage/d3/base.rb#6 -module Spoom::Coverage::D3 - class << self - # source://spoom/lib/spoom/coverage/d3.rb#61 - sig { params(palette: ::Spoom::Coverage::D3::ColorPalette).returns(::String) } - def header_script(palette); end - - # source://spoom/lib/spoom/coverage/d3.rb#21 - sig { returns(::String) } - def header_style; end - end -end - -# @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below. -# -# source://spoom/lib/spoom/coverage/d3/base.rb#7 -class Spoom::Coverage::D3::Base - abstract! - - # source://spoom/lib/spoom/coverage/d3/base.rb#17 - sig { params(id: ::String, data: T.untyped).void } - def initialize(id, data); end - - # source://spoom/lib/spoom/coverage/d3/base.rb#37 - sig { returns(::String) } - def html; end - - # source://spoom/lib/spoom/coverage/d3/base.rb#14 - sig { returns(::String) } - def id; end - - # @abstract - # - # source://spoom/lib/spoom/coverage/d3/base.rb#50 - sig { abstract.returns(::String) } - def script; end - - # source://spoom/lib/spoom/coverage/d3/base.rb#45 - sig { returns(::String) } - def tooltip; end - - class << self - # source://spoom/lib/spoom/coverage/d3/base.rb#31 - sig { returns(::String) } - def header_script; end - - # source://spoom/lib/spoom/coverage/d3/base.rb#26 - sig { returns(::String) } - def header_style; end - end -end - -# source://spoom/lib/spoom/coverage/d3.rb#12 -Spoom::Coverage::D3::COLOR_FALSE = T.let(T.unsafe(nil), String) - -# source://spoom/lib/spoom/coverage/d3.rb#11 -Spoom::Coverage::D3::COLOR_IGNORE = T.let(T.unsafe(nil), String) - -# source://spoom/lib/spoom/coverage/d3.rb#14 -Spoom::Coverage::D3::COLOR_STRICT = T.let(T.unsafe(nil), String) - -# source://spoom/lib/spoom/coverage/d3.rb#15 -Spoom::Coverage::D3::COLOR_STRONG = T.let(T.unsafe(nil), String) - -# source://spoom/lib/spoom/coverage/d3.rb#13 -Spoom::Coverage::D3::COLOR_TRUE = T.let(T.unsafe(nil), String) - -# source://spoom/lib/spoom/coverage/d3/circle_map.rb#9 -class Spoom::Coverage::D3::CircleMap < ::Spoom::Coverage::D3::Base - # source://spoom/lib/spoom/coverage/d3/circle_map.rb#59 - sig { override.returns(::String) } - def script; end - - class << self - # source://spoom/lib/spoom/coverage/d3/circle_map.rb#40 - sig { returns(::String) } - def header_script; end - - # source://spoom/lib/spoom/coverage/d3/circle_map.rb#14 - sig { returns(::String) } - def header_style; end - end -end - -# source://spoom/lib/spoom/coverage/d3/circle_map.rb#148 -class Spoom::Coverage::D3::CircleMap::Sigils < ::Spoom::Coverage::D3::CircleMap - # source://spoom/lib/spoom/coverage/d3/circle_map.rb#159 - sig do - params( - id: ::String, - file_tree: ::Spoom::FileTree, - nodes_strictnesses: T::Hash[::Spoom::FileTree::Node, T.nilable(::String)], - nodes_scores: T::Hash[::Spoom::FileTree::Node, ::Float] - ).void - end - def initialize(id, file_tree, nodes_strictnesses, nodes_scores); end - - # source://spoom/lib/spoom/coverage/d3/circle_map.rb#166 - sig { params(node: ::Spoom::FileTree::Node).returns(T::Hash[::Symbol, T.untyped]) } - def tree_node_to_json(node); end -end - -# source://spoom/lib/spoom/coverage/d3.rb#103 -class Spoom::Coverage::D3::ColorPalette < ::T::Struct - prop :ignore, ::String - prop :false, ::String - prop :true, ::String - prop :strict, ::String - prop :strong, ::String - - class << self - # source://sorbet-runtime/0.5.11761lib/types/struct.rb#13 - def inherited(s); end - end -end - -# @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below. -# -# source://spoom/lib/spoom/coverage/d3/pie.rb#9 -class Spoom::Coverage::D3::Pie < ::Spoom::Coverage::D3::Base - abstract! - - # source://spoom/lib/spoom/coverage/d3/pie.rb#16 - sig { params(id: ::String, title: ::String, data: T.untyped).void } - def initialize(id, title, data); end - - # source://spoom/lib/spoom/coverage/d3/pie.rb#56 - sig { override.returns(::String) } - def script; end - - class << self - # source://spoom/lib/spoom/coverage/d3/pie.rb#43 - sig { returns(::String) } - def header_script; end - - # source://spoom/lib/spoom/coverage/d3/pie.rb#25 - sig { returns(::String) } - def header_style; end - end -end - -# source://spoom/lib/spoom/coverage/d3/pie.rb#141 -class Spoom::Coverage::D3::Pie::Calls < ::Spoom::Coverage::D3::Pie - # source://spoom/lib/spoom/coverage/d3/pie.rb#145 - sig { params(id: ::String, title: ::String, snapshot: ::Spoom::Coverage::Snapshot).void } - def initialize(id, title, snapshot); end - - # source://spoom/lib/spoom/coverage/d3/pie.rb#150 - sig { override.returns(::String) } - def tooltip; end -end - -# source://spoom/lib/spoom/coverage/d3/pie.rb#123 -class Spoom::Coverage::D3::Pie::Sigils < ::Spoom::Coverage::D3::Pie - # source://spoom/lib/spoom/coverage/d3/pie.rb#127 - sig { params(id: ::String, title: ::String, snapshot: ::Spoom::Coverage::Snapshot).void } - def initialize(id, title, snapshot); end - - # source://spoom/lib/spoom/coverage/d3/pie.rb#132 - sig { override.returns(::String) } - def tooltip; end -end - -# source://spoom/lib/spoom/coverage/d3/pie.rb#159 -class Spoom::Coverage::D3::Pie::Sigs < ::Spoom::Coverage::D3::Pie - # source://spoom/lib/spoom/coverage/d3/pie.rb#163 - sig { params(id: ::String, title: ::String, snapshot: ::Spoom::Coverage::Snapshot).void } - def initialize(id, title, snapshot); end - - # source://spoom/lib/spoom/coverage/d3/pie.rb#172 - sig { override.returns(::String) } - def tooltip; end -end - -# @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below. -# -# source://spoom/lib/spoom/coverage/d3/timeline.rb#9 -class Spoom::Coverage::D3::Timeline < ::Spoom::Coverage::D3::Base - abstract! - - # source://spoom/lib/spoom/coverage/d3/timeline.rb#16 - sig { params(id: ::String, data: T.untyped, keys: T::Array[::String]).void } - def initialize(id, data, keys); end - - # source://spoom/lib/spoom/coverage/d3/timeline.rb#187 - sig { params(y: ::String, color: ::String, curve: ::String).returns(::String) } - def area(y:, color: T.unsafe(nil), curve: T.unsafe(nil)); end - - # source://spoom/lib/spoom/coverage/d3/timeline.rb#203 - sig { params(y: ::String, color: ::String, curve: ::String).returns(::String) } - def line(y:, color: T.unsafe(nil), curve: T.unsafe(nil)); end - - # @abstract - # - # source://spoom/lib/spoom/coverage/d3/timeline.rb#126 - sig { abstract.returns(::String) } - def plot; end - - # source://spoom/lib/spoom/coverage/d3/timeline.rb#217 - sig { params(y: ::String).returns(::String) } - def points(y:); end - - # source://spoom/lib/spoom/coverage/d3/timeline.rb#101 - sig { override.returns(::String) } - def script; end - - # source://spoom/lib/spoom/coverage/d3/timeline.rb#129 - sig { returns(::String) } - def x_scale; end - - # source://spoom/lib/spoom/coverage/d3/timeline.rb#145 - sig { returns(::String) } - def x_ticks; end - - # source://spoom/lib/spoom/coverage/d3/timeline.rb#158 - sig { params(min: ::String, max: ::String, ticks: ::String).returns(::String) } - def y_scale(min:, max:, ticks:); end - - # source://spoom/lib/spoom/coverage/d3/timeline.rb#174 - sig { params(ticks: ::String, format: ::String, padding: ::Integer).returns(::String) } - def y_ticks(ticks:, format:, padding:); end - - class << self - # source://spoom/lib/spoom/coverage/d3/timeline.rb#79 - sig { returns(::String) } - def header_script; end - - # source://spoom/lib/spoom/coverage/d3/timeline.rb#25 - sig { returns(::String) } - def header_style; end - end -end - -# source://spoom/lib/spoom/coverage/d3/timeline.rb#448 -class Spoom::Coverage::D3::Timeline::Calls < ::Spoom::Coverage::D3::Timeline::Stacked - # source://spoom/lib/spoom/coverage/d3/timeline.rb#452 - sig { params(id: ::String, snapshots: T::Array[::Spoom::Coverage::Snapshot]).void } - def initialize(id, snapshots); end - - # source://spoom/lib/spoom/coverage/d3/timeline.rb#466 - sig { override.returns(::String) } - def tooltip; end -end - -# source://spoom/lib/spoom/coverage/d3/timeline.rb#505 -class Spoom::Coverage::D3::Timeline::RBIs < ::Spoom::Coverage::D3::Timeline::Stacked - # source://spoom/lib/spoom/coverage/d3/timeline.rb#509 - sig { params(id: ::String, snapshots: T::Array[::Spoom::Coverage::Snapshot]).void } - def initialize(id, snapshots); end - - # source://spoom/lib/spoom/coverage/d3/timeline.rb#577 - sig { override.params(y: ::String, color: ::String, curve: ::String).returns(::String) } - def line(y:, color: T.unsafe(nil), curve: T.unsafe(nil)); end - - # source://spoom/lib/spoom/coverage/d3/timeline.rb#617 - sig { override.returns(::String) } - def plot; end - - # source://spoom/lib/spoom/coverage/d3/timeline.rb#537 - sig { override.returns(::String) } - def script; end - - # source://spoom/lib/spoom/coverage/d3/timeline.rb#523 - sig { override.returns(::String) } - def tooltip; end -end - -# source://spoom/lib/spoom/coverage/d3/timeline.rb#282 -class Spoom::Coverage::D3::Timeline::Runtimes < ::Spoom::Coverage::D3::Timeline - # source://spoom/lib/spoom/coverage/d3/timeline.rb#286 - sig { params(id: ::String, snapshots: T::Array[::Spoom::Coverage::Snapshot]).void } - def initialize(id, snapshots); end - - # source://spoom/lib/spoom/coverage/d3/timeline.rb#311 - sig { override.returns(::String) } - def plot; end - - # source://spoom/lib/spoom/coverage/d3/timeline.rb#298 - sig { override.returns(::String) } - def tooltip; end -end - -# source://spoom/lib/spoom/coverage/d3/timeline.rb#421 -class Spoom::Coverage::D3::Timeline::Sigils < ::Spoom::Coverage::D3::Timeline::Stacked - # source://spoom/lib/spoom/coverage/d3/timeline.rb#425 - sig { params(id: ::String, snapshots: T::Array[::Spoom::Coverage::Snapshot]).void } - def initialize(id, snapshots); end - - # source://spoom/lib/spoom/coverage/d3/timeline.rb#439 - sig { override.returns(::String) } - def tooltip; end -end - -# source://spoom/lib/spoom/coverage/d3/timeline.rb#475 -class Spoom::Coverage::D3::Timeline::Sigs < ::Spoom::Coverage::D3::Timeline::Stacked - # source://spoom/lib/spoom/coverage/d3/timeline.rb#479 - sig { params(id: ::String, snapshots: T::Array[::Spoom::Coverage::Snapshot]).void } - def initialize(id, snapshots); end - - # source://spoom/lib/spoom/coverage/d3/timeline.rb#496 - sig { override.returns(::String) } - def tooltip; end -end - -# @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below. -# -# source://spoom/lib/spoom/coverage/d3/timeline.rb#329 -class Spoom::Coverage::D3::Timeline::Stacked < ::Spoom::Coverage::D3::Timeline - abstract! - - # source://spoom/lib/spoom/coverage/d3/timeline.rb#388 - sig { override.params(y: ::String, color: ::String, curve: ::String).returns(::String) } - def line(y:, color: T.unsafe(nil), curve: T.unsafe(nil)); end - - # source://spoom/lib/spoom/coverage/d3/timeline.rb#377 - sig { override.returns(::String) } - def plot; end - - # source://spoom/lib/spoom/coverage/d3/timeline.rb#336 - sig { override.returns(::String) } - def script; end -end - -# source://spoom/lib/spoom/coverage/d3/timeline.rb#232 -class Spoom::Coverage::D3::Timeline::Versions < ::Spoom::Coverage::D3::Timeline - # source://spoom/lib/spoom/coverage/d3/timeline.rb#236 - sig { params(id: ::String, snapshots: T::Array[::Spoom::Coverage::Snapshot]).void } - def initialize(id, snapshots); end - - # source://spoom/lib/spoom/coverage/d3/timeline.rb#263 - sig { override.returns(::String) } - def plot; end - - # source://spoom/lib/spoom/coverage/d3/timeline.rb#249 - sig { override.returns(::String) } - def tooltip; end -end - -# @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below. -# -# source://spoom/lib/spoom/coverage/report.rb#38 -class Spoom::Coverage::Page < ::Spoom::Coverage::Template - abstract! - - # source://spoom/lib/spoom/coverage/report.rb#53 - sig { params(title: ::String, palette: ::Spoom::Coverage::D3::ColorPalette, template: ::String).void } - def initialize(title:, palette:, template: T.unsafe(nil)); end - - # source://spoom/lib/spoom/coverage/report.rb#75 - sig { returns(::String) } - def body_html; end - - # @abstract - # - # source://spoom/lib/spoom/coverage/report.rb#80 - sig { abstract.returns(T::Array[::Spoom::Coverage::Cards::Card]) } - def cards; end - - # source://spoom/lib/spoom/coverage/report.rb#83 - sig { returns(::String) } - def footer_html; end - - # source://spoom/lib/spoom/coverage/report.rb#70 - sig { returns(::String) } - def header_html; end - - # source://spoom/lib/spoom/coverage/report.rb#65 - sig { returns(::String) } - def header_script; end - - # source://spoom/lib/spoom/coverage/report.rb#60 - sig { returns(::String) } - def header_style; end - - # source://spoom/lib/spoom/coverage/report.rb#50 - sig { returns(::Spoom::Coverage::D3::ColorPalette) } - def palette; end - - # source://spoom/lib/spoom/coverage/report.rb#47 - sig { returns(::String) } - def title; end -end - -# source://spoom/lib/spoom/coverage/report.rb#44 -Spoom::Coverage::Page::TEMPLATE = T.let(T.unsafe(nil), String) - -# source://spoom/lib/spoom/coverage/report.rb#261 -class Spoom::Coverage::Report < ::Spoom::Coverage::Page - # source://spoom/lib/spoom/coverage/report.rb#276 - sig do - params( - project_name: ::String, - palette: ::Spoom::Coverage::D3::ColorPalette, - snapshots: T::Array[::Spoom::Coverage::Snapshot], - file_tree: ::Spoom::FileTree, - nodes_strictnesses: T::Hash[::Spoom::FileTree::Node, T.nilable(::String)], - nodes_strictness_scores: T::Hash[::Spoom::FileTree::Node, ::Float], - sorbet_intro_commit: T.nilable(::String), - sorbet_intro_date: T.nilable(::Time) - ).void - end - def initialize(project_name:, palette:, snapshots:, file_tree:, nodes_strictnesses:, nodes_strictness_scores:, sorbet_intro_commit: T.unsafe(nil), sorbet_intro_date: T.unsafe(nil)); end - - # source://spoom/lib/spoom/coverage/report.rb#308 - sig { override.returns(T::Array[::Spoom::Coverage::Cards::Card]) } - def cards; end - - # source://spoom/lib/spoom/coverage/report.rb#297 - sig { override.returns(::String) } - def header_html; end -end - -# source://spoom/lib/spoom/coverage/snapshot.rb#6 -class Spoom::Coverage::Snapshot < ::T::Struct - prop :timestamp, ::Integer, default: T.unsafe(nil) - prop :version_static, T.nilable(::String), default: T.unsafe(nil) - prop :version_runtime, T.nilable(::String), default: T.unsafe(nil) - prop :duration, ::Integer, default: T.unsafe(nil) - prop :commit_sha, T.nilable(::String), default: T.unsafe(nil) - prop :commit_timestamp, T.nilable(::Integer), default: T.unsafe(nil) - prop :files, ::Integer, default: T.unsafe(nil) - prop :rbi_files, ::Integer, default: T.unsafe(nil) - prop :modules, ::Integer, default: T.unsafe(nil) - prop :classes, ::Integer, default: T.unsafe(nil) - prop :singleton_classes, ::Integer, default: T.unsafe(nil) - prop :methods_without_sig, ::Integer, default: T.unsafe(nil) - prop :methods_with_sig, ::Integer, default: T.unsafe(nil) - prop :calls_untyped, ::Integer, default: T.unsafe(nil) - prop :calls_typed, ::Integer, default: T.unsafe(nil) - prop :sigils, T::Hash[::String, ::Integer], default: T.unsafe(nil) - prop :methods_with_sig_excluding_rbis, ::Integer, default: T.unsafe(nil) - prop :methods_without_sig_excluding_rbis, ::Integer, default: T.unsafe(nil) - prop :sigils_excluding_rbis, T::Hash[::String, ::Integer], default: T.unsafe(nil) - - # source://spoom/lib/spoom/coverage/snapshot.rb#33 - sig { params(out: T.any(::IO, ::StringIO), colors: T::Boolean, indent_level: ::Integer).void } - def print(out: T.unsafe(nil), colors: T.unsafe(nil), indent_level: T.unsafe(nil)); end - - # source://spoom/lib/spoom/coverage/snapshot.rb#39 - sig { params(arg: T.untyped).returns(::String) } - def to_json(*arg); end - - class << self - # source://spoom/lib/spoom/coverage/snapshot.rb#47 - sig { params(json: ::String).returns(::Spoom::Coverage::Snapshot) } - def from_json(json); end - - # source://spoom/lib/spoom/coverage/snapshot.rb#52 - sig { params(obj: T::Hash[::String, T.untyped]).returns(::Spoom::Coverage::Snapshot) } - def from_obj(obj); end - - # source://sorbet-runtime/0.5.11761lib/types/struct.rb#13 - def inherited(s); end - end -end - -# The strictness name as found in the Sorbet metrics file -# -# source://spoom/lib/spoom/coverage/snapshot.rb#30 -Spoom::Coverage::Snapshot::STRICTNESSES = T.let(T.unsafe(nil), Array) - -# source://spoom/lib/spoom/coverage/snapshot.rb#95 -class Spoom::Coverage::SnapshotPrinter < ::Spoom::Printer - # source://spoom/lib/spoom/coverage/snapshot.rb#99 - sig { params(snapshot: ::Spoom::Coverage::Snapshot).void } - def print_snapshot(snapshot); end - - private - - # source://spoom/lib/spoom/coverage/snapshot.rb#158 - sig { params(value: T.nilable(::Integer), total: T.nilable(::Integer)).returns(::String) } - def percent(value, total); end - - # source://spoom/lib/spoom/coverage/snapshot.rb#147 - sig { params(hash: T::Hash[::String, ::Integer], total: ::Integer).void } - def print_map(hash, total); end -end - -# @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below. -# -# source://spoom/lib/spoom/coverage/report.rb#10 -class Spoom::Coverage::Template - abstract! - - # Create a new template from an Erb file path - # - # source://spoom/lib/spoom/coverage/report.rb#18 - sig { params(template: ::String).void } - def initialize(template:); end - - # source://spoom/lib/spoom/coverage/report.rb#23 - sig { returns(::String) } - def erb; end - - # source://spoom/lib/spoom/coverage/report.rb#33 - sig { returns(::Binding) } - def get_binding; end - - # 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/plugins.rb#75 - sig { params(context: ::Spoom::Context).returns(T::Array[T.class_of(Spoom::Deadcode::Plugins::Base)]) } - def load_custom_plugins(context); end - - # source://spoom/lib/spoom/deadcode/plugins.rb#61 - sig { params(context: ::Spoom::Context).returns(T::Set[T.class_of(Spoom::Deadcode::Plugins::Base)]) } - def plugins_from_gemfile_lock(context); end - end -end - -# source://spoom/lib/spoom/deadcode/plugins.rb#26 -Spoom::Deadcode::DEFAULT_CUSTOM_PLUGINS_PATH = T.let(T.unsafe(nil), String) - -# source://spoom/lib/spoom/deadcode/plugins.rb#28 -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::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 - - # Utils - # - # source://spoom/lib/spoom/deadcode/definition.rb#100 - sig { params(args: T.untyped).returns(::String) } - def to_json(*args); end - - class << self - # source://sorbet-runtime/0.5.11761lib/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) - -# source://spoom/lib/spoom/deadcode/index.rb#6 -class Spoom::Deadcode::Index - # source://spoom/lib/spoom/deadcode/index.rb#29 - sig { params(model: ::Spoom::Model).void } - def initialize(model); end - - # source://spoom/lib/spoom/deadcode/index.rb#219 - sig { returns(T::Array[::Spoom::Deadcode::Definition]) } - def all_definitions; end - - # source://spoom/lib/spoom/deadcode/index.rb#224 - sig { returns(T::Array[::Spoom::Model::Reference]) } - def all_references; end - - # source://spoom/lib/spoom/deadcode/index.rb#99 - sig { params(plugins: T::Array[::Spoom::Deadcode::Plugins::Base]).void } - def apply_plugins!(plugins); end - - # source://spoom/lib/spoom/deadcode/index.rb#79 - sig { params(definition: ::Spoom::Deadcode::Definition).void } - def define(definition); end - - # source://spoom/lib/spoom/deadcode/index.rb#23 - sig { returns(T::Hash[::String, T::Array[::Spoom::Deadcode::Definition]]) } - def definitions; end - - # Utils - # - # source://spoom/lib/spoom/deadcode/index.rb#214 - 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#122 - sig { void } - def finalize!; end - - # source://spoom/lib/spoom/deadcode/index.rb#94 - sig { params(symbol_def: ::Spoom::Model::SymbolDef).void } - def ignore(symbol_def); end - - # source://spoom/lib/spoom/deadcode/index.rb#50 - sig { params(erb: ::String, file: ::String, plugins: T::Array[::Spoom::Deadcode::Plugins::Base]).void } - def index_erb(erb, file:, plugins: T.unsafe(nil)); end - - # Indexing - # - # source://spoom/lib/spoom/deadcode/index.rb#39 - sig { params(file: ::String, plugins: T::Array[::Spoom::Deadcode::Plugins::Base]).void } - def index_file(file, plugins: T.unsafe(nil)); end - - # source://spoom/lib/spoom/deadcode/index.rb#55 - sig { params(rb: ::String, file: ::String, plugins: T::Array[::Spoom::Deadcode::Plugins::Base]).void } - def index_ruby(rb, file:, plugins: T.unsafe(nil)); end - - # source://spoom/lib/spoom/deadcode/index.rb#20 - sig { returns(::Spoom::Model) } - def model; end - - # source://spoom/lib/spoom/deadcode/index.rb#84 - sig { params(name: ::String, location: ::Spoom::Location).void } - def reference_constant(name, location); end - - # source://spoom/lib/spoom/deadcode/index.rb#89 - sig { params(name: ::String, location: ::Spoom::Location).void } - def reference_method(name, location); end - - # source://spoom/lib/spoom/deadcode/index.rb#26 - sig { returns(T::Hash[::String, T::Array[::Spoom::Model::Reference]]) } - def references; end -end - -# source://spoom/lib/spoom/deadcode/index.rb#9 -class Spoom::Deadcode::Index::Error < ::Spoom::Error - # source://spoom/lib/spoom/deadcode/index.rb#13 - sig { params(message: ::String, parent: ::Exception).void } - def initialize(message, parent:); end -end - -# source://spoom/lib/spoom/deadcode/indexer.rb#6 -class Spoom::Deadcode::Indexer < ::Spoom::Visitor - # source://spoom/lib/spoom/deadcode/indexer.rb#16 - sig do - params( - path: ::String, - index: ::Spoom::Deadcode::Index, - plugins: T::Array[::Spoom::Deadcode::Plugins::Base] - ).void - end - def initialize(path, index, plugins: T.unsafe(nil)); end - - # source://spoom/lib/spoom/deadcode/indexer.rb#13 - sig { returns(::Spoom::Deadcode::Index) } - def index; end - - # source://spoom/lib/spoom/deadcode/indexer.rb#10 - sig { returns(::String) } - def path; end - - # Visit - # - # source://spoom/lib/spoom/deadcode/indexer.rb#27 - sig { override.params(node: ::Prism::CallNode).void } - def visit_call_node(node); end -end - -# source://spoom/lib/spoom/deadcode/plugins.rb#36 -Spoom::Deadcode::PLUGINS_FOR_GEM = T.let(T.unsafe(nil), Hash) - -# 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(send: ::Spoom::Deadcode::Send).void } - def on_send(send); end -end - -# source://spoom/lib/spoom/deadcode/plugins/action_mailer_preview.rb#7 -class Spoom::Deadcode::Plugins::ActionMailerPreview < ::Spoom::Deadcode::Plugins::Base - # source://spoom/lib/spoom/deadcode/plugins/action_mailer_preview.rb#13 - sig { override.params(definition: ::Spoom::Model::Method).void } - def on_define_method(definition); 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(definition: ::Spoom::Model::Method).void } - def on_define_method(definition); end - - # source://spoom/lib/spoom/deadcode/plugins/actionpack.rb#39 - sig { override.params(send: ::Spoom::Deadcode::Send).void } - def on_send(send); end -end - -# source://spoom/lib/spoom/deadcode/plugins/actionpack.rb#12 -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(send: ::Spoom::Deadcode::Send).void } - def on_send(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(send: ::Spoom::Deadcode::Send).void } - def on_send(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 - # source://spoom/lib/spoom/deadcode/plugins/active_support.rb#22 - sig { override.params(send: ::Spoom::Deadcode::Send).void } - def on_send(send); end -end - -# source://spoom/lib/spoom/deadcode/plugins/active_support.rb#19 -Spoom::Deadcode::Plugins::ActiveSupport::SETUP_AND_TEARDOWN_METHODS = T.let(T.unsafe(nil), Array) - -# @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! - - # source://spoom/lib/spoom/deadcode/plugins/base.rb#132 - sig { params(index: ::Spoom::Deadcode::Index).void } - def initialize(index); end - - # source://spoom/lib/spoom/deadcode/plugins/base.rb#129 - sig { returns(::Spoom::Deadcode::Index) } - def index; end - - # Do not override this method, use `on_define_accessor` instead. - # - # source://spoom/lib/spoom/deadcode/plugins/base.rb#158 - sig { params(definition: ::Spoom::Model::Attr).void } - def internal_on_define_accessor(definition); end - - # Do not override this method, use `on_define_class` instead. - # - # source://spoom/lib/spoom/deadcode/plugins/base.rb#182 - sig { params(definition: ::Spoom::Model::Class).void } - def internal_on_define_class(definition); end - - # Do not override this method, use `on_define_constant` instead. - # - # source://spoom/lib/spoom/deadcode/plugins/base.rb#212 - sig { params(definition: ::Spoom::Model::Constant).void } - def internal_on_define_constant(definition); end - - # Do not override this method, use `on_define_method` instead. - # - # source://spoom/lib/spoom/deadcode/plugins/base.rb#238 - sig { params(definition: ::Spoom::Model::Method).void } - def internal_on_define_method(definition); end - - # Do not override this method, use `on_define_module` instead. - # - # source://spoom/lib/spoom/deadcode/plugins/base.rb#264 - sig { params(definition: ::Spoom::Model::Module).void } - def internal_on_define_module(definition); 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(definition) - # @index.ignore(definition) if symbol_def.name == "foo" - # end - # end - # ~~~ - # - # source://spoom/lib/spoom/deadcode/plugins/base.rb#152 - sig { params(definition: ::Spoom::Model::Attr).void } - def on_define_accessor(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(definition) - # @index.ignore(definition) if definition.name == "Foo" - # end - # end - # ~~~ - # - # source://spoom/lib/spoom/deadcode/plugins/base.rb#176 - sig { params(definition: ::Spoom::Model::Class).void } - def on_define_class(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(definition) - # @index.ignore(definition) if definition.name == "FOO" - # end - # end - # ~~~ - # - # source://spoom/lib/spoom/deadcode/plugins/base.rb#206 - sig { params(definition: ::Spoom::Model::Constant).void } - def on_define_constant(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(definition) - # @index.ignore(definition) if definition.name == "foo" - # end - # end - # ~~~ - # - # source://spoom/lib/spoom/deadcode/plugins/base.rb#232 - sig { params(definition: ::Spoom::Model::Method).void } - def on_define_method(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(definition) - # @index.ignore(definition) if definition.name == "Foo" - # end - # end - # ~~~ - # - # source://spoom/lib/spoom/deadcode/plugins/base.rb#258 - sig { params(definition: ::Spoom::Model::Module).void } - def on_define_module(definition); end - - # Called when a send is being processed - # - # ~~~rb - # class MyPlugin < Spoom::Deadcode::Plugins::Base - # def on_send(send) - # return unless send.name == "dsl_method" - # return if send.args.empty? - # - # method_name = send.args.first.slice.delete_prefix(":") - # @index.reference_method(method_name, send.node, send.loc) - # end - # end - # ~~~ - # - # source://spoom/lib/spoom/deadcode/plugins/base.rb#284 - sig { params(send: ::Spoom::Deadcode::Send).void } - def on_send(send); end - - private - - # Plugin utils - # - # source://spoom/lib/spoom/deadcode/plugins/base.rb#352 - sig { params(name: ::String).returns(::String) } - def camelize(name); end - - # source://spoom/lib/spoom/deadcode/plugins/base.rb#301 - sig { params(name: T.nilable(::String)).returns(T::Boolean) } - def ignored_class_name?(name); end - - # source://spoom/lib/spoom/deadcode/plugins/base.rb#320 - sig { params(name: ::String).returns(T::Boolean) } - def ignored_constant_name?(name); end - - # source://spoom/lib/spoom/deadcode/plugins/base.rb#325 - sig { params(name: ::String).returns(T::Boolean) } - def ignored_method_name?(name); end - - # source://spoom/lib/spoom/deadcode/plugins/base.rb#330 - sig { params(name: ::String).returns(T::Boolean) } - def ignored_module_name?(name); end - - # source://spoom/lib/spoom/deadcode/plugins/base.rb#335 - 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#308 - sig { params(definition: ::Spoom::Model::Class).returns(T::Boolean) } - def ignored_subclass?(definition); end - - # source://spoom/lib/spoom/deadcode/plugins/base.rb#340 - sig { params(const: ::Symbol).returns(T::Set[::String]) } - def names(const); end - - # source://spoom/lib/spoom/deadcode/plugins/base.rb#345 - sig { params(const: ::Symbol).returns(T::Array[::Regexp]) } - def patterns(const); end - - # DSL support - # - # source://spoom/lib/spoom/deadcode/plugins/base.rb#293 - sig { params(definition: ::Spoom::Model::Namespace, superclass_name: ::String).returns(T::Boolean) } - def subclass_of?(definition, superclass_name); end - - class << self - # 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(send: ::Spoom::Deadcode::Send).void } - def on_send(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(definition: ::Spoom::Model::Method).void } - def on_define_method(definition); end - - # source://spoom/lib/spoom/deadcode/plugins/minitest.rb#28 - sig { override.params(send: ::Spoom::Deadcode::Send).void } - def on_send(send); 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(definition: ::Spoom::Model::Class).void } - def on_define_class(definition); end - - # source://spoom/lib/spoom/deadcode/plugins/namespaces.rb#16 - sig { override.params(definition: ::Spoom::Model::Module).void } - def on_define_module(definition); end - - private - - # source://spoom/lib/spoom/deadcode/plugins/namespaces.rb#23 - sig { params(symbol_def: ::Spoom::Model::Namespace).returns(T::Boolean) } - def used_as_namespace?(symbol_def); 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(definition: ::Spoom::Model::Class).void } - def on_define_class(definition); end - - # source://spoom/lib/spoom/deadcode/plugins/rails.rb#18 - sig { override.params(definition: ::Spoom::Model::Module).void } - def on_define_module(definition); end - - private - - # source://spoom/lib/spoom/deadcode/plugins/rails.rb#25 - sig { params(symbol_def: ::Spoom::Model::Namespace).returns(T::Boolean) } - def file_is_helper?(symbol_def); 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(definition: ::Spoom::Model::Constant).void } - def on_define_constant(definition); end - - # source://spoom/lib/spoom/deadcode/plugins/rubocop.rb#26 - sig { override.params(definition: ::Spoom::Model::Method).void } - def on_define_method(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(send: ::Spoom::Deadcode::Send).void } - def on_send(send); end - - private - - # source://spoom/lib/spoom/deadcode/plugins/ruby.rb#46 - sig { params(send: ::Spoom::Deadcode::Send, node: ::Prism::Node).void } - def reference_symbol_as_constant(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(definition: ::Spoom::Model::Constant).void } - def on_define_constant(definition); end - - # source://spoom/lib/spoom/deadcode/plugins/sorbet.rb#16 - sig { override.params(definition: ::Spoom::Model::Method).void } - def on_define_method(definition); end - - private - - # source://spoom/lib/spoom/deadcode/plugins/sorbet.rb#28 - sig { params(definition: ::Spoom::Model::Constant).returns(T::Boolean) } - def sorbet_enum_constant?(definition); end - - # source://spoom/lib/spoom/deadcode/plugins/sorbet.rb#23 - sig { params(definition: ::Spoom::Model::Constant).returns(T::Boolean) } - def sorbet_type_member?(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(definition: ::Spoom::Model::Method).void } - def on_define_method(definition); 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: T.nilable(::Spoom::Deadcode::Definition::Kind), location: ::Spoom::Location).returns(::String) } - 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#372 -class Spoom::Deadcode::Remover::NodeContext - # source://spoom/lib/spoom/deadcode/remover.rb#392 - sig do - params( - source: ::String, - comments: T::Hash[::Integer, ::Prism::Comment], - node: ::Prism::Node, - nesting: T::Array[::Prism::Node] - ).void - end - def initialize(source, comments, node, nesting); end - - # source://spoom/lib/spoom/deadcode/remover.rb#506 - sig { params(node: ::Prism::Node).returns(T::Array[::Prism::Comment]) } - def attached_comments(node); end - - # source://spoom/lib/spoom/deadcode/remover.rb#534 - sig { returns(T.nilable(::Prism::CallNode)) } - def attached_sig; end - - # source://spoom/lib/spoom/deadcode/remover.rb#521 - sig { returns(T::Array[::Prism::Node]) } - def attached_sigs; end - - # source://spoom/lib/spoom/deadcode/remover.rb#376 - sig { returns(T::Hash[::Integer, ::Prism::Comment]) } - def comments; end - - # source://spoom/lib/spoom/deadcode/remover.rb#494 - sig { params(start_line: ::Integer, end_line: ::Integer).returns(T::Array[::Prism::Comment]) } - def comments_between_lines(start_line, end_line); end - - # source://spoom/lib/spoom/deadcode/remover.rb#382 - sig { returns(T::Array[::Prism::Node]) } - def nesting; end - - # @return [Array] - # - # source://spoom/lib/spoom/deadcode/remover.rb#382 - def nesting=(_arg0); end - - # source://spoom/lib/spoom/deadcode/remover.rb#444 - sig { returns(T.nilable(::Prism::Node)) } - def next_node; end - - # @raise [Error] - # - # source://spoom/lib/spoom/deadcode/remover.rb#433 - sig { returns(T::Array[::Prism::Node]) } - def next_nodes; end - - # source://spoom/lib/spoom/deadcode/remover.rb#379 - sig { returns(::Prism::Node) } - def node; end - - # @raise [Error] - # - # source://spoom/lib/spoom/deadcode/remover.rb#408 - sig { returns(::Spoom::Deadcode::Remover::NodeContext) } - def parent_context; end - - # @raise [Error] - # - # source://spoom/lib/spoom/deadcode/remover.rb#400 - sig { returns(::Prism::Node) } - def parent_node; end - - # source://spoom/lib/spoom/deadcode/remover.rb#428 - sig { returns(T.nilable(::Prism::Node)) } - def previous_node; end - - # @raise [Error] - # - # source://spoom/lib/spoom/deadcode/remover.rb#417 - sig { returns(T::Array[::Prism::Node]) } - def previous_nodes; end - - # source://spoom/lib/spoom/deadcode/remover.rb#449 - sig { returns(T.nilable(::Spoom::Deadcode::Remover::NodeContext)) } - def sclass_context; end - - # source://spoom/lib/spoom/deadcode/remover.rb#482 - sig { params(node: T.nilable(::Prism::Node)).returns(T::Boolean) } - def sorbet_extend_sig?(node); end - - # source://spoom/lib/spoom/deadcode/remover.rb#477 - sig { params(node: T.nilable(::Prism::Node)).returns(T::Boolean) } - def sorbet_signature?(node); end -end - -# source://spoom/lib/spoom/deadcode/remover.rb#549 -class Spoom::Deadcode::Remover::NodeFinder < ::Spoom::Visitor - # source://spoom/lib/spoom/deadcode/remover.rb#621 - sig { params(location: ::Spoom::Location, kind: T.nilable(::Spoom::Deadcode::Definition::Kind)).void } - def initialize(location, kind); end - - # source://spoom/lib/spoom/deadcode/remover.rb#615 - sig { returns(T.nilable(::Prism::Node)) } - def node; end - - # source://spoom/lib/spoom/deadcode/remover.rb#618 - sig { returns(T::Array[::Prism::Node]) } - def nodes_nesting; end - - # source://spoom/lib/spoom/deadcode/remover.rb#630 - sig { override.params(node: T.nilable(::Prism::Node)).void } - def visit(node); end - - class << self - # source://spoom/lib/spoom/deadcode/remover.rb#556 - sig do - params( - source: ::String, - location: ::Spoom::Location, - kind: T.nilable(::Spoom::Deadcode::Definition::Kind) - ).returns(::Spoom::Deadcode::Remover::NodeContext) - end - def find(source, location, kind); end - - # source://spoom/lib/spoom/deadcode/remover.rb#590 - sig { params(node: ::Prism::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: T.nilable(::Spoom::Deadcode::Definition::Kind), - location: ::Spoom::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#153 - sig { params(context: ::Spoom::Deadcode::Remover::NodeContext).void } - def delete_attr_accessor(context); end - - # source://spoom/lib/spoom/deadcode/remover.rb#331 - sig { params(start_char: ::Integer, end_char: ::Integer).void } - def delete_chars(start_char, end_char); end - - # source://spoom/lib/spoom/deadcode/remover.rb#73 - sig { params(context: ::Spoom::Deadcode::Remover::NodeContext).void } - def delete_constant_assignment(context); end - - # source://spoom/lib/spoom/deadcode/remover.rb#324 - sig { params(start_line: ::Integer, end_line: ::Integer).void } - def delete_lines(start_line, end_line); end - - # source://spoom/lib/spoom/deadcode/remover.rb#261 - sig { params(context: ::Spoom::Deadcode::Remover::NodeContext).void } - def delete_node_and_comments_and_sigs(context); end - - # source://spoom/lib/spoom/deadcode/remover.rb#218 - sig do - params( - node: ::Prism::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#336 - 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#341 - sig do - params( - node: ::Prism::CallNode, - name: ::String, - kind: T.nilable(::Spoom::Deadcode::Definition::Kind) - ).returns(::String) - end - def transform_sig(node, name:, kind:); end -end - -# An abstraction to simplify handling of Prism::CallNode nodes. -# -# source://spoom/lib/spoom/deadcode/send.rb#7 -class Spoom::Deadcode::Send < ::T::Struct - const :node, ::Prism::CallNode - const :name, ::String - const :recv, T.nilable(::Prism::Node), default: T.unsafe(nil) - const :args, T::Array[::Prism::Node], default: T.unsafe(nil) - const :block, T.nilable(::Prism::Node), default: T.unsafe(nil) - const :location, ::Spoom::Location - - # 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: ::Prism::Node, value: T.nilable(::Prism::Node)).void).void } - def each_arg_assoc(&block); end - - class << self - # source://sorbet-runtime/0.5.11761lib/types/struct.rb#13 - def inherited(s); end - end -end - -# source://spoom/lib/spoom.rb#12 -class Spoom::Error < ::StandardError; end - -# source://spoom/lib/spoom/context/exec.rb#5 -class Spoom::ExecResult < ::T::Struct - const :out, ::String - const :err, T.nilable(::String) - const :status, T::Boolean - const :exit_code, ::Integer - - # source://spoom/lib/spoom/context/exec.rb#14 - sig { returns(::String) } - def to_s; end - - class << self - # source://sorbet-runtime/0.5.11761lib/types/struct.rb#13 - def inherited(s); end - end -end - -# source://spoom/lib/spoom/file_collector.rb#5 -class Spoom::FileCollector - # Initialize a new file collector - # - # 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. - # - # 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#39 - sig { params(path: ::String).void } - def visit_path(path); end - - # 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#56 - sig { params(path: ::String).returns(::String) } - def clean_path(path); end - - # 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#88 - sig { params(path: ::String).returns(T::Boolean) } - def excluded_path?(path); end - - # 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#61 - sig { params(path: ::String).void } - def visit_file(path); end -end - -# Build a file hierarchy from a set of file paths. -# -# source://spoom/lib/spoom/file_tree.rb#6 -class Spoom::FileTree - # source://spoom/lib/spoom/file_tree.rb#10 - sig { params(paths: T::Enumerable[::String]).void } - def initialize(paths = T.unsafe(nil)); end - - # Add a `path` to the tree - # - # This will create all nodes until the root of `path`. - # - # source://spoom/lib/spoom/file_tree.rb#25 - sig { params(path: ::String).returns(::Spoom::FileTree::Node) } - def add_path(path); end - - # Add all `paths` to the tree - # - # source://spoom/lib/spoom/file_tree.rb#17 - sig { params(paths: T::Enumerable[::String]).void } - def add_paths(paths); end - - # All the nodes in this tree - # - # source://spoom/lib/spoom/file_tree.rb#45 - sig { returns(T::Array[::Spoom::FileTree::Node]) } - def nodes; end - - # Return a map of typing scores for each node in the tree - # - # source://spoom/lib/spoom/file_tree.rb#59 - sig { params(context: ::Spoom::Context).returns(T::Hash[::Spoom::FileTree::Node, ::Float]) } - def nodes_strictness_scores(context); end - - # All the paths in this tree - # - # source://spoom/lib/spoom/file_tree.rb#53 - sig { returns(T::Array[::String]) } - def paths; end - - # Return a map of typing scores for each path in the tree - # - # source://spoom/lib/spoom/file_tree.rb#67 - sig { params(context: ::Spoom::Context).returns(T::Hash[::String, ::Float]) } - def paths_strictness_scores(context); end - - # source://spoom/lib/spoom/file_tree.rb#72 - sig { params(out: T.any(::IO, ::StringIO), colors: T::Boolean).void } - def print(out: T.unsafe(nil), colors: T.unsafe(nil)); end - - # All root nodes - # - # source://spoom/lib/spoom/file_tree.rb#39 - sig { returns(T::Array[::Spoom::FileTree::Node]) } - def roots; end -end - -# A visitor that collects all the nodes in a tree -# -# source://spoom/lib/spoom/file_tree.rb#124 -class Spoom::FileTree::CollectNodes < ::Spoom::FileTree::Visitor - # source://spoom/lib/spoom/file_tree.rb#131 - sig { void } - def initialize; end - - # source://spoom/lib/spoom/file_tree.rb#128 - sig { returns(T::Array[::Spoom::FileTree::Node]) } - def nodes; end - - # source://spoom/lib/spoom/file_tree.rb#137 - sig { override.params(node: ::Spoom::FileTree::Node).void } - def visit_node(node); end -end - -# A visitor that collects the typing score of each node in a tree -# -# source://spoom/lib/spoom/file_tree.rb#167 -class Spoom::FileTree::CollectScores < ::Spoom::FileTree::CollectStrictnesses - # source://spoom/lib/spoom/file_tree.rb#174 - sig { params(context: ::Spoom::Context).void } - def initialize(context); end - - # source://spoom/lib/spoom/file_tree.rb#171 - sig { returns(T::Hash[::Spoom::FileTree::Node, ::Float]) } - def scores; end - - # source://spoom/lib/spoom/file_tree.rb#181 - sig { override.params(node: ::Spoom::FileTree::Node).void } - def visit_node(node); end - - private - - # source://spoom/lib/spoom/file_tree.rb#190 - sig { params(node: ::Spoom::FileTree::Node).returns(::Float) } - def node_score(node); end - - # source://spoom/lib/spoom/file_tree.rb#199 - sig { params(strictness: T.nilable(::String)).returns(::Float) } - def strictness_score(strictness); end -end - -# A visitor that collects the strictness of each node in a tree -# -# source://spoom/lib/spoom/file_tree.rb#144 -class Spoom::FileTree::CollectStrictnesses < ::Spoom::FileTree::Visitor - # source://spoom/lib/spoom/file_tree.rb#151 - sig { params(context: ::Spoom::Context).void } - def initialize(context); end - - # source://spoom/lib/spoom/file_tree.rb#148 - sig { returns(T::Hash[::Spoom::FileTree::Node, T.nilable(::String)]) } - def strictnesses; end - - # source://spoom/lib/spoom/file_tree.rb#158 - sig { override.params(node: ::Spoom::FileTree::Node).void } - def visit_node(node); end -end - -# A node representing either a file or a directory inside a FileTree -# -# source://spoom/lib/spoom/file_tree.rb#78 -class Spoom::FileTree::Node < ::T::Struct - const :parent, T.nilable(::Spoom::FileTree::Node) - const :name, ::String - const :children, T::Hash[::String, ::Spoom::FileTree::Node], default: T.unsafe(nil) - - # Full path to this node from root - # - # source://spoom/lib/spoom/file_tree.rb#92 - sig { returns(::String) } - def path; end - - class << self - # source://sorbet-runtime/0.5.11761lib/types/struct.rb#13 - def inherited(s); end - end -end - -# An internal class used to print a FileTree -# -# See `FileTree#print` -# -# source://spoom/lib/spoom/file_tree.rb#212 -class Spoom::FileTree::Printer < ::Spoom::FileTree::Visitor - # source://spoom/lib/spoom/file_tree.rb#222 - sig do - params( - strictnesses: T::Hash[::Spoom::FileTree::Node, T.nilable(::String)], - out: T.any(::IO, ::StringIO), - colors: T::Boolean - ).void - end - def initialize(strictnesses, out: T.unsafe(nil), colors: T.unsafe(nil)); end - - # source://spoom/lib/spoom/file_tree.rb#230 - sig { override.params(node: ::Spoom::FileTree::Node).void } - def visit_node(node); end - - private - - # source://spoom/lib/spoom/file_tree.rb#255 - sig { params(strictness: T.nilable(::String)).returns(::Spoom::Color) } - def strictness_color(strictness); end -end - -# An abstract visitor for FileTree -# -# @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below. -# -# source://spoom/lib/spoom/file_tree.rb#101 -class Spoom::FileTree::Visitor - abstract! - - # source://spoom/lib/spoom/file_tree.rb#113 - sig { params(node: ::Spoom::FileTree::Node).void } - def visit_node(node); end - - # source://spoom/lib/spoom/file_tree.rb#118 - sig { params(nodes: T::Array[::Spoom::FileTree::Node]).void } - def visit_nodes(nodes); end - - # source://spoom/lib/spoom/file_tree.rb#108 - sig { params(tree: ::Spoom::FileTree).void } - def visit_tree(tree); end -end - -# source://spoom/lib/spoom/context/git.rb#5 -module Spoom::Git; end - -# source://spoom/lib/spoom/context/git.rb#6 -class Spoom::Git::Commit < ::T::Struct - const :sha, ::String - const :time, ::Time - - # source://spoom/lib/spoom/context/git.rb#27 - sig { returns(::Integer) } - def timestamp; end - - class << self - # source://sorbet-runtime/0.5.11761lib/types/struct.rb#13 - def inherited(s); end - - # Parse a line formatted as `%h %at` into a `Commit` - # - # source://spoom/lib/spoom/context/git.rb#14 - sig { params(string: ::String).returns(T.nilable(::Spoom::Git::Commit)) } - def parse_line(string); end - end -end - -# source://spoom/lib/spoom/sorbet/lsp/base.rb#5 -module Spoom::LSP; end - -# source://spoom/lib/spoom/sorbet/lsp.rb#13 -class Spoom::LSP::Client - # source://spoom/lib/spoom/sorbet/lsp.rb#17 - sig { params(sorbet_bin: ::String, sorbet_args: ::String, path: ::String).void } - def initialize(sorbet_bin, *sorbet_args, path: T.unsafe(nil)); end - - # source://spoom/lib/spoom/sorbet/lsp.rb#229 - sig { void } - def close; end - - # source://spoom/lib/spoom/sorbet/lsp.rb#131 - sig { params(uri: ::String, line: ::Integer, column: ::Integer).returns(T::Array[::Spoom::LSP::Location]) } - def definitions(uri, line, column); end - - # source://spoom/lib/spoom/sorbet/lsp.rb#212 - sig { params(uri: ::String).returns(T::Array[::Spoom::LSP::DocumentSymbol]) } - def document_symbols(uri); end - - # source://spoom/lib/spoom/sorbet/lsp.rb#89 - sig { params(uri: ::String, line: ::Integer, column: ::Integer).returns(T.nilable(::Spoom::LSP::Hover)) } - def hover(uri, line, column); end - - # source://spoom/lib/spoom/sorbet/lsp.rb#27 - sig { returns(::Integer) } - def next_id; end - - # LSP requests - # - # @raise [Error::AlreadyOpen] - # - # source://spoom/lib/spoom/sorbet/lsp.rb#72 - sig { params(workspace_path: ::String).void } - def open(workspace_path); end - - # source://spoom/lib/spoom/sorbet/lsp.rb#54 - sig { returns(T.nilable(T::Hash[T.untyped, T.untyped])) } - def read; end - - # @raise [Error::BadHeaders] - # - # source://spoom/lib/spoom/sorbet/lsp.rb#43 - sig { returns(T.nilable(::String)) } - def read_raw; end - - # source://spoom/lib/spoom/sorbet/lsp.rb#173 - sig do - params( - uri: ::String, - line: ::Integer, - column: ::Integer, - include_decl: T::Boolean - ).returns(T::Array[::Spoom::LSP::Location]) - end - def references(uri, line, column, include_decl = T.unsafe(nil)); end - - # source://spoom/lib/spoom/sorbet/lsp.rb#37 - sig { params(message: ::Spoom::LSP::Message).returns(T.nilable(T::Hash[T.untyped, T.untyped])) } - def send(message); end - - # source://spoom/lib/spoom/sorbet/lsp.rb#32 - sig { params(json_string: ::String).void } - def send_raw(json_string); end - - # source://spoom/lib/spoom/sorbet/lsp.rb#110 - sig { params(uri: ::String, line: ::Integer, column: ::Integer).returns(T::Array[::Spoom::LSP::SignatureHelp]) } - def signatures(uri, line, column); end - - # source://spoom/lib/spoom/sorbet/lsp.rb#197 - sig { params(query: ::String).returns(T::Array[::Spoom::LSP::DocumentSymbol]) } - def symbols(query); end - - # source://spoom/lib/spoom/sorbet/lsp.rb#152 - sig { params(uri: ::String, line: ::Integer, column: ::Integer).returns(T::Array[::Spoom::LSP::Location]) } - def type_definitions(uri, line, column); end -end - -# source://spoom/lib/spoom/sorbet/lsp/structures.rb#178 -class Spoom::LSP::Diagnostic < ::T::Struct - include ::Spoom::LSP::PrintableSymbol - - const :range, ::Spoom::LSP::Range - const :code, ::Integer - const :message, ::String - const :information, ::Object - - # source://spoom/lib/spoom/sorbet/lsp/structures.rb#202 - sig { override.params(printer: ::Spoom::LSP::SymbolPrinter).void } - def accept_printer(printer); end - - # source://spoom/lib/spoom/sorbet/lsp/structures.rb#207 - sig { returns(::String) } - def to_s; end - - class << self - # source://spoom/lib/spoom/sorbet/lsp/structures.rb#191 - sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::Diagnostic) } - def from_json(json); end - - # source://sorbet-runtime/0.5.11761lib/types/struct.rb#13 - def inherited(s); end - end -end - -# source://spoom/lib/spoom/sorbet/lsp/structures.rb#212 -class Spoom::LSP::DocumentSymbol < ::T::Struct - include ::Spoom::LSP::PrintableSymbol - - const :name, ::String - const :detail, T.nilable(::String) - const :kind, ::Integer - const :location, T.nilable(::Spoom::LSP::Location) - const :range, T.nilable(::Spoom::LSP::Range) - const :children, T::Array[::Spoom::LSP::DocumentSymbol] - - # source://spoom/lib/spoom/sorbet/lsp/structures.rb#240 - sig { override.params(printer: ::Spoom::LSP::SymbolPrinter).void } - def accept_printer(printer); end - - # source://spoom/lib/spoom/sorbet/lsp/structures.rb#272 - sig { returns(::String) } - def kind_string; end - - # source://spoom/lib/spoom/sorbet/lsp/structures.rb#267 - sig { returns(::String) } - def to_s; end - - class << self - # source://spoom/lib/spoom/sorbet/lsp/structures.rb#227 - sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::DocumentSymbol) } - def from_json(json); end - - # source://sorbet-runtime/0.5.11761lib/types/struct.rb#13 - def inherited(s); end - end -end - -# source://spoom/lib/spoom/sorbet/lsp/structures.rb#276 -Spoom::LSP::DocumentSymbol::SYMBOL_KINDS = T.let(T.unsafe(nil), Hash) - -# source://spoom/lib/spoom/sorbet/lsp/errors.rb#6 -class Spoom::LSP::Error < ::Spoom::Error; end - -# source://spoom/lib/spoom/sorbet/lsp/errors.rb#7 -class Spoom::LSP::Error::AlreadyOpen < ::Spoom::LSP::Error; end - -# source://spoom/lib/spoom/sorbet/lsp/errors.rb#8 -class Spoom::LSP::Error::BadHeaders < ::Spoom::LSP::Error; end - -# source://spoom/lib/spoom/sorbet/lsp/errors.rb#10 -class Spoom::LSP::Error::Diagnostics < ::Spoom::LSP::Error - # source://spoom/lib/spoom/sorbet/lsp/errors.rb#32 - sig { params(uri: ::String, diagnostics: T::Array[::Spoom::LSP::Diagnostic]).void } - def initialize(uri, diagnostics); end - - # source://spoom/lib/spoom/sorbet/lsp/errors.rb#17 - sig { returns(T::Array[::Spoom::LSP::Diagnostic]) } - def diagnostics; end - - # source://spoom/lib/spoom/sorbet/lsp/errors.rb#14 - sig { returns(::String) } - def uri; end - - class << self - # source://spoom/lib/spoom/sorbet/lsp/errors.rb#23 - sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::Error::Diagnostics) } - def from_json(json); end - end -end - -# source://spoom/lib/spoom/sorbet/lsp/structures.rb#19 -class Spoom::LSP::Hover < ::T::Struct - include ::Spoom::LSP::PrintableSymbol - - const :contents, ::String - const :range, T.nilable(T::Range[T.untyped]) - - # source://spoom/lib/spoom/sorbet/lsp/structures.rb#39 - sig { override.params(printer: ::Spoom::LSP::SymbolPrinter).void } - def accept_printer(printer); end - - # source://spoom/lib/spoom/sorbet/lsp/structures.rb#45 - sig { returns(::String) } - def to_s; end - - class << self - # source://spoom/lib/spoom/sorbet/lsp/structures.rb#30 - sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::Hover) } - def from_json(json); end - - # source://sorbet-runtime/0.5.11761lib/types/struct.rb#13 - def inherited(s); end - end -end - -# source://spoom/lib/spoom/sorbet/lsp/structures.rb#112 -class Spoom::LSP::Location < ::T::Struct - include ::Spoom::LSP::PrintableSymbol - - const :uri, ::String - const :range, ::Spoom::LSP::Range - - # source://spoom/lib/spoom/sorbet/lsp/structures.rb#132 - sig { override.params(printer: ::Spoom::LSP::SymbolPrinter).void } - def accept_printer(printer); end - - # source://spoom/lib/spoom/sorbet/lsp/structures.rb#138 - sig { returns(::String) } - def to_s; end - - class << self - # source://spoom/lib/spoom/sorbet/lsp/structures.rb#123 - sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::Location) } - def from_json(json); end - - # source://sorbet-runtime/0.5.11761lib/types/struct.rb#13 - def inherited(s); end - end -end - -# A general message as defined by JSON-RPC. -# -# The language server protocol always uses `"2.0"` as the `jsonrpc` version. -# -# source://spoom/lib/spoom/sorbet/lsp/base.rb#12 -class Spoom::LSP::Message - # source://spoom/lib/spoom/sorbet/lsp/base.rb#16 - sig { void } - def initialize; end - - # 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#29 - sig { params(args: T.untyped).returns(::String) } - def to_json(*args); end -end - -# A notification message. -# -# A processed notification message must not send a response back. They work like events. -# -# source://spoom/lib/spoom/sorbet/lsp/base.rb#58 -class Spoom::LSP::Notification < ::Spoom::LSP::Message - # 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#62 - sig { returns(::String) } - def method; end - - # source://spoom/lib/spoom/sorbet/lsp/base.rb#65 - sig { returns(T::Hash[T.untyped, T.untyped]) } - def params; end -end - -# source://spoom/lib/spoom/sorbet/lsp/structures.rb#50 -class Spoom::LSP::Position < ::T::Struct - include ::Spoom::LSP::PrintableSymbol - - const :line, ::Integer - const :char, ::Integer - - # source://spoom/lib/spoom/sorbet/lsp/structures.rb#70 - sig { override.params(printer: ::Spoom::LSP::SymbolPrinter).void } - def accept_printer(printer); end - - # source://spoom/lib/spoom/sorbet/lsp/structures.rb#75 - sig { returns(::String) } - def to_s; end - - class << self - # source://spoom/lib/spoom/sorbet/lsp/structures.rb#61 - sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::Position) } - def from_json(json); end - - # source://sorbet-runtime/0.5.11761lib/types/struct.rb#13 - def inherited(s); end - end -end - -# @abstract Subclasses must implement the `abstract` methods below. -# -# source://spoom/lib/spoom/sorbet/lsp/structures.rb#9 -module Spoom::LSP::PrintableSymbol - interface! - - # @abstract - # - # source://spoom/lib/spoom/sorbet/lsp/structures.rb#16 - sig { abstract.params(printer: ::Spoom::LSP::SymbolPrinter).void } - def accept_printer(printer); end -end - -# source://spoom/lib/spoom/sorbet/lsp/structures.rb#80 -class Spoom::LSP::Range < ::T::Struct - include ::Spoom::LSP::PrintableSymbol - - const :start, ::Spoom::LSP::Position - const :end, ::Spoom::LSP::Position - - # source://spoom/lib/spoom/sorbet/lsp/structures.rb#100 - sig { override.params(printer: ::Spoom::LSP::SymbolPrinter).void } - def accept_printer(printer); end - - # source://spoom/lib/spoom/sorbet/lsp/structures.rb#107 - sig { returns(::String) } - def to_s; end - - class << self - # source://spoom/lib/spoom/sorbet/lsp/structures.rb#91 - sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::Range) } - def from_json(json); end - - # source://sorbet-runtime/0.5.11761lib/types/struct.rb#13 - def inherited(s); end - end -end - -# A request message to describe a request between the client and the server. -# -# Every processed request must send a response back to the sender of the request. -# -# source://spoom/lib/spoom/sorbet/lsp/base.rb#37 -class Spoom::LSP::Request < ::Spoom::LSP::Message - # 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#41 - sig { returns(::Integer) } - def id; end - - # source://spoom/lib/spoom/sorbet/lsp/base.rb#44 - sig { returns(T::Hash[T.untyped, T.untyped]) } - def params; end -end - -# source://spoom/lib/spoom/sorbet/lsp/errors.rb#40 -class Spoom::LSP::ResponseError < ::Spoom::LSP::Error - # source://spoom/lib/spoom/sorbet/lsp/errors.rb#63 - sig { params(code: ::Integer, message: ::String, data: T::Hash[T.untyped, T.untyped]).void } - def initialize(code, message, data); end - - # source://spoom/lib/spoom/sorbet/lsp/errors.rb#44 - sig { returns(::Integer) } - def code; end - - # source://spoom/lib/spoom/sorbet/lsp/errors.rb#47 - sig { returns(T::Hash[T.untyped, T.untyped]) } - def data; end - - class << self - # source://spoom/lib/spoom/sorbet/lsp/errors.rb#53 - sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::ResponseError) } - def from_json(json); end - end -end - -# source://spoom/lib/spoom/sorbet/lsp/structures.rb#143 -class Spoom::LSP::SignatureHelp < ::T::Struct - include ::Spoom::LSP::PrintableSymbol - - const :label, T.nilable(::String) - const :doc, ::Object - const :params, T::Array[T.untyped] - - # source://spoom/lib/spoom/sorbet/lsp/structures.rb#165 - sig { override.params(printer: ::Spoom::LSP::SymbolPrinter).void } - def accept_printer(printer); end - - # source://spoom/lib/spoom/sorbet/lsp/structures.rb#173 - sig { returns(::String) } - def to_s; end - - class << self - # source://spoom/lib/spoom/sorbet/lsp/structures.rb#155 - sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::SignatureHelp) } - def from_json(json); end - - # source://sorbet-runtime/0.5.11761lib/types/struct.rb#13 - def inherited(s); end - end -end - -# source://spoom/lib/spoom/sorbet/lsp/structures.rb#309 -class Spoom::LSP::SymbolPrinter < ::Spoom::Printer - # source://spoom/lib/spoom/sorbet/lsp/structures.rb#326 - sig do - params( - out: T.any(::IO, ::StringIO), - colors: T::Boolean, - indent_level: ::Integer, - prefix: T.nilable(::String) - ).void - end - def initialize(out: T.unsafe(nil), colors: T.unsafe(nil), indent_level: T.unsafe(nil), prefix: T.unsafe(nil)); end - - # source://spoom/lib/spoom/sorbet/lsp/structures.rb#348 - sig { params(uri: ::String).returns(::String) } - def clean_uri(uri); end - - # source://spoom/lib/spoom/sorbet/lsp/structures.rb#316 - sig { returns(T.nilable(::String)) } - def prefix; end - - # @return [String, nil] - # - # source://spoom/lib/spoom/sorbet/lsp/structures.rb#316 - def prefix=(_arg0); end - - # source://spoom/lib/spoom/sorbet/lsp/structures.rb#356 - sig { params(objects: T::Array[::Spoom::LSP::PrintableSymbol]).void } - def print_list(objects); end - - # source://spoom/lib/spoom/sorbet/lsp/structures.rb#336 - sig { params(object: T.nilable(::Spoom::LSP::PrintableSymbol)).void } - def print_object(object); end - - # source://spoom/lib/spoom/sorbet/lsp/structures.rb#343 - sig { params(objects: T::Array[::Spoom::LSP::PrintableSymbol]).void } - def print_objects(objects); end - - # source://spoom/lib/spoom/sorbet/lsp/structures.rb#313 - sig { returns(T::Set[::Integer]) } - def seen; end -end - -# source://spoom/lib/spoom/location.rb#5 -class Spoom::Location - include ::Comparable - - # @raise [LocationError] - # - # source://spoom/lib/spoom/location.rb#73 - sig do - params( - file: ::String, - start_line: T.nilable(::Integer), - start_column: T.nilable(::Integer), - end_line: T.nilable(::Integer), - end_column: T.nilable(::Integer) - ).void - end - def initialize(file, start_line: T.unsafe(nil), start_column: T.unsafe(nil), end_line: T.unsafe(nil), end_column: T.unsafe(nil)); end - - # source://spoom/lib/spoom/location.rb#106 - sig { override.params(other: ::BasicObject).returns(T.nilable(::Integer)) } - def <=>(other); end - - # @return [Integer, nil] - # - # source://spoom/lib/spoom/location.rb#62 - def end_column; end - - # @return [Integer, nil] - # - # source://spoom/lib/spoom/location.rb#62 - def end_line; end - - # source://spoom/lib/spoom/location.rb#59 - sig { returns(::String) } - def file; end - - # source://spoom/lib/spoom/location.rb#93 - sig { params(other: ::Spoom::Location).returns(T::Boolean) } - def include?(other); end - - # @return [Integer, nil] - # - # source://spoom/lib/spoom/location.rb#62 - def start_column; end - - # source://spoom/lib/spoom/location.rb#62 - sig { returns(T.nilable(::Integer)) } - def start_line; end - - # source://spoom/lib/spoom/location.rb#129 - sig { returns(::String) } - def to_s; end - - class << self - # source://spoom/lib/spoom/location.rb#47 - sig { params(file: ::String, location: ::Prism::Location).returns(::Spoom::Location) } - def from_prism(file, location); end - - # @raise [LocationError] - # - # source://spoom/lib/spoom/location.rb#16 - sig { params(location_string: ::String).returns(::Spoom::Location) } - def from_string(location_string); end - end -end - -# source://spoom/lib/spoom/location.rb#10 -class Spoom::Location::LocationError < ::Spoom::Error; end - -# source://spoom/lib/spoom/model/model.rb#5 -class Spoom::Model - # source://spoom/lib/spoom/model/model.rb#238 - sig { void } - def initialize; end - - # Get a symbol by it's full name - # - # Raises an error if the symbol is not found - # - # @raise [Error] - # - # source://spoom/lib/spoom/model/model.rb#247 - sig { params(full_name: ::String).returns(::Spoom::Model::Symbol) } - def [](full_name); end - - # source://spoom/lib/spoom/model/model.rb#296 - sig { void } - def finalize!; end - - # Register a new symbol by it's full name - # - # If the symbol already exists, it will be returned. - # - # source://spoom/lib/spoom/model/model.rb#258 - sig { params(full_name: ::String).returns(::Spoom::Model::Symbol) } - def register_symbol(full_name); end - - # source://spoom/lib/spoom/model/model.rb#263 - sig { params(full_name: ::String, context: ::Spoom::Model::Symbol).returns(::Spoom::Model::Symbol) } - def resolve_symbol(full_name, context:); end - - # source://spoom/lib/spoom/model/model.rb#290 - sig { params(symbol: ::Spoom::Model::Symbol).returns(T::Array[::Spoom::Model::Symbol]) } - def subtypes(symbol); end - - # source://spoom/lib/spoom/model/model.rb#284 - sig { params(symbol: ::Spoom::Model::Symbol).returns(T::Array[::Spoom::Model::Symbol]) } - def supertypes(symbol); end - - # All the symbols registered in this model - # - # source://spoom/lib/spoom/model/model.rb#232 - sig { returns(T::Hash[::String, ::Spoom::Model::Symbol]) } - def symbols; end - - # source://spoom/lib/spoom/model/model.rb#235 - sig { returns(Spoom::Poset[::Spoom::Model::Symbol]) } - def symbols_hierarchy; end - - private - - # source://spoom/lib/spoom/model/model.rb#303 - sig { void } - def compute_symbols_hierarchy!; end -end - -# @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below. -# -# source://spoom/lib/spoom/model/model.rb#179 -class Spoom::Model::Attr < ::Spoom::Model::Property - abstract! -end - -# source://spoom/lib/spoom/model/model.rb#185 -class Spoom::Model::AttrAccessor < ::Spoom::Model::Attr; end - -# source://spoom/lib/spoom/model/model.rb#183 -class Spoom::Model::AttrReader < ::Spoom::Model::Attr; end - -# source://spoom/lib/spoom/model/model.rb#184 -class Spoom::Model::AttrWriter < ::Spoom::Model::Attr; end - -# Populate a Model by visiting the nodes from a Ruby file -# -# source://spoom/lib/spoom/model/builder.rb#7 -class Spoom::Model::Builder < ::Spoom::Model::NamespaceVisitor - # source://spoom/lib/spoom/model/builder.rb#11 - sig { params(model: ::Spoom::Model, file: ::String).void } - def initialize(model, file); end - - # Accessors - # - # source://spoom/lib/spoom/model/builder.rb#146 - sig { override.params(node: ::Prism::CallNode).void } - def visit_call_node(node); end - - # Classes - # - # source://spoom/lib/spoom/model/builder.rb#24 - sig { override.params(node: ::Prism::ClassNode).void } - def visit_class_node(node); end - - # Constants - # - # source://spoom/lib/spoom/model/builder.rb#71 - sig { override.params(node: ::Prism::ConstantPathWriteNode).void } - def visit_constant_path_write_node(node); end - - # source://spoom/lib/spoom/model/builder.rb#92 - sig { override.params(node: ::Prism::ConstantWriteNode).void } - def visit_constant_write_node(node); end - - # Methods - # - # source://spoom/lib/spoom/model/builder.rb#127 - sig { override.params(node: ::Prism::DefNode).void } - def visit_def_node(node); end - - # Modules - # - # source://spoom/lib/spoom/model/builder.rb#55 - sig { override.params(node: ::Prism::ModuleNode).void } - def visit_module_node(node); end - - # source://spoom/lib/spoom/model/builder.rb#106 - sig { override.params(node: ::Prism::MultiWriteNode).void } - def visit_multi_write_node(node); end - - # source://spoom/lib/spoom/model/builder.rb#39 - sig { override.params(node: ::Prism::SingletonClassNode).void } - def visit_singleton_class_node(node); end - - private - - # source://spoom/lib/spoom/model/builder.rb#234 - sig { returns(T::Array[::Spoom::Model::Sig]) } - def collect_sigs; end - - # source://spoom/lib/spoom/model/builder.rb#229 - sig { returns(::Spoom::Model::Visibility) } - def current_visibility; end - - # source://spoom/lib/spoom/model/builder.rb#241 - sig { params(node: ::Prism::Node).returns(::Spoom::Location) } - def node_location(node); end -end - -# source://spoom/lib/spoom/model/model.rb#117 -class Spoom::Model::Class < ::Spoom::Model::Namespace - # source://spoom/lib/spoom/model/model.rb#129 - sig do - params( - symbol: ::Spoom::Model::Symbol, - owner: T.nilable(::Spoom::Model::Namespace), - location: ::Spoom::Location, - superclass_name: T.nilable(::String) - ).void - end - def initialize(symbol, owner:, location:, superclass_name: T.unsafe(nil)); end - - # source://spoom/lib/spoom/model/model.rb#119 - sig { returns(T.nilable(::String)) } - def superclass_name; end - - # @return [String, nil] - # - # source://spoom/lib/spoom/model/model.rb#119 - def superclass_name=(_arg0); end -end - -# source://spoom/lib/spoom/model/model.rb#138 -class Spoom::Model::Constant < ::Spoom::Model::SymbolDef - # source://spoom/lib/spoom/model/model.rb#143 - sig do - params( - symbol: ::Spoom::Model::Symbol, - owner: T.nilable(::Spoom::Model::Namespace), - location: ::Spoom::Location, - value: ::String - ).void - end - def initialize(symbol, owner:, location:, value:); end - - # source://spoom/lib/spoom/model/model.rb#140 - sig { returns(::String) } - def value; end -end - -# source://spoom/lib/spoom/model/model.rb#8 -class Spoom::Model::Error < ::Spoom::Error; end - -# source://spoom/lib/spoom/model/model.rb#213 -class Spoom::Model::Extend < ::Spoom::Model::Mixin; end - -# source://spoom/lib/spoom/model/model.rb#211 -class Spoom::Model::Include < ::Spoom::Model::Mixin; end - -# source://spoom/lib/spoom/model/model.rb#177 -class Spoom::Model::Method < ::Spoom::Model::Property; end - -# A mixin (include, prepend, extend) to a namespace -# -# @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below. -# -# source://spoom/lib/spoom/model/model.rb#196 -class Spoom::Model::Mixin - abstract! - - # source://spoom/lib/spoom/model/model.rb#206 - sig { params(name: ::String).void } - def initialize(name); end - - # source://spoom/lib/spoom/model/model.rb#203 - sig { returns(::String) } - def name; end -end - -# source://spoom/lib/spoom/model/model.rb#136 -class Spoom::Model::Module < ::Spoom::Model::Namespace; end - -# A class or module -# -# @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below. -# -# source://spoom/lib/spoom/model/model.rb#97 -class Spoom::Model::Namespace < ::Spoom::Model::SymbolDef - abstract! - - # source://spoom/lib/spoom/model/model.rb#107 - sig do - params( - symbol: ::Spoom::Model::Symbol, - owner: T.nilable(::Spoom::Model::Namespace), - location: ::Spoom::Location - ).void - end - def initialize(symbol, owner:, location:); end - - # source://spoom/lib/spoom/model/model.rb#101 - sig { returns(T::Array[::Spoom::Model::SymbolDef]) } - def children; end - - # source://spoom/lib/spoom/model/model.rb#104 - sig { returns(T::Array[::Spoom::Model::Mixin]) } - def mixins; end -end - -# @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below. -# -# source://spoom/lib/spoom/model/namespace_visitor.rb#6 -class Spoom::Model::NamespaceVisitor < ::Spoom::Visitor - abstract! - - # source://spoom/lib/spoom/model/namespace_visitor.rb#12 - sig { void } - def initialize; end - - # source://spoom/lib/spoom/model/namespace_visitor.rb#19 - sig { override.params(node: T.nilable(::Prism::Node)).void } - def visit(node); end -end - -# source://spoom/lib/spoom/model/model.rb#212 -class Spoom::Model::Prepend < ::Spoom::Model::Mixin; end - -# A method or an attribute accessor -# -# @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below. -# -# source://spoom/lib/spoom/model/model.rb#151 -class Spoom::Model::Property < ::Spoom::Model::SymbolDef - abstract! - - # source://spoom/lib/spoom/model/model.rb#169 - sig do - params( - symbol: ::Spoom::Model::Symbol, - owner: T.nilable(::Spoom::Model::Namespace), - location: ::Spoom::Location, - visibility: ::Spoom::Model::Visibility, - sigs: T::Array[::Spoom::Model::Sig] - ).void - end - def initialize(symbol, owner:, location:, visibility:, sigs: T.unsafe(nil)); end - - # source://spoom/lib/spoom/model/model.rb#158 - sig { returns(T::Array[::Spoom::Model::Sig]) } - def sigs; end - - # source://spoom/lib/spoom/model/model.rb#155 - sig { returns(::Spoom::Model::Visibility) } - def visibility; end -end - -# A reference to something that looks like a constant or a method -# -# Constants could be classes, modules, or actual constants. -# Methods could be accessors, instance or class methods, aliases, etc. -# -# source://spoom/lib/spoom/model/reference.rb#10 -class Spoom::Model::Reference < ::T::Struct - const :kind, ::Spoom::Model::Reference::Kind - const :name, ::String - const :location, ::Spoom::Location - - # source://spoom/lib/spoom/model/reference.rb#39 - sig { returns(T::Boolean) } - def constant?; end - - # source://spoom/lib/spoom/model/reference.rb#44 - sig { returns(T::Boolean) } - def method?; end - - class << self - # source://spoom/lib/spoom/model/reference.rb#24 - sig { params(name: ::String, location: ::Spoom::Location).returns(::Spoom::Model::Reference) } - def constant(name, location); end - - # source://sorbet-runtime/0.5.11761lib/types/struct.rb#13 - def inherited(s); end - - # source://spoom/lib/spoom/model/reference.rb#29 - sig { params(name: ::String, location: ::Spoom::Location).returns(::Spoom::Model::Reference) } - def method(name, location); end - end -end - -# source://spoom/lib/spoom/model/reference.rb#13 -class Spoom::Model::Reference::Kind < ::T::Enum - enums do - Constant = new - Method = new - end -end - -# Visit a file to collect all the references to constants and methods -# -# source://spoom/lib/spoom/model/references_visitor.rb#7 -class Spoom::Model::ReferencesVisitor < ::Spoom::Visitor - # source://spoom/lib/spoom/model/references_visitor.rb#14 - sig { params(file: ::String).void } - def initialize(file); end - - # source://spoom/lib/spoom/model/references_visitor.rb#11 - sig { returns(T::Array[::Spoom::Model::Reference]) } - def references; end - - # source://spoom/lib/spoom/model/references_visitor.rb#22 - sig { override.params(node: ::Prism::AliasMethodNode).void } - def visit_alias_method_node(node); end - - # source://spoom/lib/spoom/model/references_visitor.rb#27 - sig { override.params(node: ::Prism::AndNode).void } - def visit_and_node(node); end - - # source://spoom/lib/spoom/model/references_visitor.rb#33 - sig { override.params(node: ::Prism::BlockArgumentNode).void } - def visit_block_argument_node(node); end - - # source://spoom/lib/spoom/model/references_visitor.rb#44 - sig { override.params(node: ::Prism::CallAndWriteNode).void } - def visit_call_and_write_node(node); end - - # source://spoom/lib/spoom/model/references_visitor.rb#68 - sig { override.params(node: ::Prism::CallNode).void } - def visit_call_node(node); end - - # source://spoom/lib/spoom/model/references_visitor.rb#52 - sig { override.params(node: ::Prism::CallOperatorWriteNode).void } - def visit_call_operator_write_node(node); end - - # source://spoom/lib/spoom/model/references_visitor.rb#60 - sig { override.params(node: ::Prism::CallOrWriteNode).void } - def visit_call_or_write_node(node); end - - # source://spoom/lib/spoom/model/references_visitor.rb#85 - sig { override.params(node: ::Prism::ClassNode).void } - def visit_class_node(node); end - - # source://spoom/lib/spoom/model/references_visitor.rb#91 - sig { override.params(node: ::Prism::ConstantAndWriteNode).void } - def visit_constant_and_write_node(node); end - - # source://spoom/lib/spoom/model/references_visitor.rb#97 - sig { override.params(node: ::Prism::ConstantOperatorWriteNode).void } - def visit_constant_operator_write_node(node); end - - # source://spoom/lib/spoom/model/references_visitor.rb#103 - sig { override.params(node: ::Prism::ConstantOrWriteNode).void } - def visit_constant_or_write_node(node); end - - # source://spoom/lib/spoom/model/references_visitor.rb#109 - sig { override.params(node: ::Prism::ConstantPathNode).void } - def visit_constant_path_node(node); end - - # source://spoom/lib/spoom/model/references_visitor.rb#115 - sig { override.params(node: ::Prism::ConstantPathWriteNode).void } - def visit_constant_path_write_node(node); end - - # source://spoom/lib/spoom/model/references_visitor.rb#121 - sig { override.params(node: ::Prism::ConstantReadNode).void } - def visit_constant_read_node(node); end - - # source://spoom/lib/spoom/model/references_visitor.rb#126 - sig { override.params(node: ::Prism::ConstantWriteNode).void } - def visit_constant_write_node(node); end - - # source://spoom/lib/spoom/model/references_visitor.rb#131 - sig { override.params(node: ::Prism::LocalVariableAndWriteNode).void } - def visit_local_variable_and_write_node(node); end - - # source://spoom/lib/spoom/model/references_visitor.rb#139 - sig { override.params(node: ::Prism::LocalVariableOperatorWriteNode).void } - def visit_local_variable_operator_write_node(node); end - - # source://spoom/lib/spoom/model/references_visitor.rb#147 - sig { override.params(node: ::Prism::LocalVariableOrWriteNode).void } - def visit_local_variable_or_write_node(node); end - - # source://spoom/lib/spoom/model/references_visitor.rb#155 - sig { override.params(node: ::Prism::LocalVariableWriteNode).void } - def visit_local_variable_write_node(node); end - - # source://spoom/lib/spoom/model/references_visitor.rb#161 - sig { override.params(node: ::Prism::ModuleNode).void } - def visit_module_node(node); end - - # source://spoom/lib/spoom/model/references_visitor.rb#166 - sig { override.params(node: ::Prism::MultiWriteNode).void } - def visit_multi_write_node(node); end - - # source://spoom/lib/spoom/model/references_visitor.rb#177 - sig { override.params(node: ::Prism::OrNode).void } - def visit_or_node(node); end - - private - - # source://spoom/lib/spoom/model/references_visitor.rb#195 - sig { params(node: ::Prism::Node).returns(::Spoom::Location) } - def node_location(node); end - - # source://spoom/lib/spoom/model/references_visitor.rb#185 - sig { params(name: ::String, node: ::Prism::Node).void } - def reference_constant(name, node); end - - # source://spoom/lib/spoom/model/references_visitor.rb#190 - sig { params(name: ::String, node: ::Prism::Node).void } - def reference_method(name, node); end -end - -# A Sorbet signature (sig block) -# -# source://spoom/lib/spoom/model/model.rb#216 -class Spoom::Model::Sig - # source://spoom/lib/spoom/model/model.rb#223 - sig { params(string: ::String).void } - def initialize(string); end - - # source://spoom/lib/spoom/model/model.rb#220 - sig { returns(::String) } - def string; end -end - -# source://spoom/lib/spoom/model/model.rb#115 -class Spoom::Model::SingletonClass < ::Spoom::Model::Namespace; end - -# A Symbol is a uniquely named entity in the Ruby codebase -# -# A symbol can have multiple definitions, e.g. a class can be reopened. -# Sometimes a symbol can have multiple definitions of different types, -# e.g. `foo` method can be defined both as a method and as an attribute accessor. -# -# source://spoom/lib/spoom/model/model.rb#15 -class Spoom::Model::Symbol - # source://spoom/lib/spoom/model/model.rb#27 - sig { params(full_name: ::String).void } - def initialize(full_name); end - - # The definitions of this symbol (where it exists in the code) - # - # source://spoom/lib/spoom/model/model.rb#24 - sig { returns(T::Array[::Spoom::Model::SymbolDef]) } - def definitions; end - - # The full, unique name of this symbol - # - # source://spoom/lib/spoom/model/model.rb#20 - sig { returns(::String) } - def full_name; end - - # The short name of this symbol - # - # source://spoom/lib/spoom/model/model.rb#34 - sig { returns(::String) } - def name; end - - # source://spoom/lib/spoom/model/model.rb#39 - sig { returns(::String) } - def to_s; end -end - -# A SymbolDef is a definition of a Symbol -# -# It can be a class, module, constant, method, etc. -# A SymbolDef has a location pointing to the actual code that defines the symbol. -# -# @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below. -# -# source://spoom/lib/spoom/model/model.rb#55 -class Spoom::Model::SymbolDef - abstract! - - # source://spoom/lib/spoom/model/model.rb#74 - sig do - params( - symbol: ::Spoom::Model::Symbol, - owner: T.nilable(::Spoom::Model::Namespace), - location: ::Spoom::Location - ).void - end - def initialize(symbol, owner:, location:); end - - # The full name of the symbol this definition belongs to - # - # source://spoom/lib/spoom/model/model.rb#85 - sig { returns(::String) } - def full_name; end - - # The actual code location of this definition - # - # source://spoom/lib/spoom/model/model.rb#71 - sig { returns(::Spoom::Location) } - def location; end - - # The short name of the symbol this definition belongs to - # - # source://spoom/lib/spoom/model/model.rb#91 - sig { returns(::String) } - def name; end - - # The enclosing namespace this definition belongs to - # - # source://spoom/lib/spoom/model/model.rb#67 - sig { returns(T.nilable(::Spoom::Model::Namespace)) } - def owner; end - - # The symbol this definition belongs to - # - # source://spoom/lib/spoom/model/model.rb#63 - sig { returns(::Spoom::Model::Symbol) } - def symbol; end -end - -# source://spoom/lib/spoom/model/model.rb#44 -class Spoom::Model::UnresolvedSymbol < ::Spoom::Model::Symbol - # source://spoom/lib/spoom/model/model.rb#46 - sig { override.returns(::String) } - def to_s; end -end - -# source://spoom/lib/spoom/model/model.rb#187 -class Spoom::Model::Visibility < ::T::Enum - enums do - Private = new - Protected = new - Public = new - end -end - -# source://spoom/lib/spoom/parse.rb#7 -class Spoom::ParseError < ::Spoom::Error; end - -# A Poset is a set of elements with a partial order relation. -# -# The partial order relation is a binary relation that is reflexive, antisymmetric, and transitive. -# It can be used to represent a hierarchy of classes or modules, the dependencies between gems, etc. -# -# source://spoom/lib/spoom/poset.rb#9 -class Spoom::Poset - extend T::Generic - - E = type_member { { upper: Object } } - - # source://spoom/lib/spoom/poset.rb#18 - sig { void } - def initialize; end - - # Get the POSet element for a given value - # - # Raises if the element is not found - # - # @raise [Error] - # - # source://spoom/lib/spoom/poset.rb#26 - sig { params(value: E).returns(Spoom::Poset::Element[E]) } - def [](value); end - - # Add a direct edge from one element to another - # - # Transitive edges (transitive closure) are automatically computed. - # Adds the elements if they don't exist. - # If the direct edge already exists, nothing is done. - # - # source://spoom/lib/spoom/poset.rb#54 - sig { params(from: E, to: E).void } - def add_direct_edge(from, to); end - - # Add an element to the POSet - # - # source://spoom/lib/spoom/poset.rb#35 - sig { params(value: E).returns(Spoom::Poset::Element[E]) } - def add_element(value); end - - # Is there a direct edge from `from` to `to`? - # - # source://spoom/lib/spoom/poset.rb#101 - sig { params(from: E, to: E).returns(T::Boolean) } - def direct_edge?(from, to); end - - # Is there an edge (direct or indirect) from `from` to `to`? - # - # source://spoom/lib/spoom/poset.rb#92 - sig { params(from: E, to: E).returns(T::Boolean) } - def edge?(from, to); end - - # Is the given value a element in the POSet? - # - # source://spoom/lib/spoom/poset.rb#44 - sig { params(value: E).returns(T::Boolean) } - def element?(value); end - - # Show the POSet as a DOT graph using xdot (used for debugging) - # - # source://spoom/lib/spoom/poset.rb#107 - sig { params(direct: T::Boolean, transitive: T::Boolean).void } - def show_dot(direct: T.unsafe(nil), transitive: T.unsafe(nil)); end - - # Return the POSet as a DOT graph - # - # source://spoom/lib/spoom/poset.rb#116 - sig { params(direct: T::Boolean, transitive: T::Boolean).returns(::String) } - def to_dot(direct: T.unsafe(nil), transitive: T.unsafe(nil)); end -end - -# An element in a POSet -# -# source://spoom/lib/spoom/poset.rb#136 -class Spoom::Poset::Element - extend T::Generic - include ::Comparable - - E = type_member { { upper: Object } } - - # source://spoom/lib/spoom/poset.rb#152 - sig { params(value: E).void } - def initialize(value); end - - # source://spoom/lib/spoom/poset.rb#161 - sig { params(other: T.untyped).returns(T.nilable(::Integer)) } - def <=>(other); end - - # Direct and indirect ancestors of this element - # - # source://spoom/lib/spoom/poset.rb#180 - sig { returns(T::Array[E]) } - def ancestors; end - - # Direct children of this element - # - # source://spoom/lib/spoom/poset.rb#186 - sig { returns(T::Array[E]) } - def children; end - - # Direct and indirect descendants of this element - # - # source://spoom/lib/spoom/poset.rb#192 - sig { returns(T::Array[E]) } - def descendants; end - - # Edges (direct and indirect) from this element to other elements in the same POSet - # - # @return [Set] - # - # source://spoom/lib/spoom/poset.rb#149 - def dfroms; end - - # Edges (direct and indirect) from this element to other elements in the same POSet - # - # source://spoom/lib/spoom/poset.rb#149 - sig { returns(T::Set[Spoom::Poset::Element[E]]) } - def dtos; end - - # Edges (direct and indirect) from this element to other elements in the same POSet - # - # @return [Set] - # - # source://spoom/lib/spoom/poset.rb#149 - def froms; end - - # Direct parents of this element - # - # source://spoom/lib/spoom/poset.rb#174 - sig { returns(T::Array[E]) } - def parents; end - - # Edges (direct and indirect) from this element to other elements in the same POSet - # - # @return [Set] - # - # source://spoom/lib/spoom/poset.rb#149 - def tos; end - - # The value held by this element - # - # source://spoom/lib/spoom/poset.rb#145 - sig { returns(E) } - def value; end -end - -# source://spoom/lib/spoom/poset.rb#13 -class Spoom::Poset::Error < ::Spoom::Error; end - -# source://spoom/lib/spoom/printer.rb#7 -class Spoom::Printer - include ::Spoom::Colorize - - # 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#78 - sig { params(string: ::String, color: ::Spoom::Color).returns(::String) } - def colorize(string, *color); end - - # Decrease indent level - # - # source://spoom/lib/spoom/printer.rb#31 - sig { void } - def dedent; end - - # Increase indent level - # - # source://spoom/lib/spoom/printer.rb#25 - sig { void } - def indent; end - - # 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#14 - def out=(_arg0); end - - # Print `string` into `out` - # - # source://spoom/lib/spoom/printer.rb#37 - sig { params(string: T.nilable(::String)).void } - def print(string); end - - # Print `string` colored with `color` into `out` - # - # Does not use colors unless `@colors`. - # - # 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#62 - sig { params(string: T.nilable(::String)).void } - def printl(string); end - - # Print a new line into `out` - # - # source://spoom/lib/spoom/printer.rb#56 - sig { void } - def printn; end - - # Print an indent space into `out` - # - # source://spoom/lib/spoom/printer.rb#72 - sig { void } - def printt; end -end - -# source://spoom/lib/spoom.rb#10 -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#39 -Spoom::Sorbet::BIN_PATH = T.let(T.unsafe(nil), String) - -# source://spoom/lib/spoom/sorbet.rb#36 -Spoom::Sorbet::CONFIG_PATH = T.let(T.unsafe(nil), String) - -# Parse Sorbet config files -# -# Parses a Sorbet config file: -# -# ```ruby -# config = Spoom::Sorbet::Config.parse_file("sorbet/config") -# puts config.paths # "." -# ``` -# -# Parses a Sorbet config string: -# -# ```ruby -# config = Spoom::Sorbet::Config.parse_string(<<~CONFIG) -# a -# --file=b -# --ignore=c -# CONFIG -# puts config.paths # "a", "b" -# puts config.ignore # "c" -# ``` -# -# source://spoom/lib/spoom/sorbet/config.rb#26 -class Spoom::Sorbet::Config - # source://spoom/lib/spoom/sorbet/config.rb#38 - sig { void } - def initialize; end - - # @return [Array] - # - # source://spoom/lib/spoom/sorbet/config.rb#32 - def allowed_extensions; end - - # @return [Array] - # - # source://spoom/lib/spoom/sorbet/config.rb#32 - def allowed_extensions=(_arg0); end - - # source://spoom/lib/spoom/sorbet/config.rb#46 - sig { returns(::Spoom::Sorbet::Config) } - def copy; end - - # @return [Array] - # - # source://spoom/lib/spoom/sorbet/config.rb#32 - def ignore; end - - # @return [Array] - # - # source://spoom/lib/spoom/sorbet/config.rb#32 - def ignore=(_arg0); end - - # source://spoom/lib/spoom/sorbet/config.rb#35 - sig { returns(T::Boolean) } - def no_stdlib; end - - # @return [Boolean] - # - # source://spoom/lib/spoom/sorbet/config.rb#35 - def no_stdlib=(_arg0); end - - # Returns self as a string of options that can be passed to Sorbet - # - # Example: - # ~~~rb - # config = Sorbet::Config.new - # config.paths << "/foo" - # config.paths << "/bar" - # config.ignore << "/baz" - # config.allowed_extensions << ".rb" - # - # puts config.options_string # "/foo /bar --ignore /baz --allowed-extension .rb" - # ~~~ - # - # source://spoom/lib/spoom/sorbet/config.rb#68 - sig { returns(::String) } - def options_string; end - - # source://spoom/lib/spoom/sorbet/config.rb#32 - sig { returns(T::Array[::String]) } - def paths; end - - # @return [Array] - # - # source://spoom/lib/spoom/sorbet/config.rb#32 - def paths=(_arg0); end - - class << self - # source://spoom/lib/spoom/sorbet/config.rb#81 - sig { params(sorbet_config_path: ::String).returns(::Spoom::Sorbet::Config) } - def parse_file(sorbet_config_path); end - - # source://spoom/lib/spoom/sorbet/config.rb#86 - sig { params(sorbet_config: ::String).returns(::Spoom::Sorbet::Config) } - def parse_string(sorbet_config); end - - private - - # source://spoom/lib/spoom/sorbet/config.rb#150 - sig { params(line: ::String).returns(::String) } - def parse_option(line); end - end -end - -# source://spoom/lib/spoom/sorbet/config.rb#29 -Spoom::Sorbet::Config::DEFAULT_ALLOWED_EXTENSIONS = T.let(T.unsafe(nil), Array) - -# source://spoom/lib/spoom/sorbet.rb#14 -class Spoom::Sorbet::Error < ::Spoom::Error - # source://spoom/lib/spoom/sorbet.rb#29 - sig { params(message: ::String, result: ::Spoom::ExecResult).void } - def initialize(message, result); end - - # source://spoom/lib/spoom/sorbet.rb#21 - sig { returns(::Spoom::ExecResult) } - def result; end -end - -# source://spoom/lib/spoom/sorbet.rb#17 -class Spoom::Sorbet::Error::Killed < ::Spoom::Sorbet::Error; end - -# source://spoom/lib/spoom/sorbet.rb#18 -class Spoom::Sorbet::Error::Segfault < ::Spoom::Sorbet::Error; end - -# source://spoom/lib/spoom/sorbet/errors.rb#6 -module Spoom::Sorbet::Errors - class << self - # source://spoom/lib/spoom/sorbet/errors.rb#13 - sig { params(errors: T::Array[::Spoom::Sorbet::Errors::Error]).returns(T::Array[::Spoom::Sorbet::Errors::Error]) } - def sort_errors_by_code(errors); end - end -end - -# source://spoom/lib/spoom/sorbet/errors.rb#7 -Spoom::Sorbet::Errors::DEFAULT_ERROR_URL_BASE = T.let(T.unsafe(nil), String) - -# source://spoom/lib/spoom/sorbet/errors.rb#127 -class Spoom::Sorbet::Errors::Error - include ::Comparable - - # source://spoom/lib/spoom/sorbet/errors.rb#153 - sig do - params( - file: T.nilable(::String), - line: T.nilable(::Integer), - message: T.nilable(::String), - code: T.nilable(::Integer), - more: T::Array[::String] - ).void - end - def initialize(file, line, message, code, more = T.unsafe(nil)); end - - # By default errors are sorted by location - # - # source://spoom/lib/spoom/sorbet/errors.rb#164 - sig { params(other: T.untyped).returns(::Integer) } - def <=>(other); end - - # @return [Integer, nil] - # - # source://spoom/lib/spoom/sorbet/errors.rb#135 - def code; end - - # source://spoom/lib/spoom/sorbet/errors.rb#132 - sig { returns(T.nilable(::String)) } - def file; end - - # Other files associated with the error - # - # source://spoom/lib/spoom/sorbet/errors.rb#142 - sig { returns(T::Set[::String]) } - def files_from_error_sections; end - - # source://spoom/lib/spoom/sorbet/errors.rb#135 - sig { returns(T.nilable(::Integer)) } - def line; end - - # @return [String, nil] - # - # source://spoom/lib/spoom/sorbet/errors.rb#132 - def message; end - - # source://spoom/lib/spoom/sorbet/errors.rb#138 - sig { returns(T::Array[::String]) } - def more; end - - # source://spoom/lib/spoom/sorbet/errors.rb#171 - sig { returns(::String) } - def to_s; end -end - -# Parse errors from Sorbet output -# -# source://spoom/lib/spoom/sorbet/errors.rb#18 -class Spoom::Sorbet::Errors::Parser - # source://spoom/lib/spoom/sorbet/errors.rb#45 - sig { params(error_url_base: ::String).void } - def initialize(error_url_base: T.unsafe(nil)); end - - # source://spoom/lib/spoom/sorbet/errors.rb#52 - sig { params(output: ::String).returns(T::Array[::Spoom::Sorbet::Errors::Error]) } - def parse(output); end - - private - - # @raise [ParseError] - # - # source://spoom/lib/spoom/sorbet/errors.rb#116 - sig { params(line: ::String).void } - def append_error(line); end - - # @raise [ParseError] - # - # source://spoom/lib/spoom/sorbet/errors.rb#108 - sig { void } - def close_error; end - - # source://spoom/lib/spoom/sorbet/errors.rb#75 - sig { params(error_url_base: ::String).returns(::Regexp) } - def error_line_match_regexp(error_url_base); end - - # source://spoom/lib/spoom/sorbet/errors.rb#92 - sig { params(line: ::String).returns(T.nilable(::Spoom::Sorbet::Errors::Error)) } - def match_error_line(line); end - - # @raise [ParseError] - # - # source://spoom/lib/spoom/sorbet/errors.rb#101 - sig { params(error: ::Spoom::Sorbet::Errors::Error).void } - def open_error(error); end - - class << self - # source://spoom/lib/spoom/sorbet/errors.rb#38 - sig { params(output: ::String, error_url_base: ::String).returns(T::Array[::Spoom::Sorbet::Errors::Error]) } - def parse_string(output, error_url_base: T.unsafe(nil)); end - end -end - -# source://spoom/lib/spoom/sorbet/errors.rb#23 -Spoom::Sorbet::Errors::Parser::HEADER = T.let(T.unsafe(nil), Array) - -# source://spoom/lib/spoom/sorbet/errors.rb#21 -class Spoom::Sorbet::Errors::Parser::ParseError < ::Spoom::Error; end - -# source://spoom/lib/spoom/sorbet.rb#37 -Spoom::Sorbet::GEM_PATH = T.let(T.unsafe(nil), String) - -# 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 -module Spoom::Sorbet::MetricsParser - class << self - # source://spoom/lib/spoom/sorbet/metrics.rb#15 - sig { params(path: ::String, prefix: ::String).returns(T::Hash[::String, ::Integer]) } - def parse_file(path, prefix = T.unsafe(nil)); end - - # source://spoom/lib/spoom/sorbet/metrics.rb#25 - sig { params(obj: T::Hash[::String, T.untyped], prefix: ::String).returns(T::Hash[::String, ::Integer]) } - def parse_hash(obj, prefix = T.unsafe(nil)); end - - # source://spoom/lib/spoom/sorbet/metrics.rb#20 - sig { params(string: ::String, prefix: ::String).returns(T::Hash[::String, ::Integer]) } - def parse_string(string, prefix = T.unsafe(nil)); end - end -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#42 -Spoom::Sorbet::SEGFAULT_CODE = T.let(T.unsafe(nil), Integer) - -# source://spoom/lib/spoom/sorbet/sigils.rb#9 -module Spoom::Sorbet::Sigils - class << self - # changes the sigil in the file at the passed path to the specified new strictness - # - # source://spoom/lib/spoom/sorbet/sigils.rb#72 - sig { params(path: T.any(::Pathname, ::String), new_strictness: ::String).returns(T::Boolean) } - def change_sigil_in_file(path, new_strictness); end - - # changes the sigil to have a new strictness in a list of files - # - # source://spoom/lib/spoom/sorbet/sigils.rb#83 - sig { params(path_list: T::Array[::String], new_strictness: ::String).returns(T::Array[::String]) } - def change_sigil_in_files(path_list, new_strictness); end - - # returns a string containing the strictness of a sigil in a file at the passed path - # * returns nil if no sigil - # - # source://spoom/lib/spoom/sorbet/sigils.rb#63 - sig { params(path: T.any(::Pathname, ::String)).returns(T.nilable(::String)) } - def file_strictness(path); end - - # returns the full sigil comment string for the passed strictness - # - # source://spoom/lib/spoom/sorbet/sigils.rb#38 - sig { params(strictness: ::String).returns(::String) } - def sigil_string(strictness); end - - # returns the strictness of a sigil in the passed file content string (nil if no sigil) - # - # source://spoom/lib/spoom/sorbet/sigils.rb#50 - sig { params(content: ::String).returns(T.nilable(::String)) } - def strictness_in_content(content); end - - # returns a string which is the passed content but with the sigil updated to a new strictness - # - # source://spoom/lib/spoom/sorbet/sigils.rb#56 - sig { params(content: ::String, new_strictness: ::String).returns(::String) } - def update_sigil(content, new_strictness); end - - # returns true if the passed string is a valid strictness (else false) - # - # source://spoom/lib/spoom/sorbet/sigils.rb#44 - sig { params(strictness: ::String).returns(T::Boolean) } - def valid_strictness?(strictness); end - end -end - -# source://spoom/lib/spoom/sorbet/sigils.rb#31 -Spoom::Sorbet::Sigils::SIGIL_REGEXP = T.let(T.unsafe(nil), Regexp) - -# source://spoom/lib/spoom/sorbet/sigils.rb#13 -Spoom::Sorbet::Sigils::STRICTNESS_FALSE = T.let(T.unsafe(nil), String) - -# source://spoom/lib/spoom/sorbet/sigils.rb#12 -Spoom::Sorbet::Sigils::STRICTNESS_IGNORE = T.let(T.unsafe(nil), String) - -# source://spoom/lib/spoom/sorbet/sigils.rb#17 -Spoom::Sorbet::Sigils::STRICTNESS_INTERNAL = T.let(T.unsafe(nil), String) - -# source://spoom/lib/spoom/sorbet/sigils.rb#15 -Spoom::Sorbet::Sigils::STRICTNESS_STRICT = T.let(T.unsafe(nil), String) - -# source://spoom/lib/spoom/sorbet/sigils.rb#16 -Spoom::Sorbet::Sigils::STRICTNESS_STRONG = T.let(T.unsafe(nil), String) - -# source://spoom/lib/spoom/sorbet/sigils.rb#14 -Spoom::Sorbet::Sigils::STRICTNESS_TRUE = T.let(T.unsafe(nil), String) - -# source://spoom/lib/spoom/sorbet/sigils.rb#19 -Spoom::Sorbet::Sigils::VALID_STRICTNESS = T.let(T.unsafe(nil), Array) - -# source://spoom/lib/spoom/sorbet/sigs.rb#8 -class Spoom::Sorbet::Sigs - class << self - # source://spoom/lib/spoom/sorbet/sigs.rb#25 - sig { params(ruby_contents: ::String).returns(::String) } - def rbi_to_rbs(ruby_contents); end - - # source://spoom/lib/spoom/sorbet/sigs.rb#13 - sig { params(ruby_contents: ::String).returns(::String) } - def strip(ruby_contents); end - - private - - # source://spoom/lib/spoom/sorbet/sigs.rb#48 - sig { params(ruby_contents: ::String).returns(T::Array[[::RBI::Sig, T.any(::RBI::Attr, ::RBI::Method)]]) } - def collect_sigs(ruby_contents); end - end -end - -# From https://github.com/Shopify/ruby-lsp/blob/9154bfc6ef/lib/ruby_lsp/document.rb#L127 -# -# source://spoom/lib/spoom/sorbet/sigs.rb#145 -class Spoom::Sorbet::Sigs::Scanner - # source://spoom/lib/spoom/sorbet/sigs.rb#151 - sig { params(source: ::String).void } - def initialize(source); end - - # Finds the character index inside the source string for a given line and column - # - # source://spoom/lib/spoom/sorbet/sigs.rb#159 - sig { params(line: ::Integer, character: ::Integer).returns(::Integer) } - def find_char_position(line, character); end -end - -# source://spoom/lib/spoom/sorbet/sigs.rb#148 -Spoom::Sorbet::Sigs::Scanner::LINE_BREAK = T.let(T.unsafe(nil), Integer) - -# source://spoom/lib/spoom/sorbet/sigs.rb#83 -class Spoom::Sorbet::Sigs::SigTranslator - class << self - # source://spoom/lib/spoom/sorbet/sigs.rb#88 - sig { params(sig: ::RBI::Sig, node: T.any(::RBI::Attr, ::RBI::Method)).returns(::String) } - def translate(sig, node); end - - private - - # source://spoom/lib/spoom/sorbet/sigs.rb#135 - sig { params(sig: ::RBI::Sig, node: ::RBI::Attr).returns(::String) } - def translate_attr_sig(sig, node); end - - # source://spoom/lib/spoom/sorbet/sigs.rb#100 - sig { params(sig: ::RBI::Sig, node: ::RBI::Method).returns(::String) } - def translate_method_sig(sig, node); end - end -end - -# source://spoom/lib/spoom/sorbet/sigs.rb#56 -class Spoom::Sorbet::Sigs::SigsLocator < ::RBI::Visitor - # source://spoom/lib/spoom/sorbet/sigs.rb#63 - sig { void } - def initialize; end - - # source://spoom/lib/spoom/sorbet/sigs.rb#60 - sig { returns(T::Array[[::RBI::Sig, T.any(::RBI::Attr, ::RBI::Method)]]) } - def sigs; end - - # source://spoom/lib/spoom/sorbet/sigs.rb#69 - sig { override.params(node: T.nilable(::RBI::Node)).void } - def visit(node); end -end - -# source://spoom/lib/spoom/timeline.rb#5 -class Spoom::Timeline - # source://spoom/lib/spoom/timeline.rb#9 - sig { params(context: ::Spoom::Context, from: ::Time, to: ::Time).void } - def initialize(context, from, to); end - - # Return one commit for each date in `dates` - # - # source://spoom/lib/spoom/timeline.rb#36 - sig { params(dates: T::Array[::Time]).returns(T::Array[::Spoom::Git::Commit]) } - def commits_for_dates(dates); end - - # Return all months between `from` and `to` - # - # source://spoom/lib/spoom/timeline.rb#23 - sig { returns(T::Array[::Time]) } - def months; end - - # Return one commit for each month between `from` and `to` - # - # source://spoom/lib/spoom/timeline.rb#17 - sig { returns(T::Array[::Spoom::Git::Commit]) } - def ticks; end -end - -# source://spoom/lib/spoom/version.rb#5 -Spoom::VERSION = T.let(T.unsafe(nil), String) - -# source://spoom/lib/spoom/visitor.rb#7 -class Spoom::Visitor < ::Prism::Visitor - # source://spoom/lib/spoom/visitor.rb#16 - sig { override.params(node: ::Prism::AliasGlobalVariableNode).void } - def visit_alias_global_variable_node(node); end - - # source://spoom/lib/spoom/visitor.rb#21 - sig { override.params(node: ::Prism::AliasMethodNode).void } - def visit_alias_method_node(node); end - - # source://spoom/lib/spoom/visitor.rb#26 - sig { override.params(node: ::Prism::AlternationPatternNode).void } - def visit_alternation_pattern_node(node); end - - # source://spoom/lib/spoom/visitor.rb#31 - sig { override.params(node: ::Prism::AndNode).void } - def visit_and_node(node); end - - # source://spoom/lib/spoom/visitor.rb#36 - sig { override.params(node: ::Prism::ArgumentsNode).void } - def visit_arguments_node(node); end - - # source://spoom/lib/spoom/visitor.rb#41 - sig { override.params(node: ::Prism::ArrayNode).void } - def visit_array_node(node); end - - # source://spoom/lib/spoom/visitor.rb#46 - sig { override.params(node: ::Prism::ArrayPatternNode).void } - def visit_array_pattern_node(node); end - - # source://spoom/lib/spoom/visitor.rb#51 - sig { override.params(node: ::Prism::AssocNode).void } - def visit_assoc_node(node); end - - # source://spoom/lib/spoom/visitor.rb#56 - sig { override.params(node: ::Prism::AssocSplatNode).void } - def visit_assoc_splat_node(node); end - - # source://spoom/lib/spoom/visitor.rb#61 - sig { override.params(node: ::Prism::BackReferenceReadNode).void } - def visit_back_reference_read_node(node); end - - # source://spoom/lib/spoom/visitor.rb#66 - sig { override.params(node: ::Prism::BeginNode).void } - def visit_begin_node(node); end - - # source://spoom/lib/spoom/visitor.rb#71 - sig { override.params(node: ::Prism::BlockArgumentNode).void } - def visit_block_argument_node(node); end - - # source://spoom/lib/spoom/visitor.rb#76 - sig { override.params(node: ::Prism::BlockLocalVariableNode).void } - def visit_block_local_variable_node(node); end - - # source://spoom/lib/spoom/visitor.rb#81 - sig { override.params(node: ::Prism::BlockNode).void } - def visit_block_node(node); end - - # source://spoom/lib/spoom/visitor.rb#86 - sig { override.params(node: ::Prism::BlockParameterNode).void } - def visit_block_parameter_node(node); end - - # source://spoom/lib/spoom/visitor.rb#91 - sig { override.params(node: ::Prism::BlockParametersNode).void } - def visit_block_parameters_node(node); end - - # source://spoom/lib/spoom/visitor.rb#96 - sig { override.params(node: ::Prism::BreakNode).void } - def visit_break_node(node); end - - # source://spoom/lib/spoom/visitor.rb#101 - sig { override.params(node: ::Prism::CallAndWriteNode).void } - def visit_call_and_write_node(node); end - - # source://spoom/lib/spoom/visitor.rb#106 - sig { override.params(node: ::Prism::CallNode).void } - def visit_call_node(node); end - - # source://spoom/lib/spoom/visitor.rb#111 - sig { override.params(node: ::Prism::CallOperatorWriteNode).void } - def visit_call_operator_write_node(node); end - - # source://spoom/lib/spoom/visitor.rb#116 - sig { override.params(node: ::Prism::CallOrWriteNode).void } - def visit_call_or_write_node(node); end - - # source://spoom/lib/spoom/visitor.rb#121 - sig { override.params(node: ::Prism::CallTargetNode).void } - def visit_call_target_node(node); end - - # source://spoom/lib/spoom/visitor.rb#126 - sig { override.params(node: ::Prism::CapturePatternNode).void } - def visit_capture_pattern_node(node); end - - # source://spoom/lib/spoom/visitor.rb#131 - sig { override.params(node: ::Prism::CaseMatchNode).void } - def visit_case_match_node(node); end - - # source://spoom/lib/spoom/visitor.rb#136 - sig { override.params(node: ::Prism::CaseNode).void } - def visit_case_node(node); end - - # source://spoom/lib/spoom/visitor.rb#11 - sig { override.params(node: ::Prism::Node).void } - def visit_child_nodes(node); end - - # source://spoom/lib/spoom/visitor.rb#141 - sig { override.params(node: ::Prism::ClassNode).void } - def visit_class_node(node); end - - # source://spoom/lib/spoom/visitor.rb#146 - sig { override.params(node: ::Prism::ClassVariableAndWriteNode).void } - def visit_class_variable_and_write_node(node); end - - # source://spoom/lib/spoom/visitor.rb#151 - sig { override.params(node: ::Prism::ClassVariableOperatorWriteNode).void } - def visit_class_variable_operator_write_node(node); end - - # source://spoom/lib/spoom/visitor.rb#156 - sig { override.params(node: ::Prism::ClassVariableOrWriteNode).void } - def visit_class_variable_or_write_node(node); end - - # source://spoom/lib/spoom/visitor.rb#161 - sig { override.params(node: ::Prism::ClassVariableReadNode).void } - def visit_class_variable_read_node(node); end - - # source://spoom/lib/spoom/visitor.rb#166 - sig { override.params(node: ::Prism::ClassVariableTargetNode).void } - def visit_class_variable_target_node(node); end - - # source://spoom/lib/spoom/visitor.rb#171 - sig { override.params(node: ::Prism::ClassVariableWriteNode).void } - def visit_class_variable_write_node(node); end - - # source://spoom/lib/spoom/visitor.rb#176 - sig { override.params(node: ::Prism::ConstantAndWriteNode).void } - def visit_constant_and_write_node(node); end - - # source://spoom/lib/spoom/visitor.rb#181 - sig { override.params(node: ::Prism::ConstantOperatorWriteNode).void } - def visit_constant_operator_write_node(node); end - - # source://spoom/lib/spoom/visitor.rb#186 - sig { override.params(node: ::Prism::ConstantOrWriteNode).void } - def visit_constant_or_write_node(node); end - - # source://spoom/lib/spoom/visitor.rb#191 - sig { override.params(node: ::Prism::ConstantPathAndWriteNode).void } - def visit_constant_path_and_write_node(node); end - - # source://spoom/lib/spoom/visitor.rb#196 - sig { override.params(node: ::Prism::ConstantPathNode).void } - def visit_constant_path_node(node); end - - # source://spoom/lib/spoom/visitor.rb#201 - sig { override.params(node: ::Prism::ConstantPathOperatorWriteNode).void } - def visit_constant_path_operator_write_node(node); end - - # source://spoom/lib/spoom/visitor.rb#206 - sig { override.params(node: ::Prism::ConstantPathOrWriteNode).void } - def visit_constant_path_or_write_node(node); end - - # source://spoom/lib/spoom/visitor.rb#211 - sig { override.params(node: ::Prism::ConstantPathTargetNode).void } - def visit_constant_path_target_node(node); end - - # source://spoom/lib/spoom/visitor.rb#216 - sig { override.params(node: ::Prism::ConstantPathWriteNode).void } - def visit_constant_path_write_node(node); end - - # source://spoom/lib/spoom/visitor.rb#221 - sig { override.params(node: ::Prism::ConstantReadNode).void } - def visit_constant_read_node(node); end - - # source://spoom/lib/spoom/visitor.rb#226 - sig { override.params(node: ::Prism::ConstantTargetNode).void } - def visit_constant_target_node(node); end - - # source://spoom/lib/spoom/visitor.rb#231 - sig { override.params(node: ::Prism::ConstantWriteNode).void } - def visit_constant_write_node(node); end - - # source://spoom/lib/spoom/visitor.rb#236 - sig { override.params(node: ::Prism::DefNode).void } - def visit_def_node(node); end - - # source://spoom/lib/spoom/visitor.rb#241 - sig { override.params(node: ::Prism::DefinedNode).void } - def visit_defined_node(node); end - - # source://spoom/lib/spoom/visitor.rb#246 - sig { override.params(node: ::Prism::ElseNode).void } - def visit_else_node(node); end - - # source://spoom/lib/spoom/visitor.rb#251 - sig { override.params(node: ::Prism::EmbeddedStatementsNode).void } - def visit_embedded_statements_node(node); end - - # source://spoom/lib/spoom/visitor.rb#256 - sig { override.params(node: ::Prism::EmbeddedVariableNode).void } - def visit_embedded_variable_node(node); end - - # source://spoom/lib/spoom/visitor.rb#261 - sig { override.params(node: ::Prism::EnsureNode).void } - def visit_ensure_node(node); end - - # source://spoom/lib/spoom/visitor.rb#266 - sig { override.params(node: ::Prism::FalseNode).void } - def visit_false_node(node); end - - # source://spoom/lib/spoom/visitor.rb#271 - sig { override.params(node: ::Prism::FindPatternNode).void } - def visit_find_pattern_node(node); end - - # source://spoom/lib/spoom/visitor.rb#276 - sig { override.params(node: ::Prism::FlipFlopNode).void } - def visit_flip_flop_node(node); end - - # source://spoom/lib/spoom/visitor.rb#281 - sig { override.params(node: ::Prism::FloatNode).void } - def visit_float_node(node); end - - # source://spoom/lib/spoom/visitor.rb#286 - sig { override.params(node: ::Prism::ForNode).void } - def visit_for_node(node); end - - # source://spoom/lib/spoom/visitor.rb#291 - sig { override.params(node: ::Prism::ForwardingArgumentsNode).void } - def visit_forwarding_arguments_node(node); end - - # source://spoom/lib/spoom/visitor.rb#296 - sig { override.params(node: ::Prism::ForwardingParameterNode).void } - def visit_forwarding_parameter_node(node); end - - # source://spoom/lib/spoom/visitor.rb#301 - sig { override.params(node: ::Prism::ForwardingSuperNode).void } - def visit_forwarding_super_node(node); end - - # source://spoom/lib/spoom/visitor.rb#306 - sig { override.params(node: ::Prism::GlobalVariableAndWriteNode).void } - def visit_global_variable_and_write_node(node); end - - # source://spoom/lib/spoom/visitor.rb#311 - sig { override.params(node: ::Prism::GlobalVariableOperatorWriteNode).void } - def visit_global_variable_operator_write_node(node); end - - # source://spoom/lib/spoom/visitor.rb#316 - sig { override.params(node: ::Prism::GlobalVariableOrWriteNode).void } - def visit_global_variable_or_write_node(node); end - - # source://spoom/lib/spoom/visitor.rb#321 - sig { override.params(node: ::Prism::GlobalVariableReadNode).void } - def visit_global_variable_read_node(node); end - - # source://spoom/lib/spoom/visitor.rb#326 - sig { override.params(node: ::Prism::GlobalVariableTargetNode).void } - def visit_global_variable_target_node(node); end - - # source://spoom/lib/spoom/visitor.rb#331 - sig { override.params(node: ::Prism::GlobalVariableWriteNode).void } - def visit_global_variable_write_node(node); end - - # source://spoom/lib/spoom/visitor.rb#336 - sig { override.params(node: ::Prism::HashNode).void } - def visit_hash_node(node); end - - # source://spoom/lib/spoom/visitor.rb#341 - sig { override.params(node: ::Prism::HashPatternNode).void } - def visit_hash_pattern_node(node); end - - # source://spoom/lib/spoom/visitor.rb#346 - sig { override.params(node: ::Prism::IfNode).void } - def visit_if_node(node); end - - # source://spoom/lib/spoom/visitor.rb#351 - sig { override.params(node: ::Prism::ImaginaryNode).void } - def visit_imaginary_node(node); end - - # source://spoom/lib/spoom/visitor.rb#356 - sig { override.params(node: ::Prism::ImplicitNode).void } - def visit_implicit_node(node); end - - # source://spoom/lib/spoom/visitor.rb#361 - sig { override.params(node: ::Prism::ImplicitRestNode).void } - def visit_implicit_rest_node(node); end - - # source://spoom/lib/spoom/visitor.rb#366 - sig { override.params(node: ::Prism::InNode).void } - def visit_in_node(node); end - - # source://spoom/lib/spoom/visitor.rb#371 - sig { override.params(node: ::Prism::IndexAndWriteNode).void } - def visit_index_and_write_node(node); end - - # source://spoom/lib/spoom/visitor.rb#376 - sig { override.params(node: ::Prism::IndexOperatorWriteNode).void } - def visit_index_operator_write_node(node); end - - # source://spoom/lib/spoom/visitor.rb#381 - sig { override.params(node: ::Prism::IndexOrWriteNode).void } - def visit_index_or_write_node(node); end - - # source://spoom/lib/spoom/visitor.rb#386 - sig { override.params(node: ::Prism::IndexTargetNode).void } - def visit_index_target_node(node); end - - # source://spoom/lib/spoom/visitor.rb#391 - sig { override.params(node: ::Prism::InstanceVariableAndWriteNode).void } - def visit_instance_variable_and_write_node(node); end - - # source://spoom/lib/spoom/visitor.rb#396 - sig { override.params(node: ::Prism::InstanceVariableOperatorWriteNode).void } - def visit_instance_variable_operator_write_node(node); end - - # source://spoom/lib/spoom/visitor.rb#401 - sig { override.params(node: ::Prism::InstanceVariableOrWriteNode).void } - def visit_instance_variable_or_write_node(node); end - - # source://spoom/lib/spoom/visitor.rb#406 - sig { override.params(node: ::Prism::InstanceVariableReadNode).void } - def visit_instance_variable_read_node(node); end - - # source://spoom/lib/spoom/visitor.rb#411 - sig { override.params(node: ::Prism::InstanceVariableTargetNode).void } - def visit_instance_variable_target_node(node); end - - # source://spoom/lib/spoom/visitor.rb#416 - sig { override.params(node: ::Prism::InstanceVariableWriteNode).void } - def visit_instance_variable_write_node(node); end - - # source://spoom/lib/spoom/visitor.rb#421 - sig { override.params(node: ::Prism::IntegerNode).void } - def visit_integer_node(node); end - - # source://spoom/lib/spoom/visitor.rb#426 - sig { override.params(node: ::Prism::InterpolatedMatchLastLineNode).void } - def visit_interpolated_match_last_line_node(node); end - - # source://spoom/lib/spoom/visitor.rb#431 - sig { override.params(node: ::Prism::InterpolatedRegularExpressionNode).void } - def visit_interpolated_regular_expression_node(node); end - - # source://spoom/lib/spoom/visitor.rb#436 - sig { override.params(node: ::Prism::InterpolatedStringNode).void } - def visit_interpolated_string_node(node); end - - # source://spoom/lib/spoom/visitor.rb#441 - sig { override.params(node: ::Prism::InterpolatedSymbolNode).void } - def visit_interpolated_symbol_node(node); end - - # source://spoom/lib/spoom/visitor.rb#446 - sig { override.params(node: ::Prism::InterpolatedXStringNode).void } - def visit_interpolated_x_string_node(node); end - - # source://spoom/lib/spoom/visitor.rb#451 - sig { override.params(node: ::Prism::KeywordHashNode).void } - def visit_keyword_hash_node(node); end - - # source://spoom/lib/spoom/visitor.rb#456 - sig { override.params(node: ::Prism::KeywordRestParameterNode).void } - def visit_keyword_rest_parameter_node(node); end - - # source://spoom/lib/spoom/visitor.rb#461 - sig { override.params(node: ::Prism::LambdaNode).void } - def visit_lambda_node(node); end - - # source://spoom/lib/spoom/visitor.rb#466 - sig { override.params(node: ::Prism::LocalVariableAndWriteNode).void } - def visit_local_variable_and_write_node(node); end - - # source://spoom/lib/spoom/visitor.rb#471 - sig { override.params(node: ::Prism::LocalVariableOperatorWriteNode).void } - def visit_local_variable_operator_write_node(node); end - - # source://spoom/lib/spoom/visitor.rb#476 - sig { override.params(node: ::Prism::LocalVariableOrWriteNode).void } - def visit_local_variable_or_write_node(node); end - - # source://spoom/lib/spoom/visitor.rb#481 - sig { override.params(node: ::Prism::LocalVariableReadNode).void } - def visit_local_variable_read_node(node); end - - # source://spoom/lib/spoom/visitor.rb#486 - sig { override.params(node: ::Prism::LocalVariableTargetNode).void } - def visit_local_variable_target_node(node); end - - # source://spoom/lib/spoom/visitor.rb#491 - sig { override.params(node: ::Prism::LocalVariableWriteNode).void } - def visit_local_variable_write_node(node); end - - # source://spoom/lib/spoom/visitor.rb#496 - sig { override.params(node: ::Prism::MatchLastLineNode).void } - def visit_match_last_line_node(node); end - - # source://spoom/lib/spoom/visitor.rb#501 - sig { override.params(node: ::Prism::MatchPredicateNode).void } - def visit_match_predicate_node(node); end - - # source://spoom/lib/spoom/visitor.rb#506 - sig { override.params(node: ::Prism::MatchRequiredNode).void } - def visit_match_required_node(node); end - - # source://spoom/lib/spoom/visitor.rb#511 - sig { override.params(node: ::Prism::MatchWriteNode).void } - def visit_match_write_node(node); end - - # source://spoom/lib/spoom/visitor.rb#516 - sig { override.params(node: ::Prism::MissingNode).void } - def visit_missing_node(node); end - - # source://spoom/lib/spoom/visitor.rb#521 - sig { override.params(node: ::Prism::ModuleNode).void } - def visit_module_node(node); end - - # source://spoom/lib/spoom/visitor.rb#526 - sig { override.params(node: ::Prism::MultiTargetNode).void } - def visit_multi_target_node(node); end - - # source://spoom/lib/spoom/visitor.rb#531 - sig { override.params(node: ::Prism::MultiWriteNode).void } - def visit_multi_write_node(node); end - - # source://spoom/lib/spoom/visitor.rb#536 - sig { override.params(node: ::Prism::NextNode).void } - def visit_next_node(node); end - - # source://spoom/lib/spoom/visitor.rb#541 - sig { override.params(node: ::Prism::NilNode).void } - def visit_nil_node(node); end - - # source://spoom/lib/spoom/visitor.rb#546 - sig { override.params(node: ::Prism::NoKeywordsParameterNode).void } - def visit_no_keywords_parameter_node(node); end - - # source://spoom/lib/spoom/visitor.rb#551 - sig { override.params(node: ::Prism::NumberedParametersNode).void } - def visit_numbered_parameters_node(node); end - - # source://spoom/lib/spoom/visitor.rb#556 - sig { override.params(node: ::Prism::NumberedReferenceReadNode).void } - def visit_numbered_reference_read_node(node); end - - # source://spoom/lib/spoom/visitor.rb#561 - sig { override.params(node: ::Prism::OptionalKeywordParameterNode).void } - def visit_optional_keyword_parameter_node(node); end - - # source://spoom/lib/spoom/visitor.rb#566 - sig { override.params(node: ::Prism::OptionalParameterNode).void } - def visit_optional_parameter_node(node); end - - # source://spoom/lib/spoom/visitor.rb#571 - sig { override.params(node: ::Prism::OrNode).void } - def visit_or_node(node); end - - # source://spoom/lib/spoom/visitor.rb#576 - sig { override.params(node: ::Prism::ParametersNode).void } - def visit_parameters_node(node); end - - # source://spoom/lib/spoom/visitor.rb#581 - sig { override.params(node: ::Prism::ParenthesesNode).void } - def visit_parentheses_node(node); end - - # source://spoom/lib/spoom/visitor.rb#586 - sig { override.params(node: ::Prism::PinnedExpressionNode).void } - def visit_pinned_expression_node(node); end - - # source://spoom/lib/spoom/visitor.rb#591 - sig { override.params(node: ::Prism::PinnedVariableNode).void } - def visit_pinned_variable_node(node); end - - # source://spoom/lib/spoom/visitor.rb#596 - sig { override.params(node: ::Prism::PostExecutionNode).void } - def visit_post_execution_node(node); end - - # source://spoom/lib/spoom/visitor.rb#601 - sig { override.params(node: ::Prism::PreExecutionNode).void } - def visit_pre_execution_node(node); end - - # source://spoom/lib/spoom/visitor.rb#606 - sig { override.params(node: ::Prism::ProgramNode).void } - def visit_program_node(node); end - - # source://spoom/lib/spoom/visitor.rb#611 - sig { override.params(node: ::Prism::RangeNode).void } - def visit_range_node(node); end - - # source://spoom/lib/spoom/visitor.rb#616 - sig { override.params(node: ::Prism::RationalNode).void } - def visit_rational_node(node); end - - # source://spoom/lib/spoom/visitor.rb#621 - sig { override.params(node: ::Prism::RedoNode).void } - def visit_redo_node(node); end - - # source://spoom/lib/spoom/visitor.rb#626 - sig { override.params(node: ::Prism::RegularExpressionNode).void } - def visit_regular_expression_node(node); end - - # source://spoom/lib/spoom/visitor.rb#631 - sig { override.params(node: ::Prism::RequiredKeywordParameterNode).void } - def visit_required_keyword_parameter_node(node); end - - # source://spoom/lib/spoom/visitor.rb#636 - sig { override.params(node: ::Prism::RequiredParameterNode).void } - def visit_required_parameter_node(node); end - - # source://spoom/lib/spoom/visitor.rb#641 - sig { override.params(node: ::Prism::RescueModifierNode).void } - def visit_rescue_modifier_node(node); end - - # source://spoom/lib/spoom/visitor.rb#646 - sig { override.params(node: ::Prism::RescueNode).void } - def visit_rescue_node(node); end - - # source://spoom/lib/spoom/visitor.rb#651 - sig { override.params(node: ::Prism::RestParameterNode).void } - def visit_rest_parameter_node(node); end - - # source://spoom/lib/spoom/visitor.rb#656 - sig { override.params(node: ::Prism::RetryNode).void } - def visit_retry_node(node); end - - # source://spoom/lib/spoom/visitor.rb#661 - sig { override.params(node: ::Prism::ReturnNode).void } - def visit_return_node(node); end - - # source://spoom/lib/spoom/visitor.rb#666 - sig { override.params(node: ::Prism::SelfNode).void } - def visit_self_node(node); end - - # source://spoom/lib/spoom/visitor.rb#671 - sig { override.params(node: ::Prism::SingletonClassNode).void } - def visit_singleton_class_node(node); end - - # source://spoom/lib/spoom/visitor.rb#676 - sig { override.params(node: ::Prism::SourceEncodingNode).void } - def visit_source_encoding_node(node); end - - # source://spoom/lib/spoom/visitor.rb#681 - sig { override.params(node: ::Prism::SourceFileNode).void } - def visit_source_file_node(node); end - - # source://spoom/lib/spoom/visitor.rb#686 - sig { override.params(node: ::Prism::SourceLineNode).void } - def visit_source_line_node(node); end - - # source://spoom/lib/spoom/visitor.rb#691 - sig { override.params(node: ::Prism::SplatNode).void } - def visit_splat_node(node); end - - # source://spoom/lib/spoom/visitor.rb#696 - sig { override.params(node: ::Prism::StatementsNode).void } - def visit_statements_node(node); end - - # source://spoom/lib/spoom/visitor.rb#701 - sig { override.params(node: ::Prism::StringNode).void } - def visit_string_node(node); end - - # source://spoom/lib/spoom/visitor.rb#706 - sig { override.params(node: ::Prism::SuperNode).void } - def visit_super_node(node); end - - # source://spoom/lib/spoom/visitor.rb#711 - sig { override.params(node: ::Prism::SymbolNode).void } - def visit_symbol_node(node); end - - # source://spoom/lib/spoom/visitor.rb#716 - sig { override.params(node: ::Prism::TrueNode).void } - def visit_true_node(node); end - - # source://spoom/lib/spoom/visitor.rb#721 - sig { override.params(node: ::Prism::UndefNode).void } - def visit_undef_node(node); end - - # source://spoom/lib/spoom/visitor.rb#726 - sig { override.params(node: ::Prism::UnlessNode).void } - def visit_unless_node(node); end - - # source://spoom/lib/spoom/visitor.rb#731 - sig { override.params(node: ::Prism::UntilNode).void } - def visit_until_node(node); end - - # source://spoom/lib/spoom/visitor.rb#736 - sig { override.params(node: ::Prism::WhenNode).void } - def visit_when_node(node); end - - # source://spoom/lib/spoom/visitor.rb#741 - sig { override.params(node: ::Prism::WhileNode).void } - def visit_while_node(node); end - - # source://spoom/lib/spoom/visitor.rb#746 - sig { override.params(node: ::Prism::XStringNode).void } - def visit_x_string_node(node); end - - # source://spoom/lib/spoom/visitor.rb#751 - sig { override.params(node: ::Prism::YieldNode).void } - def visit_yield_node(node); end -end diff --git a/sorbet/rbi/gems/spoom@1.6.1.rbi b/sorbet/rbi/gems/spoom@1.6.1.rbi new file mode 100644 index 00000000..4cec9962 --- /dev/null +++ b/sorbet/rbi/gems/spoom@1.6.1.rbi @@ -0,0 +1,7289 @@ +# typed: true + +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `spoom` gem. +# Please instead update this file by running `bin/tapioca gem spoom`. + + +# typed: true + +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `spoom` gem. +# Please instead update this file by running `spoom srb sigs export`. + +# source://spoom//lib/spoom.rb#7 +module Spoom + class << self + # : (String ruby, file: String) -> Prism::Node + # + # source://spoom//lib/spoom/parse.rb#11 + sig { params(ruby: ::String, file: ::String).returns(::Prism::Node) } + def parse_ruby(ruby, file:); end + + # : (String ruby, file: String) -> [Prism::Node, Array[Prism::Comment]] + # + # source://spoom//lib/spoom/parse.rb#27 + sig { params(ruby: ::String, file: ::String).returns([::Prism::Node, T::Array[::Prism::Comment]]) } + def parse_ruby_with_comments(ruby, file:); end + end +end + +# source://spoom//lib/spoom/backtrace_filter/minitest.rb#7 +module Spoom::BacktraceFilter; end + +# source://spoom//lib/spoom/backtrace_filter/minitest.rb#8 +class Spoom::BacktraceFilter::Minitest < ::Minitest::BacktraceFilter + # : (Array[String]? bt) -> Array[String] + # + # source://spoom//lib/spoom/backtrace_filter/minitest.rb#13 + sig { override.params(bt: T.nilable(T::Array[::String])).returns(T::Array[::String]) } + def filter(bt); end +end + +# source://spoom//lib/spoom/backtrace_filter/minitest.rb#9 +Spoom::BacktraceFilter::Minitest::SORBET_PATHS = T.let(T.unsafe(nil), Array) + +# source://spoom//lib/spoom/cli/helper.rb#9 +module Spoom::Cli; end + +# source://spoom//lib/spoom/cli/deadcode.rb#8 +class Spoom::Cli::Deadcode < ::Thor + include ::Spoom::Colorize + include ::Spoom::Cli::Helper + + # : (*String paths) -> void + # + # source://spoom//lib/spoom/cli/deadcode.rb#51 + sig { params(paths: ::String).void } + def deadcode(*paths); end + + def help(command = T.unsafe(nil), subcommand = T.unsafe(nil)); end + + # source://spoom//lib/spoom/cli/deadcode.rb#153 + def remove(location_string); end +end + +# source://spoom//lib/spoom/cli/helper.rb#10 +module Spoom::Cli::Helper + include ::Spoom::Colorize + + requires_ancestor { Thor } + + # : (String string) -> String + # + # source://spoom//lib/spoom/cli/helper.rb#147 + sig { params(string: ::String).returns(::String) } + def blue(string); end + + # Collect files from `paths`, defaulting to `exec_path` + # : (Array[String] paths) -> Array[String] + # + # source://spoom//lib/spoom/cli/helper.rb#85 + # Collect files from `paths`, defaulting to `exec_path` + sig { params(paths: T::Array[::String]).returns(T::Array[::String]) } + def collect_files(paths); end + + # Is the `--color` option true? + # : -> bool + # + # @return [Boolean] + # + # source://spoom//lib/spoom/cli/helper.rb#111 + # Is the `--color` option true? + sig { returns(T::Boolean) } + def color?; end + + # Colorize a string if `color?` + # : (String string, *Color color) -> String + # + # source://spoom//lib/spoom/cli/helper.rb#140 + # Colorize a string if `color?` + sig { params(string: ::String, color: ::Spoom::Color).returns(::String) } + def colorize(string, *color); end + + # Returns the context at `--path` (by default the current working directory) + # : -> Context + # + # source://spoom//lib/spoom/cli/helper.rb#58 + # Returns the context at `--path` (by default the current working directory) + sig { returns(::Spoom::Context) } + def context; end + + # Raise if `spoom` is not ran inside a context with a `sorbet/config` file + # : -> Context + # + # source://spoom//lib/spoom/cli/helper.rb#64 + # Raise if `spoom` is not ran inside a context with a `sorbet/config` file + sig { returns(::Spoom::Context) } + def context_requiring_sorbet!; end + + # : (String string) -> String + # + # source://spoom//lib/spoom/cli/helper.rb#152 + sig { params(string: ::String).returns(::String) } + def cyan(string); end + + # Return the path specified through `--path` + # : -> String + # + # source://spoom//lib/spoom/cli/helper.rb#79 + # Return the path specified through `--path` + sig { returns(::String) } + def exec_path; end + + # : (String string) -> String + # + # source://spoom//lib/spoom/cli/helper.rb#157 + sig { params(string: ::String).returns(::String) } + def gray(string); end + + # : (String string) -> String + # + # source://spoom//lib/spoom/cli/helper.rb#162 + sig { params(string: ::String).returns(::String) } + def green(string); end + + # : (String string) -> String + # + # source://spoom//lib/spoom/cli/helper.rb#116 + sig { params(string: ::String).returns(::String) } + def highlight(string); end + + # : (String string) -> String + # + # source://spoom//lib/spoom/cli/helper.rb#167 + sig { params(string: ::String).returns(::String) } + def red(string); end + + # Print `message` on `$stdout` + # : (String message) -> void + # + # source://spoom//lib/spoom/cli/helper.rb#19 + # Print `message` on `$stdout` + sig { params(message: ::String).void } + def say(message); end + + # Print `message` on `$stderr` + # + # The message is prefixed by a status (default: `Error`). + # : (String message, ?status: String?, ?nl: bool) -> void + # + # source://spoom//lib/spoom/cli/helper.rb#32 + # Print `message` on `$stderr` + # The message is prefixed by a status (default: `Error`). + sig { params(message: ::String, status: T.nilable(::String), nl: T::Boolean).void } + def say_error(message, status: T.unsafe(nil), nl: T.unsafe(nil)); end + + # Print `message` on `$stderr` + # + # The message is prefixed by a status (default: `Warning`). + # : (String message, ?status: String?, ?nl: bool) -> void + # + # source://spoom//lib/spoom/cli/helper.rb#46 + # Print `message` on `$stderr` + # The message is prefixed by a status (default: `Warning`). + sig { params(message: ::String, status: T.nilable(::String), nl: T::Boolean).void } + def say_warning(message, status: T.unsafe(nil), nl: T.unsafe(nil)); end + + # : (String string) -> String + # + # source://spoom//lib/spoom/cli/helper.rb#172 + sig { params(string: ::String).returns(::String) } + def yellow(string); end +end + +# source://spoom//lib/spoom/cli.rb#12 +class Spoom::Cli::Main < ::Thor + include ::Spoom::Colorize + include ::Spoom::Cli::Helper + + # source://spoom//lib/spoom/cli.rb#100 + def __print_version; end + + # : (?String directory) -> void + # + # source://spoom//lib/spoom/cli.rb#57 + sig { params(directory: ::String).void } + def bump(directory = T.unsafe(nil)); end + + # source://spoom//lib/spoom/cli.rb#64 + def coverage(*args); end + + # source://thor/1.3.2/lib/thor.rb#334 + def deadcode(*args); end + + # source://spoom//lib/spoom/cli.rb#74 + def lsp(*args); end + + # source://thor/1.3.2/lib/thor.rb#334 + def srb(*args); end + + # source://spoom//lib/spoom/cli.rb#93 + def tc(*paths_to_select); end + + class << self + # @return [Boolean] + # + # source://spoom//lib/spoom/cli.rb#107 + def exit_on_failure?; end + end +end + +# source://spoom//lib/spoom/cli.rb#80 +Spoom::Cli::Main::SORT_CODE = T.let(T.unsafe(nil), String) + +# source://spoom//lib/spoom/cli.rb#82 +Spoom::Cli::Main::SORT_ENUM = T.let(T.unsafe(nil), Array) + +# source://spoom//lib/spoom/cli.rb#81 +Spoom::Cli::Main::SORT_LOC = T.let(T.unsafe(nil), String) + +# source://spoom//lib/spoom/cli/srb/assertions.rb#6 +module Spoom::Cli::Srb; end + +# source://spoom//lib/spoom/cli/srb/assertions.rb#7 +class Spoom::Cli::Srb::Assertions < ::Thor + include ::Spoom::Colorize + include ::Spoom::Cli::Helper + + def help(command = T.unsafe(nil), subcommand = T.unsafe(nil)); end + + # source://spoom//lib/spoom/cli/srb/assertions.rb#29 + def transform_files(files, &block); end + + # source://spoom//lib/spoom/cli/srb/assertions.rb#13 + def translate(*paths); end +end + +# source://spoom//lib/spoom/cli/srb/bump.rb#10 +class Spoom::Cli::Srb::Bump < ::Thor + include ::Spoom::Colorize + include ::Spoom::Cli::Helper + + # : (?String directory) -> void + # + # source://spoom//lib/spoom/cli/srb/bump.rb#49 + sig { params(directory: ::String).void } + def bump(directory = T.unsafe(nil)); end + + def help(command = T.unsafe(nil), subcommand = T.unsafe(nil)); end + + # source://spoom//lib/spoom/cli/srb/bump.rb#170 + def print_changes(files, command:, from: T.unsafe(nil), to: T.unsafe(nil), dry: T.unsafe(nil), path: T.unsafe(nil)); end + + # source://spoom//lib/spoom/cli/srb/bump.rb#192 + def undo_changes(files, from_strictness); end +end + +# source://spoom//lib/spoom/cli/srb/coverage.rb#10 +class Spoom::Cli::Srb::Coverage < ::Thor + include ::Spoom::Colorize + include ::Spoom::Cli::Helper + + # source://spoom//lib/spoom/cli/srb/coverage.rb#199 + def bundle_install(path, sha); end + + def help(command = T.unsafe(nil), subcommand = T.unsafe(nil)); end + + # source://spoom//lib/spoom/cli/srb/coverage.rb#211 + def message_no_data(file); end + + # source://spoom//lib/spoom/cli/srb/coverage.rb#174 + def open(file = T.unsafe(nil)); end + + # source://spoom//lib/spoom/cli/srb/coverage.rb#190 + def parse_time(string, option); end + + # source://spoom//lib/spoom/cli/srb/coverage.rb#143 + def report; end + + # source://spoom//lib/spoom/cli/srb/coverage.rb#21 + def snapshot; end + + # source://spoom//lib/spoom/cli/srb/coverage.rb#43 + def timeline; end +end + +# source://spoom//lib/spoom/cli/srb/coverage.rb#13 +Spoom::Cli::Srb::Coverage::DATA_DIR = T.let(T.unsafe(nil), String) + +# source://spoom//lib/spoom/cli/srb/lsp.rb#11 +class Spoom::Cli::Srb::LSP < ::Thor + include ::Spoom::Colorize + include ::Spoom::Cli::Helper + + # TODO: options, filter, limit, kind etc.. filter rbi + # + # source://spoom//lib/spoom/cli/srb/lsp.rb#45 + def defs(file, line, col); end + + # TODO: options, filter, limit, kind etc.. filter rbi + # + # source://spoom//lib/spoom/cli/srb/lsp.rb#55 + def find(query); end + + def help(command = T.unsafe(nil), subcommand = T.unsafe(nil)); end + + # TODO: options, filter, limit, kind etc.. filter rbi + # + # source://spoom//lib/spoom/cli/srb/lsp.rb#31 + def hover(file, line, col); end + + # TODO: options, filter, limit, kind etc.. filter rbi + # + # source://spoom//lib/spoom/cli/srb/lsp.rb#16 + def list; end + + # source://spoom//lib/spoom/cli/srb/lsp.rb#104 + def lsp_client; end + + # TODO: options, filter, limit, kind etc.. filter rbi + # + # source://spoom//lib/spoom/cli/srb/lsp.rb#75 + def refs(file, line, col); end + + # source://spoom//lib/spoom/cli/srb/lsp.rb#127 + def run(&block); end + + # TODO: options, filter, limit, kind etc.. filter rbi + # + # source://spoom//lib/spoom/cli/srb/lsp.rb#85 + def sigs(file, line, col); end + + # source://spoom//lib/spoom/cli/srb/lsp.rb#119 + def symbol_printer; end + + # TODO: options, filter, limit, kind etc.. filter rbi + # + # source://spoom//lib/spoom/cli/srb/lsp.rb#65 + def symbols(file); end + + # source://spoom//lib/spoom/cli/srb/lsp.rb#152 + def to_uri(path); end + + # TODO: options, filter, limit, kind etc.. filter rbi + # + # source://spoom//lib/spoom/cli/srb/lsp.rb#95 + def types(file, line, col); end +end + +# source://spoom//lib/spoom/cli/srb.rb#14 +class Spoom::Cli::Srb::Main < ::Thor + # source://thor/1.3.2/lib/thor.rb#334 + def assertions(*args); end + + # source://thor/1.3.2/lib/thor.rb#334 + def bump(*args); end + + # source://thor/1.3.2/lib/thor.rb#334 + def coverage(*args); end + + def help(command = T.unsafe(nil), subcommand = T.unsafe(nil)); end + + # source://thor/1.3.2/lib/thor.rb#334 + def lsp(*args); end + + # source://thor/1.3.2/lib/thor.rb#334 + def sigs(*args); end + + # source://thor/1.3.2/lib/thor.rb#334 + def tc(*args); end +end + +# source://spoom//lib/spoom/cli/srb/sigs.rb#9 +class Spoom::Cli::Srb::Sigs < ::Thor + include ::Spoom::Colorize + include ::Spoom::Cli::Helper + + # source://spoom//lib/spoom/cli/srb/sigs.rb#197 + def exec(context, command); end + + # source://spoom//lib/spoom/cli/srb/sigs.rb#68 + def export(output_path = T.unsafe(nil)); end + + def help(command = T.unsafe(nil), subcommand = T.unsafe(nil)); end + + # source://spoom//lib/spoom/cli/srb/sigs.rb#49 + def strip(*paths); end + + # source://spoom//lib/spoom/cli/srb/sigs.rb#174 + def transform_files(files, &block); end + + # source://spoom//lib/spoom/cli/srb/sigs.rb#20 + def translate(*paths); end +end + +# source://spoom//lib/spoom/cli/srb/tc.rb#7 +class Spoom::Cli::Srb::Tc < ::Thor + include ::Spoom::Colorize + include ::Spoom::Cli::Helper + + # source://spoom//lib/spoom/cli/srb/tc.rb#132 + def colorize_message(message); end + + # source://spoom//lib/spoom/cli/srb/tc.rb#123 + def format_error(error, format); end + + def help(command = T.unsafe(nil), subcommand = T.unsafe(nil)); end + + # source://spoom//lib/spoom/cli/srb/tc.rb#27 + def tc(*paths_to_select); end +end + +# source://spoom//lib/spoom/cli/srb/tc.rb#16 +Spoom::Cli::Srb::Tc::DEFAULT_FORMAT = T.let(T.unsafe(nil), String) + +# source://spoom//lib/spoom/cli/srb/tc.rb#12 +Spoom::Cli::Srb::Tc::SORT_CODE = T.let(T.unsafe(nil), String) + +# source://spoom//lib/spoom/cli/srb/tc.rb#14 +Spoom::Cli::Srb::Tc::SORT_ENUM = T.let(T.unsafe(nil), Array) + +# source://spoom//lib/spoom/cli/srb/tc.rb#13 +Spoom::Cli::Srb::Tc::SORT_LOC = T.let(T.unsafe(nil), String) + +# source://spoom//lib/spoom/colors.rb#5 +class Spoom::Color < ::T::Enum + enums do + BLACK = new + BLUE = new + BOLD = new + CLEAR = new + CYAN = new + GREEN = new + LIGHT_BLACK = new + LIGHT_BLUE = new + LIGHT_CYAN = new + LIGHT_GREEN = new + LIGHT_MAGENTA = new + LIGHT_RED = new + LIGHT_WHITE = new + LIGHT_YELLOW = new + MAGENTA = new + RED = new + WHITE = new + YELLOW = new + end + + # : -> String + # + # source://spoom//lib/spoom/colors.rb#30 + sig { returns(::String) } + def ansi_code; end +end + +# source://spoom//lib/spoom/colors.rb#35 +module Spoom::Colorize + # : (String string, *Color color) -> String + # + # source://spoom//lib/spoom/colors.rb#37 + sig { params(string: ::String, color: ::Spoom::Color).returns(::String) } + def set_color(string, *color); end +end + +# An abstraction to a Ruby project context +# +# A context maps to a directory in the file system. +# It is used to manipulate files and run commands in the context of this directory. +# +# source://spoom//lib/spoom/context/bundle.rb#5 +# An abstraction to a Ruby project context +# A context maps to a directory in the file system. +class Spoom::Context + include ::Spoom::Context::Bundle + include ::Spoom::Context::Exec + include ::Spoom::Context::FileSystem + include ::Spoom::Context::Git + include ::Spoom::Context::Sorbet + + # Create a new context about `absolute_path` + # + # The directory will not be created if it doesn't exist. + # Call `#make!` to create it. + # : (String absolute_path) -> void + # + # @return [Context] a new instance of Context + # + # source://spoom//lib/spoom/context.rb#47 + # Create a new context about `absolute_path` + # The directory will not be created if it doesn't exist. + # Call `#make!` to create it. + sig { params(absolute_path: ::String).void } + def initialize(absolute_path); end + + # The absolute path to the directory this context is about + # : String + # + # source://spoom//lib/spoom/context.rb#40 + # The absolute path to the directory this context is about + sig { returns(::String) } + def absolute_path; end + + class << self + # Create a new context in the system's temporary directory + # + # `name` is used as prefix to the temporary directory name. + # The directory will be created if it doesn't exist. + # : (?String? name) -> instance + # + # source://spoom//lib/spoom/context.rb#33 + # Create a new context in the system's temporary directory + # `name` is used as prefix to the temporary directory name. + # The directory will be created if it doesn't exist. + sig { params(name: T.nilable(::String)).returns(T.attached_class) } + def mktmp!(name = T.unsafe(nil)); end + end +end + +# Bundle features for a context +# +# source://spoom//lib/spoom/context/bundle.rb#7 +module Spoom::Context::Bundle + requires_ancestor { Spoom::Context } + + # Run a command with `bundle` in this context directory + # : (String command, ?version: String?, ?capture_err: bool) -> ExecResult + # + # source://spoom//lib/spoom/context/bundle.rb#32 + # Run a command with `bundle` in this context directory + 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 + # : (String command, ?version: String?, ?capture_err: bool) -> ExecResult + # + # source://spoom//lib/spoom/context/bundle.rb#45 + # Run a command `bundle exec` in this context directory + 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 + # : (?version: String?, ?capture_err: bool) -> ExecResult + # + # source://spoom//lib/spoom/context/bundle.rb#39 + # Run `bundle install` in this context directory + 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 + + # Get `gem` version from the `Gemfile.lock` content + # + # Returns `nil` if `gem` cannot be found in the Gemfile. + # : (String gem) -> Gem::Version? + # + # source://spoom//lib/spoom/context/bundle.rb#61 + # Get `gem` version from the `Gemfile.lock` content + # Returns `nil` if `gem` cannot be found in the Gemfile. + sig { params(gem: ::String).returns(T.nilable(::Gem::Version)) } + def gem_version_from_gemfile_lock(gem); end + + # : -> Hash[String, Bundler::LazySpecification] + # + # source://spoom//lib/spoom/context/bundle.rb#50 + sig { returns(T::Hash[::String, ::Bundler::LazySpecification]) } + def gemfile_lock_specs; end + + # Read the contents of the Gemfile in this context directory + # : -> String? + # + # source://spoom//lib/spoom/context/bundle.rb#14 + # Read the contents of the Gemfile in this context directory + sig { returns(T.nilable(::String)) } + def read_gemfile; end + + # Read the contents of the Gemfile.lock in this context directory + # : -> String? + # + # source://spoom//lib/spoom/context/bundle.rb#20 + # Read the contents of the Gemfile.lock in this context directory + sig { returns(T.nilable(::String)) } + def read_gemfile_lock; end + + # Set the `contents` of the Gemfile in this context directory + # : (String contents, ?append: bool) -> void + # + # source://spoom//lib/spoom/context/bundle.rb#26 + # Set the `contents` of the Gemfile in this context directory + sig { params(contents: ::String, append: T::Boolean).void } + def write_gemfile!(contents, append: T.unsafe(nil)); end +end + +# Execution features for a context +# +# source://spoom//lib/spoom/context/exec.rb#25 +module Spoom::Context::Exec + requires_ancestor { Spoom::Context } + + # Run a command in this context directory + # : (String command, ?capture_err: bool) -> ExecResult + # + # source://spoom//lib/spoom/context/exec.rb#32 + # Run a command in this context directory + sig { params(command: ::String, capture_err: T::Boolean).returns(::Spoom::ExecResult) } + def exec(command, capture_err: T.unsafe(nil)); end +end + +# File System features for a context +# +# source://spoom//lib/spoom/context/file_system.rb#7 +module Spoom::Context::FileSystem + requires_ancestor { Spoom::Context } + + # Returns the absolute path to `relative_path` in the context's directory + # : (String relative_path) -> String + # + # source://spoom//lib/spoom/context/file_system.rb#14 + # Returns the absolute path to `relative_path` in the context's directory + sig { params(relative_path: ::String).returns(::String) } + def absolute_path_to(relative_path); end + + # : (?allow_extensions: Array[String], ?allow_mime_types: Array[String], ?exclude_patterns: Array[String]) -> Array[String] + # + # source://spoom//lib/spoom/context/file_system.rb#46 + 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. + # : -> void + # + # source://spoom//lib/spoom/context/file_system.rb#98 + # Delete this context and its content + # Warning: it will `rm -rf` the context directory on the file system. + sig { void } + def destroy!; end + + # Does the context directory at `absolute_path` exist and is a directory? + # : -> bool + # + # @return [Boolean] + # + # source://spoom//lib/spoom/context/file_system.rb#20 + # Does the context directory at `absolute_path` exist and is a directory? + sig { returns(T::Boolean) } + def exist?; end + + # Does `relative_path` point to an existing file in this context directory? + # : (String relative_path) -> bool + # + # @return [Boolean] + # + # source://spoom//lib/spoom/context/file_system.rb#58 + # Does `relative_path` point to an existing file in this context directory? + sig { params(relative_path: ::String).returns(T::Boolean) } + def file?(relative_path); end + + # List all files in this context matching `pattern` + # : (?String pattern) -> Array[String] + # + # source://spoom//lib/spoom/context/file_system.rb#33 + # List all files in this context matching `pattern` + sig { params(pattern: ::String).returns(T::Array[::String]) } + def glob(pattern = T.unsafe(nil)); end + + # List all files at the top level of this context directory + # : -> Array[String] + # + # source://spoom//lib/spoom/context/file_system.rb#41 + # List all files at the top level of this context directory + sig { returns(T::Array[::String]) } + def list; end + + # Create the context directory at `absolute_path` + # : -> void + # + # source://spoom//lib/spoom/context/file_system.rb#26 + # Create the context directory at `absolute_path` + sig { void } + def mkdir!; end + + # Move the file or directory from `from_relative_path` to `to_relative_path` + # : (String from_relative_path, String to_relative_path) -> void + # + # source://spoom//lib/spoom/context/file_system.rb#88 + # Move the file or directory from `from_relative_path` to `to_relative_path` + sig { params(from_relative_path: ::String, to_relative_path: ::String).void } + def move!(from_relative_path, to_relative_path); end + + # Return the contents of the file at `relative_path` in this context directory + # + # Will raise if the file doesn't exist. + # : (String relative_path) -> String + # + # source://spoom//lib/spoom/context/file_system.rb#66 + # Return the contents of the file at `relative_path` in this context directory + # Will raise if the file doesn't exist. + sig { params(relative_path: ::String).returns(::String) } + def read(relative_path); end + + # Remove the path at `relative_path` (recursive + force) in this context directory + # : (String relative_path) -> void + # + # source://spoom//lib/spoom/context/file_system.rb#82 + # Remove the path at `relative_path` (recursive + force) in this context directory + sig { params(relative_path: ::String).void } + def remove!(relative_path); end + + # Write `contents` in the file at `relative_path` in this context directory + # + # Append to the file if `append` is true. + # : (String relative_path, ?String contents, ?append: bool) -> void + # + # source://spoom//lib/spoom/context/file_system.rb#74 + # Write `contents` in the file at `relative_path` in this context directory + # Append to the file if `append` is true. + 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 + +# Git features for a context +# +# source://spoom//lib/spoom/context/git.rb#31 +module Spoom::Context::Git + requires_ancestor { Spoom::Context } + + # Run a command prefixed by `git` in this context directory + # : (String command) -> ExecResult + # + # source://spoom//lib/spoom/context/git.rb#38 + # Run a command prefixed by `git` in this context directory + sig { params(command: ::String).returns(::Spoom::ExecResult) } + def git(command); end + + # Run `git checkout` in this context directory + # : (?ref: String) -> ExecResult + # + # source://spoom//lib/spoom/context/git.rb#57 + # Run `git checkout` in this context directory + sig { params(ref: ::String).returns(::Spoom::ExecResult) } + def git_checkout!(ref: T.unsafe(nil)); end + + # Run `git checkout -b ` in this context directory + # : (String branch_name, ?ref: String?) -> ExecResult + # + # source://spoom//lib/spoom/context/git.rb#63 + # Run `git checkout -b ` in this context directory + 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 + # : (?message: String, ?time: Time, ?allow_empty: bool) -> ExecResult + # + # source://spoom//lib/spoom/context/git.rb#73 + # Run `git add . && git commit` in this context directory + 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 + # : -> String? + # + # source://spoom//lib/spoom/context/git.rb#84 + # Get the current git branch in this context directory + sig { returns(T.nilable(::String)) } + def git_current_branch; end + + # Run `git diff` in this context directory + # : (*String arg) -> ExecResult + # + # source://spoom//lib/spoom/context/git.rb#93 + # Run `git diff` in this context directory + sig { params(arg: ::String).returns(::Spoom::ExecResult) } + def git_diff(*arg); end + + # Run `git init` in this context directory + # + # Warning: passing a branch will run `git init -b ` which is only available in git 2.28+. + # In older versions, use `git_init!` followed by `git("checkout -b ")`. + # : (?branch: String?) -> ExecResult + # + # source://spoom//lib/spoom/context/git.rb#47 + # Run `git init` in this context directory + # Warning: passing a branch will run `git init -b ` which is only available in git 2.28+. + # In older versions, use `git_init!` followed by `git("checkout -b ")`. + sig { params(branch: T.nilable(::String)).returns(::Spoom::ExecResult) } + def git_init!(branch: T.unsafe(nil)); end + + # Get the last commit in the currently checked out branch + # : (?short_sha: bool) -> Spoom::Git::Commit? + # + # source://spoom//lib/spoom/context/git.rb#99 + # Get the last commit in the currently checked out branch + sig { params(short_sha: T::Boolean).returns(T.nilable(::Spoom::Git::Commit)) } + def git_last_commit(short_sha: T.unsafe(nil)); end + + # : (*String arg) -> ExecResult + # + # source://spoom//lib/spoom/context/git.rb#110 + sig { params(arg: ::String).returns(::Spoom::ExecResult) } + def git_log(*arg); end + + # Run `git push ` in this context directory + # : (String remote, String ref, ?force: bool) -> ExecResult + # + # source://spoom//lib/spoom/context/git.rb#116 + # Run `git push ` in this context directory + sig { params(remote: ::String, ref: ::String, force: T::Boolean).returns(::Spoom::ExecResult) } + def git_push!(remote, ref, force: T.unsafe(nil)); end + + # : (*String arg) -> ExecResult + # + # source://spoom//lib/spoom/context/git.rb#121 + sig { params(arg: ::String).returns(::Spoom::ExecResult) } + def git_show(*arg); end + + # Is there uncommitted changes in this context directory? + # : (?path: String) -> bool + # + # @return [Boolean] + # + # source://spoom//lib/spoom/context/git.rb#127 + # Is there uncommitted changes in this context directory? + sig { params(path: ::String).returns(T::Boolean) } + def git_workdir_clean?(path: T.unsafe(nil)); end +end + +# Sorbet features for a context +# +# source://spoom//lib/spoom/context/sorbet.rb#7 +module Spoom::Context::Sorbet + requires_ancestor { Spoom::Context } + + # Does this context has a `sorbet/config` file? + # : -> bool + # + # @return [Boolean] + # + # source://spoom//lib/spoom/context/sorbet.rb#106 + # Does this context has a `sorbet/config` file? + sig { returns(T::Boolean) } + def has_sorbet_config?; end + + # Read the strictness sigil from the file at `relative_path` (returns `nil` if no sigil) + # : (String relative_path) -> String? + # + # source://spoom//lib/spoom/context/sorbet.rb#129 + # Read the strictness sigil from the file at `relative_path` (returns `nil` if no sigil) + 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 + # : -> String + # + # source://spoom//lib/spoom/context/sorbet.rb#117 + # Read the contents of `sorbet/config` in this context directory + sig { returns(::String) } + def read_sorbet_config; end + + # : -> Spoom::Sorbet::Config + # + # source://spoom//lib/spoom/context/sorbet.rb#111 + sig { returns(::Spoom::Sorbet::Config) } + def sorbet_config; end + + # Get the commit introducing the `sorbet/config` file + # : -> Spoom::Git::Commit? + # + # source://spoom//lib/spoom/context/sorbet.rb#135 + # Get the commit introducing the `sorbet/config` file + sig { returns(T.nilable(::Spoom::Git::Commit)) } + def sorbet_intro_commit; end + + # Get the commit removing the `sorbet/config` file + # : -> Spoom::Git::Commit? + # + # source://spoom//lib/spoom/context/sorbet.rb#147 + # Get the commit removing the `sorbet/config` file + sig { returns(T.nilable(::Spoom::Git::Commit)) } + def sorbet_removal_commit; end + + # Run `bundle exec srb` in this context directory + # : (*String arg, ?sorbet_bin: String?, ?capture_err: bool) -> ExecResult + # + # source://spoom//lib/spoom/context/sorbet.rb#14 + # Run `bundle exec srb` in this context directory + sig { params(arg: ::String, sorbet_bin: T.nilable(::String), capture_err: T::Boolean).returns(::Spoom::ExecResult) } + def srb(*arg, sorbet_bin: T.unsafe(nil), capture_err: T.unsafe(nil)); end + + # List all files typechecked by Sorbet from its `config` + # : (?with_config: Spoom::Sorbet::Config?, ?include_rbis: bool) -> Array[String] + # + # source://spoom//lib/spoom/context/sorbet.rb#58 + # List all files typechecked by Sorbet from its `config` + sig { params(with_config: T.nilable(::Spoom::Sorbet::Config), include_rbis: T::Boolean).returns(T::Array[::String]) } + def srb_files(with_config: T.unsafe(nil), include_rbis: T.unsafe(nil)); end + + # List all files typechecked by Sorbet from its `config` that matches `strictness` + # : (String strictness, ?with_config: Spoom::Sorbet::Config?, ?include_rbis: bool) -> Array[String] + # + # source://spoom//lib/spoom/context/sorbet.rb#91 + # List all files typechecked by Sorbet from its `config` that matches `strictness` + sig do + params( + strictness: ::String, + with_config: T.nilable(::Spoom::Sorbet::Config), + include_rbis: T::Boolean + ).returns(T::Array[::String]) + end + def srb_files_with_strictness(strictness, with_config: T.unsafe(nil), include_rbis: T.unsafe(nil)); end + + # : (*String arg, ?sorbet_bin: String?, ?capture_err: bool) -> Hash[String, Integer]? + # + # source://spoom//lib/spoom/context/sorbet.rb#38 + sig do + params( + arg: ::String, + sorbet_bin: T.nilable(::String), + capture_err: T::Boolean + ).returns(T.nilable(T::Hash[::String, ::Integer])) + end + def srb_metrics(*arg, sorbet_bin: T.unsafe(nil), capture_err: T.unsafe(nil)); end + + # : (*String arg, ?sorbet_bin: String?, ?capture_err: bool) -> ExecResult + # + # source://spoom//lib/spoom/context/sorbet.rb#32 + 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 + + # : (*String arg, ?sorbet_bin: String?, ?capture_err: bool) -> String? + # + # source://spoom//lib/spoom/context/sorbet.rb#97 + 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 + # : (String contents, ?append: bool) -> void + # + # source://spoom//lib/spoom/context/sorbet.rb#123 + # Set the `contents` of `sorbet/config` in this context directory + sig { params(contents: ::String, append: T::Boolean).void } + def write_sorbet_config!(contents, append: T.unsafe(nil)); end +end + +# source://spoom//lib/spoom/coverage/snapshot.rb#5 +module Spoom::Coverage + class << self + # : (Context context) -> FileTree + # + # source://spoom//lib/spoom/coverage.rb#101 + sig { params(context: ::Spoom::Context).returns(::Spoom::FileTree) } + def file_tree(context); end + + # : (Context context, Array[Snapshot] snapshots, palette: D3::ColorPalette) -> Report + # + # source://spoom//lib/spoom/coverage.rb#81 + sig do + params( + context: ::Spoom::Context, + snapshots: T::Array[::Spoom::Coverage::Snapshot], + palette: ::Spoom::Coverage::D3::ColorPalette + ).returns(::Spoom::Coverage::Report) + end + def report(context, snapshots, palette:); end + + # : (Context context, ?rbi: bool, ?sorbet_bin: String?) -> Snapshot + # + # source://spoom//lib/spoom/coverage.rb#14 + sig do + params( + context: ::Spoom::Context, + rbi: T::Boolean, + sorbet_bin: T.nilable(::String) + ).returns(::Spoom::Coverage::Snapshot) + end + def snapshot(context, rbi: T.unsafe(nil), sorbet_bin: T.unsafe(nil)); end + end +end + +# source://spoom//lib/spoom/coverage/report.rb#87 +module Spoom::Coverage::Cards; end + +# source://spoom//lib/spoom/coverage/report.rb#88 +class Spoom::Coverage::Cards::Card < ::Spoom::Coverage::Template + # : (?template: String, ?title: String?, ?body: String?) -> void + # + # @return [Card] a new instance of Card + # + # source://spoom//lib/spoom/coverage/report.rb#97 + sig { params(template: ::String, title: T.nilable(::String), body: T.nilable(::String)).void } + def initialize(template: T.unsafe(nil), title: T.unsafe(nil), body: T.unsafe(nil)); end + + # : String? + # + # source://spoom//lib/spoom/coverage/report.rb#94 + # @return [String, nil] + def body; end + + # : String? + # + # source://spoom//lib/spoom/coverage/report.rb#94 + sig { returns(T.nilable(::String)) } + def title; end +end + +# source://spoom//lib/spoom/coverage/report.rb#91 +Spoom::Coverage::Cards::Card::TEMPLATE = T.let(T.unsafe(nil), String) + +# @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below. +# +# source://spoom//lib/spoom/coverage/report.rb#104 +class Spoom::Coverage::Cards::Erb < ::Spoom::Coverage::Cards::Card + abstract! + + # : -> void + # + # @return [Erb] a new instance of Erb + # + # source://spoom//lib/spoom/coverage/report.rb#110 + sig { void } + def initialize; end + + # @abstract + # + # source://spoom//lib/spoom/coverage/report.rb#119 + sig { abstract.returns(::String) } + def erb; end + + # : -> String + # + # source://spoom//lib/spoom/coverage/report.rb#114 + sig { override.returns(::String) } + def html; end +end + +# source://spoom//lib/spoom/coverage/report.rb#150 +class Spoom::Coverage::Cards::Map < ::Spoom::Coverage::Cards::Card + # : (file_tree: FileTree, nodes_strictnesses: Hash[FileTree::Node, String?], nodes_strictness_scores: Hash[FileTree::Node, Float], ?title: String) -> void + # + # @return [Map] a new instance of Map + # + # source://spoom//lib/spoom/coverage/report.rb#152 + sig do + params( + file_tree: ::Spoom::FileTree, + nodes_strictnesses: T::Hash[::Spoom::FileTree::Node, T.nilable(::String)], + nodes_strictness_scores: T::Hash[::Spoom::FileTree::Node, ::Float], + title: ::String + ).void + end + def initialize(file_tree:, nodes_strictnesses:, nodes_strictness_scores:, title: T.unsafe(nil)); end +end + +# source://spoom//lib/spoom/coverage/report.rb#122 +class Spoom::Coverage::Cards::Snapshot < ::Spoom::Coverage::Cards::Card + # : (snapshot: Coverage::Snapshot, ?title: String) -> void + # + # @return [Snapshot] a new instance of Snapshot + # + # source://spoom//lib/spoom/coverage/report.rb#129 + sig { params(snapshot: ::Spoom::Coverage::Snapshot, title: ::String).void } + def initialize(snapshot:, title: T.unsafe(nil)); end + + # : -> D3::Pie::Calls + # + # source://spoom//lib/spoom/coverage/report.rb#140 + sig { returns(::Spoom::Coverage::D3::Pie::Calls) } + def pie_calls; end + + # : -> D3::Pie::Sigils + # + # source://spoom//lib/spoom/coverage/report.rb#135 + sig { returns(::Spoom::Coverage::D3::Pie::Sigils) } + def pie_sigils; end + + # : -> D3::Pie::Sigs + # + # source://spoom//lib/spoom/coverage/report.rb#145 + sig { returns(::Spoom::Coverage::D3::Pie::Sigs) } + def pie_sigs; end + + # : Coverage::Snapshot + # + # source://spoom//lib/spoom/coverage/report.rb#126 + sig { returns(::Spoom::Coverage::Snapshot) } + def snapshot; end +end + +# source://spoom//lib/spoom/coverage/report.rb#123 +Spoom::Coverage::Cards::Snapshot::TEMPLATE = T.let(T.unsafe(nil), String) + +# source://spoom//lib/spoom/coverage/report.rb#214 +class Spoom::Coverage::Cards::SorbetIntro < ::Spoom::Coverage::Cards::Erb + # : (?sorbet_intro_commit: String?, ?sorbet_intro_date: Time?) -> void + # + # @return [SorbetIntro] a new instance of SorbetIntro + # + # source://spoom//lib/spoom/coverage/report.rb#216 + sig { params(sorbet_intro_commit: T.nilable(::String), sorbet_intro_date: T.nilable(::Time)).void } + def initialize(sorbet_intro_commit: T.unsafe(nil), sorbet_intro_date: T.unsafe(nil)); end + + # : -> String + # + # source://spoom//lib/spoom/coverage/report.rb#223 + sig { override.returns(::String) } + def erb; end +end + +# source://spoom//lib/spoom/coverage/report.rb#165 +class Spoom::Coverage::Cards::Timeline < ::Spoom::Coverage::Cards::Card + # : (title: String, timeline: D3::Timeline) -> void + # + # @return [Timeline] a new instance of Timeline + # + # source://spoom//lib/spoom/coverage/report.rb#167 + sig { params(title: ::String, timeline: ::Spoom::Coverage::D3::Timeline).void } + def initialize(title:, timeline:); end +end + +# source://spoom//lib/spoom/coverage/report.rb#178 +class Spoom::Coverage::Cards::Timeline::Calls < ::Spoom::Coverage::Cards::Timeline + # : (snapshots: Array[Coverage::Snapshot], ?title: String) -> void + # + # @return [Calls] a new instance of Calls + # + # source://spoom//lib/spoom/coverage/report.rb#180 + sig { params(snapshots: T::Array[::Spoom::Coverage::Snapshot], title: ::String).void } + def initialize(snapshots:, title: T.unsafe(nil)); end +end + +# source://spoom//lib/spoom/coverage/report.rb#192 +class Spoom::Coverage::Cards::Timeline::RBIs < ::Spoom::Coverage::Cards::Timeline + # : (snapshots: Array[Coverage::Snapshot], ?title: String) -> void + # + # @return [RBIs] a new instance of RBIs + # + # source://spoom//lib/spoom/coverage/report.rb#194 + sig { params(snapshots: T::Array[::Spoom::Coverage::Snapshot], title: ::String).void } + def initialize(snapshots:, title: T.unsafe(nil)); end +end + +# source://spoom//lib/spoom/coverage/report.rb#206 +class Spoom::Coverage::Cards::Timeline::Runtimes < ::Spoom::Coverage::Cards::Timeline + # : (snapshots: Array[Coverage::Snapshot], ?title: String) -> void + # + # @return [Runtimes] a new instance of Runtimes + # + # source://spoom//lib/spoom/coverage/report.rb#208 + sig { params(snapshots: T::Array[::Spoom::Coverage::Snapshot], title: ::String).void } + def initialize(snapshots:, title: T.unsafe(nil)); end +end + +# source://spoom//lib/spoom/coverage/report.rb#171 +class Spoom::Coverage::Cards::Timeline::Sigils < ::Spoom::Coverage::Cards::Timeline + # : (snapshots: Array[Coverage::Snapshot], ?title: String) -> void + # + # @return [Sigils] a new instance of Sigils + # + # source://spoom//lib/spoom/coverage/report.rb#173 + sig { params(snapshots: T::Array[::Spoom::Coverage::Snapshot], title: ::String).void } + def initialize(snapshots:, title: T.unsafe(nil)); end +end + +# source://spoom//lib/spoom/coverage/report.rb#185 +class Spoom::Coverage::Cards::Timeline::Sigs < ::Spoom::Coverage::Cards::Timeline + # : (snapshots: Array[Coverage::Snapshot], ?title: String) -> void + # + # @return [Sigs] a new instance of Sigs + # + # source://spoom//lib/spoom/coverage/report.rb#187 + sig { params(snapshots: T::Array[::Spoom::Coverage::Snapshot], title: ::String).void } + def initialize(snapshots:, title: T.unsafe(nil)); end +end + +# source://spoom//lib/spoom/coverage/report.rb#199 +class Spoom::Coverage::Cards::Timeline::Versions < ::Spoom::Coverage::Cards::Timeline + # : (snapshots: Array[Coverage::Snapshot], ?title: String) -> void + # + # @return [Versions] a new instance of Versions + # + # source://spoom//lib/spoom/coverage/report.rb#201 + sig { params(snapshots: T::Array[::Spoom::Coverage::Snapshot], title: ::String).void } + def initialize(snapshots:, title: T.unsafe(nil)); end +end + +# source://spoom//lib/spoom/coverage/d3/base.rb#6 +module Spoom::Coverage::D3 + class << self + # : (ColorPalette palette) -> String + # + # source://spoom//lib/spoom/coverage/d3.rb#59 + sig { params(palette: ::Spoom::Coverage::D3::ColorPalette).returns(::String) } + def header_script(palette); end + + # : -> String + # + # source://spoom//lib/spoom/coverage/d3.rb#19 + sig { returns(::String) } + def header_style; end + end +end + +# @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below. +# +# source://spoom//lib/spoom/coverage/d3/base.rb#7 +class Spoom::Coverage::D3::Base + abstract! + + # : (String id, untyped data) -> void + # + # @return [Base] a new instance of Base + # + # source://spoom//lib/spoom/coverage/d3/base.rb#17 + sig { params(id: ::String, data: T.untyped).void } + def initialize(id, data); end + + # : -> String + # + # source://spoom//lib/spoom/coverage/d3/base.rb#35 + sig { returns(::String) } + def html; end + + # : String + # + # source://spoom//lib/spoom/coverage/d3/base.rb#14 + sig { returns(::String) } + def id; end + + # @abstract + # + # source://spoom//lib/spoom/coverage/d3/base.rb#48 + sig { abstract.returns(::String) } + def script; end + + # : -> String + # + # source://spoom//lib/spoom/coverage/d3/base.rb#43 + sig { returns(::String) } + def tooltip; end + + class << self + # : -> String + # + # source://spoom//lib/spoom/coverage/d3/base.rb#29 + sig { returns(::String) } + def header_script; end + + # : -> String + # + # source://spoom//lib/spoom/coverage/d3/base.rb#24 + sig { returns(::String) } + def header_style; end + end +end + +# source://spoom//lib/spoom/coverage/d3.rb#12 +Spoom::Coverage::D3::COLOR_FALSE = T.let(T.unsafe(nil), String) + +# source://spoom//lib/spoom/coverage/d3.rb#11 +Spoom::Coverage::D3::COLOR_IGNORE = T.let(T.unsafe(nil), String) + +# source://spoom//lib/spoom/coverage/d3.rb#14 +Spoom::Coverage::D3::COLOR_STRICT = T.let(T.unsafe(nil), String) + +# source://spoom//lib/spoom/coverage/d3.rb#15 +Spoom::Coverage::D3::COLOR_STRONG = T.let(T.unsafe(nil), String) + +# source://spoom//lib/spoom/coverage/d3.rb#13 +Spoom::Coverage::D3::COLOR_TRUE = T.let(T.unsafe(nil), String) + +# source://spoom//lib/spoom/coverage/d3/circle_map.rb#9 +class Spoom::Coverage::D3::CircleMap < ::Spoom::Coverage::D3::Base + # : -> String + # + # source://spoom//lib/spoom/coverage/d3/circle_map.rb#58 + sig { override.returns(::String) } + def script; end + + class << self + # : -> String + # + # source://spoom//lib/spoom/coverage/d3/circle_map.rb#38 + sig { returns(::String) } + def header_script; end + + # : -> String + # + # source://spoom//lib/spoom/coverage/d3/circle_map.rb#12 + sig { returns(::String) } + def header_style; end + end +end + +# source://spoom//lib/spoom/coverage/d3/circle_map.rb#147 +class Spoom::Coverage::D3::CircleMap::Sigils < ::Spoom::Coverage::D3::CircleMap + # : (String id, FileTree file_tree, Hash[FileTree::Node, String?] nodes_strictnesses, Hash[FileTree::Node, Float] nodes_scores) -> void + # + # @return [Sigils] a new instance of Sigils + # + # source://spoom//lib/spoom/coverage/d3/circle_map.rb#149 + sig do + params( + id: ::String, + file_tree: ::Spoom::FileTree, + nodes_strictnesses: T::Hash[::Spoom::FileTree::Node, T.nilable(::String)], + nodes_scores: T::Hash[::Spoom::FileTree::Node, ::Float] + ).void + end + def initialize(id, file_tree, nodes_strictnesses, nodes_scores); end + + # : (FileTree::Node node) -> Hash[Symbol, untyped] + # + # source://spoom//lib/spoom/coverage/d3/circle_map.rb#156 + sig { params(node: ::Spoom::FileTree::Node).returns(T::Hash[::Symbol, T.untyped]) } + def tree_node_to_json(node); end +end + +# source://spoom//lib/spoom/coverage/d3.rb#101 +class Spoom::Coverage::D3::ColorPalette < ::T::Struct + prop :ignore, ::String + prop :false, ::String + prop :true, ::String + prop :strict, ::String + prop :strong, ::String + + class << self + # source://sorbet-runtime/0.5.11915/lib/types/struct.rb#13 + def inherited(s); end + end +end + +# @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below. +# +# source://spoom//lib/spoom/coverage/d3/pie.rb#9 +class Spoom::Coverage::D3::Pie < ::Spoom::Coverage::D3::Base + abstract! + + # : (String id, String title, untyped data) -> void + # + # @return [Pie] a new instance of Pie + # + # source://spoom//lib/spoom/coverage/d3/pie.rb#15 + sig { params(id: ::String, title: ::String, data: T.untyped).void } + def initialize(id, title, data); end + + # : -> String + # + # source://spoom//lib/spoom/coverage/d3/pie.rb#54 + sig { override.returns(::String) } + def script; end + + class << self + # : -> String + # + # source://spoom//lib/spoom/coverage/d3/pie.rb#40 + sig { returns(::String) } + def header_script; end + + # : -> String + # + # source://spoom//lib/spoom/coverage/d3/pie.rb#22 + sig { returns(::String) } + def header_style; end + end +end + +# source://spoom//lib/spoom/coverage/d3/pie.rb#138 +class Spoom::Coverage::D3::Pie::Calls < ::Spoom::Coverage::D3::Pie + # : (String id, String title, Snapshot snapshot) -> void + # + # @return [Calls] a new instance of Calls + # + # source://spoom//lib/spoom/coverage/d3/pie.rb#140 + sig { params(id: ::String, title: ::String, snapshot: ::Spoom::Coverage::Snapshot).void } + def initialize(id, title, snapshot); end + + # : -> String + # + # source://spoom//lib/spoom/coverage/d3/pie.rb#146 + sig { override.returns(::String) } + def tooltip; end +end + +# source://spoom//lib/spoom/coverage/d3/pie.rb#121 +class Spoom::Coverage::D3::Pie::Sigils < ::Spoom::Coverage::D3::Pie + # : (String id, String title, Snapshot snapshot) -> void + # + # @return [Sigils] a new instance of Sigils + # + # source://spoom//lib/spoom/coverage/d3/pie.rb#123 + sig { params(id: ::String, title: ::String, snapshot: ::Spoom::Coverage::Snapshot).void } + def initialize(id, title, snapshot); end + + # : -> String + # + # source://spoom//lib/spoom/coverage/d3/pie.rb#129 + sig { override.returns(::String) } + def tooltip; end +end + +# source://spoom//lib/spoom/coverage/d3/pie.rb#155 +class Spoom::Coverage::D3::Pie::Sigs < ::Spoom::Coverage::D3::Pie + # : (String id, String title, Snapshot snapshot) -> void + # + # @return [Sigs] a new instance of Sigs + # + # source://spoom//lib/spoom/coverage/d3/pie.rb#157 + sig { params(id: ::String, title: ::String, snapshot: ::Spoom::Coverage::Snapshot).void } + def initialize(id, title, snapshot); end + + # : -> String + # + # source://spoom//lib/spoom/coverage/d3/pie.rb#167 + sig { override.returns(::String) } + def tooltip; end +end + +# @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below. +# +# source://spoom//lib/spoom/coverage/d3/timeline.rb#9 +class Spoom::Coverage::D3::Timeline < ::Spoom::Coverage::D3::Base + abstract! + + # : (String id, untyped data, Array[String] keys) -> void + # + # @return [Timeline] a new instance of Timeline + # + # source://spoom//lib/spoom/coverage/d3/timeline.rb#15 + sig { params(id: ::String, data: T.untyped, keys: T::Array[::String]).void } + def initialize(id, data, keys); end + + # : (y: String, ?color: String, ?curve: String) -> String + # + # source://spoom//lib/spoom/coverage/d3/timeline.rb#185 + sig { params(y: ::String, color: ::String, curve: ::String).returns(::String) } + def area(y:, color: T.unsafe(nil), curve: T.unsafe(nil)); end + + # : (y: String, ?color: String, ?curve: String) -> String + # + # source://spoom//lib/spoom/coverage/d3/timeline.rb#201 + sig { params(y: ::String, color: ::String, curve: ::String).returns(::String) } + def line(y:, color: T.unsafe(nil), curve: T.unsafe(nil)); end + + # @abstract + # + # source://spoom//lib/spoom/coverage/d3/timeline.rb#124 + sig { abstract.returns(::String) } + def plot; end + + # : (y: String) -> String + # + # source://spoom//lib/spoom/coverage/d3/timeline.rb#215 + sig { params(y: ::String).returns(::String) } + def points(y:); end + + # : -> String + # + # source://spoom//lib/spoom/coverage/d3/timeline.rb#99 + sig { override.returns(::String) } + def script; end + + # : -> String + # + # source://spoom//lib/spoom/coverage/d3/timeline.rb#127 + sig { returns(::String) } + def x_scale; end + + # : -> String + # + # source://spoom//lib/spoom/coverage/d3/timeline.rb#143 + sig { returns(::String) } + def x_ticks; end + + # : (min: String, max: String, ticks: String) -> String + # + # source://spoom//lib/spoom/coverage/d3/timeline.rb#156 + sig { params(min: ::String, max: ::String, ticks: ::String).returns(::String) } + def y_scale(min:, max:, ticks:); end + + # : (ticks: String, format: String, padding: Integer) -> String + # + # source://spoom//lib/spoom/coverage/d3/timeline.rb#172 + sig { params(ticks: ::String, format: ::String, padding: ::Integer).returns(::String) } + def y_ticks(ticks:, format:, padding:); end + + class << self + # : -> String + # + # source://spoom//lib/spoom/coverage/d3/timeline.rb#76 + sig { returns(::String) } + def header_script; end + + # : -> String + # + # source://spoom//lib/spoom/coverage/d3/timeline.rb#22 + sig { returns(::String) } + def header_style; end + end +end + +# source://spoom//lib/spoom/coverage/d3/timeline.rb#447 +class Spoom::Coverage::D3::Timeline::Calls < ::Spoom::Coverage::D3::Timeline::Stacked + # : (String id, Array[Snapshot] snapshots) -> void + # + # @return [Calls] a new instance of Calls + # + # source://spoom//lib/spoom/coverage/d3/timeline.rb#449 + sig { params(id: ::String, snapshots: T::Array[::Spoom::Coverage::Snapshot]).void } + def initialize(id, snapshots); end + + # : -> String + # + # source://spoom//lib/spoom/coverage/d3/timeline.rb#464 + sig { override.returns(::String) } + def tooltip; end +end + +# source://spoom//lib/spoom/coverage/d3/timeline.rb#502 +class Spoom::Coverage::D3::Timeline::RBIs < ::Spoom::Coverage::D3::Timeline::Stacked + # : (String id, Array[Snapshot] snapshots) -> void + # + # @return [RBIs] a new instance of RBIs + # + # source://spoom//lib/spoom/coverage/d3/timeline.rb#504 + sig { params(id: ::String, snapshots: T::Array[::Spoom::Coverage::Snapshot]).void } + def initialize(id, snapshots); end + + # : (y: String, ?color: String, ?curve: String) -> String + # + # source://spoom//lib/spoom/coverage/d3/timeline.rb#575 + sig { override.params(y: ::String, color: ::String, curve: ::String).returns(::String) } + def line(y:, color: T.unsafe(nil), curve: T.unsafe(nil)); end + + # : -> String + # + # source://spoom//lib/spoom/coverage/d3/timeline.rb#616 + sig { override.returns(::String) } + def plot; end + + # : -> String + # + # source://spoom//lib/spoom/coverage/d3/timeline.rb#534 + sig { override.returns(::String) } + def script; end + + # : -> String + # + # source://spoom//lib/spoom/coverage/d3/timeline.rb#519 + sig { override.returns(::String) } + def tooltip; end +end + +# source://spoom//lib/spoom/coverage/d3/timeline.rb#280 +class Spoom::Coverage::D3::Timeline::Runtimes < ::Spoom::Coverage::D3::Timeline + # : (String id, Array[Snapshot] snapshots) -> void + # + # @return [Runtimes] a new instance of Runtimes + # + # source://spoom//lib/spoom/coverage/d3/timeline.rb#282 + sig { params(id: ::String, snapshots: T::Array[::Spoom::Coverage::Snapshot]).void } + def initialize(id, snapshots); end + + # : -> String + # + # source://spoom//lib/spoom/coverage/d3/timeline.rb#309 + sig { override.returns(::String) } + def plot; end + + # : -> String + # + # source://spoom//lib/spoom/coverage/d3/timeline.rb#295 + sig { override.returns(::String) } + def tooltip; end +end + +# source://spoom//lib/spoom/coverage/d3/timeline.rb#421 +class Spoom::Coverage::D3::Timeline::Sigils < ::Spoom::Coverage::D3::Timeline::Stacked + # : (String id, Array[Snapshot] snapshots) -> void + # + # @return [Sigils] a new instance of Sigils + # + # source://spoom//lib/spoom/coverage/d3/timeline.rb#423 + sig { params(id: ::String, snapshots: T::Array[::Spoom::Coverage::Snapshot]).void } + def initialize(id, snapshots); end + + # : -> String + # + # source://spoom//lib/spoom/coverage/d3/timeline.rb#438 + sig { override.returns(::String) } + def tooltip; end +end + +# source://spoom//lib/spoom/coverage/d3/timeline.rb#473 +class Spoom::Coverage::D3::Timeline::Sigs < ::Spoom::Coverage::D3::Timeline::Stacked + # : (String id, Array[Snapshot] snapshots) -> void + # + # @return [Sigs] a new instance of Sigs + # + # source://spoom//lib/spoom/coverage/d3/timeline.rb#475 + sig { params(id: ::String, snapshots: T::Array[::Spoom::Coverage::Snapshot]).void } + def initialize(id, snapshots); end + + # : -> String + # + # source://spoom//lib/spoom/coverage/d3/timeline.rb#493 + sig { override.returns(::String) } + def tooltip; end +end + +# @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below. +# +# source://spoom//lib/spoom/coverage/d3/timeline.rb#327 +class Spoom::Coverage::D3::Timeline::Stacked < ::Spoom::Coverage::D3::Timeline + abstract! + + # : (y: String, ?color: String, ?curve: String) -> String + # + # source://spoom//lib/spoom/coverage/d3/timeline.rb#388 + sig { override.params(y: ::String, color: ::String, curve: ::String).returns(::String) } + def line(y:, color: T.unsafe(nil), curve: T.unsafe(nil)); end + + # : -> String + # + # source://spoom//lib/spoom/coverage/d3/timeline.rb#376 + sig { override.returns(::String) } + def plot; end + + # : -> String + # + # source://spoom//lib/spoom/coverage/d3/timeline.rb#334 + sig { override.returns(::String) } + def script; end +end + +# source://spoom//lib/spoom/coverage/d3/timeline.rb#230 +class Spoom::Coverage::D3::Timeline::Versions < ::Spoom::Coverage::D3::Timeline + # : (String id, Array[Snapshot] snapshots) -> void + # + # @return [Versions] a new instance of Versions + # + # source://spoom//lib/spoom/coverage/d3/timeline.rb#232 + sig { params(id: ::String, snapshots: T::Array[::Spoom::Coverage::Snapshot]).void } + def initialize(id, snapshots); end + + # : -> String + # + # source://spoom//lib/spoom/coverage/d3/timeline.rb#261 + sig { override.returns(::String) } + def plot; end + + # : -> String + # + # source://spoom//lib/spoom/coverage/d3/timeline.rb#246 + sig { override.returns(::String) } + def tooltip; end +end + +# @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below. +# +# source://spoom//lib/spoom/coverage/report.rb#37 +class Spoom::Coverage::Page < ::Spoom::Coverage::Template + abstract! + + # : (title: String, palette: D3::ColorPalette, ?template: String) -> void + # + # @return [Page] a new instance of Page + # + # source://spoom//lib/spoom/coverage/report.rb#52 + sig { params(title: ::String, palette: ::Spoom::Coverage::D3::ColorPalette, template: ::String).void } + def initialize(title:, palette:, template: T.unsafe(nil)); end + + # : -> String + # + # source://spoom//lib/spoom/coverage/report.rb#74 + sig { returns(::String) } + def body_html; end + + # @abstract + # + # source://spoom//lib/spoom/coverage/report.rb#79 + sig { abstract.returns(T::Array[::Spoom::Coverage::Cards::Card]) } + def cards; end + + # : -> String + # + # source://spoom//lib/spoom/coverage/report.rb#82 + sig { returns(::String) } + def footer_html; end + + # : -> String + # + # source://spoom//lib/spoom/coverage/report.rb#69 + sig { returns(::String) } + def header_html; end + + # : -> String + # + # source://spoom//lib/spoom/coverage/report.rb#64 + sig { returns(::String) } + def header_script; end + + # : -> String + # + # source://spoom//lib/spoom/coverage/report.rb#59 + sig { returns(::String) } + def header_style; end + + # : D3::ColorPalette + # + # source://spoom//lib/spoom/coverage/report.rb#49 + sig { returns(::Spoom::Coverage::D3::ColorPalette) } + def palette; end + + # : String + # + # source://spoom//lib/spoom/coverage/report.rb#46 + sig { returns(::String) } + def title; end +end + +# source://spoom//lib/spoom/coverage/report.rb#43 +Spoom::Coverage::Page::TEMPLATE = T.let(T.unsafe(nil), String) + +# source://spoom//lib/spoom/coverage/report.rb#234 +class Spoom::Coverage::Report < ::Spoom::Coverage::Page + # : (project_name: String, palette: D3::ColorPalette, snapshots: Array[Snapshot], file_tree: FileTree, nodes_strictnesses: Hash[FileTree::Node, String?], nodes_strictness_scores: Hash[FileTree::Node, Float], ?sorbet_intro_commit: String?, ?sorbet_intro_date: Time?) -> void + # + # @return [Report] a new instance of Report + # + # source://spoom//lib/spoom/coverage/report.rb#236 + sig do + params( + project_name: ::String, + palette: ::Spoom::Coverage::D3::ColorPalette, + snapshots: T::Array[::Spoom::Coverage::Snapshot], + file_tree: ::Spoom::FileTree, + nodes_strictnesses: T::Hash[::Spoom::FileTree::Node, T.nilable(::String)], + nodes_strictness_scores: T::Hash[::Spoom::FileTree::Node, ::Float], + sorbet_intro_commit: T.nilable(::String), + sorbet_intro_date: T.nilable(::Time) + ).void + end + def initialize(project_name:, palette:, snapshots:, file_tree:, nodes_strictnesses:, nodes_strictness_scores:, sorbet_intro_commit: T.unsafe(nil), sorbet_intro_date: T.unsafe(nil)); end + + # : -> Array[Cards::Card] + # + # source://spoom//lib/spoom/coverage/report.rb#270 + sig { override.returns(T::Array[::Spoom::Coverage::Cards::Card]) } + def cards; end + + # : -> String + # + # source://spoom//lib/spoom/coverage/report.rb#258 + sig { override.returns(::String) } + def header_html; end +end + +# source://spoom//lib/spoom/coverage/snapshot.rb#6 +class Spoom::Coverage::Snapshot < ::T::Struct + prop :timestamp, ::Integer, default: T.unsafe(nil) + prop :version_static, T.nilable(::String), default: T.unsafe(nil) + prop :version_runtime, T.nilable(::String), default: T.unsafe(nil) + prop :duration, ::Integer, default: T.unsafe(nil) + prop :commit_sha, T.nilable(::String), default: T.unsafe(nil) + prop :commit_timestamp, T.nilable(::Integer), default: T.unsafe(nil) + prop :files, ::Integer, default: T.unsafe(nil) + prop :rbi_files, ::Integer, default: T.unsafe(nil) + prop :modules, ::Integer, default: T.unsafe(nil) + prop :classes, ::Integer, default: T.unsafe(nil) + prop :singleton_classes, ::Integer, default: T.unsafe(nil) + prop :methods_without_sig, ::Integer, default: T.unsafe(nil) + prop :methods_with_sig, ::Integer, default: T.unsafe(nil) + prop :calls_untyped, ::Integer, default: T.unsafe(nil) + prop :calls_typed, ::Integer, default: T.unsafe(nil) + prop :sigils, T::Hash[::String, ::Integer], default: T.unsafe(nil) + prop :methods_with_sig_excluding_rbis, ::Integer, default: T.unsafe(nil) + prop :methods_without_sig_excluding_rbis, ::Integer, default: T.unsafe(nil) + prop :sigils_excluding_rbis, T::Hash[::String, ::Integer], default: T.unsafe(nil) + + # : (?out: (IO | StringIO), ?colors: bool, ?indent_level: Integer) -> void + # + # source://spoom//lib/spoom/coverage/snapshot.rb#31 + sig { params(out: T.any(::IO, ::StringIO), colors: T::Boolean, indent_level: ::Integer).void } + def print(out: T.unsafe(nil), colors: T.unsafe(nil), indent_level: T.unsafe(nil)); end + + # : (*untyped arg) -> String + # + # source://spoom//lib/spoom/coverage/snapshot.rb#37 + sig { params(arg: T.untyped).returns(::String) } + def to_json(*arg); end + + class << self + # : (String json) -> Snapshot + # + # source://spoom//lib/spoom/coverage/snapshot.rb#43 + sig { params(json: ::String).returns(::Spoom::Coverage::Snapshot) } + def from_json(json); end + + # : (Hash[String, untyped] obj) -> Snapshot + # + # source://spoom//lib/spoom/coverage/snapshot.rb#48 + sig { params(obj: T::Hash[::String, T.untyped]).returns(::Spoom::Coverage::Snapshot) } + def from_obj(obj); end + + # source://sorbet-runtime/0.5.11915/lib/types/struct.rb#13 + def inherited(s); end + end +end + +# The strictness name as found in the Sorbet metrics file +# +# source://spoom//lib/spoom/coverage/snapshot.rb#28 +Spoom::Coverage::Snapshot::STRICTNESSES = T.let(T.unsafe(nil), Array) + +# source://spoom//lib/spoom/coverage/snapshot.rb#91 +class Spoom::Coverage::SnapshotPrinter < ::Spoom::Printer + # : (Snapshot snapshot) -> void + # + # source://spoom//lib/spoom/coverage/snapshot.rb#93 + sig { params(snapshot: ::Spoom::Coverage::Snapshot).void } + def print_snapshot(snapshot); end + + private + + # : (Integer? value, Integer? total) -> String + # + # source://spoom//lib/spoom/coverage/snapshot.rb#152 + sig { params(value: T.nilable(::Integer), total: T.nilable(::Integer)).returns(::String) } + def percent(value, total); end + + # : (Hash[String, Integer] hash, Integer total) -> void + # + # source://spoom//lib/spoom/coverage/snapshot.rb#141 + sig { params(hash: T::Hash[::String, ::Integer], total: ::Integer).void } + def print_map(hash, total); end +end + +# @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below. +# +# source://spoom//lib/spoom/coverage/report.rb#10 +class Spoom::Coverage::Template + abstract! + + # Create a new template from an Erb file path + # : (template: String) -> void + # + # @return [Template] a new instance of Template + # + # source://spoom//lib/spoom/coverage/report.rb#17 + # Create a new template from an Erb file path + sig { params(template: ::String).void } + def initialize(template:); end + + # : -> String + # + # source://spoom//lib/spoom/coverage/report.rb#22 + sig { returns(::String) } + def erb; end + + # : -> Binding + # + # source://spoom//lib/spoom/coverage/report.rb#32 + sig { returns(::Binding) } + def get_binding; end + + # : -> String + # + # source://spoom//lib/spoom/coverage/report.rb#27 + sig { returns(::String) } + def html; end +end + +# source://spoom//lib/spoom/deadcode/erb.rb#27 +module Spoom::Deadcode + class << self + # : (Context context) -> Array[singleton(Plugins::Base)] + # + # source://spoom//lib/spoom/deadcode/plugins.rb#73 + sig { params(context: ::Spoom::Context).returns(T::Array[T.class_of(Spoom::Deadcode::Plugins::Base)]) } + def load_custom_plugins(context); end + + # : (Context context) -> Set[singleton(Plugins::Base)] + # + # source://spoom//lib/spoom/deadcode/plugins.rb#59 + sig { params(context: ::Spoom::Context).returns(T::Set[T.class_of(Spoom::Deadcode::Plugins::Base)]) } + def plugins_from_gemfile_lock(context); end + end +end + +# source://spoom//lib/spoom/deadcode/plugins.rb#26 +Spoom::Deadcode::DEFAULT_CUSTOM_PLUGINS_PATH = T.let(T.unsafe(nil), String) + +# source://spoom//lib/spoom/deadcode/plugins.rb#28 +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::Location + const :status, ::Spoom::Deadcode::Definition::Status, default: T.unsafe(nil) + + # : -> void + # + # source://spoom//lib/spoom/deadcode/definition.rb#76 + sig { void } + def alive!; end + + # : -> bool + # + # @return [Boolean] + # + # source://spoom//lib/spoom/deadcode/definition.rb#71 + # Status + sig { returns(T::Boolean) } + def alive?; end + + # : -> bool + # + # @return [Boolean] + # + # source://spoom//lib/spoom/deadcode/definition.rb#39 + # Kind + sig { returns(T::Boolean) } + def attr_reader?; end + + # : -> bool + # + # @return [Boolean] + # + # source://spoom//lib/spoom/deadcode/definition.rb#44 + sig { returns(T::Boolean) } + def attr_writer?; end + + # : -> bool + # + # @return [Boolean] + # + # source://spoom//lib/spoom/deadcode/definition.rb#49 + sig { returns(T::Boolean) } + def class?; end + + # : -> bool + # + # @return [Boolean] + # + # source://spoom//lib/spoom/deadcode/definition.rb#54 + sig { returns(T::Boolean) } + def constant?; end + + # : -> bool + # + # @return [Boolean] + # + # source://spoom//lib/spoom/deadcode/definition.rb#81 + sig { returns(T::Boolean) } + def dead?; end + + # : -> void + # + # source://spoom//lib/spoom/deadcode/definition.rb#91 + sig { void } + def ignored!; end + + # : -> bool + # + # @return [Boolean] + # + # source://spoom//lib/spoom/deadcode/definition.rb#86 + sig { returns(T::Boolean) } + def ignored?; end + + # : -> bool + # + # @return [Boolean] + # + # source://spoom//lib/spoom/deadcode/definition.rb#59 + sig { returns(T::Boolean) } + def method?; end + + # : -> bool + # + # @return [Boolean] + # + # source://spoom//lib/spoom/deadcode/definition.rb#64 + sig { returns(T::Boolean) } + def module?; end + + # : (*untyped args) -> String + # + # source://spoom//lib/spoom/deadcode/definition.rb#98 + # Utils + sig { params(args: T.untyped).returns(::String) } + def to_json(*args); end + + class << self + # source://sorbet-runtime/0.5.11915/lib/types/struct.rb#13 + def inherited(s); end + end +end + +# source://spoom//lib/spoom/deadcode/definition.rb#8 +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#19 +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 + # : (untyped input, ?untyped properties) -> void + # + # @return [ERB] a new instance of ERB + # + # source://spoom//lib/spoom/deadcode/erb.rb#31 + sig { params(input: T.untyped, properties: T.untyped).void } + def initialize(input, properties = T.unsafe(nil)); end + + private + + # : (untyped code) -> void + # + # source://spoom//lib/spoom/deadcode/erb.rb#84 + sig { override.params(code: T.untyped).void } + def add_code(code); end + + # : (untyped indicator, untyped code) -> void + # + # source://spoom//lib/spoom/deadcode/erb.rb#66 + sig { override.params(indicator: T.untyped, code: T.untyped).void } + def add_expression(indicator, code); end + + # : (untyped _) -> void + # + # source://spoom//lib/spoom/deadcode/erb.rb#91 + sig { override.params(_: T.untyped).void } + def add_postamble(_); end + + # : (untyped text) -> void + # + # source://spoom//lib/spoom/deadcode/erb.rb#47 + sig { override.params(text: T.untyped).void } + def add_text(text); end + + # : (untyped src) -> void + # + # source://spoom//lib/spoom/deadcode/erb.rb#97 + sig { params(src: T.untyped).void } + def flush_newline_if_pending(src); end +end + +# source://spoom//lib/spoom/deadcode/erb.rb#62 +Spoom::Deadcode::ERB::BLOCK_EXPR = T.let(T.unsafe(nil), Regexp) + +# source://spoom//lib/spoom/deadcode/index.rb#6 +class Spoom::Deadcode::Index + # : (Model model) -> void + # + # @return [Index] a new instance of Index + # + # source://spoom//lib/spoom/deadcode/index.rb#25 + sig { params(model: ::Spoom::Model).void } + def initialize(model); end + + # : -> Array[Definition] + # + # source://spoom//lib/spoom/deadcode/index.rb#215 + sig { returns(T::Array[::Spoom::Deadcode::Definition]) } + def all_definitions; end + + # : -> Array[Model::Reference] + # + # source://spoom//lib/spoom/deadcode/index.rb#220 + sig { returns(T::Array[::Spoom::Model::Reference]) } + def all_references; end + + # : (Array[Plugins::Base] plugins) -> void + # + # source://spoom//lib/spoom/deadcode/index.rb#95 + sig { params(plugins: T::Array[::Spoom::Deadcode::Plugins::Base]).void } + def apply_plugins!(plugins); end + + # : (Definition definition) -> void + # + # source://spoom//lib/spoom/deadcode/index.rb#75 + sig { params(definition: ::Spoom::Deadcode::Definition).void } + def define(definition); end + + # : Hash[String, Array[Definition]] + # + # source://spoom//lib/spoom/deadcode/index.rb#19 + sig { returns(T::Hash[::String, T::Array[::Spoom::Deadcode::Definition]]) } + def definitions; end + + # : (String name) -> Array[Definition] + # + # source://spoom//lib/spoom/deadcode/index.rb#210 + # Utils + 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. + # : -> void + # + # source://spoom//lib/spoom/deadcode/index.rb#118 + # 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. + sig { void } + def finalize!; end + + # : (Model::SymbolDef symbol_def) -> void + # + # source://spoom//lib/spoom/deadcode/index.rb#90 + sig { params(symbol_def: ::Spoom::Model::SymbolDef).void } + def ignore(symbol_def); end + + # : (String erb, file: String, ?plugins: Array[Plugins::Base]) -> void + # + # source://spoom//lib/spoom/deadcode/index.rb#46 + sig { params(erb: ::String, file: ::String, plugins: T::Array[::Spoom::Deadcode::Plugins::Base]).void } + def index_erb(erb, file:, plugins: T.unsafe(nil)); end + + # : (String file, ?plugins: Array[Plugins::Base]) -> void + # + # source://spoom//lib/spoom/deadcode/index.rb#35 + # Indexing + sig { params(file: ::String, plugins: T::Array[::Spoom::Deadcode::Plugins::Base]).void } + def index_file(file, plugins: T.unsafe(nil)); end + + # : (String rb, file: String, ?plugins: Array[Plugins::Base]) -> void + # + # source://spoom//lib/spoom/deadcode/index.rb#51 + sig { params(rb: ::String, file: ::String, plugins: T::Array[::Spoom::Deadcode::Plugins::Base]).void } + def index_ruby(rb, file:, plugins: T.unsafe(nil)); end + + # : Model + # + # source://spoom//lib/spoom/deadcode/index.rb#16 + sig { returns(::Spoom::Model) } + def model; end + + # : (String name, Location location) -> void + # + # source://spoom//lib/spoom/deadcode/index.rb#80 + sig { params(name: ::String, location: ::Spoom::Location).void } + def reference_constant(name, location); end + + # : (String name, Location location) -> void + # + # source://spoom//lib/spoom/deadcode/index.rb#85 + sig { params(name: ::String, location: ::Spoom::Location).void } + def reference_method(name, location); end + + # : Hash[String, Array[Model::Reference]] + # + # source://spoom//lib/spoom/deadcode/index.rb#22 + sig { returns(T::Hash[::String, T::Array[::Spoom::Model::Reference]]) } + def references; end +end + +# source://spoom//lib/spoom/deadcode/index.rb#7 +class Spoom::Deadcode::Index::Error < ::Spoom::Error + # : (String message, parent: Exception) -> void + # + # @return [Error] a new instance of Error + # + # source://spoom//lib/spoom/deadcode/index.rb#9 + sig { params(message: ::String, parent: ::Exception).void } + def initialize(message, parent:); end +end + +# source://spoom//lib/spoom/deadcode/indexer.rb#6 +class Spoom::Deadcode::Indexer < ::Spoom::Visitor + # : (String path, Index index, ?plugins: Array[Plugins::Base]) -> void + # + # @return [Indexer] a new instance of Indexer + # + # source://spoom//lib/spoom/deadcode/indexer.rb#14 + sig do + params( + path: ::String, + index: ::Spoom::Deadcode::Index, + plugins: T::Array[::Spoom::Deadcode::Plugins::Base] + ).void + end + def initialize(path, index, plugins: T.unsafe(nil)); end + + # : Index + # + # source://spoom//lib/spoom/deadcode/indexer.rb#11 + sig { returns(::Spoom::Deadcode::Index) } + def index; end + + # : String + # + # source://spoom//lib/spoom/deadcode/indexer.rb#8 + sig { returns(::String) } + def path; end + + # : (Prism::CallNode node) -> void + # + # source://spoom//lib/spoom/deadcode/indexer.rb#26 + sig { override.params(node: ::Prism::CallNode).void } + def visit_call_node(node); end +end + +# source://spoom//lib/spoom/deadcode/plugins.rb#36 +Spoom::Deadcode::PLUGINS_FOR_GEM = T.let(T.unsafe(nil), Hash) + +# 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 + # : (Send send) -> void + # + # source://spoom//lib/spoom/deadcode/plugins/action_mailer.rb#10 + sig { override.params(send: ::Spoom::Deadcode::Send).void } + def on_send(send); end +end + +# source://spoom//lib/spoom/deadcode/plugins/action_mailer_preview.rb#7 +class Spoom::Deadcode::Plugins::ActionMailerPreview < ::Spoom::Deadcode::Plugins::Base + # : (Model::Method definition) -> void + # + # source://spoom//lib/spoom/deadcode/plugins/action_mailer_preview.rb#12 + sig { override.params(definition: ::Spoom::Model::Method).void } + def on_define_method(definition); end +end + +# source://spoom//lib/spoom/deadcode/plugins/actionpack.rb#7 +class Spoom::Deadcode::Plugins::ActionPack < ::Spoom::Deadcode::Plugins::Base + # : (Model::Method definition) -> void + # + # source://spoom//lib/spoom/deadcode/plugins/actionpack.rb#30 + sig { override.params(definition: ::Spoom::Model::Method).void } + def on_define_method(definition); end + + # : (Send send) -> void + # + # source://spoom//lib/spoom/deadcode/plugins/actionpack.rb#39 + sig { override.params(send: ::Spoom::Deadcode::Send).void } + def on_send(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 + # : (Send send) -> void + # + # source://spoom//lib/spoom/deadcode/plugins/active_model.rb#13 + sig { override.params(send: ::Spoom::Deadcode::Send).void } + def on_send(send); end +end + +# source://spoom//lib/spoom/deadcode/plugins/active_record.rb#7 +class Spoom::Deadcode::Plugins::ActiveRecord < ::Spoom::Deadcode::Plugins::Base + # : (Send send) -> void + # + # source://spoom//lib/spoom/deadcode/plugins/active_record.rb#73 + sig { override.params(send: ::Spoom::Deadcode::Send).void } + def on_send(send); end +end + +# source://spoom//lib/spoom/deadcode/plugins/active_record.rb#62 +Spoom::Deadcode::Plugins::ActiveRecord::ARRAY_METHODS = T.let(T.unsafe(nil), Array) + +# source://spoom//lib/spoom/deadcode/plugins/active_record.rb#18 +Spoom::Deadcode::Plugins::ActiveRecord::CALLBACKS = T.let(T.unsafe(nil), Array) + +# source://spoom//lib/spoom/deadcode/plugins/active_record.rb#47 +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 + # : (Send send) -> void + # + # source://spoom//lib/spoom/deadcode/plugins/active_support.rb#23 + sig { override.params(send: ::Spoom::Deadcode::Send).void } + def on_send(send); end +end + +# source://spoom//lib/spoom/deadcode/plugins/active_support.rb#19 +Spoom::Deadcode::Plugins::ActiveSupport::SETUP_AND_TEARDOWN_METHODS = T.let(T.unsafe(nil), Array) + +# @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! + + # : (Index index) -> void + # + # @return [Base] a new instance of Base + # + # source://spoom//lib/spoom/deadcode/plugins/base.rb#129 + sig { params(index: ::Spoom::Deadcode::Index).void } + def initialize(index); end + + # : Index + # + # source://spoom//lib/spoom/deadcode/plugins/base.rb#126 + sig { returns(::Spoom::Deadcode::Index) } + def index; end + + # Do not override this method, use `on_define_accessor` instead. + # : (Model::Attr definition) -> void + # + # source://spoom//lib/spoom/deadcode/plugins/base.rb#155 + # Do not override this method, use `on_define_accessor` instead. + sig { params(definition: ::Spoom::Model::Attr).void } + def internal_on_define_accessor(definition); end + + # Do not override this method, use `on_define_class` instead. + # : (Model::Class definition) -> void + # + # source://spoom//lib/spoom/deadcode/plugins/base.rb#179 + # Do not override this method, use `on_define_class` instead. + sig { params(definition: ::Spoom::Model::Class).void } + def internal_on_define_class(definition); end + + # Do not override this method, use `on_define_constant` instead. + # : (Model::Constant definition) -> void + # + # source://spoom//lib/spoom/deadcode/plugins/base.rb#209 + # Do not override this method, use `on_define_constant` instead. + sig { params(definition: ::Spoom::Model::Constant).void } + def internal_on_define_constant(definition); end + + # Do not override this method, use `on_define_method` instead. + # : (Model::Method definition) -> void + # + # source://spoom//lib/spoom/deadcode/plugins/base.rb#235 + # Do not override this method, use `on_define_method` instead. + sig { params(definition: ::Spoom::Model::Method).void } + def internal_on_define_method(definition); end + + # Do not override this method, use `on_define_module` instead. + # : (Model::Module definition) -> void + # + # source://spoom//lib/spoom/deadcode/plugins/base.rb#261 + # Do not override this method, use `on_define_module` instead. + sig { params(definition: ::Spoom::Model::Module).void } + def internal_on_define_module(definition); 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(definition) + # @index.ignore(definition) if symbol_def.name == "foo" + # end + # end + # ~~~ + # : (Model::Attr definition) -> void + # + # source://spoom//lib/spoom/deadcode/plugins/base.rb#149 + # 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(definition) + # @index.ignore(definition) if symbol_def.name == "foo" + # end + # end + # ~~~ + sig { params(definition: ::Spoom::Model::Attr).void } + def on_define_accessor(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(definition) + # @index.ignore(definition) if definition.name == "Foo" + # end + # end + # ~~~ + # : (Model::Class definition) -> void + # + # source://spoom//lib/spoom/deadcode/plugins/base.rb#173 + # 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(definition) + # @index.ignore(definition) if definition.name == "Foo" + # end + # end + # ~~~ + sig { params(definition: ::Spoom::Model::Class).void } + def on_define_class(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(definition) + # @index.ignore(definition) if definition.name == "FOO" + # end + # end + # ~~~ + # : (Model::Constant definition) -> void + # + # source://spoom//lib/spoom/deadcode/plugins/base.rb#203 + # 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(definition) + # @index.ignore(definition) if definition.name == "FOO" + # end + # end + # ~~~ + sig { params(definition: ::Spoom::Model::Constant).void } + def on_define_constant(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(definition) + # @index.ignore(definition) if definition.name == "foo" + # end + # end + # ~~~ + # : (Model::Method definition) -> void + # + # source://spoom//lib/spoom/deadcode/plugins/base.rb#229 + # 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(definition) + # @index.ignore(definition) if definition.name == "foo" + # end + # end + # ~~~ + sig { params(definition: ::Spoom::Model::Method).void } + def on_define_method(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(definition) + # @index.ignore(definition) if definition.name == "Foo" + # end + # end + # ~~~ + # : (Model::Module definition) -> void + # + # source://spoom//lib/spoom/deadcode/plugins/base.rb#255 + # 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(definition) + # @index.ignore(definition) if definition.name == "Foo" + # end + # end + # ~~~ + sig { params(definition: ::Spoom::Model::Module).void } + def on_define_module(definition); end + + # Called when a send is being processed + # + # ~~~rb + # class MyPlugin < Spoom::Deadcode::Plugins::Base + # def on_send(send) + # return unless send.name == "dsl_method" + # return if send.args.empty? + # + # method_name = send.args.first.slice.delete_prefix(":") + # @index.reference_method(method_name, send.node, send.loc) + # end + # end + # ~~~ + # : (Send send) -> void + # + # source://spoom//lib/spoom/deadcode/plugins/base.rb#281 + # Called when a send is being processed + # ~~~rb + # class MyPlugin < Spoom::Deadcode::Plugins::Base + # def on_send(send) + # return unless send.name == "dsl_method" + # return if send.args.empty? + # method_name = send.args.first.slice.delete_prefix(":") + # @index.reference_method(method_name, send.node, send.loc) + # end + # end + # ~~~ + sig { params(send: ::Spoom::Deadcode::Send).void } + def on_send(send); end + + private + + # : (String name) -> String + # + # source://spoom//lib/spoom/deadcode/plugins/base.rb#349 + # Plugin utils + sig { params(name: ::String).returns(::String) } + def camelize(name); end + + # : (String? name) -> bool + # + # @return [Boolean] + # + # source://spoom//lib/spoom/deadcode/plugins/base.rb#298 + sig { params(name: T.nilable(::String)).returns(T::Boolean) } + def ignored_class_name?(name); end + + # : (String name) -> bool + # + # @return [Boolean] + # + # source://spoom//lib/spoom/deadcode/plugins/base.rb#317 + sig { params(name: ::String).returns(T::Boolean) } + def ignored_constant_name?(name); end + + # : (String name) -> bool + # + # @return [Boolean] + # + # source://spoom//lib/spoom/deadcode/plugins/base.rb#322 + sig { params(name: ::String).returns(T::Boolean) } + def ignored_method_name?(name); end + + # : (String name) -> bool + # + # @return [Boolean] + # + # source://spoom//lib/spoom/deadcode/plugins/base.rb#327 + sig { params(name: ::String).returns(T::Boolean) } + def ignored_module_name?(name); end + + # : (String name, Symbol names_variable, Symbol patterns_variable) -> bool + # + # @return [Boolean] + # + # source://spoom//lib/spoom/deadcode/plugins/base.rb#332 + sig { params(name: ::String, names_variable: ::Symbol, patterns_variable: ::Symbol).returns(T::Boolean) } + def ignored_name?(name, names_variable, patterns_variable); end + + # : (Model::Class definition) -> bool + # + # @return [Boolean] + # + # source://spoom//lib/spoom/deadcode/plugins/base.rb#305 + sig { params(definition: ::Spoom::Model::Class).returns(T::Boolean) } + def ignored_subclass?(definition); end + + # : (Symbol const) -> Set[String] + # + # source://spoom//lib/spoom/deadcode/plugins/base.rb#337 + sig { params(const: ::Symbol).returns(T::Set[::String]) } + def names(const); end + + # : (Symbol const) -> Array[Regexp] + # + # source://spoom//lib/spoom/deadcode/plugins/base.rb#342 + sig { params(const: ::Symbol).returns(T::Array[::Regexp]) } + def patterns(const); end + + # : (Model::Namespace definition, String superclass_name) -> bool + # + # @return [Boolean] + # + # source://spoom//lib/spoom/deadcode/plugins/base.rb#290 + # DSL support + sig { params(definition: ::Spoom::Model::Namespace, superclass_name: ::String).returns(T::Boolean) } + def subclass_of?(definition, superclass_name); end + + class << self + # 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 + # ~~~ + # : (*(String | Regexp) names) -> void + # + # source://spoom//lib/spoom/deadcode/plugins/base.rb#49 + # 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 + # ~~~ + 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 + # ~~~ + # : (*(String | Regexp) names) -> void + # + # source://spoom//lib/spoom/deadcode/plugins/base.rb#31 + # 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 + # ~~~ + 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 + # ~~~ + # : (*(String | Regexp) names) -> void + # + # source://spoom//lib/spoom/deadcode/plugins/base.rb#67 + # 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 + # ~~~ + 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 + # ~~~ + # : (*(String | Regexp) names) -> void + # + # source://spoom//lib/spoom/deadcode/plugins/base.rb#85 + # 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 + # ~~~ + 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 + # ~~~ + # : (*(String | Regexp) names) -> void + # + # source://spoom//lib/spoom/deadcode/plugins/base.rb#103 + # 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 + # ~~~ + sig { params(names: T.any(::Regexp, ::String)).void } + def ignore_modules_named(*names); end + + private + + # : (Array[(String | Regexp)] names, Symbol names_variable, Symbol patterns_variable) -> void + # + # source://spoom//lib/spoom/deadcode/plugins/base.rb#110 + 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 + # : (Send send) -> void + # + # source://spoom//lib/spoom/deadcode/plugins/graphql.rb#27 + sig { override.params(send: ::Spoom::Deadcode::Send).void } + def on_send(send); end +end + +# source://spoom//lib/spoom/deadcode/plugins/minitest.rb#7 +class Spoom::Deadcode::Plugins::Minitest < ::Spoom::Deadcode::Plugins::Base + # : (Model::Method definition) -> void + # + # source://spoom//lib/spoom/deadcode/plugins/minitest.rb#21 + sig { override.params(definition: ::Spoom::Model::Method).void } + def on_define_method(definition); end + + # : (Send send) -> void + # + # source://spoom//lib/spoom/deadcode/plugins/minitest.rb#28 + sig { override.params(send: ::Spoom::Deadcode::Send).void } + def on_send(send); end +end + +# source://spoom//lib/spoom/deadcode/plugins/namespaces.rb#7 +class Spoom::Deadcode::Plugins::Namespaces < ::Spoom::Deadcode::Plugins::Base + # : (Model::Class definition) -> void + # + # source://spoom//lib/spoom/deadcode/plugins/namespaces.rb#10 + sig { override.params(definition: ::Spoom::Model::Class).void } + def on_define_class(definition); end + + # : (Model::Module definition) -> void + # + # source://spoom//lib/spoom/deadcode/plugins/namespaces.rb#16 + sig { override.params(definition: ::Spoom::Model::Module).void } + def on_define_module(definition); end + + private + + # : (Model::Namespace symbol_def) -> bool + # + # @return [Boolean] + # + # source://spoom//lib/spoom/deadcode/plugins/namespaces.rb#23 + sig { params(symbol_def: ::Spoom::Model::Namespace).returns(T::Boolean) } + def used_as_namespace?(symbol_def); 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 + # : (Model::Class definition) -> void + # + # source://spoom//lib/spoom/deadcode/plugins/rails.rb#12 + sig { override.params(definition: ::Spoom::Model::Class).void } + def on_define_class(definition); end + + # : (Model::Module definition) -> void + # + # source://spoom//lib/spoom/deadcode/plugins/rails.rb#18 + sig { override.params(definition: ::Spoom::Model::Module).void } + def on_define_module(definition); end + + private + + # : (Model::Namespace symbol_def) -> bool + # + # @return [Boolean] + # + # source://spoom//lib/spoom/deadcode/plugins/rails.rb#25 + sig { params(symbol_def: ::Spoom::Model::Namespace).returns(T::Boolean) } + def file_is_helper?(symbol_def); 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 + # : (Model::Constant definition) -> void + # + # source://spoom//lib/spoom/deadcode/plugins/rubocop.rb#17 + sig { override.params(definition: ::Spoom::Model::Constant).void } + def on_define_constant(definition); end + + # : (Model::Method definition) -> void + # + # source://spoom//lib/spoom/deadcode/plugins/rubocop.rb#26 + sig { override.params(definition: ::Spoom::Model::Method).void } + def on_define_method(definition); end +end + +# source://spoom//lib/spoom/deadcode/plugins/rubocop.rb#8 +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 + # : (Send send) -> void + # + # source://spoom//lib/spoom/deadcode/plugins/ruby.rb#23 + sig { override.params(send: ::Spoom::Deadcode::Send).void } + def on_send(send); end + + private + + # : (Send send, Prism::Node node) -> void + # + # source://spoom//lib/spoom/deadcode/plugins/ruby.rb#45 + sig { params(send: ::Spoom::Deadcode::Send, node: ::Prism::Node).void } + def reference_symbol_as_constant(send, node); end +end + +# source://spoom//lib/spoom/deadcode/plugins/sorbet.rb#7 +class Spoom::Deadcode::Plugins::Sorbet < ::Spoom::Deadcode::Plugins::Base + # : (Model::Constant definition) -> void + # + # source://spoom//lib/spoom/deadcode/plugins/sorbet.rb#10 + sig { override.params(definition: ::Spoom::Model::Constant).void } + def on_define_constant(definition); end + + # : (Model::Method definition) -> void + # + # source://spoom//lib/spoom/deadcode/plugins/sorbet.rb#16 + sig { override.params(definition: ::Spoom::Model::Method).void } + def on_define_method(definition); end + + private + + # : (Model::Constant definition) -> bool + # + # @return [Boolean] + # + # source://spoom//lib/spoom/deadcode/plugins/sorbet.rb#34 + sig { params(definition: ::Spoom::Model::Constant).returns(T::Boolean) } + def sorbet_enum_constant?(definition); end + + # : (Model::Constant definition) -> bool + # + # @return [Boolean] + # + # source://spoom//lib/spoom/deadcode/plugins/sorbet.rb#29 + sig { params(definition: ::Spoom::Model::Constant).returns(T::Boolean) } + def sorbet_type_member?(definition); end +end + +# source://spoom//lib/spoom/deadcode/plugins/thor.rb#7 +class Spoom::Deadcode::Plugins::Thor < ::Spoom::Deadcode::Plugins::Base + # : (Model::Method definition) -> void + # + # source://spoom//lib/spoom/deadcode/plugins/thor.rb#12 + sig { override.params(definition: ::Spoom::Model::Method).void } + def on_define_method(definition); end +end + +# source://spoom//lib/spoom/deadcode/remover.rb#6 +class Spoom::Deadcode::Remover + # : (Context context) -> void + # + # @return [Remover] a new instance of Remover + # + # source://spoom//lib/spoom/deadcode/remover.rb#10 + sig { params(context: ::Spoom::Context).void } + def initialize(context); end + + # : (Definition::Kind? kind, Location location) -> String + # + # source://spoom//lib/spoom/deadcode/remover.rb#15 + sig { params(kind: T.nilable(::Spoom::Deadcode::Definition::Kind), location: ::Spoom::Location).returns(::String) } + def remove_location(kind, location); end +end + +# source://spoom//lib/spoom/deadcode/remover.rb#7 +class Spoom::Deadcode::Remover::Error < ::Spoom::Error; end + +# source://spoom//lib/spoom/deadcode/remover.rb#362 +class Spoom::Deadcode::Remover::NodeContext + # : (String source, Hash[Integer, Prism::Comment] comments, Prism::Node node, Array[Prism::Node] nesting) -> void + # + # @return [NodeContext] a new instance of NodeContext + # + # source://spoom//lib/spoom/deadcode/remover.rb#373 + sig do + params( + source: ::String, + comments: T::Hash[::Integer, ::Prism::Comment], + node: ::Prism::Node, + nesting: T::Array[::Prism::Node] + ).void + end + def initialize(source, comments, node, nesting); end + + # : (Prism::Node node) -> Array[Prism::Comment] + # + # source://spoom//lib/spoom/deadcode/remover.rb#487 + sig { params(node: ::Prism::Node).returns(T::Array[::Prism::Comment]) } + def attached_comments(node); end + + # : -> Prism::CallNode? + # + # source://spoom//lib/spoom/deadcode/remover.rb#515 + sig { returns(T.nilable(::Prism::CallNode)) } + def attached_sig; end + + # : -> Array[Prism::Node] + # + # source://spoom//lib/spoom/deadcode/remover.rb#502 + sig { returns(T::Array[::Prism::Node]) } + def attached_sigs; end + + # : Hash[Integer, Prism::Comment] + # + # source://spoom//lib/spoom/deadcode/remover.rb#364 + sig { returns(T::Hash[::Integer, ::Prism::Comment]) } + def comments; end + + # : (Integer start_line, Integer end_line) -> Array[Prism::Comment] + # + # source://spoom//lib/spoom/deadcode/remover.rb#475 + sig { params(start_line: ::Integer, end_line: ::Integer).returns(T::Array[::Prism::Comment]) } + def comments_between_lines(start_line, end_line); end + + # : Array[Prism::Node] + # + # source://spoom//lib/spoom/deadcode/remover.rb#370 + sig { returns(T::Array[::Prism::Node]) } + def nesting; end + + # : Array[Prism::Node] + # + # source://spoom//lib/spoom/deadcode/remover.rb#370 + # @return [Array] + def nesting=(_arg0); end + + # : -> Prism::Node? + # + # source://spoom//lib/spoom/deadcode/remover.rb#425 + sig { returns(T.nilable(::Prism::Node)) } + def next_node; end + + # : -> Array[Prism::Node] + # + # @raise [Error] + # + # source://spoom//lib/spoom/deadcode/remover.rb#414 + sig { returns(T::Array[::Prism::Node]) } + def next_nodes; end + + # : Prism::Node + # + # source://spoom//lib/spoom/deadcode/remover.rb#367 + sig { returns(::Prism::Node) } + def node; end + + # : -> NodeContext + # + # @raise [Error] + # + # source://spoom//lib/spoom/deadcode/remover.rb#389 + sig { returns(::Spoom::Deadcode::Remover::NodeContext) } + def parent_context; end + + # : -> Prism::Node + # + # @raise [Error] + # + # source://spoom//lib/spoom/deadcode/remover.rb#381 + sig { returns(::Prism::Node) } + def parent_node; end + + # : -> Prism::Node? + # + # source://spoom//lib/spoom/deadcode/remover.rb#409 + sig { returns(T.nilable(::Prism::Node)) } + def previous_node; end + + # : -> Array[Prism::Node] + # + # @raise [Error] + # + # source://spoom//lib/spoom/deadcode/remover.rb#398 + sig { returns(T::Array[::Prism::Node]) } + def previous_nodes; end + + # : -> NodeContext? + # + # source://spoom//lib/spoom/deadcode/remover.rb#430 + sig { returns(T.nilable(::Spoom::Deadcode::Remover::NodeContext)) } + def sclass_context; end + + # : (Prism::Node? node) -> bool + # + # @return [Boolean] + # + # source://spoom//lib/spoom/deadcode/remover.rb#463 + sig { params(node: T.nilable(::Prism::Node)).returns(T::Boolean) } + def sorbet_extend_sig?(node); end + + # : (Prism::Node? node) -> bool + # + # @return [Boolean] + # + # source://spoom//lib/spoom/deadcode/remover.rb#458 + sig { params(node: T.nilable(::Prism::Node)).returns(T::Boolean) } + def sorbet_signature?(node); end +end + +# source://spoom//lib/spoom/deadcode/remover.rb#530 +class Spoom::Deadcode::Remover::NodeFinder < ::Spoom::Visitor + # : (Location location, Definition::Kind? kind) -> void + # + # @return [NodeFinder] a new instance of NodeFinder + # + # source://spoom//lib/spoom/deadcode/remover.rb#598 + sig { params(location: ::Spoom::Location, kind: T.nilable(::Spoom::Deadcode::Definition::Kind)).void } + def initialize(location, kind); end + + # : Prism::Node? + # + # source://spoom//lib/spoom/deadcode/remover.rb#592 + sig { returns(T.nilable(::Prism::Node)) } + def node; end + + # : Array[Prism::Node] + # + # source://spoom//lib/spoom/deadcode/remover.rb#595 + sig { returns(T::Array[::Prism::Node]) } + def nodes_nesting; end + + # : (Prism::Node? node) -> void + # + # source://spoom//lib/spoom/deadcode/remover.rb#608 + sig { override.params(node: T.nilable(::Prism::Node)).void } + def visit(node); end + + class << self + # : (String source, Location location, Definition::Kind? kind) -> NodeContext + # + # source://spoom//lib/spoom/deadcode/remover.rb#533 + sig do + params( + source: ::String, + location: ::Spoom::Location, + kind: T.nilable(::Spoom::Deadcode::Definition::Kind) + ).returns(::Spoom::Deadcode::Remover::NodeContext) + end + def find(source, location, kind); end + + # : (Prism::Node node, Definition::Kind kind) -> bool + # + # @return [Boolean] + # + # source://spoom//lib/spoom/deadcode/remover.rb#567 + sig { params(node: ::Prism::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#27 +class Spoom::Deadcode::Remover::NodeRemover + # : (String source, Definition::Kind? kind, Location location) -> void + # + # @return [NodeRemover] a new instance of NodeRemover + # + # source://spoom//lib/spoom/deadcode/remover.rb#32 + sig do + params( + source: ::String, + kind: T.nilable(::Spoom::Deadcode::Definition::Kind), + location: ::Spoom::Location + ).void + end + def initialize(source, kind, location); end + + # : -> void + # + # source://spoom//lib/spoom/deadcode/remover.rb#42 + sig { void } + def apply_edit; end + + # : String + # + # source://spoom//lib/spoom/deadcode/remover.rb#29 + sig { returns(::String) } + def new_source; end + + private + + # : (NodeContext context) -> void + # + # source://spoom//lib/spoom/deadcode/remover.rb#149 + sig { params(context: ::Spoom::Deadcode::Remover::NodeContext).void } + def delete_attr_accessor(context); end + + # : (Integer start_char, Integer end_char) -> void + # + # source://spoom//lib/spoom/deadcode/remover.rb#321 + sig { params(start_char: ::Integer, end_char: ::Integer).void } + def delete_chars(start_char, end_char); end + + # : (NodeContext context) -> void + # + # source://spoom//lib/spoom/deadcode/remover.rb#69 + sig { params(context: ::Spoom::Deadcode::Remover::NodeContext).void } + def delete_constant_assignment(context); end + + # : (Integer start_line, Integer end_line) -> void + # + # source://spoom//lib/spoom/deadcode/remover.rb#314 + sig { params(start_line: ::Integer, end_line: ::Integer).void } + def delete_lines(start_line, end_line); end + + # : (NodeContext context) -> void + # + # source://spoom//lib/spoom/deadcode/remover.rb#251 + sig { params(context: ::Spoom::Deadcode::Remover::NodeContext).void } + def delete_node_and_comments_and_sigs(context); end + + # : (Prism::Node node, NodeContext send_context, was_removed: bool) -> void + # + # source://spoom//lib/spoom/deadcode/remover.rb#208 + sig do + params( + node: ::Prism::Node, + send_context: ::Spoom::Deadcode::Remover::NodeContext, + was_removed: T::Boolean + ).void + end + def insert_accessor(node, send_context, was_removed:); end + + # : (Integer start_char, Integer end_char, String replacement) -> void + # + # source://spoom//lib/spoom/deadcode/remover.rb#326 + sig { params(start_char: ::Integer, end_char: ::Integer, replacement: ::String).void } + def replace_chars(start_char, end_char, replacement); end + + # : (Prism::CallNode node, name: String, kind: Definition::Kind?) -> String + # + # source://spoom//lib/spoom/deadcode/remover.rb#331 + sig do + params( + node: ::Prism::CallNode, + name: ::String, + kind: T.nilable(::Spoom::Deadcode::Definition::Kind) + ).returns(::String) + end + def transform_sig(node, name:, kind:); end +end + +# An abstraction to simplify handling of Prism::CallNode nodes. +# +# source://spoom//lib/spoom/deadcode/send.rb#7 +class Spoom::Deadcode::Send < ::T::Struct + const :node, ::Prism::CallNode + const :name, ::String + const :recv, T.nilable(::Prism::Node), default: T.unsafe(nil) + const :args, T::Array[::Prism::Node], default: T.unsafe(nil) + const :block, T.nilable(::Prism::Node), default: T.unsafe(nil) + const :location, ::Spoom::Location + + # : [T] (Class[T] arg_type) { (T arg) -> void } -> void + # + # source://spoom//lib/spoom/deadcode/send.rb#16 + 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 + + # : { (Prism::Node key, Prism::Node? value) -> void } -> void + # + # source://spoom//lib/spoom/deadcode/send.rb#23 + sig { params(block: T.proc.params(key: ::Prism::Node, value: T.nilable(::Prism::Node)).void).void } + def each_arg_assoc(&block); end + + class << self + # source://sorbet-runtime/0.5.11915/lib/types/struct.rb#13 + def inherited(s); end + end +end + +# source://spoom//lib/spoom.rb#10 +class Spoom::Error < ::StandardError; end + +# source://spoom//lib/spoom/context/exec.rb#5 +class Spoom::ExecResult < ::T::Struct + const :out, ::String + const :err, T.nilable(::String) + const :status, T::Boolean + const :exit_code, ::Integer + + # : -> String + # + # source://spoom//lib/spoom/context/exec.rb#12 + sig { returns(::String) } + def to_s; end + + class << self + # source://sorbet-runtime/0.5.11915/lib/types/struct.rb#13 + def inherited(s); end + end +end + +# source://spoom//lib/spoom/file_collector.rb#5 +class Spoom::FileCollector + # Initialize a new file collector + # + # 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. + # + # 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. + # : (?allow_extensions: Array[String], ?allow_mime_types: Array[String], ?exclude_patterns: Array[String]) -> void + # + # @return [FileCollector] a new instance of FileCollector + # + # source://spoom//lib/spoom/file_collector.rb#18 + # Initialize a new file collector + # 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. + # 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. + 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 + + # : Array[String] + # + # source://spoom//lib/spoom/file_collector.rb#7 + sig { returns(T::Array[::String]) } + def files; end + + # : (String path) -> void + # + # source://spoom//lib/spoom/file_collector.rb#31 + sig { params(path: ::String).void } + def visit_path(path); end + + # : (Array[String] paths) -> void + # + # source://spoom//lib/spoom/file_collector.rb#26 + sig { params(paths: T::Array[::String]).void } + def visit_paths(paths); end + + private + + # : (String path) -> String + # + # source://spoom//lib/spoom/file_collector.rb#48 + sig { params(path: ::String).returns(::String) } + def clean_path(path); end + + # : (String path) -> bool + # + # @return [Boolean] + # + # source://spoom//lib/spoom/file_collector.rb#65 + sig { params(path: ::String).returns(T::Boolean) } + def excluded_file?(path); end + + # : (String path) -> bool + # + # @return [Boolean] + # + # source://spoom//lib/spoom/file_collector.rb#80 + sig { params(path: ::String).returns(T::Boolean) } + def excluded_path?(path); end + + # : (String path) -> String? + # + # source://spoom//lib/spoom/file_collector.rb#89 + sig { params(path: ::String).returns(T.nilable(::String)) } + def mime_type_for(path); end + + # : (String path) -> void + # + # source://spoom//lib/spoom/file_collector.rb#60 + sig { params(path: ::String).void } + def visit_directory(path); end + + # : (String path) -> void + # + # source://spoom//lib/spoom/file_collector.rb#53 + sig { params(path: ::String).void } + def visit_file(path); end +end + +# Build a file hierarchy from a set of file paths. +# +# source://spoom//lib/spoom/file_tree.rb#6 +class Spoom::FileTree + # : (?T::Enumerable[String] paths) -> void + # + # @return [FileTree] a new instance of FileTree + # + # source://spoom//lib/spoom/file_tree.rb#8 + sig { params(paths: T::Enumerable[::String]).void } + def initialize(paths = T.unsafe(nil)); end + + # Add a `path` to the tree + # + # This will create all nodes until the root of `path`. + # : (String path) -> Node + # + # source://spoom//lib/spoom/file_tree.rb#23 + # Add a `path` to the tree + # This will create all nodes until the root of `path`. + sig { params(path: ::String).returns(::Spoom::FileTree::Node) } + def add_path(path); end + + # Add all `paths` to the tree + # : (T::Enumerable[String] paths) -> void + # + # source://spoom//lib/spoom/file_tree.rb#15 + # Add all `paths` to the tree + sig { params(paths: T::Enumerable[::String]).void } + def add_paths(paths); end + + # All the nodes in this tree + # : -> Array[Node] + # + # source://spoom//lib/spoom/file_tree.rb#43 + # All the nodes in this tree + sig { returns(T::Array[::Spoom::FileTree::Node]) } + def nodes; end + + # Return a map of typing scores for each node in the tree + # : (Context context) -> Hash[Node, Float] + # + # source://spoom//lib/spoom/file_tree.rb#57 + # Return a map of typing scores for each node in the tree + sig { params(context: ::Spoom::Context).returns(T::Hash[::Spoom::FileTree::Node, ::Float]) } + def nodes_strictness_scores(context); end + + # All the paths in this tree + # : -> Array[String] + # + # source://spoom//lib/spoom/file_tree.rb#51 + # All the paths in this tree + sig { returns(T::Array[::String]) } + def paths; end + + # Return a map of typing scores for each path in the tree + # : (Context context) -> Hash[String, Float] + # + # source://spoom//lib/spoom/file_tree.rb#65 + # Return a map of typing scores for each path in the tree + sig { params(context: ::Spoom::Context).returns(T::Hash[::String, ::Float]) } + def paths_strictness_scores(context); end + + # : (?out: (IO | StringIO), ?colors: bool) -> void + # + # source://spoom//lib/spoom/file_tree.rb#70 + sig { params(out: T.any(::IO, ::StringIO), colors: T::Boolean).void } + def print(out: T.unsafe(nil), colors: T.unsafe(nil)); end + + # All root nodes + # : -> Array[Node] + # + # source://spoom//lib/spoom/file_tree.rb#37 + # All root nodes + sig { returns(T::Array[::Spoom::FileTree::Node]) } + def roots; end +end + +# A visitor that collects all the nodes in a tree +# +# source://spoom//lib/spoom/file_tree.rb#119 +class Spoom::FileTree::CollectNodes < ::Spoom::FileTree::Visitor + # : -> void + # + # @return [CollectNodes] a new instance of CollectNodes + # + # source://spoom//lib/spoom/file_tree.rb#124 + sig { void } + def initialize; end + + # : Array[FileTree::Node] + # + # source://spoom//lib/spoom/file_tree.rb#121 + sig { returns(T::Array[::Spoom::FileTree::Node]) } + def nodes; end + + # : (FileTree::Node node) -> void + # + # source://spoom//lib/spoom/file_tree.rb#131 + sig { override.params(node: ::Spoom::FileTree::Node).void } + def visit_node(node); end +end + +# A visitor that collects the typing score of each node in a tree +# +# source://spoom//lib/spoom/file_tree.rb#160 +class Spoom::FileTree::CollectScores < ::Spoom::FileTree::CollectStrictnesses + # : (Context context) -> void + # + # @return [CollectScores] a new instance of CollectScores + # + # source://spoom//lib/spoom/file_tree.rb#165 + sig { params(context: ::Spoom::Context).void } + def initialize(context); end + + # : Hash[Node, Float] + # + # source://spoom//lib/spoom/file_tree.rb#162 + sig { returns(T::Hash[::Spoom::FileTree::Node, ::Float]) } + def scores; end + + # : (FileTree::Node node) -> void + # + # source://spoom//lib/spoom/file_tree.rb#173 + sig { override.params(node: ::Spoom::FileTree::Node).void } + def visit_node(node); end + + private + + # : (Node node) -> Float + # + # source://spoom//lib/spoom/file_tree.rb#182 + sig { params(node: ::Spoom::FileTree::Node).returns(::Float) } + def node_score(node); end + + # : (String? strictness) -> Float + # + # source://spoom//lib/spoom/file_tree.rb#191 + sig { params(strictness: T.nilable(::String)).returns(::Float) } + def strictness_score(strictness); end +end + +# A visitor that collects the strictness of each node in a tree +# +# source://spoom//lib/spoom/file_tree.rb#138 +class Spoom::FileTree::CollectStrictnesses < ::Spoom::FileTree::Visitor + # : (Context context) -> void + # + # @return [CollectStrictnesses] a new instance of CollectStrictnesses + # + # source://spoom//lib/spoom/file_tree.rb#143 + sig { params(context: ::Spoom::Context).void } + def initialize(context); end + + # : Hash[Node, String?] + # + # source://spoom//lib/spoom/file_tree.rb#140 + sig { returns(T::Hash[::Spoom::FileTree::Node, T.nilable(::String)]) } + def strictnesses; end + + # : (FileTree::Node node) -> void + # + # source://spoom//lib/spoom/file_tree.rb#151 + sig { override.params(node: ::Spoom::FileTree::Node).void } + def visit_node(node); end +end + +# A node representing either a file or a directory inside a FileTree +# +# source://spoom//lib/spoom/file_tree.rb#76 +class Spoom::FileTree::Node < ::T::Struct + const :parent, T.nilable(::Spoom::FileTree::Node) + const :name, ::String + const :children, T::Hash[::String, ::Spoom::FileTree::Node], default: T.unsafe(nil) + + # Full path to this node from root + # : -> String + # + # source://spoom//lib/spoom/file_tree.rb#88 + # Full path to this node from root + sig { returns(::String) } + def path; end + + class << self + # source://sorbet-runtime/0.5.11915/lib/types/struct.rb#13 + def inherited(s); end + end +end + +# An internal class used to print a FileTree +# +# See `FileTree#print` +# +# source://spoom//lib/spoom/file_tree.rb#204 +# An internal class used to print a FileTree +class Spoom::FileTree::Printer < ::Spoom::FileTree::Visitor + # : (Hash[FileTree::Node, String?] strictnesses, ?out: (IO | StringIO), ?colors: bool) -> void + # + # @return [Printer] a new instance of Printer + # + # source://spoom//lib/spoom/file_tree.rb#206 + sig do + params( + strictnesses: T::Hash[::Spoom::FileTree::Node, T.nilable(::String)], + out: T.any(::IO, ::StringIO), + colors: T::Boolean + ).void + end + def initialize(strictnesses, out: T.unsafe(nil), colors: T.unsafe(nil)); end + + # : (FileTree::Node node) -> void + # + # source://spoom//lib/spoom/file_tree.rb#215 + sig { override.params(node: ::Spoom::FileTree::Node).void } + def visit_node(node); end + + private + + # : (String? strictness) -> Color + # + # source://spoom//lib/spoom/file_tree.rb#240 + sig { params(strictness: T.nilable(::String)).returns(::Spoom::Color) } + def strictness_color(strictness); end +end + +# An abstract visitor for FileTree +# +# @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below. +# +# source://spoom//lib/spoom/file_tree.rb#97 +class Spoom::FileTree::Visitor + abstract! + + # : (FileTree::Node node) -> void + # + # source://spoom//lib/spoom/file_tree.rb#108 + sig { params(node: ::Spoom::FileTree::Node).void } + def visit_node(node); end + + # : (Array[FileTree::Node] nodes) -> void + # + # source://spoom//lib/spoom/file_tree.rb#113 + sig { params(nodes: T::Array[::Spoom::FileTree::Node]).void } + def visit_nodes(nodes); end + + # : (FileTree tree) -> void + # + # source://spoom//lib/spoom/file_tree.rb#103 + sig { params(tree: ::Spoom::FileTree).void } + def visit_tree(tree); end +end + +# source://spoom//lib/spoom/context/git.rb#5 +module Spoom::Git; end + +# source://spoom//lib/spoom/context/git.rb#6 +class Spoom::Git::Commit < ::T::Struct + const :sha, ::String + const :time, ::Time + + # : -> Integer + # + # source://spoom//lib/spoom/context/git.rb#23 + sig { returns(::Integer) } + def timestamp; end + + class << self + # source://sorbet-runtime/0.5.11915/lib/types/struct.rb#13 + def inherited(s); end + + # Parse a line formatted as `%h %at` into a `Commit` + # : (String string) -> Commit? + # + # source://spoom//lib/spoom/context/git.rb#10 + # Parse a line formatted as `%h %at` into a `Commit` + sig { params(string: ::String).returns(T.nilable(::Spoom::Git::Commit)) } + def parse_line(string); end + end +end + +# source://spoom//lib/spoom/sorbet/lsp/base.rb#5 +module Spoom::LSP; end + +# source://spoom//lib/spoom/sorbet/lsp.rb#13 +class Spoom::LSP::Client + # : (String sorbet_bin, *String sorbet_args, ?path: String) -> void + # + # @return [Client] a new instance of Client + # + # source://spoom//lib/spoom/sorbet/lsp.rb#15 + sig { params(sorbet_bin: ::String, sorbet_args: ::String, path: ::String).void } + def initialize(sorbet_bin, *sorbet_args, path: T.unsafe(nil)); end + + # : -> void + # + # source://spoom//lib/spoom/sorbet/lsp.rb#227 + sig { void } + def close; end + + # : (String uri, Integer line, Integer column) -> Array[Location] + # + # source://spoom//lib/spoom/sorbet/lsp.rb#129 + sig { params(uri: ::String, line: ::Integer, column: ::Integer).returns(T::Array[::Spoom::LSP::Location]) } + def definitions(uri, line, column); end + + # : (String uri) -> Array[DocumentSymbol] + # + # source://spoom//lib/spoom/sorbet/lsp.rb#210 + sig { params(uri: ::String).returns(T::Array[::Spoom::LSP::DocumentSymbol]) } + def document_symbols(uri); end + + # : (String uri, Integer line, Integer column) -> Hover? + # + # source://spoom//lib/spoom/sorbet/lsp.rb#87 + sig { params(uri: ::String, line: ::Integer, column: ::Integer).returns(T.nilable(::Spoom::LSP::Hover)) } + def hover(uri, line, column); end + + # : -> Integer + # + # source://spoom//lib/spoom/sorbet/lsp.rb#25 + sig { returns(::Integer) } + def next_id; end + + # : (String workspace_path) -> void + # + # @raise [Error::AlreadyOpen] + # + # source://spoom//lib/spoom/sorbet/lsp.rb#70 + # LSP requests + sig { params(workspace_path: ::String).void } + def open(workspace_path); end + + # : -> Hash[untyped, untyped]? + # + # source://spoom//lib/spoom/sorbet/lsp.rb#52 + sig { returns(T.nilable(T::Hash[T.untyped, T.untyped])) } + def read; end + + # : -> String? + # + # @raise [Error::BadHeaders] + # + # source://spoom//lib/spoom/sorbet/lsp.rb#41 + sig { returns(T.nilable(::String)) } + def read_raw; end + + # : (String uri, Integer line, Integer column, ?bool include_decl) -> Array[Location] + # + # source://spoom//lib/spoom/sorbet/lsp.rb#171 + sig do + params( + uri: ::String, + line: ::Integer, + column: ::Integer, + include_decl: T::Boolean + ).returns(T::Array[::Spoom::LSP::Location]) + end + def references(uri, line, column, include_decl = T.unsafe(nil)); end + + # : (Message message) -> Hash[untyped, untyped]? + # + # source://spoom//lib/spoom/sorbet/lsp.rb#35 + sig { params(message: ::Spoom::LSP::Message).returns(T.nilable(T::Hash[T.untyped, T.untyped])) } + def send(message); end + + # : (String json_string) -> void + # + # source://spoom//lib/spoom/sorbet/lsp.rb#30 + sig { params(json_string: ::String).void } + def send_raw(json_string); end + + # : (String uri, Integer line, Integer column) -> Array[SignatureHelp] + # + # source://spoom//lib/spoom/sorbet/lsp.rb#108 + sig { params(uri: ::String, line: ::Integer, column: ::Integer).returns(T::Array[::Spoom::LSP::SignatureHelp]) } + def signatures(uri, line, column); end + + # : (String query) -> Array[DocumentSymbol] + # + # source://spoom//lib/spoom/sorbet/lsp.rb#195 + sig { params(query: ::String).returns(T::Array[::Spoom::LSP::DocumentSymbol]) } + def symbols(query); end + + # : (String uri, Integer line, Integer column) -> Array[Location] + # + # source://spoom//lib/spoom/sorbet/lsp.rb#150 + sig { params(uri: ::String, line: ::Integer, column: ::Integer).returns(T::Array[::Spoom::LSP::Location]) } + def type_definitions(uri, line, column); end +end + +# source://spoom//lib/spoom/sorbet/lsp/structures.rb#168 +class Spoom::LSP::Diagnostic < ::T::Struct + include ::Spoom::LSP::PrintableSymbol + + const :range, ::Spoom::LSP::Range + const :code, ::Integer + const :message, ::String + const :information, ::Object + + # : (SymbolPrinter printer) -> void + # + # source://spoom//lib/spoom/sorbet/lsp/structures.rb#190 + sig { override.params(printer: ::Spoom::LSP::SymbolPrinter).void } + def accept_printer(printer); end + + # : -> String + # + # source://spoom//lib/spoom/sorbet/lsp/structures.rb#195 + sig { returns(::String) } + def to_s; end + + class << self + # : (Hash[untyped, untyped] json) -> Diagnostic + # + # source://spoom//lib/spoom/sorbet/lsp/structures.rb#178 + sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::Diagnostic) } + def from_json(json); end + + # source://sorbet-runtime/0.5.11915/lib/types/struct.rb#13 + def inherited(s); end + end +end + +# source://spoom//lib/spoom/sorbet/lsp/structures.rb#200 +class Spoom::LSP::DocumentSymbol < ::T::Struct + include ::Spoom::LSP::PrintableSymbol + + const :name, ::String + const :detail, T.nilable(::String) + const :kind, ::Integer + const :location, T.nilable(::Spoom::LSP::Location) + const :range, T.nilable(::Spoom::LSP::Range) + const :children, T::Array[::Spoom::LSP::DocumentSymbol] + + # : (SymbolPrinter printer) -> void + # + # source://spoom//lib/spoom/sorbet/lsp/structures.rb#226 + sig { override.params(printer: ::Spoom::LSP::SymbolPrinter).void } + def accept_printer(printer); end + + # : -> String + # + # source://spoom//lib/spoom/sorbet/lsp/structures.rb#258 + sig { returns(::String) } + def kind_string; end + + # : -> String + # + # source://spoom//lib/spoom/sorbet/lsp/structures.rb#253 + sig { returns(::String) } + def to_s; end + + class << self + # : (Hash[untyped, untyped] json) -> DocumentSymbol + # + # source://spoom//lib/spoom/sorbet/lsp/structures.rb#212 + sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::DocumentSymbol) } + def from_json(json); end + + # source://sorbet-runtime/0.5.11915/lib/types/struct.rb#13 + def inherited(s); end + end +end + +# source://spoom//lib/spoom/sorbet/lsp/structures.rb#262 +Spoom::LSP::DocumentSymbol::SYMBOL_KINDS = T.let(T.unsafe(nil), Hash) + +# source://spoom//lib/spoom/sorbet/lsp/errors.rb#6 +class Spoom::LSP::Error < ::Spoom::Error; end + +# source://spoom//lib/spoom/sorbet/lsp/errors.rb#7 +class Spoom::LSP::Error::AlreadyOpen < ::Spoom::LSP::Error; end + +# source://spoom//lib/spoom/sorbet/lsp/errors.rb#8 +class Spoom::LSP::Error::BadHeaders < ::Spoom::LSP::Error; end + +# source://spoom//lib/spoom/sorbet/lsp/errors.rb#10 +class Spoom::LSP::Error::Diagnostics < ::Spoom::LSP::Error + # : (String uri, Array[Diagnostic] diagnostics) -> void + # + # @return [Diagnostics] a new instance of Diagnostics + # + # source://spoom//lib/spoom/sorbet/lsp/errors.rb#28 + sig { params(uri: ::String, diagnostics: T::Array[::Spoom::LSP::Diagnostic]).void } + def initialize(uri, diagnostics); end + + # : Array[Diagnostic] + # + # source://spoom//lib/spoom/sorbet/lsp/errors.rb#15 + sig { returns(T::Array[::Spoom::LSP::Diagnostic]) } + def diagnostics; end + + # : String + # + # source://spoom//lib/spoom/sorbet/lsp/errors.rb#12 + sig { returns(::String) } + def uri; end + + class << self + # : (Hash[untyped, untyped] json) -> Diagnostics + # + # source://spoom//lib/spoom/sorbet/lsp/errors.rb#19 + sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::Error::Diagnostics) } + def from_json(json); end + end +end + +# source://spoom//lib/spoom/sorbet/lsp/structures.rb#19 +class Spoom::LSP::Hover < ::T::Struct + include ::Spoom::LSP::PrintableSymbol + + const :contents, ::String + const :range, T.nilable(T::Range[T.untyped]) + + # : (SymbolPrinter printer) -> void + # + # source://spoom//lib/spoom/sorbet/lsp/structures.rb#37 + sig { override.params(printer: ::Spoom::LSP::SymbolPrinter).void } + def accept_printer(printer); end + + # : -> String + # + # source://spoom//lib/spoom/sorbet/lsp/structures.rb#43 + sig { returns(::String) } + def to_s; end + + class << self + # : (Hash[untyped, untyped] json) -> Hover + # + # source://spoom//lib/spoom/sorbet/lsp/structures.rb#27 + sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::Hover) } + def from_json(json); end + + # source://sorbet-runtime/0.5.11915/lib/types/struct.rb#13 + def inherited(s); end + end +end + +# source://spoom//lib/spoom/sorbet/lsp/structures.rb#106 +class Spoom::LSP::Location < ::T::Struct + include ::Spoom::LSP::PrintableSymbol + + const :uri, ::String + const :range, ::Spoom::LSP::Range + + # : (SymbolPrinter printer) -> void + # + # source://spoom//lib/spoom/sorbet/lsp/structures.rb#124 + sig { override.params(printer: ::Spoom::LSP::SymbolPrinter).void } + def accept_printer(printer); end + + # : -> String + # + # source://spoom//lib/spoom/sorbet/lsp/structures.rb#130 + sig { returns(::String) } + def to_s; end + + class << self + # : (Hash[untyped, untyped] json) -> Location + # + # source://spoom//lib/spoom/sorbet/lsp/structures.rb#114 + sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::Location) } + def from_json(json); end + + # source://sorbet-runtime/0.5.11915/lib/types/struct.rb#13 + def inherited(s); end + end +end + +# A general message as defined by JSON-RPC. +# +# The language server protocol always uses `"2.0"` as the `jsonrpc` version. +# +# source://spoom//lib/spoom/sorbet/lsp/base.rb#12 +# A general message as defined by JSON-RPC. +class Spoom::LSP::Message + # : -> void + # + # @return [Message] a new instance of Message + # + # source://spoom//lib/spoom/sorbet/lsp/base.rb#14 + sig { void } + def initialize; end + + # : -> Hash[untyped, untyped] + # + # source://spoom//lib/spoom/sorbet/lsp/base.rb#19 + sig { returns(T::Hash[T.untyped, T.untyped]) } + def as_json; end + + # : (*untyped args) -> String + # + # source://spoom//lib/spoom/sorbet/lsp/base.rb#27 + sig { params(args: T.untyped).returns(::String) } + def to_json(*args); end +end + +# A notification message. +# +# A processed notification message must not send a response back. They work like events. +# +# source://spoom//lib/spoom/sorbet/lsp/base.rb#54 +# A notification message. +class Spoom::LSP::Notification < ::Spoom::LSP::Message + # : (String method, Hash[untyped, untyped] params) -> void + # + # @return [Notification] a new instance of Notification + # + # source://spoom//lib/spoom/sorbet/lsp/base.rb#62 + sig { params(method: ::String, params: T::Hash[T.untyped, T.untyped]).void } + def initialize(method, params); end + + # : String + # + # source://spoom//lib/spoom/sorbet/lsp/base.rb#56 + sig { returns(::String) } + def method; end + + # : Hash[untyped, untyped] + # + # source://spoom//lib/spoom/sorbet/lsp/base.rb#59 + sig { returns(T::Hash[T.untyped, T.untyped]) } + def params; end +end + +# source://spoom//lib/spoom/sorbet/lsp/structures.rb#48 +class Spoom::LSP::Position < ::T::Struct + include ::Spoom::LSP::PrintableSymbol + + const :line, ::Integer + const :char, ::Integer + + # : (SymbolPrinter printer) -> void + # + # source://spoom//lib/spoom/sorbet/lsp/structures.rb#66 + sig { override.params(printer: ::Spoom::LSP::SymbolPrinter).void } + def accept_printer(printer); end + + # : -> String + # + # source://spoom//lib/spoom/sorbet/lsp/structures.rb#71 + sig { returns(::String) } + def to_s; end + + class << self + # : (Hash[untyped, untyped] json) -> Position + # + # source://spoom//lib/spoom/sorbet/lsp/structures.rb#56 + sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::Position) } + def from_json(json); end + + # source://sorbet-runtime/0.5.11915/lib/types/struct.rb#13 + def inherited(s); end + end +end + +# @abstract Subclasses must implement the `abstract` methods below. +# +# source://spoom//lib/spoom/sorbet/lsp/structures.rb#9 +module Spoom::LSP::PrintableSymbol + interface! + + # @abstract + # + # source://spoom//lib/spoom/sorbet/lsp/structures.rb#16 + sig { abstract.params(printer: ::Spoom::LSP::SymbolPrinter).void } + def accept_printer(printer); end +end + +# source://spoom//lib/spoom/sorbet/lsp/structures.rb#76 +class Spoom::LSP::Range < ::T::Struct + include ::Spoom::LSP::PrintableSymbol + + const :start, ::Spoom::LSP::Position + const :end, ::Spoom::LSP::Position + + # : (SymbolPrinter printer) -> void + # + # source://spoom//lib/spoom/sorbet/lsp/structures.rb#94 + sig { override.params(printer: ::Spoom::LSP::SymbolPrinter).void } + def accept_printer(printer); end + + # : -> String + # + # source://spoom//lib/spoom/sorbet/lsp/structures.rb#101 + sig { returns(::String) } + def to_s; end + + class << self + # : (Hash[untyped, untyped] json) -> Range + # + # source://spoom//lib/spoom/sorbet/lsp/structures.rb#84 + sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::Range) } + def from_json(json); end + + # source://sorbet-runtime/0.5.11915/lib/types/struct.rb#13 + def inherited(s); end + end +end + +# A request message to describe a request between the client and the server. +# +# Every processed request must send a response back to the sender of the request. +# +# source://spoom//lib/spoom/sorbet/lsp/base.rb#35 +# A request message to describe a request between the client and the server. +class Spoom::LSP::Request < ::Spoom::LSP::Message + # : (Integer id, String method, Hash[untyped, untyped] params) -> void + # + # @return [Request] a new instance of Request + # + # source://spoom//lib/spoom/sorbet/lsp/base.rb#43 + sig { params(id: ::Integer, method: ::String, params: T::Hash[T.untyped, T.untyped]).void } + def initialize(id, method, params); end + + # : Integer + # + # source://spoom//lib/spoom/sorbet/lsp/base.rb#37 + sig { returns(::Integer) } + def id; end + + # : Hash[untyped, untyped] + # + # source://spoom//lib/spoom/sorbet/lsp/base.rb#40 + sig { returns(T::Hash[T.untyped, T.untyped]) } + def params; end +end + +# source://spoom//lib/spoom/sorbet/lsp/errors.rb#36 +class Spoom::LSP::ResponseError < ::Spoom::LSP::Error + # : (Integer code, String message, Hash[untyped, untyped] data) -> void + # + # @return [ResponseError] a new instance of ResponseError + # + # source://spoom//lib/spoom/sorbet/lsp/errors.rb#55 + sig { params(code: ::Integer, message: ::String, data: T::Hash[T.untyped, T.untyped]).void } + def initialize(code, message, data); end + + # : Integer + # + # source://spoom//lib/spoom/sorbet/lsp/errors.rb#38 + sig { returns(::Integer) } + def code; end + + # : Hash[untyped, untyped] + # + # source://spoom//lib/spoom/sorbet/lsp/errors.rb#41 + sig { returns(T::Hash[T.untyped, T.untyped]) } + def data; end + + class << self + # : (Hash[untyped, untyped] json) -> ResponseError + # + # source://spoom//lib/spoom/sorbet/lsp/errors.rb#45 + sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::ResponseError) } + def from_json(json); end + end +end + +# source://spoom//lib/spoom/sorbet/lsp/structures.rb#135 +class Spoom::LSP::SignatureHelp < ::T::Struct + include ::Spoom::LSP::PrintableSymbol + + const :label, T.nilable(::String) + const :doc, ::Object + const :params, T::Array[T.untyped] + + # : (SymbolPrinter printer) -> void + # + # source://spoom//lib/spoom/sorbet/lsp/structures.rb#155 + sig { override.params(printer: ::Spoom::LSP::SymbolPrinter).void } + def accept_printer(printer); end + + # : -> String + # + # source://spoom//lib/spoom/sorbet/lsp/structures.rb#163 + sig { returns(::String) } + def to_s; end + + class << self + # : (Hash[untyped, untyped] json) -> SignatureHelp + # + # source://spoom//lib/spoom/sorbet/lsp/structures.rb#144 + sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::SignatureHelp) } + def from_json(json); end + + # source://sorbet-runtime/0.5.11915/lib/types/struct.rb#13 + def inherited(s); end + end +end + +# source://spoom//lib/spoom/sorbet/lsp/structures.rb#295 +class Spoom::LSP::SymbolPrinter < ::Spoom::Printer + # : (?out: (IO | StringIO), ?colors: bool, ?indent_level: Integer, ?prefix: String?) -> void + # + # @return [SymbolPrinter] a new instance of SymbolPrinter + # + # source://spoom//lib/spoom/sorbet/lsp/structures.rb#303 + sig do + params( + out: T.any(::IO, ::StringIO), + colors: T::Boolean, + indent_level: ::Integer, + prefix: T.nilable(::String) + ).void + end + def initialize(out: T.unsafe(nil), colors: T.unsafe(nil), indent_level: T.unsafe(nil), prefix: T.unsafe(nil)); end + + # : (String uri) -> String + # + # source://spoom//lib/spoom/sorbet/lsp/structures.rb#325 + sig { params(uri: ::String).returns(::String) } + def clean_uri(uri); end + + # : String? + # + # source://spoom//lib/spoom/sorbet/lsp/structures.rb#300 + sig { returns(T.nilable(::String)) } + def prefix; end + + # : String? + # + # source://spoom//lib/spoom/sorbet/lsp/structures.rb#300 + # @return [String, nil] + def prefix=(_arg0); end + + # : (Array[PrintableSymbol] objects) -> void + # + # source://spoom//lib/spoom/sorbet/lsp/structures.rb#333 + sig { params(objects: T::Array[::Spoom::LSP::PrintableSymbol]).void } + def print_list(objects); end + + # : (PrintableSymbol? object) -> void + # + # source://spoom//lib/spoom/sorbet/lsp/structures.rb#313 + sig { params(object: T.nilable(::Spoom::LSP::PrintableSymbol)).void } + def print_object(object); end + + # : (Array[PrintableSymbol] objects) -> void + # + # source://spoom//lib/spoom/sorbet/lsp/structures.rb#320 + sig { params(objects: T::Array[::Spoom::LSP::PrintableSymbol]).void } + def print_objects(objects); end + + # : Set[Integer] + # + # source://spoom//lib/spoom/sorbet/lsp/structures.rb#297 + sig { returns(T::Set[::Integer]) } + def seen; end +end + +# source://spoom//lib/spoom/location.rb#5 +class Spoom::Location + include ::Comparable + + # : (String file, ?start_line: Integer?, ?start_column: Integer?, ?end_line: Integer?, ?end_column: Integer?) -> void + # + # @raise [LocationError] + # @return [Location] a new instance of Location + # + # source://spoom//lib/spoom/location.rb#61 + sig do + params( + file: ::String, + start_line: T.nilable(::Integer), + start_column: T.nilable(::Integer), + end_line: T.nilable(::Integer), + end_column: T.nilable(::Integer) + ).void + end + def initialize(file, start_line: T.unsafe(nil), start_column: T.unsafe(nil), end_line: T.unsafe(nil), end_column: T.unsafe(nil)); end + + # : (BasicObject other) -> Integer? + # + # source://spoom//lib/spoom/location.rb#95 + sig { override.params(other: ::BasicObject).returns(T.nilable(::Integer)) } + def <=>(other); end + + # : Integer? + # + # source://spoom//lib/spoom/location.rb#58 + # @return [Integer, nil] + def end_column; end + + # : Integer? + # + # source://spoom//lib/spoom/location.rb#58 + # @return [Integer, nil] + def end_line; end + + # : String + # + # source://spoom//lib/spoom/location.rb#55 + sig { returns(::String) } + def file; end + + # : (Location other) -> bool + # + # @return [Boolean] + # + # source://spoom//lib/spoom/location.rb#81 + sig { params(other: ::Spoom::Location).returns(T::Boolean) } + def include?(other); end + + # : Integer? + # + # source://spoom//lib/spoom/location.rb#58 + # @return [Integer, nil] + def start_column; end + + # : Integer? + # + # source://spoom//lib/spoom/location.rb#58 + sig { returns(T.nilable(::Integer)) } + def start_line; end + + # : -> String + # + # source://spoom//lib/spoom/location.rb#118 + sig { returns(::String) } + def to_s; end + + class << self + # : (String file, Prism::Location location) -> Location + # + # source://spoom//lib/spoom/location.rb#43 + sig { params(file: ::String, location: ::Prism::Location).returns(::Spoom::Location) } + def from_prism(file, location); end + + # : (String location_string) -> Location + # + # @raise [LocationError] + # + # source://spoom//lib/spoom/location.rb#12 + sig { params(location_string: ::String).returns(::Spoom::Location) } + def from_string(location_string); end + end +end + +# source://spoom//lib/spoom/location.rb#8 +class Spoom::Location::LocationError < ::Spoom::Error; end + +# source://spoom//lib/spoom/model/model.rb#5 +class Spoom::Model + # : -> void + # + # @return [Model] a new instance of Model + # + # source://spoom//lib/spoom/model/model.rb#235 + sig { void } + def initialize; end + + # Get a symbol by it's full name + # + # Raises an error if the symbol is not found + # : (String full_name) -> Symbol + # + # @raise [Error] + # + # source://spoom//lib/spoom/model/model.rb#244 + # Get a symbol by it's full name + # Raises an error if the symbol is not found + sig { params(full_name: ::String).returns(::Spoom::Model::Symbol) } + def [](full_name); end + + # : -> void + # + # source://spoom//lib/spoom/model/model.rb#293 + sig { void } + def finalize!; end + + # Register a new symbol by it's full name + # + # If the symbol already exists, it will be returned. + # : (String full_name) -> Symbol + # + # source://spoom//lib/spoom/model/model.rb#255 + # Register a new symbol by it's full name + # If the symbol already exists, it will be returned. + sig { params(full_name: ::String).returns(::Spoom::Model::Symbol) } + def register_symbol(full_name); end + + # : (String full_name, context: Symbol) -> Symbol + # + # source://spoom//lib/spoom/model/model.rb#260 + sig { params(full_name: ::String, context: ::Spoom::Model::Symbol).returns(::Spoom::Model::Symbol) } + def resolve_symbol(full_name, context:); end + + # : (Symbol symbol) -> Array[Symbol] + # + # source://spoom//lib/spoom/model/model.rb#287 + sig { params(symbol: ::Spoom::Model::Symbol).returns(T::Array[::Spoom::Model::Symbol]) } + def subtypes(symbol); end + + # : (Symbol symbol) -> Array[Symbol] + # + # source://spoom//lib/spoom/model/model.rb#281 + sig { params(symbol: ::Spoom::Model::Symbol).returns(T::Array[::Spoom::Model::Symbol]) } + def supertypes(symbol); end + + # All the symbols registered in this model + # : Hash[String, Symbol] + # + # source://spoom//lib/spoom/model/model.rb#229 + # All the symbols registered in this model + sig { returns(T::Hash[::String, ::Spoom::Model::Symbol]) } + def symbols; end + + # : Poset[Symbol] + # + # source://spoom//lib/spoom/model/model.rb#232 + sig { returns(Spoom::Poset[::Spoom::Model::Symbol]) } + def symbols_hierarchy; end + + private + + # : -> void + # + # source://spoom//lib/spoom/model/model.rb#300 + sig { void } + def compute_symbols_hierarchy!; end +end + +# @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below. +# +# source://spoom//lib/spoom/model/model.rb#179 +class Spoom::Model::Attr < ::Spoom::Model::Property + abstract! +end + +# source://spoom//lib/spoom/model/model.rb#185 +class Spoom::Model::AttrAccessor < ::Spoom::Model::Attr; end + +# source://spoom//lib/spoom/model/model.rb#183 +class Spoom::Model::AttrReader < ::Spoom::Model::Attr; end + +# source://spoom//lib/spoom/model/model.rb#184 +class Spoom::Model::AttrWriter < ::Spoom::Model::Attr; end + +# Populate a Model by visiting the nodes from a Ruby file +# +# source://spoom//lib/spoom/model/builder.rb#7 +class Spoom::Model::Builder < ::Spoom::Model::NamespaceVisitor + # : (Model model, String file, ?comments: Array[Prism::Comment]) -> void + # + # @return [Builder] a new instance of Builder + # + # source://spoom//lib/spoom/model/builder.rb#9 + sig { params(model: ::Spoom::Model, file: ::String, comments: T::Array[::Prism::Comment]).void } + def initialize(model, file, comments:); end + + # : (Prism::CallNode node) -> void + # + # source://spoom//lib/spoom/model/builder.rb#165 + sig { override.params(node: ::Prism::CallNode).void } + def visit_call_node(node); end + + # : (Prism::ClassNode node) -> void + # + # source://spoom//lib/spoom/model/builder.rb#29 + sig { override.params(node: ::Prism::ClassNode).void } + def visit_class_node(node); end + + # : (Prism::ConstantPathWriteNode node) -> void + # + # source://spoom//lib/spoom/model/builder.rb#82 + sig { override.params(node: ::Prism::ConstantPathWriteNode).void } + def visit_constant_path_write_node(node); end + + # : (Prism::ConstantWriteNode node) -> void + # + # source://spoom//lib/spoom/model/builder.rb#105 + sig { override.params(node: ::Prism::ConstantWriteNode).void } + def visit_constant_write_node(node); end + + # : (Prism::DefNode node) -> void + # + # source://spoom//lib/spoom/model/builder.rb#144 + sig { override.params(node: ::Prism::DefNode).void } + def visit_def_node(node); end + + # : (Prism::ModuleNode node) -> void + # + # source://spoom//lib/spoom/model/builder.rb#64 + sig { override.params(node: ::Prism::ModuleNode).void } + def visit_module_node(node); end + + # : (Prism::MultiWriteNode node) -> void + # + # source://spoom//lib/spoom/model/builder.rb#121 + sig { override.params(node: ::Prism::MultiWriteNode).void } + def visit_multi_write_node(node); end + + # : (Prism::SingletonClassNode node) -> void + # + # source://spoom//lib/spoom/model/builder.rb#46 + sig { override.params(node: ::Prism::SingletonClassNode).void } + def visit_singleton_class_node(node); end + + private + + # : -> Array[Sig] + # + # source://spoom//lib/spoom/model/builder.rb#256 + sig { returns(T::Array[::Spoom::Model::Sig]) } + def collect_sigs; end + + # : -> Visibility + # + # source://spoom//lib/spoom/model/builder.rb#251 + sig { returns(::Spoom::Model::Visibility) } + def current_visibility; end + + # : (Prism::Node node) -> Array[Comment] + # + # source://spoom//lib/spoom/model/builder.rb#268 + sig { params(node: ::Prism::Node).returns(T::Array[::Spoom::Model::Comment]) } + def node_comments(node); end + + # : (Prism::Node node) -> Location + # + # source://spoom//lib/spoom/model/builder.rb#263 + sig { params(node: ::Prism::Node).returns(::Spoom::Location) } + def node_location(node); end +end + +# source://spoom//lib/spoom/model/model.rb#132 +class Spoom::Model::Class < ::Spoom::Model::Namespace + # : (Symbol symbol, owner: Namespace?, location: Location, ?superclass_name: String?, ?comments: Array[Comment]) -> void + # + # @return [Class] a new instance of Class + # + # source://spoom//lib/spoom/model/model.rb#137 + sig do + params( + symbol: ::Spoom::Model::Symbol, + owner: T.nilable(::Spoom::Model::Namespace), + location: ::Spoom::Location, + superclass_name: T.nilable(::String), + comments: T::Array[::Spoom::Model::Comment] + ).void + end + def initialize(symbol, owner:, location:, superclass_name: T.unsafe(nil), comments: T.unsafe(nil)); end + + # : String? + # + # source://spoom//lib/spoom/model/model.rb#134 + sig { returns(T.nilable(::String)) } + def superclass_name; end + + # : String? + # + # source://spoom//lib/spoom/model/model.rb#134 + # @return [String, nil] + def superclass_name=(_arg0); end +end + +# source://spoom//lib/spoom/model/model.rb#8 +class Spoom::Model::Comment + # : (String string, Location location) -> void + # + # @return [Comment] a new instance of Comment + # + # source://spoom//lib/spoom/model/model.rb#16 + sig { params(string: ::String, location: ::Spoom::Location).void } + def initialize(string, location); end + + # : Location + # + # source://spoom//lib/spoom/model/model.rb#13 + sig { returns(::Spoom::Location) } + def location; end + + # : String + # + # source://spoom//lib/spoom/model/model.rb#10 + sig { returns(::String) } + def string; end +end + +# source://spoom//lib/spoom/model/model.rb#146 +class Spoom::Model::Constant < ::Spoom::Model::SymbolDef + # : (Symbol symbol, owner: Namespace?, location: Location, value: String, ?comments: Array[Comment]) -> void + # + # @return [Constant] a new instance of Constant + # + # source://spoom//lib/spoom/model/model.rb#151 + sig do + params( + symbol: ::Spoom::Model::Symbol, + owner: T.nilable(::Spoom::Model::Namespace), + location: ::Spoom::Location, + value: ::String, + comments: T::Array[::Spoom::Model::Comment] + ).void + end + def initialize(symbol, owner:, location:, value:, comments: T.unsafe(nil)); end + + # : String + # + # source://spoom//lib/spoom/model/model.rb#148 + sig { returns(::String) } + def value; end +end + +# source://spoom//lib/spoom/model/model.rb#6 +class Spoom::Model::Error < ::Spoom::Error; end + +# source://spoom//lib/spoom/model/model.rb#212 +class Spoom::Model::Extend < ::Spoom::Model::Mixin; end + +# source://spoom//lib/spoom/model/model.rb#210 +class Spoom::Model::Include < ::Spoom::Model::Mixin; end + +# source://spoom//lib/spoom/model/model.rb#177 +class Spoom::Model::Method < ::Spoom::Model::Property; end + +# A mixin (include, prepend, extend) to a namespace +# +# @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below. +# +# source://spoom//lib/spoom/model/model.rb#196 +class Spoom::Model::Mixin + abstract! + + # : (String name) -> void + # + # @return [Mixin] a new instance of Mixin + # + # source://spoom//lib/spoom/model/model.rb#205 + sig { params(name: ::String).void } + def initialize(name); end + + # : String + # + # source://spoom//lib/spoom/model/model.rb#202 + sig { returns(::String) } + def name; end +end + +# source://spoom//lib/spoom/model/model.rb#144 +class Spoom::Model::Module < ::Spoom::Model::Namespace; end + +# A class or module +# +# @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below. +# +# source://spoom//lib/spoom/model/model.rb#112 +class Spoom::Model::Namespace < ::Spoom::Model::SymbolDef + abstract! + + # : (Symbol symbol, owner: Namespace?, location: Location, ?comments: Array[Comment]) -> void + # + # @return [Namespace] a new instance of Namespace + # + # source://spoom//lib/spoom/model/model.rb#122 + sig do + params( + symbol: ::Spoom::Model::Symbol, + owner: T.nilable(::Spoom::Model::Namespace), + location: ::Spoom::Location, + comments: T::Array[::Spoom::Model::Comment] + ).void + end + def initialize(symbol, owner:, location:, comments: T.unsafe(nil)); end + + # : Array[SymbolDef] + # + # source://spoom//lib/spoom/model/model.rb#116 + sig { returns(T::Array[::Spoom::Model::SymbolDef]) } + def children; end + + # : Array[Mixin] + # + # source://spoom//lib/spoom/model/model.rb#119 + sig { returns(T::Array[::Spoom::Model::Mixin]) } + def mixins; end +end + +# @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below. +# +# source://spoom//lib/spoom/model/namespace_visitor.rb#6 +class Spoom::Model::NamespaceVisitor < ::Spoom::Visitor + abstract! + + # : -> void + # + # @return [NamespaceVisitor] a new instance of NamespaceVisitor + # + # source://spoom//lib/spoom/model/namespace_visitor.rb#12 + sig { void } + def initialize; end + + # : (Prism::Node? node) -> void + # + # source://spoom//lib/spoom/model/namespace_visitor.rb#20 + sig { override.params(node: T.nilable(::Prism::Node)).void } + def visit(node); end +end + +# source://spoom//lib/spoom/model/model.rb#211 +class Spoom::Model::Prepend < ::Spoom::Model::Mixin; end + +# A method or an attribute accessor +# +# @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below. +# +# source://spoom//lib/spoom/model/model.rb#159 +class Spoom::Model::Property < ::Spoom::Model::SymbolDef + abstract! + + # : (Symbol symbol, owner: Namespace?, location: Location, visibility: Visibility, ?sigs: Array[Sig], ?comments: Array[Comment]) -> void + # + # @return [Property] a new instance of Property + # + # source://spoom//lib/spoom/model/model.rb#169 + sig do + params( + symbol: ::Spoom::Model::Symbol, + owner: T.nilable(::Spoom::Model::Namespace), + location: ::Spoom::Location, + visibility: ::Spoom::Model::Visibility, + sigs: T::Array[::Spoom::Model::Sig], + comments: T::Array[::Spoom::Model::Comment] + ).void + end + def initialize(symbol, owner:, location:, visibility:, sigs: T.unsafe(nil), comments: T.unsafe(nil)); end + + # : Array[Sig] + # + # source://spoom//lib/spoom/model/model.rb#166 + sig { returns(T::Array[::Spoom::Model::Sig]) } + def sigs; end + + # : Visibility + # + # source://spoom//lib/spoom/model/model.rb#163 + sig { returns(::Spoom::Model::Visibility) } + def visibility; end +end + +# A reference to something that looks like a constant or a method +# +# Constants could be classes, modules, or actual constants. +# Methods could be accessors, instance or class methods, aliases, etc. +# +# source://spoom//lib/spoom/model/reference.rb#10 +# A reference to something that looks like a constant or a method +# Constants could be classes, modules, or actual constants. +class Spoom::Model::Reference < ::T::Struct + const :kind, ::Spoom::Model::Reference::Kind + const :name, ::String + const :location, ::Spoom::Location + + # : -> bool + # + # @return [Boolean] + # + # source://spoom//lib/spoom/model/reference.rb#35 + sig { returns(T::Boolean) } + def constant?; end + + # : -> bool + # + # @return [Boolean] + # + # source://spoom//lib/spoom/model/reference.rb#40 + sig { returns(T::Boolean) } + def method?; end + + class << self + # : (String name, Spoom::Location location) -> Reference + # + # source://spoom//lib/spoom/model/reference.rb#20 + sig { params(name: ::String, location: ::Spoom::Location).returns(::Spoom::Model::Reference) } + def constant(name, location); end + + # source://sorbet-runtime/0.5.11915/lib/types/struct.rb#13 + def inherited(s); end + + # : (String name, Spoom::Location location) -> Reference + # + # source://spoom//lib/spoom/model/reference.rb#25 + sig { params(name: ::String, location: ::Spoom::Location).returns(::Spoom::Model::Reference) } + def method(name, location); end + end +end + +# source://spoom//lib/spoom/model/reference.rb#11 +class Spoom::Model::Reference::Kind < ::T::Enum + enums do + Constant = new + Method = new + end +end + +# Visit a file to collect all the references to constants and methods +# +# source://spoom//lib/spoom/model/references_visitor.rb#7 +class Spoom::Model::ReferencesVisitor < ::Spoom::Visitor + # : (String file) -> void + # + # @return [ReferencesVisitor] a new instance of ReferencesVisitor + # + # source://spoom//lib/spoom/model/references_visitor.rb#12 + sig { params(file: ::String).void } + def initialize(file); end + + # : Array[Reference] + # + # source://spoom//lib/spoom/model/references_visitor.rb#9 + sig { returns(T::Array[::Spoom::Model::Reference]) } + def references; end + + # : (Prism::AliasMethodNode node) -> void + # + # source://spoom//lib/spoom/model/references_visitor.rb#21 + sig { override.params(node: ::Prism::AliasMethodNode).void } + def visit_alias_method_node(node); end + + # : (Prism::AndNode node) -> void + # + # source://spoom//lib/spoom/model/references_visitor.rb#27 + sig { override.params(node: ::Prism::AndNode).void } + def visit_and_node(node); end + + # : (Prism::BlockArgumentNode node) -> void + # + # source://spoom//lib/spoom/model/references_visitor.rb#34 + sig { override.params(node: ::Prism::BlockArgumentNode).void } + def visit_block_argument_node(node); end + + # : (Prism::CallAndWriteNode node) -> void + # + # source://spoom//lib/spoom/model/references_visitor.rb#46 + sig { override.params(node: ::Prism::CallAndWriteNode).void } + def visit_call_and_write_node(node); end + + # : (Prism::CallNode node) -> void + # + # source://spoom//lib/spoom/model/references_visitor.rb#73 + sig { override.params(node: ::Prism::CallNode).void } + def visit_call_node(node); end + + # : (Prism::CallOperatorWriteNode node) -> void + # + # source://spoom//lib/spoom/model/references_visitor.rb#55 + sig { override.params(node: ::Prism::CallOperatorWriteNode).void } + def visit_call_operator_write_node(node); end + + # : (Prism::CallOrWriteNode node) -> void + # + # source://spoom//lib/spoom/model/references_visitor.rb#64 + sig { override.params(node: ::Prism::CallOrWriteNode).void } + def visit_call_or_write_node(node); end + + # : (Prism::ClassNode node) -> void + # + # source://spoom//lib/spoom/model/references_visitor.rb#91 + sig { override.params(node: ::Prism::ClassNode).void } + def visit_class_node(node); end + + # : (Prism::ConstantAndWriteNode node) -> void + # + # source://spoom//lib/spoom/model/references_visitor.rb#98 + sig { override.params(node: ::Prism::ConstantAndWriteNode).void } + def visit_constant_and_write_node(node); end + + # : (Prism::ConstantOperatorWriteNode node) -> void + # + # source://spoom//lib/spoom/model/references_visitor.rb#105 + sig { override.params(node: ::Prism::ConstantOperatorWriteNode).void } + def visit_constant_operator_write_node(node); end + + # : (Prism::ConstantOrWriteNode node) -> void + # + # source://spoom//lib/spoom/model/references_visitor.rb#112 + sig { override.params(node: ::Prism::ConstantOrWriteNode).void } + def visit_constant_or_write_node(node); end + + # : (Prism::ConstantPathNode node) -> void + # + # source://spoom//lib/spoom/model/references_visitor.rb#119 + sig { override.params(node: ::Prism::ConstantPathNode).void } + def visit_constant_path_node(node); end + + # : (Prism::ConstantPathWriteNode node) -> void + # + # source://spoom//lib/spoom/model/references_visitor.rb#126 + sig { override.params(node: ::Prism::ConstantPathWriteNode).void } + def visit_constant_path_write_node(node); end + + # : (Prism::ConstantReadNode node) -> void + # + # source://spoom//lib/spoom/model/references_visitor.rb#133 + sig { override.params(node: ::Prism::ConstantReadNode).void } + def visit_constant_read_node(node); end + + # : (Prism::ConstantWriteNode node) -> void + # + # source://spoom//lib/spoom/model/references_visitor.rb#139 + sig { override.params(node: ::Prism::ConstantWriteNode).void } + def visit_constant_write_node(node); end + + # : (Prism::LocalVariableAndWriteNode node) -> void + # + # source://spoom//lib/spoom/model/references_visitor.rb#145 + sig { override.params(node: ::Prism::LocalVariableAndWriteNode).void } + def visit_local_variable_and_write_node(node); end + + # : (Prism::LocalVariableOperatorWriteNode node) -> void + # + # source://spoom//lib/spoom/model/references_visitor.rb#154 + sig { override.params(node: ::Prism::LocalVariableOperatorWriteNode).void } + def visit_local_variable_operator_write_node(node); end + + # : (Prism::LocalVariableOrWriteNode node) -> void + # + # source://spoom//lib/spoom/model/references_visitor.rb#163 + sig { override.params(node: ::Prism::LocalVariableOrWriteNode).void } + def visit_local_variable_or_write_node(node); end + + # : (Prism::LocalVariableWriteNode node) -> void + # + # source://spoom//lib/spoom/model/references_visitor.rb#172 + sig { override.params(node: ::Prism::LocalVariableWriteNode).void } + def visit_local_variable_write_node(node); end + + # : (Prism::ModuleNode node) -> void + # + # source://spoom//lib/spoom/model/references_visitor.rb#179 + sig { override.params(node: ::Prism::ModuleNode).void } + def visit_module_node(node); end + + # : (Prism::MultiWriteNode node) -> void + # + # source://spoom//lib/spoom/model/references_visitor.rb#185 + sig { override.params(node: ::Prism::MultiWriteNode).void } + def visit_multi_write_node(node); end + + # : (Prism::OrNode node) -> void + # + # source://spoom//lib/spoom/model/references_visitor.rb#197 + sig { override.params(node: ::Prism::OrNode).void } + def visit_or_node(node); end + + private + + # : (Prism::Node node) -> Location + # + # source://spoom//lib/spoom/model/references_visitor.rb#215 + sig { params(node: ::Prism::Node).returns(::Spoom::Location) } + def node_location(node); end + + # : (String name, Prism::Node node) -> void + # + # source://spoom//lib/spoom/model/references_visitor.rb#205 + sig { params(name: ::String, node: ::Prism::Node).void } + def reference_constant(name, node); end + + # : (String name, Prism::Node node) -> void + # + # source://spoom//lib/spoom/model/references_visitor.rb#210 + sig { params(name: ::String, node: ::Prism::Node).void } + def reference_method(name, node); end +end + +# A Sorbet signature (sig block) +# +# source://spoom//lib/spoom/model/model.rb#215 +class Spoom::Model::Sig + # : (String string) -> void + # + # @return [Sig] a new instance of Sig + # + # source://spoom//lib/spoom/model/model.rb#220 + sig { params(string: ::String).void } + def initialize(string); end + + # : String + # + # source://spoom//lib/spoom/model/model.rb#217 + sig { returns(::String) } + def string; end +end + +# source://spoom//lib/spoom/model/model.rb#130 +class Spoom::Model::SingletonClass < ::Spoom::Model::Namespace; end + +# A Symbol is a uniquely named entity in the Ruby codebase +# +# A symbol can have multiple definitions, e.g. a class can be reopened. +# Sometimes a symbol can have multiple definitions of different types, +# e.g. `foo` method can be defined both as a method and as an attribute accessor. +# +# source://spoom//lib/spoom/model/model.rb#27 +# A Symbol is a uniquely named entity in the Ruby codebase +# A symbol can have multiple definitions, e.g. a class can be reopened. +# Sometimes a symbol can have multiple definitions of different types, +class Spoom::Model::Symbol + # : (String full_name) -> void + # + # @return [Symbol] a new instance of Symbol + # + # source://spoom//lib/spoom/model/model.rb#37 + sig { params(full_name: ::String).void } + def initialize(full_name); end + + # The definitions of this symbol (where it exists in the code) + # : Array[SymbolDef] + # + # source://spoom//lib/spoom/model/model.rb#34 + # The definitions of this symbol (where it exists in the code) + sig { returns(T::Array[::Spoom::Model::SymbolDef]) } + def definitions; end + + # The full, unique name of this symbol + # : String + # + # source://spoom//lib/spoom/model/model.rb#30 + # The full, unique name of this symbol + sig { returns(::String) } + def full_name; end + + # The short name of this symbol + # : -> String + # + # source://spoom//lib/spoom/model/model.rb#44 + # The short name of this symbol + sig { returns(::String) } + def name; end + + # : -> String + # + # source://spoom//lib/spoom/model/model.rb#49 + sig { returns(::String) } + def to_s; end +end + +# A SymbolDef is a definition of a Symbol +# +# It can be a class, module, constant, method, etc. +# A SymbolDef has a location pointing to the actual code that defines the symbol. +# +# @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below. +# +# source://spoom//lib/spoom/model/model.rb#66 +# A SymbolDef is a definition of a Symbol +# It can be a class, module, constant, method, etc. +class Spoom::Model::SymbolDef + abstract! + + # : (Symbol symbol, owner: Namespace?, location: Location, ?comments: Array[Comment]) -> void + # + # @return [SymbolDef] a new instance of SymbolDef + # + # source://spoom//lib/spoom/model/model.rb#88 + sig do + params( + symbol: ::Spoom::Model::Symbol, + owner: T.nilable(::Spoom::Model::Namespace), + location: ::Spoom::Location, + comments: T::Array[::Spoom::Model::Comment] + ).void + end + def initialize(symbol, owner:, location:, comments:); end + + # The comments associated with this definition + # : Array[Comment] + # + # source://spoom//lib/spoom/model/model.rb#85 + # The comments associated with this definition + sig { returns(T::Array[::Spoom::Model::Comment]) } + def comments; end + + # The full name of the symbol this definition belongs to + # : -> String + # + # source://spoom//lib/spoom/model/model.rb#100 + # The full name of the symbol this definition belongs to + sig { returns(::String) } + def full_name; end + + # The actual code location of this definition + # : Location + # + # source://spoom//lib/spoom/model/model.rb#81 + # The actual code location of this definition + sig { returns(::Spoom::Location) } + def location; end + + # The short name of the symbol this definition belongs to + # : -> String + # + # source://spoom//lib/spoom/model/model.rb#106 + # The short name of the symbol this definition belongs to + sig { returns(::String) } + def name; end + + # The enclosing namespace this definition belongs to + # : Namespace? + # + # source://spoom//lib/spoom/model/model.rb#77 + # The enclosing namespace this definition belongs to + sig { returns(T.nilable(::Spoom::Model::Namespace)) } + def owner; end + + # The symbol this definition belongs to + # : Symbol + # + # source://spoom//lib/spoom/model/model.rb#73 + # The symbol this definition belongs to + sig { returns(::Spoom::Model::Symbol) } + def symbol; end +end + +# source://spoom//lib/spoom/model/model.rb#54 +class Spoom::Model::UnresolvedSymbol < ::Spoom::Model::Symbol + # : -> String + # + # source://spoom//lib/spoom/model/model.rb#57 + sig { override.returns(::String) } + def to_s; end +end + +# source://spoom//lib/spoom/model/model.rb#187 +class Spoom::Model::Visibility < ::T::Enum + enums do + Private = new + Protected = new + Public = new + end +end + +# source://spoom//lib/spoom/parse.rb#7 +class Spoom::ParseError < ::Spoom::Error; end + +# A Poset is a set of elements with a partial order relation. +# +# The partial order relation is a binary relation that is reflexive, antisymmetric, and transitive. +# It can be used to represent a hierarchy of classes or modules, the dependencies between gems, etc. +# +# source://spoom//lib/spoom/poset.rb#9 +# A Poset is a set of elements with a partial order relation. +# The partial order relation is a binary relation that is reflexive, antisymmetric, and transitive. +class Spoom::Poset + extend T::Generic + + E = type_member { { upper: Object } } + + # : -> void + # + # @return [Poset] a new instance of Poset + # + # source://spoom//lib/spoom/poset.rb#17 + sig { void } + def initialize; end + + # Get the POSet element for a given value + # + # Raises if the element is not found + # : (E value) -> Element[E] + # + # @raise [Error] + # + # source://spoom//lib/spoom/poset.rb#25 + # Get the POSet element for a given value + # Raises if the element is not found + sig { params(value: E).returns(Spoom::Poset::Element[E]) } + def [](value); end + + # Add a direct edge from one element to another + # + # Transitive edges (transitive closure) are automatically computed. + # Adds the elements if they don't exist. + # If the direct edge already exists, nothing is done. + # : (E from, E to) -> void + # + # source://spoom//lib/spoom/poset.rb#53 + # Add a direct edge from one element to another + # Transitive edges (transitive closure) are automatically computed. + # Adds the elements if they don't exist. + # If the direct edge already exists, nothing is done. + sig { params(from: E, to: E).void } + def add_direct_edge(from, to); end + + # Add an element to the POSet + # : (E value) -> Element[E] + # + # source://spoom//lib/spoom/poset.rb#34 + # Add an element to the POSet + sig { params(value: E).returns(Spoom::Poset::Element[E]) } + def add_element(value); end + + # Is there a direct edge from `from` to `to`? + # : (E from, E to) -> bool + # + # @return [Boolean] + # + # source://spoom//lib/spoom/poset.rb#100 + # Is there a direct edge from `from` to `to`? + sig { params(from: E, to: E).returns(T::Boolean) } + def direct_edge?(from, to); end + + # Is there an edge (direct or indirect) from `from` to `to`? + # : (E from, E to) -> bool + # + # @return [Boolean] + # + # source://spoom//lib/spoom/poset.rb#91 + # Is there an edge (direct or indirect) from `from` to `to`? + sig { params(from: E, to: E).returns(T::Boolean) } + def edge?(from, to); end + + # Is the given value a element in the POSet? + # : (E value) -> bool + # + # @return [Boolean] + # + # source://spoom//lib/spoom/poset.rb#43 + # Is the given value a element in the POSet? + sig { params(value: E).returns(T::Boolean) } + def element?(value); end + + # Show the POSet as a DOT graph using xdot (used for debugging) + # : (?direct: bool, ?transitive: bool) -> void + # + # source://spoom//lib/spoom/poset.rb#106 + # Show the POSet as a DOT graph using xdot (used for debugging) + sig { params(direct: T::Boolean, transitive: T::Boolean).void } + def show_dot(direct: T.unsafe(nil), transitive: T.unsafe(nil)); end + + # Return the POSet as a DOT graph + # : (?direct: bool, ?transitive: bool) -> String + # + # source://spoom//lib/spoom/poset.rb#115 + # Return the POSet as a DOT graph + sig { params(direct: T::Boolean, transitive: T::Boolean).returns(::String) } + def to_dot(direct: T.unsafe(nil), transitive: T.unsafe(nil)); end +end + +# An element in a POSet +# +# source://spoom//lib/spoom/poset.rb#135 +class Spoom::Poset::Element + include ::Comparable + extend T::Generic + + E = type_member { { upper: Object } } + + # : (E value) -> void + # + # @return [Element] a new instance of Element + # + # source://spoom//lib/spoom/poset.rb#150 + sig { params(value: E).void } + def initialize(value); end + + # : (untyped other) -> Integer? + # + # source://spoom//lib/spoom/poset.rb#159 + sig { params(other: T.untyped).returns(T.nilable(::Integer)) } + def <=>(other); end + + # Direct and indirect ancestors of this element + # : -> Array[E] + # + # source://spoom//lib/spoom/poset.rb#178 + # Direct and indirect ancestors of this element + sig { returns(T::Array[E]) } + def ancestors; end + + # Direct children of this element + # : -> Array[E] + # + # source://spoom//lib/spoom/poset.rb#184 + # Direct children of this element + sig { returns(T::Array[E]) } + def children; end + + # Direct and indirect descendants of this element + # : -> Array[E] + # + # source://spoom//lib/spoom/poset.rb#190 + # Direct and indirect descendants of this element + sig { returns(T::Array[E]) } + def descendants; end + + # Edges (direct and indirect) from this element to other elements in the same POSet + # : Set[Element[E]] + # + # source://spoom//lib/spoom/poset.rb#147 + # Edges (direct and indirect) from this element to other elements in the same POSet + # @return [Set] + def dfroms; end + + # Edges (direct and indirect) from this element to other elements in the same POSet + # : Set[Element[E]] + # + # source://spoom//lib/spoom/poset.rb#147 + # Edges (direct and indirect) from this element to other elements in the same POSet + sig { returns(T::Set[Spoom::Poset::Element[E]]) } + def dtos; end + + # Edges (direct and indirect) from this element to other elements in the same POSet + # : Set[Element[E]] + # + # source://spoom//lib/spoom/poset.rb#147 + # Edges (direct and indirect) from this element to other elements in the same POSet + # @return [Set] + def froms; end + + # Direct parents of this element + # : -> Array[E] + # + # source://spoom//lib/spoom/poset.rb#172 + # Direct parents of this element + sig { returns(T::Array[E]) } + def parents; end + + # Edges (direct and indirect) from this element to other elements in the same POSet + # : Set[Element[E]] + # + # source://spoom//lib/spoom/poset.rb#147 + # Edges (direct and indirect) from this element to other elements in the same POSet + # @return [Set] + def tos; end + + # The value held by this element + # : E + # + # source://spoom//lib/spoom/poset.rb#143 + # The value held by this element + sig { returns(E) } + def value; end +end + +# source://spoom//lib/spoom/poset.rb#12 +class Spoom::Poset::Error < ::Spoom::Error; end + +# source://spoom//lib/spoom/printer.rb#7 +class Spoom::Printer + include ::Spoom::Colorize + + # : (?out: (IO | StringIO), ?colors: bool, ?indent_level: Integer) -> void + # + # @return [Printer] a new instance of Printer + # + # source://spoom//lib/spoom/printer.rb#14 + 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` + # : (String string, *Spoom::Color color) -> String + # + # source://spoom//lib/spoom/printer.rb#75 + # Colorize `string` with color if `@colors` + sig { params(string: ::String, color: ::Spoom::Color).returns(::String) } + def colorize(string, *color); end + + # Decrease indent level + # : -> void + # + # source://spoom//lib/spoom/printer.rb#28 + # Decrease indent level + sig { void } + def dedent; end + + # Increase indent level + # : -> void + # + # source://spoom//lib/spoom/printer.rb#22 + # Increase indent level + sig { void } + def indent; end + + # : (IO | StringIO) + # + # source://spoom//lib/spoom/printer.rb#11 + sig { returns(T.any(::IO, ::StringIO)) } + def out; end + + # : (IO | StringIO) + # + # source://spoom//lib/spoom/printer.rb#11 + # @return [IO, StringIO] + def out=(_arg0); end + + # Print `string` into `out` + # : (String? string) -> void + # + # source://spoom//lib/spoom/printer.rb#34 + # Print `string` into `out` + sig { params(string: T.nilable(::String)).void } + def print(string); end + + # Print `string` colored with `color` into `out` + # + # Does not use colors unless `@colors`. + # : (String? string, *Color color) -> void + # + # source://spoom//lib/spoom/printer.rb#44 + # Print `string` colored with `color` into `out` + # Does not use colors unless `@colors`. + sig { params(string: T.nilable(::String), color: ::Spoom::Color).void } + def print_colored(string, *color); end + + # Print `string` with indent and newline + # : (String? string) -> void + # + # source://spoom//lib/spoom/printer.rb#59 + # Print `string` with indent and newline + sig { params(string: T.nilable(::String)).void } + def printl(string); end + + # Print a new line into `out` + # : -> void + # + # source://spoom//lib/spoom/printer.rb#53 + # Print a new line into `out` + sig { void } + def printn; end + + # Print an indent space into `out` + # : -> void + # + # source://spoom//lib/spoom/printer.rb#69 + # Print an indent space into `out` + sig { void } + def printt; end +end + +# source://spoom//lib/spoom.rb#8 +Spoom::SPOOM_PATH = T.let(T.unsafe(nil), String) + +# source://spoom//lib/spoom/sorbet/assertions.rb#7 +module Spoom::Sorbet; end + +# source://spoom//lib/spoom/sorbet/assertions.rb#8 +class Spoom::Sorbet::Assertions + class << self + # : (String, file: String) -> String + # + # source://spoom//lib/spoom/sorbet/assertions.rb#11 + sig { params(ruby_contents: ::String, file: ::String).returns(::String) } + def rbi_to_rbs(ruby_contents, file:); end + + private + + # : (String, file: String) -> Array[AssignNode] + # + # source://spoom//lib/spoom/sorbet/assertions.rb#46 + sig { params(ruby_contents: ::String, file: ::String).returns(T::Array[::Spoom::Sorbet::Assertions::AssignNode]) } + def collect_assigns(ruby_contents, file:); end + + # : (AssignNode) -> String + # + # source://spoom//lib/spoom/sorbet/assertions.rb#54 + sig { params(assign: ::Spoom::Sorbet::Assertions::AssignNode).returns(::String) } + def dedent_value(assign); end + end +end + +# source://spoom//lib/spoom/sorbet/assertions.rb#122 +class Spoom::Sorbet::Assertions::AssignNode + # : (AssignType, Prism::Location, Prism::Node, Prism::Node) -> void + # + # @return [AssignNode] a new instance of AssignNode + # + # source://spoom//lib/spoom/sorbet/assertions.rb#133 + sig do + params( + node: T.any(::Prism::ClassVariableAndWriteNode, ::Prism::ClassVariableOperatorWriteNode, ::Prism::ClassVariableOrWriteNode, ::Prism::ClassVariableWriteNode, ::Prism::ConstantAndWriteNode, ::Prism::ConstantOperatorWriteNode, ::Prism::ConstantOrWriteNode, ::Prism::ConstantPathAndWriteNode, ::Prism::ConstantPathOperatorWriteNode, ::Prism::ConstantPathOrWriteNode, ::Prism::ConstantPathWriteNode, ::Prism::ConstantWriteNode, ::Prism::GlobalVariableAndWriteNode, ::Prism::GlobalVariableOperatorWriteNode, ::Prism::GlobalVariableOrWriteNode, ::Prism::GlobalVariableWriteNode, ::Prism::InstanceVariableAndWriteNode, ::Prism::InstanceVariableOperatorWriteNode, ::Prism::InstanceVariableOrWriteNode, ::Prism::InstanceVariableWriteNode, ::Prism::LocalVariableAndWriteNode, ::Prism::LocalVariableOperatorWriteNode, ::Prism::LocalVariableOrWriteNode, ::Prism::LocalVariableWriteNode), + operator_loc: ::Prism::Location, + value: ::Prism::Node, + type: ::Prism::Node + ).void + end + def initialize(node, operator_loc, value, type); end + + # : AssignType + # + # source://spoom//lib/spoom/sorbet/assertions.rb#124 + sig do + returns(T.any(::Prism::ClassVariableAndWriteNode, ::Prism::ClassVariableOperatorWriteNode, ::Prism::ClassVariableOrWriteNode, ::Prism::ClassVariableWriteNode, ::Prism::ConstantAndWriteNode, ::Prism::ConstantOperatorWriteNode, ::Prism::ConstantOrWriteNode, ::Prism::ConstantPathAndWriteNode, ::Prism::ConstantPathOperatorWriteNode, ::Prism::ConstantPathOrWriteNode, ::Prism::ConstantPathWriteNode, ::Prism::ConstantWriteNode, ::Prism::GlobalVariableAndWriteNode, ::Prism::GlobalVariableOperatorWriteNode, ::Prism::GlobalVariableOrWriteNode, ::Prism::GlobalVariableWriteNode, ::Prism::InstanceVariableAndWriteNode, ::Prism::InstanceVariableOperatorWriteNode, ::Prism::InstanceVariableOrWriteNode, ::Prism::InstanceVariableWriteNode, ::Prism::LocalVariableAndWriteNode, ::Prism::LocalVariableOperatorWriteNode, ::Prism::LocalVariableOrWriteNode, ::Prism::LocalVariableWriteNode)) + end + def node; end + + # : Prism::Location + # + # source://spoom//lib/spoom/sorbet/assertions.rb#127 + sig { returns(::Prism::Location) } + def operator_loc; end + + # : -> String + # + # source://spoom//lib/spoom/sorbet/assertions.rb#141 + sig { returns(::String) } + def rbs_type; end + + # : Prism::Node + # + # source://spoom//lib/spoom/sorbet/assertions.rb#130 + # @return [Prism::Node] + def type; end + + # : Prism::Node + # + # source://spoom//lib/spoom/sorbet/assertions.rb#130 + sig { returns(::Prism::Node) } + def value; end +end + +# source://spoom//lib/spoom/sorbet/assertions.rb#93 +Spoom::Sorbet::Assertions::AssignType = T.type_alias { T.any(::Prism::ClassVariableAndWriteNode, ::Prism::ClassVariableOperatorWriteNode, ::Prism::ClassVariableOrWriteNode, ::Prism::ClassVariableWriteNode, ::Prism::ConstantAndWriteNode, ::Prism::ConstantOperatorWriteNode, ::Prism::ConstantOrWriteNode, ::Prism::ConstantPathAndWriteNode, ::Prism::ConstantPathOperatorWriteNode, ::Prism::ConstantPathOrWriteNode, ::Prism::ConstantPathWriteNode, ::Prism::ConstantWriteNode, ::Prism::GlobalVariableAndWriteNode, ::Prism::GlobalVariableOperatorWriteNode, ::Prism::GlobalVariableOrWriteNode, ::Prism::GlobalVariableWriteNode, ::Prism::InstanceVariableAndWriteNode, ::Prism::InstanceVariableOperatorWriteNode, ::Prism::InstanceVariableOrWriteNode, ::Prism::InstanceVariableWriteNode, ::Prism::LocalVariableAndWriteNode, ::Prism::LocalVariableOperatorWriteNode, ::Prism::LocalVariableOrWriteNode, ::Prism::LocalVariableWriteNode) } + +# source://spoom//lib/spoom/sorbet/assertions.rb#146 +class Spoom::Sorbet::Assertions::Locator < ::Spoom::Visitor + # : -> void + # + # @return [Locator] a new instance of Locator + # + # source://spoom//lib/spoom/sorbet/assertions.rb#153 + sig { void } + def initialize; end + + # : Array[AssignNode] + # + # source://spoom//lib/spoom/sorbet/assertions.rb#150 + sig { returns(T::Array[::Spoom::Sorbet::Assertions::AssignNode]) } + def assigns; end + + # : (Prism::Node) -> bool + # + # @return [Boolean] + # + # source://spoom//lib/spoom/sorbet/assertions.rb#245 + sig { params(node: ::Prism::Node).returns(T::Boolean) } + def contains_heredoc?(node); end + + # Is this node a `T` or `::T` constant? + # : (Prism::Node?) -> bool + # + # @return [Boolean] + # + # source://spoom//lib/spoom/sorbet/assertions.rb#223 + # Is this node a `T` or `::T` constant? + sig { params(node: T.nilable(::Prism::Node)).returns(T::Boolean) } + def t?(node); end + + # Is this node a `T.let` or `T.cast`? + # : (Prism::CallNode) -> bool + # + # @return [Boolean] + # + # source://spoom//lib/spoom/sorbet/assertions.rb#236 + # Is this node a `T.let` or `T.cast`? + sig { params(node: ::Prism::CallNode).returns(T::Boolean) } + def t_annotation?(node); end + + # : (AssignType) -> void + # + # source://spoom//lib/spoom/sorbet/assertions.rb#159 + sig do + params( + node: T.any(::Prism::ClassVariableAndWriteNode, ::Prism::ClassVariableOperatorWriteNode, ::Prism::ClassVariableOrWriteNode, ::Prism::ClassVariableWriteNode, ::Prism::ConstantAndWriteNode, ::Prism::ConstantOperatorWriteNode, ::Prism::ConstantOrWriteNode, ::Prism::ConstantPathAndWriteNode, ::Prism::ConstantPathOperatorWriteNode, ::Prism::ConstantPathOrWriteNode, ::Prism::ConstantPathWriteNode, ::Prism::ConstantWriteNode, ::Prism::GlobalVariableAndWriteNode, ::Prism::GlobalVariableOperatorWriteNode, ::Prism::GlobalVariableOrWriteNode, ::Prism::GlobalVariableWriteNode, ::Prism::InstanceVariableAndWriteNode, ::Prism::InstanceVariableOperatorWriteNode, ::Prism::InstanceVariableOrWriteNode, ::Prism::InstanceVariableWriteNode, ::Prism::LocalVariableAndWriteNode, ::Prism::LocalVariableOperatorWriteNode, ::Prism::LocalVariableOrWriteNode, ::Prism::LocalVariableWriteNode) + ).void + end + def visit_assign(node); end + + # : (AssignType) -> void + # + # source://spoom//lib/spoom/sorbet/assertions.rb#159 + def visit_class_variable_and_write_node(node); end + + # : (AssignType) -> void + # + # source://spoom//lib/spoom/sorbet/assertions.rb#159 + def visit_class_variable_operator_write_node(node); end + + # : (AssignType) -> void + # + # source://spoom//lib/spoom/sorbet/assertions.rb#159 + def visit_class_variable_or_write_node(node); end + + # : (AssignType) -> void + # + # source://spoom//lib/spoom/sorbet/assertions.rb#159 + def visit_class_variable_write_node(node); end + + # : (AssignType) -> void + # + # source://spoom//lib/spoom/sorbet/assertions.rb#159 + def visit_constant_and_write_node(node); end + + # : (AssignType) -> void + # + # source://spoom//lib/spoom/sorbet/assertions.rb#159 + def visit_constant_operator_write_node(node); end + + # : (AssignType) -> void + # + # source://spoom//lib/spoom/sorbet/assertions.rb#159 + def visit_constant_or_write_node(node); end + + # : (AssignType) -> void + # + # source://spoom//lib/spoom/sorbet/assertions.rb#159 + def visit_constant_path_and_write_node(node); end + + # : (AssignType) -> void + # + # source://spoom//lib/spoom/sorbet/assertions.rb#159 + def visit_constant_path_operator_write_node(node); end + + # : (AssignType) -> void + # + # source://spoom//lib/spoom/sorbet/assertions.rb#159 + def visit_constant_path_or_write_node(node); end + + # : (AssignType) -> void + # + # source://spoom//lib/spoom/sorbet/assertions.rb#159 + def visit_constant_path_write_node(node); end + + # : (AssignType) -> void + # + # source://spoom//lib/spoom/sorbet/assertions.rb#159 + def visit_constant_write_node(node); end + + # : (AssignType) -> void + # + # source://spoom//lib/spoom/sorbet/assertions.rb#159 + def visit_global_variable_and_write_node(node); end + + # : (AssignType) -> void + # + # source://spoom//lib/spoom/sorbet/assertions.rb#159 + def visit_global_variable_operator_write_node(node); end + + # : (AssignType) -> void + # + # source://spoom//lib/spoom/sorbet/assertions.rb#159 + def visit_global_variable_or_write_node(node); end + + # : (AssignType) -> void + # + # source://spoom//lib/spoom/sorbet/assertions.rb#159 + def visit_global_variable_write_node(node); end + + # : (AssignType) -> void + # + # source://spoom//lib/spoom/sorbet/assertions.rb#159 + def visit_instance_variable_and_write_node(node); end + + # : (AssignType) -> void + # + # source://spoom//lib/spoom/sorbet/assertions.rb#159 + def visit_instance_variable_operator_write_node(node); end + + # : (AssignType) -> void + # + # source://spoom//lib/spoom/sorbet/assertions.rb#159 + def visit_instance_variable_or_write_node(node); end + + # : (AssignType) -> void + # + # source://spoom//lib/spoom/sorbet/assertions.rb#159 + def visit_instance_variable_write_node(node); end + + # : (AssignType) -> void + # + # source://spoom//lib/spoom/sorbet/assertions.rb#159 + def visit_local_variable_and_write_node(node); end + + # : (AssignType) -> void + # + # source://spoom//lib/spoom/sorbet/assertions.rb#159 + def visit_local_variable_operator_write_node(node); end + + # : (AssignType) -> void + # + # source://spoom//lib/spoom/sorbet/assertions.rb#159 + def visit_local_variable_or_write_node(node); end + + # : (AssignType) -> void + # + # source://spoom//lib/spoom/sorbet/assertions.rb#159 + def visit_local_variable_write_node(node); end + + # : (AssignType) -> void + # + # source://spoom//lib/spoom/sorbet/assertions.rb#159 + def visit_multi_write_node(node); end +end + +# source://spoom//lib/spoom/sorbet/assertions.rb#147 +Spoom::Sorbet::Assertions::Locator::ANNOTATION_METHODS = T.let(T.unsafe(nil), Array) + +# source://spoom//lib/spoom/sorbet/assertions.rb#251 +class Spoom::Sorbet::Assertions::Locator::HeredocVisitor < ::Spoom::Visitor + # : -> void + # + # @return [HeredocVisitor] a new instance of HeredocVisitor + # + # source://spoom//lib/spoom/sorbet/assertions.rb#256 + sig { void } + def initialize; end + + # : bool + # + # source://spoom//lib/spoom/sorbet/assertions.rb#253 + sig { returns(T::Boolean) } + def contains_heredoc; end + + # : (Prism::Node?) -> void + # + # source://spoom//lib/spoom/sorbet/assertions.rb#264 + sig { override.params(node: T.nilable(::Prism::Node)).void } + def visit(node); end +end + +# source://spoom//lib/spoom/sorbet.rb#33 +Spoom::Sorbet::BIN_PATH = T.let(T.unsafe(nil), String) + +# source://spoom//lib/spoom/sorbet.rb#30 +Spoom::Sorbet::CONFIG_PATH = T.let(T.unsafe(nil), String) + +# Parse Sorbet config files +# +# Parses a Sorbet config file: +# +# ```ruby +# config = Spoom::Sorbet::Config.parse_file("sorbet/config") +# puts config.paths # "." +# ``` +# +# Parses a Sorbet config string: +# +# ```ruby +# config = Spoom::Sorbet::Config.parse_string(<<~CONFIG) +# a +# --file=b +# --ignore=c +# CONFIG +# puts config.paths # "a", "b" +# puts config.ignore # "c" +# ``` +# +# source://spoom//lib/spoom/sorbet/config.rb#26 +# Parse Sorbet config files +# Parses a Sorbet config file: +# ```ruby +# config = Spoom::Sorbet::Config.parse_file("sorbet/config") +# puts config.paths # "." +# Parses a Sorbet config string: +# config = Spoom::Sorbet::Config.parse_string(<<~CONFIG) +# a +# --file=b +# --ignore=c +# CONFIG +# puts config.paths # "a", "b" +# puts config.ignore # "c" +class Spoom::Sorbet::Config + # : -> void + # + # @return [Config] a new instance of Config + # + # source://spoom//lib/spoom/sorbet/config.rb#36 + sig { void } + def initialize; end + + # : Array[String] + # + # source://spoom//lib/spoom/sorbet/config.rb#30 + # @return [Array] + def allowed_extensions; end + + # : Array[String] + # + # source://spoom//lib/spoom/sorbet/config.rb#30 + # @return [Array] + def allowed_extensions=(_arg0); end + + # : -> Config + # + # source://spoom//lib/spoom/sorbet/config.rb#44 + sig { returns(::Spoom::Sorbet::Config) } + def copy; end + + # : Array[String] + # + # source://spoom//lib/spoom/sorbet/config.rb#30 + # @return [Array] + def ignore; end + + # : Array[String] + # + # source://spoom//lib/spoom/sorbet/config.rb#30 + # @return [Array] + def ignore=(_arg0); end + + # : bool + # + # source://spoom//lib/spoom/sorbet/config.rb#33 + sig { returns(T::Boolean) } + def no_stdlib; end + + # : bool + # + # source://spoom//lib/spoom/sorbet/config.rb#33 + # @return [Boolean] + def no_stdlib=(_arg0); end + + # Returns self as a string of options that can be passed to Sorbet + # + # Example: + # ~~~rb + # config = Sorbet::Config.new + # config.paths << "/foo" + # config.paths << "/bar" + # config.ignore << "/baz" + # config.allowed_extensions << ".rb" + # + # puts config.options_string # "/foo /bar --ignore /baz --allowed-extension .rb" + # ~~~ + # : -> String + # + # source://spoom//lib/spoom/sorbet/config.rb#66 + # Returns self as a string of options that can be passed to Sorbet + # Example: + # ~~~rb + # config = Sorbet::Config.new + # config.paths << "/foo" + # config.paths << "/bar" + # config.ignore << "/baz" + # config.allowed_extensions << ".rb" + # puts config.options_string # "/foo /bar --ignore /baz --allowed-extension .rb" + # ~~~ + sig { returns(::String) } + def options_string; end + + # : Array[String] + # + # source://spoom//lib/spoom/sorbet/config.rb#30 + sig { returns(T::Array[::String]) } + def paths; end + + # : Array[String] + # + # source://spoom//lib/spoom/sorbet/config.rb#30 + # @return [Array] + def paths=(_arg0); end + + class << self + # : (String sorbet_config_path) -> Spoom::Sorbet::Config + # + # source://spoom//lib/spoom/sorbet/config.rb#77 + sig { params(sorbet_config_path: ::String).returns(::Spoom::Sorbet::Config) } + def parse_file(sorbet_config_path); end + + # : (String sorbet_config) -> Spoom::Sorbet::Config + # + # source://spoom//lib/spoom/sorbet/config.rb#82 + sig { params(sorbet_config: ::String).returns(::Spoom::Sorbet::Config) } + def parse_string(sorbet_config); end + + private + + # : (String line) -> String + # + # source://spoom//lib/spoom/sorbet/config.rb#143 + sig { params(line: ::String).returns(::String) } + def parse_option(line); end + end +end + +# source://spoom//lib/spoom/sorbet/config.rb#27 +Spoom::Sorbet::Config::DEFAULT_ALLOWED_EXTENSIONS = T.let(T.unsafe(nil), Array) + +# source://spoom//lib/spoom/sorbet.rb#15 +class Spoom::Sorbet::Error < ::Spoom::Error + # : (String message, ExecResult result) -> void + # + # @return [Error] a new instance of Error + # + # source://spoom//lib/spoom/sorbet.rb#23 + sig { params(message: ::String, result: ::Spoom::ExecResult).void } + def initialize(message, result); end + + # : ExecResult + # + # source://spoom//lib/spoom/sorbet.rb#20 + sig { returns(::Spoom::ExecResult) } + def result; end +end + +# source://spoom//lib/spoom/sorbet.rb#16 +class Spoom::Sorbet::Error::Killed < ::Spoom::Sorbet::Error; end + +# source://spoom//lib/spoom/sorbet.rb#17 +class Spoom::Sorbet::Error::Segfault < ::Spoom::Sorbet::Error; end + +# source://spoom//lib/spoom/sorbet/errors.rb#6 +module Spoom::Sorbet::Errors + class << self + # : (Array[Error] errors) -> Array[Error] + # + # source://spoom//lib/spoom/sorbet/errors.rb#11 + sig { params(errors: T::Array[::Spoom::Sorbet::Errors::Error]).returns(T::Array[::Spoom::Sorbet::Errors::Error]) } + def sort_errors_by_code(errors); end + end +end + +# source://spoom//lib/spoom/sorbet/errors.rb#7 +Spoom::Sorbet::Errors::DEFAULT_ERROR_URL_BASE = T.let(T.unsafe(nil), String) + +# source://spoom//lib/spoom/sorbet/errors.rb#121 +class Spoom::Sorbet::Errors::Error + include ::Comparable + + # : (String? file, Integer? line, String? message, Integer? code, ?Array[String] more) -> void + # + # @return [Error] a new instance of Error + # + # source://spoom//lib/spoom/sorbet/errors.rb#138 + sig do + params( + file: T.nilable(::String), + line: T.nilable(::Integer), + message: T.nilable(::String), + code: T.nilable(::Integer), + more: T::Array[::String] + ).void + end + def initialize(file, line, message, code, more = T.unsafe(nil)); end + + # By default errors are sorted by location + # : (untyped other) -> Integer + # + # source://spoom//lib/spoom/sorbet/errors.rb#149 + # By default errors are sorted by location + sig { params(other: T.untyped).returns(::Integer) } + def <=>(other); end + + # : Integer? + # + # source://spoom//lib/spoom/sorbet/errors.rb#128 + # @return [Integer, nil] + def code; end + + # : String? + # + # source://spoom//lib/spoom/sorbet/errors.rb#125 + sig { returns(T.nilable(::String)) } + def file; end + + # Other files associated with the error + # : Set[String] + # + # source://spoom//lib/spoom/sorbet/errors.rb#135 + # Other files associated with the error + sig { returns(T::Set[::String]) } + def files_from_error_sections; end + + # : Integer? + # + # source://spoom//lib/spoom/sorbet/errors.rb#128 + sig { returns(T.nilable(::Integer)) } + def line; end + + # : String? + # + # source://spoom//lib/spoom/sorbet/errors.rb#125 + # @return [String, nil] + def message; end + + # : Array[String] + # + # source://spoom//lib/spoom/sorbet/errors.rb#131 + sig { returns(T::Array[::String]) } + def more; end + + # : -> String + # + # source://spoom//lib/spoom/sorbet/errors.rb#156 + sig { returns(::String) } + def to_s; end +end + +# Parse errors from Sorbet output +# +# source://spoom//lib/spoom/sorbet/errors.rb#16 +class Spoom::Sorbet::Errors::Parser + # : (?error_url_base: String) -> void + # + # @return [Parser] a new instance of Parser + # + # source://spoom//lib/spoom/sorbet/errors.rb#39 + sig { params(error_url_base: ::String).void } + def initialize(error_url_base: T.unsafe(nil)); end + + # : (String output) -> Array[Error] + # + # source://spoom//lib/spoom/sorbet/errors.rb#46 + sig { params(output: ::String).returns(T::Array[::Spoom::Sorbet::Errors::Error]) } + def parse(output); end + + private + + # : (String line) -> void + # + # @raise [ParseError] + # + # source://spoom//lib/spoom/sorbet/errors.rb#110 + sig { params(line: ::String).void } + def append_error(line); end + + # : -> void + # + # @raise [ParseError] + # + # source://spoom//lib/spoom/sorbet/errors.rb#102 + sig { void } + def close_error; end + + # : (String error_url_base) -> Regexp + # + # source://spoom//lib/spoom/sorbet/errors.rb#69 + sig { params(error_url_base: ::String).returns(::Regexp) } + def error_line_match_regexp(error_url_base); end + + # : (String line) -> Error? + # + # source://spoom//lib/spoom/sorbet/errors.rb#86 + sig { params(line: ::String).returns(T.nilable(::Spoom::Sorbet::Errors::Error)) } + def match_error_line(line); end + + # : (Error error) -> void + # + # @raise [ParseError] + # + # source://spoom//lib/spoom/sorbet/errors.rb#95 + sig { params(error: ::Spoom::Sorbet::Errors::Error).void } + def open_error(error); end + + class << self + # : (String output, ?error_url_base: String) -> Array[Error] + # + # source://spoom//lib/spoom/sorbet/errors.rb#32 + sig { params(output: ::String, error_url_base: ::String).returns(T::Array[::Spoom::Sorbet::Errors::Error]) } + def parse_string(output, error_url_base: T.unsafe(nil)); end + end +end + +# source://spoom//lib/spoom/sorbet/errors.rb#19 +Spoom::Sorbet::Errors::Parser::HEADER = T.let(T.unsafe(nil), Array) + +# source://spoom//lib/spoom/sorbet/errors.rb#17 +class Spoom::Sorbet::Errors::Parser::ParseError < ::Spoom::Error; end + +# source://spoom//lib/spoom/sorbet.rb#31 +Spoom::Sorbet::GEM_PATH = T.let(T.unsafe(nil), String) + +# source://spoom//lib/spoom/sorbet.rb#32 +Spoom::Sorbet::GEM_VERSION = T.let(T.unsafe(nil), String) + +# source://spoom//lib/spoom/sorbet.rb#35 +Spoom::Sorbet::KILLED_CODE = T.let(T.unsafe(nil), Integer) + +# source://spoom//lib/spoom/sorbet/metrics.rb#8 +module Spoom::Sorbet::MetricsParser + class << self + # : (String path, ?String prefix) -> Hash[String, Integer] + # + # source://spoom//lib/spoom/sorbet/metrics.rb#13 + sig { params(path: ::String, prefix: ::String).returns(T::Hash[::String, ::Integer]) } + def parse_file(path, prefix = T.unsafe(nil)); end + + # : (Hash[String, untyped] obj, ?String prefix) -> Hash[String, Integer] + # + # source://spoom//lib/spoom/sorbet/metrics.rb#23 + sig { params(obj: T::Hash[::String, T.untyped], prefix: ::String).returns(T::Hash[::String, ::Integer]) } + def parse_hash(obj, prefix = T.unsafe(nil)); end + + # : (String string, ?String prefix) -> Hash[String, Integer] + # + # source://spoom//lib/spoom/sorbet/metrics.rb#18 + sig { params(string: ::String, prefix: ::String).returns(T::Hash[::String, ::Integer]) } + def parse_string(string, prefix = T.unsafe(nil)); end + end +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#36 +Spoom::Sorbet::SEGFAULT_CODE = T.let(T.unsafe(nil), Integer) + +# source://spoom//lib/spoom/sorbet/sigils.rb#9 +module Spoom::Sorbet::Sigils + class << self + # changes the sigil in the file at the passed path to the specified new strictness + # : ((String | Pathname) path, String new_strictness) -> bool + # + # source://spoom//lib/spoom/sorbet/sigils.rb#68 + # changes the sigil in the file at the passed path to the specified new strictness + sig { params(path: T.any(::Pathname, ::String), new_strictness: ::String).returns(T::Boolean) } + def change_sigil_in_file(path, new_strictness); end + + # changes the sigil to have a new strictness in a list of files + # : (Array[String] path_list, String new_strictness) -> Array[String] + # + # source://spoom//lib/spoom/sorbet/sigils.rb#79 + # changes the sigil to have a new strictness in a list of files + sig { params(path_list: T::Array[::String], new_strictness: ::String).returns(T::Array[::String]) } + def change_sigil_in_files(path_list, new_strictness); end + + # returns a string containing the strictness of a sigil in a file at the passed path + # * returns nil if no sigil + # : ((String | Pathname) path) -> String? + # + # source://spoom//lib/spoom/sorbet/sigils.rb#59 + # returns a string containing the strictness of a sigil in a file at the passed path + # * returns nil if no sigil + sig { params(path: T.any(::Pathname, ::String)).returns(T.nilable(::String)) } + def file_strictness(path); end + + # returns the full sigil comment string for the passed strictness + # : (String strictness) -> String + # + # source://spoom//lib/spoom/sorbet/sigils.rb#34 + # returns the full sigil comment string for the passed strictness + sig { params(strictness: ::String).returns(::String) } + def sigil_string(strictness); end + + # returns the strictness of a sigil in the passed file content string (nil if no sigil) + # : (String content) -> String? + # + # source://spoom//lib/spoom/sorbet/sigils.rb#46 + # returns the strictness of a sigil in the passed file content string (nil if no sigil) + sig { params(content: ::String).returns(T.nilable(::String)) } + def strictness_in_content(content); end + + # returns a string which is the passed content but with the sigil updated to a new strictness + # : (String content, String new_strictness) -> String + # + # source://spoom//lib/spoom/sorbet/sigils.rb#52 + # returns a string which is the passed content but with the sigil updated to a new strictness + sig { params(content: ::String, new_strictness: ::String).returns(::String) } + def update_sigil(content, new_strictness); end + + # returns true if the passed string is a valid strictness (else false) + # : (String strictness) -> bool + # + # @return [Boolean] + # + # source://spoom//lib/spoom/sorbet/sigils.rb#40 + # returns true if the passed string is a valid strictness (else false) + sig { params(strictness: ::String).returns(T::Boolean) } + def valid_strictness?(strictness); end + end +end + +# source://spoom//lib/spoom/sorbet/sigils.rb#29 +Spoom::Sorbet::Sigils::SIGIL_REGEXP = T.let(T.unsafe(nil), Regexp) + +# source://spoom//lib/spoom/sorbet/sigils.rb#11 +Spoom::Sorbet::Sigils::STRICTNESS_FALSE = T.let(T.unsafe(nil), String) + +# source://spoom//lib/spoom/sorbet/sigils.rb#10 +Spoom::Sorbet::Sigils::STRICTNESS_IGNORE = T.let(T.unsafe(nil), String) + +# source://spoom//lib/spoom/sorbet/sigils.rb#15 +Spoom::Sorbet::Sigils::STRICTNESS_INTERNAL = T.let(T.unsafe(nil), String) + +# source://spoom//lib/spoom/sorbet/sigils.rb#13 +Spoom::Sorbet::Sigils::STRICTNESS_STRICT = T.let(T.unsafe(nil), String) + +# source://spoom//lib/spoom/sorbet/sigils.rb#14 +Spoom::Sorbet::Sigils::STRICTNESS_STRONG = T.let(T.unsafe(nil), String) + +# source://spoom//lib/spoom/sorbet/sigils.rb#12 +Spoom::Sorbet::Sigils::STRICTNESS_TRUE = T.let(T.unsafe(nil), String) + +# source://spoom//lib/spoom/sorbet/sigils.rb#17 +Spoom::Sorbet::Sigils::VALID_STRICTNESS = T.let(T.unsafe(nil), Array) + +# source://spoom//lib/spoom/sorbet/sigs.rb#8 +class Spoom::Sorbet::Sigs + class << self + # : (String ruby_contents, positional_names: bool) -> String + # + # source://spoom//lib/spoom/sorbet/sigs.rb#24 + sig { params(ruby_contents: ::String, positional_names: T::Boolean).returns(::String) } + def rbi_to_rbs(ruby_contents, positional_names: T.unsafe(nil)); end + + # : (String ruby_contents) -> String + # + # source://spoom//lib/spoom/sorbet/sigs.rb#46 + sig { params(ruby_contents: ::String).returns(::String) } + def rbs_to_rbi(ruby_contents); end + + # : (String ruby_contents) -> String + # + # source://spoom//lib/spoom/sorbet/sigs.rb#12 + sig { params(ruby_contents: ::String).returns(::String) } + def strip(ruby_contents); end + + private + + # : (String ruby_contents) -> Array[[RBI::RBSComment, (RBI::Method | RBI::Attr)]] + # + # source://spoom//lib/spoom/sorbet/sigs.rb#80 + sig { params(ruby_contents: ::String).returns(T::Array[[::RBI::RBSComment, T.any(::RBI::Attr, ::RBI::Method)]]) } + def collect_rbs_comments(ruby_contents); end + + # : (String ruby_contents) -> Array[[RBI::Sig, (RBI::Method | RBI::Attr)]] + # + # source://spoom//lib/spoom/sorbet/sigs.rb#72 + sig { params(ruby_contents: ::String).returns(T::Array[[::RBI::Sig, T.any(::RBI::Attr, ::RBI::Method)]]) } + def collect_sorbet_sigs(ruby_contents); end + end +end + +# source://spoom//lib/spoom/sorbet/sigs.rb#9 +class Spoom::Sorbet::Sigs::Error < ::Spoom::Error; end + +# source://spoom//lib/spoom/sorbet/sigs.rb#123 +class Spoom::Sorbet::Sigs::RBIToRBSTranslator + class << self + # : (RBI::Sig sig, (RBI::Method | RBI::Attr) node, positional_names: bool) -> String + # + # source://spoom//lib/spoom/sorbet/sigs.rb#126 + sig do + params( + sig: ::RBI::Sig, + node: T.any(::RBI::Attr, ::RBI::Method), + positional_names: T::Boolean + ).returns(::String) + end + def translate(sig, node, positional_names: T.unsafe(nil)); end + + private + + # : (RBI::Sig sig, RBI::Attr node, positional_names: bool) -> String + # + # source://spoom//lib/spoom/sorbet/sigs.rb#173 + sig { params(sig: ::RBI::Sig, node: ::RBI::Attr, positional_names: T::Boolean).returns(::String) } + def translate_attr_sig(sig, node, positional_names: T.unsafe(nil)); end + + # : (RBI::Sig sig, RBI::Method node, positional_names: bool) -> String + # + # source://spoom//lib/spoom/sorbet/sigs.rb#138 + sig { params(sig: ::RBI::Sig, node: ::RBI::Method, positional_names: T::Boolean).returns(::String) } + def translate_method_sig(sig, node, positional_names: T.unsafe(nil)); end + end +end + +# source://spoom//lib/spoom/sorbet/sigs.rb#182 +class Spoom::Sorbet::Sigs::RBSToRBITranslator + class << self + # : (RBI::RBSComment comment, (RBI::Method | RBI::Attr) node) -> String? + # + # source://spoom//lib/spoom/sorbet/sigs.rb#187 + sig { params(comment: ::RBI::RBSComment, node: T.any(::RBI::Attr, ::RBI::Method)).returns(T.nilable(::String)) } + def translate(comment, node); end + + private + + # : (RBI::RBSComment comment, RBI::Attr node) -> String + # + # source://spoom//lib/spoom/sorbet/sigs.rb#228 + sig { params(comment: ::RBI::RBSComment, node: ::RBI::Attr).returns(::String) } + def translate_attr_sig(comment, node); end + + # : (RBI::RBSComment rbs_comment, RBI::Method node) -> String + # + # source://spoom//lib/spoom/sorbet/sigs.rb#201 + sig { params(rbs_comment: ::RBI::RBSComment, node: ::RBI::Method).returns(::String) } + def translate_method_sig(rbs_comment, node); end + end +end + +# From https://github.com/Shopify/ruby-lsp/blob/9154bfc6ef/lib/ruby_lsp/document.rb#L127 +# +# source://spoom//lib/spoom/sorbet/sigs.rb#248 +class Spoom::Sorbet::Sigs::Scanner + # : (String source) -> void + # + # @return [Scanner] a new instance of Scanner + # + # source://spoom//lib/spoom/sorbet/sigs.rb#252 + sig { params(source: ::String).void } + def initialize(source); end + + # Finds the character index inside the source string for a given line and column + # : (Integer line, Integer character) -> Integer + # + # source://spoom//lib/spoom/sorbet/sigs.rb#260 + # Finds the character index inside the source string for a given line and column + sig { params(line: ::Integer, character: ::Integer).returns(::Integer) } + def find_char_position(line, character); end +end + +# source://spoom//lib/spoom/sorbet/sigs.rb#249 +Spoom::Sorbet::Sigs::Scanner::LINE_BREAK = T.let(T.unsafe(nil), Integer) + +# source://spoom//lib/spoom/sorbet/sigs.rb#88 +class Spoom::Sorbet::Sigs::SigsLocator < ::RBI::Visitor + # : -> void + # + # @return [SigsLocator] a new instance of SigsLocator + # + # source://spoom//lib/spoom/sorbet/sigs.rb#96 + sig { void } + def initialize; end + + # : Array[[RBI::RBSComment, (RBI::Method | RBI::Attr)]] + # + # source://spoom//lib/spoom/sorbet/sigs.rb#93 + sig { returns(T::Array[[::RBI::RBSComment, T.any(::RBI::Attr, ::RBI::Method)]]) } + def rbs_comments; end + + # : Array[[RBI::Sig, (RBI::Method | RBI::Attr)]] + # + # source://spoom//lib/spoom/sorbet/sigs.rb#90 + sig { returns(T::Array[[::RBI::Sig, T.any(::RBI::Attr, ::RBI::Method)]]) } + def sigs; end + + # : (RBI::Node? node) -> void + # + # source://spoom//lib/spoom/sorbet/sigs.rb#104 + sig { override.params(node: T.nilable(::RBI::Node)).void } + def visit(node); end +end + +# source://spoom//lib/spoom/timeline.rb#5 +class Spoom::Timeline + # : (Context context, Time from, Time to) -> void + # + # @return [Timeline] a new instance of Timeline + # + # source://spoom//lib/spoom/timeline.rb#7 + sig { params(context: ::Spoom::Context, from: ::Time, to: ::Time).void } + def initialize(context, from, to); end + + # Return one commit for each date in `dates` + # : (Array[Time] dates) -> Array[Git::Commit] + # + # source://spoom//lib/spoom/timeline.rb#34 + # Return one commit for each date in `dates` + sig { params(dates: T::Array[::Time]).returns(T::Array[::Spoom::Git::Commit]) } + def commits_for_dates(dates); end + + # Return all months between `from` and `to` + # : -> Array[Time] + # + # source://spoom//lib/spoom/timeline.rb#21 + # Return all months between `from` and `to` + sig { returns(T::Array[::Time]) } + def months; end + + # Return one commit for each month between `from` and `to` + # : -> Array[Git::Commit] + # + # source://spoom//lib/spoom/timeline.rb#15 + # Return one commit for each month between `from` and `to` + sig { returns(T::Array[::Spoom::Git::Commit]) } + def ticks; end +end + +# source://spoom//lib/spoom/version.rb#5 +Spoom::VERSION = T.let(T.unsafe(nil), String) + +# source://spoom//lib/spoom/visitor.rb#7 +class Spoom::Visitor < ::Prism::Visitor + # : (Prism::AliasGlobalVariableNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#16 + sig { override.params(node: ::Prism::AliasGlobalVariableNode).void } + def visit_alias_global_variable_node(node); end + + # : (Prism::AliasMethodNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#22 + sig { override.params(node: ::Prism::AliasMethodNode).void } + def visit_alias_method_node(node); end + + # : (Prism::AlternationPatternNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#28 + sig { override.params(node: ::Prism::AlternationPatternNode).void } + def visit_alternation_pattern_node(node); end + + # : (Prism::AndNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#34 + sig { override.params(node: ::Prism::AndNode).void } + def visit_and_node(node); end + + # : (Prism::ArgumentsNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#40 + sig { override.params(node: ::Prism::ArgumentsNode).void } + def visit_arguments_node(node); end + + # : (Prism::ArrayNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#46 + sig { override.params(node: ::Prism::ArrayNode).void } + def visit_array_node(node); end + + # : (Prism::ArrayPatternNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#52 + sig { override.params(node: ::Prism::ArrayPatternNode).void } + def visit_array_pattern_node(node); end + + # : (Prism::AssocNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#58 + sig { override.params(node: ::Prism::AssocNode).void } + def visit_assoc_node(node); end + + # : (Prism::AssocSplatNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#64 + sig { override.params(node: ::Prism::AssocSplatNode).void } + def visit_assoc_splat_node(node); end + + # : (Prism::BackReferenceReadNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#70 + sig { override.params(node: ::Prism::BackReferenceReadNode).void } + def visit_back_reference_read_node(node); end + + # : (Prism::BeginNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#76 + sig { override.params(node: ::Prism::BeginNode).void } + def visit_begin_node(node); end + + # : (Prism::BlockArgumentNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#82 + sig { override.params(node: ::Prism::BlockArgumentNode).void } + def visit_block_argument_node(node); end + + # : (Prism::BlockLocalVariableNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#88 + sig { override.params(node: ::Prism::BlockLocalVariableNode).void } + def visit_block_local_variable_node(node); end + + # : (Prism::BlockNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#94 + sig { override.params(node: ::Prism::BlockNode).void } + def visit_block_node(node); end + + # : (Prism::BlockParameterNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#100 + sig { override.params(node: ::Prism::BlockParameterNode).void } + def visit_block_parameter_node(node); end + + # : (Prism::BlockParametersNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#106 + sig { override.params(node: ::Prism::BlockParametersNode).void } + def visit_block_parameters_node(node); end + + # : (Prism::BreakNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#112 + sig { override.params(node: ::Prism::BreakNode).void } + def visit_break_node(node); end + + # : (Prism::CallAndWriteNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#118 + sig { override.params(node: ::Prism::CallAndWriteNode).void } + def visit_call_and_write_node(node); end + + # : (Prism::CallNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#124 + sig { override.params(node: ::Prism::CallNode).void } + def visit_call_node(node); end + + # : (Prism::CallOperatorWriteNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#130 + sig { override.params(node: ::Prism::CallOperatorWriteNode).void } + def visit_call_operator_write_node(node); end + + # : (Prism::CallOrWriteNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#136 + sig { override.params(node: ::Prism::CallOrWriteNode).void } + def visit_call_or_write_node(node); end + + # : (Prism::CallTargetNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#142 + sig { override.params(node: ::Prism::CallTargetNode).void } + def visit_call_target_node(node); end + + # : (Prism::CapturePatternNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#148 + sig { override.params(node: ::Prism::CapturePatternNode).void } + def visit_capture_pattern_node(node); end + + # : (Prism::CaseMatchNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#154 + sig { override.params(node: ::Prism::CaseMatchNode).void } + def visit_case_match_node(node); end + + # : (Prism::CaseNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#160 + sig { override.params(node: ::Prism::CaseNode).void } + def visit_case_node(node); end + + # : (Prism::Node node) -> void + # + # source://spoom//lib/spoom/visitor.rb#10 + sig { override.params(node: ::Prism::Node).void } + def visit_child_nodes(node); end + + # : (Prism::ClassNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#166 + sig { override.params(node: ::Prism::ClassNode).void } + def visit_class_node(node); end + + # : (Prism::ClassVariableAndWriteNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#172 + sig { override.params(node: ::Prism::ClassVariableAndWriteNode).void } + def visit_class_variable_and_write_node(node); end + + # : (Prism::ClassVariableOperatorWriteNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#178 + sig { override.params(node: ::Prism::ClassVariableOperatorWriteNode).void } + def visit_class_variable_operator_write_node(node); end + + # : (Prism::ClassVariableOrWriteNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#184 + sig { override.params(node: ::Prism::ClassVariableOrWriteNode).void } + def visit_class_variable_or_write_node(node); end + + # : (Prism::ClassVariableReadNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#190 + sig { override.params(node: ::Prism::ClassVariableReadNode).void } + def visit_class_variable_read_node(node); end + + # : (Prism::ClassVariableTargetNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#196 + sig { override.params(node: ::Prism::ClassVariableTargetNode).void } + def visit_class_variable_target_node(node); end + + # : (Prism::ClassVariableWriteNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#202 + sig { override.params(node: ::Prism::ClassVariableWriteNode).void } + def visit_class_variable_write_node(node); end + + # : (Prism::ConstantAndWriteNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#208 + sig { override.params(node: ::Prism::ConstantAndWriteNode).void } + def visit_constant_and_write_node(node); end + + # : (Prism::ConstantOperatorWriteNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#214 + sig { override.params(node: ::Prism::ConstantOperatorWriteNode).void } + def visit_constant_operator_write_node(node); end + + # : (Prism::ConstantOrWriteNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#220 + sig { override.params(node: ::Prism::ConstantOrWriteNode).void } + def visit_constant_or_write_node(node); end + + # : (Prism::ConstantPathAndWriteNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#226 + sig { override.params(node: ::Prism::ConstantPathAndWriteNode).void } + def visit_constant_path_and_write_node(node); end + + # : (Prism::ConstantPathNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#232 + sig { override.params(node: ::Prism::ConstantPathNode).void } + def visit_constant_path_node(node); end + + # : (Prism::ConstantPathOperatorWriteNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#238 + sig { override.params(node: ::Prism::ConstantPathOperatorWriteNode).void } + def visit_constant_path_operator_write_node(node); end + + # : (Prism::ConstantPathOrWriteNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#244 + sig { override.params(node: ::Prism::ConstantPathOrWriteNode).void } + def visit_constant_path_or_write_node(node); end + + # : (Prism::ConstantPathTargetNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#250 + sig { override.params(node: ::Prism::ConstantPathTargetNode).void } + def visit_constant_path_target_node(node); end + + # : (Prism::ConstantPathWriteNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#256 + sig { override.params(node: ::Prism::ConstantPathWriteNode).void } + def visit_constant_path_write_node(node); end + + # : (Prism::ConstantReadNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#262 + sig { override.params(node: ::Prism::ConstantReadNode).void } + def visit_constant_read_node(node); end + + # : (Prism::ConstantTargetNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#268 + sig { override.params(node: ::Prism::ConstantTargetNode).void } + def visit_constant_target_node(node); end + + # : (Prism::ConstantWriteNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#274 + sig { override.params(node: ::Prism::ConstantWriteNode).void } + def visit_constant_write_node(node); end + + # : (Prism::DefNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#280 + sig { override.params(node: ::Prism::DefNode).void } + def visit_def_node(node); end + + # : (Prism::DefinedNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#286 + sig { override.params(node: ::Prism::DefinedNode).void } + def visit_defined_node(node); end + + # : (Prism::ElseNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#292 + sig { override.params(node: ::Prism::ElseNode).void } + def visit_else_node(node); end + + # : (Prism::EmbeddedStatementsNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#298 + sig { override.params(node: ::Prism::EmbeddedStatementsNode).void } + def visit_embedded_statements_node(node); end + + # : (Prism::EmbeddedVariableNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#304 + sig { override.params(node: ::Prism::EmbeddedVariableNode).void } + def visit_embedded_variable_node(node); end + + # : (Prism::EnsureNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#310 + sig { override.params(node: ::Prism::EnsureNode).void } + def visit_ensure_node(node); end + + # : (Prism::FalseNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#316 + sig { override.params(node: ::Prism::FalseNode).void } + def visit_false_node(node); end + + # : (Prism::FindPatternNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#322 + sig { override.params(node: ::Prism::FindPatternNode).void } + def visit_find_pattern_node(node); end + + # : (Prism::FlipFlopNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#328 + sig { override.params(node: ::Prism::FlipFlopNode).void } + def visit_flip_flop_node(node); end + + # : (Prism::FloatNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#334 + sig { override.params(node: ::Prism::FloatNode).void } + def visit_float_node(node); end + + # : (Prism::ForNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#340 + sig { override.params(node: ::Prism::ForNode).void } + def visit_for_node(node); end + + # : (Prism::ForwardingArgumentsNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#346 + sig { override.params(node: ::Prism::ForwardingArgumentsNode).void } + def visit_forwarding_arguments_node(node); end + + # : (Prism::ForwardingParameterNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#352 + sig { override.params(node: ::Prism::ForwardingParameterNode).void } + def visit_forwarding_parameter_node(node); end + + # : (Prism::ForwardingSuperNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#358 + sig { override.params(node: ::Prism::ForwardingSuperNode).void } + def visit_forwarding_super_node(node); end + + # : (Prism::GlobalVariableAndWriteNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#364 + sig { override.params(node: ::Prism::GlobalVariableAndWriteNode).void } + def visit_global_variable_and_write_node(node); end + + # : (Prism::GlobalVariableOperatorWriteNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#370 + sig { override.params(node: ::Prism::GlobalVariableOperatorWriteNode).void } + def visit_global_variable_operator_write_node(node); end + + # : (Prism::GlobalVariableOrWriteNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#376 + sig { override.params(node: ::Prism::GlobalVariableOrWriteNode).void } + def visit_global_variable_or_write_node(node); end + + # : (Prism::GlobalVariableReadNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#382 + sig { override.params(node: ::Prism::GlobalVariableReadNode).void } + def visit_global_variable_read_node(node); end + + # : (Prism::GlobalVariableTargetNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#388 + sig { override.params(node: ::Prism::GlobalVariableTargetNode).void } + def visit_global_variable_target_node(node); end + + # : (Prism::GlobalVariableWriteNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#394 + sig { override.params(node: ::Prism::GlobalVariableWriteNode).void } + def visit_global_variable_write_node(node); end + + # : (Prism::HashNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#400 + sig { override.params(node: ::Prism::HashNode).void } + def visit_hash_node(node); end + + # : (Prism::HashPatternNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#406 + sig { override.params(node: ::Prism::HashPatternNode).void } + def visit_hash_pattern_node(node); end + + # : (Prism::IfNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#412 + sig { override.params(node: ::Prism::IfNode).void } + def visit_if_node(node); end + + # : (Prism::ImaginaryNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#418 + sig { override.params(node: ::Prism::ImaginaryNode).void } + def visit_imaginary_node(node); end + + # : (Prism::ImplicitNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#424 + sig { override.params(node: ::Prism::ImplicitNode).void } + def visit_implicit_node(node); end + + # : (Prism::ImplicitRestNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#430 + sig { override.params(node: ::Prism::ImplicitRestNode).void } + def visit_implicit_rest_node(node); end + + # : (Prism::InNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#436 + sig { override.params(node: ::Prism::InNode).void } + def visit_in_node(node); end + + # : (Prism::IndexAndWriteNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#442 + sig { override.params(node: ::Prism::IndexAndWriteNode).void } + def visit_index_and_write_node(node); end + + # : (Prism::IndexOperatorWriteNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#448 + sig { override.params(node: ::Prism::IndexOperatorWriteNode).void } + def visit_index_operator_write_node(node); end + + # : (Prism::IndexOrWriteNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#454 + sig { override.params(node: ::Prism::IndexOrWriteNode).void } + def visit_index_or_write_node(node); end + + # : (Prism::IndexTargetNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#460 + sig { override.params(node: ::Prism::IndexTargetNode).void } + def visit_index_target_node(node); end + + # : (Prism::InstanceVariableAndWriteNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#466 + sig { override.params(node: ::Prism::InstanceVariableAndWriteNode).void } + def visit_instance_variable_and_write_node(node); end + + # : (Prism::InstanceVariableOperatorWriteNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#472 + sig { override.params(node: ::Prism::InstanceVariableOperatorWriteNode).void } + def visit_instance_variable_operator_write_node(node); end + + # : (Prism::InstanceVariableOrWriteNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#478 + sig { override.params(node: ::Prism::InstanceVariableOrWriteNode).void } + def visit_instance_variable_or_write_node(node); end + + # : (Prism::InstanceVariableReadNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#484 + sig { override.params(node: ::Prism::InstanceVariableReadNode).void } + def visit_instance_variable_read_node(node); end + + # : (Prism::InstanceVariableTargetNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#490 + sig { override.params(node: ::Prism::InstanceVariableTargetNode).void } + def visit_instance_variable_target_node(node); end + + # : (Prism::InstanceVariableWriteNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#496 + sig { override.params(node: ::Prism::InstanceVariableWriteNode).void } + def visit_instance_variable_write_node(node); end + + # : (Prism::IntegerNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#502 + sig { override.params(node: ::Prism::IntegerNode).void } + def visit_integer_node(node); end + + # : (Prism::InterpolatedMatchLastLineNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#508 + sig { override.params(node: ::Prism::InterpolatedMatchLastLineNode).void } + def visit_interpolated_match_last_line_node(node); end + + # : (Prism::InterpolatedRegularExpressionNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#514 + sig { override.params(node: ::Prism::InterpolatedRegularExpressionNode).void } + def visit_interpolated_regular_expression_node(node); end + + # : (Prism::InterpolatedStringNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#520 + sig { override.params(node: ::Prism::InterpolatedStringNode).void } + def visit_interpolated_string_node(node); end + + # : (Prism::InterpolatedSymbolNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#526 + sig { override.params(node: ::Prism::InterpolatedSymbolNode).void } + def visit_interpolated_symbol_node(node); end + + # : (Prism::InterpolatedXStringNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#532 + sig { override.params(node: ::Prism::InterpolatedXStringNode).void } + def visit_interpolated_x_string_node(node); end + + # : (Prism::KeywordHashNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#538 + sig { override.params(node: ::Prism::KeywordHashNode).void } + def visit_keyword_hash_node(node); end + + # : (Prism::KeywordRestParameterNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#544 + sig { override.params(node: ::Prism::KeywordRestParameterNode).void } + def visit_keyword_rest_parameter_node(node); end + + # : (Prism::LambdaNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#550 + sig { override.params(node: ::Prism::LambdaNode).void } + def visit_lambda_node(node); end + + # : (Prism::LocalVariableAndWriteNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#556 + sig { override.params(node: ::Prism::LocalVariableAndWriteNode).void } + def visit_local_variable_and_write_node(node); end + + # : (Prism::LocalVariableOperatorWriteNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#562 + sig { override.params(node: ::Prism::LocalVariableOperatorWriteNode).void } + def visit_local_variable_operator_write_node(node); end + + # : (Prism::LocalVariableOrWriteNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#568 + sig { override.params(node: ::Prism::LocalVariableOrWriteNode).void } + def visit_local_variable_or_write_node(node); end + + # : (Prism::LocalVariableReadNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#574 + sig { override.params(node: ::Prism::LocalVariableReadNode).void } + def visit_local_variable_read_node(node); end + + # : (Prism::LocalVariableTargetNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#580 + sig { override.params(node: ::Prism::LocalVariableTargetNode).void } + def visit_local_variable_target_node(node); end + + # : (Prism::LocalVariableWriteNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#586 + sig { override.params(node: ::Prism::LocalVariableWriteNode).void } + def visit_local_variable_write_node(node); end + + # : (Prism::MatchLastLineNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#592 + sig { override.params(node: ::Prism::MatchLastLineNode).void } + def visit_match_last_line_node(node); end + + # : (Prism::MatchPredicateNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#598 + sig { override.params(node: ::Prism::MatchPredicateNode).void } + def visit_match_predicate_node(node); end + + # : (Prism::MatchRequiredNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#604 + sig { override.params(node: ::Prism::MatchRequiredNode).void } + def visit_match_required_node(node); end + + # : (Prism::MatchWriteNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#610 + sig { override.params(node: ::Prism::MatchWriteNode).void } + def visit_match_write_node(node); end + + # : (Prism::MissingNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#616 + sig { override.params(node: ::Prism::MissingNode).void } + def visit_missing_node(node); end + + # : (Prism::ModuleNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#622 + sig { override.params(node: ::Prism::ModuleNode).void } + def visit_module_node(node); end + + # : (Prism::MultiTargetNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#628 + sig { override.params(node: ::Prism::MultiTargetNode).void } + def visit_multi_target_node(node); end + + # : (Prism::MultiWriteNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#634 + sig { override.params(node: ::Prism::MultiWriteNode).void } + def visit_multi_write_node(node); end + + # : (Prism::NextNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#640 + sig { override.params(node: ::Prism::NextNode).void } + def visit_next_node(node); end + + # : (Prism::NilNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#646 + sig { override.params(node: ::Prism::NilNode).void } + def visit_nil_node(node); end + + # : (Prism::NoKeywordsParameterNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#652 + sig { override.params(node: ::Prism::NoKeywordsParameterNode).void } + def visit_no_keywords_parameter_node(node); end + + # : (Prism::NumberedParametersNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#658 + sig { override.params(node: ::Prism::NumberedParametersNode).void } + def visit_numbered_parameters_node(node); end + + # : (Prism::NumberedReferenceReadNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#664 + sig { override.params(node: ::Prism::NumberedReferenceReadNode).void } + def visit_numbered_reference_read_node(node); end + + # : (Prism::OptionalKeywordParameterNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#670 + sig { override.params(node: ::Prism::OptionalKeywordParameterNode).void } + def visit_optional_keyword_parameter_node(node); end + + # : (Prism::OptionalParameterNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#676 + sig { override.params(node: ::Prism::OptionalParameterNode).void } + def visit_optional_parameter_node(node); end + + # : (Prism::OrNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#682 + sig { override.params(node: ::Prism::OrNode).void } + def visit_or_node(node); end + + # : (Prism::ParametersNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#688 + sig { override.params(node: ::Prism::ParametersNode).void } + def visit_parameters_node(node); end + + # : (Prism::ParenthesesNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#694 + sig { override.params(node: ::Prism::ParenthesesNode).void } + def visit_parentheses_node(node); end + + # : (Prism::PinnedExpressionNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#700 + sig { override.params(node: ::Prism::PinnedExpressionNode).void } + def visit_pinned_expression_node(node); end + + # : (Prism::PinnedVariableNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#706 + sig { override.params(node: ::Prism::PinnedVariableNode).void } + def visit_pinned_variable_node(node); end + + # : (Prism::PostExecutionNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#712 + sig { override.params(node: ::Prism::PostExecutionNode).void } + def visit_post_execution_node(node); end + + # : (Prism::PreExecutionNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#718 + sig { override.params(node: ::Prism::PreExecutionNode).void } + def visit_pre_execution_node(node); end + + # : (Prism::ProgramNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#724 + sig { override.params(node: ::Prism::ProgramNode).void } + def visit_program_node(node); end + + # : (Prism::RangeNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#730 + sig { override.params(node: ::Prism::RangeNode).void } + def visit_range_node(node); end + + # : (Prism::RationalNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#736 + sig { override.params(node: ::Prism::RationalNode).void } + def visit_rational_node(node); end + + # : (Prism::RedoNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#742 + sig { override.params(node: ::Prism::RedoNode).void } + def visit_redo_node(node); end + + # : (Prism::RegularExpressionNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#748 + sig { override.params(node: ::Prism::RegularExpressionNode).void } + def visit_regular_expression_node(node); end + + # : (Prism::RequiredKeywordParameterNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#754 + sig { override.params(node: ::Prism::RequiredKeywordParameterNode).void } + def visit_required_keyword_parameter_node(node); end + + # : (Prism::RequiredParameterNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#760 + sig { override.params(node: ::Prism::RequiredParameterNode).void } + def visit_required_parameter_node(node); end + + # : (Prism::RescueModifierNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#766 + sig { override.params(node: ::Prism::RescueModifierNode).void } + def visit_rescue_modifier_node(node); end + + # : (Prism::RescueNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#772 + sig { override.params(node: ::Prism::RescueNode).void } + def visit_rescue_node(node); end + + # : (Prism::RestParameterNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#778 + sig { override.params(node: ::Prism::RestParameterNode).void } + def visit_rest_parameter_node(node); end + + # : (Prism::RetryNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#784 + sig { override.params(node: ::Prism::RetryNode).void } + def visit_retry_node(node); end + + # : (Prism::ReturnNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#790 + sig { override.params(node: ::Prism::ReturnNode).void } + def visit_return_node(node); end + + # : (Prism::SelfNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#796 + sig { override.params(node: ::Prism::SelfNode).void } + def visit_self_node(node); end + + # : (Prism::SingletonClassNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#802 + sig { override.params(node: ::Prism::SingletonClassNode).void } + def visit_singleton_class_node(node); end + + # : (Prism::SourceEncodingNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#808 + sig { override.params(node: ::Prism::SourceEncodingNode).void } + def visit_source_encoding_node(node); end + + # : (Prism::SourceFileNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#814 + sig { override.params(node: ::Prism::SourceFileNode).void } + def visit_source_file_node(node); end + + # : (Prism::SourceLineNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#820 + sig { override.params(node: ::Prism::SourceLineNode).void } + def visit_source_line_node(node); end + + # : (Prism::SplatNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#826 + sig { override.params(node: ::Prism::SplatNode).void } + def visit_splat_node(node); end + + # : (Prism::StatementsNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#832 + sig { override.params(node: ::Prism::StatementsNode).void } + def visit_statements_node(node); end + + # : (Prism::StringNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#838 + sig { override.params(node: ::Prism::StringNode).void } + def visit_string_node(node); end + + # : (Prism::SuperNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#844 + sig { override.params(node: ::Prism::SuperNode).void } + def visit_super_node(node); end + + # : (Prism::SymbolNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#850 + sig { override.params(node: ::Prism::SymbolNode).void } + def visit_symbol_node(node); end + + # : (Prism::TrueNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#856 + sig { override.params(node: ::Prism::TrueNode).void } + def visit_true_node(node); end + + # : (Prism::UndefNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#862 + sig { override.params(node: ::Prism::UndefNode).void } + def visit_undef_node(node); end + + # : (Prism::UnlessNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#868 + sig { override.params(node: ::Prism::UnlessNode).void } + def visit_unless_node(node); end + + # : (Prism::UntilNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#874 + sig { override.params(node: ::Prism::UntilNode).void } + def visit_until_node(node); end + + # : (Prism::WhenNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#880 + sig { override.params(node: ::Prism::WhenNode).void } + def visit_when_node(node); end + + # : (Prism::WhileNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#886 + sig { override.params(node: ::Prism::WhileNode).void } + def visit_while_node(node); end + + # : (Prism::XStringNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#892 + sig { override.params(node: ::Prism::XStringNode).void } + def visit_x_string_node(node); end + + # : (Prism::YieldNode node) -> void + # + # source://spoom//lib/spoom/visitor.rb#898 + sig { override.params(node: ::Prism::YieldNode).void } + def visit_yield_node(node); end +end diff --git a/sorbet/rbi/gems/tapioca@0.16.8.rbi b/sorbet/rbi/gems/tapioca@0.16.11-5995622a06e194a6308223d789d73f3cc9eae9c4.rbi similarity index 54% rename from sorbet/rbi/gems/tapioca@0.16.8.rbi rename to sorbet/rbi/gems/tapioca@0.16.11-5995622a06e194a6308223d789d73f3cc9eae9c4.rbi index 5e1e4573..18d94ff1 100644 --- a/sorbet/rbi/gems/tapioca@0.16.8.rbi +++ b/sorbet/rbi/gems/tapioca@0.16.11-5995622a06e194a6308223d789d73f3cc9eae9c4.rbi @@ -1,4 +1,4 @@ -# typed: true +# typed: false # DO NOT EDIT MANUALLY # This is an autogenerated file for types exported from the `tapioca` gem. @@ -9,20 +9,26 @@ class Bundler::Dependency < ::Gem::Dependency include ::Tapioca::BundlerExt::AutoRequireHook end -# source://tapioca/lib/tapioca/helpers/git_attributes.rb#4 +# source://tapioca//lib/tapioca/helpers/git_attributes.rb#4 class GitAttributes class << self - # source://tapioca/lib/tapioca/helpers/git_attributes.rb#9 + # : (Pathname path) -> void + # + # 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 + # : (Pathname path) -> void + # + # 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 + # : (Pathname path, String content) -> void + # + # source://tapioca//lib/tapioca/helpers/git_attributes.rb#25 sig { params(path: ::Pathname, content: ::String).void } def create_gitattributes_file(path, content); end end @@ -35,49 +41,41 @@ end # That's because RubyGems does alias-method-chain for Kernel#require and such, # so, if Bootsnap were to do prepend, it might end up breaking RubyGems. # -# source://tapioca/lib/tapioca/runtime/trackers/autoload.rb#68 +# source://tapioca//lib/tapioca/runtime/trackers/autoload.rb#64 class Module - # source://tapioca/lib/tapioca/runtime/trackers/mixin.rb#101 + # source://tapioca//lib/tapioca/runtime/trackers/mixin.rb#97 def append_features(constant); end - # source://tapioca/lib/tapioca/runtime/trackers/autoload.rb#71 + # source://tapioca//lib/tapioca/runtime/trackers/autoload.rb#67 def autoload(const_name, path); end - # source://tapioca/lib/tapioca/runtime/trackers/mixin.rb#111 + # source://tapioca//lib/tapioca/runtime/trackers/mixin.rb#107 def extend_object(obj); end - # source://tapioca/lib/tapioca/runtime/trackers/mixin.rb#91 + # source://tapioca//lib/tapioca/runtime/trackers/mixin.rb#87 def prepend_features(constant); end end -# source://tapioca/lib/tapioca/rbi_ext/model.rb#4 +# source://tapioca//lib/tapioca/rbi_ext/model.rb#4 module RBI; end -# source://tapioca/lib/tapioca/rbi_ext/model.rb#5 +# source://tapioca//lib/tapioca/rbi_ext/model.rb#5 class RBI::Tree < ::RBI::NodeWithComments - # source://rbi/0.2.3lib/rbi/model.rb#121 - sig do - params( - loc: T.nilable(::RBI::Loc), - comments: T::Array[::RBI::Comment], - block: T.nilable(T.proc.params(node: ::RBI::Tree).void) - ).void - end + # source://rbi/0.3.1/lib/rbi/model.rb#117 def initialize(loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end - # source://rbi/0.2.3lib/rbi/model.rb#128 - sig { params(node: ::RBI::Node).void } + # source://rbi/0.3.1/lib/rbi/model.rb#124 def <<(node); end - # source://rbi/0.2.3lib/rbi/rewriters/add_sig_templates.rb#66 - sig { params(with_todo_comment: T::Boolean).void } + # source://rbi/0.3.1/lib/rbi/rewriters/add_sig_templates.rb#63 def add_sig_templates!(with_todo_comment: T.unsafe(nil)); end - # source://rbi/0.2.3lib/rbi/rewriters/annotate.rb#49 - sig { params(annotation: ::String, annotate_scopes: T::Boolean, annotate_properties: T::Boolean).void } + # source://rbi/0.3.1/lib/rbi/rewriters/annotate.rb#46 def annotate!(annotation, annotate_scopes: T.unsafe(nil), annotate_properties: T.unsafe(nil)); end - # source://tapioca/lib/tapioca/rbi_ext/model.rb#38 + # : (String name, ?superclass_name: String?) ?{ (RBI::Scope scope) -> void } -> Scope + # + # source://tapioca//lib/tapioca/rbi_ext/model.rb#32 sig do params( name: ::String, @@ -87,19 +85,27 @@ class RBI::Tree < ::RBI::NodeWithComments end def create_class(name, superclass_name: T.unsafe(nil), &block); end - # source://tapioca/lib/tapioca/rbi_ext/model.rb#45 + # : (String name, value: String) -> void + # + # source://tapioca//lib/tapioca/rbi_ext/model.rb#39 sig { params(name: ::String, value: ::String).void } def create_constant(name, value:); end - # source://tapioca/lib/tapioca/rbi_ext/model.rb#55 + # : (String name) -> void + # + # source://tapioca//lib/tapioca/rbi_ext/model.rb#49 sig { params(name: ::String).void } def create_extend(name); end - # source://tapioca/lib/tapioca/rbi_ext/model.rb#50 + # : (String name) -> void + # + # source://tapioca//lib/tapioca/rbi_ext/model.rb#44 sig { params(name: ::String).void } def create_include(name); end - # source://tapioca/lib/tapioca/rbi_ext/model.rb#90 + # : (String name, ?parameters: Array[TypedParam], ?return_type: String?, ?class_method: bool, ?visibility: RBI::Visibility, ?comments: Array[RBI::Comment]) ?{ (RBI::Method node) -> void } -> void + # + # source://tapioca//lib/tapioca/rbi_ext/model.rb#65 sig do params( name: ::String, @@ -113,19 +119,27 @@ 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), &block); end - # source://tapioca/lib/tapioca/rbi_ext/model.rb#60 + # : (String name) -> void + # + # source://tapioca//lib/tapioca/rbi_ext/model.rb#54 sig { params(name: ::String).void } def create_mixes_in_class_methods(name); end - # source://tapioca/lib/tapioca/rbi_ext/model.rb#25 + # : (String name) ?{ (Scope scope) -> void } -> Scope + # + # source://tapioca//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/lib/tapioca/rbi_ext/model.rb#9 + # : (::Module constant) ?{ (Scope scope) -> void } -> Scope + # + # source://tapioca//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/lib/tapioca/rbi_ext/model.rb#74 + # : (String name, type: String, ?variance: Symbol, ?fixed: String?, ?upper: String?, ?lower: String?) -> void + # + # source://tapioca//lib/tapioca/rbi_ext/model.rb#59 sig do params( name: ::String, @@ -138,105 +152,91 @@ 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.2.3lib/rbi/rewriters/deannotate.rb#41 - sig { params(annotation: ::String).void } + # source://rbi/0.3.1/lib/rbi/rewriters/deannotate.rb#38 def deannotate!(annotation); end - # source://rbi/0.2.3lib/rbi/model.rb#134 - sig { returns(T::Boolean) } + # source://rbi/0.3.1/lib/rbi/model.rb#130 def empty?; end - # source://rbi/0.2.3lib/rbi/rewriters/filter_versions.rb#118 - sig { params(version: ::Gem::Version).void } + # source://rbi/0.3.1/lib/rbi/rewriters/filter_versions.rb#113 def filter_versions!(version); end - # source://rbi/0.2.3lib/rbi/rewriters/flatten_singleton_methods.rb#60 - sig { void } + # source://rbi/0.3.1/lib/rbi/rewriters/flatten_singleton_methods.rb#57 def flatten_singleton_methods!; end - # source://rbi/0.2.3lib/rbi/rewriters/flatten_visibilities.rb#60 - sig { void } + # source://rbi/0.3.1/lib/rbi/rewriters/flatten_visibilities.rb#57 def flatten_visibilities!; end - # source://rbi/0.2.3lib/rbi/rewriters/group_nodes.rb#81 - sig { void } + # source://rbi/0.3.1/lib/rbi/rewriters/group_nodes.rb#78 def group_nodes!; end - # source://rbi/0.2.3lib/rbi/index.rb#68 - sig { returns(::RBI::Index) } + # source://rbi/0.3.1/lib/rbi/index.rb#64 def index; end - # source://rbi/0.2.3lib/rbi/rewriters/merge_trees.rb#324 - sig do - params( - other: ::RBI::Tree, - left_name: ::String, - right_name: ::String, - keep: ::RBI::Rewriters::Merge::Keep - ).returns(::RBI::MergeTree) - end + # source://rbi/0.3.1/lib/rbi/rewriters/merge_trees.rb#314 def merge(other, left_name: T.unsafe(nil), right_name: T.unsafe(nil), keep: T.unsafe(nil)); end - # source://rbi/0.2.3lib/rbi/rewriters/nest_non_public_members.rb#46 - sig { void } + # source://rbi/0.3.1/lib/rbi/rewriters/nest_non_public_members.rb#43 def nest_non_public_members!; end - # source://rbi/0.2.3lib/rbi/rewriters/nest_singleton_methods.rb#36 - sig { void } + # source://rbi/0.3.1/lib/rbi/rewriters/nest_singleton_methods.rb#33 def nest_singleton_methods!; end - # source://rbi/0.2.3lib/rbi/rewriters/nest_top_level_members.rb#63 - sig { void } + # source://rbi/0.3.1/lib/rbi/rewriters/nest_top_level_members.rb#60 def nest_top_level_members!; end - # source://rbi/0.2.3lib/rbi/model.rb#112 - sig { returns(T::Array[::RBI::Node]) } + # source://rbi/0.3.1/lib/rbi/model.rb#114 def nodes; end - # source://rbi/0.2.3lib/rbi/rewriters/attr_to_methods.rb#53 - sig { void } + # source://rbi/0.3.1/lib/rbi/rewriters/attr_to_methods.rb#50 def replace_attributes_with_methods!; end - # source://rbi/0.2.3lib/rbi/rewriters/sort_nodes.rb#119 - sig { void } + # source://rbi/0.3.1/lib/rbi/rewriters/sort_nodes.rb#116 def sort_nodes!; end + # source://rbi/0.3.1/lib/rbi/rewriters/translate_rbs_sigs.rb#82 + def translate_rbs_sigs!; end + private - # source://tapioca/lib/tapioca/rbi_ext/model.rb#123 + # : (RBI::Node node) -> RBI::Node + # + # source://tapioca//lib/tapioca/rbi_ext/model.rb#98 sig { params(node: ::RBI::Node).returns(::RBI::Node) } def create_node(node); end - # source://tapioca/lib/tapioca/rbi_ext/model.rb#118 + # : -> Hash[String, RBI::Node] + # + # source://tapioca//lib/tapioca/rbi_ext/model.rb#93 sig { returns(T::Hash[::String, ::RBI::Node]) } def nodes_cache; end end -# source://tapioca/lib/tapioca/rbi_ext/model.rb#133 +# source://tapioca//lib/tapioca/rbi_ext/model.rb#108 class RBI::TypedParam < ::T::Struct const :param, ::RBI::Param const :type, ::String class << self - # source://sorbet-runtime/0.5.11761lib/types/struct.rb#13 + # source://sorbet-runtime/0.5.11915/lib/types/struct.rb#13 def inherited(s); end end end -# source://tapioca/lib/tapioca/sorbet_ext/generic_name_patch.rb#5 +# 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 + # 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 + # 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 + # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#21 def type_member(variance = T.unsafe(nil), &bounds_proc); end - # source://tapioca/lib/tapioca/sorbet_ext/generic_name_patch.rb#34 + # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#34 def type_template(variance = T.unsafe(nil), &bounds_proc); end end @@ -247,25 +247,44 @@ end # We are interested in the data of the `[]`, `type_member` and `type_template` calls which # are all needed to generate good generic information at runtime. # -# source://tapioca/lib/tapioca/sorbet_ext/generic_name_patch.rb#12 +# source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#12 module T::Generic::TypeStoragePatch - # source://tapioca/lib/tapioca/sorbet_ext/generic_name_patch.rb#13 + # 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 + # 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 + # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#21 def type_member(variance = T.unsafe(nil), &bounds_proc); end - # source://tapioca/lib/tapioca/sorbet_ext/generic_name_patch.rb#34 + # 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 +# source://tapioca//lib/tapioca/runtime/trackers/required_ancestor.rb#54 +module T::Helpers + # source://tapioca//lib/tapioca/runtime/trackers/required_ancestor.rb#56 + def requires_ancestor(&block); end +end + +class T::InexactStruct + include ::T::Props + include ::T::Props::Plugin + include ::T::Props::Optional + include ::T::Props::PrettyPrintable + include ::T::Props::Serializable + include ::T::Props::WeakConstructor + include ::T::Props::Constructor + extend ::T::Props::ClassMethods + extend ::T::Props::Plugin::ClassMethods + extend ::T::Props::Serializable::ClassMethods +end + +# source://tapioca//lib/tapioca/sorbet_ext/proc_bind_patch.rb#28 module T::Private::Methods class << self - # source://tapioca/lib/tapioca/sorbet_ext/proc_bind_patch.rb#30 + # source://tapioca//lib/tapioca/sorbet_ext/proc_bind_patch.rb#30 def finalize_proc(decl); end end end @@ -324,109 +343,118 @@ class T::Private::Methods::DeclarationBlock < ::Struct end end -# source://tapioca/lib/tapioca/sorbet_ext/proc_bind_patch.rb#29 +# source://tapioca//lib/tapioca/sorbet_ext/proc_bind_patch.rb#29 module T::Private::Methods::ProcBindPatch - # source://tapioca/lib/tapioca/sorbet_ext/proc_bind_patch.rb#30 + # source://tapioca//lib/tapioca/sorbet_ext/proc_bind_patch.rb#30 def finalize_proc(decl); end end -class T::Types::Proc < ::T::Types::Base; end +module T::Private::Retry; end +module T::Private::Retry::RETRY; end + +class T::Types::Proc < ::T::Types::Base + # source://tapioca//lib/tapioca/sorbet_ext/proc_bind_patch.rb#7 + def initialize(arg_types, returns, bind = T.unsafe(nil)); end + + # source://tapioca//lib/tapioca/sorbet_ext/proc_bind_patch.rb#15 + def name; end +end -# source://tapioca/lib/tapioca/sorbet_ext/proc_bind_patch.rb#6 +# source://tapioca//lib/tapioca/sorbet_ext/proc_bind_patch.rb#6 module T::Types::ProcBindPatch - # source://tapioca/lib/tapioca/sorbet_ext/proc_bind_patch.rb#7 + # source://tapioca//lib/tapioca/sorbet_ext/proc_bind_patch.rb#7 def initialize(arg_types, returns, bind = T.unsafe(nil)); end - # source://tapioca/lib/tapioca/sorbet_ext/proc_bind_patch.rb#15 + # source://tapioca//lib/tapioca/sorbet_ext/proc_bind_patch.rb#15 def name; end end -# source://tapioca/lib/tapioca/sorbet_ext/name_patch.rb#6 +# 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#70 + # 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#65 +# 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#70 + # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#70 def name; end end -# source://tapioca/lib/tapioca/sorbet_ext/name_patch.rb#7 +# source://tapioca//lib/tapioca/sorbet_ext/name_patch.rb#7 module T::Types::Simple::NamePatch - # source://tapioca/lib/tapioca/sorbet_ext/name_patch.rb#10 + # source://tapioca//lib/tapioca/sorbet_ext/name_patch.rb#10 def name; end - # source://tapioca/lib/tapioca/sorbet_ext/name_patch.rb#16 + # source://tapioca//lib/tapioca/sorbet_ext/name_patch.rb#16 def qualified_name_of(constant); end end -# source://tapioca/lib/tapioca/sorbet_ext/name_patch.rb#8 +# 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#87 +# 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#89 + # 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#88 +# 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#89 + # 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 -# source://tapioca/lib/tapioca/runtime/trackers/autoload.rb#4 +# source://tapioca//lib/tapioca/runtime/trackers/autoload.rb#4 module Tapioca class << self - # source://tapioca/lib/tapioca.rb#20 - sig do - type_parameters(:Result) - .params( - blk: T.proc.returns(T.type_parameter(:Result)) - ).returns(T.type_parameter(:Result)) - end + # : [Result] { -> Result } -> Result + # + # source://tapioca//lib/tapioca.rb#16 def silence_warnings(&blk); end end end -# source://tapioca/lib/tapioca.rb#39 +# source://tapioca//lib/tapioca.rb#35 Tapioca::BINARY_FILE = T.let(T.unsafe(nil), String) -# source://tapioca/lib/tapioca/bundler_ext/auto_require_hook.rb#5 +# 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 +# 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 + # source://tapioca//lib/tapioca/bundler_ext/auto_require_hook.rb#41 sig { returns(T.untyped) } def autorequire; end class << self # @return [Boolean] # - # source://tapioca/lib/tapioca/bundler_ext/auto_require_hook.rb#26 + # 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 + # : (untyped name) -> bool + # + # 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 + # : [Result] (exclude: Array[String]) { -> Result } -> Result + # + # source://tapioca//lib/tapioca/bundler_ext/auto_require_hook.rb#31 sig do type_parameters(:Result) .params( @@ -438,94 +466,110 @@ module Tapioca::BundlerExt::AutoRequireHook end end -# source://tapioca/lib/tapioca.rb#62 +# source://tapioca//lib/tapioca.rb#58 Tapioca::CENTRAL_REPO_ANNOTATIONS_DIR = T.let(T.unsafe(nil), String) -# source://tapioca/lib/tapioca.rb#61 +# source://tapioca//lib/tapioca.rb#57 Tapioca::CENTRAL_REPO_INDEX_PATH = T.let(T.unsafe(nil), String) -# source://tapioca/lib/tapioca.rb#60 +# source://tapioca//lib/tapioca.rb#56 Tapioca::CENTRAL_REPO_ROOT_URI = T.let(T.unsafe(nil), String) -# source://tapioca/lib/tapioca/cli.rb#5 +# source://tapioca//lib/tapioca/cli.rb#5 class Tapioca::Cli < ::Thor include ::Tapioca::CliHelper include ::Tapioca::ConfigHelper include ::Tapioca::EnvHelper - # source://tapioca/lib/tapioca/cli.rb#377 + # source://tapioca//lib/tapioca/cli.rb#372 def __print_version; end - # source://tapioca/lib/tapioca/cli.rb#359 + # source://tapioca//lib/tapioca/cli.rb#354 def annotations; end - # source://tapioca/lib/tapioca/cli.rb#331 + # source://tapioca//lib/tapioca/cli.rb#326 def check_shims; end - # source://tapioca/lib/tapioca/cli.rb#46 + # source://tapioca//lib/tapioca/cli.rb#46 def configure; end - # source://tapioca/lib/tapioca/cli.rb#151 + # source://tapioca//lib/tapioca/cli.rb#146 def dsl(*constant_or_paths); end # @raise [MalformattedArgumentError] # - # source://tapioca/lib/tapioca/cli.rb#274 + # source://tapioca//lib/tapioca/cli.rb#269 def gem(*gems); end - # source://tapioca/lib/tapioca/cli.rb#27 + # source://tapioca//lib/tapioca/cli.rb#27 def init; end - # source://tapioca/lib/tapioca/cli.rb#57 + # source://tapioca//lib/tapioca/cli.rb#57 def require; end - # source://tapioca/lib/tapioca/cli.rb#74 + # source://tapioca//lib/tapioca/cli.rb#74 def todo; end private - # source://tapioca/lib/tapioca/cli.rb#391 + # source://tapioca//lib/tapioca/cli.rb#399 def print_init_next_steps; end class << self - # source://tapioca/lib/tapioca/cli.rb#383 + # source://tapioca//lib/tapioca/cli.rb#383 + def addon_mode; end + + # source://tapioca//lib/tapioca/cli.rb#386 + sig { void } + def addon_mode!; end + + # source://tapioca//lib/tapioca/cli.rb#391 + sig { returns(T::Boolean) } def exit_on_failure?; end end end -# source://tapioca/lib/tapioca/cli.rb#10 +# source://tapioca//lib/tapioca/cli.rb#10 Tapioca::Cli::FILE_HEADER_OPTION_DESC = T.let(T.unsafe(nil), String) -# source://tapioca/lib/tapioca/helpers/cli_helper.rb#5 +# source://tapioca//lib/tapioca/helpers/cli_helper.rb#5 module Tapioca::CliHelper requires_ancestor { Thor::Shell } - # source://tapioca/lib/tapioca/helpers/cli_helper.rb#33 + # : (Hash[Symbol, untyped] options) -> String? + # + # source://tapioca//lib/tapioca/helpers/cli_helper.rb#33 sig { params(options: T::Hash[::Symbol, T.untyped]).returns(T.nilable(::String)) } def netrc_file(options); end - # source://tapioca/lib/tapioca/helpers/cli_helper.rb#26 + # : (Hash[Symbol, untyped] options) -> RBIFormatter + # + # source://tapioca//lib/tapioca/helpers/cli_helper.rb#26 sig { params(options: T::Hash[::Symbol, T.untyped]).returns(::Tapioca::RBIFormatter) } def rbi_formatter(options); end - # source://tapioca/lib/tapioca/helpers/cli_helper.rb#12 + # : (?String message, *(Symbol | Array[Symbol]) color) -> void + # + # source://tapioca//lib/tapioca/helpers/cli_helper.rb#12 sig { params(message: ::String, color: T.any(::Symbol, T::Array[::Symbol])).void } def say_error(message = T.unsafe(nil), *color); end end -# source://tapioca/lib/tapioca/commands.rb#5 +# 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 +# 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#34 + # : (requested_constants: Array[String], requested_paths: Array[Pathname], outpath: Pathname, only: Array[String], exclude: Array[String], file_header: bool, tapioca_path: String, ?skip_constant: Array[String], ?quiet: bool, ?verbose: bool, ?number_of_workers: Integer?, ?auto_strictness: bool, ?gem_dir: String, ?rbi_formatter: RBIFormatter, ?app_root: String, ?halt_upon_load_error: bool, ?compiler_options: Hash[String, untyped], ?lsp_addon: bool) -> void + # + # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#13 sig do params( requested_constants: T::Array[::String], @@ -552,15 +596,21 @@ class Tapioca::Commands::AbstractDsl < ::Tapioca::Commands::CommandWithoutTracke private - # source://tapioca/lib/tapioca/commands/abstract_dsl.rb#107 + # : -> Array[String] + # + # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#86 sig { returns(T::Array[::String]) } def all_requested_constants; end - # source://tapioca/lib/tapioca/commands/abstract_dsl.rb#306 + # : (Symbol cause, Array[String] files) -> String + # + # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#285 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#230 + # : (String constant_name, RBI::File rbi, ?outpath: Pathname, ?quiet: bool) -> Pathname? + # + # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#209 sig do params( constant_name: ::String, @@ -571,89 +621,127 @@ class Tapioca::Commands::AbstractDsl < ::Tapioca::Commands::CommandWithoutTracke 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#165 + # : (Array[String] constant_names, ?ignore_missing: bool) -> Array[Module] + # + # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#151 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#190 + # : (Array[String] compiler_names) -> Array[singleton(Tapioca::Dsl::Compiler)] + # + # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#176 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#366 + # : -> Array[String] + # + # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#345 sig { returns(T::Array[::String]) } def constants_from_requested_paths; end - # source://tapioca/lib/tapioca/commands/abstract_dsl.rb#133 + # : -> Tapioca::Dsl::Pipeline + # + # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#112 sig { returns(::Tapioca::Dsl::Pipeline) } def create_pipeline; end - # source://tapioca/lib/tapioca/commands/abstract_dsl.rb#269 + # : (String constant_name) -> Pathname + # + # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#248 sig { params(constant_name: ::String).returns(::Pathname) } def dsl_rbi_filename(constant_name); end - # source://tapioca/lib/tapioca/commands/abstract_dsl.rb#151 + # : (Array[String] requested_constants, ?path: Pathname) -> Set[Pathname] + # + # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#137 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#361 + # : (String constant) -> String + # + # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#340 sig { params(constant: ::String).returns(::String) } def generate_command_for(constant); end - # source://tapioca/lib/tapioca/commands/abstract_dsl.rb#79 + # : (Pathname outpath, quiet: bool) -> Set[Pathname] + # + # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#58 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#120 + # : -> void + # + # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#99 sig { void } def load_application; end - # source://tapioca/lib/tapioca/commands/abstract_dsl.rb#248 + # : (Pathname dir) -> void + # + # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#227 sig { params(dir: ::Pathname).void } def perform_dsl_verification(dir); end - # source://tapioca/lib/tapioca/commands/abstract_dsl.rb#115 + # : -> Tapioca::Dsl::Pipeline + # + # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#94 sig { returns(::Tapioca::Dsl::Pipeline) } def pipeline; end - # source://tapioca/lib/tapioca/commands/abstract_dsl.rb#257 + # : (Set[Pathname] files) -> void + # + # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#236 sig { params(files: T::Set[::Pathname]).void } def purge_stale_dsl_rbi_files(files); end - # source://tapioca/lib/tapioca/commands/abstract_dsl.rb#356 + # : (String constant) -> String + # + # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#335 sig { params(constant: ::String).returns(::String) } def rbi_filename_for(constant); end - # source://tapioca/lib/tapioca/commands/abstract_dsl.rb#337 + # : (Pathname path) -> Array[Pathname] + # + # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#316 sig { params(path: ::Pathname).returns(T::Array[::Pathname]) } def rbi_files_in(path); end - # source://tapioca/lib/tapioca/commands/abstract_dsl.rb#315 + # : (Hash[String, Symbol] diff, Symbol command) -> void + # + # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#294 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#210 + # : (String name) -> singleton(Tapioca::Dsl::Compiler)? + # + # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#196 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#344 + # : (String class_name) -> String + # + # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#323 sig { params(class_name: ::String).returns(::String) } def underscore(class_name); end - # source://tapioca/lib/tapioca/commands/abstract_dsl.rb#274 + # : (tmp_dir: Pathname) -> Hash[String, Symbol] + # + # source://tapioca//lib/tapioca/commands/abstract_dsl.rb#253 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 +# 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#33 + # : (gem_names: Array[String], exclude: Array[String], include_dependencies: bool, prerequire: String?, postrequire: String, typed_overrides: Hash[String, String], outpath: Pathname, file_header: bool, include_doc: bool, include_loc: bool, include_exported_rbis: bool, ?number_of_workers: Integer?, ?auto_strictness: bool, ?dsl_dir: String, ?rbi_formatter: RBIFormatter, ?halt_upon_load_error: bool, ?lsp_addon: bool?) -> void + # + # source://tapioca//lib/tapioca/commands/abstract_gem.rb#13 sig do params( gem_names: T::Array[::String], @@ -679,70 +767,102 @@ class Tapioca::Commands::AbstractGem < ::Tapioca::Commands::Command private - # source://tapioca/lib/tapioca/commands/abstract_gem.rb#200 + # : -> Array[String] + # + # source://tapioca//lib/tapioca/commands/abstract_gem.rb#180 sig { returns(T::Array[::String]) } def added_rbis; end - # source://tapioca/lib/tapioca/commands/abstract_gem.rb#261 + # : (Symbol cause, Array[String] files) -> String + # + # source://tapioca//lib/tapioca/commands/abstract_gem.rb#241 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#80 + # : (Gemfile::GemSpec gem) -> void + # + # source://tapioca//lib/tapioca/commands/abstract_gem.rb#60 sig { params(gem: ::Tapioca::Gemfile::GemSpec).void } def compile_gem_rbi(gem); end - # source://tapioca/lib/tapioca/commands/abstract_gem.rb#195 + # : (String gem_name) -> Pathname + # + # source://tapioca//lib/tapioca/commands/abstract_gem.rb#175 sig { params(gem_name: ::String).returns(::Pathname) } def existing_rbi(gem_name); end - # source://tapioca/lib/tapioca/commands/abstract_gem.rb#243 + # : -> Hash[String, String] + # + # source://tapioca//lib/tapioca/commands/abstract_gem.rb#223 sig { returns(T::Hash[::String, ::String]) } def existing_rbis; end - # source://tapioca/lib/tapioca/commands/abstract_gem.rb#207 + # : (String gem_name) -> Pathname + # + # source://tapioca//lib/tapioca/commands/abstract_gem.rb#187 sig { params(gem_name: ::String).returns(::Pathname) } def expected_rbi(gem_name); end - # source://tapioca/lib/tapioca/commands/abstract_gem.rb#249 + # : -> Hash[String, String] + # + # source://tapioca//lib/tapioca/commands/abstract_gem.rb#229 sig { returns(T::Hash[::String, ::String]) } def expected_rbis; end - # source://tapioca/lib/tapioca/commands/abstract_gem.rb#212 + # : (String gem_name) -> bool + # + # source://tapioca//lib/tapioca/commands/abstract_gem.rb#192 sig { params(gem_name: ::String).returns(T::Boolean) } def gem_rbi_exists?(gem_name); end - # source://tapioca/lib/tapioca/commands/abstract_gem.rb#256 + # : (String gem_name, String version) -> Pathname + # + # source://tapioca//lib/tapioca/commands/abstract_gem.rb#236 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#266 + # : (Gemfile::GemSpec gem, RBI::File file) -> void + # + # source://tapioca//lib/tapioca/commands/abstract_gem.rb#246 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#237 + # : (Pathname old_filename, Pathname new_filename) -> void + # + # source://tapioca//lib/tapioca/commands/abstract_gem.rb#217 sig { params(old_filename: ::Pathname, new_filename: ::Pathname).void } def move(old_filename, new_filename); end - # source://tapioca/lib/tapioca/commands/abstract_gem.rb#147 + # : -> void + # + # source://tapioca//lib/tapioca/commands/abstract_gem.rb#127 sig { void } def perform_additions; end - # source://tapioca/lib/tapioca/commands/abstract_gem.rb#120 + # : -> void + # + # source://tapioca//lib/tapioca/commands/abstract_gem.rb#100 sig { void } def perform_removals; end - # source://tapioca/lib/tapioca/commands/abstract_gem.rb#190 + # : -> Array[String] + # + # source://tapioca//lib/tapioca/commands/abstract_gem.rb#170 sig { returns(T::Array[::String]) } def removed_rbis; end - # source://tapioca/lib/tapioca/commands/abstract_gem.rb#217 + # : (Hash[String, Symbol] diff, Symbol command) -> void + # + # source://tapioca//lib/tapioca/commands/abstract_gem.rb#197 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 +# source://tapioca//lib/tapioca/commands/annotations.rb#6 class Tapioca::Commands::Annotations < ::Tapioca::Commands::CommandWithoutTracker - # source://tapioca/lib/tapioca/commands/annotations.rb#18 + # : (central_repo_root_uris: Array[String], ?auth: String?, ?netrc_file: String?, ?central_repo_index_path: String, ?typed_overrides: Hash[String, String]) -> void + # + # source://tapioca//lib/tapioca/commands/annotations.rb#10 sig do params( central_repo_root_uris: T::Array[::String], @@ -756,81 +876,115 @@ class Tapioca::Commands::Annotations < ::Tapioca::Commands::CommandWithoutTracke private - # source://tapioca/lib/tapioca/commands/annotations.rb#197 + # : (String name, String content) -> String + # + # source://tapioca//lib/tapioca/commands/annotations.rb#191 sig { params(name: ::String, content: ::String).returns(::String) } def add_header(name, content); end - # source://tapioca/lib/tapioca/commands/annotations.rb#217 + # : (String name, String content) -> String + # + # source://tapioca//lib/tapioca/commands/annotations.rb#211 sig { params(name: ::String, content: ::String).returns(::String) } def apply_typed_override(name, content); end - # source://tapioca/lib/tapioca/commands/annotations.rb#39 + # : -> void + # + # source://tapioca//lib/tapioca/commands/annotations.rb#32 sig { override.void } def execute; end - # source://tapioca/lib/tapioca/commands/annotations.rb#136 - sig { params(repo_uris: T::Array[::String], gem_info: ::Tapioca::GemInfo).void } + # source://tapioca//lib/tapioca/commands/annotations.rb#129 + sig { params(repo_uris: T::Array[::String], gem_info: ::Tapioca::GemInfo).returns(T::Boolean) } def fetch_annotation(repo_uris, gem_info); end - # source://tapioca/lib/tapioca/commands/annotations.rb#113 + # : (Array[GemInfo] project_gems) -> Array[String] + # + # source://tapioca//lib/tapioca/commands/annotations.rb#106 sig { params(project_gems: T::Array[::Tapioca::GemInfo]).returns(T::Array[::String]) } def fetch_annotations(project_gems); end - # source://tapioca/lib/tapioca/commands/annotations.rb#156 + # : (String repo_uri, String path) -> String? + # + # source://tapioca//lib/tapioca/commands/annotations.rb#150 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#173 + # : (String repo_uri, String path) -> String? + # + # source://tapioca//lib/tapioca/commands/annotations.rb#167 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#102 + # : (String repo_uri, Integer? repo_number) -> RepoIndex? + # + # source://tapioca//lib/tapioca/commands/annotations.rb#95 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#81 + # : -> Hash[String, RepoIndex] + # + # source://tapioca//lib/tapioca/commands/annotations.rb#74 sig { returns(T::Hash[::String, Tapioca::RepoIndex]) } def fetch_indexes; end - # source://tapioca/lib/tapioca/commands/annotations.rb#165 + # : (String repo_uri, String path) -> String? + # + # source://tapioca//lib/tapioca/commands/annotations.rb#159 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#229 + # : (::Gem::Version gem_version, String content) -> String + # + # source://tapioca//lib/tapioca/commands/annotations.rb#223 sig { params(gem_version: ::Gem::Version, content: ::String).returns(::String) } def filter_versions(gem_version, content); end - # source://tapioca/lib/tapioca/commands/annotations.rb#50 + # : -> Array[GemInfo] + # + # source://tapioca//lib/tapioca/commands/annotations.rb#43 sig { returns(T::Array[::Tapioca::GemInfo]) } def list_gemfile_gems; end - # source://tapioca/lib/tapioca/commands/annotations.rb#237 + # : (String gem_name, Array[String] contents) -> String? + # + # source://tapioca//lib/tapioca/commands/annotations.rb#231 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#60 + # : (Array[GemInfo] project_gems) -> void + # + # source://tapioca//lib/tapioca/commands/annotations.rb#53 sig { params(project_gems: T::Array[::Tapioca::GemInfo]).void } def remove_expired_annotations(project_gems); end - # source://tapioca/lib/tapioca/commands/annotations.rb#264 + # : -> Hash[String, String?] + # + # source://tapioca//lib/tapioca/commands/annotations.rb#258 sig { returns(T::Hash[::String, T.nilable(::String)]) } def repo_tokens; end - # source://tapioca/lib/tapioca/commands/annotations.rb#292 + # : (String path, String repo_uri, String message) -> void + # + # source://tapioca//lib/tapioca/commands/annotations.rb#286 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#276 + # : (String repo_uri) -> String? + # + # source://tapioca//lib/tapioca/commands/annotations.rb#270 sig { params(repo_uri: ::String).returns(T.nilable(::String)) } def token_for(repo_uri); end end -# source://tapioca/lib/tapioca/commands/check_shims.rb#6 +# source://tapioca//lib/tapioca/commands/check_shims.rb#6 class Tapioca::Commands::CheckShims < ::Tapioca::Commands::CommandWithoutTracker include ::Tapioca::SorbetHelper include ::Tapioca::RBIFilesHelper - # source://tapioca/lib/tapioca/commands/check_shims.rb#22 + # : (gem_rbi_dir: String, dsl_rbi_dir: String, annotations_rbi_dir: String, shim_rbi_dir: String, todo_rbi_file: String, payload: bool, number_of_workers: Integer?) -> void + # + # source://tapioca//lib/tapioca/commands/check_shims.rb#12 sig do params( gem_rbi_dir: ::String, @@ -846,14 +1000,16 @@ class Tapioca::Commands::CheckShims < ::Tapioca::Commands::CommandWithoutTracker private - # source://tapioca/lib/tapioca/commands/check_shims.rb#44 + # : -> void + # + # source://tapioca//lib/tapioca/commands/check_shims.rb#35 sig { override.void } def execute; end end # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below. # -# source://tapioca/lib/tapioca/commands/command.rb#6 +# source://tapioca//lib/tapioca/commands/command.rb#6 class Tapioca::Commands::Command include ::Thor::Base include ::Thor::Invocation @@ -864,21 +1020,29 @@ class Tapioca::Commands::Command abstract! - # source://tapioca/lib/tapioca/commands/command.rb#20 + # : -> void + # + # source://tapioca//lib/tapioca/commands/command.rb#20 sig { void } def initialize; end - # source://thor/1.3.2lib/thor/base.rb#155 + # : Thor::Actions + # + # source://thor/1.3.2/lib/thor/base.rb#155 sig { returns(::Thor::Actions) } def file_writer; end - # source://tapioca/lib/tapioca/commands/command.rb#25 + # : -> void + # + # source://tapioca//lib/tapioca/commands/command.rb#26 sig(:final) { void } def run; end private - # source://tapioca/lib/tapioca/commands/command.rb#53 + # : ((String | Pathname) path, String content, ?force: bool, ?skip: bool, ?verbose: bool) -> void + # + # source://tapioca//lib/tapioca/commands/command.rb#46 sig do params( path: T.any(::Pathname, ::String), @@ -890,22 +1054,26 @@ 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#37 + # : (Symbol command, *String args) -> String + # + # source://tapioca//lib/tapioca/commands/command.rb#38 sig { params(command: ::Symbol, args: ::String).returns(::String) } def default_command(command, *args); end # @abstract # - # source://tapioca/lib/tapioca/commands/command.rb#34 + # source://tapioca//lib/tapioca/commands/command.rb#35 sig { abstract.void } def execute; end - # source://tapioca/lib/tapioca/commands/command.rb#63 + # : ((String | Pathname) path, ?verbose: bool) -> void + # + # source://tapioca//lib/tapioca/commands/command.rb#51 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/command.rb#10 +# source://tapioca//lib/tapioca/commands/command.rb#10 class Tapioca::Commands::Command::FileWriter < ::Thor include ::Thor::Actions extend ::Thor::Actions::ClassMethods @@ -913,88 +1081,116 @@ end # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below. # -# source://tapioca/lib/tapioca/commands/command_without_tracker.rb#6 +# 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 + # : -> void + # + # source://tapioca//lib/tapioca/commands/command_without_tracker.rb#12 sig { void } def initialize; end end -# source://tapioca/lib/tapioca/commands/configure.rb#6 +# source://tapioca//lib/tapioca/commands/configure.rb#6 class Tapioca::Commands::Configure < ::Tapioca::Commands::CommandWithoutTracker - # source://tapioca/lib/tapioca/commands/configure.rb#14 + # : (sorbet_config: String, tapioca_config: String, default_postrequire: String) -> void + # + # source://tapioca//lib/tapioca/commands/configure.rb#8 sig { params(sorbet_config: ::String, tapioca_config: ::String, default_postrequire: ::String).void } def initialize(sorbet_config:, tapioca_config:, default_postrequire:); end private - # source://tapioca/lib/tapioca/commands/configure.rb#79 + # : -> void + # + # source://tapioca//lib/tapioca/commands/configure.rb#74 sig { void } def create_binstub; end - # source://tapioca/lib/tapioca/commands/configure.rb#69 + # : -> void + # + # source://tapioca//lib/tapioca/commands/configure.rb#64 sig { void } def create_post_require; end - # source://tapioca/lib/tapioca/commands/configure.rb#40 + # : -> void + # + # source://tapioca//lib/tapioca/commands/configure.rb#35 sig { void } def create_sorbet_config; end - # source://tapioca/lib/tapioca/commands/configure.rb#50 + # : -> void + # + # source://tapioca//lib/tapioca/commands/configure.rb#45 sig { void } def create_tapioca_config; end - # source://tapioca/lib/tapioca/commands/configure.rb#32 + # : -> void + # + # source://tapioca//lib/tapioca/commands/configure.rb#27 sig { override.void } def execute; end - # source://tapioca/lib/tapioca/commands/configure.rb#92 + # : -> Bundler::Installer + # + # source://tapioca//lib/tapioca/commands/configure.rb#87 sig { returns(::Bundler::Installer) } def installer; end - # source://tapioca/lib/tapioca/commands/configure.rb#97 + # : -> (Bundler::StubSpecification | ::Gem::Specification) + # + # source://tapioca//lib/tapioca/commands/configure.rb#92 sig { returns(T.any(::Bundler::StubSpecification, ::Gem::Specification)) } def spec; end end -# source://tapioca/lib/tapioca/commands/dsl_compiler_list.rb#6 +# source://tapioca//lib/tapioca/commands/dsl_compiler_list.rb#6 class Tapioca::Commands::DslCompilerList < ::Tapioca::Commands::AbstractDsl private - # source://tapioca/lib/tapioca/commands/dsl_compiler_list.rb#10 + # : -> void + # + # source://tapioca//lib/tapioca/commands/dsl_compiler_list.rb#11 sig { override.void } def execute; end end -# source://tapioca/lib/tapioca/commands/dsl_generate.rb#6 +# source://tapioca//lib/tapioca/commands/dsl_generate.rb#6 class Tapioca::Commands::DslGenerate < ::Tapioca::Commands::AbstractDsl private - # source://tapioca/lib/tapioca/commands/dsl_generate.rb#10 + # : -> void + # + # source://tapioca//lib/tapioca/commands/dsl_generate.rb#11 sig { override.void } def execute; end end -# source://tapioca/lib/tapioca/commands/dsl_verify.rb#6 +# source://tapioca//lib/tapioca/commands/dsl_verify.rb#6 class Tapioca::Commands::DslVerify < ::Tapioca::Commands::AbstractDsl private - # source://tapioca/lib/tapioca/commands/dsl_verify.rb#10 + # : -> void + # + # source://tapioca//lib/tapioca/commands/dsl_verify.rb#11 sig { override.void } def execute; end end -# source://tapioca/lib/tapioca/commands/gem_generate.rb#6 +# source://tapioca//lib/tapioca/commands/gem_generate.rb#6 class Tapioca::Commands::GemGenerate < ::Tapioca::Commands::AbstractGem private - # source://tapioca/lib/tapioca/commands/gem_generate.rb#10 + # : -> void + # + # source://tapioca//lib/tapioca/commands/gem_generate.rb#11 sig { override.void } def execute; end - # source://tapioca/lib/tapioca/commands/gem_generate.rb#74 + # : (Gemfile::GemSpec gem, ?Array[Gemfile::GemSpec] dependencies) -> Array[Gemfile::GemSpec] + # + # source://tapioca//lib/tapioca/commands/gem_generate.rb#70 sig do params( gem: ::Tapioca::Gemfile::GemSpec, @@ -1003,107 +1199,143 @@ class Tapioca::Commands::GemGenerate < ::Tapioca::Commands::AbstractGem end def gem_dependencies(gem, dependencies = T.unsafe(nil)); end - # source://tapioca/lib/tapioca/commands/gem_generate.rb#51 + # : (Array[String] gem_names) -> Array[Gemfile::GemSpec] + # + # source://tapioca//lib/tapioca/commands/gem_generate.rb#52 sig { params(gem_names: T::Array[::String]).returns(T::Array[::Tapioca::Gemfile::GemSpec]) } def gems_to_generate(gem_names); end end -# source://tapioca/lib/tapioca/commands/gem_sync.rb#6 +# source://tapioca//lib/tapioca/commands/gem_sync.rb#6 class Tapioca::Commands::GemSync < ::Tapioca::Commands::AbstractGem private - # source://tapioca/lib/tapioca/commands/gem_sync.rb#10 + # : -> void + # + # source://tapioca//lib/tapioca/commands/gem_sync.rb#11 sig { override.void } def execute; end end -# source://tapioca/lib/tapioca/commands/gem_verify.rb#6 +# source://tapioca//lib/tapioca/commands/gem_verify.rb#6 class Tapioca::Commands::GemVerify < ::Tapioca::Commands::AbstractGem private - # source://tapioca/lib/tapioca/commands/gem_verify.rb#10 + # : -> void + # + # source://tapioca//lib/tapioca/commands/gem_verify.rb#11 sig { override.void } def execute; end - # source://tapioca/lib/tapioca/commands/gem_verify.rb#17 + # : -> void + # + # source://tapioca//lib/tapioca/commands/gem_verify.rb#18 sig { void } def perform_sync_verification; end end -# source://tapioca/lib/tapioca/commands/require.rb#6 +# source://tapioca//lib/tapioca/commands/require.rb#6 class Tapioca::Commands::Require < ::Tapioca::Commands::CommandWithoutTracker - # source://tapioca/lib/tapioca/commands/require.rb#13 + # : (requires_path: String, sorbet_config_path: String) -> void + # + # source://tapioca//lib/tapioca/commands/require.rb#8 sig { params(requires_path: ::String, sorbet_config_path: ::String).void } def initialize(requires_path:, sorbet_config_path:); end private - # source://tapioca/lib/tapioca/commands/require.rb#23 + # : -> void + # + # source://tapioca//lib/tapioca/commands/require.rb#19 sig { override.void } def execute; end end -# source://tapioca/lib/tapioca/commands/todo.rb#6 +# source://tapioca//lib/tapioca/commands/todo.rb#6 class Tapioca::Commands::Todo < ::Tapioca::Commands::CommandWithoutTracker include ::Tapioca::SorbetHelper - # source://tapioca/lib/tapioca/commands/todo.rb#26 + # : (todo_file: String, file_header: bool) -> void + # + # source://tapioca//lib/tapioca/commands/todo.rb#21 sig { params(todo_file: ::String, file_header: T::Boolean).void } def initialize(todo_file:, file_header:); end - # source://tapioca/lib/tapioca/commands/todo.rb#34 + # : -> void + # + # source://tapioca//lib/tapioca/commands/todo.rb#29 sig { void } def run_with_deprecation; end private - # source://tapioca/lib/tapioca/commands/todo.rb#44 + # : -> void + # + # source://tapioca//lib/tapioca/commands/todo.rb#40 sig { override.void } def execute; end - # source://tapioca/lib/tapioca/commands/todo.rb#68 + # : (Array[String] constants, command: String) -> RBI::File + # + # source://tapioca//lib/tapioca/commands/todo.rb#64 sig { params(constants: T::Array[::String], command: ::String).returns(::RBI::File) } def rbi(constants, command:); end - # source://tapioca/lib/tapioca/commands/todo.rb#88 + # : -> Array[String] + # + # source://tapioca//lib/tapioca/commands/todo.rb#84 sig { returns(T::Array[::String]) } def unresolved_constants; end end -# source://tapioca/lib/tapioca/commands/todo.rb#9 +# 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 +# source://tapioca//lib/tapioca/helpers/config_helper.rb#5 module Tapioca::ConfigHelper requires_ancestor { Thor } - # source://tapioca/lib/tapioca/helpers/config_helper.rb#18 + # : (?untyped args, ?untyped local_options, ?untyped config) -> void + # + # source://tapioca//lib/tapioca/helpers/config_helper.rb#18 sig { params(args: T.untyped, local_options: T.untyped, config: T.untyped).void } def initialize(args = T.unsafe(nil), local_options = T.unsafe(nil), config = T.unsafe(nil)); end - # source://tapioca/lib/tapioca/helpers/config_helper.rb#12 + # : String + # + # source://tapioca//lib/tapioca/helpers/config_helper.rb#12 sig { returns(::String) } def command_name; end - # source://tapioca/lib/tapioca/helpers/config_helper.rb#15 + # : Thor::CoreExt::HashWithIndifferentAccess + # + # source://tapioca//lib/tapioca/helpers/config_helper.rb#15 sig { returns(::Thor::CoreExt::HashWithIndifferentAccess) } def defaults; end - # source://tapioca/lib/tapioca/helpers/config_helper.rb#34 + # : -> Thor::CoreExt::HashWithIndifferentAccess + # + # source://tapioca//lib/tapioca/helpers/config_helper.rb#34 sig { returns(::Thor::CoreExt::HashWithIndifferentAccess) } def options; end private - # source://tapioca/lib/tapioca/helpers/config_helper.rb#153 + # : (String msg) -> ConfigError + # + # source://tapioca//lib/tapioca/helpers/config_helper.rb#147 sig { params(msg: ::String).returns(::Tapioca::ConfigHelper::ConfigError) } def build_error(msg); end - # source://tapioca/lib/tapioca/helpers/config_helper.rb#178 + # : (String config_file, Array[ConfigError] errors) -> String + # + # source://tapioca//lib/tapioca/helpers/config_helper.rb#172 sig { params(config_file: ::String, errors: T::Array[::Tapioca::ConfigHelper::ConfigError]).returns(::String) } def build_error_message(config_file, errors); end - # source://tapioca/lib/tapioca/helpers/config_helper.rb#56 + # : (Thor::CoreExt::HashWithIndifferentAccess options) -> Thor::CoreExt::HashWithIndifferentAccess + # + # source://tapioca//lib/tapioca/helpers/config_helper.rb#56 sig do params( options: ::Thor::CoreExt::HashWithIndifferentAccess @@ -1111,11 +1343,15 @@ module Tapioca::ConfigHelper end def config_options(options); end - # source://tapioca/lib/tapioca/helpers/config_helper.rb#46 + # : (Hash[Symbol, Thor::Option] options) -> void + # + # source://tapioca//lib/tapioca/helpers/config_helper.rb#46 sig { params(options: T::Hash[::Symbol, ::Thor::Option]).void } def filter_defaults(options); end - # source://tapioca/lib/tapioca/helpers/config_helper.rb#196 + # : (*Thor::CoreExt::HashWithIndifferentAccess? options) -> Thor::CoreExt::HashWithIndifferentAccess + # + # source://tapioca//lib/tapioca/helpers/config_helper.rb#187 sig do params( options: T.nilable(::Thor::CoreExt::HashWithIndifferentAccess) @@ -1123,11 +1359,15 @@ module Tapioca::ConfigHelper end def merge_options(*options); end - # source://tapioca/lib/tapioca/helpers/config_helper.rb#70 + # : (String config_file, Hash[untyped, untyped] config) -> void + # + # source://tapioca//lib/tapioca/helpers/config_helper.rb#70 sig { params(config_file: ::String, config: T::Hash[T.untyped, T.untyped]).void } def validate_config!(config_file, config); end - # source://tapioca/lib/tapioca/helpers/config_helper.rb#102 + # : (Hash[Symbol, Thor::Option] command_options, String config_key, Hash[untyped, untyped] config_options) -> Array[ConfigError] + # + # source://tapioca//lib/tapioca/helpers/config_helper.rb#96 sig do params( command_options: T::Hash[::Symbol, ::Thor::Option], @@ -1138,66 +1378,66 @@ module Tapioca::ConfigHelper def validate_config_options(command_options, config_key, config_options); end end -# source://tapioca/lib/tapioca/helpers/config_helper.rb#148 +# source://tapioca//lib/tapioca/helpers/config_helper.rb#142 class Tapioca::ConfigHelper::ConfigError < ::T::Struct const :message_parts, T::Array[::Tapioca::ConfigHelper::ConfigErrorMessagePart] class << self - # source://sorbet-runtime/0.5.11761lib/types/struct.rb#13 + # source://sorbet-runtime/0.5.11915/lib/types/struct.rb#13 def inherited(s); end end end -# source://tapioca/lib/tapioca/helpers/config_helper.rb#143 +# source://tapioca//lib/tapioca/helpers/config_helper.rb#137 class Tapioca::ConfigHelper::ConfigErrorMessagePart < ::T::Struct const :message, ::String const :colors, T::Array[::Symbol] class << self - # source://sorbet-runtime/0.5.11761lib/types/struct.rb#13 + # source://sorbet-runtime/0.5.11915/lib/types/struct.rb#13 def inherited(s); end end end -# source://tapioca/lib/tapioca.rb#46 +# source://tapioca//lib/tapioca.rb#42 Tapioca::DEFAULT_ANNOTATIONS_DIR = T.let(T.unsafe(nil), String) -# source://tapioca/lib/tapioca.rb#42 +# source://tapioca//lib/tapioca.rb#38 Tapioca::DEFAULT_DSL_DIR = T.let(T.unsafe(nil), String) -# source://tapioca/lib/tapioca.rb#58 +# source://tapioca//lib/tapioca.rb#54 Tapioca::DEFAULT_ENVIRONMENT = T.let(T.unsafe(nil), String) -# source://tapioca/lib/tapioca.rb#43 +# source://tapioca//lib/tapioca.rb#39 Tapioca::DEFAULT_GEM_DIR = T.let(T.unsafe(nil), String) -# source://tapioca/lib/tapioca.rb#48 +# source://tapioca//lib/tapioca.rb#44 Tapioca::DEFAULT_OVERRIDES = T.let(T.unsafe(nil), Hash) -# source://tapioca/lib/tapioca.rb#40 +# source://tapioca//lib/tapioca.rb#36 Tapioca::DEFAULT_POSTREQUIRE_FILE = T.let(T.unsafe(nil), String) -# source://tapioca/lib/tapioca.rb#41 +# source://tapioca//lib/tapioca.rb#37 Tapioca::DEFAULT_RBI_DIR = T.let(T.unsafe(nil), String) -# source://tapioca/lib/tapioca/rbi_formatter.rb#31 +# source://tapioca//lib/tapioca/rbi_formatter.rb#25 Tapioca::DEFAULT_RBI_FORMATTER = T.let(T.unsafe(nil), Tapioca::RBIFormatter) -# source://tapioca/lib/tapioca.rb#57 +# source://tapioca//lib/tapioca.rb#53 Tapioca::DEFAULT_RBI_MAX_LINE_LENGTH = T.let(T.unsafe(nil), Integer) -# source://tapioca/lib/tapioca.rb#44 +# source://tapioca//lib/tapioca.rb#40 Tapioca::DEFAULT_SHIM_DIR = T.let(T.unsafe(nil), String) -# source://tapioca/lib/tapioca.rb#45 +# source://tapioca//lib/tapioca.rb#41 Tapioca::DEFAULT_TODO_FILE = T.let(T.unsafe(nil), String) -# source://tapioca/lib/tapioca/dsl/compilers.rb#5 +# source://tapioca//lib/tapioca/dsl/compilers.rb#5 module Tapioca::Dsl; end # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below. # -# source://tapioca/lib/tapioca/dsl/compiler.rb#6 +# source://tapioca//lib/tapioca/dsl/compiler.rb#6 class Tapioca::Dsl::Compiler extend T::Generic include ::Tapioca::SorbetHelper @@ -1211,7 +1451,9 @@ class Tapioca::Dsl::Compiler ConstantType = type_member { { upper: Module } } - # source://tapioca/lib/tapioca/dsl/compiler.rb#110 + # : (Tapioca::Dsl::Pipeline pipeline, RBI::Tree root, ConstantType constant, ?Hash[String, untyped] options) -> void + # + # source://tapioca//lib/tapioca/dsl/compiler.rb#99 sig do params( pipeline: ::Tapioca::Dsl::Pipeline, @@ -1223,87 +1465,117 @@ class Tapioca::Dsl::Compiler def initialize(pipeline, root, constant, options = T.unsafe(nil)); end # NOTE: This should eventually accept an `Error` object or `Exception` rather than simply a `String`. + # : (String error) -> void # - # source://tapioca/lib/tapioca/dsl/compiler.rb#128 + # source://tapioca//lib/tapioca/dsl/compiler.rb#117 sig { params(error: ::String).void } def add_error(error); end - # source://tapioca/lib/tapioca/dsl/compiler.rb#119 + # : (String compiler_name) -> bool + # + # source://tapioca//lib/tapioca/dsl/compiler.rb#108 sig { params(compiler_name: ::String).returns(T::Boolean) } def compiler_enabled?(compiler_name); end - # source://tapioca/lib/tapioca/dsl/compiler.rb#20 + # : ConstantType + # + # source://tapioca//lib/tapioca/dsl/compiler.rb#20 sig { returns(ConstantType) } def constant; end # @abstract # - # source://tapioca/lib/tapioca/dsl/compiler.rb#124 + # source://tapioca//lib/tapioca/dsl/compiler.rb#113 sig { abstract.void } def decorate; end - # source://tapioca/lib/tapioca/dsl/compiler.rb#26 + # : Hash[String, untyped] + # + # source://tapioca//lib/tapioca/dsl/compiler.rb#26 sig { returns(T::Hash[::String, T.untyped]) } def options; end - # source://tapioca/lib/tapioca/dsl/compiler.rb#23 + # : RBI::Tree + # + # source://tapioca//lib/tapioca/dsl/compiler.rb#23 sig { returns(::RBI::Tree) } def root; end private - # source://tapioca/lib/tapioca/dsl/compiler.rb#177 + # : ((Method | UnboundMethod) method_def) -> Array[RBI::TypedParam] + # + # source://tapioca//lib/tapioca/dsl/compiler.rb#161 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#213 + # : ((Method | UnboundMethod) method_def) -> String + # + # source://tapioca//lib/tapioca/dsl/compiler.rb#197 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#167 + # : (RBI::Scope scope, (Method | UnboundMethod) method_def, ?class_method: bool) -> void + # + # source://tapioca//lib/tapioca/dsl/compiler.rb#151 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 + # : ((Method | UnboundMethod) method_def, untyped signature) -> Array[String] # - # source://tapioca/lib/tapioca/dsl/compiler.rb#141 + # source://tapioca//lib/tapioca/dsl/compiler.rb#125 sig { params(method_def: T.any(::Method, ::UnboundMethod), signature: T.untyped).returns(T::Array[::String]) } def parameters_types_from_signature(method_def, signature); end class << self # @abstract # - # source://tapioca/lib/tapioca/dsl/compiler.rb#39 + # source://tapioca//lib/tapioca/dsl/compiler.rb#39 sig { abstract.returns(T::Enumerable[::Module]) } def gather_constants; end - # source://tapioca/lib/tapioca/dsl/compiler.rb#34 + # : (Module constant) -> bool + # + # source://tapioca//lib/tapioca/dsl/compiler.rb#34 sig { params(constant: ::Module).returns(T::Boolean) } def handles?(constant); end - # source://tapioca/lib/tapioca/dsl/compiler.rb#42 + # : -> Set[Module] + # + # source://tapioca//lib/tapioca/dsl/compiler.rb#42 sig { returns(T::Set[::Module]) } def processable_constants; end - # source://tapioca/lib/tapioca/dsl/compiler.rb#50 + # : (Array[Module] constants) -> void + # + # source://tapioca//lib/tapioca/dsl/compiler.rb#50 sig { params(constants: T::Array[::Module]).void } def requested_constants=(constants); end - # source://tapioca/lib/tapioca/dsl/compiler.rb#55 + # : -> void + # + # source://tapioca//lib/tapioca/dsl/compiler.rb#55 sig { void } def reset_state; end private - # source://tapioca/lib/tapioca/dsl/compiler.rb#82 + # : -> T::Enumerable[Class[top]] + # + # source://tapioca//lib/tapioca/dsl/compiler.rb#78 sig { returns(T::Enumerable[T::Class[T.anything]]) } def all_classes; end - # source://tapioca/lib/tapioca/dsl/compiler.rb#90 + # : -> T::Enumerable[Module] + # + # source://tapioca//lib/tapioca/dsl/compiler.rb#86 sig { returns(T::Enumerable[::Module]) } def all_modules; end - # source://tapioca/lib/tapioca/dsl/compiler.rb#68 + # : [U] ((Class[top] & U) klass) -> Array[U] + # + # source://tapioca//lib/tapioca/dsl/compiler.rb#64 sig do type_parameters(:U) .params( @@ -1314,7 +1586,7 @@ class Tapioca::Dsl::Compiler end end -# source://tapioca/lib/tapioca/dsl/compilers.rb#6 +# source://tapioca//lib/tapioca/dsl/compilers.rb#6 module Tapioca::Dsl::Compilers; end # DSL compilers are either built-in to Tapioca and live under the @@ -1324,12 +1596,14 @@ module Tapioca::Dsl::Compilers; end # qualified name. This constant encapsulates that dual lookup when # a compiler needs to be resolved by name. # -# source://tapioca/lib/tapioca/dsl/compilers.rb#13 +# source://tapioca//lib/tapioca/dsl/compilers.rb#13 Tapioca::Dsl::Compilers::NAMESPACES = T.let(T.unsafe(nil), Array) -# source://tapioca/lib/tapioca/dsl/pipeline.rb#6 +# source://tapioca//lib/tapioca/dsl/pipeline.rb#6 class Tapioca::Dsl::Pipeline - # source://tapioca/lib/tapioca/dsl/pipeline.rb#40 + # : (requested_constants: Array[Module], ?requested_paths: Array[Pathname], ?requested_compilers: Array[singleton(Compiler)], ?excluded_compilers: Array[singleton(Compiler)], ?error_handler: ^(String error) -> void, ?skipped_constants: Array[Module], ?number_of_workers: Integer?, ?compiler_options: Hash[String, untyped], ?lsp_addon: bool) -> void + # + # source://tapioca//lib/tapioca/dsl/pipeline.rb#28 sig do params( requested_constants: T::Array[::Module], @@ -1345,39 +1619,57 @@ class Tapioca::Dsl::Pipeline end def initialize(requested_constants:, requested_paths: T.unsafe(nil), requested_compilers: T.unsafe(nil), excluded_compilers: T.unsafe(nil), error_handler: T.unsafe(nil), skipped_constants: T.unsafe(nil), number_of_workers: T.unsafe(nil), compiler_options: T.unsafe(nil), lsp_addon: T.unsafe(nil)); end - # source://tapioca/lib/tapioca/dsl/pipeline.rb#10 + # : T::Enumerable[singleton(Compiler)] + # + # source://tapioca//lib/tapioca/dsl/pipeline.rb#10 sig { returns(T::Enumerable[T.class_of(Tapioca::Dsl::Compiler)]) } def active_compilers; end - # source://tapioca/lib/tapioca/dsl/pipeline.rb#105 + # : (String error) -> void + # + # source://tapioca//lib/tapioca/dsl/pipeline.rb#94 sig { params(error: ::String).void } def add_error(error); end - # source://tapioca/lib/tapioca/dsl/pipeline.rb#110 + # : (String compiler_name) -> bool + # + # source://tapioca//lib/tapioca/dsl/pipeline.rb#99 sig { params(compiler_name: ::String).returns(T::Boolean) } def compiler_enabled?(compiler_name); end - # source://tapioca/lib/tapioca/dsl/pipeline.rb#119 + # : -> Array[singleton(Compiler)] + # + # source://tapioca//lib/tapioca/dsl/pipeline.rb#108 sig { returns(T::Array[T.class_of(Tapioca::Dsl::Compiler)]) } def compilers; end - # source://tapioca/lib/tapioca/dsl/pipeline.rb#22 + # : ^(String error) -> void + # + # source://tapioca//lib/tapioca/dsl/pipeline.rb#22 sig { returns(T.proc.params(error: ::String).void) } def error_handler; end - # source://tapioca/lib/tapioca/dsl/pipeline.rb#25 + # : Array[String] + # + # source://tapioca//lib/tapioca/dsl/pipeline.rb#25 sig { returns(T::Array[::String]) } def errors; end - # source://tapioca/lib/tapioca/dsl/pipeline.rb#13 + # : Array[Module] + # + # source://tapioca//lib/tapioca/dsl/pipeline.rb#13 sig { returns(T::Array[::Module]) } def requested_constants; end - # source://tapioca/lib/tapioca/dsl/pipeline.rb#16 + # : Array[Pathname] + # + # source://tapioca//lib/tapioca/dsl/pipeline.rb#16 sig { returns(T::Array[::Pathname]) } def requested_paths; end - # source://tapioca/lib/tapioca/dsl/pipeline.rb#70 + # : [T] { (Module constant, RBI::File rbi) -> T } -> Array[T] + # + # source://tapioca//lib/tapioca/dsl/pipeline.rb#54 sig do type_parameters(:T) .params( @@ -1386,21 +1678,29 @@ class Tapioca::Dsl::Pipeline end def run(&blk); end - # source://tapioca/lib/tapioca/dsl/pipeline.rb#19 + # : Array[Module] + # + # source://tapioca//lib/tapioca/dsl/pipeline.rb#19 sig { returns(T::Array[::Module]) } def skipped_constants; end private - # source://tapioca/lib/tapioca/dsl/pipeline.rb#227 + # : -> void + # + # source://tapioca//lib/tapioca/dsl/pipeline.rb#204 sig { void } def abort_if_pending_migrations!; end - # source://tapioca/lib/tapioca/dsl/pipeline.rb#172 + # : (Set[Module] constants) -> Set[Module] + # + # source://tapioca//lib/tapioca/dsl/pipeline.rb#150 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#136 + # : (Array[singleton(Compiler)] requested_compilers, Array[singleton(Compiler)] excluded_compilers) -> T::Enumerable[singleton(Compiler)] + # + # source://tapioca//lib/tapioca/dsl/pipeline.rb#120 sig do params( requested_compilers: T::Array[T.class_of(Tapioca::Dsl::Compiler)], @@ -1409,7 +1709,9 @@ class Tapioca::Dsl::Pipeline end def gather_active_compilers(requested_compilers, excluded_compilers); end - # source://tapioca/lib/tapioca/dsl/pipeline.rb#150 + # : (Array[Module] requested_constants, Array[Pathname] requested_paths, Array[Module] skipped_constants) -> Set[Module] + # + # source://tapioca//lib/tapioca/dsl/pipeline.rb#128 sig do params( requested_constants: T::Array[::Module], @@ -1419,33 +1721,43 @@ class Tapioca::Dsl::Pipeline end def gather_constants(requested_constants, requested_paths, skipped_constants); end - # source://tapioca/lib/tapioca/dsl/pipeline.rb#201 + # : (Module constant) -> RBI::File? + # + # source://tapioca//lib/tapioca/dsl/pipeline.rb#179 sig { params(constant: ::Module).returns(T.nilable(::RBI::File)) } def rbi_for_constant(constant); end - # source://tapioca/lib/tapioca/dsl/pipeline.rb#220 - sig { params(error: ::String).returns(T.noreturn) } + # : (String error) -> void + # + # source://tapioca//lib/tapioca/dsl/pipeline.rb#198 + sig { params(error: ::String).void } def report_error(error); end end -# source://tapioca/lib/tapioca/helpers/env_helper.rb#5 +# source://tapioca//lib/tapioca/helpers/env_helper.rb#5 module Tapioca::EnvHelper requires_ancestor { Thor } - # source://tapioca/lib/tapioca/helpers/env_helper.rb#12 + # : (Hash[Symbol, untyped] options) -> void + # + # source://tapioca//lib/tapioca/helpers/env_helper.rb#12 sig { params(options: T::Hash[::Symbol, T.untyped]).void } def set_environment(options); end end class Tapioca::Error < ::StandardError; end -# source://tapioca/lib/tapioca/executor.rb#5 +# source://tapioca//lib/tapioca/executor.rb#5 class Tapioca::Executor - # source://tapioca/lib/tapioca/executor.rb#11 + # : (Array[untyped] queue, ?number_of_workers: Integer?) -> void + # + # source://tapioca//lib/tapioca/executor.rb#11 sig { params(queue: T::Array[T.untyped], number_of_workers: T.nilable(::Integer)).void } def initialize(queue, number_of_workers: T.unsafe(nil)); end - # source://tapioca/lib/tapioca/executor.rb#28 + # : [T] { (untyped item) -> T } -> Array[T] + # + # source://tapioca//lib/tapioca/executor.rb#24 sig do type_parameters(:T) .params( @@ -1456,137 +1768,169 @@ class Tapioca::Executor private - # source://tapioca/lib/tapioca/executor.rb#37 + # : -> Integer + # + # source://tapioca//lib/tapioca/executor.rb#33 sig { returns(::Integer) } def max_processors; end end -# source://tapioca/lib/tapioca/executor.rb#8 +# source://tapioca//lib/tapioca/executor.rb#8 Tapioca::Executor::MINIMUM_ITEMS_PER_WORKER = T.let(T.unsafe(nil), Integer) -# source://tapioca/lib/tapioca/gem/events.rb#5 +# source://tapioca//lib/tapioca/gem/events.rb#5 module Tapioca::Gem; end -# source://tapioca/lib/tapioca/gem/events.rb#77 +# source://tapioca//lib/tapioca/gem/events.rb#78 class Tapioca::Gem::ConstNodeAdded < ::Tapioca::Gem::NodeAdded - # source://tapioca/lib/tapioca/gem/events.rb#84 + # source://tapioca//lib/tapioca/gem/events.rb#85 sig { params(symbol: ::String, constant: ::Module, node: ::RBI::Const).void } def initialize(symbol, constant, node); end - # source://tapioca/lib/tapioca/gem/events.rb#81 + # : RBI::Const + # + # source://tapioca//lib/tapioca/gem/events.rb#82 sig { returns(::RBI::Const) } def node; end end -# source://tapioca/lib/tapioca/gem/events.rb#26 +# source://tapioca//lib/tapioca/gem/events.rb#26 class Tapioca::Gem::ConstantFound < ::Tapioca::Gem::Event - # source://tapioca/lib/tapioca/gem/events.rb#36 + # source://tapioca//lib/tapioca/gem/events.rb#36 sig { params(symbol: ::String, constant: ::BasicObject).void } def initialize(symbol, constant); end - # source://tapioca/lib/tapioca/gem/events.rb#33 + # source://tapioca//lib/tapioca/gem/events.rb#33 sig { returns(::BasicObject) } def constant; end - # source://tapioca/lib/tapioca/gem/events.rb#30 + # : String + # + # source://tapioca//lib/tapioca/gem/events.rb#30 sig { returns(::String) } def symbol; end end # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below. # -# source://tapioca/lib/tapioca/gem/events.rb#6 +# source://tapioca//lib/tapioca/gem/events.rb#6 class Tapioca::Gem::Event abstract! end -# source://tapioca/lib/tapioca/gem/events.rb#43 +# source://tapioca//lib/tapioca/gem/events.rb#43 class Tapioca::Gem::ForeignConstantFound < ::Tapioca::Gem::ConstantFound - # source://tapioca/lib/tapioca/gem/events.rb#52 + # : (String symbol, Module constant) -> void + # + # source://tapioca//lib/tapioca/gem/events.rb#53 sig { params(symbol: ::String, constant: ::Module).void } def initialize(symbol, constant); end - # source://tapioca/lib/tapioca/gem/events.rb#47 + # : -> Module + # + # source://tapioca//lib/tapioca/gem/events.rb#48 sig { override.returns(::Module) } def constant; end end -# source://tapioca/lib/tapioca/gem/events.rb#103 +# source://tapioca//lib/tapioca/gem/events.rb#104 class Tapioca::Gem::ForeignScopeNodeAdded < ::Tapioca::Gem::ScopeNodeAdded; end -# source://tapioca/lib/tapioca/gem/listeners/base.rb#6 +# source://tapioca//lib/tapioca/gem/listeners/base.rb#6 module Tapioca::Gem::Listeners; end # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below. # -# source://tapioca/lib/tapioca/gem/listeners/base.rb#7 +# source://tapioca//lib/tapioca/gem/listeners/base.rb#7 class Tapioca::Gem::Listeners::Base abstract! - # source://tapioca/lib/tapioca/gem/listeners/base.rb#14 + # : (Pipeline pipeline) -> void + # + # source://tapioca//lib/tapioca/gem/listeners/base.rb#14 sig { params(pipeline: ::Tapioca::Gem::Pipeline).void } def initialize(pipeline); end - # source://tapioca/lib/tapioca/gem/listeners/base.rb#19 + # : (NodeAdded event) -> void + # + # source://tapioca//lib/tapioca/gem/listeners/base.rb#19 sig { params(event: ::Tapioca::Gem::NodeAdded).void } def dispatch(event); end private - # source://tapioca/lib/tapioca/gem/listeners/base.rb#49 + # : (NodeAdded event) -> bool + # + # source://tapioca//lib/tapioca/gem/listeners/base.rb#49 sig { params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) } def ignore?(event); end - # source://tapioca/lib/tapioca/gem/listeners/base.rb#37 + # : (ConstNodeAdded event) -> void + # + # source://tapioca//lib/tapioca/gem/listeners/base.rb#37 sig { params(event: ::Tapioca::Gem::ConstNodeAdded).void } def on_const(event); end - # source://tapioca/lib/tapioca/gem/listeners/base.rb#45 + # : (MethodNodeAdded event) -> void + # + # source://tapioca//lib/tapioca/gem/listeners/base.rb#45 sig { params(event: ::Tapioca::Gem::MethodNodeAdded).void } def on_method(event); end - # source://tapioca/lib/tapioca/gem/listeners/base.rb#41 + # : (ScopeNodeAdded event) -> void + # + # source://tapioca//lib/tapioca/gem/listeners/base.rb#41 sig { params(event: ::Tapioca::Gem::ScopeNodeAdded).void } def on_scope(event); end end -# source://tapioca/lib/tapioca/gem/listeners/dynamic_mixins.rb#7 +# source://tapioca//lib/tapioca/gem/listeners/dynamic_mixins.rb#7 class Tapioca::Gem::Listeners::DynamicMixins < ::Tapioca::Gem::Listeners::Base include ::Tapioca::Runtime::AttachedClassOf include ::Tapioca::Runtime::Reflection private - # source://tapioca/lib/tapioca/gem/listeners/dynamic_mixins.rb#31 + # : (NodeAdded event) -> bool + # + # source://tapioca//lib/tapioca/gem/listeners/dynamic_mixins.rb#33 sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) } def ignore?(event); end - # source://tapioca/lib/tapioca/gem/listeners/dynamic_mixins.rb#15 + # : (ScopeNodeAdded event) -> void + # + # source://tapioca//lib/tapioca/gem/listeners/dynamic_mixins.rb#16 sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void } def on_scope(event); end end -# source://tapioca/lib/tapioca/gem/listeners/foreign_constants.rb#7 +# source://tapioca//lib/tapioca/gem/listeners/foreign_constants.rb#7 class Tapioca::Gem::Listeners::ForeignConstants < ::Tapioca::Gem::Listeners::Base include ::Tapioca::Runtime::AttachedClassOf include ::Tapioca::Runtime::Reflection private - # source://tapioca/lib/tapioca/gem/listeners/foreign_constants.rb#60 + # : (NodeAdded event) -> bool + # + # source://tapioca//lib/tapioca/gem/listeners/foreign_constants.rb#58 sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) } def ignore?(event); end - # source://tapioca/lib/tapioca/gem/listeners/foreign_constants.rb#55 + # : (String location) -> bool + # + # source://tapioca//lib/tapioca/gem/listeners/foreign_constants.rb#52 sig { params(location: ::String).returns(T::Boolean) } def mixed_in_by_gem?(location); end - # source://tapioca/lib/tapioca/gem/listeners/foreign_constants.rb#15 + # : (ScopeNodeAdded event) -> void + # + # source://tapioca//lib/tapioca/gem/listeners/foreign_constants.rb#16 sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void } def on_scope(event); end end -# source://tapioca/lib/tapioca/gem/listeners/methods.rb#7 +# source://tapioca//lib/tapioca/gem/listeners/methods.rb#7 class Tapioca::Gem::Listeners::Methods < ::Tapioca::Gem::Listeners::Base include ::Tapioca::SorbetHelper include ::Tapioca::RBIHelper @@ -1595,7 +1939,9 @@ class Tapioca::Gem::Listeners::Methods < ::Tapioca::Gem::Listeners::Base private - # source://tapioca/lib/tapioca/gem/listeners/methods.rb#35 + # : (RBI::Tree tree, String module_name, Module mod, ?Array[Symbol] for_visibility, ?attached_class: Module?) -> void + # + # source://tapioca//lib/tapioca/gem/listeners/methods.rb#28 sig do params( tree: ::RBI::Tree, @@ -1607,7 +1953,9 @@ class Tapioca::Gem::Listeners::Methods < ::Tapioca::Gem::Listeners::Base 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#71 + # : (RBI::Tree tree, String symbol_name, Module constant, UnboundMethod? method, ?RBI::Visibility visibility) -> void + # + # source://tapioca//lib/tapioca/gem/listeners/methods.rb#56 sig do params( tree: ::RBI::Tree, @@ -1619,23 +1967,33 @@ 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#211 + # : (NodeAdded event) -> bool + # + # source://tapioca//lib/tapioca/gem/listeners/methods.rb#192 sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) } def ignore?(event); end - # source://tapioca/lib/tapioca/gem/listeners/methods.rb#204 + # : (Module constant) -> UnboundMethod? + # + # source://tapioca//lib/tapioca/gem/listeners/methods.rb#184 sig { params(constant: ::Module).returns(T.nilable(::UnboundMethod)) } def initialize_method_for(constant); end - # source://tapioca/lib/tapioca/gem/listeners/methods.rb#216 + # : (UnboundMethod method) -> untyped + # + # source://tapioca//lib/tapioca/gem/listeners/methods.rb#197 sig { params(method: ::UnboundMethod).returns(T.untyped) } def lookup_signature_of(method); end - # source://tapioca/lib/tapioca/gem/listeners/methods.rb#172 + # : (Module mod) -> Hash[Symbol, Array[Symbol]] + # + # source://tapioca//lib/tapioca/gem/listeners/methods.rb#157 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 + # : (Module? attached_class, Symbol method_name) -> bool? + # + # source://tapioca//lib/tapioca/gem/listeners/methods.rb#176 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 @@ -1648,28 +2006,35 @@ class Tapioca::Gem::Listeners::Methods < ::Tapioca::Gem::Listeners::Base # This method implements a better way of checking whether a constant defines a method. # 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. + # : (UnboundMethod method, Module constant) -> bool # - # source://tapioca/lib/tapioca/gem/listeners/methods.rb#158 + # source://tapioca//lib/tapioca/gem/listeners/methods.rb#143 sig { params(method: ::UnboundMethod, constant: ::Module).returns(T::Boolean) } def method_owned_by_constant?(method, constant); end - # source://tapioca/lib/tapioca/gem/listeners/methods.rb#16 + # : (ScopeNodeAdded event) -> void + # + # source://tapioca//lib/tapioca/gem/listeners/methods.rb#17 sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void } def on_scope(event); end - # source://tapioca/lib/tapioca/gem/listeners/methods.rb#181 + # : (Module constant, String method_name) -> bool + # + # source://tapioca//lib/tapioca/gem/listeners/methods.rb#166 sig { params(constant: ::Module, method_name: ::String).returns(T::Boolean) } def struct_method?(constant, method_name); end end -# source://tapioca/lib/tapioca/gem/listeners/mixins.rb#7 +# source://tapioca//lib/tapioca/gem/listeners/mixins.rb#7 class Tapioca::Gem::Listeners::Mixins < ::Tapioca::Gem::Listeners::Base include ::Tapioca::Runtime::AttachedClassOf include ::Tapioca::Runtime::Reflection private - # source://tapioca/lib/tapioca/gem/listeners/mixins.rb#42 + # : (RBI::Tree tree, Module constant, Array[Module] mods, Runtime::Trackers::Mixin::Type mixin_type) -> void + # + # source://tapioca//lib/tapioca/gem/listeners/mixins.rb#36 sig do params( tree: ::RBI::Tree, @@ -1680,15 +2045,21 @@ class Tapioca::Gem::Listeners::Mixins < ::Tapioca::Gem::Listeners::Base end def add_mixins(tree, constant, mods, mixin_type); end - # source://tapioca/lib/tapioca/gem/listeners/mixins.rb#84 + # : (String mixin_name) -> bool + # + # source://tapioca//lib/tapioca/gem/listeners/mixins.rb#72 sig { params(mixin_name: ::String).returns(T::Boolean) } def filtered_mixin?(mixin_name); end - # source://tapioca/lib/tapioca/gem/listeners/mixins.rb#91 + # : (Module constant) -> Array[Module] + # + # source://tapioca//lib/tapioca/gem/listeners/mixins.rb#79 sig { params(constant: ::Module).returns(T::Array[::Module]) } def interesting_ancestors_of(constant); end - # source://tapioca/lib/tapioca/gem/listeners/mixins.rb#75 + # : (Module constant, Module mixin, Runtime::Trackers::Mixin::Type mixin_type) -> bool + # + # source://tapioca//lib/tapioca/gem/listeners/mixins.rb#63 sig do params( constant: ::Module, @@ -1698,86 +2069,108 @@ class Tapioca::Gem::Listeners::Mixins < ::Tapioca::Gem::Listeners::Base end def mixed_in_by_gem?(constant, mixin, mixin_type); end - # source://tapioca/lib/tapioca/gem/listeners/mixins.rb#15 + # : (ScopeNodeAdded event) -> void + # + # source://tapioca//lib/tapioca/gem/listeners/mixins.rb#16 sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void } def on_scope(event); end end -# source://tapioca/lib/tapioca/gem/listeners/remove_empty_payload_scopes.rb#7 +# source://tapioca//lib/tapioca/gem/listeners/remove_empty_payload_scopes.rb#7 class Tapioca::Gem::Listeners::RemoveEmptyPayloadScopes < ::Tapioca::Gem::Listeners::Base include ::Tapioca::Runtime::AttachedClassOf include ::Tapioca::Runtime::Reflection private - # source://tapioca/lib/tapioca/gem/listeners/remove_empty_payload_scopes.rb#20 + # : (NodeAdded event) -> bool + # + # source://tapioca//lib/tapioca/gem/listeners/remove_empty_payload_scopes.rb#22 sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) } def ignore?(event); end - # source://tapioca/lib/tapioca/gem/listeners/remove_empty_payload_scopes.rb#15 + # : (ScopeNodeAdded event) -> void + # + # source://tapioca//lib/tapioca/gem/listeners/remove_empty_payload_scopes.rb#16 sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void } def on_scope(event); end end -# source://tapioca/lib/tapioca/gem/listeners/sorbet_enums.rb#7 +# source://tapioca//lib/tapioca/gem/listeners/sorbet_enums.rb#7 class Tapioca::Gem::Listeners::SorbetEnums < ::Tapioca::Gem::Listeners::Base private - # source://tapioca/lib/tapioca/gem/listeners/sorbet_enums.rb#28 + # : (NodeAdded event) -> bool + # + # source://tapioca//lib/tapioca/gem/listeners/sorbet_enums.rb#30 sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) } def ignore?(event); end - # source://tapioca/lib/tapioca/gem/listeners/sorbet_enums.rb#13 + # : (ScopeNodeAdded event) -> void + # + # source://tapioca//lib/tapioca/gem/listeners/sorbet_enums.rb#14 sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void } def on_scope(event); end end -# source://tapioca/lib/tapioca/gem/listeners/sorbet_helpers.rb#7 +# source://tapioca//lib/tapioca/gem/listeners/sorbet_helpers.rb#7 class Tapioca::Gem::Listeners::SorbetHelpers < ::Tapioca::Gem::Listeners::Base include ::Tapioca::Runtime::AttachedClassOf include ::Tapioca::Runtime::Reflection private - # source://tapioca/lib/tapioca/gem/listeners/sorbet_helpers.rb#27 + # : (NodeAdded event) -> bool + # + # source://tapioca//lib/tapioca/gem/listeners/sorbet_helpers.rb#29 sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) } def ignore?(event); end - # source://tapioca/lib/tapioca/gem/listeners/sorbet_helpers.rb#15 + # : (ScopeNodeAdded event) -> void + # + # source://tapioca//lib/tapioca/gem/listeners/sorbet_helpers.rb#16 sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void } def on_scope(event); end end -# source://tapioca/lib/tapioca/gem/listeners/sorbet_props.rb#7 +# 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#33 + # : (NodeAdded event) -> bool + # + # source://tapioca//lib/tapioca/gem/listeners/sorbet_props.rb#35 sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) } def ignore?(event); end - # source://tapioca/lib/tapioca/gem/listeners/sorbet_props.rb#14 + # : (ScopeNodeAdded event) -> void + # + # source://tapioca//lib/tapioca/gem/listeners/sorbet_props.rb#15 sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void } def on_scope(event); end end -# source://tapioca/lib/tapioca/gem/listeners/sorbet_required_ancestors.rb#7 +# source://tapioca//lib/tapioca/gem/listeners/sorbet_required_ancestors.rb#7 class Tapioca::Gem::Listeners::SorbetRequiredAncestors < ::Tapioca::Gem::Listeners::Base private - # source://tapioca/lib/tapioca/gem/listeners/sorbet_required_ancestors.rb#23 + # : (NodeAdded event) -> bool + # + # source://tapioca//lib/tapioca/gem/listeners/sorbet_required_ancestors.rb#25 sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) } def ignore?(event); end - # source://tapioca/lib/tapioca/gem/listeners/sorbet_required_ancestors.rb#13 + # : (ScopeNodeAdded event) -> void + # + # source://tapioca//lib/tapioca/gem/listeners/sorbet_required_ancestors.rb#14 sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void } def on_scope(event); end end -# source://tapioca/lib/tapioca/gem/listeners/sorbet_signatures.rb#7 +# source://tapioca//lib/tapioca/gem/listeners/sorbet_signatures.rb#7 class Tapioca::Gem::Listeners::SorbetSignatures < ::Tapioca::Gem::Listeners::Base include ::Tapioca::Runtime::AttachedClassOf include ::Tapioca::Runtime::Reflection @@ -1786,125 +2179,165 @@ class Tapioca::Gem::Listeners::SorbetSignatures < ::Tapioca::Gem::Listeners::Bas private - # source://tapioca/lib/tapioca/gem/listeners/sorbet_signatures.rb#26 + # : (untyped signature, Array[[Symbol, String]] parameters) -> RBI::Sig + # + # source://tapioca//lib/tapioca/gem/listeners/sorbet_signatures.rb#27 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#79 + # : (NodeAdded event) -> bool + # + # source://tapioca//lib/tapioca/gem/listeners/sorbet_signatures.rb#81 sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) } def ignore?(event); end - # source://tapioca/lib/tapioca/gem/listeners/sorbet_signatures.rb#18 + # : (MethodNodeAdded event) -> void + # + # source://tapioca//lib/tapioca/gem/listeners/sorbet_signatures.rb#19 sig { override.params(event: ::Tapioca::Gem::MethodNodeAdded).void } def on_method(event); end - # source://tapioca/lib/tapioca/gem/listeners/sorbet_signatures.rb#68 + # : (untyped signature) -> bool + # + # source://tapioca//lib/tapioca/gem/listeners/sorbet_signatures.rb#69 sig { params(signature: T.untyped).returns(T::Boolean) } def signature_final?(signature); end end -# source://tapioca/lib/tapioca/gem/listeners/sorbet_signatures.rb#13 +# source://tapioca//lib/tapioca/gem/listeners/sorbet_signatures.rb#13 Tapioca::Gem::Listeners::SorbetSignatures::TYPE_PARAMETER_MATCHER = T.let(T.unsafe(nil), Regexp) -# source://tapioca/lib/tapioca/gem/listeners/sorbet_type_variables.rb#7 +# source://tapioca//lib/tapioca/gem/listeners/sorbet_type_variables.rb#7 class Tapioca::Gem::Listeners::SorbetTypeVariables < ::Tapioca::Gem::Listeners::Base include ::Tapioca::Runtime::AttachedClassOf include ::Tapioca::Runtime::Reflection private - # source://tapioca/lib/tapioca/gem/listeners/sorbet_type_variables.rb#27 + # : (RBI::Tree tree, Module constant) -> void + # + # source://tapioca//lib/tapioca/gem/listeners/sorbet_type_variables.rb#28 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#63 + # : (NodeAdded event) -> bool + # + # source://tapioca//lib/tapioca/gem/listeners/sorbet_type_variables.rb#65 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 + # : (Tapioca::TypeVariableModule type_variable) -> RBI::Node? + # + # source://tapioca//lib/tapioca/gem/listeners/sorbet_type_variables.rb#51 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 + # : (ScopeNodeAdded event) -> void + # + # source://tapioca//lib/tapioca/gem/listeners/sorbet_type_variables.rb#16 sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void } def on_scope(event); end end -# source://tapioca/lib/tapioca/gem/listeners/source_location.rb#7 +# source://tapioca//lib/tapioca/gem/listeners/source_location.rb#7 class Tapioca::Gem::Listeners::SourceLocation < ::Tapioca::Gem::Listeners::Base private - # source://tapioca/lib/tapioca/gem/listeners/source_location.rb#41 + # : (RBI::NodeWithComments node, String? file, Integer? line) -> void + # + # source://tapioca//lib/tapioca/gem/listeners/source_location.rb#44 sig { params(node: ::RBI::NodeWithComments, file: T.nilable(::String), line: T.nilable(::Integer)).void } def add_source_location_comment(node, file, line); end - # source://tapioca/lib/tapioca/gem/listeners/source_location.rb#13 + # : (ConstNodeAdded event) -> void + # + # source://tapioca//lib/tapioca/gem/listeners/source_location.rb#14 sig { override.params(event: ::Tapioca::Gem::ConstNodeAdded).void } def on_const(event); end - # source://tapioca/lib/tapioca/gem/listeners/source_location.rb#35 + # : (MethodNodeAdded event) -> void + # + # source://tapioca//lib/tapioca/gem/listeners/source_location.rb#38 sig { override.params(event: ::Tapioca::Gem::MethodNodeAdded).void } def on_method(event); end - # source://tapioca/lib/tapioca/gem/listeners/source_location.rb#19 + # : (ScopeNodeAdded event) -> void + # + # source://tapioca//lib/tapioca/gem/listeners/source_location.rb#21 sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void } def on_scope(event); end end -# source://tapioca/lib/tapioca/gem/listeners/subconstants.rb#7 +# source://tapioca//lib/tapioca/gem/listeners/subconstants.rb#7 class Tapioca::Gem::Listeners::Subconstants < ::Tapioca::Gem::Listeners::Base include ::Tapioca::Runtime::AttachedClassOf include ::Tapioca::Runtime::Reflection private - # source://tapioca/lib/tapioca/gem/listeners/subconstants.rb#36 + # : (NodeAdded event) -> bool + # + # source://tapioca//lib/tapioca/gem/listeners/subconstants.rb#37 sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) } def ignore?(event); end - # source://tapioca/lib/tapioca/gem/listeners/subconstants.rb#15 + # : (ScopeNodeAdded event) -> void + # + # source://tapioca//lib/tapioca/gem/listeners/subconstants.rb#16 sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void } def on_scope(event); end end -# source://tapioca/lib/tapioca/gem/listeners/yard_doc.rb#7 +# source://tapioca//lib/tapioca/gem/listeners/yard_doc.rb#7 class Tapioca::Gem::Listeners::YardDoc < ::Tapioca::Gem::Listeners::Base - # source://tapioca/lib/tapioca/gem/listeners/yard_doc.rb#27 + # : (Pipeline pipeline) -> void + # + # source://tapioca//lib/tapioca/gem/listeners/yard_doc.rb#27 sig { params(pipeline: ::Tapioca::Gem::Pipeline).void } def initialize(pipeline); end private - # source://tapioca/lib/tapioca/gem/listeners/yard_doc.rb#55 + # : (String name, ?sigs: Array[RBI::Sig]) -> Array[RBI::Comment] + # + # source://tapioca//lib/tapioca/gem/listeners/yard_doc.rb#58 sig { params(name: ::String, sigs: T::Array[::RBI::Sig]).returns(T::Array[::RBI::Comment]) } def documentation_comments(name, sigs: T.unsafe(nil)); end - # source://tapioca/lib/tapioca/gem/listeners/yard_doc.rb#99 + # : (NodeAdded event) -> bool + # + # source://tapioca//lib/tapioca/gem/listeners/yard_doc.rb#103 sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) } def ignore?(event); end - # source://tapioca/lib/tapioca/gem/listeners/yard_doc.rb#36 + # : (ConstNodeAdded event) -> void + # + # source://tapioca//lib/tapioca/gem/listeners/yard_doc.rb#37 sig { override.params(event: ::Tapioca::Gem::ConstNodeAdded).void } def on_const(event); end - # source://tapioca/lib/tapioca/gem/listeners/yard_doc.rb#46 + # : (MethodNodeAdded event) -> void + # + # source://tapioca//lib/tapioca/gem/listeners/yard_doc.rb#49 sig { override.params(event: ::Tapioca::Gem::MethodNodeAdded).void } def on_method(event); end - # source://tapioca/lib/tapioca/gem/listeners/yard_doc.rb#41 + # : (ScopeNodeAdded event) -> void + # + # source://tapioca//lib/tapioca/gem/listeners/yard_doc.rb#43 sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void } def on_scope(event); end end -# source://tapioca/lib/tapioca/gem/listeners/yard_doc.rb#10 +# source://tapioca//lib/tapioca/gem/listeners/yard_doc.rb#10 Tapioca::Gem::Listeners::YardDoc::IGNORED_COMMENTS = T.let(T.unsafe(nil), Array) -# source://tapioca/lib/tapioca/gem/listeners/yard_doc.rb#24 +# source://tapioca//lib/tapioca/gem/listeners/yard_doc.rb#24 Tapioca::Gem::Listeners::YardDoc::IGNORED_SIG_TAGS = T.let(T.unsafe(nil), Array) -# source://tapioca/lib/tapioca/gem/events.rb#105 +# source://tapioca//lib/tapioca/gem/events.rb#106 class Tapioca::Gem::MethodNodeAdded < ::Tapioca::Gem::NodeAdded - # source://tapioca/lib/tapioca/gem/events.rb#130 + # source://tapioca//lib/tapioca/gem/events.rb#131 sig do params( symbol: ::String, @@ -1917,50 +2350,62 @@ class Tapioca::Gem::MethodNodeAdded < ::Tapioca::Gem::NodeAdded end def initialize(symbol, constant, method, node, signature, parameters); end - # source://tapioca/lib/tapioca/gem/events.rb#109 + # : UnboundMethod + # + # source://tapioca//lib/tapioca/gem/events.rb#110 sig { returns(::UnboundMethod) } def method; end - # source://tapioca/lib/tapioca/gem/events.rb#112 + # : RBI::Method + # + # source://tapioca//lib/tapioca/gem/events.rb#113 sig { returns(::RBI::Method) } def node; end - # source://tapioca/lib/tapioca/gem/events.rb#118 + # : Array[[Symbol, String]] + # + # source://tapioca//lib/tapioca/gem/events.rb#119 sig { returns(T::Array[[::Symbol, ::String]]) } def parameters; end - # source://tapioca/lib/tapioca/gem/events.rb#115 + # : untyped + # + # source://tapioca//lib/tapioca/gem/events.rb#116 sig { returns(T.untyped) } def signature; end end # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below. # -# source://tapioca/lib/tapioca/gem/events.rb#57 +# source://tapioca//lib/tapioca/gem/events.rb#58 class Tapioca::Gem::NodeAdded < ::Tapioca::Gem::Event abstract! - # source://tapioca/lib/tapioca/gem/events.rb#70 + # source://tapioca//lib/tapioca/gem/events.rb#71 sig { params(symbol: ::String, constant: ::Module).void } def initialize(symbol, constant); end - # source://tapioca/lib/tapioca/gem/events.rb#67 + # source://tapioca//lib/tapioca/gem/events.rb#68 sig { returns(::Module) } def constant; end - # source://tapioca/lib/tapioca/gem/events.rb#64 + # : String + # + # source://tapioca//lib/tapioca/gem/events.rb#65 sig { returns(::String) } def symbol; end end -# source://tapioca/lib/tapioca/gem/pipeline.rb#6 +# source://tapioca//lib/tapioca/gem/pipeline.rb#6 class Tapioca::Gem::Pipeline include ::Tapioca::Runtime::AttachedClassOf include ::Tapioca::Runtime::Reflection include ::Tapioca::SorbetHelper include ::Tapioca::RBIHelper - # source://tapioca/lib/tapioca/gem/pipeline.rb#27 + # : (Gemfile::GemSpec gem, error_handler: ^(String error) -> void, ?include_doc: bool, ?include_loc: bool) -> void + # + # source://tapioca//lib/tapioca/gem/pipeline.rb#20 sig do params( gem: ::Tapioca::Gemfile::GemSpec, @@ -1971,49 +2416,59 @@ class Tapioca::Gem::Pipeline end def initialize(gem, error_handler:, include_doc: T.unsafe(nil), include_loc: T.unsafe(nil)); end - # source://tapioca/lib/tapioca/gem/pipeline.rb#64 + # : -> RBI::Tree + # + # source://tapioca//lib/tapioca/gem/pipeline.rb#57 sig { returns(::RBI::Tree) } def compile; end - # source://tapioca/lib/tapioca/gem/pipeline.rb#135 + # : ((String | Symbol) name) -> bool + # + # source://tapioca//lib/tapioca/gem/pipeline.rb#124 sig { params(name: T.any(::String, ::Symbol)).returns(T::Boolean) } def constant_in_gem?(name); end - # source://tapioca/lib/tapioca/gem/pipeline.rb#17 + # : ^(String error) -> void + # + # source://tapioca//lib/tapioca/gem/pipeline.rb#17 sig { returns(T.proc.params(error: ::String).void) } def error_handler; end - # source://tapioca/lib/tapioca/gem/pipeline.rb#14 + # : Gemfile::GemSpec + # + # source://tapioca//lib/tapioca/gem/pipeline.rb#14 sig { returns(::Tapioca::Gemfile::GemSpec) } def gem; end - # source://tapioca/lib/tapioca/gem/pipeline.rb#153 + # : (UnboundMethod method) -> bool + # + # source://tapioca//lib/tapioca/gem/pipeline.rb#142 sig { params(method: ::UnboundMethod).returns(T::Boolean) } def method_in_gem?(method); end - # Helpers + # : (Module constant) -> String? # - # source://tapioca/lib/tapioca/gem/pipeline.rb#163 + # source://tapioca//lib/tapioca/gem/pipeline.rb#152 sig { params(constant: ::Module).returns(T.nilable(::String)) } def name_of(constant); end - # source://tapioca/lib/tapioca/gem/pipeline.rb#87 + # source://tapioca//lib/tapioca/gem/pipeline.rb#80 sig { params(symbol: ::String, constant: ::Module, node: ::RBI::Const).void } def push_const(symbol, constant, node); end - # source://tapioca/lib/tapioca/gem/pipeline.rb#77 + # source://tapioca//lib/tapioca/gem/pipeline.rb#70 sig { params(symbol: ::String, constant: ::BasicObject).void } def push_constant(symbol, constant); end - # source://tapioca/lib/tapioca/gem/pipeline.rb#82 + # source://tapioca//lib/tapioca/gem/pipeline.rb#75 sig { params(symbol: ::String, constant: ::Module).void } def push_foreign_constant(symbol, constant); end - # source://tapioca/lib/tapioca/gem/pipeline.rb#101 + # source://tapioca//lib/tapioca/gem/pipeline.rb#90 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#115 + # source://tapioca//lib/tapioca/gem/pipeline.rb#104 sig do params( symbol: ::String, @@ -2026,137 +2481,175 @@ class Tapioca::Gem::Pipeline end def push_method(symbol, constant, method, node, signature, parameters); end - # source://tapioca/lib/tapioca/gem/pipeline.rb#94 + # source://tapioca//lib/tapioca/gem/pipeline.rb#85 sig { params(symbol: ::String, constant: ::Module, node: ::RBI::Scope).void } def push_scope(symbol, constant, node); end - # Events handling + # : (String symbol) -> void # - # source://tapioca/lib/tapioca/gem/pipeline.rb#72 + # source://tapioca//lib/tapioca/gem/pipeline.rb#65 sig { params(symbol: ::String).void } def push_symbol(symbol); end - # Constants and properties filtering + # : (String symbol_name) -> bool # - # source://tapioca/lib/tapioca/gem/pipeline.rb#122 + # source://tapioca//lib/tapioca/gem/pipeline.rb#111 sig { params(symbol_name: ::String).returns(T::Boolean) } def symbol_in_payload?(symbol_name); end private - # source://tapioca/lib/tapioca/gem/pipeline.rb#456 + # : (String name) -> void + # + # source://tapioca//lib/tapioca/gem/pipeline.rb#445 sig { params(name: ::String).void } def add_to_alias_namespace(name); end - # source://tapioca/lib/tapioca/gem/pipeline.rb#461 + # : (String name) -> bool + # + # source://tapioca//lib/tapioca/gem/pipeline.rb#450 sig { params(name: ::String).returns(T::Boolean) } def alias_namespaced?(name); end - # source://tapioca/lib/tapioca/gem/pipeline.rb#260 + # : (String name, Module constant) -> void + # + # source://tapioca//lib/tapioca/gem/pipeline.rb#249 sig { params(name: ::String, constant: ::Module).void } def compile_alias(name, constant); end - # source://tapioca/lib/tapioca/gem/pipeline.rb#246 + # source://tapioca//lib/tapioca/gem/pipeline.rb#235 sig { params(symbol: ::String, constant: ::BasicObject).void } def compile_constant(symbol, constant); end - # Compiling + # : (String symbol, Module constant) -> void # - # source://tapioca/lib/tapioca/gem/pipeline.rb#235 + # source://tapioca//lib/tapioca/gem/pipeline.rb#224 sig { params(symbol: ::String, constant: ::Module).void } def compile_foreign_constant(symbol, constant); end - # source://tapioca/lib/tapioca/gem/pipeline.rb#314 + # : (String name, Module constant) -> void + # + # source://tapioca//lib/tapioca/gem/pipeline.rb#303 sig { params(name: ::String, constant: ::Module).void } def compile_module(name, constant); end - # source://tapioca/lib/tapioca/gem/pipeline.rb#281 + # source://tapioca//lib/tapioca/gem/pipeline.rb#270 sig { params(name: ::String, value: ::BasicObject).void } def compile_object(name, value); end - # source://tapioca/lib/tapioca/gem/pipeline.rb#325 + # : (String name, Module constant) -> RBI::Scope + # + # source://tapioca//lib/tapioca/gem/pipeline.rb#314 sig { params(name: ::String, constant: ::Module).returns(::RBI::Scope) } def compile_scope(name, constant); end - # source://tapioca/lib/tapioca/gem/pipeline.rb#339 + # : (Class[top] constant) -> String? + # + # source://tapioca//lib/tapioca/gem/pipeline.rb#328 sig { params(constant: T::Class[T.anything]).returns(T.nilable(::String)) } def compile_superclass(constant); end - # source://tapioca/lib/tapioca/gem/pipeline.rb#437 + # : (Module constant, ?strict: bool) -> bool + # + # source://tapioca//lib/tapioca/gem/pipeline.rb#426 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#193 + # : (Gem::Event event) -> void + # + # source://tapioca//lib/tapioca/gem/pipeline.rb#182 sig { params(event: ::Tapioca::Gem::Event).void } def dispatch(event); end - # Helpers + # : ((Module & T::Generic) constant) -> String # - # source://tapioca/lib/tapioca/gem/pipeline.rb#480 + # source://tapioca//lib/tapioca/gem/pipeline.rb#469 sig { params(constant: T.all(::Module, ::T::Generic)).returns(::String) } def generic_name_of(constant); end - # source://tapioca/lib/tapioca/gem/pipeline.rb#449 + # : (Module constant) -> Set[String] + # + # source://tapioca//lib/tapioca/gem/pipeline.rb#438 sig { params(constant: ::Module).returns(T::Set[::String]) } def get_file_candidates(constant); end - # source://tapioca/lib/tapioca/gem/pipeline.rb#178 + # : (Gemfile::GemSpec gem) -> Set[String] + # + # source://tapioca//lib/tapioca/gem/pipeline.rb#167 sig { params(gem: ::Tapioca::Gemfile::GemSpec).returns(T::Set[::String]) } def load_bootstrap_symbols(gem); end - # source://tapioca/lib/tapioca/gem/pipeline.rb#496 + # : (Module constant, String? class_name) -> String? + # + # source://tapioca//lib/tapioca/gem/pipeline.rb#485 sig { params(constant: ::Module, class_name: T.nilable(::String)).returns(T.nilable(::String)) } def name_of_proxy_target(constant, class_name); end - # Events handling + # : -> Gem::Event # - # source://tapioca/lib/tapioca/gem/pipeline.rb#188 + # source://tapioca//lib/tapioca/gem/pipeline.rb#177 sig { returns(::Tapioca::Gem::Event) } def next_event; end - # source://tapioca/lib/tapioca/gem/pipeline.rb#216 + # : (Gem::ConstantFound event) -> void + # + # source://tapioca//lib/tapioca/gem/pipeline.rb#205 sig { params(event: ::Tapioca::Gem::ConstantFound).void } def on_constant(event); end - # source://tapioca/lib/tapioca/gem/pipeline.rb#228 + # : (Gem::NodeAdded event) -> void + # + # source://tapioca//lib/tapioca/gem/pipeline.rb#217 sig { params(event: ::Tapioca::Gem::NodeAdded).void } def on_node(event); end - # source://tapioca/lib/tapioca/gem/pipeline.rb#207 + # : (Gem::SymbolFound event) -> void + # + # source://tapioca//lib/tapioca/gem/pipeline.rb#196 sig { params(event: ::Tapioca::Gem::SymbolFound).void } def on_symbol(event); end - # source://tapioca/lib/tapioca/gem/pipeline.rb#468 + # : (String name) -> void + # + # source://tapioca//lib/tapioca/gem/pipeline.rb#457 sig { params(name: ::String).void } def seen!(name); end - # source://tapioca/lib/tapioca/gem/pipeline.rb#473 + # : (String name) -> bool + # + # source://tapioca//lib/tapioca/gem/pipeline.rb#462 sig { params(name: ::String).returns(T::Boolean) } def seen?(name); end - # source://tapioca/lib/tapioca/gem/pipeline.rb#407 + # : (String name, Module constant) -> bool + # + # source://tapioca//lib/tapioca/gem/pipeline.rb#396 sig { params(name: ::String, constant: ::Module).returns(T::Boolean) } def skip_alias?(name, constant); end - # source://tapioca/lib/tapioca/gem/pipeline.rb#395 - sig { params(name: ::String, constant: T.anything).returns(T::Boolean) } + # source://tapioca//lib/tapioca/gem/pipeline.rb#384 + sig { params(name: ::String, constant: T.untyped).returns(T::Boolean) } def skip_constant?(name, constant); end - # source://tapioca/lib/tapioca/gem/pipeline.rb#424 + # : (String name, Module constant) -> bool + # + # source://tapioca//lib/tapioca/gem/pipeline.rb#413 sig { params(name: ::String, constant: ::Module).returns(T::Boolean) } def skip_foreign_constant?(name, constant); end - # source://tapioca/lib/tapioca/gem/pipeline.rb#429 + # : (String name, Module constant) -> bool + # + # source://tapioca//lib/tapioca/gem/pipeline.rb#418 sig { params(name: ::String, constant: ::Module).returns(T::Boolean) } def skip_module?(name, constant); end - # source://tapioca/lib/tapioca/gem/pipeline.rb#416 + # source://tapioca//lib/tapioca/gem/pipeline.rb#405 sig { params(name: ::String, constant: ::BasicObject).returns(T::Boolean) } def skip_object?(name, constant); end - # Constants and properties filtering + # : (String name) -> bool # - # source://tapioca/lib/tapioca/gem/pipeline.rb#390 + # source://tapioca//lib/tapioca/gem/pipeline.rb#379 sig { params(name: ::String).returns(T::Boolean) } def skip_symbol?(name); end end @@ -2165,249 +2658,337 @@ end # "(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#132 +# source://tapioca//lib/tapioca/gem/pipeline.rb#121 Tapioca::Gem::Pipeline::EVAL_SOURCE_FILE_PATTERN = T.let(T.unsafe(nil), Regexp) -# source://tapioca/lib/tapioca/gem/pipeline.rb#11 +# source://tapioca//lib/tapioca/gem/pipeline.rb#11 Tapioca::Gem::Pipeline::IGNORED_SYMBOLS = T.let(T.unsafe(nil), Array) -# source://tapioca/lib/tapioca/gem/events.rb#90 +# source://tapioca//lib/tapioca/gem/events.rb#91 class Tapioca::Gem::ScopeNodeAdded < ::Tapioca::Gem::NodeAdded - # source://tapioca/lib/tapioca/gem/events.rb#97 + # source://tapioca//lib/tapioca/gem/events.rb#98 sig { params(symbol: ::String, constant: ::Module, node: ::RBI::Scope).void } def initialize(symbol, constant, node); end - # source://tapioca/lib/tapioca/gem/events.rb#94 + # : RBI::Scope + # + # source://tapioca//lib/tapioca/gem/events.rb#95 sig { returns(::RBI::Scope) } def node; end end -# source://tapioca/lib/tapioca/gem/events.rb#13 +# source://tapioca//lib/tapioca/gem/events.rb#13 class Tapioca::Gem::SymbolFound < ::Tapioca::Gem::Event - # source://tapioca/lib/tapioca/gem/events.rb#20 + # : (String symbol) -> void + # + # source://tapioca//lib/tapioca/gem/events.rb#20 sig { params(symbol: ::String).void } def initialize(symbol); end - # source://tapioca/lib/tapioca/gem/events.rb#17 + # : String + # + # source://tapioca//lib/tapioca/gem/events.rb#17 sig { returns(::String) } def symbol; end end -# source://tapioca/lib/tapioca/helpers/gem_helper.rb#5 +# source://tapioca//lib/tapioca/helpers/gem_helper.rb#5 module Tapioca::GemHelper - # source://tapioca/lib/tapioca/helpers/gem_helper.rb#9 + # : ((String | Pathname) app_dir, String full_gem_path) -> bool + # + # source://tapioca//lib/tapioca/helpers/gem_helper.rb#9 sig { params(app_dir: T.any(::Pathname, ::String), full_gem_path: ::String).returns(T::Boolean) } def gem_in_app_dir?(app_dir, full_gem_path); end - # source://tapioca/lib/tapioca/helpers/gem_helper.rb#17 + # : (String full_gem_path) -> bool + # + # source://tapioca//lib/tapioca/helpers/gem_helper.rb#17 sig { params(full_gem_path: ::String).returns(T::Boolean) } def gem_in_bundle_path?(full_gem_path); end - # source://tapioca/lib/tapioca/helpers/gem_helper.rb#22 + # : (String full_gem_path) -> bool + # + # source://tapioca//lib/tapioca/helpers/gem_helper.rb#22 sig { params(full_gem_path: ::String).returns(T::Boolean) } def gem_in_ruby_path?(full_gem_path); end - # source://tapioca/lib/tapioca/helpers/gem_helper.rb#27 + # : ((String | Pathname) path) -> String + # + # source://tapioca//lib/tapioca/helpers/gem_helper.rb#27 sig { params(path: T.any(::Pathname, ::String)).returns(::String) } def to_realpath(path); end private - # source://tapioca/lib/tapioca/helpers/gem_helper.rb#36 + # : ((Pathname | String) path, (Pathname | String) dir) -> bool + # + # source://tapioca//lib/tapioca/helpers/gem_helper.rb#36 sig { params(path: T.any(::Pathname, ::String), dir: T.any(::Pathname, ::String)).returns(T::Boolean) } def path_in_dir?(path, dir); end end -# source://tapioca/lib/tapioca/gem_info.rb#5 +# source://tapioca//lib/tapioca/gem_info.rb#5 class Tapioca::GemInfo < ::T::Struct const :name, ::String const :version, ::Gem::Version class << self - # source://tapioca/lib/tapioca/gem_info.rb#13 + # : (Bundler::LazySpecification spec) -> GemInfo + # + # source://tapioca//lib/tapioca/gem_info.rb#13 sig { params(spec: ::Bundler::LazySpecification).returns(::Tapioca::GemInfo) } def from_spec(spec); end - # source://sorbet-runtime/0.5.11761lib/types/struct.rb#13 + # source://sorbet-runtime/0.5.11915/lib/types/struct.rb#13 def inherited(s); end end end -# source://tapioca/lib/tapioca/gemfile.rb#7 +# source://tapioca//lib/tapioca/gemfile.rb#7 class Tapioca::Gemfile - # source://tapioca/lib/tapioca/gemfile.rb#27 + # : (Array[String] excluded_gems) -> void + # + # 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#18 + # : Bundler::Definition + # + # source://tapioca//lib/tapioca/gemfile.rb#18 sig { returns(::Bundler::Definition) } def definition; end - # source://tapioca/lib/tapioca/gemfile.rb#21 + # : Array[GemSpec] + # + # source://tapioca//lib/tapioca/gemfile.rb#21 sig { returns(T::Array[::Tapioca::Gemfile::GemSpec]) } def dependencies; end - # source://tapioca/lib/tapioca/gemfile.rb#40 + # : (String gem_name) -> GemSpec? + # + # 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#24 + # : Array[String] + # + # source://tapioca//lib/tapioca/gemfile.rb#24 sig { returns(T::Array[::String]) } def missing_specs; end - # source://tapioca/lib/tapioca/gemfile.rb#45 + # : -> void + # + # source://tapioca//lib/tapioca/gemfile.rb#45 sig { void } def require_bundle; end private - # source://tapioca/lib/tapioca/gemfile.rb#101 + # : -> String + # + # source://tapioca//lib/tapioca/gemfile.rb#101 sig { returns(::String) } def dir; end - # source://tapioca/lib/tapioca/gemfile.rb#54 + # : File + # + # source://tapioca//lib/tapioca/gemfile.rb#54 sig { returns(::File) } def gemfile; end - # source://tapioca/lib/tapioca/gemfile.rb#96 + # : -> Array[Symbol] + # + # source://tapioca//lib/tapioca/gemfile.rb#96 sig { returns(T::Array[::Symbol]) } def groups; end - # source://tapioca/lib/tapioca/gemfile.rb#57 + # : -> [Array[GemSpec], Array[String]] + # + # source://tapioca//lib/tapioca/gemfile.rb#57 sig { returns([T::Array[::Tapioca::Gemfile::GemSpec], T::Array[::String]]) } def load_dependencies; end - # @return [File] + # : File # - # source://tapioca/lib/tapioca/gemfile.rb#54 + # source://tapioca//lib/tapioca/gemfile.rb#54 def lockfile; end - # source://tapioca/lib/tapioca/gemfile.rb#68 + # : -> [T::Enumerable[Spec], Array[String]] + # + # 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#91 + # : -> Bundler::Runtime + # + # source://tapioca//lib/tapioca/gemfile.rb#91 sig { returns(::Bundler::Runtime) } def runtime; end end -# source://tapioca/lib/tapioca/gemfile.rb#105 +# source://tapioca//lib/tapioca/gemfile.rb#105 class Tapioca::Gemfile::GemSpec include ::Tapioca::GemHelper - # source://tapioca/lib/tapioca/gemfile.rb#145 + # : (Spec spec) -> void + # + # source://tapioca//lib/tapioca/gemfile.rb#145 sig { params(spec: T.any(::Bundler::StubSpecification, ::Gem::Specification)).void } def initialize(spec); end - # source://tapioca/lib/tapioca/gemfile.rb#155 + # : (BasicObject other) -> bool + # + # source://tapioca//lib/tapioca/gemfile.rb#155 sig { params(other: ::BasicObject).returns(T::Boolean) } def ==(other); end - # source://tapioca/lib/tapioca/gemfile.rb#180 + # : (String path) -> bool + # + # source://tapioca//lib/tapioca/gemfile.rb#180 sig { params(path: ::String).returns(T::Boolean) } def contains_path?(path); end - # source://tapioca/lib/tapioca/gemfile.rb#170 + # : -> Array[::Gem::Dependency] + # + # source://tapioca//lib/tapioca/gemfile.rb#170 sig { returns(T::Array[::Gem::Dependency]) } def dependencies; end - # source://tapioca/lib/tapioca/gemfile.rb#210 + # : -> bool + # + # source://tapioca//lib/tapioca/gemfile.rb#210 sig { returns(T::Boolean) } def export_rbi_files?; end - # source://tapioca/lib/tapioca/gemfile.rb#205 + # : -> Array[String] + # + # source://tapioca//lib/tapioca/gemfile.rb#205 sig { returns(T::Array[::String]) } def exported_rbi_files; end - # source://tapioca/lib/tapioca/gemfile.rb#215 + # : -> RBI::MergeTree + # + # source://tapioca//lib/tapioca/gemfile.rb#215 sig { returns(::RBI::MergeTree) } def exported_rbi_tree; end - # source://tapioca/lib/tapioca/gemfile.rb#142 + # : Array[Pathname] + # + # source://tapioca//lib/tapioca/gemfile.rb#142 sig { returns(T::Array[::Pathname]) } def files; end - # source://tapioca/lib/tapioca/gemfile.rb#139 + # : String + # + # source://tapioca//lib/tapioca/gemfile.rb#139 sig { returns(::String) } def full_gem_path; end - # source://tapioca/lib/tapioca/gemfile.rb#160 + # : (String gemfile_dir) -> bool + # + # source://tapioca//lib/tapioca/gemfile.rb#160 sig { params(gemfile_dir: ::String).returns(T::Boolean) } def ignore?(gemfile_dir); end - # source://tapioca/lib/tapioca/gemfile.rb#165 + # : -> String + # + # source://tapioca//lib/tapioca/gemfile.rb#165 sig { returns(::String) } def name; end - # source://tapioca/lib/tapioca/gemfile.rb#189 + # : -> void + # + # source://tapioca//lib/tapioca/gemfile.rb#189 sig { void } def parse_yard_docs; end - # source://tapioca/lib/tapioca/gemfile.rb#175 + # : -> String + # + # source://tapioca//lib/tapioca/gemfile.rb#175 sig { returns(::String) } def rbi_file_name; end - # source://tapioca/lib/tapioca/gemfile.rb#227 + # : (Pathname file) -> Pathname + # + # source://tapioca//lib/tapioca/gemfile.rb#227 sig { params(file: ::Pathname).returns(::Pathname) } def relative_path_for(file); end - # @return [String] + # : String # - # source://tapioca/lib/tapioca/gemfile.rb#139 + # source://tapioca//lib/tapioca/gemfile.rb#139 def version; end private - # source://tapioca/lib/tapioca/gemfile.rb#238 + # : -> Array[Pathname] + # + # source://tapioca//lib/tapioca/gemfile.rb#238 sig { returns(T::Array[::Pathname]) } def collect_files; end - # source://tapioca/lib/tapioca/gemfile.rb#253 + # : -> bool? + # + # source://tapioca//lib/tapioca/gemfile.rb#253 sig { returns(T.nilable(T::Boolean)) } def default_gem?; end - # source://tapioca/lib/tapioca/gemfile.rb#312 + # : -> bool + # + # source://tapioca//lib/tapioca/gemfile.rb#312 sig { returns(T::Boolean) } def gem_ignored?; end - # source://tapioca/lib/tapioca/gemfile.rb#291 + # : (String path) -> bool + # + # source://tapioca//lib/tapioca/gemfile.rb#291 sig { params(path: ::String).returns(T::Boolean) } def has_parent_gemspec?(path); end - # source://tapioca/lib/tapioca/gemfile.rb#258 + # : -> Regexp + # + # source://tapioca//lib/tapioca/gemfile.rb#258 sig { returns(::Regexp) } def require_paths_prefix_matcher; end - # source://tapioca/lib/tapioca/gemfile.rb#270 + # : (String file) -> Pathname + # + # source://tapioca//lib/tapioca/gemfile.rb#270 sig { params(file: ::String).returns(::Pathname) } def resolve_to_ruby_lib_dir(file); end - # source://tapioca/lib/tapioca/gemfile.rb#284 + # : -> String + # + # source://tapioca//lib/tapioca/gemfile.rb#284 sig { returns(::String) } def version_string; end class << self - # source://tapioca/lib/tapioca/gemfile.rb#113 + # : -> Hash[String, Gemfile::GemSpec] + # + # source://tapioca//lib/tapioca/gemfile.rb#113 sig { returns(T::Hash[::String, ::Tapioca::Gemfile::GemSpec]) } def spec_lookup_by_file_path; end end end -# source://tapioca/lib/tapioca/gemfile.rb#125 +# source://tapioca//lib/tapioca/gemfile.rb#125 Tapioca::Gemfile::GemSpec::IGNORED_GEMS = T.let(T.unsafe(nil), Array) -# source://tapioca/lib/tapioca/gemfile.rb#10 +# source://tapioca//lib/tapioca/gemfile.rb#10 Tapioca::Gemfile::Spec = T.type_alias { T.any(::Bundler::StubSpecification, ::Gem::Specification) } -# source://tapioca/lib/tapioca.rb#33 +# source://tapioca//lib/tapioca.rb#29 Tapioca::LIB_ROOT_DIR = T.let(T.unsafe(nil), String) -# source://tapioca/lib/tapioca/loaders/loader.rb#5 +# source://tapioca//lib/tapioca/loaders/loader.rb#5 module Tapioca::Loaders; end -# source://tapioca/lib/tapioca/loaders/dsl.rb#6 +# source://tapioca//lib/tapioca/loaders/dsl.rb#6 class Tapioca::Loaders::Dsl < ::Tapioca::Loaders::Loader - # source://tapioca/lib/tapioca/loaders/dsl.rb#53 + # : (tapioca_path: String, ?eager_load: bool, ?app_root: String, ?halt_upon_load_error: bool) -> void + # + # source://tapioca//lib/tapioca/loaders/dsl.rb#66 sig do params( tapioca_path: ::String, @@ -2418,30 +2999,56 @@ class Tapioca::Loaders::Dsl < ::Tapioca::Loaders::Loader 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#36 + # : -> void + # + # source://tapioca//lib/tapioca/loaders/dsl.rb#30 sig { override.void } def load; end - # source://tapioca/lib/tapioca/loaders/dsl.rb#43 + # : -> void + # + # source://tapioca//lib/tapioca/loaders/dsl.rb#37 sig { void } def load_dsl_extensions_and_compilers; end + # : -> void + # + # source://tapioca//lib/tapioca/loaders/dsl.rb#43 + sig { void } + def reload_custom_compilers; end + protected - # source://tapioca/lib/tapioca/loaders/dsl.rb#103 + # : -> void + # + # source://tapioca//lib/tapioca/loaders/dsl.rb#112 sig { void } def load_application; end - # source://tapioca/lib/tapioca/loaders/dsl.rb#78 + # : -> void + # + # source://tapioca//lib/tapioca/loaders/dsl.rb#92 sig { void } def load_dsl_compilers; end - # source://tapioca/lib/tapioca/loaders/dsl.rb#63 + # : -> void + # + # source://tapioca//lib/tapioca/loaders/dsl.rb#77 sig { void } def load_dsl_extensions; end + private + + # : -> void + # + # source://tapioca//lib/tapioca/loaders/dsl.rb#128 + sig { void } + def load_custom_dsl_compilers; end + class << self - # source://tapioca/lib/tapioca/loaders/dsl.rb#20 + # : (tapioca_path: String, ?eager_load: bool, ?app_root: String, ?halt_upon_load_error: bool) -> void + # + # source://tapioca//lib/tapioca/loaders/dsl.rb#13 sig do params( tapioca_path: ::String, @@ -2454,9 +3061,11 @@ class Tapioca::Loaders::Dsl < ::Tapioca::Loaders::Loader end end -# source://tapioca/lib/tapioca/loaders/gem.rb#6 +# source://tapioca//lib/tapioca/loaders/gem.rb#6 class Tapioca::Loaders::Gem < ::Tapioca::Loaders::Loader - # source://tapioca/lib/tapioca/loaders/gem.rb#49 + # : (bundle: Gemfile, prerequire: String?, postrequire: String, default_command: String, halt_upon_load_error: bool) -> void + # + # source://tapioca//lib/tapioca/loaders/gem.rb#34 sig do params( bundle: ::Tapioca::Gemfile, @@ -2468,22 +3077,30 @@ class Tapioca::Loaders::Gem < ::Tapioca::Loaders::Loader end def initialize(bundle:, prerequire:, postrequire:, default_command:, halt_upon_load_error:); end - # source://tapioca/lib/tapioca/loaders/gem.rb#34 + # : -> void + # + # source://tapioca//lib/tapioca/loaders/gem.rb#27 sig { override.void } def load; end protected - # source://tapioca/lib/tapioca/loaders/gem.rb#80 + # : (String file, LoadError error) -> void + # + # source://tapioca//lib/tapioca/loaders/gem.rb#65 sig { params(file: ::String, error: ::LoadError).void } def explain_failed_require(file, error); end - # source://tapioca/lib/tapioca/loaders/gem.rb#60 + # : -> void + # + # source://tapioca//lib/tapioca/loaders/gem.rb#45 sig { void } def require_gem_file; end class << self - # source://tapioca/lib/tapioca/loaders/gem.rb#21 + # : (bundle: Gemfile, prerequire: String?, postrequire: String, default_command: String, halt_upon_load_error: bool) -> void + # + # source://tapioca//lib/tapioca/loaders/gem.rb#13 sig do params( bundle: ::Tapioca::Gemfile, @@ -2499,7 +3116,7 @@ end # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below. # -# source://tapioca/lib/tapioca/loaders/loader.rb#6 +# source://tapioca//lib/tapioca/loaders/loader.rb#6 class Tapioca::Loaders::Loader include ::Thor::Base include ::Thor::Invocation @@ -2513,7 +3130,7 @@ class Tapioca::Loaders::Loader # @abstract # - # source://tapioca/lib/tapioca/loaders/loader.rb#17 + # source://tapioca//lib/tapioca/loaders/loader.rb#17 sig { abstract.void } def load; end @@ -2527,19 +3144,23 @@ class Tapioca::Loaders::Loader # @param engine [T.class_of(Rails::Engine)] # @return [Array] # - # source://tapioca/lib/tapioca/loaders/loader.rb#234 + # source://tapioca//lib/tapioca/loaders/loader.rb#220 def eager_load_paths(engine); end - # source://tapioca/lib/tapioca/loaders/loader.rb#199 + # : -> void + # + # source://tapioca//lib/tapioca/loaders/loader.rb#185 sig { void } def eager_load_rails_app; end # @return [Array] # - # source://tapioca/lib/tapioca/loaders/loader.rb#178 + # source://tapioca//lib/tapioca/loaders/loader.rb#164 def engines; end - # source://tapioca/lib/tapioca/loaders/loader.rb#29 + # : (Tapioca::Gemfile gemfile, String? initialize_file, String? require_file, bool halt_upon_load_error) -> void + # + # source://tapioca//lib/tapioca/loaders/loader.rb#22 sig do params( gemfile: ::Tapioca::Gemfile, @@ -2550,15 +3171,21 @@ class Tapioca::Loaders::Loader end def load_bundle(gemfile, initialize_file, require_file, halt_upon_load_error); end - # source://tapioca/lib/tapioca/loaders/loader.rb#136 + # : -> void + # + # source://tapioca//lib/tapioca/loaders/loader.rb#122 sig { void } def load_engines_in_classic_mode; end - # source://tapioca/lib/tapioca/loaders/loader.rb#114 + # : -> void + # + # source://tapioca//lib/tapioca/loaders/loader.rb#100 sig { void } def load_engines_in_zeitwerk_mode; end - # source://tapioca/lib/tapioca/loaders/loader.rb#49 + # : (?environment_load: bool, ?eager_load: bool, ?app_root: String, ?halt_upon_load_error: bool) -> void + # + # source://tapioca//lib/tapioca/loaders/loader.rb#35 sig do params( environment_load: T::Boolean, @@ -2569,36 +3196,48 @@ class Tapioca::Loaders::Loader 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#89 + # : -> void + # + # source://tapioca//lib/tapioca/loaders/loader.rb#75 sig { void } def load_rails_engines; end - # source://tapioca/lib/tapioca/loaders/loader.rb#220 + # : (String? file) -> void + # + # source://tapioca//lib/tapioca/loaders/loader.rb#206 sig { params(file: T.nilable(::String)).void } def require_helper(file); end - # source://tapioca/lib/tapioca/loaders/loader.rb#103 + # source://tapioca//lib/tapioca/loaders/loader.rb#89 def run_initializers; end - # source://tapioca/lib/tapioca/loaders/loader.rb#192 + # : (String path) -> void + # + # source://tapioca//lib/tapioca/loaders/loader.rb#178 sig { params(path: ::String).void } def safe_require(path); end - # source://tapioca/lib/tapioca/loaders/loader.rb#161 + # : { -> void } -> void + # + # source://tapioca//lib/tapioca/loaders/loader.rb#147 sig { params(blk: T.proc.void).void } def with_rails_application(&blk); end - # source://tapioca/lib/tapioca/loaders/loader.rb#154 + # : -> bool + # + # source://tapioca//lib/tapioca/loaders/loader.rb#140 sig { returns(T::Boolean) } def zeitwerk_mode?; end end -# source://tapioca/lib/tapioca/helpers/rbi_files_helper.rb#5 +# source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#5 module Tapioca::RBIFilesHelper requires_ancestor { Tapioca::SorbetHelper } requires_ancestor { Thor::Shell } - # source://tapioca/lib/tapioca/helpers/rbi_files_helper.rb#48 + # : (RBI::Index index, shim_rbi_dir: String, todo_rbi_file: String) -> Hash[String, Array[RBI::Node]] + # + # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#42 sig do params( index: ::RBI::Index, @@ -2608,19 +3247,27 @@ module Tapioca::RBIFilesHelper end def duplicated_nodes_from_index(index, shim_rbi_dir:, todo_rbi_file:); end - # source://tapioca/lib/tapioca/helpers/rbi_files_helper.rb#13 + # : (RBI::Index index, String kind, String file) -> void + # + # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#13 sig { params(index: ::RBI::Index, kind: ::String, file: ::String).void } def index_rbi(index, kind, file); end - # source://tapioca/lib/tapioca/helpers/rbi_files_helper.rb#25 + # : (RBI::Index index, String kind, String dir, number_of_workers: Integer?) -> void + # + # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#25 sig { params(index: ::RBI::Index, kind: ::String, dir: ::String, number_of_workers: T.nilable(::Integer)).void } def index_rbis(index, kind, dir, number_of_workers:); end - # source://tapioca/lib/tapioca/helpers/rbi_files_helper.rb#65 + # : (RBI::Loc loc, path_prefix: String?) -> String + # + # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#59 sig { params(loc: ::RBI::Loc, path_prefix: T.nilable(::String)).returns(::String) } def location_to_payload_url(loc, path_prefix:); end - # source://tapioca/lib/tapioca/helpers/rbi_files_helper.rb#86 + # : (command: String, gem_dir: String, dsl_dir: String, auto_strictness: bool, ?gems: Array[Gemfile::GemSpec], ?compilers: T::Enumerable[singleton(Dsl::Compiler)]) -> void + # + # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#71 sig do params( command: ::String, @@ -2635,19 +3282,27 @@ module Tapioca::RBIFilesHelper private - # source://tapioca/lib/tapioca/helpers/rbi_files_helper.rb#223 + # : (Array[RBI::Node] nodes) -> Array[RBI::Scope] + # + # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#208 sig { params(nodes: T::Array[::RBI::Node]).returns(T::Array[::RBI::Scope]) } def extract_empty_scopes(nodes); end - # source://tapioca/lib/tapioca/helpers/rbi_files_helper.rb#228 + # : (Array[RBI::Node] nodes) -> Array[(RBI::Method | RBI::Attr)] + # + # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#213 sig { params(nodes: T::Array[::RBI::Node]).returns(T::Array[T.any(::RBI::Attr, ::RBI::Method)]) } def extract_methods_and_attrs(nodes); end - # source://tapioca/lib/tapioca/helpers/rbi_files_helper.rb#238 + # : (Array[RBI::Node] nodes) -> Array[(RBI::Mixin | RBI::RequiresAncestor)] + # + # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#223 sig { params(nodes: T::Array[::RBI::Node]).returns(T::Array[T.any(::RBI::Mixin, ::RBI::RequiresAncestor)]) } def extract_mixins(nodes); end - # source://tapioca/lib/tapioca/helpers/rbi_files_helper.rb#248 + # : (Array[(RBI::Method | RBI::Attr)] nodes) -> Array[(RBI::Method | RBI::Attr)] + # + # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#233 sig do params( nodes: T::Array[T.any(::RBI::Attr, ::RBI::Method)] @@ -2655,7 +3310,9 @@ module Tapioca::RBIFilesHelper end def extract_nodes_with_sigs(nodes); end - # source://tapioca/lib/tapioca/helpers/rbi_files_helper.rb#216 + # : (Array[RBI::Node] nodes, shim_rbi_dir: String, todo_rbi_file: String) -> Array[RBI::Node] + # + # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#201 sig do params( nodes: T::Array[::RBI::Node], @@ -2665,94 +3322,134 @@ module Tapioca::RBIFilesHelper end def extract_shims_and_todos(nodes, shim_rbi_dir:, todo_rbi_file:); end - # source://tapioca/lib/tapioca/helpers/rbi_files_helper.rb#280 + # : (String path) -> String + # + # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#265 sig { params(path: ::String).returns(::String) } def gem_name_from_rbi_path(path); end - # source://tapioca/lib/tapioca/helpers/rbi_files_helper.rb#155 + # : (RBI::Index index, Array[String] files, number_of_workers: Integer?) -> void + # + # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#140 sig { params(index: ::RBI::Index, files: T::Array[::String], number_of_workers: T.nilable(::Integer)).void } def parse_and_index_files(index, files, number_of_workers:); end - # source://tapioca/lib/tapioca/helpers/rbi_files_helper.rb#171 + # : (Array[RBI::Node] nodes, shim_rbi_dir: String, todo_rbi_file: String) -> bool + # + # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#156 sig { params(nodes: T::Array[::RBI::Node], shim_rbi_dir: ::String, todo_rbi_file: ::String).returns(T::Boolean) } def shims_or_todos_have_duplicates?(nodes, shim_rbi_dir:, todo_rbi_file:); end - # source://tapioca/lib/tapioca/helpers/rbi_files_helper.rb#253 + # : (Array[Spoom::Sorbet::Errors::Error] errors, String gem_dir) -> void + # + # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#238 sig { params(errors: T::Array[::Spoom::Sorbet::Errors::Error], gem_dir: ::String).void } def update_gem_rbis_strictnesses(errors, gem_dir); end end -# source://tapioca/lib/tapioca/rbi_formatter.rb#5 +# source://tapioca//lib/tapioca/rbi_formatter.rb#5 class Tapioca::RBIFormatter < ::RBI::Formatter - # source://tapioca/lib/tapioca/rbi_formatter.rb#24 + # : (RBI::File file) -> void + # + # source://tapioca//lib/tapioca/rbi_formatter.rb#18 sig { params(file: ::RBI::File).void } def write_empty_body_comment!(file); end - # source://tapioca/lib/tapioca/rbi_formatter.rb#15 + # : (RBI::File file, String command, ?reason: String?) -> void + # + # source://tapioca//lib/tapioca/rbi_formatter.rb#9 sig { params(file: ::RBI::File, command: ::String, reason: T.nilable(::String)).void } def write_header!(file, command, reason: T.unsafe(nil)); end end -# source://tapioca/lib/tapioca/helpers/rbi_helper.rb#5 +# source://tapioca//lib/tapioca/helpers/rbi_helper.rb#5 module Tapioca::RBIHelper include ::Tapioca::SorbetHelper extend ::Tapioca::SorbetHelper extend ::Tapioca::RBIHelper - # source://tapioca/lib/tapioca/helpers/rbi_helper.rb#91 + # : (String type) -> String + # + # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#83 sig { params(type: ::String).returns(::String) } def as_nilable_type(type); end - # source://tapioca/lib/tapioca/helpers/rbi_helper.rb#100 + # : (String type) -> String + # + # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#92 sig { params(type: ::String).returns(::String) } def as_non_nilable_type(type); end - # source://tapioca/lib/tapioca/helpers/rbi_helper.rb#72 + # : (String name, type: String) -> RBI::TypedParam + # + # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#64 sig { params(name: ::String, type: ::String).returns(::RBI::TypedParam) } def create_block_param(name, type:); end - # source://tapioca/lib/tapioca/helpers/rbi_helper.rb#62 + # : (String name, type: String, default: String) -> RBI::TypedParam + # + # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#54 sig { params(name: ::String, type: ::String, default: ::String).returns(::RBI::TypedParam) } def create_kw_opt_param(name, type:, default:); end - # source://tapioca/lib/tapioca/helpers/rbi_helper.rb#57 + # : (String name, type: String) -> RBI::TypedParam + # + # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#49 sig { params(name: ::String, type: ::String).returns(::RBI::TypedParam) } def create_kw_param(name, type:); end - # source://tapioca/lib/tapioca/helpers/rbi_helper.rb#67 + # : (String name, type: String) -> RBI::TypedParam + # + # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#59 sig { params(name: ::String, type: ::String).returns(::RBI::TypedParam) } def create_kw_rest_param(name, type:); end - # source://tapioca/lib/tapioca/helpers/rbi_helper.rb#47 + # : (String name, type: String, default: String) -> RBI::TypedParam + # + # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#39 sig { params(name: ::String, type: ::String, default: ::String).returns(::RBI::TypedParam) } def create_opt_param(name, type:, default:); end - # source://tapioca/lib/tapioca/helpers/rbi_helper.rb#42 + # : (String name, type: String) -> RBI::TypedParam + # + # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#34 sig { params(name: ::String, type: ::String).returns(::RBI::TypedParam) } def create_param(name, type:); end - # source://tapioca/lib/tapioca/helpers/rbi_helper.rb#52 + # : (String name, type: String) -> RBI::TypedParam + # + # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#44 sig { params(name: ::String, type: ::String).returns(::RBI::TypedParam) } def create_rest_param(name, type:); end - # source://tapioca/lib/tapioca/helpers/rbi_helper.rb#77 + # : (RBI::Param param, String type) -> RBI::TypedParam + # + # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#69 sig { params(param: ::RBI::Param, type: ::String).returns(::RBI::TypedParam) } def create_typed_param(param, type); end - # source://tapioca/lib/tapioca/helpers/rbi_helper.rb#82 + # : (String sig_string) -> String + # + # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#74 sig { params(sig_string: ::String).returns(::String) } def sanitize_signature_types(sig_string); end - # source://tapioca/lib/tapioca/helpers/rbi_helper.rb#109 + # : (String name) -> bool + # + # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#101 sig { params(name: ::String).returns(T::Boolean) } def valid_method_name?(name); end - # source://tapioca/lib/tapioca/helpers/rbi_helper.rb#114 + # : (String name) -> bool + # + # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#106 sig { params(name: ::String).returns(T::Boolean) } def valid_parameter_name?(name); end class << self - # source://tapioca/lib/tapioca/helpers/rbi_helper.rb#23 + # : (String type, Symbol variance, String? fixed, String? upper, String? lower) -> String + # + # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#15 sig do params( type: ::String, @@ -2766,36 +3463,64 @@ module Tapioca::RBIHelper end end -# source://tapioca/lib/tapioca/repo_index.rb#5 +# source://tapioca//lib/tapioca/rbs/rewriter.rb#15 +module Tapioca::RBS; end + +# Transpiles RBS comments back into Sorbet's `sig{}` blocks +# +# source://tapioca//lib/tapioca/rbs/rewriter.rb#17 +class Tapioca::RBS::Rewriter < ::RubyNext::Language::Rewriters::Text + # : (String source) -> String + # + # source://tapioca//lib/tapioca/rbs/rewriter.rb#21 + def rewrite(source); end +end + +# source://tapioca//lib/tapioca/rbs/rewriter.rb#18 +Tapioca::RBS::Rewriter::NAME = T.let(T.unsafe(nil), String) + +# source://tapioca//lib/tapioca/repo_index.rb#5 class Tapioca::RepoIndex - # source://tapioca/lib/tapioca/repo_index.rb#26 + # : -> void + # + # source://tapioca//lib/tapioca/repo_index.rb#26 sig { void } def initialize; end - # source://tapioca/lib/tapioca/repo_index.rb#31 + # : (String gem_name) -> void + # + # source://tapioca//lib/tapioca/repo_index.rb#31 sig { params(gem_name: ::String).void } def <<(gem_name); end - # source://tapioca/lib/tapioca/repo_index.rb#36 + # : -> T::Enumerable[String] + # + # source://tapioca//lib/tapioca/repo_index.rb#36 sig { returns(T::Enumerable[::String]) } def gems; end - # source://tapioca/lib/tapioca/repo_index.rb#41 + # : (String gem_name) -> bool + # + # source://tapioca//lib/tapioca/repo_index.rb#41 sig { params(gem_name: ::String).returns(T::Boolean) } def has_gem?(gem_name); end class << self - # source://tapioca/lib/tapioca/repo_index.rb#18 + # : (Hash[String, Hash[untyped, untyped]] hash) -> RepoIndex + # + # source://tapioca//lib/tapioca/repo_index.rb#18 sig { params(hash: T::Hash[::String, T::Hash[T.untyped, T.untyped]]).returns(Tapioca::RepoIndex) } def from_hash(hash); end - # source://tapioca/lib/tapioca/repo_index.rb#13 + # : (String json) -> RepoIndex + # + # source://tapioca//lib/tapioca/repo_index.rb#13 sig { params(json: ::String).returns(Tapioca::RepoIndex) } def from_json(json); end end end -# source://tapioca/lib/tapioca/runtime/trackers/autoload.rb#5 +# source://tapioca//lib/tapioca/runtime/trackers/autoload.rb#5 module Tapioca::Runtime; end # This module should only be included when running versions of Ruby @@ -2803,74 +3528,93 @@ module Tapioca::Runtime; end # available, it implements finding the attached class of a singleton # class by iterating through ObjectSpace. module Tapioca::Runtime::AttachedClassOf - # source://tapioca/lib/tapioca/runtime/attached_class_of_32.rb#14 - sig { params(singleton_class: ::Class).returns(T.nilable(::Module)) } + # : (Class singleton_class) -> Module? + # + # source://tapioca//lib/tapioca/runtime/attached_class_of_32.rb#14 def attached_class_of(singleton_class); end end -# source://tapioca/lib/tapioca/runtime/dynamic_mixin_compiler.rb#6 +# source://tapioca//lib/tapioca/runtime/dynamic_mixin_compiler.rb#6 class Tapioca::Runtime::DynamicMixinCompiler include ::Tapioca::Runtime::AttachedClassOf include ::Tapioca::Runtime::Reflection - # source://tapioca/lib/tapioca/runtime/dynamic_mixin_compiler.rb#20 + # : (Module constant) -> void + # + # source://tapioca//lib/tapioca/runtime/dynamic_mixin_compiler.rb#20 sig { params(constant: ::Module).void } def initialize(constant); end - # @return [Array] + # : Array[Symbol] # - # source://tapioca/lib/tapioca/runtime/dynamic_mixin_compiler.rb#14 + # source://tapioca//lib/tapioca/runtime/dynamic_mixin_compiler.rb#14 def class_attribute_predicates; end - # source://tapioca/lib/tapioca/runtime/dynamic_mixin_compiler.rb#14 + # : Array[Symbol] + # + # source://tapioca//lib/tapioca/runtime/dynamic_mixin_compiler.rb#14 sig { returns(T::Array[::Symbol]) } def class_attribute_readers; end - # @return [Array] + # : Array[Symbol] # - # source://tapioca/lib/tapioca/runtime/dynamic_mixin_compiler.rb#14 + # source://tapioca//lib/tapioca/runtime/dynamic_mixin_compiler.rb#14 def class_attribute_writers; end - # source://tapioca/lib/tapioca/runtime/dynamic_mixin_compiler.rb#137 + # : (RBI::Tree tree) -> void + # + # source://tapioca//lib/tapioca/runtime/dynamic_mixin_compiler.rb#137 sig { params(tree: ::RBI::Tree).void } def compile_class_attributes(tree); end - # source://tapioca/lib/tapioca/runtime/dynamic_mixin_compiler.rb#180 + # : (RBI::Tree tree) -> [Array[Module], Array[Module]] + # + # source://tapioca//lib/tapioca/runtime/dynamic_mixin_compiler.rb#180 sig { params(tree: ::RBI::Tree).returns([T::Array[::Module], T::Array[::Module]]) } def compile_mixes_in_class_methods(tree); end - # source://tapioca/lib/tapioca/runtime/dynamic_mixin_compiler.rb#11 + # : Array[Module] + # + # source://tapioca//lib/tapioca/runtime/dynamic_mixin_compiler.rb#11 sig { returns(T::Array[::Module]) } def dynamic_extends; end - # @return [Array] + # : Array[Module] # - # source://tapioca/lib/tapioca/runtime/dynamic_mixin_compiler.rb#11 + # source://tapioca//lib/tapioca/runtime/dynamic_mixin_compiler.rb#11 def dynamic_includes; end - # source://tapioca/lib/tapioca/runtime/dynamic_mixin_compiler.rb#132 + # : -> bool + # + # source://tapioca//lib/tapioca/runtime/dynamic_mixin_compiler.rb#132 sig { returns(T::Boolean) } def empty_attributes?; end - # source://tapioca/lib/tapioca/runtime/dynamic_mixin_compiler.rb#222 + # : (String qualified_mixin_name) -> bool + # + # source://tapioca//lib/tapioca/runtime/dynamic_mixin_compiler.rb#222 sig { params(qualified_mixin_name: ::String).returns(T::Boolean) } def filtered_mixin?(qualified_mixin_name); end - # @return [Array] + # : Array[Symbol] # - # source://tapioca/lib/tapioca/runtime/dynamic_mixin_compiler.rb#17 + # source://tapioca//lib/tapioca/runtime/dynamic_mixin_compiler.rb#17 def instance_attribute_predicates; end - # source://tapioca/lib/tapioca/runtime/dynamic_mixin_compiler.rb#17 + # : Array[Symbol] + # + # source://tapioca//lib/tapioca/runtime/dynamic_mixin_compiler.rb#17 sig { returns(T::Array[::Symbol]) } def instance_attribute_readers; end - # @return [Array] + # : Array[Symbol] # - # source://tapioca/lib/tapioca/runtime/dynamic_mixin_compiler.rb#17 + # source://tapioca//lib/tapioca/runtime/dynamic_mixin_compiler.rb#17 def instance_attribute_writers; end - # source://tapioca/lib/tapioca/runtime/dynamic_mixin_compiler.rb#215 + # : (Module mod, Array[Module] dynamic_extends) -> bool + # + # source://tapioca//lib/tapioca/runtime/dynamic_mixin_compiler.rb#215 sig { params(mod: ::Module, dynamic_extends: T::Array[::Module]).returns(T::Boolean) } def module_included_by_another_dynamic_extend?(mod, dynamic_extends); end end @@ -2893,14 +3637,18 @@ end # variable to type variable serializers. This allows us to associate type variables # to the constant names that represent them, easily. # -# source://tapioca/lib/tapioca/runtime/generic_type_registry.rb#23 +# source://tapioca//lib/tapioca/runtime/generic_type_registry.rb#23 module Tapioca::Runtime::GenericTypeRegistry class << self - # source://tapioca/lib/tapioca/runtime/generic_type_registry.rb#80 + # : (Object instance) -> bool + # + # source://tapioca//lib/tapioca/runtime/generic_type_registry.rb#81 sig { params(instance: ::Object).returns(T::Boolean) } def generic_type_instance?(instance); end - # source://tapioca/lib/tapioca/runtime/generic_type_registry.rb#85 + # : (Module constant) -> Array[TypeVariableModule]? + # + # source://tapioca//lib/tapioca/runtime/generic_type_registry.rb#86 sig { params(constant: ::Module).returns(T.nilable(T::Array[::Tapioca::TypeVariableModule])) } def lookup_type_variables(constant); end @@ -2915,8 +3663,9 @@ module Tapioca::Runtime::GenericTypeRegistry # 2 hash lookups (for the other two `Foo[Integer]`s). # # This method returns the created or cached clone of the constant. + # : (untyped constant, untyped types) -> Module # - # source://tapioca/lib/tapioca/runtime/generic_type_registry.rb#65 + # source://tapioca//lib/tapioca/runtime/generic_type_registry.rb#66 sig { params(constant: T.untyped, types: T.untyped).returns(::Module) } def register_type(constant, types); end @@ -2929,34 +3678,45 @@ module Tapioca::Runtime::GenericTypeRegistry # # Finally, the original `type_variable` is returned from this method, so that the caller # can return it from the original methods as well. + # : (untyped constant, TypeVariableModule type_variable) -> void # - # source://tapioca/lib/tapioca/runtime/generic_type_registry.rb#104 + # source://tapioca//lib/tapioca/runtime/generic_type_registry.rb#100 sig { params(constant: T.untyped, type_variable: ::Tapioca::TypeVariableModule).void } def register_type_variable(constant, type_variable); end private - # source://tapioca/lib/tapioca/runtime/generic_type_registry.rb#113 + # : (Module constant, String name) -> Module + # + # source://tapioca//lib/tapioca/runtime/generic_type_registry.rb#109 sig { params(constant: ::Module, name: ::String).returns(::Module) } def create_generic_type(constant, name); end - # source://tapioca/lib/tapioca/runtime/generic_type_registry.rb#155 + # : (Class[top] constant) -> Class[top] + # + # source://tapioca//lib/tapioca/runtime/generic_type_registry.rb#151 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 + # : (Module constant) -> Array[TypeVariableModule] + # + # source://tapioca//lib/tapioca/runtime/generic_type_registry.rb#178 sig { params(constant: ::Module).returns(T::Array[::Tapioca::TypeVariableModule]) } def lookup_or_initialize_type_variables(constant); end end end -# source://tapioca/lib/tapioca/runtime/generic_type_registry.rb#34 +# source://tapioca//lib/tapioca/runtime/generic_type_registry.rb#34 class Tapioca::Runtime::GenericTypeRegistry::GenericType < ::T::Types::Simple - # source://tapioca/lib/tapioca/runtime/generic_type_registry.rb#38 + # : (Module raw_type, Module underlying_type) -> void + # + # source://tapioca//lib/tapioca/runtime/generic_type_registry.rb#38 sig { params(raw_type: ::Module, underlying_type: ::Module).void } def initialize(raw_type, underlying_type); end - # source://tapioca/lib/tapioca/runtime/generic_type_registry.rb#45 + # : (untyped obj) -> bool + # + # source://tapioca//lib/tapioca/runtime/generic_type_registry.rb#46 sig { override.params(obj: T.untyped).returns(T::Boolean) } def valid?(obj); end end @@ -2966,34 +3726,37 @@ module Tapioca::Runtime::Reflection extend ::Tapioca::Runtime::AttachedClassOf extend ::Tapioca::Runtime::Reflection - # source://tapioca/lib/tapioca/runtime/reflection.rb#207 - sig { params(constant: ::Module).returns(T.untyped) } + # : (Module constant) -> untyped + # + # source://tapioca//lib/tapioca/runtime/reflection.rb#197 def abstract_type_of(constant); end - # source://tapioca/lib/tapioca/runtime/reflection.rb#77 - sig { params(constant: ::Module).returns(T::Array[::Module]) } + # : (Module constant) -> Array[Module] + # + # source://tapioca//lib/tapioca/runtime/reflection.rb#71 def ancestors_of(constant); end - # source://tapioca/lib/tapioca/runtime/reflection.rb#92 + # source://tapioca//lib/tapioca/runtime/reflection.rb#86 sig { params(object: ::BasicObject, other: ::BasicObject).returns(T::Boolean) } def are_equal?(object, other); end - # source://tapioca/lib/tapioca/runtime/reflection.rb#56 + # source://tapioca//lib/tapioca/runtime/reflection.rb#50 sig { params(object: ::BasicObject).returns(T::Class[T.anything]) } def class_of(object); end # @param constant [BasicObject] # @return [Boolean] # - # source://tapioca/lib/tapioca/runtime/reflection.rb#38 + # source://tapioca//lib/tapioca/runtime/reflection.rb#38 def constant_defined?(constant); end - # source://tapioca/lib/tapioca/runtime/reflection.rb#49 + # source://tapioca//lib/tapioca/runtime/reflection.rb#43 sig { params(symbol: ::String, inherit: T::Boolean, namespace: ::Module).returns(::BasicObject) } def constantize(symbol, inherit: T.unsafe(nil), namespace: T.unsafe(nil)); end - # source://tapioca/lib/tapioca/runtime/reflection.rb#61 - sig { params(constant: ::Module).returns(T::Array[::Symbol]) } + # : (Module constant) -> Array[Symbol] + # + # source://tapioca//lib/tapioca/runtime/reflection.rb#55 def constants_of(constant); end # Returns an array with all classes that are < than the supplied class. @@ -3009,198 +3772,217 @@ module Tapioca::Runtime::Reflection # # class D < C; end # descendants_of(C) # => [B, A, D] + # : [U] ((Class[top] & U) klass) -> Array[U] # - # source://tapioca/lib/tapioca/runtime/reflection.rb#172 - sig do - type_parameters(:U) - .params( - klass: T.all(T.type_parameter(:U), T::Class[T.anything]) - ).returns(T::Array[T.type_parameter(:U)]) - end + # source://tapioca//lib/tapioca/runtime/reflection.rb#162 def descendants_of(klass); end - # source://tapioca/lib/tapioca/runtime/reflection.rb#200 - sig { params(constant: ::Module).returns(T::Set[::String]) } + # : (Module constant) -> Set[String] + # + # source://tapioca//lib/tapioca/runtime/reflection.rb#190 def file_candidates_for(constant); end - # source://tapioca/lib/tapioca/runtime/reflection.rb#213 - sig { params(constant: ::Module).returns(T::Boolean) } + # : (Module constant) -> bool + # + # @return [Boolean] + # + # source://tapioca//lib/tapioca/runtime/reflection.rb#203 def final_module?(constant); end - # source://tapioca/lib/tapioca/runtime/reflection.rb#112 - sig { params(constant: ::Module).returns(T::Array[::Module]) } + # : (Module constant) -> Array[Module] + # + # source://tapioca//lib/tapioca/runtime/reflection.rb#106 def inherited_ancestors_of(constant); end - # source://tapioca/lib/tapioca/runtime/reflection.rb#150 - sig { params(constant: ::Module, method: ::Symbol).returns(::Method) } + # : (Module constant, Symbol method) -> Method + # + # source://tapioca//lib/tapioca/runtime/reflection.rb#144 def method_of(constant, method); end - # source://tapioca/lib/tapioca/runtime/reflection.rb#66 - sig { params(constant: ::Module).returns(T.nilable(::String)) } + # : (Module constant) -> String? + # + # source://tapioca//lib/tapioca/runtime/reflection.rb#60 def name_of(constant); end - # source://tapioca/lib/tapioca/runtime/reflection.rb#145 - sig { params(type: ::T::Types::Base).returns(::String) } + # : (T::Types::Base type) -> String + # + # source://tapioca//lib/tapioca/runtime/reflection.rb#139 def name_of_type(type); end - # source://tapioca/lib/tapioca/runtime/reflection.rb#87 + # source://tapioca//lib/tapioca/runtime/reflection.rb#81 sig { params(object: ::BasicObject).returns(::Integer) } def object_id_of(object); end - # source://tapioca/lib/tapioca/runtime/reflection.rb#107 - sig { params(constant: ::Module).returns(T::Array[::Symbol]) } + # : (Module constant) -> Array[Symbol] + # + # source://tapioca//lib/tapioca/runtime/reflection.rb#101 def private_instance_methods_of(constant); end - # source://tapioca/lib/tapioca/runtime/reflection.rb#102 - sig { params(constant: ::Module).returns(T::Array[::Symbol]) } + # : (Module constant) -> Array[Symbol] + # + # source://tapioca//lib/tapioca/runtime/reflection.rb#96 def protected_instance_methods_of(constant); end - # source://tapioca/lib/tapioca/runtime/reflection.rb#97 - sig { params(constant: ::Module).returns(T::Array[::Symbol]) } + # : (Module constant) -> Array[Symbol] + # + # source://tapioca//lib/tapioca/runtime/reflection.rb#91 def public_instance_methods_of(constant); end - # source://tapioca/lib/tapioca/runtime/reflection.rb#121 - sig { params(constant: ::Module).returns(T.nilable(::String)) } + # : (Module constant) -> String? + # + # source://tapioca//lib/tapioca/runtime/reflection.rb#115 def qualified_name_of(constant); end # Examines the call stack to identify the closest location where a "require" is performed # by searching for the label "" or "block in " in the # case of an ActiveSupport.on_load hook. If none is found, it returns the location # labeled "
", which is the original call site. + # : (Array[Thread::Backtrace::Location]? locations) -> String # - # source://tapioca/lib/tapioca/runtime/reflection.rb#185 - sig { params(locations: T.nilable(T::Array[::Thread::Backtrace::Location])).returns(::String) } + # source://tapioca//lib/tapioca/runtime/reflection.rb#175 def resolve_loc(locations); end - # source://tapioca/lib/tapioca/runtime/reflection.rb#218 - sig { params(constant: ::Module).returns(T::Boolean) } + # : (Module constant) -> bool + # + # @return [Boolean] + # + # source://tapioca//lib/tapioca/runtime/reflection.rb#208 def sealed_module?(constant); end - # source://tapioca/lib/tapioca/runtime/reflection.rb#138 - sig { params(method: T.any(::Method, ::UnboundMethod)).returns(T.untyped) } + # : ((UnboundMethod | Method) method) -> untyped + # + # source://tapioca//lib/tapioca/runtime/reflection.rb#132 def signature_of(method); end - # source://tapioca/lib/tapioca/runtime/reflection.rb#133 - sig { params(method: T.any(::Method, ::UnboundMethod)).returns(T.untyped) } + # : ((UnboundMethod | Method) method) -> untyped + # + # source://tapioca//lib/tapioca/runtime/reflection.rb#127 def signature_of!(method); end - # source://tapioca/lib/tapioca/runtime/reflection.rb#72 - sig { params(constant: ::Module).returns(T::Class[T.anything]) } + # : (Module constant) -> Class[top] + # + # source://tapioca//lib/tapioca/runtime/reflection.rb#66 def singleton_class_of(constant); end - # source://tapioca/lib/tapioca/runtime/reflection.rb#82 - sig { params(constant: T::Class[T.anything]).returns(T.nilable(T::Class[T.anything])) } + # : (Class[top] constant) -> Class[top]? + # + # source://tapioca//lib/tapioca/runtime/reflection.rb#76 def superclass_of(constant); end private - # source://tapioca/lib/tapioca/runtime/reflection.rb#255 - sig { params(parent: ::Module, name: ::String).returns(T.nilable(::Module)) } + # : (Module parent, String name) -> Module? + # + # source://tapioca//lib/tapioca/runtime/reflection.rb#245 def child_module_for_parent_with_name(parent, name); end - # source://tapioca/lib/tapioca/runtime/reflection.rb#271 - sig { params(name: ::String).returns(T::Boolean) } + # : (String name) -> bool + # + # @return [Boolean] + # + # source://tapioca//lib/tapioca/runtime/reflection.rb#261 def has_aliased_namespace?(name); end - # source://tapioca/lib/tapioca/runtime/reflection.rb#266 - sig { params(method: ::UnboundMethod).returns(T::Boolean) } + # : (UnboundMethod method) -> bool + # + # @return [Boolean] + # + # source://tapioca//lib/tapioca/runtime/reflection.rb#256 def method_defined_by_forwardable_module?(method); end - # source://tapioca/lib/tapioca/runtime/reflection.rb#241 - sig { params(constant: ::Module).returns(T::Array[::UnboundMethod]) } + # : (Module constant) -> Array[UnboundMethod] + # + # source://tapioca//lib/tapioca/runtime/reflection.rb#231 def methods_for(constant); end - # source://tapioca/lib/tapioca/runtime/reflection.rb#225 - sig { params(constant: ::Module).returns(T::Array[::UnboundMethod]) } + # : (Module constant) -> Array[UnboundMethod] + # + # source://tapioca//lib/tapioca/runtime/reflection.rb#215 def relevant_methods_for(constant); end end -# source://tapioca/lib/tapioca/runtime/reflection.rb#25 +# source://tapioca//lib/tapioca/runtime/reflection.rb#25 Tapioca::Runtime::Reflection::ANCESTORS_METHOD = T.let(T.unsafe(nil), UnboundMethod) -# source://tapioca/lib/tapioca/runtime/reflection.rb#21 +# source://tapioca//lib/tapioca/runtime/reflection.rb#21 Tapioca::Runtime::Reflection::CLASS_METHOD = T.let(T.unsafe(nil), UnboundMethod) -# source://tapioca/lib/tapioca/runtime/reflection.rb#22 +# source://tapioca//lib/tapioca/runtime/reflection.rb#22 Tapioca::Runtime::Reflection::CONSTANTS_METHOD = T.let(T.unsafe(nil), UnboundMethod) -# source://tapioca/lib/tapioca/runtime/reflection.rb#28 +# source://tapioca//lib/tapioca/runtime/reflection.rb#28 Tapioca::Runtime::Reflection::EQUAL_METHOD = T.let(T.unsafe(nil), UnboundMethod) -# source://tapioca/lib/tapioca/runtime/reflection.rb#32 +# source://tapioca//lib/tapioca/runtime/reflection.rb#32 Tapioca::Runtime::Reflection::METHOD_METHOD = T.let(T.unsafe(nil), UnboundMethod) -# source://tapioca/lib/tapioca/runtime/reflection.rb#23 +# source://tapioca//lib/tapioca/runtime/reflection.rb#23 Tapioca::Runtime::Reflection::NAME_METHOD = T.let(T.unsafe(nil), UnboundMethod) -# source://tapioca/lib/tapioca/runtime/reflection.rb#27 +# source://tapioca//lib/tapioca/runtime/reflection.rb#27 Tapioca::Runtime::Reflection::OBJECT_ID_METHOD = T.let(T.unsafe(nil), UnboundMethod) -# source://tapioca/lib/tapioca/runtime/reflection.rb#31 +# source://tapioca//lib/tapioca/runtime/reflection.rb#31 Tapioca::Runtime::Reflection::PRIVATE_INSTANCE_METHODS_METHOD = T.let(T.unsafe(nil), UnboundMethod) -# source://tapioca/lib/tapioca/runtime/reflection.rb#30 +# source://tapioca//lib/tapioca/runtime/reflection.rb#30 Tapioca::Runtime::Reflection::PROTECTED_INSTANCE_METHODS_METHOD = T.let(T.unsafe(nil), UnboundMethod) -# source://tapioca/lib/tapioca/runtime/reflection.rb#29 +# source://tapioca//lib/tapioca/runtime/reflection.rb#29 Tapioca::Runtime::Reflection::PUBLIC_INSTANCE_METHODS_METHOD = T.let(T.unsafe(nil), UnboundMethod) -# source://tapioca/lib/tapioca/runtime/reflection.rb#35 +# source://tapioca//lib/tapioca/runtime/reflection.rb#35 Tapioca::Runtime::Reflection::REQUIRED_FROM_LABELS = T.let(T.unsafe(nil), Array) -# source://tapioca/lib/tapioca/runtime/reflection.rb#24 +# source://tapioca//lib/tapioca/runtime/reflection.rb#24 Tapioca::Runtime::Reflection::SINGLETON_CLASS_METHOD = T.let(T.unsafe(nil), UnboundMethod) -# source://tapioca/lib/tapioca/runtime/reflection.rb#26 +# source://tapioca//lib/tapioca/runtime/reflection.rb#26 Tapioca::Runtime::Reflection::SUPERCLASS_METHOD = T.let(T.unsafe(nil), UnboundMethod) -# source://tapioca/lib/tapioca/runtime/trackers/autoload.rb#6 +# source://tapioca//lib/tapioca/runtime/trackers/autoload.rb#6 module Tapioca::Runtime::Trackers class << self - # source://tapioca/lib/tapioca/runtime/trackers.rb#34 - sig { void } + # : -> void + # + # source://tapioca//lib/tapioca/runtime/trackers.rb#30 def disable_all!; end - # source://tapioca/lib/tapioca/runtime/trackers.rb#39 - sig { params(tracker: ::Tapioca::Runtime::Trackers::Tracker).void } + # : (Tracker tracker) -> void + # + # source://tapioca//lib/tapioca/runtime/trackers.rb#35 def register_tracker(tracker); end - # source://tapioca/lib/tapioca/runtime/trackers.rb#21 - sig do - type_parameters(:Return) - .params( - blk: T.proc.returns(T.type_parameter(:Return)) - ).returns(T.type_parameter(:Return)) - end + # : [Return] { -> Return } -> Return + # + # source://tapioca//lib/tapioca/runtime/trackers.rb#17 def with_trackers_enabled(&blk); end end end -# source://tapioca/lib/tapioca/runtime/trackers/autoload.rb#7 +# source://tapioca//lib/tapioca/runtime/trackers/autoload.rb#7 module Tapioca::Runtime::Trackers::Autoload extend ::Tapioca::Runtime::Trackers::Tracker class << self - # source://tapioca/lib/tapioca/runtime/trackers/autoload.rb#19 - sig { void } + # : -> void + # + # source://tapioca//lib/tapioca/runtime/trackers/autoload.rb#19 def eager_load_all!; end - # source://tapioca/lib/tapioca/runtime/trackers/autoload.rb#31 - sig { params(constant_name: ::String).void } + # : (String constant_name) -> void + # + # source://tapioca//lib/tapioca/runtime/trackers/autoload.rb#31 def register(constant_name); end - # source://tapioca/lib/tapioca/runtime/trackers/autoload.rb#42 - sig do - type_parameters(:Result) - .params( - block: T.proc.returns(T.type_parameter(:Result)) - ).returns(T.type_parameter(:Result)) - end + # : [Result] { -> Result } -> Result + # + # source://tapioca//lib/tapioca/runtime/trackers/autoload.rb#38 def with_disabled_exits(&block); end end end -# source://tapioca/lib/tapioca/runtime/trackers/autoload.rb#11 +# source://tapioca//lib/tapioca/runtime/trackers/autoload.rb#11 Tapioca::Runtime::Trackers::Autoload::NOOP_METHOD = T.let(T.unsafe(nil), Proc) # Registers a TracePoint immediately upon load to track points at which @@ -3213,20 +3995,20 @@ module Tapioca::Runtime::Trackers::ConstantDefinition extend ::Tapioca::Runtime::Reflection class << self - # source://tapioca/lib/tapioca/runtime/trackers/constant_definition.rb#61 + # source://tapioca//lib/tapioca/runtime/trackers/constant_definition.rb#61 def build_constant_location(tp, locations); end - # source://tapioca/lib/tapioca/runtime/trackers/constant_definition.rb#55 + # source://tapioca//lib/tapioca/runtime/trackers/constant_definition.rb#55 def disable!; end # Returns the files in which this class or module was opened. Doesn't know # about situations where the class was opened prior to +require+ing, # or where metaprogramming was used via +eval+, etc. # - # source://tapioca/lib/tapioca/runtime/trackers/constant_definition.rb#71 + # source://tapioca//lib/tapioca/runtime/trackers/constant_definition.rb#71 def files_for(klass); end - # source://tapioca/lib/tapioca/runtime/trackers/constant_definition.rb#75 + # source://tapioca//lib/tapioca/runtime/trackers/constant_definition.rb#75 def locations_for(klass); end end end @@ -3235,59 +4017,39 @@ module Tapioca::Runtime::Trackers::Mixin extend ::Tapioca::Runtime::Trackers::Tracker class << self - # source://tapioca/lib/tapioca/runtime/trackers/mixin.rb#56 - sig do - params( - mixin: ::Module - ).returns(T::Hash[::Tapioca::Runtime::Trackers::Mixin::Type, T::Hash[::Module, ::String]]) - end + # : (Module mixin) -> Hash[Type, Hash[Module, String]] + # + # source://tapioca//lib/tapioca/runtime/trackers/mixin.rb#52 def constants_with_mixin(mixin); end - # source://tapioca/lib/tapioca/runtime/trackers/mixin.rb#61 - sig do - params( - mixin: ::Module, - mixin_type: ::Tapioca::Runtime::Trackers::Mixin::Type, - constant: ::Module - ).returns(T.nilable(::String)) - end + # : (Module mixin, Type mixin_type, Module constant) -> String? + # + # source://tapioca//lib/tapioca/runtime/trackers/mixin.rb#57 def mixin_location(mixin, mixin_type, constant); end - # source://tapioca/lib/tapioca/runtime/trackers/mixin.rb#35 - sig { params(constant: ::Module, mixin: ::Module, mixin_type: ::Tapioca::Runtime::Trackers::Mixin::Type).void } + # : (Module constant, Module mixin, Type mixin_type) -> void + # + # source://tapioca//lib/tapioca/runtime/trackers/mixin.rb#31 def register(constant, mixin, mixin_type); end - # source://tapioca/lib/tapioca/runtime/trackers/mixin.rb#43 + # source://tapioca//lib/tapioca/runtime/trackers/mixin.rb#39 def resolve_to_attached_class(constant, mixin, mixin_type); end - # source://tapioca/lib/tapioca/runtime/trackers/mixin.rb#30 - sig do - type_parameters(:Result) - .params( - block: T.proc.returns(T.type_parameter(:Result)) - ).returns(T.type_parameter(:Result)) - end + # : [Result] { -> Result } -> Result + # + # source://tapioca//lib/tapioca/runtime/trackers/mixin.rb#26 def with_disabled_registration(&block); end private - # source://tapioca/lib/tapioca/runtime/trackers/mixin.rb#76 - sig do - params( - mixin: ::Module - ).returns(T::Hash[::Tapioca::Runtime::Trackers::Mixin::Type, T::Hash[::Module, ::String]]) - end + # : (Module mixin) -> Hash[Type, Hash[Module, String]] + # + # source://tapioca//lib/tapioca/runtime/trackers/mixin.rb#72 def find_or_initialize_mixin_lookup(mixin); end - # source://tapioca/lib/tapioca/runtime/trackers/mixin.rb#68 - sig do - params( - constant: ::Module, - mixin: ::Module, - mixin_type: ::Tapioca::Runtime::Trackers::Mixin::Type, - location: ::String - ).void - end + # : (Module constant, Module mixin, Type mixin_type, String location) -> void + # + # source://tapioca//lib/tapioca/runtime/trackers/mixin.rb#64 def register_with_location(constant, mixin, mixin_type, location); end end end @@ -3300,21 +4062,24 @@ class Tapioca::Runtime::Trackers::Mixin::Type < ::T::Enum end end -# source://tapioca/lib/tapioca/runtime/trackers/required_ancestor.rb#7 +# source://tapioca//lib/tapioca/runtime/trackers/required_ancestor.rb#7 module Tapioca::Runtime::Trackers::RequiredAncestor extend ::Tapioca::Runtime::Trackers::Tracker class << self - # source://tapioca/lib/tapioca/runtime/trackers/required_ancestor.rb#15 - sig { params(requiring: ::T::Helpers, block: T.proc.void).void } + # : (T::Helpers requiring, ^-> void block) -> void + # + # source://tapioca//lib/tapioca/runtime/trackers/required_ancestor.rb#15 def register(requiring, block); end - # source://tapioca/lib/tapioca/runtime/trackers/required_ancestor.rb#23 - sig { params(mod: ::Module).returns(T::Array[T.proc.void]) } + # : (Module mod) -> Array[^-> void] + # + # source://tapioca//lib/tapioca/runtime/trackers/required_ancestor.rb#23 def required_ancestors_blocks_by(mod); end - # source://tapioca/lib/tapioca/runtime/trackers/required_ancestor.rb#28 - sig { params(mod: ::Module).returns(T::Array[T.untyped]) } + # : (Module mod) -> Array[untyped] + # + # source://tapioca//lib/tapioca/runtime/trackers/required_ancestor.rb#28 def required_ancestors_by(mod); end end end @@ -3323,116 +4088,210 @@ end module Tapioca::Runtime::Trackers::Tracker abstract! - # source://tapioca/lib/tapioca/runtime/trackers/tracker.rb#26 - sig { void } + # : -> void + # + # source://tapioca//lib/tapioca/runtime/trackers/tracker.rb#26 def disable!; end # @return [Boolean] # - # source://tapioca/lib/tapioca/runtime/trackers/tracker.rb#30 + # source://tapioca//lib/tapioca/runtime/trackers/tracker.rb#30 def enabled?; end - # source://tapioca/lib/tapioca/runtime/trackers/tracker.rb#34 + # source://tapioca//lib/tapioca/runtime/trackers/tracker.rb#34 def with_disabled_tracker(&block); end class << self - # source://tapioca/lib/tapioca/runtime/trackers/tracker.rb#17 - sig { params(base: T.all(::Module, ::Tapioca::Runtime::Trackers::Tracker)).void } + # : ((Tracker & Module) base) -> void + # + # source://tapioca//lib/tapioca/runtime/trackers/tracker.rb#17 def extended(base); end end end -# source://tapioca/lib/tapioca.rb#35 +# source://tapioca//lib/tapioca.rb#31 Tapioca::SORBET_CONFIG_FILE = T.let(T.unsafe(nil), String) -# source://tapioca/lib/tapioca.rb#34 +# source://tapioca//lib/tapioca.rb#30 Tapioca::SORBET_DIR = T.let(T.unsafe(nil), String) -# source://tapioca/lib/tapioca/helpers/sorbet_helper.rb#5 +# source://tapioca//lib/tapioca/helpers/sorbet_helper.rb#5 module Tapioca::SorbetHelper - # source://tapioca/lib/tapioca/helpers/sorbet_helper.rb#32 + # : (*String sorbet_args) -> Spoom::ExecResult + # + # 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#37 + # : -> String + # + # source://tapioca//lib/tapioca/helpers/sorbet_helper.rb#37 sig { returns(::String) } def sorbet_path; end - # source://tapioca/lib/tapioca/helpers/sorbet_helper.rb#44 + # : (Symbol feature, ?version: ::Gem::Version?) -> bool + # + # 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 -# source://tapioca/lib/tapioca/helpers/sorbet_helper.rb#24 +# source://tapioca//lib/tapioca/helpers/sorbet_helper.rb#24 Tapioca::SorbetHelper::FEATURE_REQUIREMENTS = T.let(T.unsafe(nil), Hash) -# source://tapioca/lib/tapioca/helpers/sorbet_helper.rb#13 +# source://tapioca//lib/tapioca/helpers/sorbet_helper.rb#13 Tapioca::SorbetHelper::SORBET_BIN = T.let(T.unsafe(nil), Pathname) -# source://tapioca/lib/tapioca/helpers/sorbet_helper.rb#18 +# source://tapioca//lib/tapioca/helpers/sorbet_helper.rb#18 Tapioca::SorbetHelper::SORBET_EXE_PATH_ENV_VAR = T.let(T.unsafe(nil), String) -# source://tapioca/lib/tapioca/helpers/sorbet_helper.rb#8 +# source://tapioca//lib/tapioca/helpers/sorbet_helper.rb#8 Tapioca::SorbetHelper::SORBET_GEM_SPEC = T.let(T.unsafe(nil), Gem::Specification) -# source://tapioca/lib/tapioca/helpers/sorbet_helper.rb#20 +# source://tapioca//lib/tapioca/helpers/sorbet_helper.rb#20 Tapioca::SorbetHelper::SORBET_PAYLOAD_URL = T.let(T.unsafe(nil), String) -# source://tapioca/lib/tapioca/helpers/sorbet_helper.rb#22 +# source://tapioca//lib/tapioca/helpers/sorbet_helper.rb#22 Tapioca::SorbetHelper::SPOOM_CONTEXT = T.let(T.unsafe(nil), Spoom::Context) -# source://tapioca/lib/tapioca/static/symbol_table_parser.rb#5 +# source://tapioca//lib/tapioca/helpers/source_uri.rb#7 +class Tapioca::SourceURI < ::URI::File + # : (String? v) -> bool + # + # source://tapioca//lib/tapioca/helpers/source_uri.rb#65 + sig { params(v: T.nilable(::String)).returns(T::Boolean) } + def check_host(v); end + + # : -> String? + # + # source://tapioca//lib/tapioca/helpers/source_uri.rb#48 + sig { returns(T.nilable(::String)) } + def gem_name; end + + # : String? + # + # source://tapioca//lib/tapioca/helpers/source_uri.rb#29 + sig { returns(T.nilable(::String)) } + def gem_version; end + + # : -> String? + # + # source://tapioca//lib/tapioca/helpers/source_uri.rb#53 + sig { returns(T.nilable(::String)) } + def line_number; end + + # : (String? v) -> void + # + # source://tapioca//lib/tapioca/helpers/source_uri.rb#58 + sig { params(v: T.nilable(::String)).void } + def set_path(v); end + + # : -> String + # + # source://tapioca//lib/tapioca/helpers/source_uri.rb#77 + sig { returns(::String) } + def to_s; end + + class << self + # : (gem_name: String, gem_version: String?, path: String, line_number: String?) -> instance + # + # source://tapioca//lib/tapioca/helpers/source_uri.rb#35 + sig do + params( + gem_name: ::String, + gem_version: T.nilable(::String), + path: ::String, + line_number: T.nilable(::String) + ).returns(T.attached_class) + end + def build(gem_name:, gem_version:, path:, line_number:); end + end +end + +# source://tapioca//lib/tapioca/helpers/source_uri.rb#10 +Tapioca::SourceURI::COMPONENT = T.let(T.unsafe(nil), Array) + +# `uri` for Ruby 3.4 switched the default parser from RFC2396 to RFC3986. The new parser emits a deprecation +# warning on a few methods and delegates them to RFC2396, namely `extract`/`make_regexp`/`escape`/`unescape`. +# On earlier versions of the uri gem, the RFC2396_PARSER constant doesn't exist, so it needs some special +# handling to select a parser that doesn't emit deprecations. While it was backported to Ruby 3.1, users may +# have the uri gem in their own bundle and thus not use a compatible version. +# +# source://tapioca//lib/tapioca/helpers/source_uri.rb#26 +Tapioca::SourceURI::PARSER = T.let(T.unsafe(nil), URI::RFC2396_Parser) + +# source://tapioca//lib/tapioca/static/symbol_table_parser.rb#5 module Tapioca::Static; end -# source://tapioca/lib/tapioca/static/requires_compiler.rb#6 +# source://tapioca//lib/tapioca/static/requires_compiler.rb#6 class Tapioca::Static::RequiresCompiler - # source://tapioca/lib/tapioca/static/requires_compiler.rb#10 + # : (String sorbet_path) -> void + # + # source://tapioca//lib/tapioca/static/requires_compiler.rb#10 sig { params(sorbet_path: ::String).void } def initialize(sorbet_path); end - # source://tapioca/lib/tapioca/static/requires_compiler.rb#15 + # : -> String + # + # source://tapioca//lib/tapioca/static/requires_compiler.rb#15 sig { returns(::String) } def compile; end private - # source://tapioca/lib/tapioca/static/requires_compiler.rb#29 + # : (Spoom::Sorbet::Config config) -> Array[String] + # + # source://tapioca//lib/tapioca/static/requires_compiler.rb#29 sig { params(config: ::Spoom::Sorbet::Config).returns(T::Array[::String]) } def collect_files(config); end - # source://tapioca/lib/tapioca/static/requires_compiler.rb#44 + # : (String file_path) -> T::Enumerable[String] + # + # source://tapioca//lib/tapioca/static/requires_compiler.rb#44 sig { params(file_path: ::String).returns(T::Enumerable[::String]) } def collect_requires(file_path); end - # source://tapioca/lib/tapioca/static/requires_compiler.rb#51 + # : (Spoom::Sorbet::Config config, Pathname file_path) -> bool + # + # source://tapioca//lib/tapioca/static/requires_compiler.rb#51 sig { params(config: ::Spoom::Sorbet::Config, file_path: ::Pathname).returns(T::Boolean) } def file_ignored_by_sorbet?(config, file_path); end - # source://tapioca/lib/tapioca/static/requires_compiler.rb#80 + # : (Pathname path) -> Array[String] + # + # source://tapioca//lib/tapioca/static/requires_compiler.rb#80 sig { params(path: ::Pathname).returns(T::Array[::String]) } def path_parts(path); end end -# source://tapioca/lib/tapioca/static/symbol_loader.rb#6 +# source://tapioca//lib/tapioca/static/symbol_loader.rb#6 module Tapioca::Static::SymbolLoader extend ::Tapioca::SorbetHelper extend ::Tapioca::Runtime::AttachedClassOf extend ::Tapioca::Runtime::Reflection class << self - # source://tapioca/lib/tapioca/static/symbol_loader.rb#23 + # : (Gemfile::GemSpec gem) -> Set[String] + # + # source://tapioca//lib/tapioca/static/symbol_loader.rb#23 sig { params(gem: ::Tapioca::Gemfile::GemSpec).returns(T::Set[::String]) } def engine_symbols(gem); end - # source://tapioca/lib/tapioca/static/symbol_loader.rb#48 + # : (Gemfile::GemSpec gem) -> Set[String] + # + # source://tapioca//lib/tapioca/static/symbol_loader.rb#48 sig { params(gem: ::Tapioca::Gemfile::GemSpec).returns(T::Set[::String]) } def gem_symbols(gem); end - # source://tapioca/lib/tapioca/static/symbol_loader.rb#13 + # : -> Set[String] + # + # source://tapioca//lib/tapioca/static/symbol_loader.rb#13 sig { returns(T::Set[::String]) } def payload_symbols; end - # source://tapioca/lib/tapioca/static/symbol_loader.rb#53 + # : (Array[Pathname] paths) -> Set[String] + # + # 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 @@ -3440,59 +4299,71 @@ module Tapioca::Static::SymbolLoader # @return [Array] # - # source://tapioca/lib/tapioca/static/symbol_loader.rb#71 + # source://tapioca//lib/tapioca/static/symbol_loader.rb#71 def engines; end - # source://tapioca/lib/tapioca/static/symbol_loader.rb#84 + # : (String input, ?table_type: String) -> String + # + # source://tapioca//lib/tapioca/static/symbol_loader.rb#84 sig { params(input: ::String, table_type: ::String).returns(::String) } def symbol_table_json_from(input, table_type: T.unsafe(nil)); end end end -# source://tapioca/lib/tapioca/static/symbol_table_parser.rb#6 +# source://tapioca//lib/tapioca/static/symbol_table_parser.rb#6 class Tapioca::Static::SymbolTableParser - # source://tapioca/lib/tapioca/static/symbol_table_parser.rb#30 + # : -> void + # + # source://tapioca//lib/tapioca/static/symbol_table_parser.rb#30 sig { void } def initialize; end - # source://tapioca/lib/tapioca/static/symbol_table_parser.rb#65 + # : (String name) -> String + # + # source://tapioca//lib/tapioca/static/symbol_table_parser.rb#65 sig { params(name: ::String).returns(::String) } def fully_qualified_name(name); end - # source://tapioca/lib/tapioca/static/symbol_table_parser.rb#36 + # : (Hash[String, untyped] object) -> void + # + # source://tapioca//lib/tapioca/static/symbol_table_parser.rb#36 sig { params(object: T::Hash[::String, T.untyped]).void } def parse_object(object); end - # source://tapioca/lib/tapioca/static/symbol_table_parser.rb#27 + # : Set[String] + # + # source://tapioca//lib/tapioca/static/symbol_table_parser.rb#27 sig { returns(T::Set[::String]) } def symbols; end class << self - # source://tapioca/lib/tapioca/static/symbol_table_parser.rb#15 + # : (String json_string) -> Set[String] + # + # source://tapioca//lib/tapioca/static/symbol_table_parser.rb#15 sig { params(json_string: ::String).returns(T::Set[::String]) } def parse_json(json_string); end end end -# source://tapioca/lib/tapioca/static/symbol_table_parser.rb#9 +# source://tapioca//lib/tapioca/static/symbol_table_parser.rb#9 Tapioca::Static::SymbolTableParser::SKIP_PARSE_KINDS = T.let(T.unsafe(nil), Array) -# source://tapioca/lib/tapioca.rb#37 +# source://tapioca//lib/tapioca.rb#33 Tapioca::TAPIOCA_CONFIG_FILE = T.let(T.unsafe(nil), String) -# source://tapioca/lib/tapioca.rb#36 +# source://tapioca//lib/tapioca.rb#32 Tapioca::TAPIOCA_DIR = T.let(T.unsafe(nil), String) -# source://tapioca/lib/tapioca/sorbet_ext/generic_name_patch.rb#108 +# 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#109 + # 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#114 + # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#114 def name; end end @@ -3502,9 +4373,11 @@ 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#122 +# 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#146 + # : (Module context, Type type, Symbol variance, (^-> Hash[Symbol, untyped])? bounds_proc) -> void + # + # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#139 sig do params( context: ::Module, @@ -3515,37 +4388,49 @@ class Tapioca::TypeVariableModule < ::Module end def initialize(context, type, variance, bounds_proc); end - # source://tapioca/lib/tapioca/sorbet_ext/generic_name_patch.rb#181 + # : -> Tapioca::TypeVariable + # + # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#175 sig { returns(::Tapioca::TypeVariable) } def coerce_to_type_variable; end - # source://tapioca/lib/tapioca/sorbet_ext/generic_name_patch.rb#161 + # : -> bool + # + # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#155 sig { returns(T::Boolean) } def fixed?; end - # source://tapioca/lib/tapioca/sorbet_ext/generic_name_patch.rb#155 + # : -> String? + # + # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#149 sig { returns(T.nilable(::String)) } def name; end - # source://tapioca/lib/tapioca/sorbet_ext/generic_name_patch.rb#166 + # : -> String + # + # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#160 sig { returns(::String) } def serialize; end - # source://tapioca/lib/tapioca/sorbet_ext/generic_name_patch.rb#136 + # : Type + # + # 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#188 + # : -> Hash[Symbol, untyped] + # + # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#182 sig { returns(T::Hash[::Symbol, T.untyped]) } def bounds; end end -# source://tapioca/lib/tapioca/sorbet_ext/generic_name_patch.rb#133 +# 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 +# source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#125 class Tapioca::TypeVariableModule::Type < ::T::Enum enums do HasAttachedClass = new @@ -3554,45 +4439,5 @@ class Tapioca::TypeVariableModule::Type < ::T::Enum end end -# source://tapioca/lib/tapioca/version.rb#5 +# source://tapioca//lib/tapioca/version.rb#5 Tapioca::VERSION = T.let(T.unsafe(nil), String) - -# source://tapioca/lib/tapioca/helpers/source_uri.rb#7 -class URI::Source < ::URI::File - # source://ruby-lsp/0.23.6lib/ruby_lsp/requests/support/source_uri.rb#69 - sig { params(v: T.nilable(::String)).returns(T::Boolean) } - def check_host(v); end - - # source://tapioca/lib/tapioca/helpers/source_uri.rb#55 - sig { returns(T.nilable(::String)) } - def gem_name; end - - # source://ruby-lsp/0.23.6lib/ruby_lsp/requests/support/source_uri.rb#33 - sig { returns(T.nilable(::String)) } - def gem_version; end - - # source://tapioca/lib/tapioca/helpers/source_uri.rb#60 - sig { returns(T.nilable(::String)) } - def line_number; end - - # source://ruby-lsp/0.23.6lib/ruby_lsp/requests/support/source_uri.rb#59 - sig { params(v: T.nilable(::String)).void } - def set_path(v); end - - # source://ruby-lsp/0.23.6lib/ruby_lsp/requests/support/source_uri.rb#81 - sig { returns(::String) } - def to_s; end - - class << self - # source://ruby-lsp/0.23.6lib/ruby_lsp/requests/support/source_uri.rb#46 - sig do - params( - gem_name: ::String, - gem_version: T.nilable(::String), - path: ::String, - line_number: T.nilable(::String) - ).returns(::URI::Source) - end - def build(gem_name:, gem_version:, path:, line_number:); end - end -end diff --git a/sorbet/rbi/gems/thor@1.3.2.rbi b/sorbet/rbi/gems/thor@1.3.2.rbi index e4ea3ef0..10202a5d 100644 --- a/sorbet/rbi/gems/thor@1.3.2.rbi +++ b/sorbet/rbi/gems/thor@1.3.2.rbi @@ -5,14 +5,14 @@ # Please instead update this file by running `bin/tapioca gem thor`. -# source://thor/lib/thor/shell/lcs_diff.rb#1 +# 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 + # source://thor//lib/thor/shell/lcs_diff.rb#6 def show_diff(destination, content); end private @@ -22,14 +22,14 @@ module LCSDiff # # @return [Boolean] # - # source://thor/lib/thor/shell/lcs_diff.rb#37 + # source://thor//lib/thor/shell/lcs_diff.rb#37 def diff_lcs_loaded?; end - # source://thor/lib/thor/shell/lcs_diff.rb#21 + # source://thor//lib/thor/shell/lcs_diff.rb#21 def output_diff_line(diff); end end -# source://thor/lib/thor/command.rb#1 +# source://thor//lib/thor/command.rb#1 class Thor include ::Thor::Base include ::Thor::Invocation @@ -37,7 +37,7 @@ class Thor extend ::Thor::Base::ClassMethods extend ::Thor::Invocation::ClassMethods - # source://thor/lib/thor.rb#663 + # source://thor//lib/thor.rb#663 def help(command = T.unsafe(nil), subcommand = T.unsafe(nil)); end class << self @@ -78,7 +78,7 @@ class Thor # # Then it is required either only one of "--one" or "--two". # - # source://thor/lib/thor.rb#246 + # source://thor//lib/thor.rb#246 def at_least_one(*args, &block); end # Extend check unknown options to accept a hash of conditions. @@ -86,14 +86,14 @@ class Thor # === Parameters # options: A hash containing :only and/or :except keys # - # source://thor/lib/thor.rb#350 + # 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#363 + # source://thor//lib/thor.rb#363 def check_unknown_options?(config); end # Checks if a specified command exists. @@ -106,7 +106,7 @@ class Thor # # @return [Boolean] # - # source://thor/lib/thor.rb#449 + # source://thor//lib/thor.rb#449 def command_exists?(command_name); end # Prints help information for the given command. @@ -115,7 +115,7 @@ class Thor # shell # command_name # - # source://thor/lib/thor.rb#258 + # 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. @@ -123,7 +123,7 @@ class Thor # ==== Parameters # meth:: name of the default command # - # source://thor/lib/thor.rb#21 + # source://thor//lib/thor.rb#21 def default_command(meth = T.unsafe(nil)); end # Sets the default command when thor is executed without an explicit command to be called. @@ -131,10 +131,10 @@ class Thor # ==== Parameters # meth:: name of the default command # - # source://thor/lib/thor.rb#21 + # source://thor//lib/thor.rb#21 def default_task(meth = T.unsafe(nil)); end - # source://thor/lib/thor/base.rb#26 + # source://thor//lib/thor/base.rb#26 def deprecation_warning(message); end # Defines the usage and the description of the next command. @@ -144,7 +144,7 @@ class Thor # description # options # - # source://thor/lib/thor.rb#54 + # source://thor//lib/thor.rb#54 def desc(usage, description, options = T.unsafe(nil)); end # Disable the check for required options for the given commands. @@ -154,12 +154,12 @@ class Thor # ==== Parameters # Symbol ...:: A list of commands that should be affected. # - # source://thor/lib/thor.rb#434 + # source://thor//lib/thor.rb#434 def disable_required_check!(*command_names); end # @return [Boolean] # - # source://thor/lib/thor.rb#438 + # source://thor//lib/thor.rb#438 def disable_required_check?(command); end # Adds and declares option group for exclusive options in the @@ -188,7 +188,7 @@ class Thor # If you give "--one" and "--two" at the same time ExclusiveArgumentsError # will be raised. # - # source://thor/lib/thor.rb#203 + # source://thor//lib/thor.rb#203 def exclusive(*args, &block); end # Prints help information for this class. @@ -196,7 +196,7 @@ class Thor # ==== Parameters # shell # - # source://thor/lib/thor.rb#288 + # source://thor//lib/thor.rb#288 def help(shell, subcommand = T.unsafe(nil)); end # Defines the long description of the next command. @@ -211,7 +211,7 @@ class Thor # long description # options # - # source://thor/lib/thor.rb#78 + # 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: @@ -227,7 +227,7 @@ 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#101 + # 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 @@ -267,7 +267,7 @@ class Thor # # Then it is required either only one of "--one" or "--two". # - # source://thor/lib/thor.rb#246 + # source://thor//lib/thor.rb#246 def method_at_least_one(*args, &block); end # Adds and declares option group for exclusive options in the @@ -296,7 +296,7 @@ class Thor # If you give "--one" and "--two" at the same time ExclusiveArgumentsError # will be raised. # - # source://thor/lib/thor.rb#203 + # 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, @@ -325,7 +325,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#163 + # 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. @@ -335,7 +335,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#129 + # 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, @@ -364,7 +364,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#163 + # source://thor//lib/thor.rb#163 def option(name, options = T.unsafe(nil)); end # Declares the options for the next command to be declared. @@ -374,7 +374,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#129 + # source://thor//lib/thor.rb#129 def options(options = T.unsafe(nil)); end # Allows for custom "Command" package naming. @@ -383,17 +383,17 @@ class Thor # name # options # - # source://thor/lib/thor.rb#12 + # source://thor//lib/thor.rb#12 def package_name(name, _ = T.unsafe(nil)); end # Returns commands ready to be printed. # - # source://thor/lib/thor.rb#309 + # 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#309 + # 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. @@ -404,7 +404,7 @@ class Thor # usage:: Short usage for the subcommand # description:: Description for the subcommand # - # source://thor/lib/thor.rb#37 + # source://thor//lib/thor.rb#37 def register(klass, subcommand_name, usage, description, options = T.unsafe(nil)); end # Stop parsing of options as soon as an unknown option or a regular @@ -445,27 +445,27 @@ class Thor # ==== Parameters # Symbol ...:: A list of commands that should be affected. # - # source://thor/lib/thor.rb#420 + # source://thor//lib/thor.rb#420 def stop_on_unknown_option!(*command_names); end # @return [Boolean] # - # source://thor/lib/thor.rb#424 + # source://thor//lib/thor.rb#424 def stop_on_unknown_option?(command); end - # source://thor/lib/thor.rb#329 + # source://thor//lib/thor.rb#329 def subcommand(subcommand, subcommand_class); end - # source://thor/lib/thor.rb#325 + # source://thor//lib/thor.rb#325 def subcommand_classes; end - # source://thor/lib/thor.rb#320 + # source://thor//lib/thor.rb#320 def subcommands; end - # source://thor/lib/thor.rb#329 + # source://thor//lib/thor.rb#329 def subtask(subcommand, subcommand_class); end - # source://thor/lib/thor.rb#320 + # source://thor//lib/thor.rb#320 def subtasks; end # Prints help information for the given command. @@ -474,7 +474,7 @@ class Thor # shell # command_name # - # source://thor/lib/thor.rb#258 + # source://thor//lib/thor.rb#258 def task_help(shell, command_name); end protected @@ -484,48 +484,48 @@ 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#546 + # source://thor//lib/thor.rb#546 def banner(command, namespace = T.unsafe(nil), subcommand = T.unsafe(nil)); end - # source://thor/lib/thor.rb#552 + # source://thor//lib/thor.rb#552 def baseclass; end - # source://thor/lib/thor.rb#560 + # source://thor//lib/thor.rb#560 def create_command(meth); end - # source://thor/lib/thor.rb#560 + # source://thor//lib/thor.rb#560 def create_task(meth); end # help command has the required check disabled by default. # - # source://thor/lib/thor.rb#478 + # source://thor//lib/thor.rb#478 def disable_required_check; end # The method responsible for dispatching given the args. # # @yield [instance] # - # source://thor/lib/thor.rb#505 + # source://thor//lib/thor.rb#505 def dispatch(meth, given_args, given_opts, config); end - # source://thor/lib/thor.rb#556 + # source://thor//lib/thor.rb#556 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#626 + # source://thor//lib/thor.rb#626 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#626 + # source://thor//lib/thor.rb#626 def find_task_possibilities(meth); end - # source://thor/lib/thor.rb#586 + # source://thor//lib/thor.rb#586 def initialize_added; end # Returns this class at least one of required options array set. @@ -533,7 +533,7 @@ class Thor # ==== Returns # Array[Array[Thor::Option.name]] # - # source://thor/lib/thor.rb#469 + # source://thor//lib/thor.rb#469 def method_at_least_one_option_names; end # Returns this class exclusive options array set. @@ -541,7 +541,7 @@ class Thor # ==== Returns # Array[Array[Thor::Option.name]] # - # source://thor/lib/thor.rb#460 + # source://thor//lib/thor.rb#460 def method_exclusive_option_names; end # receives a (possibly nil) command name and returns a name that is in @@ -554,7 +554,7 @@ class Thor # # @raise [AmbiguousTaskError] # - # source://thor/lib/thor.rb#605 + # source://thor//lib/thor.rb#605 def normalize_command_name(meth); end # receives a (possibly nil) command name and returns a name that is in @@ -567,23 +567,23 @@ class Thor # # @raise [AmbiguousTaskError] # - # source://thor/lib/thor.rb#605 + # source://thor//lib/thor.rb#605 def normalize_task_name(meth); end - # source://thor/lib/thor.rb#493 + # source://thor//lib/thor.rb#493 def print_at_least_one_required_options(shell, command = T.unsafe(nil)); end - # source://thor/lib/thor.rb#482 + # source://thor//lib/thor.rb#482 def print_exclusive_options(shell, command = T.unsafe(nil)); end # Retrieve the command name from given args. # - # source://thor/lib/thor.rb#592 + # source://thor//lib/thor.rb#592 def retrieve_command_name(args); end # Retrieve the command name from given args. # - # source://thor/lib/thor.rb#592 + # source://thor//lib/thor.rb#592 def retrieve_task_name(args); end # Sort the commands, lexicographically by default. @@ -591,21 +591,21 @@ class Thor # Can be overridden in the subclass to change the display order of the # commands. # - # source://thor/lib/thor.rb#653 + # source://thor//lib/thor.rb#653 def sort_commands!(list); end - # source://thor/lib/thor.rb#473 + # source://thor//lib/thor.rb#473 def stop_on_unknown_option; end - # source://thor/lib/thor.rb#641 + # source://thor//lib/thor.rb#641 def subcommand_help(cmd); end - # source://thor/lib/thor.rb#641 + # source://thor//lib/thor.rb#641 def subtask_help(cmd); end end end -# source://thor/lib/thor/actions/empty_directory.rb#2 +# source://thor//lib/thor/actions/empty_directory.rb#2 module Thor::Actions mixes_in_class_methods ::Thor::Actions::ClassMethods @@ -618,12 +618,12 @@ module Thor::Actions # # destination_root:: The root directory needed for some actions. # - # source://thor/lib/thor/actions.rb#72 + # source://thor//lib/thor/actions.rb#72 def initialize(args = T.unsafe(nil), options = T.unsafe(nil), config = T.unsafe(nil)); end # Wraps an action object and call it accordingly to the thor class behavior. # - # source://thor/lib/thor/actions.rb#89 + # source://thor//lib/thor/actions.rb#89 def action(instance); end # Create a new file relative to the destination root with the given data, @@ -643,7 +643,7 @@ module Thor::Actions # # create_file "config/apache.conf", "your apache config" # - # source://thor/lib/thor/actions/create_file.rb#22 + # source://thor//lib/thor/actions/create_file.rb#22 def add_file(destination, *args, &block); end # Create a new file relative to the destination root from the given source. @@ -658,7 +658,7 @@ module Thor::Actions # # create_link "config/apache.conf", "/etc/apache.conf" # - # source://thor/lib/thor/actions/create_link.rb#17 + # source://thor//lib/thor/actions/create_link.rb#17 def add_link(destination, *args); end # Append text to a file. Since it depends on insert_into_file, it's reversible. @@ -676,7 +676,7 @@ module Thor::Actions # 'config.gem "rspec"' # end # - # source://thor/lib/thor/actions/file_manipulation.rb#192 + # source://thor//lib/thor/actions/file_manipulation.rb#192 def append_file(path, *args, &block); end # Append text to a file. Since it depends on insert_into_file, it's reversible. @@ -694,7 +694,7 @@ module Thor::Actions # 'config.gem "rspec"' # end # - # source://thor/lib/thor/actions/file_manipulation.rb#192 + # source://thor//lib/thor/actions/file_manipulation.rb#192 def append_to_file(path, *args, &block); end # Loads an external file and execute it in the instance binding. @@ -709,19 +709,19 @@ module Thor::Actions # # apply "recipes/jquery.rb" # - # source://thor/lib/thor/actions.rb#216 + # source://thor//lib/thor/actions.rb#216 def apply(path, config = T.unsafe(nil)); end # Returns the value of attribute behavior. # - # source://thor/lib/thor/actions.rb#10 + # source://thor//lib/thor/actions.rb#10 def behavior; end # Sets the attribute behavior # # @param value the value to set the attribute behavior to. # - # source://thor/lib/thor/actions.rb#10 + # source://thor//lib/thor/actions.rb#10 def behavior=(_arg0); end # Changes the mode of the given file or directory. @@ -735,7 +735,7 @@ module Thor::Actions # # chmod "script/server", 0755 # - # source://thor/lib/thor/actions/file_manipulation.rb#145 + # source://thor//lib/thor/actions/file_manipulation.rb#145 def chmod(path, mode, config = T.unsafe(nil)); end # Comment all lines matching a given regex. It will leave the space @@ -751,7 +751,7 @@ module Thor::Actions # # comment_lines 'config/initializers/session_store.rb', /cookie_store/ # - # source://thor/lib/thor/actions/file_manipulation.rb#308 + # source://thor//lib/thor/actions/file_manipulation.rb#308 def comment_lines(path, flag, *args); end # Copies the file from the relative source to the relative destination. If @@ -769,7 +769,7 @@ module Thor::Actions # # copy_file "doc/README" # - # source://thor/lib/thor/actions/file_manipulation.rb#20 + # source://thor//lib/thor/actions/file_manipulation.rb#20 def copy_file(source, *args, &block); end # Create a new file relative to the destination root with the given data, @@ -789,7 +789,7 @@ module Thor::Actions # # create_file "config/apache.conf", "your apache config" # - # source://thor/lib/thor/actions/create_file.rb#22 + # source://thor//lib/thor/actions/create_file.rb#22 def create_file(destination, *args, &block); end # Create a new file relative to the destination root from the given source. @@ -804,18 +804,18 @@ module Thor::Actions # # create_link "config/apache.conf", "/etc/apache.conf" # - # source://thor/lib/thor/actions/create_link.rb#17 + # source://thor//lib/thor/actions/create_link.rb#17 def create_link(destination, *args); end # Returns the root for this thor class (also aliased as destination root). # - # source://thor/lib/thor/actions.rb#99 + # source://thor//lib/thor/actions.rb#99 def destination_root; end # Sets the root for this thor class. Relatives path are added to the # directory where the script was invoked and expanded. # - # source://thor/lib/thor/actions.rb#106 + # source://thor//lib/thor/actions.rb#106 def destination_root=(root); end # Copies recursively the files from source directory to root directory. @@ -862,7 +862,7 @@ module Thor::Actions # directory "doc" # directory "doc", "docs", :recursive => false # - # source://thor/lib/thor/actions/directory.rb#49 + # source://thor//lib/thor/actions/directory.rb#49 def directory(source, *args, &block); end # Creates an empty directory. @@ -875,14 +875,14 @@ module Thor::Actions # # empty_directory "doc" # - # source://thor/lib/thor/actions/empty_directory.rb#13 + # source://thor//lib/thor/actions/empty_directory.rb#13 def empty_directory(destination, config = T.unsafe(nil)); end # Receives a file or directory and search for it in the source paths. # # @raise [Error] # - # source://thor/lib/thor/actions.rb#133 + # source://thor//lib/thor/actions.rb#133 def find_in_source_paths(file); end # Gets the content at the given address and places it at the given relative @@ -908,7 +908,7 @@ module Thor::Actions # content.split("\n").first # end # - # source://thor/lib/thor/actions/file_manipulation.rb#81 + # source://thor//lib/thor/actions/file_manipulation.rb#81 def get(source, *args, &block); end # Run a regular expression replacement on a file. @@ -928,12 +928,12 @@ module Thor::Actions # match << " no more. Use thor!" # end # - # source://thor/lib/thor/actions/file_manipulation.rb#262 + # source://thor//lib/thor/actions/file_manipulation.rb#262 def gsub_file(path, flag, *args, &block); end # Goes to the root and execute the given block. # - # source://thor/lib/thor/actions.rb#200 + # source://thor//lib/thor/actions.rb#200 def in_root; end # Injects text right after the class definition. Since it depends on @@ -953,10 +953,10 @@ module Thor::Actions # " filter_parameter :password\n" # end # - # source://thor/lib/thor/actions/file_manipulation.rb#216 + # source://thor//lib/thor/actions/file_manipulation.rb#216 def inject_into_class(path, klass, *args, &block); end - # source://thor/lib/thor/actions/inject_into_file.rb#26 + # source://thor//lib/thor/actions/inject_into_file.rb#26 def inject_into_file(destination, *args, &block); end # Injects text right after the module definition. Since it depends on @@ -976,10 +976,10 @@ module Thor::Actions # " def help; 'help'; end\n" # end # - # source://thor/lib/thor/actions/file_manipulation.rb#239 + # source://thor//lib/thor/actions/file_manipulation.rb#239 def inject_into_module(path, module_name, *args, &block); end - # source://thor/lib/thor/actions/inject_into_file.rb#26 + # source://thor//lib/thor/actions/inject_into_file.rb#26 def insert_into_file(destination, *args, &block); end # Do something in the root or on a provided subfolder. If a relative path @@ -993,7 +993,7 @@ module Thor::Actions # dir:: the directory to move to. # config:: give :verbose => true to log and use padding. # - # source://thor/lib/thor/actions.rb#170 + # source://thor//lib/thor/actions.rb#170 def inside(dir = T.unsafe(nil), config = T.unsafe(nil), &block); end # Links the file from the relative source to the relative destination. If @@ -1010,7 +1010,7 @@ module Thor::Actions # # link_file "doc/README" # - # source://thor/lib/thor/actions/file_manipulation.rb#50 + # source://thor//lib/thor/actions/file_manipulation.rb#50 def link_file(source, *args); end # Prepend text to a file. Since it depends on insert_into_file, it's reversible. @@ -1028,7 +1028,7 @@ module Thor::Actions # 'config.gem "rspec"' # end # - # source://thor/lib/thor/actions/file_manipulation.rb#170 + # source://thor//lib/thor/actions/file_manipulation.rb#170 def prepend_file(path, *args, &block); end # Prepend text to a file. Since it depends on insert_into_file, it's reversible. @@ -1046,13 +1046,13 @@ module Thor::Actions # 'config.gem "rspec"' # end # - # source://thor/lib/thor/actions/file_manipulation.rb#170 + # source://thor//lib/thor/actions/file_manipulation.rb#170 def prepend_to_file(path, *args, &block); end # Returns the given path relative to the absolute root (ie, root where # the script started). # - # source://thor/lib/thor/actions.rb#114 + # source://thor//lib/thor/actions.rb#114 def relative_to_original_destination_root(path, remove_dot = T.unsafe(nil)); end # Removes a file at the given location. @@ -1066,7 +1066,7 @@ module Thor::Actions # remove_file 'README' # remove_file 'app/controllers/application_controller.rb' # - # source://thor/lib/thor/actions/file_manipulation.rb#325 + # source://thor//lib/thor/actions/file_manipulation.rb#325 def remove_dir(path, config = T.unsafe(nil)); end # Removes a file at the given location. @@ -1080,7 +1080,7 @@ module Thor::Actions # remove_file 'README' # remove_file 'app/controllers/application_controller.rb' # - # source://thor/lib/thor/actions/file_manipulation.rb#325 + # source://thor//lib/thor/actions/file_manipulation.rb#325 def remove_file(path, config = T.unsafe(nil)); end # Executes a command returning the contents of the command. @@ -1096,7 +1096,7 @@ module Thor::Actions # run('ln -s ~/edge rails') # end # - # source://thor/lib/thor/actions.rb#248 + # 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). @@ -1105,12 +1105,12 @@ module Thor::Actions # command:: the command to be executed. # config:: give :verbose => false to not log the status. # - # source://thor/lib/thor/actions.rb#285 + # 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. # - # source://thor/lib/thor/actions.rb#127 + # source://thor//lib/thor/actions.rb#127 def source_paths; end # Gets an ERB template at the relative source, executes it and makes a copy @@ -1128,7 +1128,7 @@ module Thor::Actions # # template "doc/README" # - # source://thor/lib/thor/actions/file_manipulation.rb#117 + # source://thor//lib/thor/actions/file_manipulation.rb#117 def template(source, *args, &block); end # Run a thor command. A hash of options can be given and it's converted to @@ -1149,7 +1149,7 @@ module Thor::Actions # thor :list, :all => true, :substring => 'rails' # #=> thor list --all --substring=rails # - # source://thor/lib/thor/actions.rb#308 + # source://thor//lib/thor/actions.rb#308 def thor(command, *args); end # Uncomment all lines matching a given regex. Preserves indentation before @@ -1164,44 +1164,44 @@ module Thor::Actions # # uncomment_lines 'config/initializers/session_store.rb', /active_record/ # - # source://thor/lib/thor/actions/file_manipulation.rb#289 + # source://thor//lib/thor/actions/file_manipulation.rb#289 def uncomment_lines(path, flag, *args); end protected - # source://thor/lib/thor/actions.rb#329 + # 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#325 + # source://thor//lib/thor/actions.rb#325 def _shared_configuration; end private - # source://thor/lib/thor/actions/file_manipulation.rb#346 + # source://thor//lib/thor/actions/file_manipulation.rb#346 def capture(*args); end - # source://thor/lib/thor/actions/file_manipulation.rb#342 + # source://thor//lib/thor/actions/file_manipulation.rb#342 def concat(string); end # Returns the value of attribute output_buffer. # - # source://thor/lib/thor/actions/file_manipulation.rb#337 + # source://thor//lib/thor/actions/file_manipulation.rb#337 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#337 + # source://thor//lib/thor/actions/file_manipulation.rb#337 def output_buffer=(_arg0); end - # source://thor/lib/thor/actions/file_manipulation.rb#350 + # source://thor//lib/thor/actions/file_manipulation.rb#350 def with_output_buffer(buf = T.unsafe(nil)); end class << self - # source://thor/lib/thor/actions.rb#12 + # source://thor//lib/thor/actions.rb#12 def included(base); end end end @@ -1209,24 +1209,24 @@ 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#362 +# source://thor//lib/thor/actions/file_manipulation.rb#362 class Thor::Actions::CapturableERB < ::ERB - # source://thor/lib/thor/actions/file_manipulation.rb#363 + # source://thor//lib/thor/actions/file_manipulation.rb#363 def set_eoutvar(compiler, eoutvar = T.unsafe(nil)); end end -# source://thor/lib/thor/actions.rb#17 +# source://thor//lib/thor/actions.rb#17 module Thor::Actions::ClassMethods # Add runtime options that help actions execution. # - # source://thor/lib/thor/actions.rb#48 + # source://thor//lib/thor/actions.rb#48 def add_runtime_options!; end # Hold source paths for one Thor instance. source_paths_for_search is the # method responsible to gather source_paths from this current class, # inherited paths and the source root. # - # source://thor/lib/thor/actions.rb#22 + # source://thor//lib/thor/actions.rb#22 def source_paths; end # Returns the source paths in the following order: @@ -1235,26 +1235,26 @@ module Thor::Actions::ClassMethods # 2) Source root # 3) Parents source paths # - # source://thor/lib/thor/actions.rb#38 + # source://thor//lib/thor/actions.rb#38 def source_paths_for_search; end # Stores and return the source root for this class # - # source://thor/lib/thor/actions.rb#27 + # source://thor//lib/thor/actions.rb#27 def source_root(path = T.unsafe(nil)); end end # CreateFile is a subset of Template, which instead of rendering a file with # ERB, it gets the content from the user. # -# source://thor/lib/thor/actions/create_file.rb#32 +# source://thor//lib/thor/actions/create_file.rb#32 class Thor::Actions::CreateFile < ::Thor::Actions::EmptyDirectory # @return [CreateFile] a new instance of CreateFile # - # source://thor/lib/thor/actions/create_file.rb#35 + # source://thor//lib/thor/actions/create_file.rb#35 def initialize(base, destination, data, config = T.unsafe(nil)); end - # source://thor/lib/thor/actions/create_file.rb#33 + # source://thor//lib/thor/actions/create_file.rb#33 def data; end # Checks if the content of the file at the destination is identical to the rendered result. @@ -1264,15 +1264,15 @@ class Thor::Actions::CreateFile < ::Thor::Actions::EmptyDirectory # # @return [Boolean] # - # source://thor/lib/thor/actions/create_file.rb#45 + # source://thor//lib/thor/actions/create_file.rb#45 def identical?; end - # source://thor/lib/thor/actions/create_file.rb#60 + # 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#52 + # source://thor//lib/thor/actions/create_file.rb#52 def render; end protected @@ -1281,33 +1281,33 @@ class Thor::Actions::CreateFile < ::Thor::Actions::EmptyDirectory # # @return [Boolean] # - # source://thor/lib/thor/actions/create_file.rb#100 + # 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#86 + # 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#73 + # source://thor//lib/thor/actions/create_file.rb#73 def on_conflict_behavior(&block); end end # CreateLink is a subset of CreateFile, which instead of taking a block of # data, just takes a source string from the user. # -# source://thor/lib/thor/actions/create_link.rb#27 +# source://thor//lib/thor/actions/create_link.rb#27 class Thor::Actions::CreateLink < ::Thor::Actions::CreateFile - # source://thor/lib/thor/actions/create_link.rb#28 + # source://thor//lib/thor/actions/create_link.rb#28 def data; end # @return [Boolean] # - # source://thor/lib/thor/actions/create_link.rb#56 + # source://thor//lib/thor/actions/create_link.rb#56 def exists?; end # Checks if the content of the file at the destination is identical to the rendered result. @@ -1317,44 +1317,44 @@ class Thor::Actions::CreateLink < ::Thor::Actions::CreateFile # # @return [Boolean] # - # source://thor/lib/thor/actions/create_link.rb#35 + # source://thor//lib/thor/actions/create_link.rb#35 def identical?; end - # source://thor/lib/thor/actions/create_link.rb#40 + # source://thor//lib/thor/actions/create_link.rb#40 def invoke!; end end -# source://thor/lib/thor/actions/directory.rb#55 +# source://thor//lib/thor/actions/directory.rb#55 class Thor::Actions::Directory < ::Thor::Actions::EmptyDirectory # @return [Directory] a new instance of Directory # - # source://thor/lib/thor/actions/directory.rb#58 + # source://thor//lib/thor/actions/directory.rb#58 def initialize(base, source, destination = T.unsafe(nil), config = T.unsafe(nil), &block); end - # source://thor/lib/thor/actions/directory.rb#64 + # source://thor//lib/thor/actions/directory.rb#64 def invoke!; end - # source://thor/lib/thor/actions/directory.rb#69 + # source://thor//lib/thor/actions/directory.rb#69 def revoke!; end # Returns the value of attribute source. # - # source://thor/lib/thor/actions/directory.rb#56 + # source://thor//lib/thor/actions/directory.rb#56 def source; end protected - # source://thor/lib/thor/actions/directory.rb#75 + # source://thor//lib/thor/actions/directory.rb#75 def execute!; end - # source://thor/lib/thor/actions/directory.rb#99 + # source://thor//lib/thor/actions/directory.rb#99 def file_level_lookup(previous_lookup); end - # source://thor/lib/thor/actions/directory.rb#103 + # source://thor//lib/thor/actions/directory.rb#103 def files(lookup); end end -# source://thor/lib/thor/actions/empty_directory.rb#23 +# source://thor//lib/thor/actions/empty_directory.rb#23 class Thor::Actions::EmptyDirectory # Initializes given the source and destination. # @@ -1366,16 +1366,16 @@ class Thor::Actions::EmptyDirectory # # @return [EmptyDirectory] a new instance of EmptyDirectory # - # source://thor/lib/thor/actions/empty_directory.rb#34 + # source://thor//lib/thor/actions/empty_directory.rb#34 def initialize(base, destination, config = T.unsafe(nil)); end - # source://thor/lib/thor/actions/empty_directory.rb#24 + # source://thor//lib/thor/actions/empty_directory.rb#24 def base; end - # source://thor/lib/thor/actions/empty_directory.rb#24 + # source://thor//lib/thor/actions/empty_directory.rb#24 def config; end - # source://thor/lib/thor/actions/empty_directory.rb#24 + # source://thor//lib/thor/actions/empty_directory.rb#24 def destination; end # Checks if the destination file already exists. @@ -1385,19 +1385,19 @@ class Thor::Actions::EmptyDirectory # # @return [Boolean] # - # source://thor/lib/thor/actions/empty_directory.rb#45 + # source://thor//lib/thor/actions/empty_directory.rb#45 def exists?; end - # source://thor/lib/thor/actions/empty_directory.rb#24 + # source://thor//lib/thor/actions/empty_directory.rb#24 def given_destination; end - # source://thor/lib/thor/actions/empty_directory.rb#49 + # source://thor//lib/thor/actions/empty_directory.rb#49 def invoke!; end - # source://thor/lib/thor/actions/empty_directory.rb#24 + # source://thor//lib/thor/actions/empty_directory.rb#24 def relative_destination; end - # source://thor/lib/thor/actions/empty_directory.rb#56 + # source://thor//lib/thor/actions/empty_directory.rb#56 def revoke!; end protected @@ -1413,7 +1413,7 @@ class Thor::Actions::EmptyDirectory # # The method referenced can be either public or private. # - # source://thor/lib/thor/actions/empty_directory.rb#103 + # source://thor//lib/thor/actions/empty_directory.rb#103 def convert_encoded_instructions(filename); end # Sets the absolute destination value from a relative destination value. @@ -1430,80 +1430,80 @@ class Thor::Actions::EmptyDirectory # relative_destination #=> bar/baz # given_destination #=> baz # - # source://thor/lib/thor/actions/empty_directory.rb#85 + # source://thor//lib/thor/actions/empty_directory.rb#85 def destination=(destination); end # Receives a hash of options and just execute the block if some # conditions are met. # - # source://thor/lib/thor/actions/empty_directory.rb#113 + # source://thor//lib/thor/actions/empty_directory.rb#113 def invoke_with_conflict_check(&block); end # What to do when the destination file already exists. # - # source://thor/lib/thor/actions/empty_directory.rb#132 + # source://thor//lib/thor/actions/empty_directory.rb#132 def on_conflict_behavior; end - # source://thor/lib/thor/actions/empty_directory.rb#126 + # source://thor//lib/thor/actions/empty_directory.rb#126 def on_file_clash_behavior; end # Shortcut for pretend. # # @return [Boolean] # - # source://thor/lib/thor/actions/empty_directory.rb#67 + # source://thor//lib/thor/actions/empty_directory.rb#67 def pretend?; end # Shortcut to say_status shell method. # - # source://thor/lib/thor/actions/empty_directory.rb#138 + # source://thor//lib/thor/actions/empty_directory.rb#138 def say_status(status, color); end end -# source://thor/lib/thor/actions/inject_into_file.rb#36 +# source://thor//lib/thor/actions/inject_into_file.rb#36 class Thor::Actions::InjectIntoFile < ::Thor::Actions::EmptyDirectory # @return [InjectIntoFile] a new instance of InjectIntoFile # - # source://thor/lib/thor/actions/inject_into_file.rb#39 + # source://thor//lib/thor/actions/inject_into_file.rb#39 def initialize(base, destination, data, config); end # Returns the value of attribute behavior. # - # source://thor/lib/thor/actions/inject_into_file.rb#37 + # source://thor//lib/thor/actions/inject_into_file.rb#37 def behavior; end # Returns the value of attribute flag. # - # source://thor/lib/thor/actions/inject_into_file.rb#37 + # source://thor//lib/thor/actions/inject_into_file.rb#37 def flag; end - # source://thor/lib/thor/actions/inject_into_file.rb#52 + # source://thor//lib/thor/actions/inject_into_file.rb#52 def invoke!; end # Returns the value of attribute replacement. # - # source://thor/lib/thor/actions/inject_into_file.rb#37 + # source://thor//lib/thor/actions/inject_into_file.rb#37 def replacement; end - # source://thor/lib/thor/actions/inject_into_file.rb#74 + # source://thor//lib/thor/actions/inject_into_file.rb#74 def revoke!; end protected - # source://thor/lib/thor/actions/inject_into_file.rb#110 + # 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#120 + # source://thor//lib/thor/actions/inject_into_file.rb#120 def replace!(regexp, string, force); end # @return [Boolean] # - # source://thor/lib/thor/actions/inject_into_file.rb#114 + # source://thor//lib/thor/actions/inject_into_file.rb#114 def replacement_present?; end - # source://thor/lib/thor/actions/inject_into_file.rb#90 + # source://thor//lib/thor/actions/inject_into_file.rb#90 def say_status(behavior, warning: T.unsafe(nil), color: T.unsafe(nil)); end end @@ -1526,114 +1526,114 @@ end # gems.split(" ").map{ |gem| " config.gem :#{gem}" }.join("\n") # end # -# source://thor/lib/thor/actions/inject_into_file.rb#24 +# 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#57 +# source://thor//lib/thor/error.rb#57 class Thor::AmbiguousCommandError < ::Thor::Error; end -# source://thor/lib/thor/error.rb#59 +# source://thor//lib/thor/error.rb#59 Thor::AmbiguousTaskError = Thor::AmbiguousCommandError -# source://thor/lib/thor/parser/argument.rb#2 +# source://thor//lib/thor/parser/argument.rb#2 class Thor::Argument # @raise [ArgumentError] # @return [Argument] a new instance of Argument # - # source://thor/lib/thor/parser/argument.rb#8 + # source://thor//lib/thor/parser/argument.rb#8 def initialize(name, options = T.unsafe(nil)); end # Returns the value of attribute banner. # - # source://thor/lib/thor/parser/argument.rb#5 + # source://thor//lib/thor/parser/argument.rb#5 def banner; end # Returns the value of attribute default. # - # source://thor/lib/thor/parser/argument.rb#5 + # source://thor//lib/thor/parser/argument.rb#5 def default; end # Returns the value of attribute description. # - # source://thor/lib/thor/parser/argument.rb#5 + # source://thor//lib/thor/parser/argument.rb#5 def description; end # Returns the value of attribute enum. # - # source://thor/lib/thor/parser/argument.rb#5 + # source://thor//lib/thor/parser/argument.rb#5 def enum; end - # source://thor/lib/thor/parser/argument.rb#52 + # source://thor//lib/thor/parser/argument.rb#52 def enum_to_s; end # Returns the value of attribute name. # - # source://thor/lib/thor/parser/argument.rb#5 + # source://thor//lib/thor/parser/argument.rb#5 def human_name; end # Returns the value of attribute name. # - # source://thor/lib/thor/parser/argument.rb#5 + # source://thor//lib/thor/parser/argument.rb#5 def name; end - # source://thor/lib/thor/parser/argument.rb#27 + # 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 + # source://thor//lib/thor/parser/argument.rb#5 def required; end # @return [Boolean] # - # source://thor/lib/thor/parser/argument.rb#39 + # source://thor//lib/thor/parser/argument.rb#39 def required?; end # @return [Boolean] # - # source://thor/lib/thor/parser/argument.rb#43 + # source://thor//lib/thor/parser/argument.rb#43 def show_default?; end # Returns the value of attribute type. # - # source://thor/lib/thor/parser/argument.rb#5 + # source://thor//lib/thor/parser/argument.rb#5 def type; end - # source://thor/lib/thor/parser/argument.rb#35 + # source://thor//lib/thor/parser/argument.rb#35 def usage; end protected - # source://thor/lib/thor/parser/argument.rb#71 + # source://thor//lib/thor/parser/argument.rb#71 def default_banner; end # @return [Boolean] # - # source://thor/lib/thor/parser/argument.rb#67 + # source://thor//lib/thor/parser/argument.rb#67 def valid_type?(type); end # @raise [ArgumentError] # - # source://thor/lib/thor/parser/argument.rb#62 + # source://thor//lib/thor/parser/argument.rb#62 def validate!; end end -# source://thor/lib/thor/parser/argument.rb#3 +# source://thor//lib/thor/parser/argument.rb#3 Thor::Argument::VALID_TYPES = T.let(T.unsafe(nil), Array) -# source://thor/lib/thor/parser/arguments.rb#2 +# source://thor//lib/thor/parser/arguments.rb#2 class Thor::Arguments # Takes an array of Thor::Argument objects. # # @return [Arguments] a new instance of Arguments # - # source://thor/lib/thor/parser/arguments.rb#26 + # source://thor//lib/thor/parser/arguments.rb#26 def initialize(arguments = T.unsafe(nil)); end - # source://thor/lib/thor/parser/arguments.rb#40 + # source://thor//lib/thor/parser/arguments.rb#40 def parse(args); end - # source://thor/lib/thor/parser/arguments.rb#53 + # source://thor//lib/thor/parser/arguments.rb#53 def remaining; end private @@ -1642,22 +1642,22 @@ class Thor::Arguments # # @raise [RequiredArgumentMissingError] # - # source://thor/lib/thor/parser/arguments.rb#186 + # source://thor//lib/thor/parser/arguments.rb#186 def check_requirement!; end # @return [Boolean] # - # source://thor/lib/thor/parser/arguments.rb#84 + # source://thor//lib/thor/parser/arguments.rb#84 def current_is_value?; end # @return [Boolean] # - # source://thor/lib/thor/parser/arguments.rb#64 + # source://thor//lib/thor/parser/arguments.rb#64 def last?; end # @return [Boolean] # - # source://thor/lib/thor/parser/arguments.rb#59 + # 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 @@ -1669,7 +1669,7 @@ class Thor::Arguments # # ["a", "b", "c"] # - # source://thor/lib/thor/parser/arguments.rb#118 + # source://thor//lib/thor/parser/arguments.rb#118 def parse_array(name); end # Runs through the argument array getting strings that contains ":" and @@ -1681,14 +1681,14 @@ class Thor::Arguments # # { "name" => "string", "age" => "integer" } # - # source://thor/lib/thor/parser/arguments.rb#97 + # 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#139 + # source://thor//lib/thor/parser/arguments.rb#139 def parse_numeric(name); end # Parse string: @@ -1696,42 +1696,42 @@ 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#158 + # source://thor//lib/thor/parser/arguments.rb#158 def parse_string(name); end - # source://thor/lib/thor/parser/arguments.rb#68 + # source://thor//lib/thor/parser/arguments.rb#68 def peek; end - # source://thor/lib/thor/parser/arguments.rb#72 + # source://thor//lib/thor/parser/arguments.rb#72 def shift; end - # source://thor/lib/thor/parser/arguments.rb#76 + # 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 + # 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 + # source://thor//lib/thor/parser/arguments.rb#19 def parse(*args); end # Receives an array of args and returns two arrays, one with arguments # and one with switches. # - # source://thor/lib/thor/parser/arguments.rb#8 + # source://thor//lib/thor/parser/arguments.rb#8 def split(args); end end end -# source://thor/lib/thor/parser/arguments.rb#3 +# source://thor//lib/thor/parser/arguments.rb#3 Thor::Arguments::NUMERIC = T.let(T.unsafe(nil), Regexp) -# source://thor/lib/thor/error.rb#104 +# source://thor//lib/thor/error.rb#104 class Thor::AtLeastOneRequiredArgumentError < ::Thor::InvocationError; end -# source://thor/lib/thor/shell.rb#4 +# source://thor//lib/thor/shell.rb#4 module Thor::Base include ::Thor::Invocation include ::Thor::Shell @@ -1755,66 +1755,66 @@ module Thor::Base # # config:: Configuration for this Thor class. # - # source://thor/lib/thor/base.rb#53 + # source://thor//lib/thor/base.rb#53 def initialize(args = T.unsafe(nil), local_options = T.unsafe(nil), config = T.unsafe(nil)); end # Returns the value of attribute args. # - # source://thor/lib/thor/base.rb#35 + # source://thor//lib/thor/base.rb#35 def args; end # Sets the attribute args # # @param value the value to set the attribute args to. # - # source://thor/lib/thor/base.rb#35 + # source://thor//lib/thor/base.rb#35 def args=(_arg0); end # Returns the value of attribute options. # - # source://thor/lib/thor/base.rb#35 + # source://thor//lib/thor/base.rb#35 def options; end # Sets the attribute options # # @param value the value to set the attribute options to. # - # source://thor/lib/thor/base.rb#35 + # source://thor//lib/thor/base.rb#35 def options=(_arg0); end # Returns the value of attribute parent_options. # - # source://thor/lib/thor/base.rb#35 + # source://thor//lib/thor/base.rb#35 def parent_options; end # Sets the attribute parent_options # # @param value the value to set the attribute parent_options to. # - # source://thor/lib/thor/base.rb#35 + # source://thor//lib/thor/base.rb#35 def parent_options=(_arg0); end class << self - # source://thor/lib/thor/base.rb#116 + # 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#144 + # 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 # it will use a colored log, otherwise it will use a basic one without color. # - # source://thor/lib/thor/shell.rb#11 + # source://thor//lib/thor/shell.rb#11 def shell; end # Sets the attribute shell # # @param value the value to set the attribute shell to. # - # source://thor/lib/thor/shell.rb#6 + # source://thor//lib/thor/shell.rb#6 def shell=(_arg0); end # Returns the files where the subclasses are kept. @@ -1822,7 +1822,7 @@ module Thor::Base # ==== Returns # Hash[path => Class] # - # source://thor/lib/thor/base.rb#137 + # source://thor//lib/thor/base.rb#137 def subclass_files; end # Returns the classes that inherits from Thor or Thor::Group. @@ -1830,12 +1830,12 @@ module Thor::Base # ==== Returns # Array[Class] # - # source://thor/lib/thor/base.rb#128 + # source://thor//lib/thor/base.rb#128 def subclasses; end end end -# source://thor/lib/thor/base.rb#153 +# source://thor//lib/thor/base.rb#153 module Thor::Base::ClassMethods # Returns the commands for this Thor class and all subclasses. # @@ -1843,7 +1843,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#482 + # source://thor//lib/thor/base.rb#482 def all_commands; end # Returns the commands for this Thor class and all subclasses. @@ -1852,13 +1852,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#482 + # 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#189 + # 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. @@ -1896,7 +1896,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#261 + # 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. @@ -1904,40 +1904,40 @@ module Thor::Base::ClassMethods # ==== Returns # Array[Thor::Argument] # - # source://thor/lib/thor/base.rb#293 + # source://thor//lib/thor/base.rb#293 def arguments; end - # source://thor/lib/thor/base.rb#162 + # source://thor//lib/thor/base.rb#162 def attr_accessor(*_arg0); end - # source://thor/lib/thor/base.rb#154 + # source://thor//lib/thor/base.rb#154 def attr_reader(*_arg0); end - # source://thor/lib/thor/base.rb#158 + # source://thor//lib/thor/base.rb#158 def attr_writer(*_arg0); end - # source://thor/lib/thor/base.rb#193 + # 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#183 + # source://thor//lib/thor/base.rb#183 def check_default_type!; end - # source://thor/lib/thor/base.rb#172 + # 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#168 + # source://thor//lib/thor/base.rb#168 def check_unknown_options!; end # @return [Boolean] # - # source://thor/lib/thor/base.rb#176 + # 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 @@ -1970,7 +1970,7 @@ module Thor::Base::ClassMethods # # Then it is required either only one of "--one" or "--two". # - # source://thor/lib/thor/base.rb#392 + # 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. @@ -1978,7 +1978,7 @@ module Thor::Base::ClassMethods # ==== Returns # Array[Array[Thor::Option.name]] # - # source://thor/lib/thor/base.rb#411 + # 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 @@ -2003,7 +2003,7 @@ module Thor::Base::ClassMethods # If you give "--one" and "--two" at the same time ExclusiveArgumentsError # will be raised. # - # source://thor/lib/thor/base.rb#357 + # 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. @@ -2011,7 +2011,7 @@ module Thor::Base::ClassMethods # ==== Returns # Array[Array[Thor::Option.name]] # - # source://thor/lib/thor/base.rb#402 + # source://thor//lib/thor/base.rb#402 def class_exclusive_option_names; end # Adds an option to the set of class options @@ -2030,7 +2030,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#328 + # 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. @@ -2042,7 +2042,7 @@ module Thor::Base::ClassMethods # ==== Parameters # Hash[Symbol => Object] # - # source://thor/lib/thor/base.rb#306 + # source://thor//lib/thor/base.rb#306 def class_options(options = T.unsafe(nil)); end # Returns the commands for this Thor class. @@ -2051,7 +2051,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#471 + # source://thor//lib/thor/base.rb#471 def commands; end # If true, option set will not suspend the execution of the command when @@ -2059,14 +2059,14 @@ module Thor::Base::ClassMethods # # @return [Boolean] # - # source://thor/lib/thor/base.rb#207 + # 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#628 + # 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 @@ -2075,22 +2075,22 @@ module Thor::Base::ClassMethods # ==== Parameters # name # - # source://thor/lib/thor/base.rb#457 + # source://thor//lib/thor/base.rb#457 def group(name = T.unsafe(nil)); end # @raise [InvocationError] # - # source://thor/lib/thor/base.rb#618 + # source://thor//lib/thor/base.rb#618 def handle_argument_error(command, error, args, arity); end # @raise [UndefinedCommandError] # - # source://thor/lib/thor/base.rb#613 + # 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#613 + # 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 @@ -2115,7 +2115,7 @@ module Thor::Base::ClassMethods # # thor :my_command # - # source://thor/lib/thor/base.rb#566 + # 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. @@ -2137,15 +2137,15 @@ module Thor::Base::ClassMethods # remove_command :this_is_not_a_command # end # - # source://thor/lib/thor/base.rb#530 + # source://thor//lib/thor/base.rb#530 def no_commands(&block); end # @return [Boolean] # - # source://thor/lib/thor/base.rb#540 + # source://thor//lib/thor/base.rb#540 def no_commands?; end - # source://thor/lib/thor/base.rb#536 + # source://thor//lib/thor/base.rb#536 def no_commands_context; end # All methods defined inside the given block are not added as commands. @@ -2167,7 +2167,7 @@ module Thor::Base::ClassMethods # remove_command :this_is_not_a_command # end # - # source://thor/lib/thor/base.rb#530 + # source://thor//lib/thor/base.rb#530 def no_tasks(&block); end # Allows to use private methods from parent in child classes as commands. @@ -2180,7 +2180,7 @@ module Thor::Base::ClassMethods # public_command :foo # public_command :foo, :bar, :baz # - # source://thor/lib/thor/base.rb#606 + # source://thor//lib/thor/base.rb#606 def public_command(*names); end # Allows to use private methods from parent in child classes as commands. @@ -2193,7 +2193,7 @@ module Thor::Base::ClassMethods # public_command :foo # public_command :foo, :bar, :baz # - # source://thor/lib/thor/base.rb#606 + # source://thor//lib/thor/base.rb#606 def public_task(*names); end # Removes a previous defined argument. If :undefine is given, undefine @@ -2207,7 +2207,7 @@ module Thor::Base::ClassMethods # remove_argument :foo # remove_argument :foo, :bar, :baz, :undefine => true # - # source://thor/lib/thor/base.rb#426 + # source://thor//lib/thor/base.rb#426 def remove_argument(*names); end # Removes a previous defined class option. @@ -2220,7 +2220,7 @@ module Thor::Base::ClassMethods # remove_class_option :foo # remove_class_option :foo, :bar, :baz # - # source://thor/lib/thor/base.rb#445 + # 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 @@ -2235,7 +2235,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#500 + # 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 @@ -2250,7 +2250,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#500 + # source://thor//lib/thor/base.rb#500 def remove_task(*names); end # Parses the command and options from the given args, instantiate the class @@ -2261,7 +2261,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#582 + # 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 @@ -2270,22 +2270,22 @@ module Thor::Base::ClassMethods # # @return [Boolean] # - # source://thor/lib/thor/base.rb#201 + # source://thor//lib/thor/base.rb#201 def stop_on_unknown_option?(command_name); end - # source://thor/lib/thor/base.rb#218 + # 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#214 + # source://thor//lib/thor/base.rb#214 def strict_args_position!; end # @return [Boolean] # - # source://thor/lib/thor/base.rb#222 + # source://thor//lib/thor/base.rb#222 def strict_args_position?(config); end # Returns the commands for this Thor class. @@ -2294,7 +2294,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#471 + # source://thor//lib/thor/base.rb#471 def tasks; end protected @@ -2302,12 +2302,12 @@ module Thor::Base::ClassMethods # SIGNATURE: Sets the baseclass. This is where the superclass lookup # finishes. # - # source://thor/lib/thor/base.rb#777 + # 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#771 + # source://thor//lib/thor/base.rb#771 def basename; end # Build an option and adds it to the given scope. @@ -2317,7 +2317,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#688 + # 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 @@ -2328,187 +2328,187 @@ module Thor::Base::ClassMethods # ==== Parameters # Hash[Symbol => Object] # - # source://thor/lib/thor/base.rb#699 + # 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 + # 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#638 + # 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 + # 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#782 + # 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#782 + # 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#792 + # 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#708 + # 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#708 + # 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#749 + # 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#721 + # 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#788 + # 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#677 + # 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#729 + # 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#656 + # 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 + # 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 +# source://thor//lib/thor/command.rb#2 class Thor::Command < ::Struct # @return [Command] a new instance of Command # - # source://thor/lib/thor/command.rb#5 + # source://thor//lib/thor/command.rb#5 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#42 + # 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#15 + # source://thor//lib/thor/command.rb#15 def hidden?; end - # source://thor/lib/thor/command.rb#70 + # source://thor//lib/thor/command.rb#70 def method_at_least_one_option_names; end - # source://thor/lib/thor/command.rb#66 + # 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#21 + # source://thor//lib/thor/command.rb#21 def run(instance, args = T.unsafe(nil)); end protected # @return [Boolean] # - # source://thor/lib/thor/command.rb#114 + # source://thor//lib/thor/command.rb#114 def handle_argument_error?(instance, error, caller); end # @return [Boolean] # - # source://thor/lib/thor/command.rb#121 + # source://thor//lib/thor/command.rb#121 def handle_no_method_error?(instance, error, caller); end # @return [Boolean] # - # source://thor/lib/thor/command.rb#104 + # source://thor//lib/thor/command.rb#104 def local_method?(instance, name); end # @return [Boolean] # - # source://thor/lib/thor/command.rb#87 + # source://thor//lib/thor/command.rb#87 def not_debugging?(instance); end # @return [Boolean] # - # source://thor/lib/thor/command.rb#100 + # 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#96 + # source://thor//lib/thor/command.rb#96 def public_method?(instance); end # Add usage with required arguments # - # source://thor/lib/thor/command.rb#77 + # source://thor//lib/thor/command.rb#77 def required_arguments_for(klass, usage); end - # source://thor/lib/thor/command.rb#91 + # source://thor//lib/thor/command.rb#91 def required_options; end - # source://thor/lib/thor/command.rb#109 + # source://thor//lib/thor/command.rb#109 def sans_backtrace(backtrace, caller); end private - # source://thor/lib/thor/command.rb#9 + # source://thor//lib/thor/command.rb#9 def initialize_copy(other); end end -# source://thor/lib/thor/command.rb#3 +# source://thor//lib/thor/command.rb#3 Thor::Command::FILE_REGEXP = T.let(T.unsafe(nil), Regexp) -# source://thor/lib/thor/core_ext/hash_with_indifferent_access.rb#2 +# source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#2 module Thor::CoreExt; end # A hash with indifferent access and magic predicates. @@ -2519,62 +2519,62 @@ module Thor::CoreExt; end # hash['foo'] #=> 'bar' # hash.foo? #=> true # -# source://thor/lib/thor/core_ext/hash_with_indifferent_access.rb#11 +# source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#11 class Thor::CoreExt::HashWithIndifferentAccess < ::Hash # @return [HashWithIndifferentAccess] a new instance of HashWithIndifferentAccess # - # source://thor/lib/thor/core_ext/hash_with_indifferent_access.rb#12 + # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#12 def initialize(hash = T.unsafe(nil)); end - # source://thor/lib/thor/core_ext/hash_with_indifferent_access.rb#19 + # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#19 def [](key); end - # source://thor/lib/thor/core_ext/hash_with_indifferent_access.rb#23 + # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#23 def []=(key, value); end - # source://thor/lib/thor/core_ext/hash_with_indifferent_access.rb#27 + # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#27 def delete(key); end - # source://thor/lib/thor/core_ext/hash_with_indifferent_access.rb#31 + # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#31 def except(*keys); end - # source://thor/lib/thor/core_ext/hash_with_indifferent_access.rb#37 + # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#37 def fetch(key, *args); end # @return [Boolean] # - # source://thor/lib/thor/core_ext/hash_with_indifferent_access.rb#45 + # 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#53 + # 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#57 + # 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#72 + # 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#64 + # 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#68 + # 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 + # 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#77 + # 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#49 + # 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#83 + # source://thor//lib/thor/core_ext/hash_with_indifferent_access.rb#83 def convert_key(key); end # Magic predicates. For instance: @@ -2583,33 +2583,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#93 + # 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#3 +# source://thor//lib/thor/error.rb#3 module Thor::Correctable - # source://thor/lib/thor/error.rb#8 + # source://thor//lib/thor/error.rb#8 def corrections; end - # source://thor/lib/thor/error.rb#4 + # 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#137 +# 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#138 + # source://thor//lib/thor/command.rb#138 def initialize(name, options = T.unsafe(nil)); end - # source://thor/lib/thor/command.rb#142 + # source://thor//lib/thor/command.rb#142 def run(instance, args = T.unsafe(nil)); end end -# source://thor/lib/thor/command.rb#150 +# 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 @@ -2619,10 +2619,10 @@ 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#20 +# source://thor//lib/thor/error.rb#20 class Thor::Error < ::StandardError; end -# source://thor/lib/thor/error.rb#101 +# 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 @@ -2630,7 +2630,7 @@ class Thor::ExclusiveArgumentError < ::Thor::InvocationError; end # invocations to be done at the class method, which are not available to Thor # commands. # -# source://thor/lib/thor/group.rb#7 +# source://thor//lib/thor/group.rb#7 class Thor::Group include ::Thor::Base include ::Thor::Invocation @@ -2643,14 +2643,14 @@ class Thor::Group # Shortcut to invoke with padding and block handling. Use internally by # invoke and invoke_from_option class methods. # - # source://thor/lib/thor/group.rb#276 + # source://thor//lib/thor/group.rb#276 def _invoke_for_class_method(klass, command = T.unsafe(nil), *args, &block); end class << self # Overwrite class options help to allow invoked generators options to be # shown recursively when invoking a generator. # - # source://thor/lib/thor/group.rb#161 + # source://thor//lib/thor/group.rb#161 def class_options_help(shell, groups = T.unsafe(nil)); end # Checks if a specified command exists. @@ -2663,7 +2663,7 @@ class Thor::Group # # @return [Boolean] # - # source://thor/lib/thor/group.rb#221 + # source://thor//lib/thor/group.rb#221 def command_exists?(command_name); end # The description for this Thor::Group. If none is provided, but a source root @@ -2673,19 +2673,19 @@ class Thor::Group # ==== Parameters # description:: The description for this Thor::Group. # - # source://thor/lib/thor/group.rb#16 + # source://thor//lib/thor/group.rb#16 def desc(description = T.unsafe(nil)); end # Get invocations array and merge options from invocations. Those # options are added to group_options hash. Options that already exists # in base_options are not added twice. # - # source://thor/lib/thor/group.rb#172 + # source://thor//lib/thor/group.rb#172 def get_options_from_invocations(group_options, base_options); end # @raise [error] # - # source://thor/lib/thor/group.rb#207 + # source://thor//lib/thor/group.rb#207 def handle_argument_error(command, error, _args, arity); end # Prints help information. @@ -2693,17 +2693,17 @@ class Thor::Group # ==== Options # short:: When true, shows only usage. # - # source://thor/lib/thor/group.rb#29 + # source://thor//lib/thor/group.rb#29 def help(shell); end # Stores invocation blocks used on invoke_from_option. # - # source://thor/lib/thor/group.rb#45 + # source://thor//lib/thor/group.rb#45 def invocation_blocks; end # Stores invocations for this class merging with superclass values. # - # source://thor/lib/thor/group.rb#39 + # source://thor//lib/thor/group.rb#39 def invocations; end # Invoke the given namespace or class given. It adds an instance @@ -2713,7 +2713,7 @@ class Thor::Group # The namespace/class given will have its options showed on the help # usage. Check invoke_from_option for more information. # - # source://thor/lib/thor/group.rb#56 + # source://thor//lib/thor/group.rb#56 def invoke(*names, &block); end # Invoke a thor class based on the value supplied by the user to the @@ -2746,17 +2746,17 @@ class Thor::Group # invoked. The block receives two parameters, an instance of the current # class and the klass to be invoked. # - # source://thor/lib/thor/group.rb#110 + # source://thor//lib/thor/group.rb#110 def invoke_from_option(*names, &block); end # Returns commands ready to be printed. # - # source://thor/lib/thor/group.rb#199 + # source://thor//lib/thor/group.rb#199 def printable_commands(*_arg0); end # Returns commands ready to be printed. # - # source://thor/lib/thor/group.rb#199 + # source://thor//lib/thor/group.rb#199 def printable_tasks(*_arg0); end # Remove a previously added invocation. @@ -2765,7 +2765,7 @@ class Thor::Group # # remove_invocation :test_framework # - # source://thor/lib/thor/group.rb#149 + # source://thor//lib/thor/group.rb#149 def remove_invocation(*names); end protected @@ -2773,67 +2773,67 @@ class Thor::Group # The banner for this class. You can customize it if you are invoking the # thor class by another ways which is not the Thor::Runner. # - # source://thor/lib/thor/group.rb#249 + # source://thor//lib/thor/group.rb#249 def banner; end - # source://thor/lib/thor/group.rb#259 + # source://thor//lib/thor/group.rb#259 def baseclass; end - # source://thor/lib/thor/group.rb#263 + # source://thor//lib/thor/group.rb#263 def create_command(meth); end - # source://thor/lib/thor/group.rb#263 + # source://thor//lib/thor/group.rb#263 def create_task(meth); end # The method responsible for dispatching given the args. # # @yield [instance] # - # source://thor/lib/thor/group.rb#228 + # source://thor//lib/thor/group.rb#228 def dispatch(command, given_args, given_opts, config); end # Represents the whole class as a command. # - # source://thor/lib/thor/group.rb#254 + # source://thor//lib/thor/group.rb#254 def self_command; end # Represents the whole class as a command. # - # source://thor/lib/thor/group.rb#254 + # source://thor//lib/thor/group.rb#254 def self_task; end end end # Shortcuts for help. # -# source://thor/lib/thor/base.rb#17 +# source://thor//lib/thor/base.rb#17 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#129 +# source://thor//lib/thor/command.rb#129 class Thor::HiddenCommand < ::Thor::Command # @return [Boolean] # - # source://thor/lib/thor/command.rb#130 + # source://thor//lib/thor/command.rb#130 def hidden?; end end -# source://thor/lib/thor/command.rb#134 +# source://thor//lib/thor/command.rb#134 Thor::HiddenTask = Thor::HiddenCommand -# source://thor/lib/thor/invocation.rb#2 +# source://thor//lib/thor/invocation.rb#2 module Thor::Invocation mixes_in_class_methods ::Thor::Invocation::ClassMethods # Make initializer aware of invocations and the initialization args. # - # source://thor/lib/thor/invocation.rb#23 + # source://thor//lib/thor/invocation.rb#23 def initialize(args = T.unsafe(nil), options = T.unsafe(nil), config = T.unsafe(nil), &block); end # Make the current command chain accessible with in a Thor-(sub)command # - # source://thor/lib/thor/invocation.rb#30 + # source://thor//lib/thor/invocation.rb#30 def current_command_chain; end # Receives a name and invokes it. The name can be a string (either "command" or @@ -2904,34 +2904,34 @@ module Thor::Invocation # # invoke Rspec::RR, [], :style => :foo # - # source://thor/lib/thor/invocation.rb#102 + # source://thor//lib/thor/invocation.rb#102 def invoke(name = T.unsafe(nil), *args); end # Invoke all commands for the current instance. # - # source://thor/lib/thor/invocation.rb#133 + # source://thor//lib/thor/invocation.rb#133 def invoke_all; end # Invoke the given command if the given args. # - # source://thor/lib/thor/invocation.rb#122 + # source://thor//lib/thor/invocation.rb#122 def invoke_command(command, *args); end # Invoke the given command if the given args. # - # source://thor/lib/thor/invocation.rb#122 + # source://thor//lib/thor/invocation.rb#122 def invoke_task(command, *args); end # Invokes using shell padding. # - # source://thor/lib/thor/invocation.rb#138 + # source://thor//lib/thor/invocation.rb#138 def invoke_with_padding(*args); end protected # Initialize klass using values stored in the @_initializer. # - # source://thor/lib/thor/invocation.rb#166 + # source://thor//lib/thor/invocation.rb#166 def _parse_initialization_options(args, opts, config); end # This method simply retrieves the class and command to be invoked. @@ -2939,7 +2939,7 @@ module Thor::Invocation # use the given name and return self as class. Otherwise, call # prepare_for_invocation in the current class. # - # source://thor/lib/thor/invocation.rb#153 + # source://thor//lib/thor/invocation.rb#153 def _retrieve_class_and_command(name, sent_command = T.unsafe(nil)); end # This method simply retrieves the class and command to be invoked. @@ -2947,260 +2947,260 @@ module Thor::Invocation # use the given name and return self as class. Otherwise, call # prepare_for_invocation in the current class. # - # source://thor/lib/thor/invocation.rb#153 + # source://thor//lib/thor/invocation.rb#153 def _retrieve_class_and_task(name, sent_command = T.unsafe(nil)); end # Configuration values that are shared between invocations. # - # source://thor/lib/thor/invocation.rb#145 + # source://thor//lib/thor/invocation.rb#145 def _shared_configuration; end class << self - # source://thor/lib/thor/invocation.rb#3 + # source://thor//lib/thor/invocation.rb#3 def included(base); end end end -# source://thor/lib/thor/invocation.rb#8 +# source://thor//lib/thor/invocation.rb#8 module Thor::Invocation::ClassMethods # This method is responsible for receiving a name and find the proper # class and command for it. The key is an optional parameter which is # available only in class methods invocations (i.e. in Thor::Group). # - # source://thor/lib/thor/invocation.rb#12 + # source://thor//lib/thor/invocation.rb#12 def prepare_for_invocation(key, name); end end # Raised when a command was found, but not invoked properly. # -# source://thor/lib/thor/error.rb#62 +# source://thor//lib/thor/error.rb#62 class Thor::InvocationError < ::Thor::Error; end -# source://thor/lib/thor/line_editor/basic.rb#2 +# source://thor//lib/thor/line_editor/basic.rb#2 module Thor::LineEditor class << self - # source://thor/lib/thor/line_editor.rb#10 + # source://thor//lib/thor/line_editor.rb#10 def best_available; end - # source://thor/lib/thor/line_editor.rb#6 + # source://thor//lib/thor/line_editor.rb#6 def readline(prompt, options = T.unsafe(nil)); end end end -# source://thor/lib/thor/line_editor/basic.rb#3 +# source://thor//lib/thor/line_editor/basic.rb#3 class Thor::LineEditor::Basic # @return [Basic] a new instance of Basic # - # source://thor/lib/thor/line_editor/basic.rb#10 + # source://thor//lib/thor/line_editor/basic.rb#10 def initialize(prompt, options); end # Returns the value of attribute options. # - # source://thor/lib/thor/line_editor/basic.rb#4 + # source://thor//lib/thor/line_editor/basic.rb#4 def options; end # Returns the value of attribute prompt. # - # source://thor/lib/thor/line_editor/basic.rb#4 + # source://thor//lib/thor/line_editor/basic.rb#4 def prompt; end - # source://thor/lib/thor/line_editor/basic.rb#15 + # source://thor//lib/thor/line_editor/basic.rb#15 def readline; end private # @return [Boolean] # - # source://thor/lib/thor/line_editor/basic.rb#32 + # source://thor//lib/thor/line_editor/basic.rb#32 def echo?; end - # source://thor/lib/thor/line_editor/basic.rb#22 + # source://thor//lib/thor/line_editor/basic.rb#22 def get_input; end class << self # @return [Boolean] # - # source://thor/lib/thor/line_editor/basic.rb#6 + # source://thor//lib/thor/line_editor/basic.rb#6 def available?; end end end -# source://thor/lib/thor/line_editor/readline.rb#3 +# source://thor//lib/thor/line_editor/readline.rb#3 class Thor::LineEditor::Readline < ::Thor::LineEditor::Basic - # source://thor/lib/thor/line_editor/readline.rb#13 + # source://thor//lib/thor/line_editor/readline.rb#13 def readline; end private # @return [Boolean] # - # source://thor/lib/thor/line_editor/readline.rb#28 + # source://thor//lib/thor/line_editor/readline.rb#28 def add_to_history?; end - # source://thor/lib/thor/line_editor/readline.rb#42 + # source://thor//lib/thor/line_editor/readline.rb#42 def completion_options; end - # source://thor/lib/thor/line_editor/readline.rb#32 + # source://thor//lib/thor/line_editor/readline.rb#32 def completion_proc; end # @return [Boolean] # - # source://thor/lib/thor/line_editor/readline.rb#46 + # source://thor//lib/thor/line_editor/readline.rb#46 def use_path_completion?; end class << self # @return [Boolean] # - # source://thor/lib/thor/line_editor/readline.rb#4 + # source://thor//lib/thor/line_editor/readline.rb#4 def available?; end end end -# source://thor/lib/thor/line_editor/readline.rb#50 +# source://thor//lib/thor/line_editor/readline.rb#50 class Thor::LineEditor::Readline::PathCompletion # @return [PathCompletion] a new instance of PathCompletion # - # source://thor/lib/thor/line_editor/readline.rb#54 + # source://thor//lib/thor/line_editor/readline.rb#54 def initialize(text); end - # source://thor/lib/thor/line_editor/readline.rb#58 + # source://thor//lib/thor/line_editor/readline.rb#58 def matches; end private - # source://thor/lib/thor/line_editor/readline.rb#68 + # source://thor//lib/thor/line_editor/readline.rb#68 def absolute_matches; end - # source://thor/lib/thor/line_editor/readline.rb#82 + # source://thor//lib/thor/line_editor/readline.rb#82 def base_path; end - # source://thor/lib/thor/line_editor/readline.rb#78 + # source://thor//lib/thor/line_editor/readline.rb#78 def glob_pattern; end - # source://thor/lib/thor/line_editor/readline.rb#64 + # source://thor//lib/thor/line_editor/readline.rb#64 def relative_matches; end # Returns the value of attribute text. # - # source://thor/lib/thor/line_editor/readline.rb#51 + # source://thor//lib/thor/line_editor/readline.rb#51 def text; end end -# source://thor/lib/thor/error.rb#98 +# source://thor//lib/thor/error.rb#98 class Thor::MalformattedArgumentError < ::Thor::InvocationError; end -# source://thor/lib/thor/nested_context.rb#2 +# source://thor//lib/thor/nested_context.rb#2 class Thor::NestedContext # @return [NestedContext] a new instance of NestedContext # - # source://thor/lib/thor/nested_context.rb#3 + # source://thor//lib/thor/nested_context.rb#3 def initialize; end - # source://thor/lib/thor/nested_context.rb#7 + # source://thor//lib/thor/nested_context.rb#7 def enter; end # @return [Boolean] # - # source://thor/lib/thor/nested_context.rb#15 + # source://thor//lib/thor/nested_context.rb#15 def entered?; end private - # source://thor/lib/thor/nested_context.rb#25 + # source://thor//lib/thor/nested_context.rb#25 def pop; end - # source://thor/lib/thor/nested_context.rb#21 + # source://thor//lib/thor/nested_context.rb#21 def push; end end -# source://thor/lib/thor/parser/option.rb#2 +# source://thor//lib/thor/parser/option.rb#2 class Thor::Option < ::Thor::Argument # @return [Option] a new instance of Option # - # source://thor/lib/thor/parser/option.rb#7 + # source://thor//lib/thor/parser/option.rb#7 def initialize(name, options = T.unsafe(nil)); end # Returns the value of attribute aliases. # - # source://thor/lib/thor/parser/option.rb#3 + # source://thor//lib/thor/parser/option.rb#3 def aliases; end - # source://thor/lib/thor/parser/option.rb#99 + # source://thor//lib/thor/parser/option.rb#99 def aliases_for_usage; end - # source://thor/lib/thor/parser/option.rb#118 + # source://thor//lib/thor/parser/option.rb#118 def array?; end - # source://thor/lib/thor/parser/option.rb#118 + # source://thor//lib/thor/parser/option.rb#118 def boolean?; end # Returns the value of attribute group. # - # source://thor/lib/thor/parser/option.rb#3 + # source://thor//lib/thor/parser/option.rb#3 def group; end - # source://thor/lib/thor/parser/option.rb#118 + # source://thor//lib/thor/parser/option.rb#118 def hash?; end # Returns the value of attribute hide. # - # source://thor/lib/thor/parser/option.rb#3 + # source://thor//lib/thor/parser/option.rb#3 def hide; end - # source://thor/lib/thor/parser/option.rb#79 + # source://thor//lib/thor/parser/option.rb#79 def human_name; end # Returns the value of attribute lazy_default. # - # source://thor/lib/thor/parser/option.rb#3 + # source://thor//lib/thor/parser/option.rb#3 def lazy_default; end - # source://thor/lib/thor/parser/option.rb#118 + # source://thor//lib/thor/parser/option.rb#118 def numeric?; end # Returns the value of attribute repeatable. # - # source://thor/lib/thor/parser/option.rb#3 + # source://thor//lib/thor/parser/option.rb#3 def repeatable; end # @return [Boolean] # - # source://thor/lib/thor/parser/option.rb#107 + # source://thor//lib/thor/parser/option.rb#107 def show_default?; end - # source://thor/lib/thor/parser/option.rb#118 + # source://thor//lib/thor/parser/option.rb#118 def string?; end - # source://thor/lib/thor/parser/option.rb#75 + # source://thor//lib/thor/parser/option.rb#75 def switch_name; end - # source://thor/lib/thor/parser/option.rb#83 + # source://thor//lib/thor/parser/option.rb#83 def usage(padding = T.unsafe(nil)); end protected - # source://thor/lib/thor/parser/option.rb#168 + # source://thor//lib/thor/parser/option.rb#168 def dasherize(str); end # @return [Boolean] # - # source://thor/lib/thor/parser/option.rb#160 + # source://thor//lib/thor/parser/option.rb#160 def dasherized?; end - # source://thor/lib/thor/parser/option.rb#164 + # source://thor//lib/thor/parser/option.rb#164 def undasherize(str); end # @raise [ArgumentError] # - # source://thor/lib/thor/parser/option.rb#126 + # source://thor//lib/thor/parser/option.rb#126 def validate!; end - # source://thor/lib/thor/parser/option.rb#131 + # source://thor//lib/thor/parser/option.rb#131 def validate_default_type!; end private - # source://thor/lib/thor/parser/option.rb#174 + # source://thor//lib/thor/parser/option.rb#174 def normalize_aliases(aliases); end class << self @@ -3231,15 +3231,15 @@ class Thor::Option < ::Thor::Argument # # By default all options are optional, unless :required is given. # - # source://thor/lib/thor/parser/option.rb#45 + # source://thor//lib/thor/parser/option.rb#45 def parse(key, value); end end end -# source://thor/lib/thor/parser/option.rb#5 +# source://thor//lib/thor/parser/option.rb#5 Thor::Option::VALID_TYPES = T.let(T.unsafe(nil), Array) -# source://thor/lib/thor/parser/options.rb#2 +# source://thor//lib/thor/parser/options.rb#2 class Thor::Options < ::Thor::Arguments # Takes a hash of Thor::Option and a hash with defaults. # @@ -3248,38 +3248,38 @@ class Thor::Options < ::Thor::Arguments # # @return [Options] a new instance of Options # - # source://thor/lib/thor/parser/options.rb#32 + # 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), relations = T.unsafe(nil)); end - # source://thor/lib/thor/parser/options.rb#156 + # source://thor//lib/thor/parser/options.rb#156 def check_at_least_one!; end - # source://thor/lib/thor/parser/options.rb#144 + # source://thor//lib/thor/parser/options.rb#144 def check_exclusive!; end # @raise [UnknownArgumentError] # - # source://thor/lib/thor/parser/options.rb#168 + # source://thor//lib/thor/parser/options.rb#168 def check_unknown!; end - # source://thor/lib/thor/parser/options.rb#89 + # source://thor//lib/thor/parser/options.rb#89 def parse(args); end - # source://thor/lib/thor/parser/options.rb#65 + # source://thor//lib/thor/parser/options.rb#65 def peek; end - # source://thor/lib/thor/parser/options.rb#61 + # source://thor//lib/thor/parser/options.rb#61 def remaining; end - # source://thor/lib/thor/parser/options.rb#79 + # source://thor//lib/thor/parser/options.rb#79 def shift; end - # source://thor/lib/thor/parser/options.rb#84 + # 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#189 + # 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. @@ -3289,79 +3289,79 @@ class Thor::Options < ::Thor::Arguments # # @return [Boolean] # - # source://thor/lib/thor/parser/options.rb#203 + # source://thor//lib/thor/parser/options.rb#203 def current_is_switch?; end # @return [Boolean] # - # source://thor/lib/thor/parser/options.rb#215 + # source://thor//lib/thor/parser/options.rb#215 def current_is_switch_formatted?; end # @return [Boolean] # - # source://thor/lib/thor/parser/options.rb#225 + # 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 + # 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#244 + # source://thor//lib/thor/parser/options.rb#244 def normalize_switch(arg); end # Parse boolean values which can be given as --foo=true or --foo for true values, or # --foo=false, --no-foo or --skip-foo for false values. # - # source://thor/lib/thor/parser/options.rb#256 + # source://thor//lib/thor/parser/options.rb#256 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#274 + # source://thor//lib/thor/parser/options.rb#274 def parse_peek(switch, option); end # @return [Boolean] # - # source://thor/lib/thor/parser/options.rb#248 + # source://thor//lib/thor/parser/options.rb#248 def parsing_options?; end # @return [Boolean] # - # source://thor/lib/thor/parser/options.rb#230 + # source://thor//lib/thor/parser/options.rb#230 def switch?(arg); end - # source://thor/lib/thor/parser/options.rb#234 + # source://thor//lib/thor/parser/options.rb#234 def switch_option(arg); end class << self # Receives a hash and makes it switches. # - # source://thor/lib/thor/parser/options.rb#11 + # source://thor//lib/thor/parser/options.rb#11 def to_switches(options); end end end -# source://thor/lib/thor/parser/options.rb#5 +# source://thor//lib/thor/parser/options.rb#5 Thor::Options::EQ_RE = T.let(T.unsafe(nil), Regexp) -# source://thor/lib/thor/parser/options.rb#3 +# source://thor//lib/thor/parser/options.rb#3 Thor::Options::LONG_RE = T.let(T.unsafe(nil), Regexp) -# source://thor/lib/thor/parser/options.rb#8 +# source://thor//lib/thor/parser/options.rb#8 Thor::Options::OPTS_END = T.let(T.unsafe(nil), String) -# source://thor/lib/thor/parser/options.rb#7 +# source://thor//lib/thor/parser/options.rb#7 Thor::Options::SHORT_NUM = T.let(T.unsafe(nil), Regexp) -# source://thor/lib/thor/parser/options.rb#4 +# source://thor//lib/thor/parser/options.rb#4 Thor::Options::SHORT_RE = T.let(T.unsafe(nil), Regexp) # Allow either -x -v or -xv style for single char args # -# source://thor/lib/thor/parser/options.rb#6 +# source://thor//lib/thor/parser/options.rb#6 Thor::Options::SHORT_SQ_RE = T.let(T.unsafe(nil), Regexp) # Adds a compatibility layer to your Thor classes which allows you to use @@ -3379,7 +3379,7 @@ Thor::Options::SHORT_SQ_RE = T.let(T.unsafe(nil), Regexp) # end # end # -# source://thor/lib/thor/rake_compat.rb#20 +# source://thor//lib/thor/rake_compat.rb#20 module Thor::RakeCompat include ::FileUtils::StreamUtils_ include ::FileUtils @@ -3389,21 +3389,21 @@ module Thor::RakeCompat class << self # @private # - # source://thor/lib/thor/rake_compat.rb#27 + # source://thor//lib/thor/rake_compat.rb#27 def included(base); end - # source://thor/lib/thor/rake_compat.rb#23 + # source://thor//lib/thor/rake_compat.rb#23 def rake_classes; end end end -# source://thor/lib/thor/error.rb#95 +# source://thor//lib/thor/error.rb#95 class Thor::RequiredArgumentMissingError < ::Thor::InvocationError; end -# source://thor/lib/thor/util.rb#4 +# source://thor//lib/thor/util.rb#4 module Thor::Sandbox; end -# source://thor/lib/thor/shell.rb#23 +# source://thor//lib/thor/shell.rb#23 module Thor::Shell # Add shell to initialize config values. # @@ -3418,81 +3418,81 @@ module Thor::Shell # # MyScript.new [1.0], { :foo => :bar }, :shell => Thor::Shell::Basic.new # - # source://thor/lib/thor/shell.rb#44 + # source://thor//lib/thor/shell.rb#44 def initialize(args = T.unsafe(nil), options = T.unsafe(nil), config = T.unsafe(nil)); end - # source://thor/lib/thor/shell.rb#59 + # source://thor//lib/thor/shell.rb#59 def ask(*args, &block); end - # source://thor/lib/thor/shell.rb#59 + # source://thor//lib/thor/shell.rb#59 def error(*args, &block); end - # source://thor/lib/thor/shell.rb#59 + # source://thor//lib/thor/shell.rb#59 def file_collision(*args, &block); end - # source://thor/lib/thor/shell.rb#59 + # source://thor//lib/thor/shell.rb#59 def no?(*args, &block); end - # source://thor/lib/thor/shell.rb#59 + # source://thor//lib/thor/shell.rb#59 def print_in_columns(*args, &block); end - # source://thor/lib/thor/shell.rb#59 + # source://thor//lib/thor/shell.rb#59 def print_table(*args, &block); end - # source://thor/lib/thor/shell.rb#59 + # source://thor//lib/thor/shell.rb#59 def print_wrapped(*args, &block); end - # source://thor/lib/thor/shell.rb#59 + # source://thor//lib/thor/shell.rb#59 def say(*args, &block); end - # source://thor/lib/thor/shell.rb#59 + # source://thor//lib/thor/shell.rb#59 def say_error(*args, &block); end - # source://thor/lib/thor/shell.rb#59 + # source://thor//lib/thor/shell.rb#59 def say_status(*args, &block); end - # source://thor/lib/thor/shell.rb#59 + # source://thor//lib/thor/shell.rb#59 def set_color(*args, &block); end # Holds the shell for the given Thor instance. If no shell is given, # it gets a default shell from Thor::Base.shell. # - # source://thor/lib/thor/shell.rb#52 + # source://thor//lib/thor/shell.rb#52 def shell; end # Sets the attribute shell # # @param value the value to set the attribute shell to. # - # source://thor/lib/thor/shell.rb#25 + # source://thor//lib/thor/shell.rb#25 def shell=(_arg0); end - # source://thor/lib/thor/shell.rb#59 + # source://thor//lib/thor/shell.rb#59 def terminal_width(*args, &block); end # Yields the given block with padding. # - # source://thor/lib/thor/shell.rb#66 + # source://thor//lib/thor/shell.rb#66 def with_padding; end - # source://thor/lib/thor/shell.rb#59 + # source://thor//lib/thor/shell.rb#59 def yes?(*args, &block); end protected # Allow shell to be shared between invocations. # - # source://thor/lib/thor/shell.rb#77 + # source://thor//lib/thor/shell.rb#77 def _shared_configuration; end end -# source://thor/lib/thor/shell/basic.rb#7 +# 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#13 + # source://thor//lib/thor/shell/basic.rb#13 def initialize; end # Asks something to the user and receives a response. @@ -3525,19 +3525,19 @@ class Thor::Shell::Basic # # ask("Where should the file be saved?", :path => true) # - # source://thor/lib/thor/shell/basic.rb#80 + # 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#8 + # 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#8 + # 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 @@ -3545,7 +3545,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#251 + # source://thor//lib/thor/shell/basic.rb#251 def error(statement); end # Deals with file collision and returns true if the file should be @@ -3556,24 +3556,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#207 + # 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#43 + # 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#22 + # 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#31 + # source://thor//lib/thor/shell/basic.rb#31 def mute?; end # Asks the user a question and returns true if the user replies "n" or @@ -3581,17 +3581,17 @@ class Thor::Shell::Basic # # @return [Boolean] # - # source://thor/lib/thor/shell/basic.rb#156 + # 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#9 + # 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#37 + # source://thor//lib/thor/shell/basic.rb#37 def padding=(value); end # Prints values in columns @@ -3599,7 +3599,7 @@ class Thor::Shell::Basic # ==== Parameters # Array[String, String, ...] # - # source://thor/lib/thor/shell/basic.rb#165 + # source://thor//lib/thor/shell/basic.rb#165 def print_in_columns(array); end # Prints a table. @@ -3612,7 +3612,7 @@ class Thor::Shell::Basic # colwidth:: Force the first column to colwidth spaces wide. # borders:: Adds ascii borders. # - # source://thor/lib/thor/shell/basic.rb#180 + # 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 @@ -3624,7 +3624,7 @@ class Thor::Shell::Basic # ==== Options # indent:: Indent each line of the printed paragraph by indent value. # - # source://thor/lib/thor/shell/basic.rb#194 + # 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 @@ -3634,7 +3634,7 @@ class Thor::Shell::Basic # ==== Example # say("I know you knew that.") # - # source://thor/lib/thor/shell/basic.rb#98 + # 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 @@ -3644,7 +3644,7 @@ class Thor::Shell::Basic # ==== Example # say_error("error: something went wrong") # - # source://thor/lib/thor/shell/basic.rb#115 + # 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 @@ -3652,13 +3652,13 @@ 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#130 + # 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#258 + # source://thor//lib/thor/shell/basic.rb#258 def set_color(string, *_arg1); end # Asks the user a question and returns true if the user replies "y" or @@ -3666,72 +3666,72 @@ class Thor::Shell::Basic # # @return [Boolean] # - # source://thor/lib/thor/shell/basic.rb#149 + # source://thor//lib/thor/shell/basic.rb#149 def yes?(statement, color = T.unsafe(nil)); end protected - # source://thor/lib/thor/shell/basic.rb#362 + # source://thor//lib/thor/shell/basic.rb#362 def answer_match(possibilities, answer, case_insensitive); end - # source://thor/lib/thor/shell/basic.rb#349 + # source://thor//lib/thor/shell/basic.rb#349 def ask_filtered(statement, color, options); end - # source://thor/lib/thor/shell/basic.rb#332 + # source://thor//lib/thor/shell/basic.rb#332 def ask_simply(statement, color, options); end # @return [Boolean] # - # source://thor/lib/thor/shell/basic.rb#269 + # source://thor//lib/thor/shell/basic.rb#269 def can_display_colors?; end - # source://thor/lib/thor/shell/basic.rb#296 + # source://thor//lib/thor/shell/basic.rb#296 def file_collision_help(block_given); end - # source://thor/lib/thor/shell/basic.rb#383 + # source://thor//lib/thor/shell/basic.rb#383 def git_merge_tool; end # @return [Boolean] # - # source://thor/lib/thor/shell/basic.rb#286 + # source://thor//lib/thor/shell/basic.rb#286 def is?(value); end - # source://thor/lib/thor/shell/basic.rb#273 + # source://thor//lib/thor/shell/basic.rb#273 def lookup_color(color); end - # source://thor/lib/thor/shell/basic.rb#370 + # source://thor//lib/thor/shell/basic.rb#370 def merge(destination, content); end - # source://thor/lib/thor/shell/basic.rb#379 + # source://thor//lib/thor/shell/basic.rb#379 def merge_tool; end - # source://thor/lib/thor/shell/basic.rb#264 + # source://thor//lib/thor/shell/basic.rb#264 def prepare_message(message, *color); end # @return [Boolean] # - # source://thor/lib/thor/shell/basic.rb#324 + # source://thor//lib/thor/shell/basic.rb#324 def quiet?; end - # source://thor/lib/thor/shell/basic.rb#313 + # source://thor//lib/thor/shell/basic.rb#313 def show_diff(destination, content); end - # source://thor/lib/thor/shell/basic.rb#282 + # source://thor//lib/thor/shell/basic.rb#282 def stderr; end - # source://thor/lib/thor/shell/basic.rb#278 + # source://thor//lib/thor/shell/basic.rb#278 def stdout; end # @return [Boolean] # - # source://thor/lib/thor/shell/basic.rb#328 + # source://thor//lib/thor/shell/basic.rb#328 def unix?; 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/color.rb#9 +# source://thor//lib/thor/shell/color.rb#9 class Thor::Shell::Color < ::Thor::Shell::Basic include ::LCSDiff @@ -3767,142 +3767,142 @@ class Thor::Shell::Color < ::Thor::Shell::Basic # :on_cyan # :on_white # - # source://thor/lib/thor/shell/color.rb#82 + # source://thor//lib/thor/shell/color.rb#82 def set_color(string, *colors); end protected # @return [Boolean] # - # source://thor/lib/thor/shell/color.rb#110 + # source://thor//lib/thor/shell/color.rb#110 def are_colors_disabled?; end # @return [Boolean] # - # source://thor/lib/thor/shell/color.rb#106 + # source://thor//lib/thor/shell/color.rb#106 def are_colors_supported?; end # @return [Boolean] # - # source://thor/lib/thor/shell/color.rb#102 + # source://thor//lib/thor/shell/color.rb#102 def can_display_colors?; end end # Set the terminal's foreground ANSI color to black. # -# source://thor/lib/thor/shell/color.rb#18 +# 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#26 +# 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#15 +# 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#13 +# 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#30 +# 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#22 +# 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#28 +# 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#35 +# 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#43 +# 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#47 +# 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#39 +# 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#45 +# 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#37 +# 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#49 +# 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#41 +# 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#20 +# 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#32 +# 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#24 +# 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 +# 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 + # 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 + # source://thor//lib/thor/shell/column_printer.rb#6 def options; end - # source://thor/lib/thor/shell/column_printer.rb#14 + # 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 + # 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#9 +# source://thor//lib/thor/shell/html.rb#9 class Thor::Shell::HTML < ::Thor::Shell::Basic include ::LCSDiff @@ -3915,7 +3915,7 @@ class Thor::Shell::HTML < ::Thor::Shell::Basic # # @raise [NotImplementedError] # - # source://thor/lib/thor/shell/html.rb#73 + # 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 @@ -3923,262 +3923,262 @@ 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#54 + # source://thor//lib/thor/shell/html.rb#54 def set_color(string, *colors); end protected # @return [Boolean] # - # source://thor/lib/thor/shell/html.rb#79 + # source://thor//lib/thor/shell/html.rb#79 def can_display_colors?; end end # Set the terminal's foreground HTML color to black. # -# source://thor/lib/thor/shell/html.rb#16 +# 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#24 +# 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#13 +# 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#28 +# 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#20 +# 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#26 +# 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#33 +# 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#41 +# 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#45 +# 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#37 +# 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#43 +# 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#35 +# 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#47 +# 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#39 +# 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#18 +# 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#30 +# 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#22 +# 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 +# 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 +# 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 + # 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 + # source://thor//lib/thor/shell/table_printer.rb#18 def print(array); end private - # source://thor/lib/thor/shell/table_printer.rb#72 + # 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#113 + # source://thor//lib/thor/shell/table_printer.rb#113 def indentation; end - # source://thor/lib/thor/shell/table_printer.rb#47 + # source://thor//lib/thor/shell/table_printer.rb#47 def prepare(array); end - # source://thor/lib/thor/shell/table_printer.rb#96 + # source://thor//lib/thor/shell/table_printer.rb#96 def print_border_separator; end - # source://thor/lib/thor/shell/table_printer.rb#103 + # source://thor//lib/thor/shell/table_printer.rb#103 def truncate(string); end end -# source://thor/lib/thor/shell/table_printer.rb#7 +# 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 +# source://thor//lib/thor/shell/terminal.rb#3 module Thor::Shell::Terminal class << self - # source://thor/lib/thor/shell/terminal.rb#9 + # source://thor//lib/thor/shell/terminal.rb#9 def terminal_width; end # @return [Boolean] # - # source://thor/lib/thor/shell/terminal.rb#20 + # 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 + # source://thor//lib/thor/shell/terminal.rb#27 def dynamic_width; end - # source://thor/lib/thor/shell/terminal.rb#31 + # source://thor//lib/thor/shell/terminal.rb#31 def dynamic_width_stty; end - # source://thor/lib/thor/shell/terminal.rb#35 + # source://thor//lib/thor/shell/terminal.rb#35 def dynamic_width_tput; end end end -# source://thor/lib/thor/shell/terminal.rb#4 +# 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 +# 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 + # source://thor//lib/thor/shell/wrapped_printer.rb#7 def print(message); end end -# source://thor/lib/thor/base.rb#23 +# source://thor//lib/thor/base.rb#23 Thor::TEMPLATE_EXTNAME = T.let(T.unsafe(nil), String) # Thor methods that should not be overwritten by the user. # -# source://thor/lib/thor/base.rb#20 +# source://thor//lib/thor/base.rb#20 Thor::THOR_RESERVED_WORDS = T.let(T.unsafe(nil), Array) -# source://thor/lib/thor/command.rb#126 +# source://thor//lib/thor/command.rb#126 Thor::Task = Thor::Command # Raised when a command was not found. # -# source://thor/lib/thor/error.rb#24 +# 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#43 + # 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#41 + # source://thor//lib/thor/error.rb#41 def all_commands; end # Returns the value of attribute command. # - # source://thor/lib/thor/error.rb#41 + # source://thor//lib/thor/error.rb#41 def command; end end -# source://thor/lib/thor/error.rb#25 +# source://thor//lib/thor/error.rb#25 class Thor::UndefinedCommandError::SpellChecker # @return [SpellChecker] a new instance of SpellChecker # - # source://thor/lib/thor/error.rb#28 + # source://thor//lib/thor/error.rb#28 def initialize(error); end - # source://thor/lib/thor/error.rb#32 + # source://thor//lib/thor/error.rb#32 def corrections; end # Returns the value of attribute error. # - # source://thor/lib/thor/error.rb#26 + # source://thor//lib/thor/error.rb#26 def error; end - # source://thor/lib/thor/error.rb#36 + # source://thor//lib/thor/error.rb#36 def spell_checker; end end -# source://thor/lib/thor/error.rb#55 +# source://thor//lib/thor/error.rb#55 Thor::UndefinedTaskError = Thor::UndefinedCommandError -# source://thor/lib/thor/error.rb#65 +# 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#85 + # source://thor//lib/thor/error.rb#85 def initialize(switches, unknown); end # Returns the value of attribute switches. # - # source://thor/lib/thor/error.rb#83 + # source://thor//lib/thor/error.rb#83 def switches; end # Returns the value of attribute unknown. # - # source://thor/lib/thor/error.rb#83 + # source://thor//lib/thor/error.rb#83 def unknown; end end -# source://thor/lib/thor/error.rb#66 +# source://thor//lib/thor/error.rb#66 class Thor::UnknownArgumentError::SpellChecker # @return [SpellChecker] a new instance of SpellChecker # - # source://thor/lib/thor/error.rb#69 + # source://thor//lib/thor/error.rb#69 def initialize(error); end - # source://thor/lib/thor/error.rb#73 + # source://thor//lib/thor/error.rb#73 def corrections; end # Returns the value of attribute error. # - # source://thor/lib/thor/error.rb#67 + # source://thor//lib/thor/error.rb#67 def error; end - # source://thor/lib/thor/error.rb#78 + # source://thor//lib/thor/error.rb#78 def spell_checker; end end @@ -4192,7 +4192,7 @@ end # # Thor::Util.load_thorfile("~/.thor/foo") # -# source://thor/lib/thor/util.rb#17 +# source://thor//lib/thor/util.rb#17 module Thor::Util class << self # Receives a string and convert it to camel case. camel_case returns CamelCase. @@ -4203,7 +4203,7 @@ module Thor::Util # ==== Returns # String # - # source://thor/lib/thor/util.rb#104 + # source://thor//lib/thor/util.rb#104 def camel_case(str); end # Returns a string that has had any glob characters escaped. @@ -4219,7 +4219,7 @@ module Thor::Util # ==== Returns # String # - # source://thor/lib/thor/util.rb#264 + # source://thor//lib/thor/util.rb#264 def escape_globs(path); end # Returns a string that has had any HTML characters escaped. @@ -4234,7 +4234,7 @@ module Thor::Util # ==== Returns # String # - # source://thor/lib/thor/util.rb#280 + # source://thor//lib/thor/util.rb#280 def escape_html(string); end # Receives a namespace and search for it in the Thor::Base subclasses. @@ -4242,7 +4242,7 @@ module Thor::Util # ==== Parameters # namespace:: The namespace to search for. # - # source://thor/lib/thor/util.rb#24 + # source://thor//lib/thor/util.rb#24 def find_by_namespace(namespace); end # Receives a namespace and tries to retrieve a Thor or Thor::Group class @@ -4267,7 +4267,7 @@ module Thor::Util # ==== Parameters # namespace # - # source://thor/lib/thor/util.rb#131 + # source://thor//lib/thor/util.rb#131 def find_class_and_command_by_namespace(namespace, fallback = T.unsafe(nil)); end # Receives a namespace and tries to retrieve a Thor or Thor::Group class @@ -4292,18 +4292,18 @@ module Thor::Util # ==== Parameters # namespace # - # source://thor/lib/thor/util.rb#131 + # source://thor//lib/thor/util.rb#131 def find_class_and_task_by_namespace(namespace, fallback = T.unsafe(nil)); end # Where to look for Thor files. # - # source://thor/lib/thor/util.rb#213 + # 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#153 + # 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 @@ -4320,7 +4320,7 @@ module Thor::Util # ==== Returns # String:: If we receive Foo::Bar::Baz it returns "foo:bar:baz" # - # source://thor/lib/thor/util.rb#43 + # source://thor//lib/thor/util.rb#43 def namespace_from_thor_class(constant); end # Given the contents, evaluate it inside the sandbox and returns the @@ -4332,13 +4332,13 @@ module Thor::Util # ==== Returns # Array[Object] # - # source://thor/lib/thor/util.rb#58 + # source://thor//lib/thor/util.rb#58 def namespaces_in_content(contents, file = T.unsafe(nil)); end # Return the path to the ruby interpreter taking into account multiple # installations and windows extensions. # - # source://thor/lib/thor/util.rb#221 + # source://thor//lib/thor/util.rb#221 def ruby_command; end # Receives a string and convert it to snake case. SnakeCase returns snake_case. @@ -4349,17 +4349,17 @@ module Thor::Util # ==== Returns # String # - # source://thor/lib/thor/util.rb#90 + # source://thor//lib/thor/util.rb#90 def snake_case(str); end # Returns the thor classes declared inside the given class. # - # source://thor/lib/thor/util.rb#74 + # source://thor//lib/thor/util.rb#74 def thor_classes_in(klass); end # Returns the root where thor files are located, depending on the OS. # - # source://thor/lib/thor/util.rb#192 + # 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 @@ -4369,10 +4369,10 @@ module Thor::Util # # If we don't #gsub the \ character, Dir.glob will fail. # - # source://thor/lib/thor/util.rb#203 + # source://thor//lib/thor/util.rb#203 def thor_root_glob; end - # source://thor/lib/thor/util.rb#168 + # source://thor//lib/thor/util.rb#168 def user_home; end end end diff --git a/sorbet/rbi/gems/unparser@0.6.15.rbi b/sorbet/rbi/gems/unparser@0.6.15.rbi new file mode 100644 index 00000000..7947bf6d --- /dev/null +++ b/sorbet/rbi/gems/unparser@0.6.15.rbi @@ -0,0 +1,4565 @@ +# 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#120 + def each(node, &block); end + + private + + # source://unparser//lib/unparser/ast/local_variable_scope.rb#126 + def current; end + + # source://unparser//lib/unparser/ast/local_variable_scope.rb#155 + def define(name); end + + # source://unparser//lib/unparser/ast/local_variable_scope.rb#140 + def enter(node); end + + # source://unparser//lib/unparser/ast/local_variable_scope.rb#151 + def leave(node); end + + # source://unparser//lib/unparser/ast/local_variable_scope.rb#167 + def pop; end + + # source://unparser//lib/unparser/ast/local_variable_scope.rb#163 + def push_inherit; end + + # source://unparser//lib/unparser/ast/local_variable_scope.rb#159 + def push_reset; end + + # @yield [node, current.dup, before] + # + # source://unparser//lib/unparser/ast/local_variable_scope.rb#130 + 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#105 + 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#143 + def included(descendant); end + end +end + +# Methods mixed in to adamantium classes +# +# source://unparser//lib/unparser/adamantium.rb#72 +module Unparser::Adamantium::ClassMethods + # Instantiate a new frozen object + # + # @api public + # @return [Object] + # + # source://unparser//lib/unparser/adamantium.rb#79 + 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 + # + # mutant:disable + # + # @api public + # @return [Object] + # + # source://unparser//lib/unparser/adamantium.rb#25 + def freeze; end + + private + + # source://unparser//lib/unparser/adamantium.rb#32 + def memoized_method_cache; end +end + +# Storage for memoized methods +# +# source://unparser//lib/unparser/adamantium.rb#39 +class Unparser::Adamantium::Memory + # Initialize the memory storage for memoized methods + # + # @api private + # @return [undefined] + # + # source://unparser//lib/unparser/adamantium.rb#46 + 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#60 + 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#86 +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#96 + def memoize(*methods); end + + # Test if method is memoized + # + # @param name [Symbol] + # @return [Bool] + # + # source://unparser//lib/unparser/adamantium.rb#106 + 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#121 + def unmemoized_instance_method(method_name); end + + private + + # source://unparser//lib/unparser/adamantium.rb#129 + def memoize_method(method_name); end + + # source://unparser//lib/unparser/adamantium.rb#137 + 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#41 +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#40 +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#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 + +# 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 + # source://unparser//lib/unparser/emitter/op_assign.rb#38 + def emit_heredoc_reminders; end + + private + + # source://unparser//lib/unparser/emitter/op_assign.rb#45 + def dispatch; end + + # source://unparser//lib/unparser/emitter/op_assign.rb#51 + 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#31 + def colon?; end + + # source://unparser//lib/unparser/emitter/pair.rb#17 + def dispatch; end + + # source://unparser//lib/unparser/emitter/pair.rb#35 + def emit_colon; end + + # @return [Boolean] + # + # source://unparser//lib/unparser/emitter/pair.rb#43 + def implicit_value_lvar?; end + + # @return [Boolean] + # + # source://unparser//lib/unparser/emitter/pair.rb#47 + def implicit_value_send?; end + + # source://unparser//lib/unparser/dsl.rb#18 + def key; end + + # source://unparser//lib/unparser/emitter/pair.rb#39 + def key_value; 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#50 +class Unparser::Emitter::Primitive::Complex < ::Unparser::Emitter::Primitive + private + + # source://unparser//lib/unparser/emitter/primitive.rb#65 + def dispatch; end + + # source://unparser//lib/unparser/emitter/primitive.rb#70 + def emit_imaginary; end + + # source://unparser//lib/unparser/emitter/primitive.rb#74 + def imaginary_node; end +end + +# source://unparser//lib/unparser/emitter/primitive.rb#56 +Unparser::Emitter::Primitive::Complex::MAP = T.let(T.unsafe(nil), Hash) + +# source://unparser//lib/unparser/emitter/primitive.rb#54 +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#106 +class Unparser::Emitter::Primitive::Numeric < ::Unparser::Emitter::Primitive + private + + # source://unparser//lib/unparser/emitter/primitive.rb#112 + def dispatch; end +end + +# Emitter for rational literals +# +# source://unparser//lib/unparser/emitter/primitive.rb#82 +class Unparser::Emitter::Primitive::Rational < ::Unparser::Emitter::Primitive + private + + # source://unparser//lib/unparser/emitter/primitive.rb#91 + def dispatch; end + + # source://unparser//lib/unparser/emitter/primitive.rb#99 + def write_rational(value); end +end + +# source://unparser//lib/unparser/emitter/primitive.rb#86 +Unparser::Emitter::Primitive::Rational::RATIONAL_FORMAT = T.let(T.unsafe(nil), String) + +# Inspect +# +# source://unparser//lib/unparser/emitter/primitive.rb#23 +class Unparser::Emitter::Primitive::Symbol < ::Unparser::Emitter::Primitive + private + + # mutant:disable + # + # source://unparser//lib/unparser/emitter/primitive.rb#30 + def dispatch; end + + # mutant:disable + # + # @return [Boolean] + # + # source://unparser//lib/unparser/emitter/primitive.rb#39 + def inspect_breaks_parsing?; end +end + +# 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#251 + def children; end + + # source://unparser//lib/unparser/generation.rb#243 + 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#200 + def emit_body_ensure_rescue(node); end + + # source://unparser//lib/unparser/generation.rb#149 + def emit_body_inner(node); end + + # source://unparser//lib/unparser/generation.rb#162 + def emit_body_member(node); end + + # source://unparser//lib/unparser/generation.rb#184 + 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#170 + 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#192 + def emit_optional_body_ensure_rescue(node); end + + # source://unparser//lib/unparser/generation.rb#210 + def emit_rescue_postcontrol(node); end + + # source://unparser//lib/unparser/generation.rb#216 + def emit_rescue_regular(node); end + + # source://unparser//lib/unparser/generation.rb#224 + def emitter(node); end + + # source://unparser//lib/unparser/generation.rb#239 + 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#228 + def visit(node); end + + # source://unparser//lib/unparser/generation.rb#232 + def visit_deep(node); end + + # source://unparser//lib/unparser/generation.rb#44 + def with_comments; end + + # source://unparser//lib/unparser/generation.rb#139 + def with_indent(indent:); end + + # source://unparser//lib/unparser/generation.rb#89 + def write(*strings); end + + # source://unparser//lib/unparser/generation.rb#220 + 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#37 + 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#33 + 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#41 + 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#29 + 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#72 + def unwrap_single_begin(node); end + + private + + # source://unparser//lib/unparser/node_helpers.rb#66 + def n_arg?(node); end + + # source://unparser//lib/unparser/node_helpers.rb#66 + def n_args?(node); end + + # source://unparser//lib/unparser/node_helpers.rb#66 + def n_array?(node); end + + # source://unparser//lib/unparser/node_helpers.rb#66 + def n_array_pattern?(node); end + + # source://unparser//lib/unparser/node_helpers.rb#66 + def n_begin?(node); end + + # source://unparser//lib/unparser/node_helpers.rb#66 + def n_block?(node); end + + # source://unparser//lib/unparser/node_helpers.rb#66 + def n_cbase?(node); end + + # source://unparser//lib/unparser/node_helpers.rb#66 + def n_const?(node); end + + # source://unparser//lib/unparser/node_helpers.rb#66 + def n_dstr?(node); end + + # source://unparser//lib/unparser/node_helpers.rb#66 + def n_empty_else?(node); end + + # source://unparser//lib/unparser/node_helpers.rb#66 + def n_ensure?(node); end + + # source://unparser//lib/unparser/node_helpers.rb#66 + def n_hash?(node); end + + # source://unparser//lib/unparser/node_helpers.rb#66 + def n_hash_pattern?(node); end + + # source://unparser//lib/unparser/node_helpers.rb#66 + def n_if?(node); end + + # source://unparser//lib/unparser/node_helpers.rb#66 + def n_in_pattern?(node); end + + # source://unparser//lib/unparser/node_helpers.rb#66 + def n_int?(node); end + + # source://unparser//lib/unparser/node_helpers.rb#66 + def n_kwarg?(node); end + + # source://unparser//lib/unparser/node_helpers.rb#66 + def n_kwargs?(node); end + + # source://unparser//lib/unparser/node_helpers.rb#66 + def n_kwsplat?(node); end + + # source://unparser//lib/unparser/node_helpers.rb#66 + def n_lambda?(node); end + + # source://unparser//lib/unparser/node_helpers.rb#66 + def n_lvar?(node); end + + # source://unparser//lib/unparser/node_helpers.rb#66 + def n_match_rest?(node); end + + # source://unparser//lib/unparser/node_helpers.rb#66 + def n_pair?(node); end + + # source://unparser//lib/unparser/node_helpers.rb#66 + def n_rescue?(node); end + + # source://unparser//lib/unparser/node_helpers.rb#66 + def n_send?(node); end + + # source://unparser//lib/unparser/node_helpers.rb#66 + def n_shadowarg?(node); end + + # source://unparser//lib/unparser/node_helpers.rb#66 + def n_splat?(node); end + + # source://unparser//lib/unparser/node_helpers.rb#66 + def n_str?(node); end + + # source://unparser//lib/unparser/node_helpers.rb#66 + 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#21 + def success?; end + + private + + # source://unparser//lib/unparser/validation.rb#108 + def make_report(label, attribute_name); end + + # source://unparser//lib/unparser/validation.rb#120 + def node_diff_report; end + + # source://unparser//lib/unparser/validation.rb#112 + 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#81 + def from_node(original_node); end + + # Create validator from file + # + # @param path [Pathname] + # @return [Validator] + # + # source://unparser//lib/unparser/validation.rb#102 + def from_path(path); end + + # Create validator from string + # + # @param original_source [String] + # @return [Validator] + # + # source://unparser//lib/unparser/validation.rb#55 + def from_string(original_source); end + + private + + # source://unparser//lib/unparser/validation.rb#135 + def const_unit(_value); end + end +end + +# source://unparser//lib/unparser/validation.rb#138 +class Unparser::Validation::Literal < ::Unparser::Validation + # source://unparser//lib/unparser/validation.rb#143 + def report; end + + # @return [Boolean] + # + # source://unparser//lib/unparser/validation.rb#139 + def success?; end + + private + + # source://unparser//lib/unparser/validation.rb#158 + 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/test/ruby_lsp_rails/discover_tests_test.rb b/test/ruby_lsp_rails/discover_tests_test.rb new file mode 100644 index 00000000..49043f54 --- /dev/null +++ b/test/ruby_lsp_rails/discover_tests_test.rb @@ -0,0 +1,140 @@ +# typed: true +# frozen_string_literal: true + +require "test_helper" + +# TODO: the tests pass individually but fail when all run together, find out why +# TODO: see code_lens_test.rb for possible things to handle + +module RubyLsp + class DiscoverTestsTest < ActiveSupport::TestCase # Minitest::Test + include RubyLsp::TestHelper + + # def test_active_support_declarative + test "active support declarative" do + source = <<~RUBY + class MyTest < ActiveSupport::TestCase + test "hello world" do + end + end + RUBY + + with_active_support_declarative_tests(source) do |items| + assert_equal(1, items.size) + assert_equal("hello world", items[0][:label]) + assert_equal([:active_support_declarative], items[0][:tags]) + end + end + + test "ignores methods not named test" do + source = <<~RUBY + class MyTest < ActiveSupport::TestCase + foo "something else" do + end + end + RUBY + + with_active_support_declarative_tests(source) do |items| + assert_empty(items) + end + end + + test "ignores tests without a block" do + source = <<~RUBY + class MyTest < ActiveSupport::TestCase + test "something else" + end + RUBY + + with_active_support_declarative_tests(source) do |items| + assert_empty(items) + end + end + + test "ignores tests with a non-string name argument" do + source = <<~RUBY + class MyTest < ActiveSupport::TestCase + test foo do + end + end + RUBY + + with_active_support_declarative_tests(source) do |items| + assert_empty(items) + end + end + + test "ignores test cases without a name" do + source = <<~RUBY + class MyTest < ActiveSupport::TestCase + test do + end + end + RUBY + + with_active_support_declarative_tests(source) do |items| + assert_empty(items) + end + end + + test "recognizes tests defined with def" do + source = <<~RUBY + # TODO: why is this needed if already defined by `with_active_support_declarative_tests` ? + module Minitest + class Test; end + end + + class MyTest < ActiveSupport::TestCase + def test_foo + end + end + RUBY + + with_active_support_declarative_tests(source) do |items| + assert_equal(1, items.size) + assert_equal([:minitest], items[0][:tags]) # wrong? + end + end + + def with_active_support_declarative_tests(source, &block) + with_server(source) do |server, uri| + server.global_state.index.index_single(uri, <<~RUBY) + module Minitest + class Test; end + end + + module ActiveSupport + module Testing + module Declarative + end + end + + class TestCase < Minitest::Test + extend Testing::Declarative + end + end + RUBY + + server.process_message(id: 1, method: "rubyLsp/discoverTests", params: { + textDocument: { uri: uri }, + }) + + items = get_response(server) + + yield items + end + end + + def get_response(server) + result = T.let(nil, T.untyped) + until result.is_a?(RubyLsp::Result) + result = server.pop_response + if result.is_a?(Error) + flunk(result.message) + end + end + + result.response + end + end +end