# typed: true # DO NOT EDIT MANUALLY # This is an autogenerated file for types exported from the `spoom` gem. # Please instead update this file by running `bin/tapioca gem spoom`. # typed: true # DO NOT EDIT MANUALLY # This is an autogenerated file for types exported from the `spoom` gem. # Please instead update this file by running `bundle exec spoom srb sigs export`. # source://spoom//lib/spoom.rb#7 module Spoom class << self # source://spoom//lib/spoom/parse.rb#11 sig { params(ruby: ::String, file: ::String, comments: T::Boolean).returns(::Prism::Node) } def parse_ruby(ruby, file:, comments: T.unsafe(nil)); end end end # source://spoom//lib/spoom/cli/helper.rb#9 module Spoom::Cli; end # source://spoom//lib/spoom/cli/deadcode.rb#8 class Spoom::Cli::Deadcode < ::Thor include ::Spoom::Colorize include ::Spoom::Cli::Helper # source://spoom//lib/spoom/cli/deadcode.rb#51 sig { params(paths: ::String).void } def deadcode(*paths); end # source://spoom//lib/spoom/cli.rb#71 def help(command = T.unsafe(nil), subcommand = T.unsafe(nil)); end # source://spoom//lib/spoom/cli/deadcode.rb#153 def remove(location_string); end end # source://spoom//lib/spoom/cli/helper.rb#11 module Spoom::Cli::Helper include ::Spoom::Colorize requires_ancestor { Thor } # source://spoom//lib/spoom/cli/helper.rb#146 sig { params(string: ::String).returns(::String) } def blue(string); end # Collect files from `paths`, defaulting to `exec_path` # # source://spoom//lib/spoom/cli/helper.rb#82 sig { params(paths: T::Array[::String], include_rbi_files: T::Boolean).returns(T::Array[::String]) } def collect_files(paths, include_rbi_files: T.unsafe(nil)); end # Is the `--color` option true? # # @return [Boolean] # # source://spoom//lib/spoom/cli/helper.rb#110 sig { returns(T::Boolean) } def color?; end # Colorize a string if `color?` # # source://spoom//lib/spoom/cli/helper.rb#139 sig { params(string: ::String, color: ::Spoom::Color).returns(::String) } def colorize(string, *color); end # Returns the context at `--path` (by default the current working directory) # # source://spoom//lib/spoom/cli/helper.rb#55 sig { returns(::Spoom::Context) } def context; end # Raise if `spoom` is not ran inside a context with a `sorbet/config` file # # source://spoom//lib/spoom/cli/helper.rb#61 sig { returns(::Spoom::Context) } def context_requiring_sorbet!; end # source://spoom//lib/spoom/cli/helper.rb#151 sig { params(string: ::String).returns(::String) } def cyan(string); end # Return the path specified through `--path` # # source://spoom//lib/spoom/cli/helper.rb#76 sig { returns(::String) } def exec_path; end # source://spoom//lib/spoom/cli/helper.rb#156 sig { params(string: ::String).returns(::String) } def gray(string); end # source://spoom//lib/spoom/cli/helper.rb#161 sig { params(string: ::String).returns(::String) } def green(string); end # source://spoom//lib/spoom/cli/helper.rb#115 sig { params(string: ::String).returns(::String) } def highlight(string); end # source://spoom//lib/spoom/cli/helper.rb#166 sig { params(string: ::String).returns(::String) } def red(string); end # Print `message` on `$stdout` # # source://spoom//lib/spoom/cli/helper.rb#16 sig { params(message: ::String).void } def say(message); end # Print `message` on `$stderr` # # The message is prefixed by a status (default: `Error`). # # source://spoom//lib/spoom/cli/helper.rb#29 sig { params(message: ::String, status: T.nilable(::String), nl: T::Boolean).void } def say_error(message, status: T.unsafe(nil), nl: T.unsafe(nil)); end # Print `message` on `$stderr` # # The message is prefixed by a status (default: `Warning`). # # source://spoom//lib/spoom/cli/helper.rb#43 sig { params(message: ::String, status: T.nilable(::String), nl: T::Boolean).void } def say_warning(message, status: T.unsafe(nil), nl: T.unsafe(nil)); end # source://spoom//lib/spoom/cli/helper.rb#171 sig { params(string: ::String).returns(::String) } def yellow(string); end end # source://spoom//lib/spoom/cli.rb#12 class Spoom::Cli::Main < ::Thor include ::Spoom::Colorize include ::Spoom::Cli::Helper # source://spoom//lib/spoom/cli.rb#100 def __print_version; end # source://spoom//lib/spoom/cli.rb#57 sig { params(directory: ::String).void } def bump(directory = T.unsafe(nil)); end # source://spoom//lib/spoom/cli.rb#64 def coverage(*args); end # source://spoom//lib/spoom/cli.rb#71 def deadcode(*args); end # source://spoom//lib/spoom/cli.rb#74 def lsp(*args); end # source://spoom//lib/spoom/cli.rb#21 def srb(*args); end # source://spoom//lib/spoom/cli.rb#93 def tc(*paths_to_select); end class << self # @return [Boolean] # # source://spoom//lib/spoom/cli.rb#107 def exit_on_failure?; end end end # source://spoom//lib/spoom/cli.rb#80 Spoom::Cli::Main::SORT_CODE = T.let(T.unsafe(nil), String) # source://spoom//lib/spoom/cli.rb#82 Spoom::Cli::Main::SORT_ENUM = T.let(T.unsafe(nil), Array) # source://spoom//lib/spoom/cli.rb#81 Spoom::Cli::Main::SORT_LOC = T.let(T.unsafe(nil), String) # source://spoom//lib/spoom/cli/srb/assertions.rb#6 module Spoom::Cli::Srb; end # source://spoom//lib/spoom/cli/srb/assertions.rb#7 class Spoom::Cli::Srb::Assertions < ::Thor include ::Spoom::Colorize include ::Spoom::Cli::Helper # source://spoom//lib/spoom/cli/srb.rb#17 def help(command = T.unsafe(nil), subcommand = T.unsafe(nil)); end # source://spoom//lib/spoom/cli/srb/assertions.rb#42 def transform_files(files, &block); end # source://spoom//lib/spoom/cli/srb/assertions.rb#18 def translate(*paths); end end # source://spoom//lib/spoom/cli/srb/bump.rb#10 class Spoom::Cli::Srb::Bump < ::Thor include ::Spoom::Colorize include ::Spoom::Cli::Helper # source://spoom//lib/spoom/cli/srb/bump.rb#49 sig { params(directory: ::String).void } def bump(directory = T.unsafe(nil)); end # source://spoom//lib/spoom/cli/srb.rb#20 def help(command = T.unsafe(nil), subcommand = T.unsafe(nil)); end # source://spoom//lib/spoom/cli/srb/bump.rb#170 def print_changes(files, command:, from: T.unsafe(nil), to: T.unsafe(nil), dry: T.unsafe(nil), path: T.unsafe(nil)); end # source://spoom//lib/spoom/cli/srb/bump.rb#192 def undo_changes(files, from_strictness); end end # source://spoom//lib/spoom/cli/srb/coverage.rb#10 class Spoom::Cli::Srb::Coverage < ::Thor include ::Spoom::Colorize include ::Spoom::Cli::Helper # source://spoom//lib/spoom/cli/srb/coverage.rb#199 def bundle_install(path, sha); end # source://spoom//lib/spoom/cli/srb.rb#23 def help(command = T.unsafe(nil), subcommand = T.unsafe(nil)); end # source://spoom//lib/spoom/cli/srb/coverage.rb#211 def message_no_data(file); end # source://spoom//lib/spoom/cli/srb/coverage.rb#174 def open(file = T.unsafe(nil)); end # source://spoom//lib/spoom/cli/srb/coverage.rb#190 def parse_time(string, option); end # source://spoom//lib/spoom/cli/srb/coverage.rb#143 def report; end # source://spoom//lib/spoom/cli/srb/coverage.rb#21 def snapshot; end # source://spoom//lib/spoom/cli/srb/coverage.rb#43 def timeline; end end # source://spoom//lib/spoom/cli/srb/coverage.rb#13 Spoom::Cli::Srb::Coverage::DATA_DIR = T.let(T.unsafe(nil), String) # source://spoom//lib/spoom/cli/srb/lsp.rb#11 class Spoom::Cli::Srb::LSP < ::Thor include ::Spoom::Colorize include ::Spoom::Cli::Helper # TODO: options, filter, limit, kind etc.. filter rbi # # source://spoom//lib/spoom/cli/srb/lsp.rb#45 def defs(file, line, col); end # TODO: options, filter, limit, kind etc.. filter rbi # # source://spoom//lib/spoom/cli/srb/lsp.rb#55 def find(query); end # source://spoom//lib/spoom/cli/srb.rb#26 def help(command = T.unsafe(nil), subcommand = T.unsafe(nil)); end # TODO: options, filter, limit, kind etc.. filter rbi # # source://spoom//lib/spoom/cli/srb/lsp.rb#31 def hover(file, line, col); end # TODO: options, filter, limit, kind etc.. filter rbi # # source://spoom//lib/spoom/cli/srb/lsp.rb#16 def list; end # source://spoom//lib/spoom/cli/srb/lsp.rb#104 def lsp_client; end # TODO: options, filter, limit, kind etc.. filter rbi # # source://spoom//lib/spoom/cli/srb/lsp.rb#75 def refs(file, line, col); end # source://spoom//lib/spoom/cli/srb/lsp.rb#127 def run(&block); end # TODO: options, filter, limit, kind etc.. filter rbi # # source://spoom//lib/spoom/cli/srb/lsp.rb#85 def sigs(file, line, col); end # source://spoom//lib/spoom/cli/srb/lsp.rb#119 def symbol_printer; end # TODO: options, filter, limit, kind etc.. filter rbi # # source://spoom//lib/spoom/cli/srb/lsp.rb#65 def symbols(file); end # source://spoom//lib/spoom/cli/srb/lsp.rb#152 def to_uri(path); end # TODO: options, filter, limit, kind etc.. filter rbi # # source://spoom//lib/spoom/cli/srb/lsp.rb#95 def types(file, line, col); end end # source://spoom//lib/spoom/cli/srb.rb#15 class Spoom::Cli::Srb::Main < ::Thor # source://spoom//lib/spoom/cli/srb.rb#17 def assertions(*args); end # source://spoom//lib/spoom/cli/srb.rb#20 def bump(*args); end # source://spoom//lib/spoom/cli/srb.rb#23 def coverage(*args); end # source://spoom//lib/spoom/cli.rb#21 def help(command = T.unsafe(nil), subcommand = T.unsafe(nil)); end # source://spoom//lib/spoom/cli/srb.rb#26 def lsp(*args); end # source://spoom//lib/spoom/cli/srb.rb#29 def metrics(*args); end # source://spoom//lib/spoom/cli/srb.rb#32 def sigs(*args); end # source://spoom//lib/spoom/cli/srb.rb#35 def tc(*args); end end # source://spoom//lib/spoom/cli/srb/metrics.rb#7 class Spoom::Cli::Srb::Metrics < ::Thor include ::Spoom::Colorize include ::Spoom::Cli::Helper # source://spoom//lib/spoom/cli/srb.rb#29 def help(command = T.unsafe(nil), subcommand = T.unsafe(nil)); end # source://spoom//lib/spoom/cli/srb/metrics.rb#14 def show(*paths); end end # source://spoom//lib/spoom/cli/srb/sigs.rb#7 class Spoom::Cli::Srb::Sigs < ::Thor include ::Spoom::Colorize include ::Spoom::Cli::Helper # source://spoom//lib/spoom/cli/srb/sigs.rb#222 def exec(context, command); end # source://spoom//lib/spoom/cli/srb/sigs.rb#93 def export(output_path = T.unsafe(nil)); end # source://spoom//lib/spoom/cli/srb.rb#32 def help(command = T.unsafe(nil), subcommand = T.unsafe(nil)); end # source://spoom//lib/spoom/cli/srb/sigs.rb#74 def strip(*paths); end # source://spoom//lib/spoom/cli/srb/sigs.rb#199 def transform_files(files, &block); end # source://spoom//lib/spoom/cli/srb/sigs.rb#23 def translate(*paths); end end # source://spoom//lib/spoom/cli/srb/tc.rb#7 class Spoom::Cli::Srb::Tc < ::Thor include ::Spoom::Colorize include ::Spoom::Cli::Helper # source://spoom//lib/spoom/cli/srb/tc.rb#147 def colorize_message(message); end # source://spoom//lib/spoom/cli/srb/tc.rb#138 def format_error(error, format); end # source://spoom//lib/spoom/cli/srb.rb#35 def help(command = T.unsafe(nil), subcommand = T.unsafe(nil)); end # source://spoom//lib/spoom/cli/srb/tc.rb#28 def tc(*paths_to_select); end end # source://spoom//lib/spoom/cli/srb/tc.rb#16 Spoom::Cli::Srb::Tc::DEFAULT_FORMAT = T.let(T.unsafe(nil), String) # source://spoom//lib/spoom/cli/srb/tc.rb#12 Spoom::Cli::Srb::Tc::SORT_CODE = T.let(T.unsafe(nil), String) # source://spoom//lib/spoom/cli/srb/tc.rb#14 Spoom::Cli::Srb::Tc::SORT_ENUM = T.let(T.unsafe(nil), Array) # source://spoom//lib/spoom/cli/srb/tc.rb#13 Spoom::Cli::Srb::Tc::SORT_LOC = T.let(T.unsafe(nil), String) # source://spoom//lib/spoom/colors.rb#5 class Spoom::Color < ::T::Enum enums do BLACK = new BLUE = new BOLD = new CLEAR = new CYAN = new GREEN = new LIGHT_BLACK = new LIGHT_BLUE = new LIGHT_CYAN = new LIGHT_GREEN = new LIGHT_MAGENTA = new LIGHT_RED = new LIGHT_WHITE = new LIGHT_YELLOW = new MAGENTA = new RED = new WHITE = new YELLOW = new end # source://spoom//lib/spoom/colors.rb#30 sig { returns(::String) } def ansi_code; end end # source://spoom//lib/spoom/colors.rb#35 module Spoom::Colorize # source://spoom//lib/spoom/colors.rb#37 sig { params(string: ::String, color: ::Spoom::Color).returns(::String) } def set_color(string, *color); end end # An abstraction to a Ruby project context # # A context maps to a directory in the file system. # It is used to manipulate files and run commands in the context of this directory. # # source://spoom//lib/spoom/context/bundle.rb#5 class Spoom::Context include ::Spoom::Context::Bundle include ::Spoom::Context::Exec include ::Spoom::Context::FileSystem include ::Spoom::Context::Git include ::Spoom::Context::Sorbet # Create a new context about `absolute_path` # # The directory will not be created if it doesn't exist. # Call `#make!` to create it. # # @return [Context] a new instance of Context # # source://spoom//lib/spoom/context.rb#47 sig { params(absolute_path: ::String).void } def initialize(absolute_path); end # The absolute path to the directory this context is about # # source://spoom//lib/spoom/context.rb#40 sig { returns(::String) } def absolute_path; end class << self # Create a new context in the system's temporary directory # # `name` is used as prefix to the temporary directory name. # The directory will be created if it doesn't exist. # # source://spoom//lib/spoom/context.rb#33 sig { params(name: T.nilable(::String)).returns(T.attached_class) } def mktmp!(name = T.unsafe(nil)); end end end # Bundle features for a context # # source://spoom//lib/spoom/context/bundle.rb#8 module Spoom::Context::Bundle requires_ancestor { Spoom::Context } # Run a command with `bundle` in this context directory # # source://spoom//lib/spoom/context/bundle.rb#29 sig { params(command: ::String, version: T.nilable(::String), capture_err: T::Boolean).returns(::Spoom::ExecResult) } def bundle(command, version: T.unsafe(nil), capture_err: T.unsafe(nil)); end # Run a command `bundle exec` in this context directory # # source://spoom//lib/spoom/context/bundle.rb#42 sig { params(command: ::String, version: T.nilable(::String), capture_err: T::Boolean).returns(::Spoom::ExecResult) } def bundle_exec(command, version: T.unsafe(nil), capture_err: T.unsafe(nil)); end # Run `bundle install` in this context directory # # source://spoom//lib/spoom/context/bundle.rb#36 sig { params(version: T.nilable(::String), capture_err: T::Boolean).returns(::Spoom::ExecResult) } def bundle_install!(version: T.unsafe(nil), capture_err: T.unsafe(nil)); end # Get `gem` version from the `Gemfile.lock` content # # Returns `nil` if `gem` cannot be found in the Gemfile. # # source://spoom//lib/spoom/context/bundle.rb#58 sig { params(gem: ::String).returns(T.nilable(::Gem::Version)) } def gem_version_from_gemfile_lock(gem); end # source://spoom//lib/spoom/context/bundle.rb#47 sig { returns(T::Hash[::String, ::Bundler::LazySpecification]) } def gemfile_lock_specs; end # Read the contents of the Gemfile in this context directory # # source://spoom//lib/spoom/context/bundle.rb#11 sig { returns(T.nilable(::String)) } def read_gemfile; end # Read the contents of the Gemfile.lock in this context directory # # source://spoom//lib/spoom/context/bundle.rb#17 sig { returns(T.nilable(::String)) } def read_gemfile_lock; end # Set the `contents` of the Gemfile in this context directory # # source://spoom//lib/spoom/context/bundle.rb#23 sig { params(contents: ::String, append: T::Boolean).void } def write_gemfile!(contents, append: T.unsafe(nil)); end end # Execution features for a context # # source://spoom//lib/spoom/context/exec.rb#26 module Spoom::Context::Exec requires_ancestor { Spoom::Context } # Run a command in this context directory # # source://spoom//lib/spoom/context/exec.rb#29 sig { params(command: ::String, capture_err: T::Boolean).returns(::Spoom::ExecResult) } def exec(command, capture_err: T.unsafe(nil)); end end # File System features for a context # # source://spoom//lib/spoom/context/file_system.rb#8 module Spoom::Context::FileSystem requires_ancestor { Spoom::Context } # Returns the absolute path to `relative_path` in the context's directory # # source://spoom//lib/spoom/context/file_system.rb#11 sig { params(relative_path: ::String).returns(::String) } def absolute_path_to(relative_path); end # source://spoom//lib/spoom/context/file_system.rb#43 sig do params( allow_extensions: T::Array[::String], allow_mime_types: T::Array[::String], exclude_patterns: T::Array[::String] ).returns(T::Array[::String]) end def collect_files(allow_extensions: T.unsafe(nil), allow_mime_types: T.unsafe(nil), exclude_patterns: T.unsafe(nil)); end # Delete this context and its content # # Warning: it will `rm -rf` the context directory on the file system. # # source://spoom//lib/spoom/context/file_system.rb#95 sig { void } def destroy!; end # Does the context directory at `absolute_path` exist and is a directory? # # @return [Boolean] # # source://spoom//lib/spoom/context/file_system.rb#17 sig { returns(T::Boolean) } def exist?; end # Does `relative_path` point to an existing file in this context directory? # # @return [Boolean] # # source://spoom//lib/spoom/context/file_system.rb#55 sig { params(relative_path: ::String).returns(T::Boolean) } def file?(relative_path); end # List all files in this context matching `pattern` # # source://spoom//lib/spoom/context/file_system.rb#30 sig { params(pattern: ::String).returns(T::Array[::String]) } def glob(pattern = T.unsafe(nil)); end # List all files at the top level of this context directory # # source://spoom//lib/spoom/context/file_system.rb#38 sig { returns(T::Array[::String]) } def list; end # Create the context directory at `absolute_path` # # source://spoom//lib/spoom/context/file_system.rb#23 sig { void } def mkdir!; end # Move the file or directory from `from_relative_path` to `to_relative_path` # # source://spoom//lib/spoom/context/file_system.rb#85 sig { params(from_relative_path: ::String, to_relative_path: ::String).void } def move!(from_relative_path, to_relative_path); end # Return the contents of the file at `relative_path` in this context directory # # Will raise if the file doesn't exist. # # source://spoom//lib/spoom/context/file_system.rb#63 sig { params(relative_path: ::String).returns(::String) } def read(relative_path); end # Remove the path at `relative_path` (recursive + force) in this context directory # # source://spoom//lib/spoom/context/file_system.rb#79 sig { params(relative_path: ::String).void } def remove!(relative_path); end # Write `contents` in the file at `relative_path` in this context directory # # Append to the file if `append` is true. # # source://spoom//lib/spoom/context/file_system.rb#71 sig { params(relative_path: ::String, contents: ::String, append: T::Boolean).void } def write!(relative_path, contents = T.unsafe(nil), append: T.unsafe(nil)); end end # Git features for a context # # source://spoom//lib/spoom/context/git.rb#32 module Spoom::Context::Git requires_ancestor { Spoom::Context } # Run a command prefixed by `git` in this context directory # # source://spoom//lib/spoom/context/git.rb#35 sig { params(command: ::String).returns(::Spoom::ExecResult) } def git(command); end # Run `git checkout` in this context directory # # source://spoom//lib/spoom/context/git.rb#54 sig { params(ref: ::String).returns(::Spoom::ExecResult) } def git_checkout!(ref: T.unsafe(nil)); end # Run `git checkout -b ` in this context directory # # source://spoom//lib/spoom/context/git.rb#60 sig { params(branch_name: ::String, ref: T.nilable(::String)).returns(::Spoom::ExecResult) } def git_checkout_new_branch!(branch_name, ref: T.unsafe(nil)); end # Run `git add . && git commit` in this context directory # # source://spoom//lib/spoom/context/git.rb#70 sig { params(message: ::String, time: ::Time, allow_empty: T::Boolean).returns(::Spoom::ExecResult) } def git_commit!(message: T.unsafe(nil), time: T.unsafe(nil), allow_empty: T.unsafe(nil)); end # Get the current git branch in this context directory # # source://spoom//lib/spoom/context/git.rb#81 sig { returns(T.nilable(::String)) } def git_current_branch; end # Run `git diff` in this context directory # # source://spoom//lib/spoom/context/git.rb#90 sig { params(arg: ::String).returns(::Spoom::ExecResult) } def git_diff(*arg); end # Run `git init` in this context directory # # Warning: passing a branch will run `git init -b ` which is only available in git 2.28+. # In older versions, use `git_init!` followed by `git("checkout -b ")`. # # source://spoom//lib/spoom/context/git.rb#44 sig { params(branch: T.nilable(::String)).returns(::Spoom::ExecResult) } def git_init!(branch: T.unsafe(nil)); end # Get the last commit in the currently checked out branch # # source://spoom//lib/spoom/context/git.rb#96 sig { params(short_sha: T::Boolean).returns(T.nilable(::Spoom::Git::Commit)) } def git_last_commit(short_sha: T.unsafe(nil)); end # source://spoom//lib/spoom/context/git.rb#107 sig { params(arg: ::String).returns(::Spoom::ExecResult) } def git_log(*arg); end # Run `git push ` in this context directory # # source://spoom//lib/spoom/context/git.rb#113 sig { params(remote: ::String, ref: ::String, force: T::Boolean).returns(::Spoom::ExecResult) } def git_push!(remote, ref, force: T.unsafe(nil)); end # source://spoom//lib/spoom/context/git.rb#118 sig { params(arg: ::String).returns(::Spoom::ExecResult) } def git_show(*arg); end # Is there uncommitted changes in this context directory? # # @return [Boolean] # # source://spoom//lib/spoom/context/git.rb#124 sig { params(path: ::String).returns(T::Boolean) } def git_workdir_clean?(path: T.unsafe(nil)); end end # Sorbet features for a context # # source://spoom//lib/spoom/context/sorbet.rb#8 module Spoom::Context::Sorbet requires_ancestor { Spoom::Context } # Does this context has a `sorbet/config` file? # # @return [Boolean] # # source://spoom//lib/spoom/context/sorbet.rb#103 sig { returns(T::Boolean) } def has_sorbet_config?; end # Read the strictness sigil from the file at `relative_path` (returns `nil` if no sigil) # # source://spoom//lib/spoom/context/sorbet.rb#126 sig { params(relative_path: ::String).returns(T.nilable(::String)) } def read_file_strictness(relative_path); end # Read the contents of `sorbet/config` in this context directory # # source://spoom//lib/spoom/context/sorbet.rb#114 sig { returns(::String) } def read_sorbet_config; end # source://spoom//lib/spoom/context/sorbet.rb#108 sig { returns(::Spoom::Sorbet::Config) } def sorbet_config; end # Get the commit introducing the `sorbet/config` file # # source://spoom//lib/spoom/context/sorbet.rb#132 sig { returns(T.nilable(::Spoom::Git::Commit)) } def sorbet_intro_commit; end # Get the commit removing the `sorbet/config` file # # source://spoom//lib/spoom/context/sorbet.rb#144 sig { returns(T.nilable(::Spoom::Git::Commit)) } def sorbet_removal_commit; end # Run `bundle exec srb` in this context directory # # source://spoom//lib/spoom/context/sorbet.rb#11 sig { params(arg: ::String, sorbet_bin: T.nilable(::String), capture_err: T::Boolean).returns(::Spoom::ExecResult) } def srb(*arg, sorbet_bin: T.unsafe(nil), capture_err: T.unsafe(nil)); end # List all files typechecked by Sorbet from its `config` # # source://spoom//lib/spoom/context/sorbet.rb#55 sig { params(with_config: T.nilable(::Spoom::Sorbet::Config), include_rbis: T::Boolean).returns(T::Array[::String]) } def srb_files(with_config: T.unsafe(nil), include_rbis: T.unsafe(nil)); end # List all files typechecked by Sorbet from its `config` that matches `strictness` # # source://spoom//lib/spoom/context/sorbet.rb#88 sig do params( strictness: ::String, with_config: T.nilable(::Spoom::Sorbet::Config), include_rbis: T::Boolean ).returns(T::Array[::String]) end def srb_files_with_strictness(strictness, with_config: T.unsafe(nil), include_rbis: T.unsafe(nil)); end # source://spoom//lib/spoom/context/sorbet.rb#35 sig do params( arg: ::String, sorbet_bin: T.nilable(::String), capture_err: T::Boolean ).returns(T.nilable(T::Hash[::String, ::Integer])) end def srb_metrics(*arg, sorbet_bin: T.unsafe(nil), capture_err: T.unsafe(nil)); end # source://spoom//lib/spoom/context/sorbet.rb#29 sig { params(arg: ::String, sorbet_bin: T.nilable(::String), capture_err: T::Boolean).returns(::Spoom::ExecResult) } def srb_tc(*arg, sorbet_bin: T.unsafe(nil), capture_err: T.unsafe(nil)); end # source://spoom//lib/spoom/context/sorbet.rb#94 sig { params(arg: ::String, sorbet_bin: T.nilable(::String), capture_err: T::Boolean).returns(T.nilable(::String)) } def srb_version(*arg, sorbet_bin: T.unsafe(nil), capture_err: T.unsafe(nil)); end # Set the `contents` of `sorbet/config` in this context directory # # source://spoom//lib/spoom/context/sorbet.rb#120 sig { params(contents: ::String, append: T::Boolean).void } def write_sorbet_config!(contents, append: T.unsafe(nil)); end end # source://spoom//lib/spoom/counters.rb#6 class Spoom::Counters < ::Hash extend T::Generic K = type_member { { fixed: String } } V = type_member { { fixed: Integer } } Elem = type_member { { fixed: [String, Integer] } } # @return [Counters] a new instance of Counters # # source://spoom//lib/spoom/counters.rb#8 sig { void } def initialize; end # source://spoom//lib/spoom/counters.rb#18 sig { params(key: ::String).returns(::Integer) } def [](key); end # source://spoom//lib/spoom/counters.rb#13 sig { params(key: ::String).void } def increment(key); end end # source://spoom//lib/spoom/coverage/snapshot.rb#5 module Spoom::Coverage class << self # source://spoom//lib/spoom/coverage.rb#101 sig { params(context: ::Spoom::Context).returns(::Spoom::FileTree) } def file_tree(context); end # source://spoom//lib/spoom/coverage.rb#81 sig do params( context: ::Spoom::Context, snapshots: T::Array[::Spoom::Coverage::Snapshot], palette: ::Spoom::Coverage::D3::ColorPalette ).returns(::Spoom::Coverage::Report) end def report(context, snapshots, palette:); end # source://spoom//lib/spoom/coverage.rb#14 sig do params( context: ::Spoom::Context, rbi: T::Boolean, sorbet_bin: T.nilable(::String) ).returns(::Spoom::Coverage::Snapshot) end def snapshot(context, rbi: T.unsafe(nil), sorbet_bin: T.unsafe(nil)); end end end # source://spoom//lib/spoom/coverage/report.rb#81 module Spoom::Coverage::Cards; end # source://spoom//lib/spoom/coverage/report.rb#82 class Spoom::Coverage::Cards::Card < ::Spoom::Coverage::Template # @return [Card] a new instance of Card # # source://spoom//lib/spoom/coverage/report.rb#89 sig { params(template: ::String, title: T.nilable(::String), body: T.nilable(::String)).void } def initialize(template: T.unsafe(nil), title: T.unsafe(nil), body: T.unsafe(nil)); end # source://spoom//lib/spoom/coverage/report.rb#86 def body; end # source://spoom//lib/spoom/coverage/report.rb#86 sig { returns(T.nilable(::String)) } def title; end end # source://spoom//lib/spoom/coverage/report.rb#83 Spoom::Coverage::Cards::Card::TEMPLATE = T.let(T.unsafe(nil), String) # @abstract # # source://spoom//lib/spoom/coverage/report.rb#97 class Spoom::Coverage::Cards::Erb < ::Spoom::Coverage::Cards::Card abstract! # @return [Erb] a new instance of Erb # # source://spoom//lib/spoom/coverage/report.rb#99 sig { void } def initialize; end # @abstract # @raise [NotImplementedError] # # source://spoom//lib/spoom/coverage/report.rb#109 sig { abstract.returns(::String) } def erb; end # source://spoom//lib/spoom/coverage/report.rb#103 sig { override.returns(::String) } def html; end end # source://spoom//lib/spoom/coverage/report.rb#140 class Spoom::Coverage::Cards::Map < ::Spoom::Coverage::Cards::Card # @return [Map] a new instance of Map # # source://spoom//lib/spoom/coverage/report.rb#142 sig do params( file_tree: ::Spoom::FileTree, nodes_strictnesses: T::Hash[::Spoom::FileTree::Node, T.nilable(::String)], nodes_strictness_scores: T::Hash[::Spoom::FileTree::Node, ::Float], title: ::String ).void end def initialize(file_tree:, nodes_strictnesses:, nodes_strictness_scores:, title: T.unsafe(nil)); end end # source://spoom//lib/spoom/coverage/report.rb#112 class Spoom::Coverage::Cards::Snapshot < ::Spoom::Coverage::Cards::Card # @return [Snapshot] a new instance of Snapshot # # source://spoom//lib/spoom/coverage/report.rb#119 sig { params(snapshot: ::Spoom::Coverage::Snapshot, title: ::String).void } def initialize(snapshot:, title: T.unsafe(nil)); end # source://spoom//lib/spoom/coverage/report.rb#130 sig { returns(::Spoom::Coverage::D3::Pie::Calls) } def pie_calls; end # source://spoom//lib/spoom/coverage/report.rb#125 sig { returns(::Spoom::Coverage::D3::Pie::Sigils) } def pie_sigils; end # source://spoom//lib/spoom/coverage/report.rb#135 sig { returns(::Spoom::Coverage::D3::Pie::Sigs) } def pie_sigs; end # source://spoom//lib/spoom/coverage/report.rb#116 sig { returns(::Spoom::Coverage::Snapshot) } def snapshot; end end # source://spoom//lib/spoom/coverage/report.rb#113 Spoom::Coverage::Cards::Snapshot::TEMPLATE = T.let(T.unsafe(nil), String) # source://spoom//lib/spoom/coverage/report.rb#204 class Spoom::Coverage::Cards::SorbetIntro < ::Spoom::Coverage::Cards::Erb # @return [SorbetIntro] a new instance of SorbetIntro # # source://spoom//lib/spoom/coverage/report.rb#206 sig { params(sorbet_intro_commit: T.nilable(::String), sorbet_intro_date: T.nilable(::Time)).void } def initialize(sorbet_intro_commit: T.unsafe(nil), sorbet_intro_date: T.unsafe(nil)); end # source://spoom//lib/spoom/coverage/report.rb#213 sig { override.returns(::String) } def erb; end end # source://spoom//lib/spoom/coverage/report.rb#155 class Spoom::Coverage::Cards::Timeline < ::Spoom::Coverage::Cards::Card # @return [Timeline] a new instance of Timeline # # source://spoom//lib/spoom/coverage/report.rb#157 sig { params(title: ::String, timeline: ::Spoom::Coverage::D3::Timeline).void } def initialize(title:, timeline:); end end # source://spoom//lib/spoom/coverage/report.rb#168 class Spoom::Coverage::Cards::Timeline::Calls < ::Spoom::Coverage::Cards::Timeline # @return [Calls] a new instance of Calls # # source://spoom//lib/spoom/coverage/report.rb#170 sig { params(snapshots: T::Array[::Spoom::Coverage::Snapshot], title: ::String).void } def initialize(snapshots:, title: T.unsafe(nil)); end end # source://spoom//lib/spoom/coverage/report.rb#182 class Spoom::Coverage::Cards::Timeline::RBIs < ::Spoom::Coverage::Cards::Timeline # @return [RBIs] a new instance of RBIs # # source://spoom//lib/spoom/coverage/report.rb#184 sig { params(snapshots: T::Array[::Spoom::Coverage::Snapshot], title: ::String).void } def initialize(snapshots:, title: T.unsafe(nil)); end end # source://spoom//lib/spoom/coverage/report.rb#196 class Spoom::Coverage::Cards::Timeline::Runtimes < ::Spoom::Coverage::Cards::Timeline # @return [Runtimes] a new instance of Runtimes # # source://spoom//lib/spoom/coverage/report.rb#198 sig { params(snapshots: T::Array[::Spoom::Coverage::Snapshot], title: ::String).void } def initialize(snapshots:, title: T.unsafe(nil)); end end # source://spoom//lib/spoom/coverage/report.rb#161 class Spoom::Coverage::Cards::Timeline::Sigils < ::Spoom::Coverage::Cards::Timeline # @return [Sigils] a new instance of Sigils # # source://spoom//lib/spoom/coverage/report.rb#163 sig { params(snapshots: T::Array[::Spoom::Coverage::Snapshot], title: ::String).void } def initialize(snapshots:, title: T.unsafe(nil)); end end # source://spoom//lib/spoom/coverage/report.rb#175 class Spoom::Coverage::Cards::Timeline::Sigs < ::Spoom::Coverage::Cards::Timeline # @return [Sigs] a new instance of Sigs # # source://spoom//lib/spoom/coverage/report.rb#177 sig { params(snapshots: T::Array[::Spoom::Coverage::Snapshot], title: ::String).void } def initialize(snapshots:, title: T.unsafe(nil)); end end # source://spoom//lib/spoom/coverage/report.rb#189 class Spoom::Coverage::Cards::Timeline::Versions < ::Spoom::Coverage::Cards::Timeline # @return [Versions] a new instance of Versions # # source://spoom//lib/spoom/coverage/report.rb#191 sig { params(snapshots: T::Array[::Spoom::Coverage::Snapshot], title: ::String).void } def initialize(snapshots:, title: T.unsafe(nil)); end end # source://spoom//lib/spoom/coverage/d3/base.rb#6 module Spoom::Coverage::D3 class << self # source://spoom//lib/spoom/coverage/d3.rb#59 sig { params(palette: ::Spoom::Coverage::D3::ColorPalette).returns(::String) } def header_script(palette); end # source://spoom//lib/spoom/coverage/d3.rb#19 sig { returns(::String) } def header_style; end end end # @abstract # # source://spoom//lib/spoom/coverage/d3/base.rb#8 class Spoom::Coverage::D3::Base abstract! # @return [Base] a new instance of Base # # source://spoom//lib/spoom/coverage/d3/base.rb#13 sig { params(id: ::String, data: T.untyped).void } def initialize(id, data); end # source://spoom//lib/spoom/coverage/d3/base.rb#31 sig { returns(::String) } def html; end # source://spoom//lib/spoom/coverage/d3/base.rb#10 sig { returns(::String) } def id; end # @abstract # @raise [NotImplementedError] # # source://spoom//lib/spoom/coverage/d3/base.rb#45 sig { abstract.returns(::String) } def script; end # source://spoom//lib/spoom/coverage/d3/base.rb#39 sig { returns(::String) } def tooltip; end class << self # source://spoom//lib/spoom/coverage/d3/base.rb#25 sig { returns(::String) } def header_script; end # source://spoom//lib/spoom/coverage/d3/base.rb#20 sig { returns(::String) } def header_style; end end end # source://spoom//lib/spoom/coverage/d3.rb#12 Spoom::Coverage::D3::COLOR_FALSE = T.let(T.unsafe(nil), String) # source://spoom//lib/spoom/coverage/d3.rb#11 Spoom::Coverage::D3::COLOR_IGNORE = T.let(T.unsafe(nil), String) # source://spoom//lib/spoom/coverage/d3.rb#14 Spoom::Coverage::D3::COLOR_STRICT = T.let(T.unsafe(nil), String) # source://spoom//lib/spoom/coverage/d3.rb#15 Spoom::Coverage::D3::COLOR_STRONG = T.let(T.unsafe(nil), String) # source://spoom//lib/spoom/coverage/d3.rb#13 Spoom::Coverage::D3::COLOR_TRUE = T.let(T.unsafe(nil), String) # source://spoom//lib/spoom/coverage/d3/circle_map.rb#9 class Spoom::Coverage::D3::CircleMap < ::Spoom::Coverage::D3::Base # source://spoom//lib/spoom/coverage/d3/circle_map.rb#58 sig { override.returns(::String) } def script; end class << self # source://spoom//lib/spoom/coverage/d3/circle_map.rb#38 sig { returns(::String) } def header_script; end # source://spoom//lib/spoom/coverage/d3/circle_map.rb#12 sig { returns(::String) } def header_style; end end end # source://spoom//lib/spoom/coverage/d3/circle_map.rb#147 class Spoom::Coverage::D3::CircleMap::Sigils < ::Spoom::Coverage::D3::CircleMap # @return [Sigils] a new instance of Sigils # # source://spoom//lib/spoom/coverage/d3/circle_map.rb#149 sig do params( id: ::String, file_tree: ::Spoom::FileTree, nodes_strictnesses: T::Hash[::Spoom::FileTree::Node, T.nilable(::String)], nodes_scores: T::Hash[::Spoom::FileTree::Node, ::Float] ).void end def initialize(id, file_tree, nodes_strictnesses, nodes_scores); end # source://spoom//lib/spoom/coverage/d3/circle_map.rb#156 sig { params(node: ::Spoom::FileTree::Node).returns(T::Hash[::Symbol, T.untyped]) } def tree_node_to_json(node); end end # source://spoom//lib/spoom/coverage/d3.rb#101 class Spoom::Coverage::D3::ColorPalette < ::T::Struct prop :ignore, ::String prop :false, ::String prop :true, ::String prop :strict, ::String prop :strong, ::String end # @abstract # # source://spoom//lib/spoom/coverage/d3/pie.rb#10 class Spoom::Coverage::D3::Pie < ::Spoom::Coverage::D3::Base abstract! # @return [Pie] a new instance of Pie # # source://spoom//lib/spoom/coverage/d3/pie.rb#12 sig { params(id: ::String, title: ::String, data: T.untyped).void } def initialize(id, title, data); end # source://spoom//lib/spoom/coverage/d3/pie.rb#51 sig { override.returns(::String) } def script; end class << self # source://spoom//lib/spoom/coverage/d3/pie.rb#37 sig { returns(::String) } def header_script; end # source://spoom//lib/spoom/coverage/d3/pie.rb#19 sig { returns(::String) } def header_style; end end end # source://spoom//lib/spoom/coverage/d3/pie.rb#135 class Spoom::Coverage::D3::Pie::Calls < ::Spoom::Coverage::D3::Pie # @return [Calls] a new instance of Calls # # source://spoom//lib/spoom/coverage/d3/pie.rb#137 sig { params(id: ::String, title: ::String, snapshot: ::Spoom::Coverage::Snapshot).void } def initialize(id, title, snapshot); end # source://spoom//lib/spoom/coverage/d3/pie.rb#143 sig { override.returns(::String) } def tooltip; end end # source://spoom//lib/spoom/coverage/d3/pie.rb#118 class Spoom::Coverage::D3::Pie::Sigils < ::Spoom::Coverage::D3::Pie # @return [Sigils] a new instance of Sigils # # source://spoom//lib/spoom/coverage/d3/pie.rb#120 sig { params(id: ::String, title: ::String, snapshot: ::Spoom::Coverage::Snapshot).void } def initialize(id, title, snapshot); end # source://spoom//lib/spoom/coverage/d3/pie.rb#126 sig { override.returns(::String) } def tooltip; end end # source://spoom//lib/spoom/coverage/d3/pie.rb#152 class Spoom::Coverage::D3::Pie::Sigs < ::Spoom::Coverage::D3::Pie # @return [Sigs] a new instance of Sigs # # source://spoom//lib/spoom/coverage/d3/pie.rb#154 sig { params(id: ::String, title: ::String, snapshot: ::Spoom::Coverage::Snapshot).void } def initialize(id, title, snapshot); end # source://spoom//lib/spoom/coverage/d3/pie.rb#164 sig { override.returns(::String) } def tooltip; end end # @abstract # # source://spoom//lib/spoom/coverage/d3/timeline.rb#10 class Spoom::Coverage::D3::Timeline < ::Spoom::Coverage::D3::Base abstract! # @return [Timeline] a new instance of Timeline # # source://spoom//lib/spoom/coverage/d3/timeline.rb#12 sig { params(id: ::String, data: T.untyped, keys: T::Array[::String]).void } def initialize(id, data, keys); end # source://spoom//lib/spoom/coverage/d3/timeline.rb#183 sig { params(y: ::String, color: ::String, curve: ::String).returns(::String) } def area(y:, color: T.unsafe(nil), curve: T.unsafe(nil)); end # source://spoom//lib/spoom/coverage/d3/timeline.rb#199 sig { params(y: ::String, color: ::String, curve: ::String).returns(::String) } def line(y:, color: T.unsafe(nil), curve: T.unsafe(nil)); end # @abstract # @raise [NotImplementedError] # # source://spoom//lib/spoom/coverage/d3/timeline.rb#122 sig { abstract.returns(::String) } def plot; end # source://spoom//lib/spoom/coverage/d3/timeline.rb#213 sig { params(y: ::String).returns(::String) } def points(y:); end # source://spoom//lib/spoom/coverage/d3/timeline.rb#96 sig { override.returns(::String) } def script; end # source://spoom//lib/spoom/coverage/d3/timeline.rb#125 sig { returns(::String) } def x_scale; end # source://spoom//lib/spoom/coverage/d3/timeline.rb#141 sig { returns(::String) } def x_ticks; end # source://spoom//lib/spoom/coverage/d3/timeline.rb#154 sig { params(min: ::String, max: ::String, ticks: ::String).returns(::String) } def y_scale(min:, max:, ticks:); end # source://spoom//lib/spoom/coverage/d3/timeline.rb#170 sig { params(ticks: ::String, format: ::String, padding: ::Integer).returns(::String) } def y_ticks(ticks:, format:, padding:); end class << self # source://spoom//lib/spoom/coverage/d3/timeline.rb#73 sig { returns(::String) } def header_script; end # source://spoom//lib/spoom/coverage/d3/timeline.rb#19 sig { returns(::String) } def header_style; end end end # source://spoom//lib/spoom/coverage/d3/timeline.rb#442 class Spoom::Coverage::D3::Timeline::Calls < ::Spoom::Coverage::D3::Timeline::Stacked # @return [Calls] a new instance of Calls # # source://spoom//lib/spoom/coverage/d3/timeline.rb#444 sig { params(id: ::String, snapshots: T::Array[::Spoom::Coverage::Snapshot]).void } def initialize(id, snapshots); end # source://spoom//lib/spoom/coverage/d3/timeline.rb#459 sig { override.returns(::String) } def tooltip; end end # source://spoom//lib/spoom/coverage/d3/timeline.rb#497 class Spoom::Coverage::D3::Timeline::RBIs < ::Spoom::Coverage::D3::Timeline::Stacked # @return [RBIs] a new instance of RBIs # # source://spoom//lib/spoom/coverage/d3/timeline.rb#499 sig { params(id: ::String, snapshots: T::Array[::Spoom::Coverage::Snapshot]).void } def initialize(id, snapshots); end # source://spoom//lib/spoom/coverage/d3/timeline.rb#570 sig { override.params(y: ::String, color: ::String, curve: ::String).returns(::String) } def line(y:, color: T.unsafe(nil), curve: T.unsafe(nil)); end # source://spoom//lib/spoom/coverage/d3/timeline.rb#611 sig { override.returns(::String) } def plot; end # source://spoom//lib/spoom/coverage/d3/timeline.rb#529 sig { override.returns(::String) } def script; end # source://spoom//lib/spoom/coverage/d3/timeline.rb#514 sig { override.returns(::String) } def tooltip; end end # source://spoom//lib/spoom/coverage/d3/timeline.rb#278 class Spoom::Coverage::D3::Timeline::Runtimes < ::Spoom::Coverage::D3::Timeline # @return [Runtimes] a new instance of Runtimes # # source://spoom//lib/spoom/coverage/d3/timeline.rb#280 sig { params(id: ::String, snapshots: T::Array[::Spoom::Coverage::Snapshot]).void } def initialize(id, snapshots); end # source://spoom//lib/spoom/coverage/d3/timeline.rb#307 sig { override.returns(::String) } def plot; end # source://spoom//lib/spoom/coverage/d3/timeline.rb#293 sig { override.returns(::String) } def tooltip; end end # source://spoom//lib/spoom/coverage/d3/timeline.rb#416 class Spoom::Coverage::D3::Timeline::Sigils < ::Spoom::Coverage::D3::Timeline::Stacked # @return [Sigils] a new instance of Sigils # # source://spoom//lib/spoom/coverage/d3/timeline.rb#418 sig { params(id: ::String, snapshots: T::Array[::Spoom::Coverage::Snapshot]).void } def initialize(id, snapshots); end # source://spoom//lib/spoom/coverage/d3/timeline.rb#433 sig { override.returns(::String) } def tooltip; end end # source://spoom//lib/spoom/coverage/d3/timeline.rb#468 class Spoom::Coverage::D3::Timeline::Sigs < ::Spoom::Coverage::D3::Timeline::Stacked # @return [Sigs] a new instance of Sigs # # source://spoom//lib/spoom/coverage/d3/timeline.rb#470 sig { params(id: ::String, snapshots: T::Array[::Spoom::Coverage::Snapshot]).void } def initialize(id, snapshots); end # source://spoom//lib/spoom/coverage/d3/timeline.rb#488 sig { override.returns(::String) } def tooltip; end end # @abstract # # source://spoom//lib/spoom/coverage/d3/timeline.rb#326 class Spoom::Coverage::D3::Timeline::Stacked < ::Spoom::Coverage::D3::Timeline abstract! # source://spoom//lib/spoom/coverage/d3/timeline.rb#383 sig { override.params(y: ::String, color: ::String, curve: ::String).returns(::String) } def line(y:, color: T.unsafe(nil), curve: T.unsafe(nil)); end # source://spoom//lib/spoom/coverage/d3/timeline.rb#371 sig { override.returns(::String) } def plot; end # source://spoom//lib/spoom/coverage/d3/timeline.rb#329 sig { override.returns(::String) } def script; end end # source://spoom//lib/spoom/coverage/d3/timeline.rb#228 class Spoom::Coverage::D3::Timeline::Versions < ::Spoom::Coverage::D3::Timeline # @return [Versions] a new instance of Versions # # source://spoom//lib/spoom/coverage/d3/timeline.rb#230 sig { params(id: ::String, snapshots: T::Array[::Spoom::Coverage::Snapshot]).void } def initialize(id, snapshots); end # source://spoom//lib/spoom/coverage/d3/timeline.rb#259 sig { override.returns(::String) } def plot; end # source://spoom//lib/spoom/coverage/d3/timeline.rb#244 sig { override.returns(::String) } def tooltip; end end # @abstract # # source://spoom//lib/spoom/coverage/report.rb#35 class Spoom::Coverage::Page < ::Spoom::Coverage::Template abstract! # @return [Page] a new instance of Page # # source://spoom//lib/spoom/coverage/report.rb#45 sig { params(title: ::String, palette: ::Spoom::Coverage::D3::ColorPalette, template: ::String).void } def initialize(title:, palette:, template: T.unsafe(nil)); end # source://spoom//lib/spoom/coverage/report.rb#67 sig { returns(::String) } def body_html; end # @abstract # @raise [NotImplementedError] # # source://spoom//lib/spoom/coverage/report.rb#73 sig { abstract.returns(T::Array[::Spoom::Coverage::Cards::Card]) } def cards; end # source://spoom//lib/spoom/coverage/report.rb#76 sig { returns(::String) } def footer_html; end # source://spoom//lib/spoom/coverage/report.rb#62 sig { returns(::String) } def header_html; end # source://spoom//lib/spoom/coverage/report.rb#57 sig { returns(::String) } def header_script; end # source://spoom//lib/spoom/coverage/report.rb#52 sig { returns(::String) } def header_style; end # source://spoom//lib/spoom/coverage/report.rb#42 sig { returns(::Spoom::Coverage::D3::ColorPalette) } def palette; end # source://spoom//lib/spoom/coverage/report.rb#39 sig { returns(::String) } def title; end end # source://spoom//lib/spoom/coverage/report.rb#36 Spoom::Coverage::Page::TEMPLATE = T.let(T.unsafe(nil), String) # source://spoom//lib/spoom/coverage/report.rb#224 class Spoom::Coverage::Report < ::Spoom::Coverage::Page # @return [Report] a new instance of Report # # source://spoom//lib/spoom/coverage/report.rb#226 sig do params( project_name: ::String, palette: ::Spoom::Coverage::D3::ColorPalette, snapshots: T::Array[::Spoom::Coverage::Snapshot], file_tree: ::Spoom::FileTree, nodes_strictnesses: T::Hash[::Spoom::FileTree::Node, T.nilable(::String)], nodes_strictness_scores: T::Hash[::Spoom::FileTree::Node, ::Float], sorbet_intro_commit: T.nilable(::String), sorbet_intro_date: T.nilable(::Time) ).void end def initialize(project_name:, palette:, snapshots:, file_tree:, nodes_strictnesses:, nodes_strictness_scores:, sorbet_intro_commit: T.unsafe(nil), sorbet_intro_date: T.unsafe(nil)); end # source://spoom//lib/spoom/coverage/report.rb#260 sig { override.returns(T::Array[::Spoom::Coverage::Cards::Card]) } def cards; end # source://spoom//lib/spoom/coverage/report.rb#248 sig { override.returns(::String) } def header_html; end end # source://spoom//lib/spoom/coverage/snapshot.rb#6 class Spoom::Coverage::Snapshot < ::T::Struct prop :timestamp, ::Integer, default: T.unsafe(nil) prop :version_static, T.nilable(::String), default: T.unsafe(nil) prop :version_runtime, T.nilable(::String), default: T.unsafe(nil) prop :duration, ::Integer, default: T.unsafe(nil) prop :commit_sha, T.nilable(::String), default: T.unsafe(nil) prop :commit_timestamp, T.nilable(::Integer), default: T.unsafe(nil) prop :files, ::Integer, default: T.unsafe(nil) prop :rbi_files, ::Integer, default: T.unsafe(nil) prop :modules, ::Integer, default: T.unsafe(nil) prop :classes, ::Integer, default: T.unsafe(nil) prop :singleton_classes, ::Integer, default: T.unsafe(nil) prop :methods_without_sig, ::Integer, default: T.unsafe(nil) prop :methods_with_sig, ::Integer, default: T.unsafe(nil) prop :calls_untyped, ::Integer, default: T.unsafe(nil) prop :calls_typed, ::Integer, default: T.unsafe(nil) prop :sigils, T::Hash[::String, ::Integer], default: T.unsafe(nil) prop :methods_with_sig_excluding_rbis, ::Integer, default: T.unsafe(nil) prop :methods_without_sig_excluding_rbis, ::Integer, default: T.unsafe(nil) prop :sigils_excluding_rbis, T::Hash[::String, ::Integer], default: T.unsafe(nil) # source://spoom//lib/spoom/coverage/snapshot.rb#31 sig { params(out: T.any(::IO, ::StringIO), colors: T::Boolean, indent_level: ::Integer).void } def print(out: T.unsafe(nil), colors: T.unsafe(nil), indent_level: T.unsafe(nil)); end # source://spoom//lib/spoom/coverage/snapshot.rb#37 sig { params(arg: T.untyped).returns(::String) } def to_json(*arg); end class << self # source://spoom//lib/spoom/coverage/snapshot.rb#43 sig { params(json: ::String).returns(::Spoom::Coverage::Snapshot) } def from_json(json); end # source://spoom//lib/spoom/coverage/snapshot.rb#48 sig { params(obj: T::Hash[::String, T.untyped]).returns(::Spoom::Coverage::Snapshot) } def from_obj(obj); end end end # The strictness name as found in the Sorbet metrics file # # source://spoom//lib/spoom/coverage/snapshot.rb#28 Spoom::Coverage::Snapshot::STRICTNESSES = T.let(T.unsafe(nil), Array) # source://spoom//lib/spoom/coverage/snapshot.rb#91 class Spoom::Coverage::SnapshotPrinter < ::Spoom::Printer # source://spoom//lib/spoom/coverage/snapshot.rb#93 sig { params(snapshot: ::Spoom::Coverage::Snapshot).void } def print_snapshot(snapshot); end private # source://spoom//lib/spoom/coverage/snapshot.rb#152 sig { params(value: T.nilable(::Integer), total: T.nilable(::Integer)).returns(::String) } def percent(value, total); end # source://spoom//lib/spoom/coverage/snapshot.rb#141 sig { params(hash: T::Hash[::String, ::Integer], total: ::Integer).void } def print_map(hash, total); end end # @abstract # # source://spoom//lib/spoom/coverage/report.rb#11 class Spoom::Coverage::Template abstract! # Create a new template from an Erb file path # # @return [Template] a new instance of Template # # source://spoom//lib/spoom/coverage/report.rb#14 sig { params(template: ::String).void } def initialize(template:); end # source://spoom//lib/spoom/coverage/report.rb#19 sig { returns(::String) } def erb; end # source://spoom//lib/spoom/coverage/report.rb#29 sig { returns(::Binding) } def get_binding; end # source://spoom//lib/spoom/coverage/report.rb#24 sig { returns(::String) } def html; end end # source://spoom//lib/spoom/deadcode/erb.rb#27 module Spoom::Deadcode class << self # source://spoom//lib/spoom/deadcode/plugins.rb#67 sig { params(context: ::Spoom::Context).returns(T::Array[T.class_of(Spoom::Deadcode::Plugins::Base)]) } def load_custom_plugins(context); end # source://spoom//lib/spoom/deadcode/plugins.rb#53 sig { params(context: ::Spoom::Context).returns(T::Set[T.class_of(Spoom::Deadcode::Plugins::Base)]) } def plugins_from_gemfile_lock(context); end end end # source://spoom//lib/spoom/deadcode/plugins.rb#26 Spoom::Deadcode::DEFAULT_CUSTOM_PLUGINS_PATH = T.let(T.unsafe(nil), String) # source://spoom//lib/spoom/deadcode/plugins.rb#28 Spoom::Deadcode::DEFAULT_PLUGINS = T.let(T.unsafe(nil), Set) # A definition is a class, module, method, constant, etc. being defined in the code # # source://spoom//lib/spoom/deadcode/definition.rb#7 class Spoom::Deadcode::Definition < ::T::Struct const :kind, ::Spoom::Deadcode::Definition::Kind const :name, ::String const :full_name, ::String const :location, ::Spoom::Location const :status, ::Spoom::Deadcode::Definition::Status, default: T.unsafe(nil) # source://spoom//lib/spoom/deadcode/definition.rb#76 sig { void } def alive!; end # @return [Boolean] # # source://spoom//lib/spoom/deadcode/definition.rb#71 sig { returns(T::Boolean) } def alive?; end # @return [Boolean] # # source://spoom//lib/spoom/deadcode/definition.rb#39 sig { returns(T::Boolean) } def attr_reader?; end # @return [Boolean] # # source://spoom//lib/spoom/deadcode/definition.rb#44 sig { returns(T::Boolean) } def attr_writer?; end # @return [Boolean] # # source://spoom//lib/spoom/deadcode/definition.rb#49 sig { returns(T::Boolean) } def class?; end # @return [Boolean] # # source://spoom//lib/spoom/deadcode/definition.rb#54 sig { returns(T::Boolean) } def constant?; end # @return [Boolean] # # source://spoom//lib/spoom/deadcode/definition.rb#81 sig { returns(T::Boolean) } def dead?; end # source://spoom//lib/spoom/deadcode/definition.rb#91 sig { void } def ignored!; end # @return [Boolean] # # source://spoom//lib/spoom/deadcode/definition.rb#86 sig { returns(T::Boolean) } def ignored?; end # @return [Boolean] # # source://spoom//lib/spoom/deadcode/definition.rb#59 sig { returns(T::Boolean) } def method?; end # @return [Boolean] # # source://spoom//lib/spoom/deadcode/definition.rb#64 sig { returns(T::Boolean) } def module?; end # source://spoom//lib/spoom/deadcode/definition.rb#98 sig { params(args: T.untyped).returns(::String) } def to_json(*args); end end # source://spoom//lib/spoom/deadcode/definition.rb#8 class Spoom::Deadcode::Definition::Kind < ::T::Enum enums do AttrReader = new AttrWriter = new Class = new Constant = new Method = new Module = new end end # source://spoom//lib/spoom/deadcode/definition.rb#19 class Spoom::Deadcode::Definition::Status < ::T::Enum enums do ALIVE = new DEAD = new IGNORED = new end end # Custom engine to handle ERB templates as used by Rails # # source://spoom//lib/spoom/deadcode/erb.rb#29 class Spoom::Deadcode::ERB < ::Erubi::Engine # @return [ERB] a new instance of ERB # # source://spoom//lib/spoom/deadcode/erb.rb#31 sig { params(input: T.untyped, properties: T.untyped).void } def initialize(input, properties = T.unsafe(nil)); end private # source://spoom//lib/spoom/deadcode/erb.rb#84 sig { override.params(code: T.untyped).void } def add_code(code); end # source://spoom//lib/spoom/deadcode/erb.rb#66 sig { override.params(indicator: T.untyped, code: T.untyped).void } def add_expression(indicator, code); end # source://spoom//lib/spoom/deadcode/erb.rb#91 sig { override.params(_: T.untyped).void } def add_postamble(_); end # source://spoom//lib/spoom/deadcode/erb.rb#47 sig { override.params(text: T.untyped).void } def add_text(text); end # source://spoom//lib/spoom/deadcode/erb.rb#97 sig { params(src: T.untyped).void } def flush_newline_if_pending(src); end end # source://spoom//lib/spoom/deadcode/erb.rb#62 Spoom::Deadcode::ERB::BLOCK_EXPR = T.let(T.unsafe(nil), Regexp) # source://spoom//lib/spoom/deadcode/index.rb#6 class Spoom::Deadcode::Index # @return [Index] a new instance of Index # # source://spoom//lib/spoom/deadcode/index.rb#25 sig { params(model: ::Spoom::Model).void } def initialize(model); end # source://spoom//lib/spoom/deadcode/index.rb#215 sig { returns(T::Array[::Spoom::Deadcode::Definition]) } def all_definitions; end # source://spoom//lib/spoom/deadcode/index.rb#220 sig { returns(T::Array[::Spoom::Model::Reference]) } def all_references; end # source://spoom//lib/spoom/deadcode/index.rb#95 sig { params(plugins: T::Array[::Spoom::Deadcode::Plugins::Base]).void } def apply_plugins!(plugins); end # source://spoom//lib/spoom/deadcode/index.rb#75 sig { params(definition: ::Spoom::Deadcode::Definition).void } def define(definition); end # source://spoom//lib/spoom/deadcode/index.rb#19 sig { returns(T::Hash[::String, T::Array[::Spoom::Deadcode::Definition]]) } def definitions; end # source://spoom//lib/spoom/deadcode/index.rb#210 sig { params(name: ::String).returns(T::Array[::Spoom::Deadcode::Definition]) } def definitions_for_name(name); end # Mark all definitions having a reference of the same name as `alive` # # To be called once all the files have been indexed and all the definitions and references discovered. # # source://spoom//lib/spoom/deadcode/index.rb#118 sig { void } def finalize!; end # source://spoom//lib/spoom/deadcode/index.rb#90 sig { params(symbol_def: ::Spoom::Model::SymbolDef).void } def ignore(symbol_def); end # source://spoom//lib/spoom/deadcode/index.rb#46 sig { params(erb: ::String, file: ::String, plugins: T::Array[::Spoom::Deadcode::Plugins::Base]).void } def index_erb(erb, file:, plugins: T.unsafe(nil)); end # source://spoom//lib/spoom/deadcode/index.rb#35 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#51 sig { params(rb: ::String, file: ::String, plugins: T::Array[::Spoom::Deadcode::Plugins::Base]).void } def index_ruby(rb, file:, plugins: T.unsafe(nil)); end # source://spoom//lib/spoom/deadcode/index.rb#16 sig { returns(::Spoom::Model) } def model; end # source://spoom//lib/spoom/deadcode/index.rb#80 sig { params(name: ::String, location: ::Spoom::Location).void } def reference_constant(name, location); end # source://spoom//lib/spoom/deadcode/index.rb#85 sig { params(name: ::String, location: ::Spoom::Location).void } def reference_method(name, location); end # source://spoom//lib/spoom/deadcode/index.rb#22 sig { returns(T::Hash[::String, T::Array[::Spoom::Model::Reference]]) } def references; end end # source://spoom//lib/spoom/deadcode/index.rb#7 class Spoom::Deadcode::Index::Error < ::Spoom::Error # @return [Error] a new instance of Error # # source://spoom//lib/spoom/deadcode/index.rb#9 sig { params(message: ::String, parent: ::Exception).void } def initialize(message, parent:); end end # source://spoom//lib/spoom/deadcode/indexer.rb#6 class Spoom::Deadcode::Indexer < ::Spoom::Visitor # @return [Indexer] a new instance of Indexer # # source://spoom//lib/spoom/deadcode/indexer.rb#14 sig do params( path: ::String, index: ::Spoom::Deadcode::Index, plugins: T::Array[::Spoom::Deadcode::Plugins::Base] ).void end def initialize(path, index, plugins: T.unsafe(nil)); end # source://spoom//lib/spoom/deadcode/indexer.rb#11 sig { returns(::Spoom::Deadcode::Index) } def index; end # source://spoom//lib/spoom/deadcode/indexer.rb#8 sig { returns(::String) } def path; end # source://spoom//lib/spoom/deadcode/indexer.rb#26 sig { override.params(node: ::Prism::CallNode).void } def visit_call_node(node); end end # source://spoom//lib/spoom/deadcode/plugins.rb#33 Spoom::Deadcode::PLUGINS_FOR_GEM = T.let(T.unsafe(nil), Hash) # source://spoom//lib/spoom/deadcode/plugins/base.rb#8 module Spoom::Deadcode::Plugins; end # source://spoom//lib/spoom/deadcode/plugins/action_mailer.rb#7 class Spoom::Deadcode::Plugins::ActionMailer < ::Spoom::Deadcode::Plugins::Base # source://spoom//lib/spoom/deadcode/plugins/action_mailer.rb#10 sig { override.params(send: ::Spoom::Deadcode::Send).void } def on_send(send); end end # source://spoom//lib/spoom/deadcode/plugins/action_mailer_preview.rb#7 class Spoom::Deadcode::Plugins::ActionMailerPreview < ::Spoom::Deadcode::Plugins::Base # source://spoom//lib/spoom/deadcode/plugins/action_mailer_preview.rb#12 sig { override.params(definition: ::Spoom::Model::Method).void } def on_define_method(definition); end end # source://spoom//lib/spoom/deadcode/plugins/actionpack.rb#7 class Spoom::Deadcode::Plugins::ActionPack < ::Spoom::Deadcode::Plugins::Base # source://spoom//lib/spoom/deadcode/plugins/actionpack.rb#27 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(send: ::Spoom::Deadcode::Send).void } def on_send(send); end end # source://spoom//lib/spoom/deadcode/plugins/actionpack.rb#10 Spoom::Deadcode::Plugins::ActionPack::CALLBACKS = T.let(T.unsafe(nil), Array) # source://spoom//lib/spoom/deadcode/plugins/active_job.rb#7 class Spoom::Deadcode::Plugins::ActiveJob < ::Spoom::Deadcode::Plugins::Base # source://spoom//lib/spoom/deadcode/plugins/active_job.rb#22 sig { override.params(send: ::Spoom::Deadcode::Send).void } def on_send(send); end end # source://spoom//lib/spoom/deadcode/plugins/active_job.rb#11 Spoom::Deadcode::Plugins::ActiveJob::CALLBACKS = T.let(T.unsafe(nil), Array) # 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#13 sig { override.params(send: ::Spoom::Deadcode::Send).void } def on_send(send); end end # source://spoom//lib/spoom/deadcode/plugins/active_record.rb#7 class Spoom::Deadcode::Plugins::ActiveRecord < ::Spoom::Deadcode::Plugins::Base # source://spoom//lib/spoom/deadcode/plugins/active_record.rb#69 sig { override.params(send: ::Spoom::Deadcode::Send).void } def on_send(send); end end # source://spoom//lib/spoom/deadcode/plugins/active_record.rb#61 Spoom::Deadcode::Plugins::ActiveRecord::ARRAY_METHODS = T.let(T.unsafe(nil), Array) # source://spoom//lib/spoom/deadcode/plugins/active_record.rb#18 Spoom::Deadcode::Plugins::ActiveRecord::CALLBACKS = T.let(T.unsafe(nil), Array) # source://spoom//lib/spoom/deadcode/plugins/active_record.rb#44 Spoom::Deadcode::Plugins::ActiveRecord::CALLBACK_CONDITIONS = T.let(T.unsafe(nil), Array) # source://spoom//lib/spoom/deadcode/plugins/active_record.rb#49 Spoom::Deadcode::Plugins::ActiveRecord::CRUD_METHODS = T.let(T.unsafe(nil), Array) # source://spoom//lib/spoom/deadcode/plugins/active_support.rb#7 class Spoom::Deadcode::Plugins::ActiveSupport < ::Spoom::Deadcode::Plugins::Base # source://spoom//lib/spoom/deadcode/plugins/active_support.rb#23 sig { override.params(send: ::Spoom::Deadcode::Send).void } def on_send(send); end end # source://spoom//lib/spoom/deadcode/plugins/active_support.rb#19 Spoom::Deadcode::Plugins::ActiveSupport::SETUP_AND_TEARDOWN_METHODS = T.let(T.unsafe(nil), Array) # @abstract # # source://spoom//lib/spoom/deadcode/plugins/base.rb#10 class Spoom::Deadcode::Plugins::Base abstract! # @return [Base] a new instance of Base # # source://spoom//lib/spoom/deadcode/plugins/base.rb#126 sig { params(index: ::Spoom::Deadcode::Index).void } def initialize(index); end # source://spoom//lib/spoom/deadcode/plugins/base.rb#123 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#152 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#176 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#206 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(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(definition: ::Spoom::Model::Module).void } def internal_on_define_module(definition); end # Called when an accessor is defined. # # Will be called when the indexer processes a `attr_reader`, `attr_writer` or `attr_accessor` node. # Note that when this method is called, the definition for the node has already been added to the index. # It is still possible to ignore it from the plugin: # # ~~~rb # class MyPlugin < Spoom::Deadcode::Plugins::Base # def on_define_accessor(definition) # @index.ignore(definition) if symbol_def.name == "foo" # end # end # ~~~ # # source://spoom//lib/spoom/deadcode/plugins/base.rb#146 sig { params(definition: ::Spoom::Model::Attr).void } def on_define_accessor(definition); end # Called when a class is defined. # # Will be called when the indexer processes a `class` node. # Note that when this method is called, the definition for the node has already been added to the index. # It is still possible to ignore it from the plugin: # # ~~~rb # class MyPlugin < Spoom::Deadcode::Plugins::Base # def on_define_class(definition) # @index.ignore(definition) if definition.name == "Foo" # end # end # ~~~ # # source://spoom//lib/spoom/deadcode/plugins/base.rb#170 sig { params(definition: ::Spoom::Model::Class).void } def on_define_class(definition); end # Called when a constant is defined. # # Will be called when the indexer processes a `CONST =` node. # Note that when this method is called, the definition for the node has already been added to the index. # It is still possible to ignore it from the plugin: # # ~~~rb # class MyPlugin < Spoom::Deadcode::Plugins::Base # def on_define_constant(definition) # @index.ignore(definition) if definition.name == "FOO" # end # end # ~~~ # # source://spoom//lib/spoom/deadcode/plugins/base.rb#200 sig { params(definition: ::Spoom::Model::Constant).void } def on_define_constant(definition); end # Called when a method is defined. # # Will be called when the indexer processes a `def` or `defs` node. # Note that when this method is called, the definition for the node has already been added to the index. # It is still possible to ignore it from the plugin: # # ~~~rb # class MyPlugin < Spoom::Deadcode::Plugins::Base # def on_define_method(definition) # @index.ignore(definition) if definition.name == "foo" # end # end # ~~~ # # source://spoom//lib/spoom/deadcode/plugins/base.rb#226 sig { params(definition: ::Spoom::Model::Method).void } def on_define_method(definition); end # Called when a module is defined. # # Will be called when the indexer processes a `module` node. # Note that when this method is called, the definition for the node has already been added to the index. # It is still possible to ignore it from the plugin: # # ~~~rb # class MyPlugin < Spoom::Deadcode::Plugins::Base # def on_define_module(definition) # @index.ignore(definition) if definition.name == "Foo" # end # end # ~~~ # # source://spoom//lib/spoom/deadcode/plugins/base.rb#252 sig { params(definition: ::Spoom::Model::Module).void } def on_define_module(definition); end # Called when a send is being processed # # ~~~rb # class MyPlugin < Spoom::Deadcode::Plugins::Base # def on_send(send) # return unless send.name == "dsl_method" # return if send.args.empty? # # method_name = send.args.first.slice.delete_prefix(":") # @index.reference_method(method_name, send.node, send.loc) # end # end # ~~~ # # source://spoom//lib/spoom/deadcode/plugins/base.rb#278 sig { params(send: ::Spoom::Deadcode::Send).void } def on_send(send); end private # source://spoom//lib/spoom/deadcode/plugins/base.rb#346 sig { params(name: ::String).returns(::String) } def camelize(name); end # @return [Boolean] # # source://spoom//lib/spoom/deadcode/plugins/base.rb#295 sig { params(name: T.nilable(::String)).returns(T::Boolean) } def ignored_class_name?(name); end # @return [Boolean] # # source://spoom//lib/spoom/deadcode/plugins/base.rb#314 sig { params(name: ::String).returns(T::Boolean) } def ignored_constant_name?(name); end # @return [Boolean] # # source://spoom//lib/spoom/deadcode/plugins/base.rb#319 sig { params(name: ::String).returns(T::Boolean) } def ignored_method_name?(name); end # @return [Boolean] # # source://spoom//lib/spoom/deadcode/plugins/base.rb#324 sig { params(name: ::String).returns(T::Boolean) } def ignored_module_name?(name); end # @return [Boolean] # # source://spoom//lib/spoom/deadcode/plugins/base.rb#329 sig { params(name: ::String, names_variable: ::Symbol, patterns_variable: ::Symbol).returns(T::Boolean) } def ignored_name?(name, names_variable, patterns_variable); end # @return [Boolean] # # source://spoom//lib/spoom/deadcode/plugins/base.rb#302 sig { params(definition: ::Spoom::Model::Class).returns(T::Boolean) } def ignored_subclass?(definition); end # source://spoom//lib/spoom/deadcode/plugins/base.rb#334 sig { params(const: ::Symbol).returns(T::Set[::String]) } def names(const); end # source://spoom//lib/spoom/deadcode/plugins/base.rb#339 sig { params(const: ::Symbol).returns(T::Array[::Regexp]) } def patterns(const); end # @return [Boolean] # # source://spoom//lib/spoom/deadcode/plugins/base.rb#287 sig { params(definition: ::Spoom::Model::Namespace, superclass_name: ::String).returns(T::Boolean) } def subclass_of?(definition, superclass_name); end class << self # Mark classes directly subclassing a class matching `names` as ignored. # # Names can be either strings or regexps: # # ~~~rb # class MyPlugin < Spoom::Deadcode::Plugins::Base # ignore_classes_inheriting_from( # "Foo", # "Bar", # /Baz.*/, # ) # end # ~~~ # # source://spoom//lib/spoom/deadcode/plugins/base.rb#46 sig { params(names: T.any(::Regexp, ::String)).void } def ignore_classes_inheriting_from(*names); end # Mark classes matching `names` as ignored. # # Names can be either strings or regexps: # # ~~~rb # class MyPlugin < Spoom::Deadcode::Plugins::Base # ignore_class_names( # "Foo", # "Bar", # /Baz.*/, # ) # end # ~~~ # # source://spoom//lib/spoom/deadcode/plugins/base.rb#28 sig { params(names: T.any(::Regexp, ::String)).void } def ignore_classes_named(*names); end # Mark constants matching `names` as ignored. # # Names can be either strings or regexps: # # ~~~rb # class MyPlugin < Spoom::Deadcode::Plugins::Base # ignore_class_names( # "FOO", # "BAR", # /BAZ.*/, # ) # end # ~~~ # # source://spoom//lib/spoom/deadcode/plugins/base.rb#64 sig { params(names: T.any(::Regexp, ::String)).void } def ignore_constants_named(*names); end # Mark methods matching `names` as ignored. # # Names can be either strings or regexps: # # ~~~rb # class MyPlugin < Spoom::Deadcode::Plugins::Base # ignore_method_names( # "foo", # "bar", # /baz.*/, # ) # end # ~~~ # # source://spoom//lib/spoom/deadcode/plugins/base.rb#82 sig { params(names: T.any(::Regexp, ::String)).void } def ignore_methods_named(*names); end # Mark modules matching `names` as ignored. # # Names can be either strings or regexps: # # ~~~rb # class MyPlugin < Spoom::Deadcode::Plugins::Base # ignore_class_names( # "Foo", # "Bar", # /Baz.*/, # ) # end # ~~~ # # source://spoom//lib/spoom/deadcode/plugins/base.rb#100 sig { params(names: T.any(::Regexp, ::String)).void } def ignore_modules_named(*names); end private # source://spoom//lib/spoom/deadcode/plugins/base.rb#107 sig do params( names: T::Array[T.any(::Regexp, ::String)], names_variable: ::Symbol, patterns_variable: ::Symbol ).void end def save_names_and_patterns(names, names_variable, patterns_variable); end end end # source://spoom//lib/spoom/deadcode/plugins/graphql.rb#7 class Spoom::Deadcode::Plugins::GraphQL < ::Spoom::Deadcode::Plugins::Base # source://spoom//lib/spoom/deadcode/plugins/graphql.rb#27 sig { override.params(send: ::Spoom::Deadcode::Send).void } def on_send(send); end end # source://spoom//lib/spoom/deadcode/plugins/minitest.rb#7 class Spoom::Deadcode::Plugins::Minitest < ::Spoom::Deadcode::Plugins::Base # source://spoom//lib/spoom/deadcode/plugins/minitest.rb#21 sig { override.params(definition: ::Spoom::Model::Method).void } def on_define_method(definition); end # source://spoom//lib/spoom/deadcode/plugins/minitest.rb#28 sig { override.params(send: ::Spoom::Deadcode::Send).void } def on_send(send); end end # source://spoom//lib/spoom/deadcode/plugins/namespaces.rb#7 class Spoom::Deadcode::Plugins::Namespaces < ::Spoom::Deadcode::Plugins::Base # source://spoom//lib/spoom/deadcode/plugins/namespaces.rb#10 sig { override.params(definition: ::Spoom::Model::Class).void } def on_define_class(definition); end # source://spoom//lib/spoom/deadcode/plugins/namespaces.rb#16 sig { override.params(definition: ::Spoom::Model::Module).void } def on_define_module(definition); end private # @return [Boolean] # # source://spoom//lib/spoom/deadcode/plugins/namespaces.rb#23 sig { params(symbol_def: ::Spoom::Model::Namespace).returns(T::Boolean) } def used_as_namespace?(symbol_def); end end # source://spoom//lib/spoom/deadcode/plugins/rspec.rb#7 class Spoom::Deadcode::Plugins::RSpec < ::Spoom::Deadcode::Plugins::Base; end # source://spoom//lib/spoom/deadcode/plugins/rails.rb#7 class Spoom::Deadcode::Plugins::Rails < ::Spoom::Deadcode::Plugins::Base # source://spoom//lib/spoom/deadcode/plugins/rails.rb#12 sig { override.params(definition: ::Spoom::Model::Class).void } def on_define_class(definition); end # source://spoom//lib/spoom/deadcode/plugins/rails.rb#18 sig { override.params(definition: ::Spoom::Model::Module).void } def on_define_module(definition); end private # @return [Boolean] # # source://spoom//lib/spoom/deadcode/plugins/rails.rb#25 sig { params(symbol_def: ::Spoom::Model::Namespace).returns(T::Boolean) } def file_is_helper?(symbol_def); end end # source://spoom//lib/spoom/deadcode/plugins/rake.rb#7 class Spoom::Deadcode::Plugins::Rake < ::Spoom::Deadcode::Plugins::Base; end # source://spoom//lib/spoom/deadcode/plugins/rubocop.rb#7 class Spoom::Deadcode::Plugins::Rubocop < ::Spoom::Deadcode::Plugins::Base # source://spoom//lib/spoom/deadcode/plugins/rubocop.rb#17 sig { override.params(definition: ::Spoom::Model::Constant).void } def on_define_constant(definition); end # source://spoom//lib/spoom/deadcode/plugins/rubocop.rb#26 sig { override.params(definition: ::Spoom::Model::Method).void } def on_define_method(definition); end end # source://spoom//lib/spoom/deadcode/plugins/rubocop.rb#8 Spoom::Deadcode::Plugins::Rubocop::RUBOCOP_CONSTANTS = T.let(T.unsafe(nil), Set) # source://spoom//lib/spoom/deadcode/plugins/ruby.rb#7 class Spoom::Deadcode::Plugins::Ruby < ::Spoom::Deadcode::Plugins::Base # source://spoom//lib/spoom/deadcode/plugins/ruby.rb#23 sig { override.params(send: ::Spoom::Deadcode::Send).void } def on_send(send); end private # source://spoom//lib/spoom/deadcode/plugins/ruby.rb#45 sig { params(send: ::Spoom::Deadcode::Send, node: ::Prism::Node).void } def reference_symbol_as_constant(send, node); end end # source://spoom//lib/spoom/deadcode/plugins/sorbet.rb#7 class Spoom::Deadcode::Plugins::Sorbet < ::Spoom::Deadcode::Plugins::Base # source://spoom//lib/spoom/deadcode/plugins/sorbet.rb#10 sig { override.params(definition: ::Spoom::Model::Constant).void } def on_define_constant(definition); end # source://spoom//lib/spoom/deadcode/plugins/sorbet.rb#16 sig { override.params(definition: ::Spoom::Model::Method).void } def on_define_method(definition); end private # @return [Boolean] # # source://spoom//lib/spoom/deadcode/plugins/sorbet.rb#34 sig { params(definition: ::Spoom::Model::Constant).returns(T::Boolean) } def sorbet_enum_constant?(definition); end # @return [Boolean] # # source://spoom//lib/spoom/deadcode/plugins/sorbet.rb#29 sig { params(definition: ::Spoom::Model::Constant).returns(T::Boolean) } def sorbet_type_member?(definition); end end # source://spoom//lib/spoom/deadcode/plugins/thor.rb#7 class Spoom::Deadcode::Plugins::Thor < ::Spoom::Deadcode::Plugins::Base # source://spoom//lib/spoom/deadcode/plugins/thor.rb#12 sig { override.params(definition: ::Spoom::Model::Method).void } def on_define_method(definition); end end # source://spoom//lib/spoom/deadcode/remover.rb#6 class Spoom::Deadcode::Remover # @return [Remover] a new instance of Remover # # source://spoom//lib/spoom/deadcode/remover.rb#10 sig { params(context: ::Spoom::Context).void } def initialize(context); end # source://spoom//lib/spoom/deadcode/remover.rb#15 sig { params(kind: T.nilable(::Spoom::Deadcode::Definition::Kind), location: ::Spoom::Location).returns(::String) } def remove_location(kind, location); end end # source://spoom//lib/spoom/deadcode/remover.rb#7 class Spoom::Deadcode::Remover::Error < ::Spoom::Error; end # source://spoom//lib/spoom/deadcode/remover.rb#366 class Spoom::Deadcode::Remover::NodeContext # @return [NodeContext] a new instance of NodeContext # # source://spoom//lib/spoom/deadcode/remover.rb#377 sig do params( source: ::String, comments: T::Hash[::Integer, ::Prism::Comment], node: ::Prism::Node, nesting: T::Array[::Prism::Node] ).void end def initialize(source, comments, node, nesting); end # source://spoom//lib/spoom/deadcode/remover.rb#491 sig { params(node: ::Prism::Node).returns(T::Array[::Prism::Comment]) } def attached_comments(node); end # source://spoom//lib/spoom/deadcode/remover.rb#519 sig { returns(T.nilable(::Prism::CallNode)) } def attached_sig; end # source://spoom//lib/spoom/deadcode/remover.rb#506 sig { returns(T::Array[::Prism::Node]) } def attached_sigs; end # source://spoom//lib/spoom/deadcode/remover.rb#368 sig { returns(T::Hash[::Integer, ::Prism::Comment]) } def comments; end # source://spoom//lib/spoom/deadcode/remover.rb#479 sig { params(start_line: ::Integer, end_line: ::Integer).returns(T::Array[::Prism::Comment]) } def comments_between_lines(start_line, end_line); end # source://spoom//lib/spoom/deadcode/remover.rb#374 sig { returns(T::Array[::Prism::Node]) } def nesting; end # source://spoom//lib/spoom/deadcode/remover.rb#374 def nesting=(_arg0); end # source://spoom//lib/spoom/deadcode/remover.rb#429 sig { returns(T.nilable(::Prism::Node)) } def next_node; end # @raise [Error] # # source://spoom//lib/spoom/deadcode/remover.rb#418 sig { returns(T::Array[::Prism::Node]) } def next_nodes; end # source://spoom//lib/spoom/deadcode/remover.rb#371 sig { returns(::Prism::Node) } def node; end # @raise [Error] # # source://spoom//lib/spoom/deadcode/remover.rb#393 sig { returns(::Spoom::Deadcode::Remover::NodeContext) } def parent_context; end # @raise [Error] # # source://spoom//lib/spoom/deadcode/remover.rb#385 sig { returns(::Prism::Node) } def parent_node; end # source://spoom//lib/spoom/deadcode/remover.rb#413 sig { returns(T.nilable(::Prism::Node)) } def previous_node; end # @raise [Error] # # source://spoom//lib/spoom/deadcode/remover.rb#402 sig { returns(T::Array[::Prism::Node]) } def previous_nodes; end # source://spoom//lib/spoom/deadcode/remover.rb#434 sig { returns(T.nilable(::Spoom::Deadcode::Remover::NodeContext)) } def sclass_context; end # @return [Boolean] # # source://spoom//lib/spoom/deadcode/remover.rb#467 sig { params(node: T.nilable(::Prism::Node)).returns(T::Boolean) } def sorbet_extend_sig?(node); end # @return [Boolean] # # source://spoom//lib/spoom/deadcode/remover.rb#462 sig { params(node: T.nilable(::Prism::Node)).returns(T::Boolean) } def sorbet_signature?(node); end end # source://spoom//lib/spoom/deadcode/remover.rb#534 class Spoom::Deadcode::Remover::NodeFinder < ::Spoom::Visitor # @return [NodeFinder] a new instance of NodeFinder # # source://spoom//lib/spoom/deadcode/remover.rb#599 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#593 sig { returns(T.nilable(::Prism::Node)) } def node; end # source://spoom//lib/spoom/deadcode/remover.rb#596 sig { returns(T::Array[::Prism::Node]) } def nodes_nesting; end # source://spoom//lib/spoom/deadcode/remover.rb#609 sig { override.params(node: T.nilable(::Prism::Node)).void } def visit(node); end class << self # source://spoom//lib/spoom/deadcode/remover.rb#537 sig do params( source: ::String, location: ::Spoom::Location, kind: T.nilable(::Spoom::Deadcode::Definition::Kind) ).returns(::Spoom::Deadcode::Remover::NodeContext) end def find(source, location, kind); end # @return [Boolean] # # source://spoom//lib/spoom/deadcode/remover.rb#568 sig { params(node: ::Prism::Node, kind: ::Spoom::Deadcode::Definition::Kind).returns(T::Boolean) } def node_match_kind?(node, kind); end end end # source://spoom//lib/spoom/deadcode/remover.rb#27 class Spoom::Deadcode::Remover::NodeRemover # @return [NodeRemover] a new instance of NodeRemover # # source://spoom//lib/spoom/deadcode/remover.rb#32 sig do params( source: ::String, kind: T.nilable(::Spoom::Deadcode::Definition::Kind), location: ::Spoom::Location ).void end def initialize(source, kind, location); end # source://spoom//lib/spoom/deadcode/remover.rb#42 sig { void } def apply_edit; end # source://spoom//lib/spoom/deadcode/remover.rb#29 sig { returns(::String) } def new_source; end private # source://spoom//lib/spoom/deadcode/remover.rb#151 sig { params(context: ::Spoom::Deadcode::Remover::NodeContext).void } def delete_attr_accessor(context); end # source://spoom//lib/spoom/deadcode/remover.rb#325 sig { params(start_char: ::Integer, end_char: ::Integer).void } def delete_chars(start_char, end_char); end # source://spoom//lib/spoom/deadcode/remover.rb#69 sig { params(context: ::Spoom::Deadcode::Remover::NodeContext).void } def delete_constant_assignment(context); end # source://spoom//lib/spoom/deadcode/remover.rb#318 sig { params(start_line: ::Integer, end_line: ::Integer).void } def delete_lines(start_line, end_line); end # source://spoom//lib/spoom/deadcode/remover.rb#255 sig { params(context: ::Spoom::Deadcode::Remover::NodeContext).void } def delete_node_and_comments_and_sigs(context); end # source://spoom//lib/spoom/deadcode/remover.rb#212 sig do params( node: ::Prism::Node, send_context: ::Spoom::Deadcode::Remover::NodeContext, was_removed: T::Boolean ).void end def insert_accessor(node, send_context, was_removed:); end # source://spoom//lib/spoom/deadcode/remover.rb#330 sig { params(start_char: ::Integer, end_char: ::Integer, replacement: ::String).void } def replace_chars(start_char, end_char, replacement); end # source://spoom//lib/spoom/deadcode/remover.rb#335 sig do params( node: ::Prism::CallNode, name: ::String, kind: T.nilable(::Spoom::Deadcode::Definition::Kind) ).returns(::String) end def transform_sig(node, name:, kind:); end end # An abstraction to simplify handling of Prism::CallNode nodes. # # source://spoom//lib/spoom/deadcode/send.rb#7 class Spoom::Deadcode::Send < ::T::Struct const :node, ::Prism::CallNode const :name, ::String const :recv, T.nilable(::Prism::Node), default: T.unsafe(nil) const :args, T::Array[::Prism::Node], default: T.unsafe(nil) const :block, T.nilable(::Prism::Node), default: T.unsafe(nil) const :location, ::Spoom::Location # source://spoom//lib/spoom/deadcode/send.rb#16 sig do type_parameters(:T) .params( arg_type: T::Class[T.type_parameter(:T)], block: T.proc.params(arg: T.type_parameter(:T)).void ).void end def each_arg(arg_type, &block); end # source://spoom//lib/spoom/deadcode/send.rb#23 sig { params(block: T.proc.params(key: ::Prism::Node, value: T.nilable(::Prism::Node)).void).void } def each_arg_assoc(&block); end end # source://spoom//lib/spoom.rb#10 class Spoom::Error < ::StandardError; end # source://spoom//lib/spoom/context/exec.rb#5 class Spoom::ExecResult < ::T::Struct const :out, ::String const :err, T.nilable(::String) const :status, T::Boolean const :exit_code, ::Integer # source://spoom//lib/spoom/context/exec.rb#12 sig { returns(::String) } def to_s; end end # source://spoom//lib/spoom/file_collector.rb#5 class Spoom::FileCollector # Initialize a new file collector # # If `allow_extensions` is empty, all files are collected. # If `allow_extensions` is an array of extensions, only files with one of these extensions are collected. # # If `allow_mime_types` is empty, all files are collected. # If `allow_mime_types` is an array of mimetypes, files without an extension are collected if their mimetype is in # the list. # # @return [FileCollector] a new instance of FileCollector # # source://spoom//lib/spoom/file_collector.rb#18 sig do params( allow_extensions: T::Array[::String], allow_mime_types: T::Array[::String], exclude_patterns: T::Array[::String] ).void end def initialize(allow_extensions: T.unsafe(nil), allow_mime_types: T.unsafe(nil), exclude_patterns: T.unsafe(nil)); end # source://spoom//lib/spoom/file_collector.rb#7 sig { returns(T::Array[::String]) } def files; end # source://spoom//lib/spoom/file_collector.rb#31 sig { params(path: ::String).void } def visit_path(path); end # source://spoom//lib/spoom/file_collector.rb#26 sig { params(paths: T::Array[::String]).void } def visit_paths(paths); end private # source://spoom//lib/spoom/file_collector.rb#48 sig { params(path: ::String).returns(::String) } def clean_path(path); end # @return [Boolean] # # source://spoom//lib/spoom/file_collector.rb#65 sig { params(path: ::String).returns(T::Boolean) } def excluded_file?(path); end # @return [Boolean] # # source://spoom//lib/spoom/file_collector.rb#80 sig { params(path: ::String).returns(T::Boolean) } def excluded_path?(path); end # source://spoom//lib/spoom/file_collector.rb#89 sig { params(path: ::String).returns(T.nilable(::String)) } def mime_type_for(path); end # source://spoom//lib/spoom/file_collector.rb#60 sig { params(path: ::String).void } def visit_directory(path); end # source://spoom//lib/spoom/file_collector.rb#53 sig { params(path: ::String).void } def visit_file(path); end end # Build a file hierarchy from a set of file paths. # # source://spoom//lib/spoom/file_tree.rb#6 class Spoom::FileTree # @return [FileTree] a new instance of FileTree # # source://spoom//lib/spoom/file_tree.rb#8 sig { params(paths: T::Enumerable[::String]).void } def initialize(paths = T.unsafe(nil)); end # Add a `path` to the tree # # This will create all nodes until the root of `path`. # # source://spoom//lib/spoom/file_tree.rb#23 sig { params(path: ::String).returns(::Spoom::FileTree::Node) } def add_path(path); end # Add all `paths` to the tree # # source://spoom//lib/spoom/file_tree.rb#15 sig { params(paths: T::Enumerable[::String]).void } def add_paths(paths); end # All the nodes in this tree # # source://spoom//lib/spoom/file_tree.rb#43 sig { returns(T::Array[::Spoom::FileTree::Node]) } def nodes; end # Return a map of typing scores for each node in the tree # # source://spoom//lib/spoom/file_tree.rb#57 sig { params(context: ::Spoom::Context).returns(T::Hash[::Spoom::FileTree::Node, ::Float]) } def nodes_strictness_scores(context); end # All the paths in this tree # # source://spoom//lib/spoom/file_tree.rb#51 sig { returns(T::Array[::String]) } def paths; end # Return a map of typing scores for each path in the tree # # source://spoom//lib/spoom/file_tree.rb#65 sig { params(context: ::Spoom::Context).returns(T::Hash[::String, ::Float]) } def paths_strictness_scores(context); end # source://spoom//lib/spoom/file_tree.rb#70 sig { params(out: T.any(::IO, ::StringIO), colors: T::Boolean).void } def print(out: T.unsafe(nil), colors: T.unsafe(nil)); end # All root nodes # # source://spoom//lib/spoom/file_tree.rb#37 sig { returns(T::Array[::Spoom::FileTree::Node]) } def roots; end end # A visitor that collects all the nodes in a tree # # source://spoom//lib/spoom/file_tree.rb#116 class Spoom::FileTree::CollectNodes < ::Spoom::FileTree::Visitor # @return [CollectNodes] a new instance of CollectNodes # # source://spoom//lib/spoom/file_tree.rb#121 sig { void } def initialize; end # source://spoom//lib/spoom/file_tree.rb#118 sig { returns(T::Array[::Spoom::FileTree::Node]) } def nodes; end # source://spoom//lib/spoom/file_tree.rb#128 sig { override.params(node: ::Spoom::FileTree::Node).void } def visit_node(node); end end # A visitor that collects the typing score of each node in a tree # # source://spoom//lib/spoom/file_tree.rb#157 class Spoom::FileTree::CollectScores < ::Spoom::FileTree::CollectStrictnesses # @return [CollectScores] a new instance of CollectScores # # source://spoom//lib/spoom/file_tree.rb#162 sig { params(context: ::Spoom::Context).void } def initialize(context); end # source://spoom//lib/spoom/file_tree.rb#159 sig { returns(T::Hash[::Spoom::FileTree::Node, ::Float]) } def scores; end # source://spoom//lib/spoom/file_tree.rb#170 sig { override.params(node: ::Spoom::FileTree::Node).void } def visit_node(node); end private # source://spoom//lib/spoom/file_tree.rb#179 sig { params(node: ::Spoom::FileTree::Node).returns(::Float) } def node_score(node); end # source://spoom//lib/spoom/file_tree.rb#188 sig { params(strictness: T.nilable(::String)).returns(::Float) } def strictness_score(strictness); end end # A visitor that collects the strictness of each node in a tree # # source://spoom//lib/spoom/file_tree.rb#135 class Spoom::FileTree::CollectStrictnesses < ::Spoom::FileTree::Visitor # @return [CollectStrictnesses] a new instance of CollectStrictnesses # # source://spoom//lib/spoom/file_tree.rb#140 sig { params(context: ::Spoom::Context).void } def initialize(context); end # source://spoom//lib/spoom/file_tree.rb#137 sig { returns(T::Hash[::Spoom::FileTree::Node, T.nilable(::String)]) } def strictnesses; end # source://spoom//lib/spoom/file_tree.rb#148 sig { override.params(node: ::Spoom::FileTree::Node).void } def visit_node(node); end end # A node representing either a file or a directory inside a FileTree # # source://spoom//lib/spoom/file_tree.rb#76 class Spoom::FileTree::Node < ::T::Struct const :parent, T.nilable(::Spoom::FileTree::Node) const :name, ::String const :children, T::Hash[::String, ::Spoom::FileTree::Node], default: T.unsafe(nil) # Full path to this node from root # # source://spoom//lib/spoom/file_tree.rb#88 sig { returns(::String) } def path; end end # An internal class used to print a FileTree # # See `FileTree#print` # # source://spoom//lib/spoom/file_tree.rb#201 class Spoom::FileTree::Printer < ::Spoom::FileTree::Visitor # @return [Printer] a new instance of Printer # # source://spoom//lib/spoom/file_tree.rb#203 sig do params( strictnesses: T::Hash[::Spoom::FileTree::Node, T.nilable(::String)], out: T.any(::IO, ::StringIO), colors: T::Boolean ).void end def initialize(strictnesses, out: T.unsafe(nil), colors: T.unsafe(nil)); end # source://spoom//lib/spoom/file_tree.rb#212 sig { override.params(node: ::Spoom::FileTree::Node).void } def visit_node(node); end private # source://spoom//lib/spoom/file_tree.rb#237 sig { params(strictness: T.nilable(::String)).returns(::Spoom::Color) } def strictness_color(strictness); end end # An abstract visitor for FileTree # # @abstract # # source://spoom//lib/spoom/file_tree.rb#98 class Spoom::FileTree::Visitor abstract! # source://spoom//lib/spoom/file_tree.rb#105 sig { params(node: ::Spoom::FileTree::Node).void } def visit_node(node); end # source://spoom//lib/spoom/file_tree.rb#110 sig { params(nodes: T::Array[::Spoom::FileTree::Node]).void } def visit_nodes(nodes); end # source://spoom//lib/spoom/file_tree.rb#100 sig { params(tree: ::Spoom::FileTree).void } def visit_tree(tree); end end # source://spoom//lib/spoom/context/git.rb#5 module Spoom::Git; end # source://spoom//lib/spoom/context/git.rb#6 class Spoom::Git::Commit < ::T::Struct const :sha, ::String const :time, ::Time # source://spoom//lib/spoom/context/git.rb#23 sig { returns(::Integer) } def timestamp; end class << self # Parse a line formatted as `%h %at` into a `Commit` # # source://spoom//lib/spoom/context/git.rb#10 sig { params(string: ::String).returns(T.nilable(::Spoom::Git::Commit)) } def parse_line(string); end end end # source://spoom//lib/spoom/sorbet/lsp/base.rb#5 module Spoom::LSP; end # source://spoom//lib/spoom/sorbet/lsp.rb#13 class Spoom::LSP::Client # @return [Client] a new instance of Client # # source://spoom//lib/spoom/sorbet/lsp.rb#15 sig { params(sorbet_bin: ::String, sorbet_args: ::String, path: ::String).void } def initialize(sorbet_bin, *sorbet_args, path: T.unsafe(nil)); end # source://spoom//lib/spoom/sorbet/lsp.rb#227 sig { void } def close; end # source://spoom//lib/spoom/sorbet/lsp.rb#129 sig { params(uri: ::String, line: ::Integer, column: ::Integer).returns(T::Array[::Spoom::LSP::Location]) } def definitions(uri, line, column); end # source://spoom//lib/spoom/sorbet/lsp.rb#210 sig { params(uri: ::String).returns(T::Array[::Spoom::LSP::DocumentSymbol]) } def document_symbols(uri); end # source://spoom//lib/spoom/sorbet/lsp.rb#87 sig { params(uri: ::String, line: ::Integer, column: ::Integer).returns(T.nilable(::Spoom::LSP::Hover)) } def hover(uri, line, column); end # source://spoom//lib/spoom/sorbet/lsp.rb#25 sig { returns(::Integer) } def next_id; end # @raise [Error::AlreadyOpen] # # source://spoom//lib/spoom/sorbet/lsp.rb#70 sig { params(workspace_path: ::String).void } def open(workspace_path); end # source://spoom//lib/spoom/sorbet/lsp.rb#52 sig { returns(T.nilable(T::Hash[T.untyped, T.untyped])) } def read; end # @raise [Error::BadHeaders] # # source://spoom//lib/spoom/sorbet/lsp.rb#41 sig { returns(T.nilable(::String)) } def read_raw; end # source://spoom//lib/spoom/sorbet/lsp.rb#171 sig do params( uri: ::String, line: ::Integer, column: ::Integer, include_decl: T::Boolean ).returns(T::Array[::Spoom::LSP::Location]) end def references(uri, line, column, include_decl = T.unsafe(nil)); end # source://spoom//lib/spoom/sorbet/lsp.rb#35 sig { params(message: ::Spoom::LSP::Message).returns(T.nilable(T::Hash[T.untyped, T.untyped])) } def send(message); end # source://spoom//lib/spoom/sorbet/lsp.rb#30 sig { params(json_string: ::String).void } def send_raw(json_string); end # source://spoom//lib/spoom/sorbet/lsp.rb#108 sig { params(uri: ::String, line: ::Integer, column: ::Integer).returns(T::Array[::Spoom::LSP::SignatureHelp]) } def signatures(uri, line, column); end # source://spoom//lib/spoom/sorbet/lsp.rb#195 sig { params(query: ::String).returns(T::Array[::Spoom::LSP::DocumentSymbol]) } def symbols(query); end # source://spoom//lib/spoom/sorbet/lsp.rb#150 sig { params(uri: ::String, line: ::Integer, column: ::Integer).returns(T::Array[::Spoom::LSP::Location]) } def type_definitions(uri, line, column); end end # source://spoom//lib/spoom/sorbet/lsp/structures.rb#165 class Spoom::LSP::Diagnostic < ::T::Struct include ::Spoom::LSP::PrintableSymbol const :range, ::Spoom::LSP::Range const :code, ::Integer const :message, ::String const :information, ::Object # source://spoom//lib/spoom/sorbet/lsp/structures.rb#187 sig { override.params(printer: ::Spoom::LSP::SymbolPrinter).void } def accept_printer(printer); end # source://spoom//lib/spoom/sorbet/lsp/structures.rb#192 sig { returns(::String) } def to_s; end class << self # source://spoom//lib/spoom/sorbet/lsp/structures.rb#175 sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::Diagnostic) } def from_json(json); end end end # source://spoom//lib/spoom/sorbet/lsp/structures.rb#197 class Spoom::LSP::DocumentSymbol < ::T::Struct include ::Spoom::LSP::PrintableSymbol const :name, ::String const :detail, T.nilable(::String) const :kind, ::Integer const :location, T.nilable(::Spoom::LSP::Location) const :range, T.nilable(::Spoom::LSP::Range) const :children, T::Array[::Spoom::LSP::DocumentSymbol] # source://spoom//lib/spoom/sorbet/lsp/structures.rb#223 sig { override.params(printer: ::Spoom::LSP::SymbolPrinter).void } def accept_printer(printer); end # source://spoom//lib/spoom/sorbet/lsp/structures.rb#255 sig { returns(::String) } def kind_string; end # source://spoom//lib/spoom/sorbet/lsp/structures.rb#250 sig { returns(::String) } def to_s; end class << self # source://spoom//lib/spoom/sorbet/lsp/structures.rb#209 sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::DocumentSymbol) } def from_json(json); end end end # source://spoom//lib/spoom/sorbet/lsp/structures.rb#259 Spoom::LSP::DocumentSymbol::SYMBOL_KINDS = T.let(T.unsafe(nil), Hash) # source://spoom//lib/spoom/sorbet/lsp/errors.rb#6 class Spoom::LSP::Error < ::Spoom::Error; end # source://spoom//lib/spoom/sorbet/lsp/errors.rb#7 class Spoom::LSP::Error::AlreadyOpen < ::Spoom::LSP::Error; end # source://spoom//lib/spoom/sorbet/lsp/errors.rb#8 class Spoom::LSP::Error::BadHeaders < ::Spoom::LSP::Error; end # source://spoom//lib/spoom/sorbet/lsp/errors.rb#10 class Spoom::LSP::Error::Diagnostics < ::Spoom::LSP::Error # @return [Diagnostics] a new instance of Diagnostics # # source://spoom//lib/spoom/sorbet/lsp/errors.rb#28 sig { params(uri: ::String, diagnostics: T::Array[::Spoom::LSP::Diagnostic]).void } def initialize(uri, diagnostics); end # source://spoom//lib/spoom/sorbet/lsp/errors.rb#15 sig { returns(T::Array[::Spoom::LSP::Diagnostic]) } def diagnostics; end # source://spoom//lib/spoom/sorbet/lsp/errors.rb#12 sig { returns(::String) } def uri; end class << self # source://spoom//lib/spoom/sorbet/lsp/errors.rb#19 sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::Error::Diagnostics) } def from_json(json); end end end # source://spoom//lib/spoom/sorbet/lsp/structures.rb#16 class Spoom::LSP::Hover < ::T::Struct include ::Spoom::LSP::PrintableSymbol const :contents, ::String const :range, T.nilable(T::Range[T.untyped]) # source://spoom//lib/spoom/sorbet/lsp/structures.rb#34 sig { override.params(printer: ::Spoom::LSP::SymbolPrinter).void } def accept_printer(printer); end # source://spoom//lib/spoom/sorbet/lsp/structures.rb#40 sig { returns(::String) } def to_s; end class << self # source://spoom//lib/spoom/sorbet/lsp/structures.rb#24 sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::Hover) } def from_json(json); end end end # source://spoom//lib/spoom/sorbet/lsp/structures.rb#103 class Spoom::LSP::Location < ::T::Struct include ::Spoom::LSP::PrintableSymbol const :uri, ::String const :range, ::Spoom::LSP::Range # source://spoom//lib/spoom/sorbet/lsp/structures.rb#121 sig { override.params(printer: ::Spoom::LSP::SymbolPrinter).void } def accept_printer(printer); end # source://spoom//lib/spoom/sorbet/lsp/structures.rb#127 sig { returns(::String) } def to_s; end class << self # source://spoom//lib/spoom/sorbet/lsp/structures.rb#111 sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::Location) } def from_json(json); end end end # A general message as defined by JSON-RPC. # # The language server protocol always uses `"2.0"` as the `jsonrpc` version. # # source://spoom//lib/spoom/sorbet/lsp/base.rb#12 class Spoom::LSP::Message # @return [Message] a new instance of Message # # source://spoom//lib/spoom/sorbet/lsp/base.rb#14 sig { void } def initialize; end # source://spoom//lib/spoom/sorbet/lsp/base.rb#19 sig { returns(T::Hash[T.untyped, T.untyped]) } def as_json; end # source://spoom//lib/spoom/sorbet/lsp/base.rb#27 sig { params(args: T.untyped).returns(::String) } def to_json(*args); end end # A notification message. # # A processed notification message must not send a response back. They work like events. # # source://spoom//lib/spoom/sorbet/lsp/base.rb#54 class Spoom::LSP::Notification < ::Spoom::LSP::Message # @return [Notification] a new instance of Notification # # source://spoom//lib/spoom/sorbet/lsp/base.rb#62 sig { params(method: ::String, params: T::Hash[T.untyped, T.untyped]).void } def initialize(method, params); end # source://spoom//lib/spoom/sorbet/lsp/base.rb#56 sig { returns(::String) } def method; end # source://spoom//lib/spoom/sorbet/lsp/base.rb#59 sig { returns(T::Hash[T.untyped, T.untyped]) } def params; end end # source://spoom//lib/spoom/sorbet/lsp/structures.rb#45 class Spoom::LSP::Position < ::T::Struct include ::Spoom::LSP::PrintableSymbol const :line, ::Integer const :char, ::Integer # source://spoom//lib/spoom/sorbet/lsp/structures.rb#63 sig { override.params(printer: ::Spoom::LSP::SymbolPrinter).void } def accept_printer(printer); end # source://spoom//lib/spoom/sorbet/lsp/structures.rb#68 sig { returns(::String) } def to_s; end class << self # source://spoom//lib/spoom/sorbet/lsp/structures.rb#53 sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::Position) } def from_json(json); end end end # source://spoom//lib/spoom/sorbet/lsp/structures.rb#10 module Spoom::LSP::PrintableSymbol interface! # @abstract # @raise [NotImplementedError] # # source://spoom//lib/spoom/sorbet/lsp/structures.rb#13 sig { abstract.params(printer: ::Spoom::LSP::SymbolPrinter).void } def accept_printer(printer); end end # source://spoom//lib/spoom/sorbet/lsp/structures.rb#73 class Spoom::LSP::Range < ::T::Struct include ::Spoom::LSP::PrintableSymbol const :start, ::Spoom::LSP::Position const :end, ::Spoom::LSP::Position # source://spoom//lib/spoom/sorbet/lsp/structures.rb#91 sig { override.params(printer: ::Spoom::LSP::SymbolPrinter).void } def accept_printer(printer); end # source://spoom//lib/spoom/sorbet/lsp/structures.rb#98 sig { returns(::String) } def to_s; end class << self # source://spoom//lib/spoom/sorbet/lsp/structures.rb#81 sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::Range) } def from_json(json); end end end # A request message to describe a request between the client and the server. # # Every processed request must send a response back to the sender of the request. # # source://spoom//lib/spoom/sorbet/lsp/base.rb#35 class Spoom::LSP::Request < ::Spoom::LSP::Message # @return [Request] a new instance of Request # # source://spoom//lib/spoom/sorbet/lsp/base.rb#43 sig { params(id: ::Integer, method: ::String, params: T::Hash[T.untyped, T.untyped]).void } def initialize(id, method, params); end # source://spoom//lib/spoom/sorbet/lsp/base.rb#37 sig { returns(::Integer) } def id; end # source://spoom//lib/spoom/sorbet/lsp/base.rb#40 sig { returns(T::Hash[T.untyped, T.untyped]) } def params; end end # source://spoom//lib/spoom/sorbet/lsp/errors.rb#36 class Spoom::LSP::ResponseError < ::Spoom::LSP::Error # @return [ResponseError] a new instance of ResponseError # # source://spoom//lib/spoom/sorbet/lsp/errors.rb#55 sig { params(code: ::Integer, message: ::String, data: T::Hash[T.untyped, T.untyped]).void } def initialize(code, message, data); end # source://spoom//lib/spoom/sorbet/lsp/errors.rb#38 sig { returns(::Integer) } def code; end # source://spoom//lib/spoom/sorbet/lsp/errors.rb#41 sig { returns(T::Hash[T.untyped, T.untyped]) } def data; end class << self # source://spoom//lib/spoom/sorbet/lsp/errors.rb#45 sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::ResponseError) } def from_json(json); end end end # source://spoom//lib/spoom/sorbet/lsp/structures.rb#132 class Spoom::LSP::SignatureHelp < ::T::Struct include ::Spoom::LSP::PrintableSymbol const :label, T.nilable(::String) const :doc, ::Object const :params, T::Array[T.untyped] # source://spoom//lib/spoom/sorbet/lsp/structures.rb#152 sig { override.params(printer: ::Spoom::LSP::SymbolPrinter).void } def accept_printer(printer); end # source://spoom//lib/spoom/sorbet/lsp/structures.rb#160 sig { returns(::String) } def to_s; end class << self # source://spoom//lib/spoom/sorbet/lsp/structures.rb#141 sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::SignatureHelp) } def from_json(json); end end end # source://spoom//lib/spoom/sorbet/lsp/structures.rb#289 class Spoom::LSP::SymbolPrinter < ::Spoom::Printer # @return [SymbolPrinter] a new instance of SymbolPrinter # # source://spoom//lib/spoom/sorbet/lsp/structures.rb#297 sig do params( out: T.any(::IO, ::StringIO), colors: T::Boolean, indent_level: ::Integer, prefix: T.nilable(::String) ).void end def initialize(out: T.unsafe(nil), colors: T.unsafe(nil), indent_level: T.unsafe(nil), prefix: T.unsafe(nil)); end # source://spoom//lib/spoom/sorbet/lsp/structures.rb#319 sig { params(uri: ::String).returns(::String) } def clean_uri(uri); end # source://spoom//lib/spoom/sorbet/lsp/structures.rb#294 sig { returns(T.nilable(::String)) } def prefix; end # source://spoom//lib/spoom/sorbet/lsp/structures.rb#294 def prefix=(_arg0); end # source://spoom//lib/spoom/sorbet/lsp/structures.rb#327 sig { params(objects: T::Array[::Spoom::LSP::PrintableSymbol]).void } def print_list(objects); end # source://spoom//lib/spoom/sorbet/lsp/structures.rb#307 sig { params(object: T.nilable(::Spoom::LSP::PrintableSymbol)).void } def print_object(object); end # source://spoom//lib/spoom/sorbet/lsp/structures.rb#314 sig { params(objects: T::Array[::Spoom::LSP::PrintableSymbol]).void } def print_objects(objects); end # source://spoom//lib/spoom/sorbet/lsp/structures.rb#291 sig { returns(T::Set[::Integer]) } def seen; end end # source://spoom//lib/spoom/location.rb#5 class Spoom::Location include ::Comparable # @raise [LocationError] # @return [Location] a new instance of Location # # source://spoom//lib/spoom/location.rb#61 sig do params( file: ::String, start_line: T.nilable(::Integer), start_column: T.nilable(::Integer), end_line: T.nilable(::Integer), end_column: T.nilable(::Integer) ).void end def initialize(file, start_line: T.unsafe(nil), start_column: T.unsafe(nil), end_line: T.unsafe(nil), end_column: T.unsafe(nil)); end # source://spoom//lib/spoom/location.rb#95 sig { override.params(other: ::BasicObject).returns(T.nilable(::Integer)) } def <=>(other); end # source://spoom//lib/spoom/location.rb#58 def end_column; end # source://spoom//lib/spoom/location.rb#58 def end_line; end # source://spoom//lib/spoom/location.rb#55 sig { returns(::String) } def file; end # @return [Boolean] # # source://spoom//lib/spoom/location.rb#81 sig { params(other: ::Spoom::Location).returns(T::Boolean) } def include?(other); end # source://spoom//lib/spoom/location.rb#58 def start_column; end # source://spoom//lib/spoom/location.rb#58 sig { returns(T.nilable(::Integer)) } def start_line; end # source://spoom//lib/spoom/location.rb#118 sig { returns(::String) } def to_s; end class << self # source://spoom//lib/spoom/location.rb#43 sig { params(file: ::String, location: ::Prism::Location).returns(::Spoom::Location) } def from_prism(file, location); end # @raise [LocationError] # # source://spoom//lib/spoom/location.rb#12 sig { params(location_string: ::String).returns(::Spoom::Location) } def from_string(location_string); end end end # source://spoom//lib/spoom/location.rb#8 class Spoom::Location::LocationError < ::Spoom::Error; end # source://spoom//lib/spoom/model/model.rb#5 class Spoom::Model # @return [Model] a new instance of Model # # source://spoom//lib/spoom/model/model.rb#227 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#236 sig { params(full_name: ::String).returns(::Spoom::Model::Symbol) } def [](full_name); end # source://spoom//lib/spoom/model/model.rb#285 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#247 sig { params(full_name: ::String).returns(::Spoom::Model::Symbol) } def register_symbol(full_name); end # source://spoom//lib/spoom/model/model.rb#252 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#279 sig { params(symbol: ::Spoom::Model::Symbol).returns(T::Array[::Spoom::Model::Symbol]) } def subtypes(symbol); end # source://spoom//lib/spoom/model/model.rb#273 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#221 sig { returns(T::Hash[::String, ::Spoom::Model::Symbol]) } def symbols; end # source://spoom//lib/spoom/model/model.rb#224 sig { returns(Spoom::Poset[::Spoom::Model::Symbol]) } def symbols_hierarchy; end private # source://spoom//lib/spoom/model/model.rb#292 sig { void } def compute_symbols_hierarchy!; end end # @abstract # # source://spoom//lib/spoom/model/model.rb#175 class Spoom::Model::Attr < ::Spoom::Model::Property abstract! end # source://spoom//lib/spoom/model/model.rb#180 class Spoom::Model::AttrAccessor < ::Spoom::Model::Attr; end # source://spoom//lib/spoom/model/model.rb#178 class Spoom::Model::AttrReader < ::Spoom::Model::Attr; end # source://spoom//lib/spoom/model/model.rb#179 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 # @return [Builder] a new instance of Builder # # source://spoom//lib/spoom/model/builder.rb#9 sig { params(model: ::Spoom::Model, file: ::String).void } def initialize(model, file); end # source://spoom//lib/spoom/model/builder.rb#159 sig { override.params(node: ::Prism::CallNode).void } def visit_call_node(node); end # source://spoom//lib/spoom/model/builder.rb#23 sig { override.params(node: ::Prism::ClassNode).void } def visit_class_node(node); end # source://spoom//lib/spoom/model/builder.rb#76 sig { override.params(node: ::Prism::ConstantPathWriteNode).void } def visit_constant_path_write_node(node); end # source://spoom//lib/spoom/model/builder.rb#99 sig { override.params(node: ::Prism::ConstantWriteNode).void } def visit_constant_write_node(node); end # source://spoom//lib/spoom/model/builder.rb#138 sig { override.params(node: ::Prism::DefNode).void } def visit_def_node(node); end # source://spoom//lib/spoom/model/builder.rb#58 sig { override.params(node: ::Prism::ModuleNode).void } def visit_module_node(node); end # source://spoom//lib/spoom/model/builder.rb#115 sig { override.params(node: ::Prism::MultiWriteNode).void } def visit_multi_write_node(node); end # source://spoom//lib/spoom/model/builder.rb#40 sig { override.params(node: ::Prism::SingletonClassNode).void } def visit_singleton_class_node(node); end private # source://spoom//lib/spoom/model/builder.rb#250 sig { returns(T::Array[::Spoom::Model::Sig]) } def collect_sigs; end # source://spoom//lib/spoom/model/builder.rb#245 sig { returns(::Spoom::Model::Visibility) } def current_visibility; end # source://spoom//lib/spoom/model/builder.rb#262 sig { params(node: ::Prism::Node).returns(T::Array[::Spoom::Model::Comment]) } def node_comments(node); end # source://spoom//lib/spoom/model/builder.rb#257 sig { params(node: ::Prism::Node).returns(::Spoom::Location) } def node_location(node); end end # source://spoom//lib/spoom/model/model.rb#128 class Spoom::Model::Class < ::Spoom::Model::Namespace # @return [Class] a new instance of Class # # source://spoom//lib/spoom/model/model.rb#133 sig do params( symbol: ::Spoom::Model::Symbol, owner: T.nilable(::Spoom::Model::Namespace), location: ::Spoom::Location, superclass_name: T.nilable(::String), comments: T::Array[::Spoom::Model::Comment] ).void end def initialize(symbol, owner:, location:, superclass_name: T.unsafe(nil), comments: T.unsafe(nil)); end # source://spoom//lib/spoom/model/model.rb#130 sig { returns(T.nilable(::String)) } def superclass_name; end # source://spoom//lib/spoom/model/model.rb#130 def superclass_name=(_arg0); end end # source://spoom//lib/spoom/model/model.rb#8 class Spoom::Model::Comment # @return [Comment] a new instance of Comment # # source://spoom//lib/spoom/model/model.rb#16 sig { params(string: ::String, location: ::Spoom::Location).void } def initialize(string, location); end # source://spoom//lib/spoom/model/model.rb#13 sig { returns(::Spoom::Location) } def location; end # source://spoom//lib/spoom/model/model.rb#10 sig { returns(::String) } def string; end end # source://spoom//lib/spoom/model/model.rb#142 class Spoom::Model::Constant < ::Spoom::Model::SymbolDef # @return [Constant] a new instance of Constant # # source://spoom//lib/spoom/model/model.rb#147 sig do params( symbol: ::Spoom::Model::Symbol, owner: T.nilable(::Spoom::Model::Namespace), location: ::Spoom::Location, value: ::String, comments: T::Array[::Spoom::Model::Comment] ).void end def initialize(symbol, owner:, location:, value:, comments: T.unsafe(nil)); end # source://spoom//lib/spoom/model/model.rb#144 sig { returns(::String) } def value; end end # source://spoom//lib/spoom/model/model.rb#6 class Spoom::Model::Error < ::Spoom::Error; end # source://spoom//lib/spoom/model/model.rb#204 class Spoom::Model::Extend < ::Spoom::Model::Mixin; end # source://spoom//lib/spoom/model/model.rb#202 class Spoom::Model::Include < ::Spoom::Model::Mixin; end # source://spoom//lib/spoom/model/model.rb#172 class Spoom::Model::Method < ::Spoom::Model::Property; end # A mixin (include, prepend, extend) to a namespace # # @abstract # # source://spoom//lib/spoom/model/model.rb#192 class Spoom::Model::Mixin abstract! # @return [Mixin] a new instance of Mixin # # source://spoom//lib/spoom/model/model.rb#197 sig { params(name: ::String).void } def initialize(name); end # source://spoom//lib/spoom/model/model.rb#194 sig { returns(::String) } def name; end end # source://spoom//lib/spoom/model/model.rb#140 class Spoom::Model::Module < ::Spoom::Model::Namespace; end # A class or module # # @abstract # # source://spoom//lib/spoom/model/model.rb#110 class Spoom::Model::Namespace < ::Spoom::Model::SymbolDef abstract! # @return [Namespace] a new instance of Namespace # # source://spoom//lib/spoom/model/model.rb#118 sig do params( symbol: ::Spoom::Model::Symbol, owner: T.nilable(::Spoom::Model::Namespace), location: ::Spoom::Location, comments: T::Array[::Spoom::Model::Comment] ).void end def initialize(symbol, owner:, location:, comments: T.unsafe(nil)); end # source://spoom//lib/spoom/model/model.rb#112 sig { returns(T::Array[::Spoom::Model::SymbolDef]) } def children; end # source://spoom//lib/spoom/model/model.rb#115 sig { returns(T::Array[::Spoom::Model::Mixin]) } def mixins; end end # @abstract # # source://spoom//lib/spoom/model/namespace_visitor.rb#7 class Spoom::Model::NamespaceVisitor < ::Spoom::Visitor abstract! # @return [NamespaceVisitor] a new instance of NamespaceVisitor # # source://spoom//lib/spoom/model/namespace_visitor.rb#9 sig { void } def initialize; end # source://spoom//lib/spoom/model/namespace_visitor.rb#17 sig { override.params(node: T.nilable(::Prism::Node)).void } def visit(node); end end # source://spoom//lib/spoom/model/model.rb#203 class Spoom::Model::Prepend < ::Spoom::Model::Mixin; end # A method or an attribute accessor # # @abstract # # source://spoom//lib/spoom/model/model.rb#156 class Spoom::Model::Property < ::Spoom::Model::SymbolDef abstract! # @return [Property] a new instance of Property # # source://spoom//lib/spoom/model/model.rb#164 sig do params( symbol: ::Spoom::Model::Symbol, owner: T.nilable(::Spoom::Model::Namespace), location: ::Spoom::Location, visibility: ::Spoom::Model::Visibility, sigs: T::Array[::Spoom::Model::Sig], comments: T::Array[::Spoom::Model::Comment] ).void end def initialize(symbol, owner:, location:, visibility:, sigs: T.unsafe(nil), comments: T.unsafe(nil)); end # source://spoom//lib/spoom/model/model.rb#161 sig { returns(T::Array[::Spoom::Model::Sig]) } def sigs; end # source://spoom//lib/spoom/model/model.rb#158 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 # @return [Boolean] # # source://spoom//lib/spoom/model/reference.rb#35 sig { returns(T::Boolean) } def constant?; end # @return [Boolean] # # source://spoom//lib/spoom/model/reference.rb#40 sig { returns(T::Boolean) } def method?; end class << self # source://spoom//lib/spoom/model/reference.rb#20 sig { params(name: ::String, location: ::Spoom::Location).returns(::Spoom::Model::Reference) } def constant(name, location); end # source://spoom//lib/spoom/model/reference.rb#25 sig { params(name: ::String, location: ::Spoom::Location).returns(::Spoom::Model::Reference) } def method(name, location); end end end # source://spoom//lib/spoom/model/reference.rb#11 class Spoom::Model::Reference::Kind < ::T::Enum enums do Constant = new Method = new end end # Visit a file to collect all the references to constants and methods # # source://spoom//lib/spoom/model/references_visitor.rb#7 class Spoom::Model::ReferencesVisitor < ::Spoom::Visitor # @return [ReferencesVisitor] a new instance of ReferencesVisitor # # source://spoom//lib/spoom/model/references_visitor.rb#12 sig { params(file: ::String).void } def initialize(file); end # source://spoom//lib/spoom/model/references_visitor.rb#9 sig { returns(T::Array[::Spoom::Model::Reference]) } def references; end # source://spoom//lib/spoom/model/references_visitor.rb#21 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#34 sig { override.params(node: ::Prism::BlockArgumentNode).void } def visit_block_argument_node(node); end # source://spoom//lib/spoom/model/references_visitor.rb#46 sig { override.params(node: ::Prism::CallAndWriteNode).void } def visit_call_and_write_node(node); end # source://spoom//lib/spoom/model/references_visitor.rb#73 sig { override.params(node: ::Prism::CallNode).void } def visit_call_node(node); end # source://spoom//lib/spoom/model/references_visitor.rb#55 sig { override.params(node: ::Prism::CallOperatorWriteNode).void } def visit_call_operator_write_node(node); end # source://spoom//lib/spoom/model/references_visitor.rb#64 sig { override.params(node: ::Prism::CallOrWriteNode).void } def visit_call_or_write_node(node); end # source://spoom//lib/spoom/model/references_visitor.rb#91 sig { override.params(node: ::Prism::ClassNode).void } def visit_class_node(node); end # source://spoom//lib/spoom/model/references_visitor.rb#98 sig { override.params(node: ::Prism::ConstantAndWriteNode).void } def visit_constant_and_write_node(node); end # source://spoom//lib/spoom/model/references_visitor.rb#105 sig { override.params(node: ::Prism::ConstantOperatorWriteNode).void } def visit_constant_operator_write_node(node); end # source://spoom//lib/spoom/model/references_visitor.rb#112 sig { override.params(node: ::Prism::ConstantOrWriteNode).void } def visit_constant_or_write_node(node); end # source://spoom//lib/spoom/model/references_visitor.rb#119 sig { override.params(node: ::Prism::ConstantPathNode).void } def visit_constant_path_node(node); end # source://spoom//lib/spoom/model/references_visitor.rb#126 sig { override.params(node: ::Prism::ConstantPathWriteNode).void } def visit_constant_path_write_node(node); end # source://spoom//lib/spoom/model/references_visitor.rb#133 sig { override.params(node: ::Prism::ConstantReadNode).void } def visit_constant_read_node(node); end # source://spoom//lib/spoom/model/references_visitor.rb#139 sig { override.params(node: ::Prism::ConstantWriteNode).void } def visit_constant_write_node(node); end # source://spoom//lib/spoom/model/references_visitor.rb#145 sig { override.params(node: ::Prism::LocalVariableAndWriteNode).void } def visit_local_variable_and_write_node(node); end # source://spoom//lib/spoom/model/references_visitor.rb#154 sig { override.params(node: ::Prism::LocalVariableOperatorWriteNode).void } def visit_local_variable_operator_write_node(node); end # source://spoom//lib/spoom/model/references_visitor.rb#163 sig { override.params(node: ::Prism::LocalVariableOrWriteNode).void } def visit_local_variable_or_write_node(node); end # source://spoom//lib/spoom/model/references_visitor.rb#172 sig { override.params(node: ::Prism::LocalVariableWriteNode).void } def visit_local_variable_write_node(node); end # source://spoom//lib/spoom/model/references_visitor.rb#179 sig { override.params(node: ::Prism::ModuleNode).void } def visit_module_node(node); end # source://spoom//lib/spoom/model/references_visitor.rb#185 sig { override.params(node: ::Prism::MultiWriteNode).void } def visit_multi_write_node(node); end # source://spoom//lib/spoom/model/references_visitor.rb#197 sig { override.params(node: ::Prism::OrNode).void } def visit_or_node(node); end private # source://spoom//lib/spoom/model/references_visitor.rb#215 sig { params(node: ::Prism::Node).returns(::Spoom::Location) } def node_location(node); end # source://spoom//lib/spoom/model/references_visitor.rb#205 sig { params(name: ::String, node: ::Prism::Node).void } def reference_constant(name, node); end # source://spoom//lib/spoom/model/references_visitor.rb#210 sig { params(name: ::String, node: ::Prism::Node).void } def reference_method(name, node); end end # A Sorbet signature (sig block) # # source://spoom//lib/spoom/model/model.rb#207 class Spoom::Model::Sig # @return [Sig] a new instance of Sig # # source://spoom//lib/spoom/model/model.rb#212 sig { params(string: ::String).void } def initialize(string); end # source://spoom//lib/spoom/model/model.rb#209 sig { returns(::String) } def string; end end # source://spoom//lib/spoom/model/model.rb#126 class Spoom::Model::SingletonClass < ::Spoom::Model::Namespace; end # A Symbol is a uniquely named entity in the Ruby codebase # # A symbol can have multiple definitions, e.g. a class can be reopened. # Sometimes a symbol can have multiple definitions of different types, # e.g. `foo` method can be defined both as a method and as an attribute accessor. # # source://spoom//lib/spoom/model/model.rb#27 class Spoom::Model::Symbol # @return [Symbol] a new instance of Symbol # # source://spoom//lib/spoom/model/model.rb#37 sig { params(full_name: ::String).void } def initialize(full_name); end # The definitions of this symbol (where it exists in the code) # # source://spoom//lib/spoom/model/model.rb#34 sig { returns(T::Array[::Spoom::Model::SymbolDef]) } def definitions; end # The full, unique name of this symbol # # source://spoom//lib/spoom/model/model.rb#30 sig { returns(::String) } def full_name; end # The short name of this symbol # # source://spoom//lib/spoom/model/model.rb#44 sig { returns(::String) } def name; end # source://spoom//lib/spoom/model/model.rb#49 sig { returns(::String) } def to_s; end end # A SymbolDef is a definition of a Symbol # # It can be a class, module, constant, method, etc. # A SymbolDef has a location pointing to the actual code that defines the symbol. # # @abstract # # source://spoom//lib/spoom/model/model.rb#67 class Spoom::Model::SymbolDef abstract! # @return [SymbolDef] a new instance of SymbolDef # # source://spoom//lib/spoom/model/model.rb#85 sig do params( symbol: ::Spoom::Model::Symbol, owner: T.nilable(::Spoom::Model::Namespace), location: ::Spoom::Location, comments: T::Array[::Spoom::Model::Comment] ).void end def initialize(symbol, owner:, location:, comments:); end # The comments associated with this definition # # source://spoom//lib/spoom/model/model.rb#82 sig { returns(T::Array[::Spoom::Model::Comment]) } def comments; end # The full name of the symbol this definition belongs to # # source://spoom//lib/spoom/model/model.rb#97 sig { returns(::String) } def full_name; end # The actual code location of this definition # # source://spoom//lib/spoom/model/model.rb#78 sig { returns(::Spoom::Location) } def location; end # The short name of the symbol this definition belongs to # # source://spoom//lib/spoom/model/model.rb#103 sig { returns(::String) } def name; end # The enclosing namespace this definition belongs to # # source://spoom//lib/spoom/model/model.rb#74 sig { returns(T.nilable(::Spoom::Model::Namespace)) } def owner; end # The symbol this definition belongs to # # source://spoom//lib/spoom/model/model.rb#70 sig { returns(::Spoom::Model::Symbol) } def symbol; end end # source://spoom//lib/spoom/model/model.rb#54 class Spoom::Model::UnresolvedSymbol < ::Spoom::Model::Symbol # source://spoom//lib/spoom/model/model.rb#57 sig { override.returns(::String) } def to_s; end end # source://spoom//lib/spoom/model/model.rb#182 class Spoom::Model::Visibility < ::T::Enum enums do Private = new Protected = new Public = new end end # source://spoom//lib/spoom/parse.rb#7 class Spoom::ParseError < ::Spoom::Error; end # A Poset is a set of elements with a partial order relation. # # The partial order relation is a binary relation that is reflexive, antisymmetric, and transitive. # It can be used to represent a hierarchy of classes or modules, the dependencies between gems, etc. # # source://spoom//lib/spoom/poset.rb#10 class Spoom::Poset extend T::Generic E = type_member { { upper: Object } } # @return [Poset] a new instance of Poset # # source://spoom//lib/spoom/poset.rb#14 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#22 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#50 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#31 sig { params(value: E).returns(Spoom::Poset::Element[E]) } def add_element(value); end # Is there a direct edge from `from` to `to`? # # @return [Boolean] # # source://spoom//lib/spoom/poset.rb#97 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`? # # @return [Boolean] # # source://spoom//lib/spoom/poset.rb#88 sig { params(from: E, to: E).returns(T::Boolean) } def edge?(from, to); end # Is the given value a element in the POSet? # # @return [Boolean] # # source://spoom//lib/spoom/poset.rb#40 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#103 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#112 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#133 class Spoom::Poset::Element include ::Comparable extend T::Generic E = type_member { { upper: Object } } # @return [Element] a new instance of Element # # source://spoom//lib/spoom/poset.rb#145 sig { params(value: E).void } def initialize(value); end # source://spoom//lib/spoom/poset.rb#154 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#173 sig { returns(T::Array[E]) } def ancestors; end # Direct children of this element # # source://spoom//lib/spoom/poset.rb#179 sig { returns(T::Array[E]) } def children; end # Direct and indirect descendants of this element # # source://spoom//lib/spoom/poset.rb#185 sig { returns(T::Array[E]) } def descendants; end # Edges (direct and indirect) from this element to other elements in the same POSet # # source://spoom//lib/spoom/poset.rb#142 def dfroms; end # Edges (direct and indirect) from this element to other elements in the same POSet # # source://spoom//lib/spoom/poset.rb#142 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 # # source://spoom//lib/spoom/poset.rb#142 def froms; end # Direct parents of this element # # source://spoom//lib/spoom/poset.rb#167 sig { returns(T::Array[E]) } def parents; end # Edges (direct and indirect) from this element to other elements in the same POSet # # source://spoom//lib/spoom/poset.rb#142 def tos; end # The value held by this element # # source://spoom//lib/spoom/poset.rb#138 sig { returns(E) } def value; end end # source://spoom//lib/spoom/poset.rb#11 class Spoom::Poset::Error < ::Spoom::Error; end # source://spoom//lib/spoom/printer.rb#7 class Spoom::Printer include ::Spoom::Colorize # @return [Printer] a new instance of Printer # # source://spoom//lib/spoom/printer.rb#14 sig { params(out: T.any(::IO, ::StringIO), colors: T::Boolean, indent_level: ::Integer).void } def initialize(out: T.unsafe(nil), colors: T.unsafe(nil), indent_level: T.unsafe(nil)); end # Colorize `string` with color if `@colors` # # source://spoom//lib/spoom/printer.rb#75 sig { params(string: ::String, color: ::Spoom::Color).returns(::String) } def colorize(string, *color); end # Decrease indent level # # source://spoom//lib/spoom/printer.rb#28 sig { void } def dedent; end # Increase indent level # # source://spoom//lib/spoom/printer.rb#22 sig { void } def indent; end # source://spoom//lib/spoom/printer.rb#11 sig { returns(T.any(::IO, ::StringIO)) } def out; end # source://spoom//lib/spoom/printer.rb#11 def out=(_arg0); end # Print `string` into `out` # # source://spoom//lib/spoom/printer.rb#34 sig { params(string: T.nilable(::String)).void } def print(string); end # Print `string` colored with `color` into `out` # # Does not use colors unless `@colors`. # # source://spoom//lib/spoom/printer.rb#44 sig { params(string: T.nilable(::String), color: ::Spoom::Color).void } def print_colored(string, *color); end # Print `string` with indent and newline # # source://spoom//lib/spoom/printer.rb#59 sig { params(string: T.nilable(::String)).void } def printl(string); end # Print a new line into `out` # # source://spoom//lib/spoom/printer.rb#53 sig { void } def printn; end # Print an indent space into `out` # # source://spoom//lib/spoom/printer.rb#69 sig { void } def printt; end end # source://spoom//lib/spoom/rbs.rb#5 module Spoom::RBS; end # source://spoom//lib/spoom/rbs.rb#65 class Spoom::RBS::Annotation < ::Spoom::RBS::Comment; end # source://spoom//lib/spoom/rbs.rb#51 class Spoom::RBS::Comment # @return [Comment] a new instance of Comment # # source://spoom//lib/spoom/rbs.rb#59 sig { params(string: ::String, location: ::Prism::Location).void } def initialize(string, location); end # source://spoom//lib/spoom/rbs.rb#56 sig { returns(::Prism::Location) } def location; end # source://spoom//lib/spoom/rbs.rb#53 sig { returns(::String) } def string; end end # source://spoom//lib/spoom/rbs.rb#6 class Spoom::RBS::Comments # @return [Comments] a new instance of Comments # # source://spoom//lib/spoom/rbs.rb#14 sig { void } def initialize; end # source://spoom//lib/spoom/rbs.rb#8 sig { returns(T::Array[::Spoom::RBS::Annotation]) } def annotations; end # source://spoom//lib/spoom/rbs.rb#25 sig { returns(T::Array[::Spoom::RBS::Annotation]) } def class_annotations; end # @return [Boolean] # # source://spoom//lib/spoom/rbs.rb#20 sig { returns(T::Boolean) } def empty?; end # source://spoom//lib/spoom/rbs.rb#39 sig { returns(T::Array[::Spoom::RBS::Annotation]) } def method_annotations; end # source://spoom//lib/spoom/rbs.rb#11 sig { returns(T::Array[::Spoom::RBS::Signature]) } def signatures; end end # source://spoom//lib/spoom/rbs.rb#68 module Spoom::RBS::ExtractRBSComments # source://spoom//lib/spoom/rbs.rb#70 sig { params(node: ::Prism::Node).returns(::Spoom::RBS::Comments) } def node_rbs_comments(node); end end # source://spoom//lib/spoom/rbs.rb#66 class Spoom::RBS::Signature < ::Spoom::RBS::Comment; end # source://spoom//lib/spoom.rb#8 Spoom::SPOOM_PATH = T.let(T.unsafe(nil), String) # source://spoom//lib/spoom/sorbet/config.rb#5 module Spoom::Sorbet; end # source://spoom//lib/spoom/sorbet.rb#33 Spoom::Sorbet::BIN_PATH = T.let(T.unsafe(nil), String) # source://spoom//lib/spoom/sorbet.rb#30 Spoom::Sorbet::CONFIG_PATH = T.let(T.unsafe(nil), String) # Parse Sorbet config files # # Parses a Sorbet config file: # # ```ruby # config = Spoom::Sorbet::Config.parse_file("sorbet/config") # puts config.paths # "." # ``` # # Parses a Sorbet config string: # # ```ruby # config = Spoom::Sorbet::Config.parse_string(<<~CONFIG) # a # --file=b # --ignore=c # CONFIG # puts config.paths # "a", "b" # puts config.ignore # "c" # ``` # # source://spoom//lib/spoom/sorbet/config.rb#26 class Spoom::Sorbet::Config # @return [Config] a new instance of Config # # source://spoom//lib/spoom/sorbet/config.rb#36 sig { void } def initialize; end # source://spoom//lib/spoom/sorbet/config.rb#30 def allowed_extensions; end # source://spoom//lib/spoom/sorbet/config.rb#30 def allowed_extensions=(_arg0); end # source://spoom//lib/spoom/sorbet/config.rb#44 sig { returns(::Spoom::Sorbet::Config) } def copy; end # source://spoom//lib/spoom/sorbet/config.rb#30 def ignore; end # source://spoom//lib/spoom/sorbet/config.rb#30 def ignore=(_arg0); end # source://spoom//lib/spoom/sorbet/config.rb#33 sig { returns(T::Boolean) } def no_stdlib; end # source://spoom//lib/spoom/sorbet/config.rb#33 def no_stdlib=(_arg0); end # Returns self as a string of options that can be passed to Sorbet # # Example: # ~~~rb # config = Sorbet::Config.new # config.paths << "/foo" # config.paths << "/bar" # config.ignore << "/baz" # config.allowed_extensions << ".rb" # # puts config.options_string # "/foo /bar --ignore /baz --allowed-extension .rb" # ~~~ # # source://spoom//lib/spoom/sorbet/config.rb#66 sig { returns(::String) } def options_string; end # source://spoom//lib/spoom/sorbet/config.rb#30 sig { returns(T::Array[::String]) } def paths; end # source://spoom//lib/spoom/sorbet/config.rb#30 def paths=(_arg0); end class << self # source://spoom//lib/spoom/sorbet/config.rb#77 sig { params(sorbet_config_path: ::String).returns(::Spoom::Sorbet::Config) } def parse_file(sorbet_config_path); end # source://spoom//lib/spoom/sorbet/config.rb#82 sig { params(sorbet_config: ::String).returns(::Spoom::Sorbet::Config) } def parse_string(sorbet_config); end private # source://spoom//lib/spoom/sorbet/config.rb#143 sig { params(line: ::String).returns(::String) } def parse_option(line); end end end # source://spoom//lib/spoom/sorbet/config.rb#27 Spoom::Sorbet::Config::DEFAULT_ALLOWED_EXTENSIONS = T.let(T.unsafe(nil), Array) # source://spoom//lib/spoom/sorbet.rb#15 class Spoom::Sorbet::Error < ::Spoom::Error # @return [Error] a new instance of Error # # source://spoom//lib/spoom/sorbet.rb#23 sig { params(message: ::String, result: ::Spoom::ExecResult).void } def initialize(message, result); end # source://spoom//lib/spoom/sorbet.rb#20 sig { returns(::Spoom::ExecResult) } def result; end end # source://spoom//lib/spoom/sorbet.rb#16 class Spoom::Sorbet::Error::Killed < ::Spoom::Sorbet::Error; end # source://spoom//lib/spoom/sorbet.rb#17 class Spoom::Sorbet::Error::Segfault < ::Spoom::Sorbet::Error; end # source://spoom//lib/spoom/sorbet/errors.rb#8 module Spoom::Sorbet::Errors class << self # source://spoom//lib/spoom/sorbet/errors.rb#13 sig { params(errors: T::Array[::Spoom::Sorbet::Errors::Error]).returns(T::Array[::Spoom::Sorbet::Errors::Error]) } def sort_errors_by_code(errors); end # source://spoom//lib/spoom/sorbet/errors.rb#18 sig { params(errors: T::Array[::Spoom::Sorbet::Errors::Error]).returns(::REXML::Document) } def to_junit_xml(errors); end end end # source://spoom//lib/spoom/sorbet/errors.rb#9 Spoom::Sorbet::Errors::DEFAULT_ERROR_URL_BASE = T.let(T.unsafe(nil), String) # source://spoom//lib/spoom/sorbet/errors.rb#149 class Spoom::Sorbet::Errors::Error include ::Comparable # @return [Error] a new instance of Error # # source://spoom//lib/spoom/sorbet/errors.rb#166 sig do params( file: T.nilable(::String), line: T.nilable(::Integer), message: T.nilable(::String), code: T.nilable(::Integer), more: T::Array[::String] ).void end def initialize(file, line, message, code, more = T.unsafe(nil)); end # By default errors are sorted by location # # source://spoom//lib/spoom/sorbet/errors.rb#177 sig { params(other: T.untyped).returns(::Integer) } def <=>(other); end # source://spoom//lib/spoom/sorbet/errors.rb#156 def code; end # source://spoom//lib/spoom/sorbet/errors.rb#153 sig { returns(T.nilable(::String)) } def file; end # Other files associated with the error # # source://spoom//lib/spoom/sorbet/errors.rb#163 sig { returns(T::Set[::String]) } def files_from_error_sections; end # source://spoom//lib/spoom/sorbet/errors.rb#156 sig { returns(T.nilable(::Integer)) } def line; end # source://spoom//lib/spoom/sorbet/errors.rb#153 def message; end # source://spoom//lib/spoom/sorbet/errors.rb#159 sig { returns(T::Array[::String]) } def more; end # source://spoom//lib/spoom/sorbet/errors.rb#189 sig { returns(::REXML::Element) } def to_junit_xml_element; end # source://spoom//lib/spoom/sorbet/errors.rb#184 sig { returns(::String) } def to_s; end end # Parse errors from Sorbet output # # source://spoom//lib/spoom/sorbet/errors.rb#47 class Spoom::Sorbet::Errors::Parser # @return [Parser] a new instance of Parser # # source://spoom//lib/spoom/sorbet/errors.rb#67 sig { params(error_url_base: ::String).void } def initialize(error_url_base: T.unsafe(nil)); end # source://spoom//lib/spoom/sorbet/errors.rb#74 sig { params(output: ::String).returns(T::Array[::Spoom::Sorbet::Errors::Error]) } def parse(output); end private # @raise [ParseError] # # source://spoom//lib/spoom/sorbet/errors.rb#138 sig { params(line: ::String).void } def append_error(line); end # @raise [ParseError] # # source://spoom//lib/spoom/sorbet/errors.rb#130 sig { void } def close_error; end # source://spoom//lib/spoom/sorbet/errors.rb#97 sig { params(error_url_base: ::String).returns(::Regexp) } def error_line_match_regexp(error_url_base); end # source://spoom//lib/spoom/sorbet/errors.rb#114 sig { params(line: ::String).returns(T.nilable(::Spoom::Sorbet::Errors::Error)) } def match_error_line(line); end # @raise [ParseError] # # source://spoom//lib/spoom/sorbet/errors.rb#123 sig { params(error: ::Spoom::Sorbet::Errors::Error).void } def open_error(error); end class << self # source://spoom//lib/spoom/sorbet/errors.rb#60 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#50 Spoom::Sorbet::Errors::Parser::HEADER = T.let(T.unsafe(nil), Array) # source://spoom//lib/spoom/sorbet/errors.rb#48 class Spoom::Sorbet::Errors::Parser::ParseError < ::Spoom::Error; end # source://spoom//lib/spoom/sorbet.rb#31 Spoom::Sorbet::GEM_PATH = T.let(T.unsafe(nil), String) # source://spoom//lib/spoom/sorbet.rb#32 Spoom::Sorbet::GEM_VERSION = T.let(T.unsafe(nil), String) # source://spoom//lib/spoom/sorbet.rb#35 Spoom::Sorbet::KILLED_CODE = T.let(T.unsafe(nil), Integer) # source://spoom//lib/spoom/sorbet/metrics/code_metrics_visitor.rb#6 module Spoom::Sorbet::Metrics class << self # source://spoom//lib/spoom/sorbet/metrics/code_metrics_visitor.rb#9 sig { params(files: T::Array[::String]).returns(Spoom::Counters) } def collect_code_metrics(files); end end end # Collects metrics about how Sorbet is used in the codebase. # # This approach is different from the metrics file we get directly from Sorbet. # # This visitor actually visits the codebase and collects metrics about the amount of signatures, `T.` calls, # and other metrics. It also knows about RBS comments. # # On the other hand, the metrics file is a snapshot of the metrics at type checking time and knows about # is calls are typed, how many assertions are done, etc. # # source://spoom//lib/spoom/sorbet/metrics/code_metrics_visitor.rb#34 class Spoom::Sorbet::Metrics::CodeMetricsVisitor < ::Spoom::Visitor include ::Spoom::RBS::ExtractRBSComments # @return [CodeMetricsVisitor] a new instance of CodeMetricsVisitor # # source://spoom//lib/spoom/sorbet/metrics/code_metrics_visitor.rb#38 sig { params(counters: Spoom::Counters).void } def initialize(counters); end # source://spoom//lib/spoom/sorbet/metrics/code_metrics_visitor.rb#49 sig { override.params(node: T.nilable(::Prism::Node)).void } def visit(node); end # source://spoom//lib/spoom/sorbet/metrics/code_metrics_visitor.rb#124 sig { override.params(node: ::Prism::CallNode).void } def visit_call_node(node); end # source://spoom//lib/spoom/sorbet/metrics/code_metrics_visitor.rb#75 sig { override.params(node: ::Prism::ClassNode).void } def visit_class_node(node); end # source://spoom//lib/spoom/sorbet/metrics/code_metrics_visitor.rb#99 sig { override.params(node: ::Prism::DefNode).void } def visit_def_node(node); end # source://spoom//lib/spoom/sorbet/metrics/code_metrics_visitor.rb#83 sig { override.params(node: ::Prism::ModuleNode).void } def visit_module_node(node); end # source://spoom//lib/spoom/sorbet/metrics/code_metrics_visitor.rb#91 sig { override.params(node: ::Prism::SingletonClassNode).void } def visit_singleton_class_node(node); end private # source://spoom//lib/spoom/sorbet/metrics/code_metrics_visitor.rb#213 sig { returns(T::Array[::Prism::CallNode]) } def collect_last_srb_sigs; end # source://spoom//lib/spoom/sorbet/metrics/code_metrics_visitor.rb#220 sig { params(node: T.any(::Prism::ClassNode, ::Prism::ModuleNode, ::Prism::SingletonClassNode)).returns(::String) } def node_key(node); end # source://spoom//lib/spoom/sorbet/metrics/code_metrics_visitor.rb#167 sig { params(node: ::Prism::CallNode).void } def visit_attr_accessor(node); end # source://spoom//lib/spoom/sorbet/metrics/code_metrics_visitor.rb#151 sig do params( node: T.any(::Prism::ClassNode, ::Prism::ModuleNode, ::Prism::SingletonClassNode), block: T.proc.void ).void end def visit_scope(node, &block); end # source://spoom//lib/spoom/sorbet/metrics/code_metrics_visitor.rb#187 sig { params(node: ::Prism::CallNode).void } def visit_sig(node); end # source://spoom//lib/spoom/sorbet/metrics/code_metrics_visitor.rb#197 sig { params(node: ::Prism::CallNode).void } def visit_type_member(node); end end # source://spoom//lib/spoom/sorbet/metrics/metrics_file_parser.rb#9 module Spoom::Sorbet::Metrics::MetricsFileParser class << self # source://spoom//lib/spoom/sorbet/metrics/metrics_file_parser.rb#14 sig { params(path: ::String, prefix: ::String).returns(T::Hash[::String, ::Integer]) } def parse_file(path, prefix = T.unsafe(nil)); end # source://spoom//lib/spoom/sorbet/metrics/metrics_file_parser.rb#24 sig { params(obj: T::Hash[::String, T.untyped], prefix: ::String).returns(Spoom::Counters) } def parse_hash(obj, prefix = T.unsafe(nil)); end # source://spoom//lib/spoom/sorbet/metrics/metrics_file_parser.rb#19 sig { params(string: ::String, prefix: ::String).returns(T::Hash[::String, ::Integer]) } def parse_string(string, prefix = T.unsafe(nil)); end end end # source://spoom//lib/spoom/sorbet/metrics/metrics_file_parser.rb#10 Spoom::Sorbet::Metrics::MetricsFileParser::DEFAULT_PREFIX = T.let(T.unsafe(nil), String) # source://spoom//lib/spoom/sorbet.rb#36 Spoom::Sorbet::SEGFAULT_CODE = T.let(T.unsafe(nil), Integer) # source://spoom//lib/spoom/sorbet/sigils.rb#9 module Spoom::Sorbet::Sigils class << self # changes the sigil in the file at the passed path to the specified new strictness # # source://spoom//lib/spoom/sorbet/sigils.rb#65 sig { params(path: T.any(::Pathname, ::String), new_strictness: ::String).returns(T::Boolean) } def change_sigil_in_file(path, new_strictness); end # changes the sigil to have a new strictness in a list of files # # source://spoom//lib/spoom/sorbet/sigils.rb#76 sig { params(path_list: T::Array[::String], new_strictness: ::String).returns(T::Array[::String]) } def change_sigil_in_files(path_list, new_strictness); end # returns a string containing the strictness of a sigil in a file at the passed path # * returns nil if no sigil # # source://spoom//lib/spoom/sorbet/sigils.rb#56 sig { params(path: T.any(::Pathname, ::String)).returns(T.nilable(::String)) } def file_strictness(path); end # returns the full sigil comment string for the passed strictness # # source://spoom//lib/spoom/sorbet/sigils.rb#31 sig { params(strictness: ::String).returns(::String) } def sigil_string(strictness); end # returns the strictness of a sigil in the passed file content string (nil if no sigil) # # source://spoom//lib/spoom/sorbet/sigils.rb#43 sig { params(content: ::String).returns(T.nilable(::String)) } def strictness_in_content(content); end # returns a string which is the passed content but with the sigil updated to a new strictness # # source://spoom//lib/spoom/sorbet/sigils.rb#49 sig { params(content: ::String, new_strictness: ::String).returns(::String) } def update_sigil(content, new_strictness); end # returns true if the passed string is a valid strictness (else false) # # @return [Boolean] # # source://spoom//lib/spoom/sorbet/sigils.rb#37 sig { params(strictness: ::String).returns(T::Boolean) } def valid_strictness?(strictness); end end end # source://spoom//lib/spoom/sorbet/sigils.rb#26 Spoom::Sorbet::Sigils::SIGIL_REGEXP = T.let(T.unsafe(nil), Regexp) # source://spoom//lib/spoom/sorbet/sigils.rb#11 Spoom::Sorbet::Sigils::STRICTNESS_FALSE = T.let(T.unsafe(nil), String) # source://spoom//lib/spoom/sorbet/sigils.rb#10 Spoom::Sorbet::Sigils::STRICTNESS_IGNORE = T.let(T.unsafe(nil), String) # source://spoom//lib/spoom/sorbet/sigils.rb#15 Spoom::Sorbet::Sigils::STRICTNESS_INTERNAL = T.let(T.unsafe(nil), String) # source://spoom//lib/spoom/sorbet/sigils.rb#13 Spoom::Sorbet::Sigils::STRICTNESS_STRICT = T.let(T.unsafe(nil), String) # source://spoom//lib/spoom/sorbet/sigils.rb#14 Spoom::Sorbet::Sigils::STRICTNESS_STRONG = T.let(T.unsafe(nil), String) # source://spoom//lib/spoom/sorbet/sigils.rb#12 Spoom::Sorbet::Sigils::STRICTNESS_TRUE = T.let(T.unsafe(nil), String) # source://spoom//lib/spoom/sorbet/sigils.rb#17 Spoom::Sorbet::Sigils::VALID_STRICTNESS = T.let(T.unsafe(nil), Array) # source://spoom//lib/spoom/sorbet/translate/translator.rb#6 module Spoom::Sorbet::Translate class << self # Converts all the RBS comments in the given Ruby code to `sig` nodes. # It also handles type members and class annotations. # # source://spoom//lib/spoom/sorbet/translate.rb#57 sig { params(ruby_contents: ::String, file: ::String, max_line_length: T.nilable(::Integer)).returns(::String) } def rbs_comments_to_sorbet_sigs(ruby_contents, file:, max_line_length: T.unsafe(nil)); end # Converts all `T.let` and `T.cast` nodes to RBS comments in the given Ruby code. # It also handles type members and class annotations. # # source://spoom//lib/spoom/sorbet/translate.rb#72 sig do params( ruby_contents: ::String, file: ::String, translate_t_let: T::Boolean, translate_t_cast: T::Boolean, translate_t_bind: T::Boolean, translate_t_must: T::Boolean, translate_t_unsafe: T::Boolean ).returns(::String) end def sorbet_assertions_to_rbs_comments(ruby_contents, file:, translate_t_let: T.unsafe(nil), translate_t_cast: T.unsafe(nil), translate_t_bind: T.unsafe(nil), translate_t_must: T.unsafe(nil), translate_t_unsafe: T.unsafe(nil)); end # Converts all `sig` nodes to RBS comments in the given Ruby code. # It also handles type members and class annotations. # # source://spoom//lib/spoom/sorbet/translate.rb#37 sig do params( ruby_contents: ::String, file: ::String, positional_names: T::Boolean, max_line_length: T.nilable(::Integer), translate_generics: T::Boolean, translate_helpers: T::Boolean, translate_abstract_methods: T::Boolean ).returns(::String) end def sorbet_sigs_to_rbs_comments(ruby_contents, file:, positional_names: T.unsafe(nil), max_line_length: T.unsafe(nil), translate_generics: T.unsafe(nil), translate_helpers: T.unsafe(nil), translate_abstract_methods: T.unsafe(nil)); end # Deletes all `sig` nodes from the given Ruby code. # It doesn't handle type members and class annotations. # # source://spoom//lib/spoom/sorbet/translate.rb#22 sig { params(ruby_contents: ::String, file: ::String).returns(::String) } def strip_sorbet_sigs(ruby_contents, file:); end end end # source://spoom//lib/spoom/sorbet/translate.rb#16 class Spoom::Sorbet::Translate::Error < ::Spoom::Error; end # source://spoom//lib/spoom/sorbet/translate/rbs_comments_to_sorbet_sigs.rb#7 class Spoom::Sorbet::Translate::RBSCommentsToSorbetSigs < ::Spoom::Sorbet::Translate::Translator include ::Spoom::RBS::ExtractRBSComments # @return [RBSCommentsToSorbetSigs] a new instance of RBSCommentsToSorbetSigs # # source://spoom//lib/spoom/sorbet/translate/rbs_comments_to_sorbet_sigs.rb#11 sig { params(ruby_contents: ::String, file: ::String, max_line_length: T.nilable(::Integer)).void } def initialize(ruby_contents, file:, max_line_length: T.unsafe(nil)); end # source://spoom//lib/spoom/sorbet/translate/rbs_comments_to_sorbet_sigs.rb#49 sig { override.params(node: ::Prism::CallNode).void } def visit_call_node(node); end # source://spoom//lib/spoom/sorbet/translate/rbs_comments_to_sorbet_sigs.rb#19 sig { override.params(node: ::Prism::ClassNode).void } def visit_class_node(node); end # source://spoom//lib/spoom/sorbet/translate/rbs_comments_to_sorbet_sigs.rb#43 sig { override.params(node: ::Prism::DefNode).void } def visit_def_node(node); end # source://spoom//lib/spoom/sorbet/translate/rbs_comments_to_sorbet_sigs.rb#27 sig { override.params(node: ::Prism::ModuleNode).void } def visit_module_node(node); end # source://spoom//lib/spoom/sorbet/translate/rbs_comments_to_sorbet_sigs.rb#35 sig { override.params(node: ::Prism::SingletonClassNode).void } def visit_singleton_class_node(node); end private # @return [Boolean] # # source://spoom//lib/spoom/sorbet/translate/rbs_comments_to_sorbet_sigs.rb#260 sig do params( node: T.any(::Prism::ClassNode, ::Prism::ModuleNode, ::Prism::SingletonClassNode), constant_regex: ::Regexp ).returns(T::Boolean) end def already_extends?(node, constant_regex); end # source://spoom//lib/spoom/sorbet/translate/rbs_comments_to_sorbet_sigs.rb#141 sig { params(node: T.any(::Prism::ClassNode, ::Prism::ModuleNode, ::Prism::SingletonClassNode)).void } def apply_class_annotations(node); end # source://spoom//lib/spoom/sorbet/translate/rbs_comments_to_sorbet_sigs.rb#239 sig { params(annotations: T::Array[::Spoom::RBS::Annotation], sig: ::RBI::Sig).void } def apply_member_annotations(annotations, sig); end # source://spoom//lib/spoom/sorbet/translate/rbs_comments_to_sorbet_sigs.rb#105 sig { params(def_node: ::Prism::DefNode, comments: ::Spoom::RBS::Comments).void } def rewrite_def(def_node, comments); end # source://spoom//lib/spoom/sorbet/translate/rbs_comments_to_sorbet_sigs.rb#67 sig { params(node: ::Prism::CallNode).void } def visit_attr(node); end end # Translates Sorbet assertions to RBS comments. # # source://spoom//lib/spoom/sorbet/translate/sorbet_assertions_to_rbs_comments.rb#8 class Spoom::Sorbet::Translate::SorbetAssertionsToRBSComments < ::Spoom::Sorbet::Translate::Translator # @return [SorbetAssertionsToRBSComments] a new instance of SorbetAssertionsToRBSComments # # source://spoom//lib/spoom/sorbet/translate/sorbet_assertions_to_rbs_comments.rb#20 sig do params( ruby_contents: ::String, file: ::String, translate_t_let: T::Boolean, translate_t_cast: T::Boolean, translate_t_bind: T::Boolean, translate_t_must: T::Boolean, translate_t_unsafe: T::Boolean ).void end def initialize(ruby_contents, file:, translate_t_let: T.unsafe(nil), translate_t_cast: T.unsafe(nil), translate_t_bind: T.unsafe(nil), translate_t_must: T.unsafe(nil), translate_t_unsafe: T.unsafe(nil)); end # source://spoom//lib/spoom/sorbet/translate/sorbet_assertions_to_rbs_comments.rb#49 sig { override.params(node: ::Prism::IfNode).void } def visit_if_node(node); end # source://spoom//lib/spoom/sorbet/translate/sorbet_assertions_to_rbs_comments.rb#40 sig { override.params(node: ::Prism::StatementsNode).void } def visit_statements_node(node); end private # @return [Boolean] # # source://spoom//lib/spoom/sorbet/translate/sorbet_assertions_to_rbs_comments.rb#166 sig { params(node: ::Prism::Node).returns(T::Boolean) } def at_end_of_line?(node); end # source://spoom//lib/spoom/sorbet/translate/sorbet_assertions_to_rbs_comments.rb#108 sig { params(call: ::Prism::CallNode).returns(::String) } def build_rbs_annotation(call); end # source://spoom//lib/spoom/sorbet/translate/sorbet_assertions_to_rbs_comments.rb#173 sig { params(assign: ::Prism::Node, value: ::Prism::Node).returns(::String) } def dedent_value(assign, value); end # source://spoom//lib/spoom/sorbet/translate/sorbet_assertions_to_rbs_comments.rb#71 sig { params(node: ::Prism::Node).returns(T::Boolean) } def maybe_translate_assertion(node); end # Is this node a `T` or `::T` constant? # # @return [Boolean] # # source://spoom//lib/spoom/sorbet/translate/sorbet_assertions_to_rbs_comments.rb#133 sig { params(node: T.nilable(::Prism::Node)).returns(T::Boolean) } def t?(node); end # Is this node a `T.let` or `T.cast`? # # @return [Boolean] # # source://spoom//lib/spoom/sorbet/translate/sorbet_assertions_to_rbs_comments.rb#146 sig { params(node: ::Prism::CallNode).returns(T::Boolean) } def translatable_annotation?(node); end end # source://spoom//lib/spoom/sorbet/translate/sorbet_assertions_to_rbs_comments.rb#9 Spoom::Sorbet::Translate::SorbetAssertionsToRBSComments::LINE_BREAK = T.let(T.unsafe(nil), Integer) # Converts all `sig` nodes to RBS comments in the given Ruby code. # It also handles type members and class annotations. # # source://spoom//lib/spoom/sorbet/translate/sorbet_sigs_to_rbs_comments.rb#9 class Spoom::Sorbet::Translate::SorbetSigsToRBSComments < ::Spoom::Sorbet::Translate::Translator # @return [SorbetSigsToRBSComments] a new instance of SorbetSigsToRBSComments # # source://spoom//lib/spoom/sorbet/translate/sorbet_sigs_to_rbs_comments.rb#19 sig do params( ruby_contents: ::String, file: ::String, positional_names: T::Boolean, max_line_length: T.nilable(::Integer), translate_generics: T::Boolean, translate_helpers: T::Boolean, translate_abstract_methods: T::Boolean ).void end def initialize(ruby_contents, file:, positional_names:, max_line_length: T.unsafe(nil), translate_generics: T.unsafe(nil), translate_helpers: T.unsafe(nil), translate_abstract_methods: T.unsafe(nil)); end # source://spoom//lib/spoom/sorbet/translate/sorbet_sigs_to_rbs_comments.rb#100 sig { override.params(node: ::Prism::CallNode).void } def visit_call_node(node); end # source://spoom//lib/spoom/sorbet/translate/sorbet_sigs_to_rbs_comments.rb#46 sig { override.params(node: ::Prism::ClassNode).void } def visit_class_node(node); end # source://spoom//lib/spoom/sorbet/translate/sorbet_sigs_to_rbs_comments.rb#119 sig { override.params(node: ::Prism::ConstantWriteNode).void } def visit_constant_write_node(node); end # source://spoom//lib/spoom/sorbet/translate/sorbet_sigs_to_rbs_comments.rb#64 sig { override.params(node: ::Prism::DefNode).void } def visit_def_node(node); end # source://spoom//lib/spoom/sorbet/translate/sorbet_sigs_to_rbs_comments.rb#52 sig { override.params(node: ::Prism::ModuleNode).void } def visit_module_node(node); end # source://spoom//lib/spoom/sorbet/translate/sorbet_sigs_to_rbs_comments.rb#58 sig { override.params(node: ::Prism::SingletonClassNode).void } def visit_singleton_class_node(node); end private # source://spoom//lib/spoom/sorbet/translate/sorbet_sigs_to_rbs_comments.rb#233 sig do params( parent: T.any(::Prism::ClassNode, ::Prism::ModuleNode, ::Prism::SingletonClassNode), node: ::Prism::CallNode ).void end def apply_class_annotation(parent, node); end # source://spoom//lib/spoom/sorbet/translate/sorbet_sigs_to_rbs_comments.rb#274 sig { params(sigs: T::Array[[::Prism::CallNode, ::RBI::Sig]]).void } def apply_member_annotations(sigs); end # @raise [Error] # # source://spoom//lib/spoom/sorbet/translate/sorbet_sigs_to_rbs_comments.rb#308 sig { params(node: ::Prism::ConstantWriteNode).returns(::String) } def build_type_member_string(node); end # Collects the last signatures visited and clears the current list # # source://spoom//lib/spoom/sorbet/translate/sorbet_sigs_to_rbs_comments.rb#379 sig { returns(T::Array[[::Prism::CallNode, ::RBI::Sig]]) } def collect_last_sigs; end # source://spoom//lib/spoom/sorbet/translate/sorbet_sigs_to_rbs_comments.rb#366 sig { void } def delete_extend_t_generics; end # source://spoom//lib/spoom/sorbet/translate/sorbet_sigs_to_rbs_comments.rb#354 sig { void } def delete_extend_t_helpers; end # source://spoom//lib/spoom/sorbet/translate/sorbet_sigs_to_rbs_comments.rb#386 sig { params(indent: ::Integer, block: T.proc.params(arg0: ::RBI::RBSPrinter).void).returns(::String) } def rbs_print(indent, &block); end # source://spoom//lib/spoom/sorbet/translate/sorbet_sigs_to_rbs_comments.rb#191 sig { params(node: ::Prism::CallNode).void } def visit_attr(node); end # @raise [Error] # # source://spoom//lib/spoom/sorbet/translate/sorbet_sigs_to_rbs_comments.rb#215 sig { params(node: ::Prism::CallNode).void } def visit_extend(node); end # source://spoom//lib/spoom/sorbet/translate/sorbet_sigs_to_rbs_comments.rb#138 sig do params( node: T.any(::Prism::ClassNode, ::Prism::ModuleNode, ::Prism::SingletonClassNode), block: T.proc.void ).void end def visit_scope(node, &block); end # source://spoom//lib/spoom/sorbet/translate/sorbet_sigs_to_rbs_comments.rb#179 sig { params(node: ::Prism::CallNode).void } def visit_sig(node); end end # Deletes all `sig` nodes from the given Ruby code. # It doesn't handle type members and class annotations. # # source://spoom//lib/spoom/sorbet/translate/strip_sorbet_sigs.rb#9 class Spoom::Sorbet::Translate::StripSorbetSigs < ::Spoom::Sorbet::Translate::Translator # source://spoom//lib/spoom/sorbet/translate/strip_sorbet_sigs.rb#12 sig { override.params(node: ::Prism::CallNode).void } def visit_call_node(node); end end # @abstract # # source://spoom//lib/spoom/sorbet/translate/translator.rb#8 class Spoom::Sorbet::Translate::Translator < ::Spoom::Visitor abstract! # @return [Translator] a new instance of Translator # # source://spoom//lib/spoom/sorbet/translate/translator.rb#10 sig { params(ruby_contents: ::String, file: ::String).void } def initialize(ruby_contents, file:); end # source://spoom//lib/spoom/sorbet/translate/translator.rb#29 sig { returns(::String) } def rewrite; end private # source://spoom//lib/spoom/sorbet/translate/translator.rb#54 sig { params(offset: ::Integer).returns(::Integer) } def adjust_to_line_end(offset); end # source://spoom//lib/spoom/sorbet/translate/translator.rb#48 sig { params(offset: ::Integer).returns(::Integer) } def adjust_to_line_start(offset); end # Consume the next blank line if any # # source://spoom//lib/spoom/sorbet/translate/translator.rb#61 sig { params(offset: ::Integer).returns(::Integer) } def adjust_to_new_line(offset); end # @return [Boolean] # # source://spoom//lib/spoom/sorbet/translate/translator.rb#38 sig { params(node: ::Prism::CallNode).returns(T::Boolean) } def sorbet_sig?(node); end end # This module provides a simple API to rewrite source code. # # Using a `Rewriter`, you can build a list of changes to apply to a source file # and apply them all at once. Edits are applied from bottom to top, so that the # line numbers are not remapped after each edit. # # The source code is represented as an array of bytes, so that it can be # manipulated in place. The client is responsible for `string <-> bytes` # conversions and encoding handling. # # ```ruby # bytes = "def foo; end".bytes # # rewriter = Spoom::Source::Rewriter.new # rewriter << Spoom::Source::Replace.new(4, 6, "baz") # rewriter << Spoom::Source::Insert.new(0, "def bar; end\n") # rewriter.rewrite!(bytes) # # puts bytes.pack("C*") # => "def bar; end\ndef baz; end" # ``` # # source://spoom//lib/spoom/source/rewriter.rb#25 module Spoom::Source; end # source://spoom//lib/spoom/source/rewriter.rb#113 class Spoom::Source::Delete < ::Spoom::Source::Edit # @return [Delete] a new instance of Delete # # source://spoom//lib/spoom/source/rewriter.rb#118 sig { params(from: ::Integer, to: ::Integer).void } def initialize(from, to); end # @raise [PositionError] # # source://spoom//lib/spoom/source/rewriter.rb#127 sig { override.params(bytes: T::Array[T.untyped]).void } def apply(bytes); end # source://spoom//lib/spoom/source/rewriter.rb#115 sig { returns(::Integer) } def from; end # source://spoom//lib/spoom/source/rewriter.rb#135 sig { override.returns([::Integer, ::Integer]) } def range; end # source://spoom//lib/spoom/source/rewriter.rb#115 def to; end # source://spoom//lib/spoom/source/rewriter.rb#141 sig { override.returns(::String) } def to_s; end end # @abstract # # source://spoom//lib/spoom/source/rewriter.rb#29 class Spoom::Source::Edit abstract! # @abstract # @raise [NotImplementedError] # # source://spoom//lib/spoom/source/rewriter.rb#32 sig { abstract.params(bytes: T::Array[::Integer]).void } def apply(bytes); end # @abstract # @raise [NotImplementedError] # # source://spoom//lib/spoom/source/rewriter.rb#36 sig { abstract.returns([::Integer, ::Integer]) } def range; end end # source://spoom//lib/spoom/source/rewriter.rb#39 class Spoom::Source::Insert < ::Spoom::Source::Edit # @return [Insert] a new instance of Insert # # source://spoom//lib/spoom/source/rewriter.rb#47 sig { params(position: ::Integer, text: ::String).void } def initialize(position, text); end # @raise [PositionError] # # source://spoom//lib/spoom/source/rewriter.rb#56 sig { override.params(bytes: T::Array[::Integer]).void } def apply(bytes); end # source://spoom//lib/spoom/source/rewriter.rb#41 sig { returns(::Integer) } def position; end # source://spoom//lib/spoom/source/rewriter.rb#65 sig { override.returns([::Integer, ::Integer]) } def range; end # source://spoom//lib/spoom/source/rewriter.rb#44 sig { returns(::String) } def text; end # source://spoom//lib/spoom/source/rewriter.rb#71 sig { override.returns(::String) } def to_s; end end # source://spoom//lib/spoom/source/rewriter.rb#26 class Spoom::Source::PositionError < ::Spoom::Error; end # source://spoom//lib/spoom/source/rewriter.rb#76 class Spoom::Source::Replace < ::Spoom::Source::Edit # @return [Replace] a new instance of Replace # # source://spoom//lib/spoom/source/rewriter.rb#84 sig { params(from: ::Integer, to: ::Integer, text: ::String).void } def initialize(from, to, text); end # @raise [PositionError] # # source://spoom//lib/spoom/source/rewriter.rb#94 sig { override.params(bytes: T::Array[::Integer]).void } def apply(bytes); end # source://spoom//lib/spoom/source/rewriter.rb#78 sig { returns(::Integer) } def from; end # source://spoom//lib/spoom/source/rewriter.rb#102 sig { override.returns([::Integer, ::Integer]) } def range; end # source://spoom//lib/spoom/source/rewriter.rb#81 sig { returns(::String) } def text; end # source://spoom//lib/spoom/source/rewriter.rb#78 def to; end # source://spoom//lib/spoom/source/rewriter.rb#108 sig { override.returns(::String) } def to_s; end end # source://spoom//lib/spoom/source/rewriter.rb#146 class Spoom::Source::Rewriter # @return [Rewriter] a new instance of Rewriter # # source://spoom//lib/spoom/source/rewriter.rb#148 sig { void } def initialize; end # source://spoom//lib/spoom/source/rewriter.rb#153 sig { params(other: ::Spoom::Source::Edit).void } def <<(other); end # source://spoom//lib/spoom/source/rewriter.rb#158 sig { params(bytes: T::Array[::Integer]).void } def rewrite!(bytes); end end # source://spoom//lib/spoom/timeline.rb#5 class Spoom::Timeline # @return [Timeline] a new instance of Timeline # # source://spoom//lib/spoom/timeline.rb#7 sig { params(context: ::Spoom::Context, from: ::Time, to: ::Time).void } def initialize(context, from, to); end # Return one commit for each date in `dates` # # source://spoom//lib/spoom/timeline.rb#34 sig { params(dates: T::Array[::Time]).returns(T::Array[::Spoom::Git::Commit]) } def commits_for_dates(dates); end # Return all months between `from` and `to` # # source://spoom//lib/spoom/timeline.rb#21 sig { returns(T::Array[::Time]) } def months; end # Return one commit for each month between `from` and `to` # # source://spoom//lib/spoom/timeline.rb#15 sig { returns(T::Array[::Spoom::Git::Commit]) } def ticks; end end # source://spoom//lib/spoom/version.rb#5 Spoom::VERSION = T.let(T.unsafe(nil), String) # source://spoom//lib/spoom/visitor.rb#7 class Spoom::Visitor < ::Prism::Visitor # source://spoom//lib/spoom/visitor.rb#16 sig { override.params(node: ::Prism::AliasGlobalVariableNode).void } def visit_alias_global_variable_node(node); end # source://spoom//lib/spoom/visitor.rb#22 sig { override.params(node: ::Prism::AliasMethodNode).void } def visit_alias_method_node(node); end # source://spoom//lib/spoom/visitor.rb#28 sig { override.params(node: ::Prism::AlternationPatternNode).void } def visit_alternation_pattern_node(node); end # source://spoom//lib/spoom/visitor.rb#34 sig { override.params(node: ::Prism::AndNode).void } def visit_and_node(node); end # source://spoom//lib/spoom/visitor.rb#40 sig { override.params(node: ::Prism::ArgumentsNode).void } def visit_arguments_node(node); end # source://spoom//lib/spoom/visitor.rb#46 sig { override.params(node: ::Prism::ArrayNode).void } def visit_array_node(node); end # source://spoom//lib/spoom/visitor.rb#52 sig { override.params(node: ::Prism::ArrayPatternNode).void } def visit_array_pattern_node(node); end # source://spoom//lib/spoom/visitor.rb#58 sig { override.params(node: ::Prism::AssocNode).void } def visit_assoc_node(node); end # source://spoom//lib/spoom/visitor.rb#64 sig { override.params(node: ::Prism::AssocSplatNode).void } def visit_assoc_splat_node(node); end # source://spoom//lib/spoom/visitor.rb#70 sig { override.params(node: ::Prism::BackReferenceReadNode).void } def visit_back_reference_read_node(node); end # source://spoom//lib/spoom/visitor.rb#76 sig { override.params(node: ::Prism::BeginNode).void } def visit_begin_node(node); end # source://spoom//lib/spoom/visitor.rb#82 sig { override.params(node: ::Prism::BlockArgumentNode).void } def visit_block_argument_node(node); end # source://spoom//lib/spoom/visitor.rb#88 sig { override.params(node: ::Prism::BlockLocalVariableNode).void } def visit_block_local_variable_node(node); end # source://spoom//lib/spoom/visitor.rb#94 sig { override.params(node: ::Prism::BlockNode).void } def visit_block_node(node); end # source://spoom//lib/spoom/visitor.rb#100 sig { override.params(node: ::Prism::BlockParameterNode).void } def visit_block_parameter_node(node); end # source://spoom//lib/spoom/visitor.rb#106 sig { override.params(node: ::Prism::BlockParametersNode).void } def visit_block_parameters_node(node); end # source://spoom//lib/spoom/visitor.rb#112 sig { override.params(node: ::Prism::BreakNode).void } def visit_break_node(node); end # source://spoom//lib/spoom/visitor.rb#118 sig { override.params(node: ::Prism::CallAndWriteNode).void } def visit_call_and_write_node(node); end # source://spoom//lib/spoom/visitor.rb#124 sig { override.params(node: ::Prism::CallNode).void } def visit_call_node(node); end # source://spoom//lib/spoom/visitor.rb#130 sig { override.params(node: ::Prism::CallOperatorWriteNode).void } def visit_call_operator_write_node(node); end # source://spoom//lib/spoom/visitor.rb#136 sig { override.params(node: ::Prism::CallOrWriteNode).void } def visit_call_or_write_node(node); end # source://spoom//lib/spoom/visitor.rb#142 sig { override.params(node: ::Prism::CallTargetNode).void } def visit_call_target_node(node); end # source://spoom//lib/spoom/visitor.rb#148 sig { override.params(node: ::Prism::CapturePatternNode).void } def visit_capture_pattern_node(node); end # source://spoom//lib/spoom/visitor.rb#154 sig { override.params(node: ::Prism::CaseMatchNode).void } def visit_case_match_node(node); end # source://spoom//lib/spoom/visitor.rb#160 sig { override.params(node: ::Prism::CaseNode).void } def visit_case_node(node); end # source://spoom//lib/spoom/visitor.rb#10 sig { override.params(node: ::Prism::Node).void } def visit_child_nodes(node); end # source://spoom//lib/spoom/visitor.rb#166 sig { override.params(node: ::Prism::ClassNode).void } def visit_class_node(node); end # source://spoom//lib/spoom/visitor.rb#172 sig { override.params(node: ::Prism::ClassVariableAndWriteNode).void } def visit_class_variable_and_write_node(node); end # source://spoom//lib/spoom/visitor.rb#178 sig { override.params(node: ::Prism::ClassVariableOperatorWriteNode).void } def visit_class_variable_operator_write_node(node); end # source://spoom//lib/spoom/visitor.rb#184 sig { override.params(node: ::Prism::ClassVariableOrWriteNode).void } def visit_class_variable_or_write_node(node); end # source://spoom//lib/spoom/visitor.rb#190 sig { override.params(node: ::Prism::ClassVariableReadNode).void } def visit_class_variable_read_node(node); end # source://spoom//lib/spoom/visitor.rb#196 sig { override.params(node: ::Prism::ClassVariableTargetNode).void } def visit_class_variable_target_node(node); end # source://spoom//lib/spoom/visitor.rb#202 sig { override.params(node: ::Prism::ClassVariableWriteNode).void } def visit_class_variable_write_node(node); end # source://spoom//lib/spoom/visitor.rb#208 sig { override.params(node: ::Prism::ConstantAndWriteNode).void } def visit_constant_and_write_node(node); end # source://spoom//lib/spoom/visitor.rb#214 sig { override.params(node: ::Prism::ConstantOperatorWriteNode).void } def visit_constant_operator_write_node(node); end # source://spoom//lib/spoom/visitor.rb#220 sig { override.params(node: ::Prism::ConstantOrWriteNode).void } def visit_constant_or_write_node(node); end # source://spoom//lib/spoom/visitor.rb#226 sig { override.params(node: ::Prism::ConstantPathAndWriteNode).void } def visit_constant_path_and_write_node(node); end # source://spoom//lib/spoom/visitor.rb#232 sig { override.params(node: ::Prism::ConstantPathNode).void } def visit_constant_path_node(node); end # source://spoom//lib/spoom/visitor.rb#238 sig { override.params(node: ::Prism::ConstantPathOperatorWriteNode).void } def visit_constant_path_operator_write_node(node); end # source://spoom//lib/spoom/visitor.rb#244 sig { override.params(node: ::Prism::ConstantPathOrWriteNode).void } def visit_constant_path_or_write_node(node); end # source://spoom//lib/spoom/visitor.rb#250 sig { override.params(node: ::Prism::ConstantPathTargetNode).void } def visit_constant_path_target_node(node); end # source://spoom//lib/spoom/visitor.rb#256 sig { override.params(node: ::Prism::ConstantPathWriteNode).void } def visit_constant_path_write_node(node); end # source://spoom//lib/spoom/visitor.rb#262 sig { override.params(node: ::Prism::ConstantReadNode).void } def visit_constant_read_node(node); end # source://spoom//lib/spoom/visitor.rb#268 sig { override.params(node: ::Prism::ConstantTargetNode).void } def visit_constant_target_node(node); end # source://spoom//lib/spoom/visitor.rb#274 sig { override.params(node: ::Prism::ConstantWriteNode).void } def visit_constant_write_node(node); end # source://spoom//lib/spoom/visitor.rb#280 sig { override.params(node: ::Prism::DefNode).void } def visit_def_node(node); end # source://spoom//lib/spoom/visitor.rb#286 sig { override.params(node: ::Prism::DefinedNode).void } def visit_defined_node(node); end # source://spoom//lib/spoom/visitor.rb#292 sig { override.params(node: ::Prism::ElseNode).void } def visit_else_node(node); end # source://spoom//lib/spoom/visitor.rb#298 sig { override.params(node: ::Prism::EmbeddedStatementsNode).void } def visit_embedded_statements_node(node); end # source://spoom//lib/spoom/visitor.rb#304 sig { override.params(node: ::Prism::EmbeddedVariableNode).void } def visit_embedded_variable_node(node); end # source://spoom//lib/spoom/visitor.rb#310 sig { override.params(node: ::Prism::EnsureNode).void } def visit_ensure_node(node); end # source://spoom//lib/spoom/visitor.rb#316 sig { override.params(node: ::Prism::FalseNode).void } def visit_false_node(node); end # source://spoom//lib/spoom/visitor.rb#322 sig { override.params(node: ::Prism::FindPatternNode).void } def visit_find_pattern_node(node); end # source://spoom//lib/spoom/visitor.rb#328 sig { override.params(node: ::Prism::FlipFlopNode).void } def visit_flip_flop_node(node); end # source://spoom//lib/spoom/visitor.rb#334 sig { override.params(node: ::Prism::FloatNode).void } def visit_float_node(node); end # source://spoom//lib/spoom/visitor.rb#340 sig { override.params(node: ::Prism::ForNode).void } def visit_for_node(node); end # source://spoom//lib/spoom/visitor.rb#346 sig { override.params(node: ::Prism::ForwardingArgumentsNode).void } def visit_forwarding_arguments_node(node); end # source://spoom//lib/spoom/visitor.rb#352 sig { override.params(node: ::Prism::ForwardingParameterNode).void } def visit_forwarding_parameter_node(node); end # source://spoom//lib/spoom/visitor.rb#358 sig { override.params(node: ::Prism::ForwardingSuperNode).void } def visit_forwarding_super_node(node); end # source://spoom//lib/spoom/visitor.rb#364 sig { override.params(node: ::Prism::GlobalVariableAndWriteNode).void } def visit_global_variable_and_write_node(node); end # source://spoom//lib/spoom/visitor.rb#370 sig { override.params(node: ::Prism::GlobalVariableOperatorWriteNode).void } def visit_global_variable_operator_write_node(node); end # source://spoom//lib/spoom/visitor.rb#376 sig { override.params(node: ::Prism::GlobalVariableOrWriteNode).void } def visit_global_variable_or_write_node(node); end # source://spoom//lib/spoom/visitor.rb#382 sig { override.params(node: ::Prism::GlobalVariableReadNode).void } def visit_global_variable_read_node(node); end # source://spoom//lib/spoom/visitor.rb#388 sig { override.params(node: ::Prism::GlobalVariableTargetNode).void } def visit_global_variable_target_node(node); end # source://spoom//lib/spoom/visitor.rb#394 sig { override.params(node: ::Prism::GlobalVariableWriteNode).void } def visit_global_variable_write_node(node); end # source://spoom//lib/spoom/visitor.rb#400 sig { override.params(node: ::Prism::HashNode).void } def visit_hash_node(node); end # source://spoom//lib/spoom/visitor.rb#406 sig { override.params(node: ::Prism::HashPatternNode).void } def visit_hash_pattern_node(node); end # source://spoom//lib/spoom/visitor.rb#412 sig { override.params(node: ::Prism::IfNode).void } def visit_if_node(node); end # source://spoom//lib/spoom/visitor.rb#418 sig { override.params(node: ::Prism::ImaginaryNode).void } def visit_imaginary_node(node); end # source://spoom//lib/spoom/visitor.rb#424 sig { override.params(node: ::Prism::ImplicitNode).void } def visit_implicit_node(node); end # source://spoom//lib/spoom/visitor.rb#430 sig { override.params(node: ::Prism::ImplicitRestNode).void } def visit_implicit_rest_node(node); end # source://spoom//lib/spoom/visitor.rb#436 sig { override.params(node: ::Prism::InNode).void } def visit_in_node(node); end # source://spoom//lib/spoom/visitor.rb#442 sig { override.params(node: ::Prism::IndexAndWriteNode).void } def visit_index_and_write_node(node); end # source://spoom//lib/spoom/visitor.rb#448 sig { override.params(node: ::Prism::IndexOperatorWriteNode).void } def visit_index_operator_write_node(node); end # source://spoom//lib/spoom/visitor.rb#454 sig { override.params(node: ::Prism::IndexOrWriteNode).void } def visit_index_or_write_node(node); end # source://spoom//lib/spoom/visitor.rb#460 sig { override.params(node: ::Prism::IndexTargetNode).void } def visit_index_target_node(node); end # source://spoom//lib/spoom/visitor.rb#466 sig { override.params(node: ::Prism::InstanceVariableAndWriteNode).void } def visit_instance_variable_and_write_node(node); end # source://spoom//lib/spoom/visitor.rb#472 sig { override.params(node: ::Prism::InstanceVariableOperatorWriteNode).void } def visit_instance_variable_operator_write_node(node); end # source://spoom//lib/spoom/visitor.rb#478 sig { override.params(node: ::Prism::InstanceVariableOrWriteNode).void } def visit_instance_variable_or_write_node(node); end # source://spoom//lib/spoom/visitor.rb#484 sig { override.params(node: ::Prism::InstanceVariableReadNode).void } def visit_instance_variable_read_node(node); end # source://spoom//lib/spoom/visitor.rb#490 sig { override.params(node: ::Prism::InstanceVariableTargetNode).void } def visit_instance_variable_target_node(node); end # source://spoom//lib/spoom/visitor.rb#496 sig { override.params(node: ::Prism::InstanceVariableWriteNode).void } def visit_instance_variable_write_node(node); end # source://spoom//lib/spoom/visitor.rb#502 sig { override.params(node: ::Prism::IntegerNode).void } def visit_integer_node(node); end # source://spoom//lib/spoom/visitor.rb#508 sig { override.params(node: ::Prism::InterpolatedMatchLastLineNode).void } def visit_interpolated_match_last_line_node(node); end # source://spoom//lib/spoom/visitor.rb#514 sig { override.params(node: ::Prism::InterpolatedRegularExpressionNode).void } def visit_interpolated_regular_expression_node(node); end # source://spoom//lib/spoom/visitor.rb#520 sig { override.params(node: ::Prism::InterpolatedStringNode).void } def visit_interpolated_string_node(node); end # source://spoom//lib/spoom/visitor.rb#526 sig { override.params(node: ::Prism::InterpolatedSymbolNode).void } def visit_interpolated_symbol_node(node); end # source://spoom//lib/spoom/visitor.rb#532 sig { override.params(node: ::Prism::InterpolatedXStringNode).void } def visit_interpolated_x_string_node(node); end # source://spoom//lib/spoom/visitor.rb#538 sig { override.params(node: ::Prism::KeywordHashNode).void } def visit_keyword_hash_node(node); end # source://spoom//lib/spoom/visitor.rb#544 sig { override.params(node: ::Prism::KeywordRestParameterNode).void } def visit_keyword_rest_parameter_node(node); end # source://spoom//lib/spoom/visitor.rb#550 sig { override.params(node: ::Prism::LambdaNode).void } def visit_lambda_node(node); end # source://spoom//lib/spoom/visitor.rb#556 sig { override.params(node: ::Prism::LocalVariableAndWriteNode).void } def visit_local_variable_and_write_node(node); end # source://spoom//lib/spoom/visitor.rb#562 sig { override.params(node: ::Prism::LocalVariableOperatorWriteNode).void } def visit_local_variable_operator_write_node(node); end # source://spoom//lib/spoom/visitor.rb#568 sig { override.params(node: ::Prism::LocalVariableOrWriteNode).void } def visit_local_variable_or_write_node(node); end # source://spoom//lib/spoom/visitor.rb#574 sig { override.params(node: ::Prism::LocalVariableReadNode).void } def visit_local_variable_read_node(node); end # source://spoom//lib/spoom/visitor.rb#580 sig { override.params(node: ::Prism::LocalVariableTargetNode).void } def visit_local_variable_target_node(node); end # source://spoom//lib/spoom/visitor.rb#586 sig { override.params(node: ::Prism::LocalVariableWriteNode).void } def visit_local_variable_write_node(node); end # source://spoom//lib/spoom/visitor.rb#592 sig { override.params(node: ::Prism::MatchLastLineNode).void } def visit_match_last_line_node(node); end # source://spoom//lib/spoom/visitor.rb#598 sig { override.params(node: ::Prism::MatchPredicateNode).void } def visit_match_predicate_node(node); end # source://spoom//lib/spoom/visitor.rb#604 sig { override.params(node: ::Prism::MatchRequiredNode).void } def visit_match_required_node(node); end # source://spoom//lib/spoom/visitor.rb#610 sig { override.params(node: ::Prism::MatchWriteNode).void } def visit_match_write_node(node); end # source://spoom//lib/spoom/visitor.rb#616 sig { override.params(node: ::Prism::MissingNode).void } def visit_missing_node(node); end # source://spoom//lib/spoom/visitor.rb#622 sig { override.params(node: ::Prism::ModuleNode).void } def visit_module_node(node); end # source://spoom//lib/spoom/visitor.rb#628 sig { override.params(node: ::Prism::MultiTargetNode).void } def visit_multi_target_node(node); end # source://spoom//lib/spoom/visitor.rb#634 sig { override.params(node: ::Prism::MultiWriteNode).void } def visit_multi_write_node(node); end # source://spoom//lib/spoom/visitor.rb#640 sig { override.params(node: ::Prism::NextNode).void } def visit_next_node(node); end # source://spoom//lib/spoom/visitor.rb#646 sig { override.params(node: ::Prism::NilNode).void } def visit_nil_node(node); end # source://spoom//lib/spoom/visitor.rb#652 sig { override.params(node: ::Prism::NoKeywordsParameterNode).void } def visit_no_keywords_parameter_node(node); end # source://spoom//lib/spoom/visitor.rb#658 sig { override.params(node: ::Prism::NumberedParametersNode).void } def visit_numbered_parameters_node(node); end # source://spoom//lib/spoom/visitor.rb#664 sig { override.params(node: ::Prism::NumberedReferenceReadNode).void } def visit_numbered_reference_read_node(node); end # source://spoom//lib/spoom/visitor.rb#670 sig { override.params(node: ::Prism::OptionalKeywordParameterNode).void } def visit_optional_keyword_parameter_node(node); end # source://spoom//lib/spoom/visitor.rb#676 sig { override.params(node: ::Prism::OptionalParameterNode).void } def visit_optional_parameter_node(node); end # source://spoom//lib/spoom/visitor.rb#682 sig { override.params(node: ::Prism::OrNode).void } def visit_or_node(node); end # source://spoom//lib/spoom/visitor.rb#688 sig { override.params(node: ::Prism::ParametersNode).void } def visit_parameters_node(node); end # source://spoom//lib/spoom/visitor.rb#694 sig { override.params(node: ::Prism::ParenthesesNode).void } def visit_parentheses_node(node); end # source://spoom//lib/spoom/visitor.rb#700 sig { override.params(node: ::Prism::PinnedExpressionNode).void } def visit_pinned_expression_node(node); end # source://spoom//lib/spoom/visitor.rb#706 sig { override.params(node: ::Prism::PinnedVariableNode).void } def visit_pinned_variable_node(node); end # source://spoom//lib/spoom/visitor.rb#712 sig { override.params(node: ::Prism::PostExecutionNode).void } def visit_post_execution_node(node); end # source://spoom//lib/spoom/visitor.rb#718 sig { override.params(node: ::Prism::PreExecutionNode).void } def visit_pre_execution_node(node); end # source://spoom//lib/spoom/visitor.rb#724 sig { override.params(node: ::Prism::ProgramNode).void } def visit_program_node(node); end # source://spoom//lib/spoom/visitor.rb#730 sig { override.params(node: ::Prism::RangeNode).void } def visit_range_node(node); end # source://spoom//lib/spoom/visitor.rb#736 sig { override.params(node: ::Prism::RationalNode).void } def visit_rational_node(node); end # source://spoom//lib/spoom/visitor.rb#742 sig { override.params(node: ::Prism::RedoNode).void } def visit_redo_node(node); end # source://spoom//lib/spoom/visitor.rb#748 sig { override.params(node: ::Prism::RegularExpressionNode).void } def visit_regular_expression_node(node); end # source://spoom//lib/spoom/visitor.rb#754 sig { override.params(node: ::Prism::RequiredKeywordParameterNode).void } def visit_required_keyword_parameter_node(node); end # source://spoom//lib/spoom/visitor.rb#760 sig { override.params(node: ::Prism::RequiredParameterNode).void } def visit_required_parameter_node(node); end # source://spoom//lib/spoom/visitor.rb#766 sig { override.params(node: ::Prism::RescueModifierNode).void } def visit_rescue_modifier_node(node); end # source://spoom//lib/spoom/visitor.rb#772 sig { override.params(node: ::Prism::RescueNode).void } def visit_rescue_node(node); end # source://spoom//lib/spoom/visitor.rb#778 sig { override.params(node: ::Prism::RestParameterNode).void } def visit_rest_parameter_node(node); end # source://spoom//lib/spoom/visitor.rb#784 sig { override.params(node: ::Prism::RetryNode).void } def visit_retry_node(node); end # source://spoom//lib/spoom/visitor.rb#790 sig { override.params(node: ::Prism::ReturnNode).void } def visit_return_node(node); end # source://spoom//lib/spoom/visitor.rb#796 sig { override.params(node: ::Prism::SelfNode).void } def visit_self_node(node); end # source://spoom//lib/spoom/visitor.rb#802 sig { override.params(node: ::Prism::SingletonClassNode).void } def visit_singleton_class_node(node); end # source://spoom//lib/spoom/visitor.rb#808 sig { override.params(node: ::Prism::SourceEncodingNode).void } def visit_source_encoding_node(node); end # source://spoom//lib/spoom/visitor.rb#814 sig { override.params(node: ::Prism::SourceFileNode).void } def visit_source_file_node(node); end # source://spoom//lib/spoom/visitor.rb#820 sig { override.params(node: ::Prism::SourceLineNode).void } def visit_source_line_node(node); end # source://spoom//lib/spoom/visitor.rb#826 sig { override.params(node: ::Prism::SplatNode).void } def visit_splat_node(node); end # source://spoom//lib/spoom/visitor.rb#832 sig { override.params(node: ::Prism::StatementsNode).void } def visit_statements_node(node); end # source://spoom//lib/spoom/visitor.rb#838 sig { override.params(node: ::Prism::StringNode).void } def visit_string_node(node); end # source://spoom//lib/spoom/visitor.rb#844 sig { override.params(node: ::Prism::SuperNode).void } def visit_super_node(node); end # source://spoom//lib/spoom/visitor.rb#850 sig { override.params(node: ::Prism::SymbolNode).void } def visit_symbol_node(node); end # source://spoom//lib/spoom/visitor.rb#856 sig { override.params(node: ::Prism::TrueNode).void } def visit_true_node(node); end # source://spoom//lib/spoom/visitor.rb#862 sig { override.params(node: ::Prism::UndefNode).void } def visit_undef_node(node); end # source://spoom//lib/spoom/visitor.rb#868 sig { override.params(node: ::Prism::UnlessNode).void } def visit_unless_node(node); end # source://spoom//lib/spoom/visitor.rb#874 sig { override.params(node: ::Prism::UntilNode).void } def visit_until_node(node); end # source://spoom//lib/spoom/visitor.rb#880 sig { override.params(node: ::Prism::WhenNode).void } def visit_when_node(node); end # source://spoom//lib/spoom/visitor.rb#886 sig { override.params(node: ::Prism::WhileNode).void } def visit_while_node(node); end # source://spoom//lib/spoom/visitor.rb#892 sig { override.params(node: ::Prism::XStringNode).void } def visit_x_string_node(node); end # source://spoom//lib/spoom/visitor.rb#898 sig { override.params(node: ::Prism::YieldNode).void } def visit_yield_node(node); end end