From 5869a622cf44f0b45cdbb6a2833d49fb4ca6e1e2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 11 Jul 2024 18:22:40 +0000 Subject: [PATCH 1/3] build(deps-dev): bump spoom from 1.3.2 to 1.3.3 in /Library/Homebrew Bumps [spoom](https://github.com/Shopify/spoom) from 1.3.2 to 1.3.3. - [Release notes](https://github.com/Shopify/spoom/releases) - [Commits](https://github.com/Shopify/spoom/compare/v1.3.2...v1.3.3) --- updated-dependencies: - dependency-name: spoom dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- Library/Homebrew/Gemfile.lock | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/Library/Homebrew/Gemfile.lock b/Library/Homebrew/Gemfile.lock index de19394f57..ab641034ed 100644 --- a/Library/Homebrew/Gemfile.lock +++ b/Library/Homebrew/Gemfile.lock @@ -121,9 +121,9 @@ GEM sorbet-static-and-runtime (0.5.11480) sorbet (= 0.5.11480) sorbet-runtime (= 0.5.11480) - spoom (1.3.2) + spoom (1.3.3) erubi (>= 1.10.0) - prism (>= 0.19.0) + prism (>= 0.28.0) sorbet-static-and-runtime (>= 0.5.10187) thor (>= 0.19.2) stackprof (0.2.26) @@ -148,7 +148,6 @@ GEM PLATFORMS aarch64-linux - arm-linux arm64-darwin x86_64-darwin x86_64-linux From 8a932820b2715aeaa9f929488f67809172b5ebdb Mon Sep 17 00:00:00 2001 From: BrewTestBot <1589480+BrewTestBot@users.noreply.github.com> Date: Thu, 11 Jul 2024 18:23:30 +0000 Subject: [PATCH 2/3] brew vendor-gems: commit updates. --- Library/Homebrew/Gemfile.lock | 1 + Library/Homebrew/vendor/bundle/bundler/setup.rb | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/Library/Homebrew/Gemfile.lock b/Library/Homebrew/Gemfile.lock index ab641034ed..40e269aa38 100644 --- a/Library/Homebrew/Gemfile.lock +++ b/Library/Homebrew/Gemfile.lock @@ -148,6 +148,7 @@ GEM PLATFORMS aarch64-linux + arm-linux arm64-darwin x86_64-darwin x86_64-linux diff --git a/Library/Homebrew/vendor/bundle/bundler/setup.rb b/Library/Homebrew/vendor/bundle/bundler/setup.rb index e26ff2093b..d373095008 100644 --- a/Library/Homebrew/vendor/bundle/bundler/setup.rb +++ b/Library/Homebrew/vendor/bundle/bundler/setup.rb @@ -105,7 +105,7 @@ $:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version $:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/sorbet-0.5.11480/lib") $:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/sorbet-static-and-runtime-0.5.11480/lib") $:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/thor-1.3.1/lib") -$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/spoom-1.3.2/lib") +$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/spoom-1.3.3/lib") $:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/extensions/arm64-darwin-20/#{Gem.extension_api_version}/stackprof-0.2.26") $:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/stackprof-0.2.26/lib") $:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/yard-0.9.36/lib") From f5c509dd40fc019529c826605693ccad88422ffe Mon Sep 17 00:00:00 2001 From: BrewTestBot <1589480+BrewTestBot@users.noreply.github.com> Date: Thu, 11 Jul 2024 18:23:45 +0000 Subject: [PATCH 3/3] Update RBI files for spoom. Autogenerated by the [vendor-gems](https://github.com/Homebrew/brew/blob/HEAD/.github/workflows/vendor-gems.yml) workflow. --- .../gems/{spoom@1.3.2.rbi => spoom@1.3.3.rbi} | 2788 ++++++++++------- 1 file changed, 1647 insertions(+), 1141 deletions(-) rename Library/Homebrew/sorbet/rbi/gems/{spoom@1.3.2.rbi => spoom@1.3.3.rbi} (77%) diff --git a/Library/Homebrew/sorbet/rbi/gems/spoom@1.3.2.rbi b/Library/Homebrew/sorbet/rbi/gems/spoom@1.3.3.rbi similarity index 77% rename from Library/Homebrew/sorbet/rbi/gems/spoom@1.3.2.rbi rename to Library/Homebrew/sorbet/rbi/gems/spoom@1.3.3.rbi index 6959e7c9ab..3fa3ef6e72 100644 --- a/Library/Homebrew/sorbet/rbi/gems/spoom@1.3.2.rbi +++ b/Library/Homebrew/sorbet/rbi/gems/spoom@1.3.3.rbi @@ -4,8 +4,15 @@ # 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; end +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/cli/helper.rb#9 module Spoom::Cli; end @@ -21,7 +28,7 @@ class Spoom::Cli::Deadcode < ::Thor def help(command = T.unsafe(nil), subcommand = T.unsafe(nil)); end - # source://spoom//lib/spoom/cli/deadcode.rb#150 + # source://spoom//lib/spoom/cli/deadcode.rb#154 def remove(location_string); end end @@ -997,7 +1004,7 @@ class Spoom::Coverage::D3::ColorPalette < ::T::Struct prop :strong, ::String class << self - # source://sorbet-runtime/0.5.11366/lib/types/struct.rb#13 + # source://sorbet-runtime/0.5.11480/lib/types/struct.rb#13 def inherited(s); end end end @@ -1337,7 +1344,7 @@ class Spoom::Coverage::Snapshot < ::T::Struct sig { params(obj: T::Hash[::String, T.untyped]).returns(::Spoom::Coverage::Snapshot) } def from_obj(obj); end - # source://sorbet-runtime/0.5.11366/lib/types/struct.rb#13 + # source://sorbet-runtime/0.5.11480/lib/types/struct.rb#13 def inherited(s); end end end @@ -1389,53 +1396,15 @@ class Spoom::Coverage::Template def html; end end -# source://spoom//lib/spoom/deadcode/visitor.rb#5 +# source://spoom//lib/spoom/deadcode/erb.rb#27 module Spoom::Deadcode class << self - # source://spoom//lib/spoom/deadcode.rb#81 - sig do - params( - index: ::Spoom::Deadcode::Index, - erb: ::String, - file: ::String, - plugins: T::Array[::Spoom::Deadcode::Plugins::Base] - ).void - end - def index_erb(index, erb, file:, plugins: T.unsafe(nil)); end - - # source://spoom//lib/spoom/deadcode.rb#67 - sig do - params( - index: ::Spoom::Deadcode::Index, - node: ::Prism::Node, - ruby: ::String, - file: ::String, - plugins: T::Array[::Spoom::Deadcode::Plugins::Base] - ).void - end - def index_node(index, node, ruby, file:, plugins: T.unsafe(nil)); end - - # source://spoom//lib/spoom/deadcode.rb#75 - sig do - params( - index: ::Spoom::Deadcode::Index, - ruby: ::String, - file: ::String, - plugins: T::Array[::Spoom::Deadcode::Plugins::Base] - ).void - end - def index_ruby(index, ruby, file:, plugins: T.unsafe(nil)); end - # source://spoom//lib/spoom/deadcode/plugins.rb#75 - sig { params(context: ::Spoom::Context).returns(T::Array[::Spoom::Deadcode::Plugins::Base]) } + 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.rb#43 - sig { params(ruby: ::String, file: ::String).returns(::Prism::Node) } - def parse_ruby(ruby, file:); end - # source://spoom//lib/spoom/deadcode/plugins.rb#61 - sig { params(context: ::Spoom::Context).returns(T::Array[::Spoom::Deadcode::Plugins::Base]) } + sig { params(context: ::Spoom::Context).returns(T::Set[T.class_of(Spoom::Deadcode::Plugins::Base)]) } def plugins_from_gemfile_lock(context); end end end @@ -1453,7 +1422,7 @@ class Spoom::Deadcode::Definition < ::T::Struct const :kind, ::Spoom::Deadcode::Definition::Kind const :name, ::String const :full_name, ::String - const :location, ::Spoom::Deadcode::Location + const :location, ::Spoom::Location const :status, ::Spoom::Deadcode::Definition::Status, default: T.unsafe(nil) # source://spoom//lib/spoom/deadcode/definition.rb#78 @@ -1511,7 +1480,7 @@ class Spoom::Deadcode::Definition < ::T::Struct def to_json(*args); end class << self - # source://sorbet-runtime/0.5.11366/lib/types/struct.rb#13 + # source://sorbet-runtime/0.5.11480/lib/types/struct.rb#13 def inherited(s); end end end @@ -1571,40 +1540,35 @@ end # source://spoom//lib/spoom/deadcode/erb.rb#63 Spoom::Deadcode::ERB::BLOCK_EXPR = T.let(T.unsafe(nil), Regexp) -# @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below. -# -# source://spoom//lib/spoom/deadcode.rb#21 -class Spoom::Deadcode::Error < ::Spoom::Error - abstract! -end - # source://spoom//lib/spoom/deadcode/index.rb#6 class Spoom::Deadcode::Index - # source://spoom//lib/spoom/deadcode/index.rb#16 - sig { void } - def initialize; end + # source://spoom//lib/spoom/deadcode/index.rb#29 + sig { params(model: ::Spoom::Model).void } + def initialize(model); end - # source://spoom//lib/spoom/deadcode/index.rb#51 + # 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#56 - sig { returns(T::Array[::Spoom::Deadcode::Reference]) } + # source://spoom//lib/spoom/deadcode/index.rb#224 + sig { returns(T::Array[::Spoom::Model::Reference]) } def all_references; end - # Indexing - # - # source://spoom//lib/spoom/deadcode/index.rb#24 + # 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#10 + # 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#46 + # source://spoom//lib/spoom/deadcode/index.rb#214 sig { params(name: ::String).returns(T::Array[::Spoom::Deadcode::Definition]) } def definitions_for_name(name); end @@ -1612,324 +1576,111 @@ class Spoom::Deadcode::Index # # To be called once all the files have been indexed and all the definitions and references discovered. # - # source://spoom//lib/spoom/deadcode/index.rb#37 + # source://spoom//lib/spoom/deadcode/index.rb#122 sig { void } def finalize!; end - # source://spoom//lib/spoom/deadcode/index.rb#29 - sig { params(reference: ::Spoom::Deadcode::Reference).void } - def reference(reference); end + # source://spoom//lib/spoom/deadcode/index.rb#94 + sig { params(symbol_def: ::Spoom::Model::SymbolDef).void } + def ignore(symbol_def); end - # source://spoom//lib/spoom/deadcode/index.rb#13 - sig { returns(T::Hash[::String, T::Array[::Spoom::Deadcode::Reference]]) } + # 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::Deadcode::Visitor +class Spoom::Deadcode::Indexer < ::Spoom::Visitor # source://spoom//lib/spoom/deadcode/indexer.rb#16 sig do params( path: ::String, - source: ::String, index: ::Spoom::Deadcode::Index, plugins: T::Array[::Spoom::Deadcode::Plugins::Base] ).void end - def initialize(path, source, index, plugins: T.unsafe(nil)); end - - # Context - # - # source://spoom//lib/spoom/deadcode/indexer.rb#408 - sig { returns(::Prism::Node) } - def current_node; end - - # Definition indexing - # - # source://spoom//lib/spoom/deadcode/indexer.rb#322 - sig { params(name: ::String, full_name: ::String, node: ::Prism::Node).void } - def define_attr_reader(name, full_name, node); end - - # source://spoom//lib/spoom/deadcode/indexer.rb#334 - sig { params(name: ::String, full_name: ::String, node: ::Prism::Node).void } - def define_attr_writer(name, full_name, node); end - - # source://spoom//lib/spoom/deadcode/indexer.rb#346 - sig { params(name: ::String, full_name: ::String, node: ::Prism::Node).void } - def define_class(name, full_name, node); end - - # source://spoom//lib/spoom/deadcode/indexer.rb#358 - sig { params(name: ::String, full_name: ::String, node: ::Prism::Node).void } - def define_constant(name, full_name, node); end - - # source://spoom//lib/spoom/deadcode/indexer.rb#370 - sig { params(name: ::String, full_name: ::String, node: ::Prism::Node).void } - def define_method(name, full_name, node); end - - # source://spoom//lib/spoom/deadcode/indexer.rb#382 - sig { params(name: ::String, full_name: ::String, node: ::Prism::Node).void } - def define_module(name, full_name, node); 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#453 - sig { returns(T.nilable(::String)) } - def last_sig; end - - # source://spoom//lib/spoom/deadcode/indexer.rb#427 - sig { returns(T.nilable(::Prism::BlockNode)) } - def nesting_block; end - - # source://spoom//lib/spoom/deadcode/indexer.rb#432 - sig { returns(T.nilable(::Prism::CallNode)) } - def nesting_call; end - - # source://spoom//lib/spoom/deadcode/indexer.rb#422 - sig { returns(T.nilable(::Prism::ClassNode)) } - def nesting_class; end - - # source://spoom//lib/spoom/deadcode/indexer.rb#437 - sig { returns(T.nilable(::String)) } - def nesting_class_name; end - - # source://spoom//lib/spoom/deadcode/indexer.rb#445 - sig { returns(T.nilable(::String)) } - def nesting_class_superclass_name; end - - # source://spoom//lib/spoom/deadcode/indexer.rb#413 - sig { type_parameters(:N).params(type: T::Class[T.type_parameter(:N)]).returns(T.nilable(T.type_parameter(:N))) } - def nesting_node(type); end - - # Node utils - # - # source://spoom//lib/spoom/deadcode/indexer.rb#464 - sig { params(node: ::Prism::Node).returns(::Spoom::Deadcode::Location) } - def node_location(node); end - # source://spoom//lib/spoom/deadcode/indexer.rb#10 sig { returns(::String) } def path; end - # Reference indexing - # - # source://spoom//lib/spoom/deadcode/indexer.rb#396 - sig { params(name: ::String, node: ::Prism::Node).void } - def reference_constant(name, node); end - - # source://spoom//lib/spoom/deadcode/indexer.rb#401 - sig { params(name: ::String, node: ::Prism::Node).void } - def reference_method(name, node); end - # Visit # - # source://spoom//lib/spoom/deadcode/indexer.rb#35 - sig { override.params(node: T.nilable(::Prism::Node)).void } - def visit(node); end - - # source://spoom//lib/spoom/deadcode/indexer.rb#45 - sig { override.params(node: ::Prism::AliasMethodNode).void } - def visit_alias_method_node(node); end - - # source://spoom//lib/spoom/deadcode/indexer.rb#50 - sig { override.params(node: ::Prism::AndNode).void } - def visit_and_node(node); end - - # source://spoom//lib/spoom/deadcode/indexer.rb#56 - sig { override.params(node: ::Prism::BlockArgumentNode).void } - def visit_block_argument_node(node); end - - # source://spoom//lib/spoom/deadcode/indexer.rb#67 - sig { override.params(node: ::Prism::CallAndWriteNode).void } - def visit_call_and_write_node(node); end - - # source://spoom//lib/spoom/deadcode/indexer.rb#91 + # source://spoom//lib/spoom/deadcode/indexer.rb#27 sig { override.params(node: ::Prism::CallNode).void } def visit_call_node(node); end - - # source://spoom//lib/spoom/deadcode/indexer.rb#75 - sig { override.params(node: ::Prism::CallOperatorWriteNode).void } - def visit_call_operator_write_node(node); end - - # source://spoom//lib/spoom/deadcode/indexer.rb#83 - sig { override.params(node: ::Prism::CallOrWriteNode).void } - def visit_call_or_write_node(node); end - - # source://spoom//lib/spoom/deadcode/indexer.rb#104 - sig { override.params(node: ::Prism::ClassNode).void } - def visit_class_node(node); end - - # source://spoom//lib/spoom/deadcode/indexer.rb#137 - sig { override.params(node: ::Prism::ConstantAndWriteNode).void } - def visit_constant_and_write_node(node); end - - # source://spoom//lib/spoom/deadcode/indexer.rb#143 - sig { override.params(node: ::Prism::ConstantOperatorWriteNode).void } - def visit_constant_operator_write_node(node); end - - # source://spoom//lib/spoom/deadcode/indexer.rb#149 - sig { override.params(node: ::Prism::ConstantOrWriteNode).void } - def visit_constant_or_write_node(node); end - - # source://spoom//lib/spoom/deadcode/indexer.rb#155 - sig { override.params(node: ::Prism::ConstantPathWriteNode).void } - def visit_constant_path_write_node(node); end - - # source://spoom//lib/spoom/deadcode/indexer.rb#173 - sig { override.params(node: ::Prism::ConstantReadNode).void } - def visit_constant_read_node(node); end - - # source://spoom//lib/spoom/deadcode/indexer.rb#178 - sig { override.params(node: ::Prism::ConstantWriteNode).void } - def visit_constant_write_node(node); end - - # source://spoom//lib/spoom/deadcode/indexer.rb#186 - sig { override.params(node: ::Prism::DefNode).void } - def visit_def_node(node); end - - # source://spoom//lib/spoom/deadcode/indexer.rb#194 - sig { override.params(node: ::Prism::LocalVariableAndWriteNode).void } - def visit_local_variable_and_write_node(node); end - - # source://spoom//lib/spoom/deadcode/indexer.rb#202 - sig { override.params(node: ::Prism::LocalVariableOperatorWriteNode).void } - def visit_local_variable_operator_write_node(node); end - - # source://spoom//lib/spoom/deadcode/indexer.rb#210 - sig { override.params(node: ::Prism::LocalVariableOrWriteNode).void } - def visit_local_variable_or_write_node(node); end - - # source://spoom//lib/spoom/deadcode/indexer.rb#218 - sig { override.params(node: ::Prism::LocalVariableWriteNode).void } - def visit_local_variable_write_node(node); end - - # source://spoom//lib/spoom/deadcode/indexer.rb#224 - sig { override.params(node: ::Prism::ModuleNode).void } - def visit_module_node(node); end - - # source://spoom//lib/spoom/deadcode/indexer.rb#254 - sig { override.params(node: ::Prism::MultiWriteNode).void } - def visit_multi_write_node(node); end - - # source://spoom//lib/spoom/deadcode/indexer.rb#268 - sig { override.params(node: ::Prism::OrNode).void } - def visit_or_node(node); end - - # source://spoom//lib/spoom/deadcode/indexer.rb#274 - sig { params(send: ::Spoom::Deadcode::Send).void } - def visit_send(send); end end -# source://spoom//lib/spoom/deadcode.rb#29 -class Spoom::Deadcode::IndexerError < ::Spoom::Deadcode::Error - # source://spoom//lib/spoom/deadcode.rb#33 - sig { params(message: ::String, parent: ::Exception).void } - def initialize(message, parent:); end -end - -# source://spoom//lib/spoom/deadcode/location.rb#6 -class Spoom::Deadcode::Location - include ::Comparable - - # source://spoom//lib/spoom/deadcode/location.rb#54 - sig do - params( - file: ::String, - start_line: ::Integer, - start_column: ::Integer, - end_line: ::Integer, - end_column: ::Integer - ).void - end - def initialize(file, start_line, start_column, end_line, end_column); end - - # source://spoom//lib/spoom/deadcode/location.rb#74 - sig { override.params(other: ::BasicObject).returns(T.nilable(::Integer)) } - def <=>(other); end - - # @return [Integer] - # - # source://spoom//lib/spoom/deadcode/location.rb#43 - def end_column; end - - # @return [Integer] - # - # source://spoom//lib/spoom/deadcode/location.rb#43 - def end_line; end - - # source://spoom//lib/spoom/deadcode/location.rb#40 - sig { returns(::String) } - def file; end - - # source://spoom//lib/spoom/deadcode/location.rb#63 - sig { params(other: ::Spoom::Deadcode::Location).returns(T::Boolean) } - def include?(other); end - - # @return [Integer] - # - # source://spoom//lib/spoom/deadcode/location.rb#43 - def start_column; end - - # source://spoom//lib/spoom/deadcode/location.rb#43 - sig { returns(::Integer) } - def start_line; end - - # source://spoom//lib/spoom/deadcode/location.rb#81 - sig { returns(::String) } - def to_s; end - - class << self - # source://spoom//lib/spoom/deadcode/location.rb#34 - sig { params(file: ::String, location: ::Prism::Location).returns(::Spoom::Deadcode::Location) } - def from_prism(file, location); end - - # @raise [LocationError] - # - # source://spoom//lib/spoom/deadcode/location.rb#17 - sig { params(location_string: ::String).returns(::Spoom::Deadcode::Location) } - def from_string(location_string); end - end -end - -# source://spoom//lib/spoom/deadcode/location.rb#11 -class Spoom::Deadcode::Location::LocationError < ::Spoom::Error; end - # source://spoom//lib/spoom/deadcode/plugins.rb#36 Spoom::Deadcode::PLUGINS_FOR_GEM = T.let(T.unsafe(nil), Hash) -# source://spoom//lib/spoom/deadcode.rb#27 -class Spoom::Deadcode::ParserError < ::Spoom::Deadcode::Error; end - # source://spoom//lib/spoom/deadcode/plugins/base.rb#8 module Spoom::Deadcode::Plugins; end # source://spoom//lib/spoom/deadcode/plugins/action_mailer.rb#7 class Spoom::Deadcode::Plugins::ActionMailer < ::Spoom::Deadcode::Plugins::Base # source://spoom//lib/spoom/deadcode/plugins/action_mailer.rb#11 - sig { override.params(indexer: ::Spoom::Deadcode::Indexer, send: ::Spoom::Deadcode::Send).void } - def on_send(indexer, send); end + 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(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void } - def on_define_method(indexer, definition); end + 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(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void } - def on_define_method(indexer, definition); end + sig { override.params(definition: ::Spoom::Model::Method).void } + def on_define_method(definition); end - # source://spoom//lib/spoom/deadcode/plugins/actionpack.rb#36 - sig { override.params(indexer: ::Spoom::Deadcode::Indexer, send: ::Spoom::Deadcode::Send).void } - def on_send(indexer, send); end + # 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 +# 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 @@ -1938,15 +1689,15 @@ class Spoom::Deadcode::Plugins::ActiveJob < ::Spoom::Deadcode::Plugins::Base; en # source://spoom//lib/spoom/deadcode/plugins/active_model.rb#7 class Spoom::Deadcode::Plugins::ActiveModel < ::Spoom::Deadcode::Plugins::Base # source://spoom//lib/spoom/deadcode/plugins/active_model.rb#14 - sig { override.params(indexer: ::Spoom::Deadcode::Indexer, send: ::Spoom::Deadcode::Send).void } - def on_send(indexer, send); end + 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(indexer: ::Spoom::Deadcode::Indexer, send: ::Spoom::Deadcode::Send).void } - def on_send(indexer, send); end + sig { override.params(send: ::Spoom::Deadcode::Send).void } + def on_send(send); end end # source://spoom//lib/spoom/deadcode/plugins/active_record.rb#64 @@ -1961,8 +1712,8 @@ Spoom::Deadcode::Plugins::ActiveRecord::CRUD_METHODS = T.let(T.unsafe(nil), Arra # 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(indexer: ::Spoom::Deadcode::Indexer, send: ::Spoom::Deadcode::Send).void } - def on_send(indexer, send); end + sig { override.params(send: ::Spoom::Deadcode::Send).void } + def on_send(send); end end # source://spoom//lib/spoom/deadcode/plugins/active_support.rb#19 @@ -1974,41 +1725,43 @@ Spoom::Deadcode::Plugins::ActiveSupport::SETUP_AND_TEARDOWN_METHODS = T.let(T.un 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#150 - sig { params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void } - def internal_on_define_accessor(indexer, definition); end + # 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#174 - sig { params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void } - def internal_on_define_class(indexer, definition); end + # 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#204 - sig { params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void } - def internal_on_define_constant(indexer, definition); end + # 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#232 - sig { params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void } - def internal_on_define_method(indexer, definition); end + # 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#258 - sig { params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void } - def internal_on_define_module(indexer, definition); end - - # Do not override this method, use `on_send` instead. - # - # source://spoom//lib/spoom/deadcode/plugins/base.rb#284 - sig { params(indexer: ::Spoom::Deadcode::Indexer, send: ::Spoom::Deadcode::Send).void } - def internal_on_send(indexer, send); end + # 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. # @@ -2018,15 +1771,15 @@ class Spoom::Deadcode::Plugins::Base # # ~~~rb # class MyPlugin < Spoom::Deadcode::Plugins::Base - # def on_define_accessor(indexer, definition) - # definition.ignored! if definition.name == "foo" + # def on_define_accessor(definition) + # @index.ignore(definition) if symbol_def.name == "foo" # end # end # ~~~ # - # source://spoom//lib/spoom/deadcode/plugins/base.rb#144 - sig { params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void } - def on_define_accessor(indexer, definition); end + # 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. # @@ -2036,15 +1789,15 @@ class Spoom::Deadcode::Plugins::Base # # ~~~rb # class MyPlugin < Spoom::Deadcode::Plugins::Base - # def on_define_class(indexer, definition) - # definition.ignored! if definition.name == "Foo" + # def on_define_class(definition) + # @index.ignore(definition) if definition.name == "Foo" # end # end # ~~~ # - # source://spoom//lib/spoom/deadcode/plugins/base.rb#168 - sig { params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void } - def on_define_class(indexer, definition); end + # 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. # @@ -2054,15 +1807,15 @@ class Spoom::Deadcode::Plugins::Base # # ~~~rb # class MyPlugin < Spoom::Deadcode::Plugins::Base - # def on_define_constant(indexer, definition) - # definition.ignored! if definition.name == "FOO" + # def on_define_constant(definition) + # @index.ignore(definition) if definition.name == "FOO" # end # end # ~~~ # - # source://spoom//lib/spoom/deadcode/plugins/base.rb#198 - sig { params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void } - def on_define_constant(indexer, definition); end + # 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. # @@ -2072,17 +1825,15 @@ class Spoom::Deadcode::Plugins::Base # # ~~~rb # class MyPlugin < Spoom::Deadcode::Plugins::Base - # def on_define_method(indexer, definition) - # super # So the `ignore_method_names` DSL is still applied - # - # definition.ignored! if definition.name == "foo" + # def on_define_method(definition) + # @index.ignore(definition) if definition.name == "foo" # end # end # ~~~ # - # source://spoom//lib/spoom/deadcode/plugins/base.rb#226 - sig { params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void } - def on_define_method(indexer, definition); end + # 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. # @@ -2092,75 +1843,79 @@ class Spoom::Deadcode::Plugins::Base # # ~~~rb # class MyPlugin < Spoom::Deadcode::Plugins::Base - # def on_define_module(indexer, definition) - # definition.ignored! if definition.name == "Foo" + # def on_define_module(definition) + # @index.ignore(definition) if definition.name == "Foo" # end # end # ~~~ # - # source://spoom//lib/spoom/deadcode/plugins/base.rb#252 - sig { params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void } - def on_define_module(indexer, definition); end + # 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(indexer, send) + # def on_send(send) # return unless send.name == "dsl_method" # return if send.args.empty? # # method_name = send.args.first.slice.delete_prefix(":") - # indexer.reference_method(method_name, send.node) + # @index.reference_method(method_name, send.node, send.loc) # end # end # ~~~ # - # source://spoom//lib/spoom/deadcode/plugins/base.rb#278 - sig { params(indexer: ::Spoom::Deadcode::Indexer, send: ::Spoom::Deadcode::Send).void } - def on_send(indexer, send); end + # 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#339 + # 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(name: T.nilable(::String)).returns(T::Boolean) } - def ignored_class_name?(name); end - - # source://spoom//lib/spoom/deadcode/plugins/base.rb#307 - sig { params(name: ::String).returns(T::Boolean) } - def ignored_constant_name?(name); end - - # source://spoom//lib/spoom/deadcode/plugins/base.rb#312 - sig { params(name: ::String).returns(T::Boolean) } - def ignored_method_name?(name); end - - # source://spoom//lib/spoom/deadcode/plugins/base.rb#317 - sig { params(name: ::String).returns(T::Boolean) } - def ignored_module_name?(name); end - - # source://spoom//lib/spoom/deadcode/plugins/base.rb#322 - sig { params(name: ::String, names_variable: ::Symbol, patterns_variable: ::Symbol).returns(T::Boolean) } - def ignored_name?(name, names_variable, patterns_variable); end - - # source://spoom//lib/spoom/deadcode/plugins/base.rb#300 - sig { params(superclass_name: T.nilable(::String)).returns(T::Boolean) } - def ignored_subclass?(superclass_name); end - - # source://spoom//lib/spoom/deadcode/plugins/base.rb#327 - sig { params(const: ::Symbol).returns(T::Set[::String]) } - def names(const); end - - # source://spoom//lib/spoom/deadcode/plugins/base.rb#332 - sig { params(const: ::Symbol).returns(T::Array[::Regexp]) } - def patterns(const); end + 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. @@ -2270,32 +2025,32 @@ end # source://spoom//lib/spoom/deadcode/plugins/graphql.rb#7 class Spoom::Deadcode::Plugins::GraphQL < ::Spoom::Deadcode::Plugins::Base # source://spoom//lib/spoom/deadcode/plugins/graphql.rb#28 - sig { override.params(indexer: ::Spoom::Deadcode::Indexer, send: ::Spoom::Deadcode::Send).void } - def on_send(indexer, send); end + 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(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void } - def on_define_method(indexer, definition); end + sig { override.params(definition: ::Spoom::Model::Method).void } + def on_define_method(definition); end end # source://spoom//lib/spoom/deadcode/plugins/namespaces.rb#7 class Spoom::Deadcode::Plugins::Namespaces < ::Spoom::Deadcode::Plugins::Base # source://spoom//lib/spoom/deadcode/plugins/namespaces.rb#11 - sig { override.params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void } - def on_define_class(indexer, definition); end + 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(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void } - def on_define_module(indexer, definition); end + 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(indexer: ::Spoom::Deadcode::Indexer).returns(T::Boolean) } - def used_as_namespace?(indexer); end + 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 @@ -2304,18 +2059,18 @@ class Spoom::Deadcode::Plugins::RSpec < ::Spoom::Deadcode::Plugins::Base; end # source://spoom//lib/spoom/deadcode/plugins/rails.rb#7 class Spoom::Deadcode::Plugins::Rails < ::Spoom::Deadcode::Plugins::Base # source://spoom//lib/spoom/deadcode/plugins/rails.rb#13 - sig { override.params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void } - def on_define_class(indexer, definition); end + 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(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void } - def on_define_module(indexer, definition); end + 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(indexer: ::Spoom::Deadcode::Indexer).returns(T::Boolean) } - def file_is_helper?(indexer); end + 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 @@ -2324,22 +2079,12 @@ class Spoom::Deadcode::Plugins::Rake < ::Spoom::Deadcode::Plugins::Base; end # source://spoom//lib/spoom/deadcode/plugins/rubocop.rb#7 class Spoom::Deadcode::Plugins::Rubocop < ::Spoom::Deadcode::Plugins::Base # source://spoom//lib/spoom/deadcode/plugins/rubocop.rb#18 - sig { override.params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void } - def on_define_constant(indexer, definition); end + sig { override.params(definition: ::Spoom::Model::Constant).void } + def on_define_constant(definition); end - # source://spoom//lib/spoom/deadcode/plugins/rubocop.rb#23 - sig { override.params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void } - def on_define_method(indexer, definition); end - - private - - # source://spoom//lib/spoom/deadcode/plugins/rubocop.rb#30 - sig { params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).returns(T::Boolean) } - def rubocop_constant?(indexer, definition); end - - # source://spoom//lib/spoom/deadcode/plugins/rubocop.rb#35 - sig { params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).returns(T::Boolean) } - def rubocop_method?(indexer, definition); end + # 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 @@ -2348,74 +2093,42 @@ Spoom::Deadcode::Plugins::Rubocop::RUBOCOP_CONSTANTS = T.let(T.unsafe(nil), Set) # source://spoom//lib/spoom/deadcode/plugins/ruby.rb#7 class Spoom::Deadcode::Plugins::Ruby < ::Spoom::Deadcode::Plugins::Base # source://spoom//lib/spoom/deadcode/plugins/ruby.rb#24 - sig { override.params(indexer: ::Spoom::Deadcode::Indexer, send: ::Spoom::Deadcode::Send).void } - def on_send(indexer, send); end + sig { override.params(send: ::Spoom::Deadcode::Send).void } + def on_send(send); end private # source://spoom//lib/spoom/deadcode/plugins/ruby.rb#43 - sig { params(indexer: ::Spoom::Deadcode::Indexer, send: ::Spoom::Deadcode::Send, node: ::Prism::Node).void } - def reference_symbol_as_constant(indexer, send, node); end + 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(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void } - def on_define_constant(indexer, definition); end + 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(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void } - def on_define_method(indexer, definition); end + sig { override.params(definition: ::Spoom::Model::Method).void } + def on_define_method(definition); end private - # source://spoom//lib/spoom/deadcode/plugins/sorbet.rb#34 - sig { params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).returns(T::Boolean) } - def sorbet_enum_constant?(indexer, definition); end + # source://spoom//lib/spoom/deadcode/plugins/sorbet.rb#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(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).returns(T::Boolean) } - def sorbet_type_member?(indexer, definition); end + 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(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void } - def on_define_method(indexer, definition); end -end - -# A reference is a call to a method or a constant -# -# source://spoom//lib/spoom/deadcode/reference.rb#7 -class Spoom::Deadcode::Reference < ::T::Struct - const :kind, ::Spoom::Deadcode::Reference::Kind - const :name, ::String - const :location, ::Spoom::Deadcode::Location - - # Kind - # - # source://spoom//lib/spoom/deadcode/reference.rb#24 - sig { returns(T::Boolean) } - def constant?; end - - # source://spoom//lib/spoom/deadcode/reference.rb#29 - sig { returns(T::Boolean) } - def method?; end - - class << self - # source://sorbet-runtime/0.5.11366/lib/types/struct.rb#13 - def inherited(s); end - end -end - -# source://spoom//lib/spoom/deadcode/reference.rb#10 -class Spoom::Deadcode::Reference::Kind < ::T::Enum - enums do - Constant = new - Method = new - end + sig { override.params(definition: ::Spoom::Model::Method).void } + def on_define_method(definition); end end # source://spoom//lib/spoom/deadcode/remover.rb#6 @@ -2425,12 +2138,7 @@ class Spoom::Deadcode::Remover def initialize(context); end # source://spoom//lib/spoom/deadcode/remover.rb#17 - sig do - params( - kind: T.nilable(::Spoom::Deadcode::Definition::Kind), - location: ::Spoom::Deadcode::Location - ).returns(::String) - end + sig { params(kind: T.nilable(::Spoom::Deadcode::Definition::Kind), location: ::Spoom::Location).returns(::String) } def remove_location(kind, location); end end @@ -2483,6 +2191,8 @@ class Spoom::Deadcode::Remover::NodeContext 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 @@ -2491,10 +2201,14 @@ class Spoom::Deadcode::Remover::NodeContext 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 @@ -2503,6 +2217,8 @@ class Spoom::Deadcode::Remover::NodeContext 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 @@ -2521,9 +2237,9 @@ class Spoom::Deadcode::Remover::NodeContext end # source://spoom//lib/spoom/deadcode/remover.rb#549 -class Spoom::Deadcode::Remover::NodeFinder < ::Spoom::Deadcode::Visitor +class Spoom::Deadcode::Remover::NodeFinder < ::Spoom::Visitor # source://spoom//lib/spoom/deadcode/remover.rb#621 - sig { params(location: ::Spoom::Deadcode::Location, kind: T.nilable(::Spoom::Deadcode::Definition::Kind)).void } + 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 @@ -2543,7 +2259,7 @@ class Spoom::Deadcode::Remover::NodeFinder < ::Spoom::Deadcode::Visitor sig do params( source: ::String, - location: ::Spoom::Deadcode::Location, + location: ::Spoom::Location, kind: T.nilable(::Spoom::Deadcode::Definition::Kind) ).returns(::Spoom::Deadcode::Remover::NodeContext) end @@ -2562,7 +2278,7 @@ class Spoom::Deadcode::Remover::NodeRemover params( source: ::String, kind: T.nilable(::Spoom::Deadcode::Definition::Kind), - location: ::Spoom::Deadcode::Location + location: ::Spoom::Location ).void end def initialize(source, kind, location); end @@ -2631,8 +2347,9 @@ class Spoom::Deadcode::Send < ::T::Struct 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#21 + # source://spoom//lib/spoom/deadcode/send.rb#22 sig do type_parameters(:T) .params( @@ -2642,615 +2359,16 @@ class Spoom::Deadcode::Send < ::T::Struct end def each_arg(arg_type, &block); end - # source://spoom//lib/spoom/deadcode/send.rb#28 + # 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.11366/lib/types/struct.rb#13 + # source://sorbet-runtime/0.5.11480/lib/types/struct.rb#13 def inherited(s); end end end -# source://spoom//lib/spoom/deadcode/visitor.rb#6 -class Spoom::Deadcode::Visitor < ::Prism::Visitor - # source://spoom//lib/spoom/deadcode/visitor.rb#15 - sig { override.params(node: ::Prism::AliasGlobalVariableNode).void } - def visit_alias_global_variable_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#20 - sig { override.params(node: ::Prism::AliasMethodNode).void } - def visit_alias_method_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#25 - sig { override.params(node: ::Prism::AlternationPatternNode).void } - def visit_alternation_pattern_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#30 - sig { override.params(node: ::Prism::AndNode).void } - def visit_and_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#35 - sig { override.params(node: ::Prism::ArgumentsNode).void } - def visit_arguments_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#40 - sig { override.params(node: ::Prism::ArrayNode).void } - def visit_array_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#45 - sig { override.params(node: ::Prism::ArrayPatternNode).void } - def visit_array_pattern_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#50 - sig { override.params(node: ::Prism::AssocNode).void } - def visit_assoc_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#55 - sig { override.params(node: ::Prism::AssocSplatNode).void } - def visit_assoc_splat_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#60 - sig { override.params(node: ::Prism::BackReferenceReadNode).void } - def visit_back_reference_read_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#65 - sig { override.params(node: ::Prism::BeginNode).void } - def visit_begin_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#70 - sig { override.params(node: ::Prism::BlockArgumentNode).void } - def visit_block_argument_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#75 - sig { override.params(node: ::Prism::BlockLocalVariableNode).void } - def visit_block_local_variable_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#80 - sig { override.params(node: ::Prism::BlockNode).void } - def visit_block_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#85 - sig { override.params(node: ::Prism::BlockParameterNode).void } - def visit_block_parameter_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#90 - sig { override.params(node: ::Prism::BlockParametersNode).void } - def visit_block_parameters_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#95 - sig { override.params(node: ::Prism::BreakNode).void } - def visit_break_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#100 - sig { override.params(node: ::Prism::CallAndWriteNode).void } - def visit_call_and_write_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#105 - sig { override.params(node: ::Prism::CallNode).void } - def visit_call_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#110 - sig { override.params(node: ::Prism::CallOperatorWriteNode).void } - def visit_call_operator_write_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#115 - sig { override.params(node: ::Prism::CallOrWriteNode).void } - def visit_call_or_write_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#120 - sig { override.params(node: ::Prism::CallTargetNode).void } - def visit_call_target_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#125 - sig { override.params(node: ::Prism::CapturePatternNode).void } - def visit_capture_pattern_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#130 - sig { override.params(node: ::Prism::CaseMatchNode).void } - def visit_case_match_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#135 - sig { override.params(node: ::Prism::CaseNode).void } - def visit_case_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#10 - sig { override.params(node: ::Prism::Node).void } - def visit_child_nodes(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#140 - sig { override.params(node: ::Prism::ClassNode).void } - def visit_class_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#145 - sig { override.params(node: ::Prism::ClassVariableAndWriteNode).void } - def visit_class_variable_and_write_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#150 - sig { override.params(node: ::Prism::ClassVariableOperatorWriteNode).void } - def visit_class_variable_operator_write_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#155 - sig { override.params(node: ::Prism::ClassVariableOrWriteNode).void } - def visit_class_variable_or_write_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#160 - sig { override.params(node: ::Prism::ClassVariableReadNode).void } - def visit_class_variable_read_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#165 - sig { override.params(node: ::Prism::ClassVariableTargetNode).void } - def visit_class_variable_target_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#170 - sig { override.params(node: ::Prism::ClassVariableWriteNode).void } - def visit_class_variable_write_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#175 - sig { override.params(node: ::Prism::ConstantAndWriteNode).void } - def visit_constant_and_write_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#180 - sig { override.params(node: ::Prism::ConstantOperatorWriteNode).void } - def visit_constant_operator_write_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#185 - sig { override.params(node: ::Prism::ConstantOrWriteNode).void } - def visit_constant_or_write_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#190 - sig { override.params(node: ::Prism::ConstantPathAndWriteNode).void } - def visit_constant_path_and_write_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#195 - sig { override.params(node: ::Prism::ConstantPathNode).void } - def visit_constant_path_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#200 - sig { override.params(node: ::Prism::ConstantPathOperatorWriteNode).void } - def visit_constant_path_operator_write_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#205 - sig { override.params(node: ::Prism::ConstantPathOrWriteNode).void } - def visit_constant_path_or_write_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#210 - sig { override.params(node: ::Prism::ConstantPathTargetNode).void } - def visit_constant_path_target_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#215 - sig { override.params(node: ::Prism::ConstantPathWriteNode).void } - def visit_constant_path_write_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#220 - sig { override.params(node: ::Prism::ConstantReadNode).void } - def visit_constant_read_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#225 - sig { override.params(node: ::Prism::ConstantTargetNode).void } - def visit_constant_target_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#230 - sig { override.params(node: ::Prism::ConstantWriteNode).void } - def visit_constant_write_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#235 - sig { override.params(node: ::Prism::DefNode).void } - def visit_def_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#240 - sig { override.params(node: ::Prism::DefinedNode).void } - def visit_defined_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#245 - sig { override.params(node: ::Prism::ElseNode).void } - def visit_else_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#250 - sig { override.params(node: ::Prism::EmbeddedStatementsNode).void } - def visit_embedded_statements_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#255 - sig { override.params(node: ::Prism::EmbeddedVariableNode).void } - def visit_embedded_variable_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#260 - sig { override.params(node: ::Prism::EnsureNode).void } - def visit_ensure_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#265 - sig { override.params(node: ::Prism::FalseNode).void } - def visit_false_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#270 - sig { override.params(node: ::Prism::FindPatternNode).void } - def visit_find_pattern_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#275 - sig { override.params(node: ::Prism::FlipFlopNode).void } - def visit_flip_flop_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#280 - sig { override.params(node: ::Prism::FloatNode).void } - def visit_float_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#285 - sig { override.params(node: ::Prism::ForNode).void } - def visit_for_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#290 - sig { override.params(node: ::Prism::ForwardingArgumentsNode).void } - def visit_forwarding_arguments_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#295 - sig { override.params(node: ::Prism::ForwardingParameterNode).void } - def visit_forwarding_parameter_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#300 - sig { override.params(node: ::Prism::ForwardingSuperNode).void } - def visit_forwarding_super_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#305 - sig { override.params(node: ::Prism::GlobalVariableAndWriteNode).void } - def visit_global_variable_and_write_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#310 - sig { override.params(node: ::Prism::GlobalVariableOperatorWriteNode).void } - def visit_global_variable_operator_write_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#315 - sig { override.params(node: ::Prism::GlobalVariableOrWriteNode).void } - def visit_global_variable_or_write_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#320 - sig { override.params(node: ::Prism::GlobalVariableReadNode).void } - def visit_global_variable_read_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#325 - sig { override.params(node: ::Prism::GlobalVariableTargetNode).void } - def visit_global_variable_target_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#330 - sig { override.params(node: ::Prism::GlobalVariableWriteNode).void } - def visit_global_variable_write_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#335 - sig { override.params(node: ::Prism::HashNode).void } - def visit_hash_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#340 - sig { override.params(node: ::Prism::HashPatternNode).void } - def visit_hash_pattern_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#345 - sig { override.params(node: ::Prism::IfNode).void } - def visit_if_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#350 - sig { override.params(node: ::Prism::ImaginaryNode).void } - def visit_imaginary_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#355 - sig { override.params(node: ::Prism::ImplicitNode).void } - def visit_implicit_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#360 - sig { override.params(node: ::Prism::ImplicitRestNode).void } - def visit_implicit_rest_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#365 - sig { override.params(node: ::Prism::InNode).void } - def visit_in_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#370 - sig { override.params(node: ::Prism::IndexAndWriteNode).void } - def visit_index_and_write_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#375 - sig { override.params(node: ::Prism::IndexOperatorWriteNode).void } - def visit_index_operator_write_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#380 - sig { override.params(node: ::Prism::IndexOrWriteNode).void } - def visit_index_or_write_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#385 - sig { override.params(node: ::Prism::IndexTargetNode).void } - def visit_index_target_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#390 - sig { override.params(node: ::Prism::InstanceVariableAndWriteNode).void } - def visit_instance_variable_and_write_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#395 - sig { override.params(node: ::Prism::InstanceVariableOperatorWriteNode).void } - def visit_instance_variable_operator_write_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#400 - sig { override.params(node: ::Prism::InstanceVariableOrWriteNode).void } - def visit_instance_variable_or_write_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#405 - sig { override.params(node: ::Prism::InstanceVariableReadNode).void } - def visit_instance_variable_read_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#410 - sig { override.params(node: ::Prism::InstanceVariableTargetNode).void } - def visit_instance_variable_target_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#415 - sig { override.params(node: ::Prism::InstanceVariableWriteNode).void } - def visit_instance_variable_write_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#420 - sig { override.params(node: ::Prism::IntegerNode).void } - def visit_integer_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#425 - sig { override.params(node: ::Prism::InterpolatedMatchLastLineNode).void } - def visit_interpolated_match_last_line_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#430 - sig { override.params(node: ::Prism::InterpolatedRegularExpressionNode).void } - def visit_interpolated_regular_expression_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#435 - sig { override.params(node: ::Prism::InterpolatedStringNode).void } - def visit_interpolated_string_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#440 - sig { override.params(node: ::Prism::InterpolatedSymbolNode).void } - def visit_interpolated_symbol_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#445 - sig { override.params(node: ::Prism::InterpolatedXStringNode).void } - def visit_interpolated_x_string_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#450 - sig { override.params(node: ::Prism::KeywordHashNode).void } - def visit_keyword_hash_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#455 - sig { override.params(node: ::Prism::KeywordRestParameterNode).void } - def visit_keyword_rest_parameter_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#460 - sig { override.params(node: ::Prism::LambdaNode).void } - def visit_lambda_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#465 - sig { override.params(node: ::Prism::LocalVariableAndWriteNode).void } - def visit_local_variable_and_write_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#470 - sig { override.params(node: ::Prism::LocalVariableOperatorWriteNode).void } - def visit_local_variable_operator_write_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#475 - sig { override.params(node: ::Prism::LocalVariableOrWriteNode).void } - def visit_local_variable_or_write_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#480 - sig { override.params(node: ::Prism::LocalVariableReadNode).void } - def visit_local_variable_read_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#485 - sig { override.params(node: ::Prism::LocalVariableTargetNode).void } - def visit_local_variable_target_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#490 - sig { override.params(node: ::Prism::LocalVariableWriteNode).void } - def visit_local_variable_write_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#495 - sig { override.params(node: ::Prism::MatchLastLineNode).void } - def visit_match_last_line_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#500 - sig { override.params(node: ::Prism::MatchPredicateNode).void } - def visit_match_predicate_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#505 - sig { override.params(node: ::Prism::MatchRequiredNode).void } - def visit_match_required_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#510 - sig { override.params(node: ::Prism::MatchWriteNode).void } - def visit_match_write_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#515 - sig { override.params(node: ::Prism::MissingNode).void } - def visit_missing_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#520 - sig { override.params(node: ::Prism::ModuleNode).void } - def visit_module_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#525 - sig { override.params(node: ::Prism::MultiTargetNode).void } - def visit_multi_target_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#530 - sig { override.params(node: ::Prism::MultiWriteNode).void } - def visit_multi_write_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#535 - sig { override.params(node: ::Prism::NextNode).void } - def visit_next_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#540 - sig { override.params(node: ::Prism::NilNode).void } - def visit_nil_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#545 - sig { override.params(node: ::Prism::NoKeywordsParameterNode).void } - def visit_no_keywords_parameter_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#550 - sig { override.params(node: ::Prism::NumberedParametersNode).void } - def visit_numbered_parameters_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#555 - sig { override.params(node: ::Prism::NumberedReferenceReadNode).void } - def visit_numbered_reference_read_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#560 - sig { override.params(node: ::Prism::OptionalKeywordParameterNode).void } - def visit_optional_keyword_parameter_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#565 - sig { override.params(node: ::Prism::OptionalParameterNode).void } - def visit_optional_parameter_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#570 - sig { override.params(node: ::Prism::OrNode).void } - def visit_or_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#575 - sig { override.params(node: ::Prism::ParametersNode).void } - def visit_parameters_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#580 - sig { override.params(node: ::Prism::ParenthesesNode).void } - def visit_parentheses_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#585 - sig { override.params(node: ::Prism::PinnedExpressionNode).void } - def visit_pinned_expression_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#590 - sig { override.params(node: ::Prism::PinnedVariableNode).void } - def visit_pinned_variable_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#595 - sig { override.params(node: ::Prism::PostExecutionNode).void } - def visit_post_execution_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#600 - sig { override.params(node: ::Prism::PreExecutionNode).void } - def visit_pre_execution_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#605 - sig { override.params(node: ::Prism::ProgramNode).void } - def visit_program_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#610 - sig { override.params(node: ::Prism::RangeNode).void } - def visit_range_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#615 - sig { override.params(node: ::Prism::RationalNode).void } - def visit_rational_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#620 - sig { override.params(node: ::Prism::RedoNode).void } - def visit_redo_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#625 - sig { override.params(node: ::Prism::RegularExpressionNode).void } - def visit_regular_expression_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#630 - sig { override.params(node: ::Prism::RequiredKeywordParameterNode).void } - def visit_required_keyword_parameter_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#635 - sig { override.params(node: ::Prism::RequiredParameterNode).void } - def visit_required_parameter_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#640 - sig { override.params(node: ::Prism::RescueModifierNode).void } - def visit_rescue_modifier_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#645 - sig { override.params(node: ::Prism::RescueNode).void } - def visit_rescue_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#650 - sig { override.params(node: ::Prism::RestParameterNode).void } - def visit_rest_parameter_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#655 - sig { override.params(node: ::Prism::RetryNode).void } - def visit_retry_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#660 - sig { override.params(node: ::Prism::ReturnNode).void } - def visit_return_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#665 - sig { override.params(node: ::Prism::SelfNode).void } - def visit_self_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#670 - sig { override.params(node: ::Prism::SingletonClassNode).void } - def visit_singleton_class_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#675 - sig { override.params(node: ::Prism::SourceEncodingNode).void } - def visit_source_encoding_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#680 - sig { override.params(node: ::Prism::SourceFileNode).void } - def visit_source_file_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#685 - sig { override.params(node: ::Prism::SourceLineNode).void } - def visit_source_line_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#690 - sig { override.params(node: ::Prism::SplatNode).void } - def visit_splat_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#695 - sig { override.params(node: ::Prism::StatementsNode).void } - def visit_statements_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#700 - sig { override.params(node: ::Prism::StringNode).void } - def visit_string_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#705 - sig { override.params(node: ::Prism::SuperNode).void } - def visit_super_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#710 - sig { override.params(node: ::Prism::SymbolNode).void } - def visit_symbol_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#715 - sig { override.params(node: ::Prism::TrueNode).void } - def visit_true_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#720 - sig { override.params(node: ::Prism::UndefNode).void } - def visit_undef_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#725 - sig { override.params(node: ::Prism::UnlessNode).void } - def visit_unless_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#730 - sig { override.params(node: ::Prism::UntilNode).void } - def visit_until_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#735 - sig { override.params(node: ::Prism::WhenNode).void } - def visit_when_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#740 - sig { override.params(node: ::Prism::WhileNode).void } - def visit_while_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#745 - sig { override.params(node: ::Prism::XStringNode).void } - def visit_x_string_node(node); end - - # source://spoom//lib/spoom/deadcode/visitor.rb#750 - sig { override.params(node: ::Prism::YieldNode).void } - def visit_yield_node(node); end -end - # source://spoom//lib/spoom.rb#12 class Spoom::Error < ::StandardError; end @@ -3266,7 +2384,7 @@ class Spoom::ExecResult < ::T::Struct def to_s; end class << self - # source://sorbet-runtime/0.5.11366/lib/types/struct.rb#13 + # source://sorbet-runtime/0.5.11480/lib/types/struct.rb#13 def inherited(s); end end end @@ -3464,7 +2582,7 @@ class Spoom::FileTree::Node < ::T::Struct def path; end class << self - # source://sorbet-runtime/0.5.11366/lib/types/struct.rb#13 + # source://sorbet-runtime/0.5.11480/lib/types/struct.rb#13 def inherited(s); end end end @@ -3530,7 +2648,7 @@ class Spoom::Git::Commit < ::T::Struct def timestamp; end class << self - # source://sorbet-runtime/0.5.11366/lib/types/struct.rb#13 + # source://sorbet-runtime/0.5.11480/lib/types/struct.rb#13 def inherited(s); end # Parse a line formatted as `%h %at` into a `Commit` @@ -3642,7 +2760,7 @@ class Spoom::LSP::Diagnostic < ::T::Struct sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::Diagnostic) } def from_json(json); end - # source://sorbet-runtime/0.5.11366/lib/types/struct.rb#13 + # source://sorbet-runtime/0.5.11480/lib/types/struct.rb#13 def inherited(s); end end end @@ -3675,7 +2793,7 @@ class Spoom::LSP::DocumentSymbol < ::T::Struct sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::DocumentSymbol) } def from_json(json); end - # source://sorbet-runtime/0.5.11366/lib/types/struct.rb#13 + # source://sorbet-runtime/0.5.11480/lib/types/struct.rb#13 def inherited(s); end end end @@ -3684,7 +2802,7 @@ end Spoom::LSP::DocumentSymbol::SYMBOL_KINDS = T.let(T.unsafe(nil), Hash) # source://spoom//lib/spoom/sorbet/lsp/errors.rb#6 -class Spoom::LSP::Error < ::StandardError; end +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 @@ -3733,7 +2851,7 @@ class Spoom::LSP::Hover < ::T::Struct sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::Hover) } def from_json(json); end - # source://sorbet-runtime/0.5.11366/lib/types/struct.rb#13 + # source://sorbet-runtime/0.5.11480/lib/types/struct.rb#13 def inherited(s); end end end @@ -3758,7 +2876,7 @@ class Spoom::LSP::Location < ::T::Struct sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::Location) } def from_json(json); end - # source://sorbet-runtime/0.5.11366/lib/types/struct.rb#13 + # source://sorbet-runtime/0.5.11480/lib/types/struct.rb#13 def inherited(s); end end end @@ -3821,7 +2939,7 @@ class Spoom::LSP::Position < ::T::Struct sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::Position) } def from_json(json); end - # source://sorbet-runtime/0.5.11366/lib/types/struct.rb#13 + # source://sorbet-runtime/0.5.11480/lib/types/struct.rb#13 def inherited(s); end end end @@ -3859,7 +2977,7 @@ class Spoom::LSP::Range < ::T::Struct sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::Range) } def from_json(json); end - # source://sorbet-runtime/0.5.11366/lib/types/struct.rb#13 + # source://sorbet-runtime/0.5.11480/lib/types/struct.rb#13 def inherited(s); end end end @@ -3925,7 +3043,7 @@ class Spoom::LSP::SignatureHelp < ::T::Struct sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::SignatureHelp) } def from_json(json); end - # source://sorbet-runtime/0.5.11366/lib/types/struct.rb#13 + # source://sorbet-runtime/0.5.11480/lib/types/struct.rb#13 def inherited(s); end end end @@ -3973,6 +3091,786 @@ class Spoom::LSP::SymbolPrinter < ::Spoom::Printer def seen; end end +# source://spoom//lib/spoom/location.rb#5 +class Spoom::Location + include ::Comparable + + # source://spoom//lib/spoom/location.rb#53 + sig do + params( + file: ::String, + start_line: ::Integer, + start_column: ::Integer, + end_line: ::Integer, + end_column: ::Integer + ).void + end + def initialize(file, start_line, start_column, end_line, end_column); end + + # source://spoom//lib/spoom/location.rb#73 + sig { override.params(other: ::BasicObject).returns(T.nilable(::Integer)) } + def <=>(other); end + + # @return [Integer] + # + # source://spoom//lib/spoom/location.rb#42 + def end_column; end + + # @return [Integer] + # + # source://spoom//lib/spoom/location.rb#42 + def end_line; end + + # source://spoom//lib/spoom/location.rb#39 + sig { returns(::String) } + def file; end + + # source://spoom//lib/spoom/location.rb#62 + sig { params(other: ::Spoom::Location).returns(T::Boolean) } + def include?(other); end + + # @return [Integer] + # + # source://spoom//lib/spoom/location.rb#42 + def start_column; end + + # source://spoom//lib/spoom/location.rb#42 + sig { returns(::Integer) } + def start_line; end + + # source://spoom//lib/spoom/location.rb#80 + sig { returns(::String) } + def to_s; end + + class << self + # source://spoom//lib/spoom/location.rb#33 + 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.11480/lib/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 + Public = new + Protected = new + Private = 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 @@ -4160,7 +4058,7 @@ end Spoom::Sorbet::Config::DEFAULT_ALLOWED_EXTENSIONS = T.let(T.unsafe(nil), Array) # source://spoom//lib/spoom/sorbet.rb#14 -class Spoom::Sorbet::Error < ::StandardError +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 @@ -4188,11 +4086,11 @@ 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#125 +# source://spoom//lib/spoom/sorbet/errors.rb#127 class Spoom::Sorbet::Errors::Error include ::Comparable - # source://spoom//lib/spoom/sorbet/errors.rb#151 + # source://spoom//lib/spoom/sorbet/errors.rb#153 sig do params( file: T.nilable(::String), @@ -4206,39 +4104,39 @@ class Spoom::Sorbet::Errors::Error # By default errors are sorted by location # - # source://spoom//lib/spoom/sorbet/errors.rb#162 + # 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#133 + # source://spoom//lib/spoom/sorbet/errors.rb#135 def code; end - # source://spoom//lib/spoom/sorbet/errors.rb#130 + # 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#140 + # 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#133 + # 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#130 + # source://spoom//lib/spoom/sorbet/errors.rb#132 def message; end - # source://spoom//lib/spoom/sorbet/errors.rb#136 + # source://spoom//lib/spoom/sorbet/errors.rb#138 sig { returns(T::Array[::String]) } def more; end - # source://spoom//lib/spoom/sorbet/errors.rb#169 + # source://spoom//lib/spoom/sorbet/errors.rb#171 sig { returns(::String) } def to_s; end end @@ -4247,46 +4145,55 @@ end # # source://spoom//lib/spoom/sorbet/errors.rb#18 class Spoom::Sorbet::Errors::Parser - # source://spoom//lib/spoom/sorbet/errors.rb#43 + # 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#50 + # source://spoom//lib/spoom/sorbet/errors.rb#52 sig { params(output: ::String).returns(T::Array[::Spoom::Sorbet::Errors::Error]) } def parse(output); end private - # source://spoom//lib/spoom/sorbet/errors.rb#114 + # @raise [ParseError] + # + # source://spoom//lib/spoom/sorbet/errors.rb#116 sig { params(line: ::String).void } def append_error(line); end - # source://spoom//lib/spoom/sorbet/errors.rb#106 + # @raise [ParseError] + # + # source://spoom//lib/spoom/sorbet/errors.rb#108 sig { void } def close_error; end - # source://spoom//lib/spoom/sorbet/errors.rb#73 + # 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#90 + # 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 - # source://spoom//lib/spoom/sorbet/errors.rb#99 + # @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#36 + # 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#21 +# 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) @@ -4418,3 +4325,602 @@ 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