From 0f078ed89f5625ba3f7a3b80d467b459e4cb689a Mon Sep 17 00:00:00 2001 From: Andy Waite <13400+andyw8@users.noreply.github.com> Date: Thu, 6 Jun 2024 15:13:56 -0400 Subject: [PATCH] Use RBS for indexing Core classes --- Gemfile.lock | 4 + .../lib/ruby_indexer/rbs_indexer.rb | 63 + lib/ruby_indexer/ruby_indexer.rb | 1 + lib/ruby_indexer/test/configuration_test.rb | 2 +- lib/ruby_indexer/test/rbs_indexer_test.rb | 29 + lib/ruby_lsp/internal.rb | 1 + lib/ruby_lsp/server.rb | 14 + ruby-lsp.gemspec | 1 + sorbet/rbi/gems/rbs@3.4.4.rbi | 6642 +++++++++++++++++ 9 files changed, 6756 insertions(+), 1 deletion(-) create mode 100644 lib/ruby_indexer/lib/ruby_indexer/rbs_indexer.rb create mode 100644 lib/ruby_indexer/test/rbs_indexer_test.rb create mode 100644 sorbet/rbi/gems/rbs@3.4.4.rbi diff --git a/Gemfile.lock b/Gemfile.lock index f7ba4e438e..5be7a01ce7 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -12,11 +12,13 @@ PATH ruby-lsp (0.17.2) language_server-protocol (~> 3.17.0) prism (>= 0.29.0, < 0.30) + rbs sorbet-runtime (>= 0.5.10782) GEM remote: https://rubygems.org/ specs: + abbrev (0.1.2) ansi (1.5.0) ast (2.4.2) builder (3.2.4) @@ -54,6 +56,8 @@ GEM rbi (0.1.13) prism (>= 0.18.0, < 1.0.0) sorbet-runtime (>= 0.5.9204) + rbs (3.4.4) + abbrev regexp_parser (2.9.2) reline (0.5.0) io-console (~> 0.5) diff --git a/lib/ruby_indexer/lib/ruby_indexer/rbs_indexer.rb b/lib/ruby_indexer/lib/ruby_indexer/rbs_indexer.rb new file mode 100644 index 0000000000..8550fcb0c3 --- /dev/null +++ b/lib/ruby_indexer/lib/ruby_indexer/rbs_indexer.rb @@ -0,0 +1,63 @@ +# typed: strict +# frozen_string_literal: true + +module RubyIndexer + class RBSIndexer + extend T::Sig + + sig { params(index: Index).void } + def initialize(index) + @index = index + end + + sig { void } + def index_core_classes + loader = RBS::EnvironmentLoader.new + RBS::Environment.from_loader(loader).resolve_type_names + + loader.each_signature do |source, pathname, _buffer, declarations, _directives| + process_signature(source, pathname, declarations) + end + end + + private + + sig { params(source: T.untyped, pathname: Pathname, declarations: T::Array[RBS::AST::Declarations::Base]).void } + def process_signature(source, pathname, declarations) + declarations.each do |declaration| + process_declaration(declaration, pathname) + end + end + + sig { params(declaration: RBS::AST::Declarations::Base, pathname: Pathname).void } + def process_declaration(declaration, pathname) + case declaration + when RBS::AST::Declarations::Class + handle_class_declaration(declaration, pathname) + else # rubocop:disable Style/EmptyElse + # Other kinds not yet handled + end + end + + sig { params(declaration: RBS::AST::Declarations::Class, pathname: Pathname).void } + def handle_class_declaration(declaration, pathname) + nesting = [declaration.name.name.to_s] + file_path = pathname.to_s + location = to_ruby_indexer_location(declaration.location) + comments = Array(declaration.comment&.string&.lines) + parent_class = declaration.super_class&.name&.name&.to_s + class_entry = Entry::Class.new(nesting, file_path, location, comments, parent_class) + @index << class_entry + end + + sig { params(rbs_location: RBS::Location).returns(RubyIndexer::Location) } + def to_ruby_indexer_location(rbs_location) + RubyIndexer::Location.new( + rbs_location.start_line, + rbs_location.end_line, + rbs_location.start_column, + rbs_location.end_column, + ) + end + end +end diff --git a/lib/ruby_indexer/ruby_indexer.rb b/lib/ruby_indexer/ruby_indexer.rb index d85facf79d..17b25c0493 100644 --- a/lib/ruby_indexer/ruby_indexer.rb +++ b/lib/ruby_indexer/ruby_indexer.rb @@ -11,6 +11,7 @@ require "ruby_indexer/lib/ruby_indexer/configuration" require "ruby_indexer/lib/ruby_indexer/prefix_tree" require "ruby_indexer/lib/ruby_indexer/location" +require "ruby_indexer/lib/ruby_indexer/rbs_indexer" module RubyIndexer @configuration = T.let(Configuration.new, Configuration) diff --git a/lib/ruby_indexer/test/configuration_test.rb b/lib/ruby_indexer/test/configuration_test.rb index 05609f77ab..4ebffc7f10 100644 --- a/lib/ruby_indexer/test/configuration_test.rb +++ b/lib/ruby_indexer/test/configuration_test.rb @@ -54,7 +54,7 @@ def test_indexables_includes_default_gems assert_includes(indexables, "#{RbConfig::CONFIG["rubylibdir"]}/pathname.rb") assert_includes(indexables, "#{RbConfig::CONFIG["rubylibdir"]}/ipaddr.rb") - assert_includes(indexables, "#{RbConfig::CONFIG["rubylibdir"]}/abbrev.rb") + assert_includes(indexables, "#{RbConfig::CONFIG["rubylibdir"]}/erb.rb") end def test_indexables_includes_project_files diff --git a/lib/ruby_indexer/test/rbs_indexer_test.rb b/lib/ruby_indexer/test/rbs_indexer_test.rb new file mode 100644 index 0000000000..ccd813e122 --- /dev/null +++ b/lib/ruby_indexer/test/rbs_indexer_test.rb @@ -0,0 +1,29 @@ +# typed: true +# frozen_string_literal: true + +require_relative "test_case" + +module RubyIndexer + class RBSIndexerTest < TestCase + def setup + @index = RubyIndexer::Index.new + RBSIndexer.new(@index).index_core_classes + end + + def test_index_core_classes + entries = @index["Array"] + refute_nil(entries) + assert_equal(1, entries.length) + entry = entries.first + assert_match(%r{/gems/rbs-.*/core/array.rbs}, entry.file_path) + assert_equal("array.rbs", entry.file_name) + assert_equal("Object", entry.parent_class) + + # Using fixed positions would be fragile, so let's just check some basics. + assert_operator(entry.location.start_line, :>, 0) + assert_operator(entry.location.end_line, :>, entry.location.start_line) + assert_equal(0, entry.location.start_column) + assert_operator(entry.location.end_column, :>, 0) + end + end +end diff --git a/lib/ruby_lsp/internal.rb b/lib/ruby_lsp/internal.rb index ec4aaf8dc0..8103cb1e8f 100644 --- a/lib/ruby_lsp/internal.rb +++ b/lib/ruby_lsp/internal.rb @@ -18,6 +18,7 @@ require "prism" require "prism/visitor" require "language_server-protocol" +require "rbs" require "ruby-lsp" require "ruby_lsp/base_server" diff --git a/lib/ruby_lsp/server.rb b/lib/ruby_lsp/server.rb index 858595ea36..7b296e70da 100644 --- a/lib/ruby_lsp/server.rb +++ b/lib/ruby_lsp/server.rb @@ -690,6 +690,20 @@ def shutdown sig { params(config_hash: T::Hash[String, T.untyped]).void } def perform_initial_indexing(config_hash) + index_core_classes + index_ruby_code(config_hash) + end + + sig { void } + def index_core_classes + start_time = Process.clock_gettime(Process::CLOCK_MONOTONIC) + RubyIndexer::RBSIndexer.new(@global_state.index).index_core_classes + end_time = Process.clock_gettime(Process::CLOCK_MONOTONIC) + $stderr.puts("Indexed Ruby core classes in #{(end_time - start_time).round(2)} seconds") + end + + sig { params(config_hash: T::Hash[String, T.untyped]).void } + def index_ruby_code(config_hash) # The begin progress invocation happens during `initialize`, so that the notification is sent before we are # stuck indexing files RubyIndexer.configuration.apply_config(config_hash) diff --git a/ruby-lsp.gemspec b/ruby-lsp.gemspec index 21f6a0862e..5e471081ec 100644 --- a/ruby-lsp.gemspec +++ b/ruby-lsp.gemspec @@ -20,6 +20,7 @@ Gem::Specification.new do |s| s.add_dependency("language_server-protocol", "~> 3.17.0") s.add_dependency("prism", ">= 0.29.0", "< 0.30") + s.add_dependency("rbs") s.add_dependency("sorbet-runtime", ">= 0.5.10782") s.required_ruby_version = ">= 3.0" diff --git a/sorbet/rbi/gems/rbs@3.4.4.rbi b/sorbet/rbi/gems/rbs@3.4.4.rbi new file mode 100644 index 0000000000..74e998b3c8 --- /dev/null +++ b/sorbet/rbi/gems/rbs@3.4.4.rbi @@ -0,0 +1,6642 @@ +# typed: true + +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `rbs` gem. +# Please instead update this file by running `bin/tapioca gem rbs`. + +# source://rbs//lib/rbs/namespace.rb#120 +module Kernel + # source://rbs//lib/rbs/namespace.rb#121 + def Namespace(name); end + + # source://rbs//lib/rbs/type_name.rb#93 + def TypeName(string); end +end + +# source://rbs//lib/rbs/version.rb#3 +module RBS + class << self + # source://rbs//lib/rbs.rb#67 + def logger; end + + # Returns the value of attribute logger_level. + # + # source://rbs//lib/rbs.rb#64 + def logger_level; end + + # source://rbs//lib/rbs.rb#76 + def logger_level=(level); end + + # Returns the value of attribute logger_output. + # + # source://rbs//lib/rbs.rb#65 + def logger_output; end + + # source://rbs//lib/rbs.rb#71 + def logger_output=(val); end + + # source://rbs//lib/rbs.rb#81 + def print_warning; end + end +end + +# source://rbs//lib/rbs/ast/type_param.rb#4 +module RBS::AST; end + +# source://rbs//lib/rbs/ast/annotation.rb#5 +class RBS::AST::Annotation + # @return [Annotation] a new instance of Annotation + # + # source://rbs//lib/rbs/ast/annotation.rb#9 + def initialize(string:, location:); end + + # source://rbs//lib/rbs/ast/annotation.rb#14 + def ==(other); end + + # source://rbs//lib/rbs/ast/annotation.rb#14 + def eql?(other); end + + # source://rbs//lib/rbs/ast/annotation.rb#20 + def hash; end + + # Returns the value of attribute location. + # + # source://rbs//lib/rbs/ast/annotation.rb#7 + def location; end + + # Returns the value of attribute string. + # + # source://rbs//lib/rbs/ast/annotation.rb#6 + def string; end + + # source://rbs//lib/rbs/ast/annotation.rb#24 + def to_json(state = T.unsafe(nil)); end +end + +# source://rbs//lib/rbs/ast/comment.rb#5 +class RBS::AST::Comment + # @return [Comment] a new instance of Comment + # + # source://rbs//lib/rbs/ast/comment.rb#9 + def initialize(string:, location:); end + + # source://rbs//lib/rbs/ast/comment.rb#14 + def ==(other); end + + # source://rbs//lib/rbs/ast/comment.rb#14 + def eql?(other); end + + # source://rbs//lib/rbs/ast/comment.rb#20 + def hash; end + + # Returns the value of attribute location. + # + # source://rbs//lib/rbs/ast/comment.rb#7 + def location; end + + # Returns the value of attribute string. + # + # source://rbs//lib/rbs/ast/comment.rb#6 + def string; end + + # source://rbs//lib/rbs/ast/comment.rb#24 + def to_json(state = T.unsafe(nil)); end +end + +# source://rbs//lib/rbs/ast/declarations.rb#5 +module RBS::AST::Declarations; end + +# source://rbs//lib/rbs/ast/declarations.rb#383 +class RBS::AST::Declarations::AliasDecl < ::RBS::AST::Declarations::Base + # @return [AliasDecl] a new instance of AliasDecl + # + # source://rbs//lib/rbs/ast/declarations.rb#386 + def initialize(new_name:, old_name:, location:, comment:); end + + # source://rbs//lib/rbs/ast/declarations.rb#393 + def ==(other); end + + # Returns the value of attribute comment. + # + # source://rbs//lib/rbs/ast/declarations.rb#384 + def comment; end + + # source://rbs//lib/rbs/ast/declarations.rb#393 + def eql?(other); end + + # source://rbs//lib/rbs/ast/declarations.rb#401 + def hash; end + + # Returns the value of attribute location. + # + # source://rbs//lib/rbs/ast/declarations.rb#384 + def location; end + + # Returns the value of attribute new_name. + # + # source://rbs//lib/rbs/ast/declarations.rb#384 + def new_name; end + + # Returns the value of attribute old_name. + # + # source://rbs//lib/rbs/ast/declarations.rb#384 + def old_name; end +end + +# source://rbs//lib/rbs/ast/declarations.rb#6 +class RBS::AST::Declarations::Base; end + +# source://rbs//lib/rbs/ast/declarations.rb#55 +class RBS::AST::Declarations::Class < ::RBS::AST::Declarations::Base + include ::RBS::AST::Declarations::NestedDeclarationHelper + include ::RBS::AST::Declarations::MixinHelper + + # @return [Class] a new instance of Class + # + # source://rbs//lib/rbs/ast/declarations.rb#97 + def initialize(name:, type_params:, super_class:, members:, annotations:, location:, comment:); end + + # source://rbs//lib/rbs/ast/declarations.rb#107 + def ==(other); end + + # Returns the value of attribute annotations. + # + # source://rbs//lib/rbs/ast/declarations.rb#93 + def annotations; end + + # Returns the value of attribute comment. + # + # source://rbs//lib/rbs/ast/declarations.rb#95 + def comment; end + + # source://rbs//lib/rbs/ast/declarations.rb#107 + def eql?(other); end + + # source://rbs//lib/rbs/ast/declarations.rb#117 + def hash; end + + # Returns the value of attribute location. + # + # source://rbs//lib/rbs/ast/declarations.rb#94 + def location; end + + # Returns the value of attribute members. + # + # source://rbs//lib/rbs/ast/declarations.rb#91 + def members; end + + # Returns the value of attribute name. + # + # source://rbs//lib/rbs/ast/declarations.rb#89 + def name; end + + # Returns the value of attribute super_class. + # + # source://rbs//lib/rbs/ast/declarations.rb#92 + def super_class; end + + # source://rbs//lib/rbs/ast/declarations.rb#121 + def to_json(state = T.unsafe(nil)); end + + # Returns the value of attribute type_params. + # + # source://rbs//lib/rbs/ast/declarations.rb#90 + def type_params; end +end + +# source://rbs//lib/rbs/ast/declarations.rb#56 +class RBS::AST::Declarations::Class::Super + # @return [Super] a new instance of Super + # + # source://rbs//lib/rbs/ast/declarations.rb#61 + def initialize(name:, args:, location:); end + + # source://rbs//lib/rbs/ast/declarations.rb#67 + def ==(other); end + + # Returns the value of attribute args. + # + # source://rbs//lib/rbs/ast/declarations.rb#58 + def args; end + + # source://rbs//lib/rbs/ast/declarations.rb#67 + def eql?(other); end + + # source://rbs//lib/rbs/ast/declarations.rb#73 + def hash; end + + # Returns the value of attribute location. + # + # source://rbs//lib/rbs/ast/declarations.rb#59 + def location; end + + # Returns the value of attribute name. + # + # source://rbs//lib/rbs/ast/declarations.rb#57 + def name; end + + # source://rbs//lib/rbs/ast/declarations.rb#77 + def to_json(state = T.unsafe(nil)); end +end + +# source://rbs//lib/rbs/ast/declarations.rb#406 +class RBS::AST::Declarations::ClassAlias < ::RBS::AST::Declarations::AliasDecl + # source://rbs//lib/rbs/ast/declarations.rb#407 + def to_json(state = T.unsafe(nil)); end +end + +# source://rbs//lib/rbs/ast/declarations.rb#311 +class RBS::AST::Declarations::Constant < ::RBS::AST::Declarations::Base + # @return [Constant] a new instance of Constant + # + # source://rbs//lib/rbs/ast/declarations.rb#317 + def initialize(name:, type:, location:, comment:); end + + # source://rbs//lib/rbs/ast/declarations.rb#324 + def ==(other); end + + # Returns the value of attribute comment. + # + # source://rbs//lib/rbs/ast/declarations.rb#315 + def comment; end + + # source://rbs//lib/rbs/ast/declarations.rb#324 + def eql?(other); end + + # source://rbs//lib/rbs/ast/declarations.rb#332 + def hash; end + + # Returns the value of attribute location. + # + # source://rbs//lib/rbs/ast/declarations.rb#314 + def location; end + + # Returns the value of attribute name. + # + # source://rbs//lib/rbs/ast/declarations.rb#312 + def name; end + + # source://rbs//lib/rbs/ast/declarations.rb#336 + def to_json(state = T.unsafe(nil)); end + + # Returns the value of attribute type. + # + # source://rbs//lib/rbs/ast/declarations.rb#313 + def type; end +end + +# source://rbs//lib/rbs/ast/declarations.rb#347 +class RBS::AST::Declarations::Global < ::RBS::AST::Declarations::Base + # @return [Global] a new instance of Global + # + # source://rbs//lib/rbs/ast/declarations.rb#353 + def initialize(name:, type:, location:, comment:); end + + # source://rbs//lib/rbs/ast/declarations.rb#360 + def ==(other); end + + # Returns the value of attribute comment. + # + # source://rbs//lib/rbs/ast/declarations.rb#351 + def comment; end + + # source://rbs//lib/rbs/ast/declarations.rb#360 + def eql?(other); end + + # source://rbs//lib/rbs/ast/declarations.rb#368 + def hash; end + + # Returns the value of attribute location. + # + # source://rbs//lib/rbs/ast/declarations.rb#350 + def location; end + + # Returns the value of attribute name. + # + # source://rbs//lib/rbs/ast/declarations.rb#348 + def name; end + + # source://rbs//lib/rbs/ast/declarations.rb#372 + def to_json(state = T.unsafe(nil)); end + + # Returns the value of attribute type. + # + # source://rbs//lib/rbs/ast/declarations.rb#349 + def type; end +end + +# source://rbs//lib/rbs/ast/declarations.rb#223 +class RBS::AST::Declarations::Interface < ::RBS::AST::Declarations::Base + include ::RBS::AST::Declarations::MixinHelper + + # @return [Interface] a new instance of Interface + # + # source://rbs//lib/rbs/ast/declarations.rb#233 + def initialize(name:, type_params:, members:, annotations:, location:, comment:); end + + # source://rbs//lib/rbs/ast/declarations.rb#242 + def ==(other); end + + # Returns the value of attribute annotations. + # + # source://rbs//lib/rbs/ast/declarations.rb#227 + def annotations; end + + # Returns the value of attribute comment. + # + # source://rbs//lib/rbs/ast/declarations.rb#229 + def comment; end + + # source://rbs//lib/rbs/ast/declarations.rb#242 + def eql?(other); end + + # source://rbs//lib/rbs/ast/declarations.rb#251 + def hash; end + + # Returns the value of attribute location. + # + # source://rbs//lib/rbs/ast/declarations.rb#228 + def location; end + + # Returns the value of attribute members. + # + # source://rbs//lib/rbs/ast/declarations.rb#226 + def members; end + + # Returns the value of attribute name. + # + # source://rbs//lib/rbs/ast/declarations.rb#224 + def name; end + + # source://rbs//lib/rbs/ast/declarations.rb#255 + def to_json(state = T.unsafe(nil)); end + + # Returns the value of attribute type_params. + # + # source://rbs//lib/rbs/ast/declarations.rb#225 + def type_params; end +end + +# source://rbs//lib/rbs/ast/declarations.rb#35 +module RBS::AST::Declarations::MixinHelper + # source://rbs//lib/rbs/ast/declarations.rb#36 + def each_mixin(&block); end +end + +# source://rbs//lib/rbs/ast/declarations.rb#135 +class RBS::AST::Declarations::Module < ::RBS::AST::Declarations::Base + include ::RBS::AST::Declarations::NestedDeclarationHelper + include ::RBS::AST::Declarations::MixinHelper + + # @return [Module] a new instance of Module + # + # source://rbs//lib/rbs/ast/declarations.rb#185 + def initialize(name:, type_params:, members:, self_types:, annotations:, location:, comment:); end + + # source://rbs//lib/rbs/ast/declarations.rb#195 + def ==(other); end + + # Returns the value of attribute annotations. + # + # source://rbs//lib/rbs/ast/declarations.rb#181 + def annotations; end + + # Returns the value of attribute comment. + # + # source://rbs//lib/rbs/ast/declarations.rb#183 + def comment; end + + # source://rbs//lib/rbs/ast/declarations.rb#195 + def eql?(other); end + + # source://rbs//lib/rbs/ast/declarations.rb#205 + def hash; end + + # Returns the value of attribute location. + # + # source://rbs//lib/rbs/ast/declarations.rb#180 + def location; end + + # Returns the value of attribute members. + # + # source://rbs//lib/rbs/ast/declarations.rb#179 + def members; end + + # Returns the value of attribute name. + # + # source://rbs//lib/rbs/ast/declarations.rb#177 + def name; end + + # Returns the value of attribute self_types. + # + # source://rbs//lib/rbs/ast/declarations.rb#182 + def self_types; end + + # source://rbs//lib/rbs/ast/declarations.rb#209 + def to_json(state = T.unsafe(nil)); end + + # Returns the value of attribute type_params. + # + # source://rbs//lib/rbs/ast/declarations.rb#178 + def type_params; end +end + +# source://rbs//lib/rbs/ast/declarations.rb#136 +class RBS::AST::Declarations::Module::Self + # @return [Self] a new instance of Self + # + # source://rbs//lib/rbs/ast/declarations.rb#141 + def initialize(name:, args:, location:); end + + # source://rbs//lib/rbs/ast/declarations.rb#147 + def ==(other); end + + # Returns the value of attribute args. + # + # source://rbs//lib/rbs/ast/declarations.rb#138 + def args; end + + # source://rbs//lib/rbs/ast/declarations.rb#147 + def eql?(other); end + + # source://rbs//lib/rbs/ast/declarations.rb#153 + def hash; end + + # Returns the value of attribute location. + # + # source://rbs//lib/rbs/ast/declarations.rb#139 + def location; end + + # Returns the value of attribute name. + # + # source://rbs//lib/rbs/ast/declarations.rb#137 + def name; end + + # source://rbs//lib/rbs/ast/declarations.rb#157 + def to_json(state = T.unsafe(nil)); end + + # source://rbs//lib/rbs/ast/declarations.rb#165 + def to_s; end +end + +# source://rbs//lib/rbs/ast/declarations.rb#418 +class RBS::AST::Declarations::ModuleAlias < ::RBS::AST::Declarations::AliasDecl + # source://rbs//lib/rbs/ast/declarations.rb#419 + def to_json(state = T.unsafe(nil)); end +end + +# source://rbs//lib/rbs/ast/declarations.rb#9 +module RBS::AST::Declarations::NestedDeclarationHelper + # source://rbs//lib/rbs/ast/declarations.rb#22 + def each_decl; end + + # source://rbs//lib/rbs/ast/declarations.rb#10 + def each_member; end +end + +# source://rbs//lib/rbs/ast/declarations.rb#268 +class RBS::AST::Declarations::TypeAlias < ::RBS::AST::Declarations::Base + # @return [TypeAlias] a new instance of TypeAlias + # + # source://rbs//lib/rbs/ast/declarations.rb#276 + def initialize(name:, type_params:, type:, annotations:, location:, comment:); end + + # source://rbs//lib/rbs/ast/declarations.rb#285 + def ==(other); end + + # Returns the value of attribute annotations. + # + # source://rbs//lib/rbs/ast/declarations.rb#272 + def annotations; end + + # Returns the value of attribute comment. + # + # source://rbs//lib/rbs/ast/declarations.rb#274 + def comment; end + + # source://rbs//lib/rbs/ast/declarations.rb#285 + def eql?(other); end + + # source://rbs//lib/rbs/ast/declarations.rb#294 + def hash; end + + # Returns the value of attribute location. + # + # source://rbs//lib/rbs/ast/declarations.rb#273 + def location; end + + # Returns the value of attribute name. + # + # source://rbs//lib/rbs/ast/declarations.rb#269 + def name; end + + # source://rbs//lib/rbs/ast/declarations.rb#298 + def to_json(state = T.unsafe(nil)); end + + # Returns the value of attribute type. + # + # source://rbs//lib/rbs/ast/declarations.rb#271 + def type; end + + # Returns the value of attribute type_params. + # + # source://rbs//lib/rbs/ast/declarations.rb#270 + def type_params; end +end + +# source://rbs//lib/rbs/ast/directives.rb#5 +module RBS::AST::Directives; end + +# source://rbs//lib/rbs/ast/directives.rb#6 +class RBS::AST::Directives::Base; end + +# source://rbs//lib/rbs/ast/directives.rb#9 +class RBS::AST::Directives::Use < ::RBS::AST::Directives::Base + # @return [Use] a new instance of Use + # + # source://rbs//lib/rbs/ast/directives.rb#31 + def initialize(clauses:, location:); end + + # Returns the value of attribute clauses. + # + # source://rbs//lib/rbs/ast/directives.rb#29 + def clauses; end + + # Returns the value of attribute location. + # + # source://rbs//lib/rbs/ast/directives.rb#29 + def location; end +end + +# source://rbs//lib/rbs/ast/directives.rb#10 +class RBS::AST::Directives::Use::SingleClause + # @return [SingleClause] a new instance of SingleClause + # + # source://rbs//lib/rbs/ast/directives.rb#13 + def initialize(type_name:, new_name:, location:); end + + # Returns the value of attribute location. + # + # source://rbs//lib/rbs/ast/directives.rb#11 + def location; end + + # Returns the value of attribute new_name. + # + # source://rbs//lib/rbs/ast/directives.rb#11 + def new_name; end + + # Returns the value of attribute type_name. + # + # source://rbs//lib/rbs/ast/directives.rb#11 + def type_name; end +end + +# source://rbs//lib/rbs/ast/directives.rb#20 +class RBS::AST::Directives::Use::WildcardClause + # @return [WildcardClause] a new instance of WildcardClause + # + # source://rbs//lib/rbs/ast/directives.rb#23 + def initialize(namespace:, location:); end + + # Returns the value of attribute location. + # + # source://rbs//lib/rbs/ast/directives.rb#21 + def location; end + + # Returns the value of attribute namespace. + # + # source://rbs//lib/rbs/ast/directives.rb#21 + def namespace; end +end + +# source://rbs//lib/rbs/ast/members.rb#5 +module RBS::AST::Members; end + +# source://rbs//lib/rbs/ast/members.rb#397 +class RBS::AST::Members::Alias < ::RBS::AST::Members::Base + # @return [Alias] a new instance of Alias + # + # source://rbs//lib/rbs/ast/members.rb#405 + def initialize(new_name:, old_name:, kind:, annotations:, location:, comment:); end + + # source://rbs//lib/rbs/ast/members.rb#414 + def ==(other); end + + # Returns the value of attribute annotations. + # + # source://rbs//lib/rbs/ast/members.rb#401 + def annotations; end + + # Returns the value of attribute comment. + # + # source://rbs//lib/rbs/ast/members.rb#403 + def comment; end + + # source://rbs//lib/rbs/ast/members.rb#414 + def eql?(other); end + + # source://rbs//lib/rbs/ast/members.rb#423 + def hash; end + + # @return [Boolean] + # + # source://rbs//lib/rbs/ast/members.rb#439 + def instance?; end + + # Returns the value of attribute kind. + # + # source://rbs//lib/rbs/ast/members.rb#400 + def kind; end + + # Returns the value of attribute location. + # + # source://rbs//lib/rbs/ast/members.rb#402 + def location; end + + # Returns the value of attribute new_name. + # + # source://rbs//lib/rbs/ast/members.rb#398 + def new_name; end + + # Returns the value of attribute old_name. + # + # source://rbs//lib/rbs/ast/members.rb#399 + def old_name; end + + # @return [Boolean] + # + # source://rbs//lib/rbs/ast/members.rb#443 + def singleton?; end + + # source://rbs//lib/rbs/ast/members.rb#427 + def to_json(state = T.unsafe(nil)); end +end + +# source://rbs//lib/rbs/ast/members.rb#327 +class RBS::AST::Members::AttrAccessor < ::RBS::AST::Members::Base + include ::RBS::AST::Members::Attribute + + # source://rbs//lib/rbs/ast/members.rb#330 + def to_json(state = T.unsafe(nil)); end +end + +# source://rbs//lib/rbs/ast/members.rb#309 +class RBS::AST::Members::AttrReader < ::RBS::AST::Members::Base + include ::RBS::AST::Members::Attribute + + # source://rbs//lib/rbs/ast/members.rb#312 + def to_json(state = T.unsafe(nil)); end +end + +# source://rbs//lib/rbs/ast/members.rb#345 +class RBS::AST::Members::AttrWriter < ::RBS::AST::Members::Base + include ::RBS::AST::Members::Attribute + + # source://rbs//lib/rbs/ast/members.rb#348 + def to_json(state = T.unsafe(nil)); end +end + +# source://rbs//lib/rbs/ast/members.rb#258 +module RBS::AST::Members::Attribute + # source://rbs//lib/rbs/ast/members.rb#268 + def initialize(name:, type:, ivar_name:, kind:, annotations:, location:, comment:, visibility: T.unsafe(nil)); end + + # source://rbs//lib/rbs/ast/members.rb#279 + def ==(other); end + + # Returns the value of attribute annotations. + # + # source://rbs//lib/rbs/ast/members.rb#263 + def annotations; end + + # Returns the value of attribute comment. + # + # source://rbs//lib/rbs/ast/members.rb#265 + def comment; end + + # source://rbs//lib/rbs/ast/members.rb#279 + def eql?(other); end + + # source://rbs//lib/rbs/ast/members.rb#290 + def hash; end + + # Returns the value of attribute ivar_name. + # + # source://rbs//lib/rbs/ast/members.rb#262 + def ivar_name; end + + # Returns the value of attribute kind. + # + # source://rbs//lib/rbs/ast/members.rb#261 + def kind; end + + # Returns the value of attribute location. + # + # source://rbs//lib/rbs/ast/members.rb#264 + def location; end + + # Returns the value of attribute name. + # + # source://rbs//lib/rbs/ast/members.rb#259 + def name; end + + # Returns the value of attribute type. + # + # source://rbs//lib/rbs/ast/members.rb#260 + def type; end + + # source://rbs//lib/rbs/ast/members.rb#294 + def update(name: T.unsafe(nil), type: T.unsafe(nil), ivar_name: T.unsafe(nil), kind: T.unsafe(nil), annotations: T.unsafe(nil), location: T.unsafe(nil), comment: T.unsafe(nil), visibility: T.unsafe(nil)); end + + # Returns the value of attribute visibility. + # + # source://rbs//lib/rbs/ast/members.rb#266 + def visibility; end +end + +# source://rbs//lib/rbs/ast/members.rb#6 +class RBS::AST::Members::Base; end + +# source://rbs//lib/rbs/ast/members.rb#157 +class RBS::AST::Members::ClassInstanceVariable < ::RBS::AST::Members::Base + include ::RBS::AST::Members::Var + + # source://rbs//lib/rbs/ast/members.rb#160 + def to_json(state = T.unsafe(nil)); end +end + +# source://rbs//lib/rbs/ast/members.rb#171 +class RBS::AST::Members::ClassVariable < ::RBS::AST::Members::Base + include ::RBS::AST::Members::Var + + # source://rbs//lib/rbs/ast/members.rb#174 + def to_json(state = T.unsafe(nil)); end +end + +# source://rbs//lib/rbs/ast/members.rb#228 +class RBS::AST::Members::Extend < ::RBS::AST::Members::Base + include ::RBS::AST::Members::Mixin + + # source://rbs//lib/rbs/ast/members.rb#231 + def to_json(state = T.unsafe(nil)); end +end + +# source://rbs//lib/rbs/ast/members.rb#213 +class RBS::AST::Members::Include < ::RBS::AST::Members::Base + include ::RBS::AST::Members::Mixin + + # source://rbs//lib/rbs/ast/members.rb#216 + def to_json(state = T.unsafe(nil)); end +end + +# source://rbs//lib/rbs/ast/members.rb#143 +class RBS::AST::Members::InstanceVariable < ::RBS::AST::Members::Base + include ::RBS::AST::Members::Var + + # source://rbs//lib/rbs/ast/members.rb#146 + def to_json(state = T.unsafe(nil)); end +end + +# source://rbs//lib/rbs/ast/members.rb#363 +module RBS::AST::Members::LocationOnly + # source://rbs//lib/rbs/ast/members.rb#366 + def initialize(location:); end + + # source://rbs//lib/rbs/ast/members.rb#370 + def ==(other); end + + # source://rbs//lib/rbs/ast/members.rb#370 + def eql?(other); end + + # source://rbs//lib/rbs/ast/members.rb#376 + def hash; end + + # Returns the value of attribute location. + # + # source://rbs//lib/rbs/ast/members.rb#364 + def location; end +end + +# source://rbs//lib/rbs/ast/members.rb#9 +class RBS::AST::Members::MethodDefinition < ::RBS::AST::Members::Base + # @return [MethodDefinition] a new instance of MethodDefinition + # + # source://rbs//lib/rbs/ast/members.rb#53 + def initialize(name:, kind:, overloads:, annotations:, location:, comment:, overloading:, visibility:); end + + # source://rbs//lib/rbs/ast/members.rb#64 + def ==(other); end + + # Returns the value of attribute annotations. + # + # source://rbs//lib/rbs/ast/members.rb#47 + def annotations; end + + # Returns the value of attribute comment. + # + # source://rbs//lib/rbs/ast/members.rb#49 + def comment; end + + # source://rbs//lib/rbs/ast/members.rb#64 + def eql?(other); end + + # source://rbs//lib/rbs/ast/members.rb#75 + def hash; end + + # @return [Boolean] + # + # source://rbs//lib/rbs/ast/members.rb#79 + def instance?; end + + # Returns the value of attribute kind. + # + # source://rbs//lib/rbs/ast/members.rb#45 + def kind; end + + # Returns the value of attribute location. + # + # source://rbs//lib/rbs/ast/members.rb#48 + def location; end + + # Returns the value of attribute name. + # + # source://rbs//lib/rbs/ast/members.rb#44 + def name; end + + # Returns the value of attribute overloading. + # + # source://rbs//lib/rbs/ast/members.rb#50 + def overloading; end + + # @return [Boolean] + # + # source://rbs//lib/rbs/ast/members.rb#87 + def overloading?; end + + # Returns the value of attribute overloads. + # + # source://rbs//lib/rbs/ast/members.rb#46 + def overloads; end + + # @return [Boolean] + # + # source://rbs//lib/rbs/ast/members.rb#83 + def singleton?; end + + # source://rbs//lib/rbs/ast/members.rb#104 + def to_json(state = T.unsafe(nil)); end + + # source://rbs//lib/rbs/ast/members.rb#91 + def update(name: T.unsafe(nil), kind: T.unsafe(nil), overloads: T.unsafe(nil), annotations: T.unsafe(nil), location: T.unsafe(nil), comment: T.unsafe(nil), overloading: T.unsafe(nil), visibility: T.unsafe(nil)); end + + # Returns the value of attribute visibility. + # + # source://rbs//lib/rbs/ast/members.rb#51 + def visibility; end +end + +# source://rbs//lib/rbs/ast/members.rb#10 +class RBS::AST::Members::MethodDefinition::Overload + # @return [Overload] a new instance of Overload + # + # source://rbs//lib/rbs/ast/members.rb#13 + def initialize(method_type:, annotations:); end + + # source://rbs//lib/rbs/ast/members.rb#18 + def ==(other); end + + # Returns the value of attribute annotations. + # + # source://rbs//lib/rbs/ast/members.rb#11 + def annotations; end + + # source://rbs//lib/rbs/ast/members.rb#18 + def eql?(other); end + + # source://rbs//lib/rbs/ast/members.rb#22 + def hash; end + + # Returns the value of attribute method_type. + # + # source://rbs//lib/rbs/ast/members.rb#11 + def method_type; end + + # source://rbs//lib/rbs/ast/members.rb#32 + def sub(subst); end + + # source://rbs//lib/rbs/ast/members.rb#36 + def to_json(state = T.unsafe(nil)); end + + # source://rbs//lib/rbs/ast/members.rb#28 + def update(annotations: T.unsafe(nil), method_type: T.unsafe(nil)); end +end + +# source://rbs//lib/rbs/ast/members.rb#185 +module RBS::AST::Members::Mixin + # source://rbs//lib/rbs/ast/members.rb#192 + def initialize(name:, args:, annotations:, location:, comment:); end + + # source://rbs//lib/rbs/ast/members.rb#200 + def ==(other); end + + # Returns the value of attribute annotations. + # + # source://rbs//lib/rbs/ast/members.rb#188 + def annotations; end + + # Returns the value of attribute args. + # + # source://rbs//lib/rbs/ast/members.rb#187 + def args; end + + # Returns the value of attribute comment. + # + # source://rbs//lib/rbs/ast/members.rb#190 + def comment; end + + # @return [Boolean] + # + # source://rbs//lib/rbs/ast/members.rb#204 + def eql?(other); end + + # source://rbs//lib/rbs/ast/members.rb#208 + def hash; end + + # Returns the value of attribute location. + # + # source://rbs//lib/rbs/ast/members.rb#189 + def location; end + + # Returns the value of attribute name. + # + # source://rbs//lib/rbs/ast/members.rb#186 + def name; end +end + +# source://rbs//lib/rbs/ast/members.rb#243 +class RBS::AST::Members::Prepend < ::RBS::AST::Members::Base + include ::RBS::AST::Members::Mixin + + # source://rbs//lib/rbs/ast/members.rb#246 + def to_json(state = T.unsafe(nil)); end +end + +# source://rbs//lib/rbs/ast/members.rb#389 +class RBS::AST::Members::Private < ::RBS::AST::Members::Base + include ::RBS::AST::Members::LocationOnly + + # source://rbs//lib/rbs/ast/members.rb#392 + def to_json(state = T.unsafe(nil)); end +end + +# source://rbs//lib/rbs/ast/members.rb#381 +class RBS::AST::Members::Public < ::RBS::AST::Members::Base + include ::RBS::AST::Members::LocationOnly + + # source://rbs//lib/rbs/ast/members.rb#384 + def to_json(state = T.unsafe(nil)); end +end + +# source://rbs//lib/rbs/ast/members.rb#119 +module RBS::AST::Members::Var + # source://rbs//lib/rbs/ast/members.rb#125 + def initialize(name:, type:, location:, comment:); end + + # source://rbs//lib/rbs/ast/members.rb#132 + def ==(other); end + + # Returns the value of attribute comment. + # + # source://rbs//lib/rbs/ast/members.rb#123 + def comment; end + + # source://rbs//lib/rbs/ast/members.rb#132 + def eql?(other); end + + # source://rbs//lib/rbs/ast/members.rb#138 + def hash; end + + # Returns the value of attribute location. + # + # source://rbs//lib/rbs/ast/members.rb#122 + def location; end + + # Returns the value of attribute name. + # + # source://rbs//lib/rbs/ast/members.rb#120 + def name; end + + # Returns the value of attribute type. + # + # source://rbs//lib/rbs/ast/members.rb#121 + def type; end +end + +# source://rbs//lib/rbs/ast/type_param.rb#5 +class RBS::AST::TypeParam + # @return [TypeParam] a new instance of TypeParam + # + # source://rbs//lib/rbs/ast/type_param.rb#8 + def initialize(name:, variance:, upper_bound:, location:); end + + # source://rbs//lib/rbs/ast/type_param.rb#25 + def ==(other); end + + # source://rbs//lib/rbs/ast/type_param.rb#25 + def eql?(other); end + + # source://rbs//lib/rbs/ast/type_param.rb#35 + def hash; end + + # Returns the value of attribute location. + # + # source://rbs//lib/rbs/ast/type_param.rb#6 + def location; end + + # source://rbs//lib/rbs/ast/type_param.rb#58 + def map_type(&block); end + + # Returns the value of attribute name. + # + # source://rbs//lib/rbs/ast/type_param.rb#6 + def name; end + + # source://rbs//lib/rbs/ast/type_param.rb#49 + def rename(name); end + + # source://rbs//lib/rbs/ast/type_param.rb#39 + def to_json(state = T.unsafe(nil)); end + + # source://rbs//lib/rbs/ast/type_param.rb#110 + def to_s; end + + # source://rbs//lib/rbs/ast/type_param.rb#16 + def unchecked!(value = T.unsafe(nil)); end + + # @return [Boolean] + # + # source://rbs//lib/rbs/ast/type_param.rb#21 + def unchecked?; end + + # Returns the value of attribute upper_bound. + # + # source://rbs//lib/rbs/ast/type_param.rb#6 + def upper_bound; end + + # Returns the value of attribute variance. + # + # source://rbs//lib/rbs/ast/type_param.rb#6 + def variance; end + + class << self + # source://rbs//lib/rbs/ast/type_param.rb#93 + def rename(params, new_names:); end + + # source://rbs//lib/rbs/ast/type_param.rb#71 + def resolve_variables(params); end + + # source://rbs//lib/rbs/ast/type_param.rb#81 + def subst_var(vars, type); end + end +end + +# source://rbs//lib/rbs/ancestor_graph.rb#4 +class RBS::AncestorGraph + # @return [AncestorGraph] a new instance of AncestorGraph + # + # source://rbs//lib/rbs/ancestor_graph.rb#13 + def initialize(env:, ancestor_builder: T.unsafe(nil)); end + + # Returns the value of attribute ancestor_builder. + # + # source://rbs//lib/rbs/ancestor_graph.rb#9 + def ancestor_builder; end + + # source://rbs//lib/rbs/ancestor_graph.rb#19 + def build; end + + # source://rbs//lib/rbs/ancestor_graph.rb#32 + def build_ancestors(node, ancestors); end + + # Returns the value of attribute children. + # + # source://rbs//lib/rbs/ancestor_graph.rb#11 + def children; end + + # source://rbs//lib/rbs/ancestor_graph.rb#64 + def each_ancestor(node, yielded: T.unsafe(nil), &block); end + + # source://rbs//lib/rbs/ancestor_graph.rb#56 + def each_child(node, &block); end + + # source://rbs//lib/rbs/ancestor_graph.rb#78 + def each_descendant(node, yielded: T.unsafe(nil), &block); end + + # source://rbs//lib/rbs/ancestor_graph.rb#48 + def each_parent(node, &block); end + + # Returns the value of attribute env. + # + # source://rbs//lib/rbs/ancestor_graph.rb#8 + def env; end + + # Returns the value of attribute parents. + # + # source://rbs//lib/rbs/ancestor_graph.rb#10 + def parents; end + + # source://rbs//lib/rbs/ancestor_graph.rb#43 + def register(parent:, child:); end +end + +# source://rbs//lib/rbs/ancestor_graph.rb#5 +class RBS::AncestorGraph::InstanceNode < ::Struct + def type_name; end + def type_name=(_); end + + class << self + def [](*_arg0); end + def inspect; end + def keyword_init?; end + def members; end + def new(*_arg0); end + end +end + +# source://rbs//lib/rbs/ancestor_graph.rb#6 +class RBS::AncestorGraph::SingletonNode < ::Struct + def type_name; end + def type_name=(_); end + + class << self + def [](*_arg0); end + def inspect; end + def keyword_init?; end + def members; end + def new(*_arg0); end + end +end + +# source://rbs//lib/rbs/errors.rb#19 +class RBS::BaseError < ::StandardError; end + +# source://rbs//lib/rbs/buffer.rb#4 +class RBS::Buffer + # @return [Buffer] a new instance of Buffer + # + # source://rbs//lib/rbs/buffer.rb#8 + def initialize(name:, content:); end + + # Returns the value of attribute content. + # + # source://rbs//lib/rbs/buffer.rb#6 + def content; end + + # source://rbs//lib/rbs/buffer.rb#58 + def inspect; end + + # source://rbs//lib/rbs/buffer.rb#54 + def last_position; end + + # source://rbs//lib/rbs/buffer.rb#13 + def lines; end + + # source://rbs//lib/rbs/buffer.rb#44 + def loc_to_pos(loc); end + + # Returns the value of attribute name. + # + # source://rbs//lib/rbs/buffer.rb#5 + def name; end + + # source://rbs//lib/rbs/buffer.rb#32 + def pos_to_loc(pos); end + + # source://rbs//lib/rbs/buffer.rb#17 + def ranges; end +end + +# source://rbs//lib/rbs/builtin_names.rb#4 +module RBS::BuiltinNames; end + +# source://rbs//lib/rbs/builtin_names.rb#45 +RBS::BuiltinNames::Array = T.let(T.unsafe(nil), RBS::BuiltinNames::Name) + +# source://rbs//lib/rbs/builtin_names.rb#37 +RBS::BuiltinNames::BasicObject = T.let(T.unsafe(nil), RBS::BuiltinNames::Name) + +# source://rbs//lib/rbs/builtin_names.rb#43 +RBS::BuiltinNames::Class = T.let(T.unsafe(nil), RBS::BuiltinNames::Name) + +# source://rbs//lib/rbs/builtin_names.rb#41 +RBS::BuiltinNames::Comparable = T.let(T.unsafe(nil), RBS::BuiltinNames::Name) + +# source://rbs//lib/rbs/builtin_names.rb#42 +RBS::BuiltinNames::Enumerable = T.let(T.unsafe(nil), RBS::BuiltinNames::Name) + +# source://rbs//lib/rbs/builtin_names.rb#48 +RBS::BuiltinNames::Enumerator = T.let(T.unsafe(nil), RBS::BuiltinNames::Name) + +# source://rbs//lib/rbs/builtin_names.rb#55 +RBS::BuiltinNames::FalseClass = T.let(T.unsafe(nil), RBS::BuiltinNames::Name) + +# source://rbs//lib/rbs/builtin_names.rb#52 +RBS::BuiltinNames::Float = T.let(T.unsafe(nil), RBS::BuiltinNames::Name) + +# source://rbs//lib/rbs/builtin_names.rb#46 +RBS::BuiltinNames::Hash = T.let(T.unsafe(nil), RBS::BuiltinNames::Name) + +# source://rbs//lib/rbs/builtin_names.rb#51 +RBS::BuiltinNames::Integer = T.let(T.unsafe(nil), RBS::BuiltinNames::Name) + +# source://rbs//lib/rbs/builtin_names.rb#39 +RBS::BuiltinNames::Kernel = T.let(T.unsafe(nil), RBS::BuiltinNames::Name) + +# source://rbs//lib/rbs/builtin_names.rb#44 +RBS::BuiltinNames::Module = T.let(T.unsafe(nil), RBS::BuiltinNames::Name) + +# source://rbs//lib/rbs/builtin_names.rb#5 +class RBS::BuiltinNames::Name + # @return [Name] a new instance of Name + # + # source://rbs//lib/rbs/builtin_names.rb#8 + def initialize(name:); end + + # source://rbs//lib/rbs/builtin_names.rb#16 + def instance_type(*args); end + + # @return [Boolean] + # + # source://rbs//lib/rbs/builtin_names.rb#20 + def instance_type?(type); end + + # Returns the value of attribute name. + # + # source://rbs//lib/rbs/builtin_names.rb#6 + def name; end + + # source://rbs//lib/rbs/builtin_names.rb#24 + def singleton_type; end + + # @return [Boolean] + # + # source://rbs//lib/rbs/builtin_names.rb#28 + def singleton_type?(type); end + + # source://rbs//lib/rbs/builtin_names.rb#12 + def to_s; end + + class << self + # source://rbs//lib/rbs/builtin_names.rb#32 + def define(name, namespace: T.unsafe(nil)); end + end +end + +# source://rbs//lib/rbs/builtin_names.rb#56 +RBS::BuiltinNames::Numeric = T.let(T.unsafe(nil), RBS::BuiltinNames::Name) + +# source://rbs//lib/rbs/builtin_names.rb#38 +RBS::BuiltinNames::Object = T.let(T.unsafe(nil), RBS::BuiltinNames::Name) + +# source://rbs//lib/rbs/builtin_names.rb#47 +RBS::BuiltinNames::Range = T.let(T.unsafe(nil), RBS::BuiltinNames::Name) + +# source://rbs//lib/rbs/builtin_names.rb#53 +RBS::BuiltinNames::Regexp = T.let(T.unsafe(nil), RBS::BuiltinNames::Name) + +# source://rbs//lib/rbs/builtin_names.rb#49 +RBS::BuiltinNames::Set = T.let(T.unsafe(nil), RBS::BuiltinNames::Name) + +# source://rbs//lib/rbs/builtin_names.rb#40 +RBS::BuiltinNames::String = T.let(T.unsafe(nil), RBS::BuiltinNames::Name) + +# source://rbs//lib/rbs/builtin_names.rb#50 +RBS::BuiltinNames::Symbol = T.let(T.unsafe(nil), RBS::BuiltinNames::Name) + +# source://rbs//lib/rbs/builtin_names.rb#54 +RBS::BuiltinNames::TrueClass = T.let(T.unsafe(nil), RBS::BuiltinNames::Name) + +# source://rbs//lib/rbs/cli/colored_io.rb#4 +class RBS::CLI; end + +# source://rbs//lib/rbs/cli/colored_io.rb#5 +class RBS::CLI::ColoredIO + # @return [ColoredIO] a new instance of ColoredIO + # + # source://rbs//lib/rbs/cli/colored_io.rb#8 + def initialize(stdout:); end + + # source://rbs//lib/rbs/cli/colored_io.rb#28 + def puts(*_arg0, **_arg1, &_arg2); end + + # source://rbs//lib/rbs/cli/colored_io.rb#20 + def puts_green(string); end + + # source://rbs//lib/rbs/cli/colored_io.rb#12 + def puts_red(string); end + + # Returns the value of attribute stdout. + # + # source://rbs//lib/rbs/cli/colored_io.rb#6 + def stdout; end + + private + + # @return [Boolean] + # + # source://rbs//lib/rbs/cli/colored_io.rb#43 + def are_colors_disabled?; end + + # @return [Boolean] + # + # source://rbs//lib/rbs/cli/colored_io.rb#39 + def are_colors_supported?; end + + # https://github.com/rubygems/rubygems/blob/ed65279100234a17d65d71fe26de5083984ac5b8/bundler/lib/bundler/vendor/thor/lib/thor/shell/color.rb#L99-L109 + # + # @return [Boolean] + # + # source://rbs//lib/rbs/cli/colored_io.rb#35 + def can_display_colors?; end +end + +# source://rbs//lib/rbs/collection/sources/base.rb#4 +module RBS::Collection; end + +# source://rbs//lib/rbs/collection/cleaner.rb#5 +class RBS::Collection::Cleaner + # @return [Cleaner] a new instance of Cleaner + # + # source://rbs//lib/rbs/collection/cleaner.rb#8 + def initialize(lockfile_path:); end + + # source://rbs//lib/rbs/collection/cleaner.rb#12 + def clean; end + + # Returns the value of attribute lock. + # + # source://rbs//lib/rbs/collection/cleaner.rb#6 + def lock; end + + # @return [Boolean] + # + # source://rbs//lib/rbs/collection/cleaner.rb#30 + def needed?(gem_name, version); end +end + +# This class represent the configuration file. +# +# source://rbs//lib/rbs/collection/config.rb#7 +class RBS::Collection::Config + # @return [Config] a new instance of Config + # + # source://rbs//lib/rbs/collection/config.rb#49 + def initialize(data, config_path:); end + + # Returns the value of attribute config_path. + # + # source://rbs//lib/rbs/collection/config.rb#19 + def config_path; end + + # Returns the value of attribute data. + # + # source://rbs//lib/rbs/collection/config.rb#19 + def data; end + + # source://rbs//lib/rbs/collection/config.rb#54 + def gem(gem_name); end + + # source://rbs//lib/rbs/collection/config.rb#74 + def gems; end + + # source://rbs//lib/rbs/collection/config.rb#58 + def repo_path; end + + # source://rbs//lib/rbs/collection/config.rb#62 + def repo_path_data; end + + # source://rbs//lib/rbs/collection/config.rb#66 + def sources; end + + class << self + # source://rbs//lib/rbs/collection/config.rb#21 + def find_config_path; end + + # source://rbs//lib/rbs/collection/config.rb#41 + def from_path(path); end + + # Generate a rbs lockfile from Gemfile.lock to `config_path`. + # If `with_lockfile` is true, it respects existing rbs lockfile. + # + # source://rbs//lib/rbs/collection/config.rb#34 + def generate_lockfile(config_path:, definition:, with_lockfile: T.unsafe(nil)); end + + # source://rbs//lib/rbs/collection/config.rb#45 + def to_lockfile_path(config_path); end + end +end + +# source://rbs//lib/rbs/collection/config.rb#8 +class RBS::Collection::Config::CollectionNotAvailable < ::StandardError + # @return [CollectionNotAvailable] a new instance of CollectionNotAvailable + # + # source://rbs//lib/rbs/collection/config.rb#9 + def initialize; end +end + +# source://rbs//lib/rbs/collection/config/lockfile.rb#6 +class RBS::Collection::Config::Lockfile + # @return [Lockfile] a new instance of Lockfile + # + # source://rbs//lib/rbs/collection/config/lockfile.rb#9 + def initialize(lockfile_path:, path:, gemfile_lock_path:); end + + # @raise [CollectionNotAvailable] + # + # source://rbs//lib/rbs/collection/config/lockfile.rb#73 + def check_rbs_availability!; end + + # source://rbs//lib/rbs/collection/config/lockfile.rb#18 + def fullpath; end + + # source://rbs//lib/rbs/collection/config/lockfile.rb#22 + def gemfile_lock_fullpath; end + + # Returns the value of attribute gemfile_lock_path. + # + # source://rbs//lib/rbs/collection/config/lockfile.rb#7 + def gemfile_lock_path; end + + # Returns the value of attribute gems. + # + # source://rbs//lib/rbs/collection/config/lockfile.rb#7 + def gems; end + + # source://rbs//lib/rbs/collection/config/lockfile.rb#65 + def library_data(lib); end + + # Returns the value of attribute lockfile_dir. + # + # source://rbs//lib/rbs/collection/config/lockfile.rb#7 + def lockfile_dir; end + + # Returns the value of attribute lockfile_path. + # + # source://rbs//lib/rbs/collection/config/lockfile.rb#7 + def lockfile_path; end + + # Returns the value of attribute path. + # + # source://rbs//lib/rbs/collection/config/lockfile.rb#7 + def path; end + + # Returns the value of attribute sources. + # + # source://rbs//lib/rbs/collection/config/lockfile.rb#7 + def sources; end + + # source://rbs//lib/rbs/collection/config/lockfile.rb#28 + def to_lockfile; end + + class << self + # source://rbs//lib/rbs/collection/config/lockfile.rb#42 + def from_lockfile(lockfile_path:, data:); end + end +end + +# source://rbs//lib/rbs/collection/config/lockfile_generator.rb#6 +class RBS::Collection::Config::LockfileGenerator + # @return [LockfileGenerator] a new instance of LockfileGenerator + # + # source://rbs//lib/rbs/collection/config/lockfile_generator.rb#31 + def initialize(config:, definition:, with_lockfile:); end + + # Returns the value of attribute config. + # + # source://rbs//lib/rbs/collection/config/lockfile_generator.rb#23 + def config; end + + # Returns the value of attribute definition. + # + # source://rbs//lib/rbs/collection/config/lockfile_generator.rb#23 + def definition; end + + # Returns the value of attribute existing_lockfile. + # + # source://rbs//lib/rbs/collection/config/lockfile_generator.rb#23 + def existing_lockfile; end + + # Returns the value of attribute gem_entries. + # + # source://rbs//lib/rbs/collection/config/lockfile_generator.rb#23 + def gem_entries; end + + # Returns the value of attribute gem_hash. + # + # source://rbs//lib/rbs/collection/config/lockfile_generator.rb#23 + def gem_hash; end + + # source://rbs//lib/rbs/collection/config/lockfile_generator.rb#59 + def generate; end + + # Returns the value of attribute lockfile. + # + # source://rbs//lib/rbs/collection/config/lockfile_generator.rb#23 + def lockfile; end + + private + + # source://rbs//lib/rbs/collection/config/lockfile_generator.rb#91 + def assign_gem(name:, version:, skip: T.unsafe(nil)); end + + # source://rbs//lib/rbs/collection/config/lockfile_generator.rb#152 + def assign_stdlib(name:, from_gem:); end + + # source://rbs//lib/rbs/collection/config/lockfile_generator.rb#184 + def find_best_version(version:, versions:); end + + # source://rbs//lib/rbs/collection/config/lockfile_generator.rb#178 + def find_source(name:); end + + # source://rbs//lib/rbs/collection/config/lockfile_generator.rb#83 + def validate_gemfile_lock_path!(lock:, gemfile_lock_path:); end + + class << self + # source://rbs//lib/rbs/collection/config/lockfile_generator.rb#25 + def generate(config:, definition:, with_lockfile: T.unsafe(nil)); end + end +end + +# source://rbs//lib/rbs/collection/config/lockfile_generator.rb#7 +class RBS::Collection::Config::LockfileGenerator::GemfileLockMismatchError < ::StandardError + # @return [GemfileLockMismatchError] a new instance of GemfileLockMismatchError + # + # source://rbs//lib/rbs/collection/config/lockfile_generator.rb#8 + def initialize(expected:, actual:); end + + # source://rbs//lib/rbs/collection/config/lockfile_generator.rb#13 + def message; end +end + +# source://rbs//lib/rbs/collection/config.rb#17 +RBS::Collection::Config::PATH = T.let(T.unsafe(nil), Pathname) + +# source://rbs//lib/rbs/collection/installer.rb#5 +class RBS::Collection::Installer + # @return [Installer] a new instance of Installer + # + # source://rbs//lib/rbs/collection/installer.rb#9 + def initialize(lockfile_path:, stdout: T.unsafe(nil)); end + + # source://rbs//lib/rbs/collection/installer.rb#14 + def install_from_lockfile; end + + # Returns the value of attribute lockfile. + # + # source://rbs//lib/rbs/collection/installer.rb#6 + def lockfile; end + + # Returns the value of attribute stdout. + # + # source://rbs//lib/rbs/collection/installer.rb#7 + def stdout; end +end + +# source://rbs//lib/rbs/collection/sources/base.rb#5 +module RBS::Collection::Sources + class << self + # source://rbs//lib/rbs/collection/sources.rb#12 + def from_config_entry(source_entry, base_directory:); end + end +end + +# source://rbs//lib/rbs/collection/sources/base.rb#6 +module RBS::Collection::Sources::Base + # source://rbs//lib/rbs/collection/sources/base.rb#7 + def dependencies_of(name, version); end +end + +# source://rbs//lib/rbs/collection/sources/git.rb#10 +class RBS::Collection::Sources::Git + include ::RBS::Collection::Sources::Base + + # @return [Git] a new instance of Git + # + # source://rbs//lib/rbs/collection/sources/git.rb#18 + def initialize(name:, revision:, remote:, repo_dir:); end + + # @return [Boolean] + # + # source://rbs//lib/rbs/collection/sources/git.rb#26 + def has?(name, version); end + + # source://rbs//lib/rbs/collection/sources/git.rb#43 + def install(dest:, name:, version:, stdout:); end + + # source://rbs//lib/rbs/collection/sources/git.rb#228 + def load_metadata(dir:); end + + # source://rbs//lib/rbs/collection/sources/git.rb#73 + def manifest_of(name, version); end + + # source://rbs//lib/rbs/collection/sources/git.rb#212 + def metadata_content(name:, version:); end + + # Returns the value of attribute name. + # + # source://rbs//lib/rbs/collection/sources/git.rb#16 + def name; end + + # Returns the value of attribute remote. + # + # source://rbs//lib/rbs/collection/sources/git.rb#16 + def remote; end + + # Returns the value of attribute repo_dir. + # + # source://rbs//lib/rbs/collection/sources/git.rb#16 + def repo_dir; end + + # source://rbs//lib/rbs/collection/sources/git.rb#177 + def resolved_revision; end + + # Returns the value of attribute revision. + # + # source://rbs//lib/rbs/collection/sources/git.rb#16 + def revision; end + + # source://rbs//lib/rbs/collection/sources/git.rb#113 + def to_lockfile; end + + # source://rbs//lib/rbs/collection/sources/git.rb#36 + def versions(name); end + + # source://rbs//lib/rbs/collection/sources/git.rb#220 + def write_metadata(dir:, name:, version:); end + + private + + # source://rbs//lib/rbs/collection/sources/git.rb#87 + def _install(dest:, name:, version:); end + + # @return [Boolean] + # + # source://rbs//lib/rbs/collection/sources/git.rb#188 + def commit_hash?; end + + # source://rbs//lib/rbs/collection/sources/git.rb#99 + def cp_r(src, dest); end + + # source://rbs//lib/rbs/collection/sources/git.rb#123 + def format_config_entry(name, version); end + + # source://rbs//lib/rbs/collection/sources/git.rb#173 + def gem_repo_dir; end + + # source://rbs//lib/rbs/collection/sources/git.rb#234 + def gems_versions; end + + # source://rbs//lib/rbs/collection/sources/git.rb#192 + def git(*cmd, **opt); end + + # @return [Boolean] + # + # source://rbs//lib/rbs/collection/sources/git.rb#196 + def git?(*cmd, **opt); end + + # source://rbs//lib/rbs/collection/sources/git.rb#163 + def git_dir; end + + # @return [Boolean] + # + # source://rbs//lib/rbs/collection/sources/git.rb#152 + def need_to_fetch?(revision); end + + # source://rbs//lib/rbs/collection/sources/git.rb#130 + def setup!; end + + # source://rbs//lib/rbs/collection/sources/git.rb#202 + def sh!(*cmd, **opt); end +end + +# source://rbs//lib/rbs/collection/sources/git.rb#14 +class RBS::Collection::Sources::Git::CommandError < ::StandardError; end + +# source://rbs//lib/rbs/collection/sources/git.rb#12 +RBS::Collection::Sources::Git::METADATA_FILENAME = T.let(T.unsafe(nil), String) + +# source://rbs//lib/rbs/collection/sources/local.rb#6 +class RBS::Collection::Sources::Local + include ::RBS::Collection::Sources::Base + + # @return [Local] a new instance of Local + # + # source://rbs//lib/rbs/collection/sources/local.rb#11 + def initialize(path:, base_directory:); end + + # Returns the value of attribute full_path. + # + # source://rbs//lib/rbs/collection/sources/local.rb#9 + def full_path; end + + # @return [Boolean] + # + # source://rbs//lib/rbs/collection/sources/local.rb#17 + def has?(name, version); end + + # Create a symlink instead of copying file to refer files in @path. + # By avoiding copying RBS files, the users do not need re-run `rbs collection install` + # when the RBS files are updated. + # + # source://rbs//lib/rbs/collection/sources/local.rb#32 + def install(dest:, name:, version:, stdout:); end + + # source://rbs//lib/rbs/collection/sources/local.rb#64 + def manifest_of(name, version); end + + # Returns the value of attribute path. + # + # source://rbs//lib/rbs/collection/sources/local.rb#9 + def path; end + + # source://rbs//lib/rbs/collection/sources/local.rb#72 + def to_lockfile; end + + # source://rbs//lib/rbs/collection/sources/local.rb#25 + def versions(name); end + + private + + # source://rbs//lib/rbs/collection/sources/local.rb#59 + def _install(src, dst); end +end + +# Signatures that are inclduded in gem package as sig/ directory. +# +# source://rbs//lib/rbs/collection/sources/rubygems.rb#9 +class RBS::Collection::Sources::Rubygems + include ::RBS::Collection::Sources::Base + include ::Singleton + extend ::Singleton::SingletonClassMethods + + # @return [Boolean] + # + # source://rbs//lib/rbs/collection/sources/rubygems.rb#13 + def has?(name, version); end + + # source://rbs//lib/rbs/collection/sources/rubygems.rb#23 + def install(dest:, name:, version:, stdout:); end + + # source://rbs//lib/rbs/collection/sources/rubygems.rb#29 + def manifest_of(name, version); end + + # source://rbs//lib/rbs/collection/sources/rubygems.rb#36 + def to_lockfile; end + + # source://rbs//lib/rbs/collection/sources/rubygems.rb#17 + def versions(name); end + + private + + # source://rbs//lib/rbs/collection/sources/rubygems.rb#42 + def gem_sig_path(name, version); end + + class << self + private + + def allocate; end + def new(*_arg0); end + end +end + +# signatures that are bundled in rbs gem under the stdlib/ directory +# +# source://rbs//lib/rbs/collection/sources/stdlib.rb#9 +class RBS::Collection::Sources::Stdlib + include ::RBS::Collection::Sources::Base + include ::Singleton + extend ::Singleton::SingletonClassMethods + + # @return [Boolean] + # + # source://rbs//lib/rbs/collection/sources/stdlib.rb#15 + def has?(name, version); end + + # source://rbs//lib/rbs/collection/sources/stdlib.rb#23 + def install(dest:, name:, version:, stdout:); end + + # source://rbs//lib/rbs/collection/sources/stdlib.rb#29 + def manifest_of(name, version); end + + # source://rbs//lib/rbs/collection/sources/stdlib.rb#38 + def to_lockfile; end + + # source://rbs//lib/rbs/collection/sources/stdlib.rb#19 + def versions(name); end + + private + + # source://rbs//lib/rbs/collection/sources/stdlib.rb#44 + def lookup(name, version); end + + class << self + private + + def allocate; end + def new(*_arg0); end + end +end + +# source://rbs//lib/rbs/collection/sources/stdlib.rb#13 +RBS::Collection::Sources::Stdlib::REPO = T.let(T.unsafe(nil), RBS::Repository) + +# source://rbs//lib/rbs/constant.rb#4 +class RBS::Constant + # @return [Constant] a new instance of Constant + # + # source://rbs//lib/rbs/constant.rb#9 + def initialize(name:, type:, entry:); end + + # source://rbs//lib/rbs/constant.rb#15 + def ==(other); end + + # Returns the value of attribute entry. + # + # source://rbs//lib/rbs/constant.rb#7 + def entry; end + + # source://rbs//lib/rbs/constant.rb#15 + def eql?(other); end + + # source://rbs//lib/rbs/constant.rb#24 + def hash; end + + # Returns the value of attribute name. + # + # source://rbs//lib/rbs/constant.rb#5 + def name; end + + # Returns the value of attribute type. + # + # source://rbs//lib/rbs/constant.rb#6 + def type; end +end + +# source://rbs//lib/rbs/errors.rb#545 +class RBS::CyclicClassAliasDefinitionError < ::RBS::BaseError + include ::RBS::DetailedMessageable + + # @return [CyclicClassAliasDefinitionError] a new instance of CyclicClassAliasDefinitionError + # + # source://rbs//lib/rbs/errors.rb#550 + def initialize(entry); end + + # Returns the value of attribute alias_entry. + # + # source://rbs//lib/rbs/errors.rb#548 + def alias_entry; end + + # source://rbs//lib/rbs/errors.rb#556 + def location; end +end + +# source://rbs//lib/rbs/errors.rb#506 +class RBS::CyclicTypeParameterBound < ::RBS::BaseError + include ::RBS::DetailedMessageable + + # @return [CyclicTypeParameterBound] a new instance of CyclicTypeParameterBound + # + # source://rbs//lib/rbs/errors.rb#511 + def initialize(type_name:, method_name:, params:, location:); end + + # Returns the value of attribute location. + # + # source://rbs//lib/rbs/errors.rb#509 + def location; end + + # Returns the value of attribute method_name. + # + # source://rbs//lib/rbs/errors.rb#509 + def method_name; end + + # Returns the value of attribute params. + # + # source://rbs//lib/rbs/errors.rb#509 + def params; end + + # Returns the value of attribute type_name. + # + # source://rbs//lib/rbs/errors.rb#509 + def type_name; end +end + +# source://rbs//lib/rbs/definition.rb#4 +class RBS::Definition + # @return [Definition] a new instance of Definition + # + # source://rbs//lib/rbs/definition.rb#287 + def initialize(type_name:, entry:, self_type:, ancestors:); end + + # Returns the value of attribute ancestors. + # + # source://rbs//lib/rbs/definition.rb#281 + def ancestors; end + + # @return [Boolean] + # + # source://rbs//lib/rbs/definition.rb#310 + def class?; end + + # @return [Boolean] + # + # source://rbs//lib/rbs/definition.rb#327 + def class_type?; end + + # Returns the value of attribute class_variables. + # + # source://rbs//lib/rbs/definition.rb#285 + def class_variables; end + + # source://rbs//lib/rbs/definition.rb#372 + def each_type(&block); end + + # Returns the value of attribute entry. + # + # source://rbs//lib/rbs/definition.rb#280 + def entry; end + + # @return [Boolean] + # + # source://rbs//lib/rbs/definition.rb#331 + def instance_type?; end + + # Returns the value of attribute instance_variables. + # + # source://rbs//lib/rbs/definition.rb#284 + def instance_variables; end + + # @return [Boolean] + # + # source://rbs//lib/rbs/definition.rb#318 + def interface?; end + + # @return [Boolean] + # + # source://rbs//lib/rbs/definition.rb#335 + def interface_type?; end + + # source://rbs//lib/rbs/definition.rb#362 + def map_method_type(&block); end + + # Returns the value of attribute methods. + # + # source://rbs//lib/rbs/definition.rb#283 + def methods; end + + # @return [Boolean] + # + # source://rbs//lib/rbs/definition.rb#314 + def module?; end + + # Returns the value of attribute self_type. + # + # source://rbs//lib/rbs/definition.rb#282 + def self_type; end + + # source://rbs//lib/rbs/definition.rb#352 + def sub(s); end + + # Returns the value of attribute type_name. + # + # source://rbs//lib/rbs/definition.rb#279 + def type_name; end + + # source://rbs//lib/rbs/definition.rb#339 + def type_params; end + + # source://rbs//lib/rbs/definition.rb#343 + def type_params_decl; end +end + +# source://rbs//lib/rbs/definition.rb#189 +module RBS::Definition::Ancestor; end + +# source://rbs//lib/rbs/definition.rb#190 +class RBS::Definition::Ancestor::Instance + # @return [Instance] a new instance of Instance + # + # source://rbs//lib/rbs/definition.rb#193 + def initialize(name:, args:, source:); end + + # source://rbs//lib/rbs/definition.rb#199 + def ==(other); end + + # Returns the value of attribute args. + # + # source://rbs//lib/rbs/definition.rb#191 + def args; end + + # source://rbs//lib/rbs/definition.rb#199 + def eql?(other); end + + # source://rbs//lib/rbs/definition.rb#205 + def hash; end + + # Returns the value of attribute name. + # + # source://rbs//lib/rbs/definition.rb#191 + def name; end + + # Returns the value of attribute source. + # + # source://rbs//lib/rbs/definition.rb#191 + def source; end +end + +# source://rbs//lib/rbs/definition.rb#210 +class RBS::Definition::Ancestor::Singleton + # @return [Singleton] a new instance of Singleton + # + # source://rbs//lib/rbs/definition.rb#213 + def initialize(name:); end + + # source://rbs//lib/rbs/definition.rb#217 + def ==(other); end + + # source://rbs//lib/rbs/definition.rb#217 + def eql?(other); end + + # source://rbs//lib/rbs/definition.rb#223 + def hash; end + + # Returns the value of attribute name. + # + # source://rbs//lib/rbs/definition.rb#211 + def name; end +end + +# source://rbs//lib/rbs/definition.rb#229 +class RBS::Definition::InstanceAncestors + # @return [InstanceAncestors] a new instance of InstanceAncestors + # + # source://rbs//lib/rbs/definition.rb#234 + def initialize(type_name:, params:, ancestors:); end + + # Returns the value of attribute ancestors. + # + # source://rbs//lib/rbs/definition.rb#232 + def ancestors; end + + # source://rbs//lib/rbs/definition.rb#240 + def apply(args, location:); end + + # Returns the value of attribute params. + # + # source://rbs//lib/rbs/definition.rb#231 + def params; end + + # Returns the value of attribute type_name. + # + # source://rbs//lib/rbs/definition.rb#230 + def type_name; end +end + +# source://rbs//lib/rbs/definition.rb#25 +class RBS::Definition::Method + # @return [Method] a new instance of Method + # + # source://rbs//lib/rbs/definition.rb#81 + def initialize(super_method:, defs:, accessibility:, alias_of:, annotations: T.unsafe(nil)); end + + # source://rbs//lib/rbs/definition.rb#89 + def ==(other); end + + # Returns the value of attribute accessibility. + # + # source://rbs//lib/rbs/definition.rb#77 + def accessibility; end + + # Returns the value of attribute alias_of. + # + # source://rbs//lib/rbs/definition.rb#79 + def alias_of; end + + # source://rbs//lib/rbs/definition.rb#126 + def annotations; end + + # source://rbs//lib/rbs/definition.rb#122 + def comments; end + + # source://rbs//lib/rbs/definition.rb#104 + def defined_in; end + + # Returns the value of attribute defs. + # + # source://rbs//lib/rbs/definition.rb#76 + def defs; end + + # source://rbs//lib/rbs/definition.rb#89 + def eql?(other); end + + # Returns the value of attribute extra_annotations. + # + # source://rbs//lib/rbs/definition.rb#78 + def extra_annotations; end + + # source://rbs//lib/rbs/definition.rb#100 + def hash; end + + # source://rbs//lib/rbs/definition.rb#111 + def implemented_in; end + + # source://rbs//lib/rbs/definition.rb#169 + def map_method_type(&block); end + + # source://rbs//lib/rbs/definition.rb#151 + def map_type(&block); end + + # source://rbs//lib/rbs/definition.rb#160 + def map_type_bound(&block); end + + # source://rbs//lib/rbs/definition.rb#130 + def members; end + + # source://rbs//lib/rbs/definition.rb#118 + def method_types; end + + # @return [Boolean] + # + # source://rbs//lib/rbs/definition.rb#138 + def private?; end + + # @return [Boolean] + # + # source://rbs//lib/rbs/definition.rb#134 + def public?; end + + # source://rbs//lib/rbs/definition.rb#142 + def sub(s); end + + # Returns the value of attribute super_method. + # + # source://rbs//lib/rbs/definition.rb#75 + def super_method; end + + # source://rbs//lib/rbs/definition.rb#178 + def update(super_method: T.unsafe(nil), defs: T.unsafe(nil), accessibility: T.unsafe(nil), alias_of: T.unsafe(nil), annotations: T.unsafe(nil)); end +end + +# source://rbs//lib/rbs/definition.rb#26 +class RBS::Definition::Method::TypeDef + # @return [TypeDef] a new instance of TypeDef + # + # source://rbs//lib/rbs/definition.rb#32 + def initialize(type:, member:, defined_in:, implemented_in:); end + + # source://rbs//lib/rbs/definition.rb#39 + def ==(other); end + + # source://rbs//lib/rbs/definition.rb#57 + def annotations; end + + # source://rbs//lib/rbs/definition.rb#53 + def comment; end + + # Returns the value of attribute defined_in. + # + # source://rbs//lib/rbs/definition.rb#29 + def defined_in; end + + # source://rbs//lib/rbs/definition.rb#39 + def eql?(other); end + + # source://rbs//lib/rbs/definition.rb#49 + def hash; end + + # Returns the value of attribute implemented_in. + # + # source://rbs//lib/rbs/definition.rb#30 + def implemented_in; end + + # Returns the value of attribute member. + # + # source://rbs//lib/rbs/definition.rb#28 + def member; end + + # @return [Boolean] + # + # source://rbs//lib/rbs/definition.rb#65 + def overload?; end + + # Returns the value of attribute type. + # + # source://rbs//lib/rbs/definition.rb#27 + def type; end + + # source://rbs//lib/rbs/definition.rb#61 + def update(type: T.unsafe(nil), member: T.unsafe(nil), defined_in: T.unsafe(nil), implemented_in: T.unsafe(nil)); end +end + +# source://rbs//lib/rbs/definition.rb#269 +class RBS::Definition::SingletonAncestors + # @return [SingletonAncestors] a new instance of SingletonAncestors + # + # source://rbs//lib/rbs/definition.rb#273 + def initialize(type_name:, ancestors:); end + + # Returns the value of attribute ancestors. + # + # source://rbs//lib/rbs/definition.rb#271 + def ancestors; end + + # Returns the value of attribute type_name. + # + # source://rbs//lib/rbs/definition.rb#270 + def type_name; end +end + +# source://rbs//lib/rbs/definition.rb#5 +class RBS::Definition::Variable + # @return [Variable] a new instance of Variable + # + # source://rbs//lib/rbs/definition.rb#10 + def initialize(parent_variable:, type:, declared_in:); end + + # Returns the value of attribute declared_in. + # + # source://rbs//lib/rbs/definition.rb#8 + def declared_in; end + + # Returns the value of attribute parent_variable. + # + # source://rbs//lib/rbs/definition.rb#6 + def parent_variable; end + + # source://rbs//lib/rbs/definition.rb#16 + def sub(s); end + + # Returns the value of attribute type. + # + # source://rbs//lib/rbs/definition.rb#7 + def type; end +end + +# source://rbs//lib/rbs/definition_builder.rb#4 +class RBS::DefinitionBuilder + # @return [DefinitionBuilder] a new instance of DefinitionBuilder + # + # source://rbs//lib/rbs/definition_builder.rb#14 + def initialize(env:, ancestor_builder: T.unsafe(nil), method_builder: T.unsafe(nil)); end + + # Returns the value of attribute ancestor_builder. + # + # source://rbs//lib/rbs/definition_builder.rb#6 + def ancestor_builder; end + + # source://rbs//lib/rbs/definition_builder.rb#155 + def build_instance(type_name); end + + # source://rbs//lib/rbs/definition_builder.rb#43 + def build_interface(type_name); end + + # source://rbs//lib/rbs/definition_builder.rb#288 + def build_singleton(type_name); end + + # Builds a definition for singleton without .new method. + # + # source://rbs//lib/rbs/definition_builder.rb#217 + def build_singleton0(type_name); end + + # source://rbs//lib/rbs/definition_builder.rb#85 + def define_instance(definition, type_name, subst); end + + # source://rbs//lib/rbs/definition_builder.rb#33 + def define_interface(definition, type_name, subst); end + + # source://rbs//lib/rbs/definition_builder.rb#590 + def define_method(methods, definition, method, subst, defined_in:, implemented_in: T.unsafe(nil)); end + + # source://rbs//lib/rbs/definition_builder.rb#25 + def ensure_namespace!(namespace, location:); end + + # Returns the value of attribute env. + # + # source://rbs//lib/rbs/definition_builder.rb#5 + def env; end + + # source://rbs//lib/rbs/definition_builder.rb#751 + def expand_alias(type_name); end + + # source://rbs//lib/rbs/definition_builder.rb#755 + def expand_alias1(type_name); end + + # source://rbs//lib/rbs/definition_builder.rb#762 + def expand_alias2(type_name, args); end + + # source://rbs//lib/rbs/definition_builder.rb#532 + def import_methods(definition, module_name, module_methods, interfaces_methods, subst); end + + # source://rbs//lib/rbs/definition_builder.rb#524 + def insert_variable(type_name, variables, name:, type:); end + + # Returns the value of attribute instance_cache. + # + # source://rbs//lib/rbs/definition_builder.rb#9 + def instance_cache; end + + # Returns the value of attribute interface_cache. + # + # source://rbs//lib/rbs/definition_builder.rb#12 + def interface_cache; end + + # source://rbs//lib/rbs/definition_builder.rb#398 + def interface_methods(interface_ancestors); end + + # Returns the value of attribute method_builder. + # + # source://rbs//lib/rbs/definition_builder.rb#7 + def method_builder; end + + # Returns the value of attribute singleton0_cache. + # + # source://rbs//lib/rbs/definition_builder.rb#11 + def singleton0_cache; end + + # Returns the value of attribute singleton_cache. + # + # source://rbs//lib/rbs/definition_builder.rb#10 + def singleton_cache; end + + # source://rbs//lib/rbs/definition_builder.rb#428 + def source_location(source, decl); end + + # source://rbs//lib/rbs/definition_builder.rb#66 + def tapp_subst(name, args); end + + # source://rbs//lib/rbs/definition_builder.rb#747 + def try_cache(type_name, cache:); end + + # source://rbs//lib/rbs/definition_builder.rb#786 + def update(env:, except:, ancestor_builder:); end + + # source://rbs//lib/rbs/definition_builder.rb#418 + def validate_params_with(type_params, result:); end + + # @raise [NoTypeFoundError] + # + # source://rbs//lib/rbs/definition_builder.rb#815 + def validate_type_name(name, location); end + + # source://rbs//lib/rbs/definition_builder.rb#442 + def validate_type_params(definition, ancestors:, methods:); end + + # source://rbs//lib/rbs/definition_builder.rb#804 + def validate_type_presence(type); end +end + +# source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#5 +class RBS::DefinitionBuilder::AncestorBuilder + # @return [AncestorBuilder] a new instance of AncestorBuilder + # + # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#162 + def initialize(env:); end + + # Returns the value of attribute env. + # + # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#151 + def env; end + + # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#564 + def fill_ancestor_source(ancestor, name:, source:, &block); end + + # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#408 + def instance_ancestors(type_name, building_ancestors: T.unsafe(nil)); end + + # Returns the value of attribute instance_ancestors_cache. + # + # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#154 + def instance_ancestors_cache; end + + # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#531 + def interface_ancestors(type_name, building_ancestors: T.unsafe(nil)); end + + # Returns the value of attribute interface_ancestors_cache. + # + # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#160 + def interface_ancestors_cache; end + + # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#388 + def mixin_ancestors(entry, type_name, included_modules:, included_interfaces:, extended_modules:, prepended_modules:, extended_interfaces:); end + + # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#337 + def mixin_ancestors0(decl, type_name, align_params:, included_modules:, included_interfaces:, extended_modules:, prepended_modules:, extended_interfaces:); end + + # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#192 + def one_instance_ancestors(type_name); end + + # Returns the value of attribute one_instance_ancestors_cache. + # + # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#153 + def one_instance_ancestors_cache; end + + # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#318 + def one_interface_ancestors(type_name); end + + # Returns the value of attribute one_interface_ancestors_cache. + # + # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#159 + def one_interface_ancestors_cache; end + + # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#264 + def one_singleton_ancestors(type_name); end + + # Returns the value of attribute one_singleton_ancestors_cache. + # + # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#156 + def one_singleton_ancestors_cache; end + + # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#481 + def singleton_ancestors(type_name, building_ancestors: T.unsafe(nil)); end + + # Returns the value of attribute singleton_ancestors_cache. + # + # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#157 + def singleton_ancestors_cache; end + + # @raise [SuperclassMismatchError] + # + # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#175 + def validate_super_class!(type_name, entry); end +end + +# source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#6 +class RBS::DefinitionBuilder::AncestorBuilder::OneAncestors + # @return [OneAncestors] a new instance of OneAncestors + # + # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#17 + def initialize(type_name:, params:, super_class:, self_types:, included_modules:, included_interfaces:, prepended_modules:, extended_modules:, extended_interfaces:); end + + # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#29 + def each_ancestor(&block); end + + # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#86 + def each_extended_interface(&block); end + + # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#78 + def each_extended_module(&block); end + + # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#62 + def each_included_interface(&block); end + + # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#54 + def each_included_module(&block); end + + # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#70 + def each_prepended_module(&block); end + + # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#46 + def each_self_type(&block); end + + # Returns the value of attribute extended_interfaces. + # + # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#15 + def extended_interfaces; end + + # Returns the value of attribute extended_modules. + # + # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#14 + def extended_modules; end + + # Returns the value of attribute included_interfaces. + # + # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#12 + def included_interfaces; end + + # Returns the value of attribute included_modules. + # + # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#11 + def included_modules; end + + # Returns the value of attribute params. + # + # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#8 + def params; end + + # Returns the value of attribute prepended_modules. + # + # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#13 + def prepended_modules; end + + # Returns the value of attribute self_types. + # + # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#10 + def self_types; end + + # Returns the value of attribute super_class. + # + # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#9 + def super_class; end + + # Returns the value of attribute type_name. + # + # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#7 + def type_name; end + + class << self + # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#94 + def class_instance(type_name:, params:, super_class:); end + + # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#136 + def interface(type_name:, params:); end + + # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#122 + def module_instance(type_name:, params:); end + + # source://rbs//lib/rbs/definition_builder/ancestor_builder.rb#108 + def singleton(type_name:, super_class:); end + end +end + +# source://rbs//lib/rbs/definition_builder/method_builder.rb#5 +class RBS::DefinitionBuilder::MethodBuilder + # @return [MethodBuilder] a new instance of MethodBuilder + # + # source://rbs//lib/rbs/definition_builder/method_builder.rb#91 + def initialize(env:); end + + # source://rbs//lib/rbs/definition_builder/method_builder.rb#194 + def build_alias(methods, type, member:); end + + # source://rbs//lib/rbs/definition_builder/method_builder.rb#199 + def build_attribute(methods, type, member:, accessibility:); end + + # source://rbs//lib/rbs/definition_builder/method_builder.rb#99 + def build_instance(type_name); end + + # source://rbs//lib/rbs/definition_builder/method_builder.rb#174 + def build_interface(type_name); end + + # source://rbs//lib/rbs/definition_builder/method_builder.rb#215 + def build_method(methods, type, member:, accessibility:); end + + # source://rbs//lib/rbs/definition_builder/method_builder.rb#145 + def build_singleton(type_name); end + + # source://rbs//lib/rbs/definition_builder/method_builder.rb#226 + def each_member_with_accessibility(members, accessibility: T.unsafe(nil)); end + + # Returns the value of attribute env. + # + # source://rbs//lib/rbs/definition_builder/method_builder.rb#86 + def env; end + + # Returns the value of attribute instance_methods. + # + # source://rbs//lib/rbs/definition_builder/method_builder.rb#87 + def instance_methods; end + + # Returns the value of attribute interface_methods. + # + # source://rbs//lib/rbs/definition_builder/method_builder.rb#89 + def interface_methods; end + + # Returns the value of attribute singleton_methods. + # + # source://rbs//lib/rbs/definition_builder/method_builder.rb#88 + def singleton_methods; end + + # source://rbs//lib/rbs/definition_builder/method_builder.rb#239 + def update(env:, except:); end +end + +# source://rbs//lib/rbs/definition_builder/method_builder.rb#6 +class RBS::DefinitionBuilder::MethodBuilder::Methods + # @return [Methods] a new instance of Methods + # + # source://rbs//lib/rbs/definition_builder/method_builder.rb#30 + def initialize(type:); end + + # source://rbs//lib/rbs/definition_builder/method_builder.rb#49 + def each; end + + # Returns the value of attribute methods. + # + # source://rbs//lib/rbs/definition_builder/method_builder.rb#28 + def methods; end + + # Returns the value of attribute type. + # + # source://rbs//lib/rbs/definition_builder/method_builder.rb#27 + def type; end + + # source://rbs//lib/rbs/definition_builder/method_builder.rb#35 + def validate!; end +end + +# source://rbs//lib/rbs/definition_builder/method_builder.rb#7 +class RBS::DefinitionBuilder::MethodBuilder::Methods::Definition < ::Struct + def accessibilities; end + def accessibilities=(_); end + + # source://rbs//lib/rbs/definition_builder/method_builder.rb#14 + def accessibility; end + + def name; end + def name=(_); end + + # source://rbs//lib/rbs/definition_builder/method_builder.rb#10 + def original; end + + def originals; end + def originals=(_); end + def overloads; end + def overloads=(_); end + def type; end + def type=(_); end + + class << self + def [](*_arg0); end + + # source://rbs//lib/rbs/definition_builder/method_builder.rb#22 + def empty(name:, type:); end + + def inspect; end + def keyword_init?; end + def members; end + def new(*_arg0); end + end +end + +# source://rbs//lib/rbs/definition_builder/method_builder.rb#63 +class RBS::DefinitionBuilder::MethodBuilder::Methods::Sorter + include ::TSort + + # @return [Sorter] a new instance of Sorter + # + # source://rbs//lib/rbs/definition_builder/method_builder.rb#68 + def initialize(methods); end + + # Returns the value of attribute methods. + # + # source://rbs//lib/rbs/definition_builder/method_builder.rb#66 + def methods; end + + # source://rbs//lib/rbs/definition_builder/method_builder.rb#76 + def tsort_each_child(defn); end + + # source://rbs//lib/rbs/definition_builder/method_builder.rb#72 + def tsort_each_node(&block); end +end + +# source://rbs//lib/rbs/errors.rb#21 +class RBS::DefinitionError < ::RBS::BaseError; end + +# source://rbs//lib/rbs/errors.rb#23 +module RBS::DetailedMessageable + # source://rbs//lib/rbs/errors.rb#24 + def detailed_message(highlight: T.unsafe(nil), **_arg1); end +end + +# source://rbs//lib/rbs/diff.rb#4 +class RBS::Diff + # @return [Diff] a new instance of Diff + # + # source://rbs//lib/rbs/diff.rb#5 + def initialize(type_name:, library_options:, after_path: T.unsafe(nil), before_path: T.unsafe(nil), detail: T.unsafe(nil)); end + + # source://rbs//lib/rbs/diff.rb#13 + def each_diff(&block); end + + private + + # source://rbs//lib/rbs/diff.rb#96 + def build_builder(env); end + + # source://rbs//lib/rbs/diff.rb#77 + def build_env(path); end + + # source://rbs//lib/rbs/diff.rb#49 + def build_methods(path); end + + # source://rbs//lib/rbs/diff.rb#116 + def constant_to_s(constant); end + + # source://rbs//lib/rbs/diff.rb#100 + def definition_method_to_s(key, kind, definition_method); end + + # source://rbs//lib/rbs/diff.rb#38 + def each_diff_constants(before_constant_children, after_constant_children); end + + # source://rbs//lib/rbs/diff.rb#27 + def each_diff_methods(kind, before_methods, after_methods); end +end + +# source://rbs//lib/rbs/errors.rb#386 +class RBS::DuplicatedDeclarationError < ::RBS::LoadingError + # @return [DuplicatedDeclarationError] a new instance of DuplicatedDeclarationError + # + # source://rbs//lib/rbs/errors.rb#390 + def initialize(name, *decls); end + + # Returns the value of attribute decls. + # + # source://rbs//lib/rbs/errors.rb#388 + def decls; end + + # Returns the value of attribute name. + # + # source://rbs//lib/rbs/errors.rb#387 + def name; end +end + +# source://rbs//lib/rbs/errors.rb#284 +class RBS::DuplicatedInterfaceMethodDefinitionError < ::RBS::DefinitionError + include ::RBS::DetailedMessageable + + # @return [DuplicatedInterfaceMethodDefinitionError] a new instance of DuplicatedInterfaceMethodDefinitionError + # + # source://rbs//lib/rbs/errors.rb#291 + def initialize(type:, method_name:, member:); end + + # source://rbs//lib/rbs/errors.rb#299 + def location; end + + # Returns the value of attribute member. + # + # source://rbs//lib/rbs/errors.rb#289 + def member; end + + # Returns the value of attribute method_name. + # + # source://rbs//lib/rbs/errors.rb#288 + def method_name; end + + # source://rbs//lib/rbs/errors.rb#303 + def qualified_method_name; end + + # Returns the value of attribute type. + # + # source://rbs//lib/rbs/errors.rb#287 + def type; end + + # source://rbs//lib/rbs/errors.rb#312 + def type_name; end +end + +# source://rbs//lib/rbs/errors.rb#243 +class RBS::DuplicatedMethodDefinitionError < ::RBS::DefinitionError + include ::RBS::DetailedMessageable + + # @return [DuplicatedMethodDefinitionError] a new instance of DuplicatedMethodDefinitionError + # + # source://rbs//lib/rbs/errors.rb#250 + def initialize(type:, method_name:, members:); end + + # source://rbs//lib/rbs/errors.rb#275 + def location; end + + # Returns the value of attribute members. + # + # source://rbs//lib/rbs/errors.rb#248 + def members; end + + # Returns the value of attribute method_name. + # + # source://rbs//lib/rbs/errors.rb#247 + def method_name; end + + # source://rbs//lib/rbs/errors.rb#279 + def other_locations; end + + # source://rbs//lib/rbs/errors.rb#262 + def qualified_method_name; end + + # Returns the value of attribute type. + # + # source://rbs//lib/rbs/errors.rb#246 + def type; end + + # source://rbs//lib/rbs/errors.rb#271 + def type_name; end +end + +# source://rbs//lib/rbs/environment.rb#4 +class RBS::Environment + # @return [Environment] a new instance of Environment + # + # source://rbs//lib/rbs/environment.rb#145 + def initialize; end + + # source://rbs//lib/rbs/environment.rb#470 + def <<(decl); end + + # source://rbs//lib/rbs/environment.rb#792 + def absolute_type(resolver, map, type, context:); end + + # source://rbs//lib/rbs/environment.rb#787 + def absolute_type_name(resolver, map, type_name, context:); end + + # source://rbs//lib/rbs/environment.rb#476 + def add_signature(buffer:, directives:, decls:); end + + # source://rbs//lib/rbs/environment.rb#528 + def append_context(context, decl); end + + # source://rbs//lib/rbs/environment.rb#803 + def buffers; end + + # @return [Boolean] + # + # source://rbs//lib/rbs/environment.rb#218 + def class_alias?(name); end + + # Returns the value of attribute class_alias_decls. + # + # source://rbs//lib/rbs/environment.rb#12 + def class_alias_decls; end + + # @return [Boolean] + # + # source://rbs//lib/rbs/environment.rb#202 + def class_decl?(name); end + + # Returns the value of attribute class_decls. + # + # source://rbs//lib/rbs/environment.rb#7 + def class_decls; end + + # source://rbs//lib/rbs/environment.rb#226 + def class_entry(type_name); end + + # @return [Boolean] + # + # source://rbs//lib/rbs/environment.rb#198 + def constant_decl?(name); end + + # Returns the value of attribute constant_decls. + # + # source://rbs//lib/rbs/environment.rb#10 + def constant_decls; end + + # source://rbs//lib/rbs/environment.rb#274 + def constant_entry(type_name); end + + # @return [Boolean] + # + # source://rbs//lib/rbs/environment.rb#194 + def constant_name?(name); end + + # Returns the value of attribute declarations. + # + # source://rbs//lib/rbs/environment.rb#5 + def declarations; end + + # Returns the value of attribute global_decls. + # + # source://rbs//lib/rbs/environment.rb#11 + def global_decls; end + + # source://rbs//lib/rbs/environment.rb#373 + def insert_decl(decl, outer:, namespace:); end + + # source://rbs//lib/rbs/environment.rb#798 + def inspect; end + + # Returns the value of attribute interface_decls. + # + # source://rbs//lib/rbs/environment.rb#8 + def interface_decls; end + + # @return [Boolean] + # + # source://rbs//lib/rbs/environment.rb#176 + def interface_name?(name); end + + # @return [Boolean] + # + # source://rbs//lib/rbs/environment.rb#210 + def module_alias?(name); end + + # source://rbs//lib/rbs/environment.rb#266 + def module_class_entry(type_name); end + + # @return [Boolean] + # + # source://rbs//lib/rbs/environment.rb#206 + def module_decl?(name); end + + # source://rbs//lib/rbs/environment.rb#235 + def module_entry(type_name); end + + # @return [Boolean] + # + # source://rbs//lib/rbs/environment.rb#184 + def module_name?(name); end + + # source://rbs//lib/rbs/environment.rb#332 + def normalize_module_name(name); end + + # @return [Boolean] + # + # source://rbs//lib/rbs/environment.rb#336 + def normalize_module_name?(name); end + + # source://rbs//lib/rbs/environment.rb#328 + def normalize_type_name(name); end + + # source://rbs//lib/rbs/environment.rb#297 + def normalize_type_name!(name); end + + # @return [Boolean] + # + # source://rbs//lib/rbs/environment.rb#278 + def normalize_type_name?(name); end + + # source://rbs//lib/rbs/environment.rb#244 + def normalized_class_entry(type_name); end + + # source://rbs//lib/rbs/environment.rb#270 + def normalized_module_class_entry(type_name); end + + # source://rbs//lib/rbs/environment.rb#255 + def normalized_module_entry(type_name); end + + # source://rbs//lib/rbs/environment.rb#323 + def normalized_type_name!(name); end + + # @return [Boolean] + # + # source://rbs//lib/rbs/environment.rb#310 + def normalized_type_name?(type_name); end + + # source://rbs//lib/rbs/environment.rb#537 + def resolve_declaration(resolver, map, decl, outer:, prefix:); end + + # source://rbs//lib/rbs/environment.rb#673 + def resolve_member(resolver, map, member, context:); end + + # source://rbs//lib/rbs/environment.rb#773 + def resolve_method_type(resolver, map, type, context:); end + + # source://rbs//lib/rbs/environment.rb#489 + def resolve_type_names(only: T.unsafe(nil)); end + + # source://rbs//lib/rbs/environment.rb#781 + def resolve_type_params(resolver, map, params, context:); end + + # source://rbs//lib/rbs/environment.rb#522 + def resolver_context(*nesting); end + + # Returns the value of attribute signatures. + # + # source://rbs//lib/rbs/environment.rb#14 + def signatures; end + + # Returns the value of attribute type_alias_decls. + # + # source://rbs//lib/rbs/environment.rb#9 + def type_alias_decls; end + + # @return [Boolean] + # + # source://rbs//lib/rbs/environment.rb#180 + def type_alias_name?(name); end + + # @return [Boolean] + # + # source://rbs//lib/rbs/environment.rb#188 + def type_name?(name); end + + # source://rbs//lib/rbs/environment.rb#807 + def unload(buffers); end + + # source://rbs//lib/rbs/environment.rb#483 + def validate_type_params; end + + private + + # source://rbs//lib/rbs/environment.rb#158 + def initialize_copy(other); end + + class << self + # source://rbs//lib/rbs/environment.rb#170 + def from_loader(loader); end + end +end + +# source://rbs//lib/rbs/environment.rb#130 +class RBS::Environment::ClassAliasEntry < ::RBS::Environment::SingleEntry; end + +# source://rbs//lib/rbs/environment.rb#100 +class RBS::Environment::ClassEntry < ::RBS::Environment::MultiEntry + # source://rbs//lib/rbs/environment.rb#101 + def primary; end +end + +# source://rbs//lib/rbs/environment.rb#139 +class RBS::Environment::ConstantEntry < ::RBS::Environment::SingleEntry; end + +# source://rbs//lib/rbs/environment.rb#16 +module RBS::Environment::ContextUtil + # source://rbs//lib/rbs/environment.rb#17 + def calculate_context(decls); end +end + +# source://rbs//lib/rbs/environment.rb#142 +class RBS::Environment::GlobalEntry < ::RBS::Environment::SingleEntry; end + +# source://rbs//lib/rbs/environment.rb#133 +class RBS::Environment::InterfaceEntry < ::RBS::Environment::SingleEntry; end + +# source://rbs//lib/rbs/environment.rb#127 +class RBS::Environment::ModuleAliasEntry < ::RBS::Environment::SingleEntry; end + +# source://rbs//lib/rbs/environment.rb#85 +class RBS::Environment::ModuleEntry < ::RBS::Environment::MultiEntry + # source://rbs//lib/rbs/environment.rb#92 + def primary; end + + # source://rbs//lib/rbs/environment.rb#86 + def self_types; end +end + +# source://rbs//lib/rbs/environment.rb#29 +class RBS::Environment::MultiEntry + # @return [MultiEntry] a new instance of MultiEntry + # + # source://rbs//lib/rbs/environment.rb#43 + def initialize(name:); end + + # @return [Boolean] + # + # source://rbs//lib/rbs/environment.rb#70 + def compatible_params?(ps1, ps2); end + + # Returns the value of attribute decls. + # + # source://rbs//lib/rbs/environment.rb#41 + def decls; end + + # source://rbs//lib/rbs/environment.rb#48 + def insert(decl:, outer:); end + + # Returns the value of attribute name. + # + # source://rbs//lib/rbs/environment.rb#40 + def name; end + + # source://rbs//lib/rbs/environment.rb#80 + def primary; end + + # source://rbs//lib/rbs/environment.rb#76 + def type_params; end + + # source://rbs//lib/rbs/environment.rb#53 + def validate_type_params; end +end + +# source://rbs//lib/rbs/environment.rb#30 +class RBS::Environment::MultiEntry::D < ::Struct + include ::RBS::Environment::ContextUtil + + # source://rbs//lib/rbs/environment.rb#35 + def context; end + + def decl; end + def decl=(_); end + def outer; end + def outer=(_); end + + class << self + def [](*_arg0); end + def inspect; end + def keyword_init?; end + def members; end + def new(*_arg0); end + end +end + +# source://rbs//lib/rbs/environment.rb#109 +class RBS::Environment::SingleEntry + include ::RBS::Environment::ContextUtil + + # @return [SingleEntry] a new instance of SingleEntry + # + # source://rbs//lib/rbs/environment.rb#114 + def initialize(name:, decl:, outer:); end + + # source://rbs//lib/rbs/environment.rb#122 + def context; end + + # Returns the value of attribute decl. + # + # source://rbs//lib/rbs/environment.rb#112 + def decl; end + + # Returns the value of attribute name. + # + # source://rbs//lib/rbs/environment.rb#110 + def name; end + + # Returns the value of attribute outer. + # + # source://rbs//lib/rbs/environment.rb#111 + def outer; end +end + +# source://rbs//lib/rbs/environment.rb#136 +class RBS::Environment::TypeAliasEntry < ::RBS::Environment::SingleEntry; end + +# source://rbs//lib/rbs/environment/use_map.rb#5 +class RBS::Environment::UseMap + # @return [UseMap] a new instance of UseMap + # + # source://rbs//lib/rbs/environment/use_map.rb#30 + def initialize(table:); end + + # source://rbs//lib/rbs/environment/use_map.rb#36 + def build_map(clause); end + + # source://rbs//lib/rbs/environment/use_map.rb#72 + def resolve(type_name); end + + # @return [Boolean] + # + # source://rbs//lib/rbs/environment/use_map.rb#53 + def resolve?(type_name); end + + # Returns the value of attribute use_dirs. + # + # source://rbs//lib/rbs/environment/use_map.rb#28 + def use_dirs; end +end + +# source://rbs//lib/rbs/environment/use_map.rb#6 +class RBS::Environment::UseMap::Table + # @return [Table] a new instance of Table + # + # source://rbs//lib/rbs/environment/use_map.rb#9 + def initialize; end + + # Returns the value of attribute children. + # + # source://rbs//lib/rbs/environment/use_map.rb#7 + def children; end + + # source://rbs//lib/rbs/environment/use_map.rb#14 + def compute_children; end + + # Returns the value of attribute known_types. + # + # source://rbs//lib/rbs/environment/use_map.rb#7 + def known_types; end +end + +# source://rbs//lib/rbs/environment_loader.rb#4 +class RBS::EnvironmentLoader + include ::RBS::FileFinder + + # @return [EnvironmentLoader] a new instance of EnvironmentLoader + # + # source://rbs//lib/rbs/environment_loader.rb#39 + def initialize(core_root: T.unsafe(nil), repository: T.unsafe(nil)); end + + # source://rbs//lib/rbs/environment_loader.rb#47 + def add(path: T.unsafe(nil), library: T.unsafe(nil), version: T.unsafe(nil), resolve_dependencies: T.unsafe(nil)); end + + # source://rbs//lib/rbs/environment_loader.rb#79 + def add_collection(lockfile); end + + # Returns the value of attribute core_root. + # + # source://rbs//lib/rbs/environment_loader.rb#19 + def core_root; end + + # Returns the value of attribute dirs. + # + # source://rbs//lib/rbs/environment_loader.rb#23 + def dirs; end + + # source://rbs//lib/rbs/environment_loader.rb#125 + def each_dir; end + + # source://rbs//lib/rbs/environment_loader.rb#148 + def each_signature; end + + # @return [Boolean] + # + # source://rbs//lib/rbs/environment_loader.rb#103 + def has_library?(library:, version:); end + + # Returns the value of attribute libs. + # + # source://rbs//lib/rbs/environment_loader.rb#22 + def libs; end + + # source://rbs//lib/rbs/environment_loader.rb#111 + def load(env:); end + + # Returns the value of attribute repository. + # + # source://rbs//lib/rbs/environment_loader.rb#20 + def repository; end + + # source://rbs//lib/rbs/environment_loader.rb#64 + def resolve_dependencies(library:, version:); end + + class << self + # source://rbs//lib/rbs/environment_loader.rb#27 + def gem_sig_path(name, version); end + end +end + +# source://rbs//lib/rbs/environment_loader.rb#25 +RBS::EnvironmentLoader::DEFAULT_CORE_ROOT = T.let(T.unsafe(nil), Pathname) + +# source://rbs//lib/rbs/environment_loader.rb#17 +class RBS::EnvironmentLoader::Library < ::Struct + def name; end + def name=(_); end + def version; end + def version=(_); end + + class << self + def [](*_arg0); end + def inspect; end + def keyword_init?; end + def members; end + def new(*_arg0); end + end +end + +# source://rbs//lib/rbs/environment_loader.rb#5 +class RBS::EnvironmentLoader::UnknownLibraryError < ::StandardError + # @return [UnknownLibraryError] a new instance of UnknownLibraryError + # + # source://rbs//lib/rbs/environment_loader.rb#8 + def initialize(lib:); end + + # Returns the value of attribute library. + # + # source://rbs//lib/rbs/environment_loader.rb#6 + def library; end +end + +# source://rbs//lib/rbs/environment_walker.rb#4 +class RBS::EnvironmentWalker + include ::TSort + + # @return [EnvironmentWalker] a new instance of EnvironmentWalker + # + # source://rbs//lib/rbs/environment_walker.rb#11 + def initialize(env:); end + + # source://rbs//lib/rbs/environment_walker.rb#16 + def builder; end + + # source://rbs//lib/rbs/environment_walker.rb#99 + def each_type_name(type, &block); end + + # source://rbs//lib/rbs/environment_walker.rb#105 + def each_type_node(type, &block); end + + # Returns the value of attribute env. + # + # source://rbs//lib/rbs/environment_walker.rb#9 + def env; end + + # source://rbs//lib/rbs/environment_walker.rb#20 + def only_ancestors!(only = T.unsafe(nil)); end + + # @return [Boolean] + # + # source://rbs//lib/rbs/environment_walker.rb#25 + def only_ancestors?; end + + # source://rbs//lib/rbs/environment_walker.rb#44 + def tsort_each_child(node, &block); end + + # source://rbs//lib/rbs/environment_walker.rb#31 + def tsort_each_node(&block); end +end + +# source://rbs//lib/rbs/environment_walker.rb#5 +class RBS::EnvironmentWalker::InstanceNode < ::Struct + def type_name; end + def type_name=(_); end + + class << self + def [](*_arg0); end + def inspect; end + def keyword_init?; end + def members; end + def new(*_arg0); end + end +end + +# source://rbs//lib/rbs/environment_walker.rb#6 +class RBS::EnvironmentWalker::SingletonNode < ::Struct + def type_name; end + def type_name=(_); end + + class << self + def [](*_arg0); end + def inspect; end + def keyword_init?; end + def members; end + def new(*_arg0); end + end +end + +# source://rbs//lib/rbs/environment_walker.rb#7 +class RBS::EnvironmentWalker::TypeNameNode < ::Struct + def type_name; end + def type_name=(_); end + + class << self + def [](*_arg0); end + def inspect; end + def keyword_init?; end + def members; end + def new(*_arg0); end + end +end + +# source://rbs//lib/rbs/factory.rb#4 +class RBS::Factory + # source://rbs//lib/rbs/factory.rb#5 + def type_name(string); end +end + +# source://rbs//lib/rbs/file_finder.rb#4 +module RBS::FileFinder + class << self + # source://rbs//lib/rbs/file_finder.rb#7 + def each_file(path, immediate:, skip_hidden:, &block); end + end +end + +# source://rbs//lib/rbs/errors.rb#375 +class RBS::GenericParameterMismatchError < ::RBS::LoadingError + # @return [GenericParameterMismatchError] a new instance of GenericParameterMismatchError + # + # source://rbs//lib/rbs/errors.rb#379 + def initialize(name:, decl:); end + + # Returns the value of attribute decl. + # + # source://rbs//lib/rbs/errors.rb#377 + def decl; end + + # Returns the value of attribute name. + # + # source://rbs//lib/rbs/errors.rb#376 + def name; end +end + +# source://rbs//lib/rbs/errors.rb#521 +class RBS::InconsistentClassModuleAliasError < ::RBS::BaseError + include ::RBS::DetailedMessageable + + # @return [InconsistentClassModuleAliasError] a new instance of InconsistentClassModuleAliasError + # + # source://rbs//lib/rbs/errors.rb#526 + def initialize(entry); end + + # Returns the value of attribute alias_entry. + # + # source://rbs//lib/rbs/errors.rb#524 + def alias_entry; end + + # source://rbs//lib/rbs/errors.rb#540 + def location; end +end + +# source://rbs//lib/rbs/errors.rb#179 +class RBS::InheritModuleError < ::RBS::DefinitionError + include ::RBS::DetailedMessageable + + # @return [InheritModuleError] a new instance of InheritModuleError + # + # source://rbs//lib/rbs/errors.rb#184 + def initialize(super_decl); end + + # source://rbs//lib/rbs/errors.rb#190 + def location; end + + # Returns the value of attribute super_decl. + # + # source://rbs//lib/rbs/errors.rb#182 + def super_decl; end + + class << self + # source://rbs//lib/rbs/errors.rb#194 + def check!(super_decl, env:); end + end +end + +# source://rbs//lib/rbs/errors.rb#346 +class RBS::InvalidOverloadMethodError < ::RBS::DefinitionError + include ::RBS::DetailedMessageable + + # @return [InvalidOverloadMethodError] a new instance of InvalidOverloadMethodError + # + # source://rbs//lib/rbs/errors.rb#354 + def initialize(type_name:, method_name:, kind:, members:); end + + # Returns the value of attribute kind. + # + # source://rbs//lib/rbs/errors.rb#351 + def kind; end + + # source://rbs//lib/rbs/errors.rb#370 + def location; end + + # Returns the value of attribute members. + # + # source://rbs//lib/rbs/errors.rb#352 + def members; end + + # Returns the value of attribute method_name. + # + # source://rbs//lib/rbs/errors.rb#350 + def method_name; end + + # Returns the value of attribute type_name. + # + # source://rbs//lib/rbs/errors.rb#349 + def type_name; end +end + +# source://rbs//lib/rbs/errors.rb#81 +class RBS::InvalidTypeApplicationError < ::RBS::DefinitionError + # @return [InvalidTypeApplicationError] a new instance of InvalidTypeApplicationError + # + # source://rbs//lib/rbs/errors.rb#87 + def initialize(type_name:, args:, params:, location:); end + + # Returns the value of attribute args. + # + # source://rbs//lib/rbs/errors.rb#83 + def args; end + + # Returns the value of attribute location. + # + # source://rbs//lib/rbs/errors.rb#85 + def location; end + + # Returns the value of attribute params. + # + # source://rbs//lib/rbs/errors.rb#84 + def params; end + + # Returns the value of attribute type_name. + # + # source://rbs//lib/rbs/errors.rb#82 + def type_name; end + + class << self + # source://rbs//lib/rbs/errors.rb#95 + def check!(type_name:, args:, params:, location:); end + end +end + +# source://rbs//lib/rbs/errors.rb#399 +class RBS::InvalidVarianceAnnotationError < ::RBS::DefinitionError + include ::RBS::DetailedMessageable + + # @return [InvalidVarianceAnnotationError] a new instance of InvalidVarianceAnnotationError + # + # source://rbs//lib/rbs/errors.rb#406 + def initialize(type_name:, param:, location:); end + + # Returns the value of attribute location. + # + # source://rbs//lib/rbs/errors.rb#404 + def location; end + + # Returns the value of attribute param. + # + # source://rbs//lib/rbs/errors.rb#403 + def param; end + + # Returns the value of attribute type_name. + # + # source://rbs//lib/rbs/errors.rb#402 + def type_name; end +end + +# source://rbs//lib/rbs/errors.rb#20 +class RBS::LoadingError < ::RBS::BaseError; end + +# source://rbs//lib/rbs/location_aux.rb#4 +class RBS::Location + def initialize(_arg0, _arg1, _arg2); end + + # source://rbs//lib/rbs/location_aux.rb#70 + def ==(other); end + + def [](_arg0); end + def _add_optional_child(_arg0, _arg1, _arg2); end + def _add_optional_no_child(_arg0); end + def _add_required_child(_arg0, _arg1, _arg2); end + def _optional_keys; end + def _required_keys; end + + # source://rbs//lib/rbs/location_aux.rb#101 + def add_optional_child(name, range); end + + # source://rbs//lib/rbs/location_aux.rb#97 + def add_required_child(name, range); end + + def aref(_arg0); end + def buffer; end + + # source://rbs//lib/rbs/location_aux.rb#109 + def each_optional_key(&block); end + + # source://rbs//lib/rbs/location_aux.rb#117 + def each_required_key(&block); end + + # source://rbs//lib/rbs/location_aux.rb#42 + def end_column; end + + # source://rbs//lib/rbs/location_aux.rb#38 + def end_line; end + + # source://rbs//lib/rbs/location_aux.rb#52 + def end_loc; end + + def end_pos; end + + # source://rbs//lib/rbs/location_aux.rb#5 + def inspect; end + + # @return [Boolean] + # + # source://rbs//lib/rbs/location_aux.rb#125 + def key?(name); end + + # source://rbs//lib/rbs/location_aux.rb#26 + def name; end + + # @return [Boolean] + # + # source://rbs//lib/rbs/location_aux.rb#129 + def optional_key?(name); end + + # source://rbs//lib/rbs/location_aux.rb#58 + def range; end + + # @return [Boolean] + # + # source://rbs//lib/rbs/location_aux.rb#133 + def required_key?(name); end + + # source://rbs//lib/rbs/location_aux.rb#62 + def source; end + + # source://rbs//lib/rbs/location_aux.rb#34 + def start_column; end + + # source://rbs//lib/rbs/location_aux.rb#30 + def start_line; end + + # source://rbs//lib/rbs/location_aux.rb#46 + def start_loc; end + + def start_pos; end + + # source://rbs//lib/rbs/location_aux.rb#77 + def to_json(state = T.unsafe(nil)); end + + # source://rbs//lib/rbs/location_aux.rb#66 + def to_s; end + + private + + def _end_loc; end + def _start_loc; end + def initialize_copy(_arg0); end + + class << self + # source://rbs//lib/rbs/location_aux.rb#11 + def new(buffer_ = T.unsafe(nil), start_pos_ = T.unsafe(nil), end_pos_ = T.unsafe(nil), buffer: T.unsafe(nil), start_pos: T.unsafe(nil), end_pos: T.unsafe(nil)); end + + # source://rbs//lib/rbs/location_aux.rb#93 + def to_string(location, default: T.unsafe(nil)); end + end +end + +# source://rbs//lib/rbs/location_aux.rb#24 +RBS::Location::WithChildren = RBS::Location + +# source://rbs//lib/rbs/locator.rb#4 +class RBS::Locator + # @return [Locator] a new instance of Locator + # + # source://rbs//lib/rbs/locator.rb#7 + def initialize(buffer:, dirs:, decls:); end + + # Returns the value of attribute buffer. + # + # source://rbs//lib/rbs/locator.rb#5 + def buffer; end + + # Returns the value of attribute decls. + # + # source://rbs//lib/rbs/locator.rb#5 + def decls; end + + # Returns the value of attribute dirs. + # + # source://rbs//lib/rbs/locator.rb#5 + def dirs; end + + # source://rbs//lib/rbs/locator.rb#13 + def find(line:, column:); end + + # source://rbs//lib/rbs/locator.rb#29 + def find2(line:, column:); end + + # source://rbs//lib/rbs/locator.rb#58 + def find_in_decl(pos, decl:, array:); end + + # source://rbs//lib/rbs/locator.rb#42 + def find_in_directive(pos, dir, array); end + + # source://rbs//lib/rbs/locator.rb#203 + def find_in_loc(pos, location:, array:); end + + # source://rbs//lib/rbs/locator.rb#129 + def find_in_member(pos, member:, array:); end + + # source://rbs//lib/rbs/locator.rb#152 + def find_in_method_type(pos, method_type:, array:); end + + # source://rbs//lib/rbs/locator.rb#187 + def find_in_type(pos, type:, array:); end + + # source://rbs//lib/rbs/locator.rb#170 + def find_in_type_param(pos, type_param:, array:); end + + # source://rbs//lib/rbs/locator.rb#230 + def test_loc(pos, location:); end +end + +# source://rbs//lib/rbs/errors.rb#4 +module RBS::MethodNameHelper + # source://rbs//lib/rbs/errors.rb#5 + def method_name_string; end +end + +# source://rbs//lib/rbs/method_type.rb#4 +class RBS::MethodType + # @return [MethodType] a new instance of MethodType + # + # source://rbs//lib/rbs/method_type.rb#10 + def initialize(type_params:, type:, block:, location:); end + + # source://rbs//lib/rbs/method_type.rb#17 + def ==(other); end + + # Returns the value of attribute block. + # + # source://rbs//lib/rbs/method_type.rb#7 + def block; end + + # source://rbs//lib/rbs/method_type.rb#84 + def each_type(&block); end + + # source://rbs//lib/rbs/method_type.rb#57 + def free_variables(set = T.unsafe(nil)); end + + # @return [Boolean] + # + # source://rbs//lib/rbs/method_type.rb#125 + def has_classish_type?; end + + # @return [Boolean] + # + # source://rbs//lib/rbs/method_type.rb#121 + def has_self_type?; end + + # Returns the value of attribute location. + # + # source://rbs//lib/rbs/method_type.rb#8 + def location; end + + # source://rbs//lib/rbs/method_type.rb#63 + def map_type(&block); end + + # source://rbs//lib/rbs/method_type.rb#72 + def map_type_bound(&block); end + + # source://rbs//lib/rbs/method_type.rb#33 + def sub(s); end + + # source://rbs//lib/rbs/method_type.rb#24 + def to_json(state = T.unsafe(nil)); end + + # source://rbs//lib/rbs/method_type.rb#98 + def to_s; end + + # Returns the value of attribute type. + # + # source://rbs//lib/rbs/method_type.rb#6 + def type; end + + # source://rbs//lib/rbs/method_type.rb#117 + def type_param_names; end + + # Returns the value of attribute type_params. + # + # source://rbs//lib/rbs/method_type.rb#5 + def type_params; end + + # source://rbs//lib/rbs/method_type.rb#48 + def update(type_params: T.unsafe(nil), type: T.unsafe(nil), block: T.unsafe(nil), location: T.unsafe(nil)); end + + # @return [Boolean] + # + # source://rbs//lib/rbs/method_type.rb#129 + def with_nonreturn_void?; end +end + +# source://rbs//lib/rbs/errors.rb#435 +class RBS::MixinClassError < ::RBS::DefinitionError + include ::RBS::DetailedMessageable + + # @return [MixinClassError] a new instance of MixinClassError + # + # source://rbs//lib/rbs/errors.rb#441 + def initialize(type_name:, member:); end + + # source://rbs//lib/rbs/errors.rb#448 + def location; end + + # Returns the value of attribute member. + # + # source://rbs//lib/rbs/errors.rb#439 + def member; end + + # Returns the value of attribute type_name. + # + # source://rbs//lib/rbs/errors.rb#438 + def type_name; end + + private + + # source://rbs//lib/rbs/errors.rb#460 + def mixin_name; end + + class << self + # source://rbs//lib/rbs/errors.rb#452 + def check!(type_name:, env:, member:); end + end +end + +# source://rbs//lib/rbs/namespace.rb#4 +class RBS::Namespace + # @return [Namespace] a new instance of Namespace + # + # source://rbs//lib/rbs/namespace.rb#7 + def initialize(path:, absolute:); end + + # source://rbs//lib/rbs/namespace.rb#20 + def +(other); end + + # source://rbs//lib/rbs/namespace.rb#59 + def ==(other); end + + # source://rbs//lib/rbs/namespace.rb#47 + def absolute!; end + + # @return [Boolean] + # + # source://rbs//lib/rbs/namespace.rb#39 + def absolute?; end + + # source://rbs//lib/rbs/namespace.rb#28 + def append(component); end + + # source://rbs//lib/rbs/namespace.rb#101 + def ascend; end + + # @return [Boolean] + # + # source://rbs//lib/rbs/namespace.rb#55 + def empty?; end + + # source://rbs//lib/rbs/namespace.rb#59 + def eql?(other); end + + # source://rbs//lib/rbs/namespace.rb#65 + def hash; end + + # source://rbs//lib/rbs/namespace.rb#32 + def parent; end + + # Returns the value of attribute path. + # + # source://rbs//lib/rbs/namespace.rb#5 + def path; end + + # source://rbs//lib/rbs/namespace.rb#51 + def relative!; end + + # @return [Boolean] + # + # source://rbs//lib/rbs/namespace.rb#43 + def relative?; end + + # source://rbs//lib/rbs/namespace.rb#69 + def split; end + + # source://rbs//lib/rbs/namespace.rb#75 + def to_s; end + + # source://rbs//lib/rbs/namespace.rb#84 + def to_type_name; end + + class << self + # source://rbs//lib/rbs/namespace.rb#12 + def empty; end + + # source://rbs//lib/rbs/namespace.rb#93 + def parse(string); end + + # source://rbs//lib/rbs/namespace.rb#16 + def root; end + end +end + +# source://rbs//lib/rbs/errors.rb#221 +class RBS::NoMixinFoundError < ::RBS::DefinitionError + include ::RBS::DetailedMessageable + + # @return [NoMixinFoundError] a new instance of NoMixinFoundError + # + # source://rbs//lib/rbs/errors.rb#227 + def initialize(type_name:, member:); end + + # source://rbs//lib/rbs/errors.rb#234 + def location; end + + # Returns the value of attribute member. + # + # source://rbs//lib/rbs/errors.rb#225 + def member; end + + # Returns the value of attribute type_name. + # + # source://rbs//lib/rbs/errors.rb#224 + def type_name; end + + class << self + # source://rbs//lib/rbs/errors.rb#238 + def check!(type_name, env:, member:); end + end +end + +# source://rbs//lib/rbs/errors.rb#202 +class RBS::NoSelfTypeFoundError < ::RBS::DefinitionError + include ::RBS::DetailedMessageable + + # @return [NoSelfTypeFoundError] a new instance of NoSelfTypeFoundError + # + # source://rbs//lib/rbs/errors.rb#208 + def initialize(type_name:, location:); end + + # Returns the value of attribute location. + # + # source://rbs//lib/rbs/errors.rb#206 + def location; end + + # Returns the value of attribute type_name. + # + # source://rbs//lib/rbs/errors.rb#205 + def type_name; end + + class << self + # source://rbs//lib/rbs/errors.rb#215 + def check!(self_type, env:); end + end +end + +# source://rbs//lib/rbs/errors.rb#159 +class RBS::NoSuperclassFoundError < ::RBS::DefinitionError + # @return [NoSuperclassFoundError] a new instance of NoSuperclassFoundError + # + # source://rbs//lib/rbs/errors.rb#163 + def initialize(type_name:, location:); end + + # Returns the value of attribute location. + # + # source://rbs//lib/rbs/errors.rb#161 + def location; end + + # Returns the value of attribute type_name. + # + # source://rbs//lib/rbs/errors.rb#160 + def type_name; end + + class << self + # source://rbs//lib/rbs/errors.rb#170 + def check!(type_name, env:, location:); end + end +end + +# source://rbs//lib/rbs/errors.rb#140 +class RBS::NoTypeFoundError < ::RBS::DefinitionError + include ::RBS::DetailedMessageable + + # @return [NoTypeFoundError] a new instance of NoTypeFoundError + # + # source://rbs//lib/rbs/errors.rb#146 + def initialize(type_name:, location:); end + + # Returns the value of attribute location. + # + # source://rbs//lib/rbs/errors.rb#144 + def location; end + + # Returns the value of attribute type_name. + # + # source://rbs//lib/rbs/errors.rb#143 + def type_name; end + + class << self + # source://rbs//lib/rbs/errors.rb#153 + def check!(type_name, env:, location:); end + end +end + +# source://rbs//lib/rbs/errors.rb#492 +class RBS::NonregularTypeAliasError < ::RBS::BaseError + include ::RBS::DetailedMessageable + + # @return [NonregularTypeAliasError] a new instance of NonregularTypeAliasError + # + # source://rbs//lib/rbs/errors.rb#498 + def initialize(diagnostic:, location:); end + + # Returns the value of attribute diagnostic. + # + # source://rbs//lib/rbs/errors.rb#495 + def diagnostic; end + + # Returns the value of attribute location. + # + # source://rbs//lib/rbs/errors.rb#496 + def location; end +end + +# source://rbs//lib/rbs/parser_aux.rb#4 +class RBS::Parser + class << self + def _parse_method_type(_arg0, _arg1, _arg2, _arg3, _arg4); end + def _parse_signature(_arg0, _arg1); end + def _parse_type(_arg0, _arg1, _arg2, _arg3, _arg4); end + + # source://rbs//lib/rbs/parser_aux.rb#22 + def buffer(source); end + + # source://rbs//lib/rbs/parser_aux.rb#10 + def parse_method_type(source, range: T.unsafe(nil), variables: T.unsafe(nil), require_eof: T.unsafe(nil)); end + + # source://rbs//lib/rbs/parser_aux.rb#15 + def parse_signature(source); end + + # source://rbs//lib/rbs/parser_aux.rb#5 + def parse_type(source, range: T.unsafe(nil), variables: T.unsafe(nil), require_eof: T.unsafe(nil)); end + end +end + +# source://rbs//lib/rbs/parser_aux.rb#36 +RBS::Parser::KEYWORDS = T.let(T.unsafe(nil), Hash) + +# source://rbs//lib/rbs/parser_compat/lexer_error.rb#6 +RBS::Parser::LexerError = RBS::ParsingError + +# source://rbs//lib/rbs/parser_compat/located_value.rb#6 +class RBS::Parser::LocatedValue; end + +# source://rbs//lib/rbs/parser_compat/semantics_error.rb#6 +RBS::Parser::SemanticsError = RBS::ParsingError + +# source://rbs//lib/rbs/parser_compat/syntax_error.rb#6 +RBS::Parser::SyntaxError = RBS::ParsingError + +# source://rbs//lib/rbs/errors.rb#51 +class RBS::ParsingError < ::RBS::BaseError + include ::RBS::DetailedMessageable + + # @return [ParsingError] a new instance of ParsingError + # + # source://rbs//lib/rbs/errors.rb#58 + def initialize(location, error_message, token_type); end + + # Returns the value of attribute error_message. + # + # source://rbs//lib/rbs/errors.rb#55 + def error_message; end + + # source://rbs//lib/rbs/errors.rb#66 + def error_value; end + + # Returns the value of attribute location. + # + # source://rbs//lib/rbs/errors.rb#54 + def location; end + + # source://rbs//lib/rbs/errors.rb#73 + def token_str; end + + # Returns the value of attribute token_type. + # + # source://rbs//lib/rbs/errors.rb#56 + def token_type; end +end + +# source://rbs//lib/rbs/prototype/helpers.rb#4 +module RBS::Prototype; end + +# source://rbs//lib/rbs/prototype/helpers.rb#5 +module RBS::Prototype::Helpers + private + + # @return [Boolean] + # + # source://rbs//lib/rbs/prototype/helpers.rb#97 + def any_node?(node, nodes: T.unsafe(nil), &block); end + + # NOTE: args_node may be a nil by a bug + # https://bugs.ruby-lang.org/issues/17495 + # + # source://rbs//lib/rbs/prototype/helpers.rb#121 + def args_from_node(args_node); end + + # source://rbs//lib/rbs/prototype/helpers.rb#8 + def block_from_body(node); end + + # source://rbs//lib/rbs/prototype/helpers.rb#85 + def each_child(node, &block); end + + # source://rbs//lib/rbs/prototype/helpers.rb#89 + def each_node(nodes); end + + # @return [Boolean] + # + # source://rbs//lib/rbs/prototype/helpers.rb#109 + def keyword_hash?(node); end + + # source://rbs//lib/rbs/prototype/helpers.rb#125 + def untyped; end +end + +# source://rbs//lib/rbs/prototype/node_usage.rb#5 +class RBS::Prototype::NodeUsage + include ::RBS::Prototype::Helpers + + # @return [NodeUsage] a new instance of NodeUsage + # + # source://rbs//lib/rbs/prototype/node_usage.rb#10 + def initialize(node); end + + # source://rbs//lib/rbs/prototype/node_usage.rb#25 + def calculate(node, conditional:); end + + # Returns the value of attribute conditional_nodes. + # + # source://rbs//lib/rbs/prototype/node_usage.rb#8 + def conditional_nodes; end + + # source://rbs//lib/rbs/prototype/node_usage.rb#17 + def each_conditional_node(&block); end +end + +# source://rbs//lib/rbs/prototype/rb.rb#5 +class RBS::Prototype::RB + include ::RBS::Prototype::Helpers + + # @return [RB] a new instance of RB + # + # source://rbs//lib/rbs/prototype/rb.rb#45 + def initialize; end + + # source://rbs//lib/rbs/prototype/rb.rb#552 + def block_type(node); end + + # source://rbs//lib/rbs/prototype/rb.rb#532 + def body_type(node); end + + # source://rbs//lib/rbs/prototype/rb.rb#451 + def const_to_name(node, context:); end + + # source://rbs//lib/rbs/prototype/rb.rb#432 + def const_to_name!(node); end + + # source://rbs//lib/rbs/prototype/rb.rb#730 + def current_accessibility(decls, index = T.unsafe(nil)); end + + # source://rbs//lib/rbs/prototype/rb.rb#49 + def decls; end + + # source://rbs//lib/rbs/prototype/rb.rb#770 + def find_def_index_by_name(decls, name); end + + # source://rbs//lib/rbs/prototype/rb.rb#527 + def function_return_type_from_body(node); end + + # source://rbs//lib/rbs/prototype/rb.rb#471 + def function_type_from_body(node, def_name); end + + # source://rbs//lib/rbs/prototype/rb.rb#545 + def if_unless_type(node); end + + # @return [Boolean] + # + # source://rbs//lib/rbs/prototype/rb.rb#766 + def is_accessibility?(decl); end + + # source://rbs//lib/rbs/prototype/rb.rb#462 + def literal_to_symbol(node); end + + # source://rbs//lib/rbs/prototype/rb.rb#566 + def literal_to_type(node); end + + # backward compatible + # + # source://rbs//lib/rbs/prototype/rb.rb#687 + def node_type(node, default: T.unsafe(nil)); end + + # source://rbs//lib/rbs/prototype/rb.rb#687 + def param_type(node, default: T.unsafe(nil)); end + + # source://rbs//lib/rbs/prototype/rb.rb#75 + def parse(string); end + + # source://rbs//lib/rbs/prototype/rb.rb#722 + def private; end + + # source://rbs//lib/rbs/prototype/rb.rb#107 + def process(node, decls:, comments:, context:); end + + # source://rbs//lib/rbs/prototype/rb.rb#426 + def process_children(node, decls:, comments:, context:); end + + # source://rbs//lib/rbs/prototype/rb.rb#726 + def public; end + + # source://rbs//lib/rbs/prototype/rb.rb#667 + def range_element_type(types); end + + # source://rbs//lib/rbs/prototype/rb.rb#740 + def remove_unnecessary_accessibility_methods!(decls); end + + # source://rbs//lib/rbs/prototype/rb.rb#788 + def sort_members!(decls); end + + # Returns the value of attribute source_decls. + # + # source://rbs//lib/rbs/prototype/rb.rb#42 + def source_decls; end + + # Returns the value of attribute toplevel_members. + # + # source://rbs//lib/rbs/prototype/rb.rb#43 + def toplevel_members; end + + # source://rbs//lib/rbs/prototype/rb.rb#656 + def types_to_union_type(types); end +end + +# source://rbs//lib/rbs/prototype/rb.rb#8 +class RBS::Prototype::RB::Context < ::Struct + # source://rbs//lib/rbs/prototype/rb.rb#25 + def attribute_kind; end + + # source://rbs//lib/rbs/prototype/rb.rb#33 + def enter_namespace(namespace); end + + def in_def; end + def in_def=(_); end + + # source://rbs//lib/rbs/prototype/rb.rb#15 + def method_kind; end + + def module_function; end + def module_function=(_); end + def namespace; end + def namespace=(_); end + def singleton; end + def singleton=(_); end + + # source://rbs//lib/rbs/prototype/rb.rb#37 + def update(module_function: T.unsafe(nil), singleton: T.unsafe(nil), in_def: T.unsafe(nil)); end + + class << self + def [](*_arg0); end + + # source://rbs//lib/rbs/prototype/rb.rb#11 + def initial(namespace: T.unsafe(nil)); end + + def inspect; end + def keyword_init?; end + def members; end + def new(*_arg0); end + end +end + +# source://rbs//lib/rbs/prototype/rbi.rb#5 +class RBS::Prototype::RBI + # @return [RBI] a new instance of RBI + # + # source://rbs//lib/rbs/prototype/rbi.rb#10 + def initialize; end + + # @return [Boolean] + # + # source://rbs//lib/rbs/prototype/rbi.rb#546 + def call_node?(node, name:, receiver: T.unsafe(nil), args: T.unsafe(nil)); end + + # source://rbs//lib/rbs/prototype/rbi.rb#550 + def const_to_name(node); end + + # source://rbs//lib/rbs/prototype/rbi.rb#90 + def current_module; end + + # source://rbs//lib/rbs/prototype/rbi.rb#94 + def current_module!; end + + # source://rbs//lib/rbs/prototype/rbi.rb#46 + def current_namespace; end + + # Returns the value of attribute decls. + # + # source://rbs//lib/rbs/prototype/rbi.rb#6 + def decls; end + + # source://rbs//lib/rbs/prototype/rbi.rb#586 + def each_arg(array, &block); end + + # source://rbs//lib/rbs/prototype/rbi.rb#600 + def each_child(node); end + + # source://rbs//lib/rbs/prototype/rbi.rb#112 + def join_comments(nodes, comments); end + + # Returns the value of attribute last_sig. + # + # source://rbs//lib/rbs/prototype/rbi.rb#8 + def last_sig; end + + # source://rbs//lib/rbs/prototype/rbi.rb#278 + def method_type(args_node, type_node, variables:, overloads:); end + + # Returns the value of attribute modules. + # + # source://rbs//lib/rbs/prototype/rbi.rb#7 + def modules; end + + # source://rbs//lib/rbs/prototype/rbi.rb#42 + def nested_name(name); end + + # source://rbs//lib/rbs/prototype/rbi.rb#608 + def node_to_hash(node); end + + # source://rbs//lib/rbs/prototype/rbi.rb#16 + def parse(string); end + + # source://rbs//lib/rbs/prototype/rbi.rb#340 + def parse_params(args_node, args, method_type, variables:, overloads:); end + + # source://rbs//lib/rbs/prototype/rbi.rb#106 + def pop_sig; end + + # @return [Boolean] + # + # source://rbs//lib/rbs/prototype/rbi.rb#538 + def proc_type?(type_node); end + + # source://rbs//lib/rbs/prototype/rbi.rb#117 + def process(node, comments:, outer: T.unsafe(nil)); end + + # source://rbs//lib/rbs/prototype/rbi.rb#52 + def push_class(name, super_class, comment:); end + + # source://rbs//lib/rbs/prototype/rbi.rb#71 + def push_module(name, comment:); end + + # source://rbs//lib/rbs/prototype/rbi.rb#98 + def push_sig(node); end + + # source://rbs//lib/rbs/prototype/rbi.rb#461 + def type_of(type_node, variables:); end + + # source://rbs//lib/rbs/prototype/rbi.rb#474 + def type_of0(type_node, variables:); end +end + +# source://rbs//lib/rbs/prototype/runtime/helpers.rb#5 +class RBS::Prototype::Runtime + include ::RBS::Prototype::Helpers + include ::RBS::Prototype::Runtime::Helpers + + # @return [Runtime] a new instance of Runtime + # + # source://rbs//lib/rbs/prototype/runtime.rb#70 + def initialize(patterns:, env:, merge:, todo: T.unsafe(nil), owners_included: T.unsafe(nil)); end + + # source://rbs//lib/rbs/prototype/runtime.rb#652 + def block_from_ast_of(method); end + + # source://rbs//lib/rbs/prototype/runtime.rb#100 + def builder; end + + # source://rbs//lib/rbs/prototype/runtime.rb#108 + def decls; end + + # Generate/find outer module declarations + # This is broken down into another method to comply with `DRY` + # This generates/finds declarations in nested form & returns the last array of declarations + # + # source://rbs//lib/rbs/prototype/runtime.rb#581 + def ensure_outer_module_declarations(mod); end + + # Returns the value of attribute env. + # + # source://rbs//lib/rbs/prototype/runtime.rb#64 + def env; end + + # source://rbs//lib/rbs/prototype/runtime.rb#486 + def generate_class(mod); end + + # source://rbs//lib/rbs/prototype/runtime.rb#424 + def generate_constants(mod, decls); end + + # source://rbs//lib/rbs/prototype/runtime.rb#298 + def generate_methods(mod, module_name, members); end + + # source://rbs//lib/rbs/prototype/runtime.rb#563 + def generate_mixin(mod, decl, type_name, type_name_absolute); end + + # source://rbs//lib/rbs/prototype/runtime.rb#525 + def generate_module(mod); end + + # source://rbs//lib/rbs/prototype/runtime.rb#471 + def generate_super_class(mod); end + + # Returns the value of attribute merge. + # + # source://rbs//lib/rbs/prototype/runtime.rb#65 + def merge; end + + # source://rbs//lib/rbs/prototype/runtime.rb#239 + def merge_rbs(module_name, members, instance: T.unsafe(nil), singleton: T.unsafe(nil)); end + + # source://rbs//lib/rbs/prototype/runtime.rb#170 + def method_type(method); end + + # Returns the value of attribute outline. + # + # source://rbs//lib/rbs/prototype/runtime.rb#68 + def outline; end + + # Sets the attribute outline + # + # @param value the value to set the attribute outline to. + # + # source://rbs//lib/rbs/prototype/runtime.rb#68 + def outline=(_arg0); end + + # Returns the value of attribute owners_included. + # + # source://rbs//lib/rbs/prototype/runtime.rb#67 + def owners_included; end + + # source://rbs//lib/rbs/prototype/runtime.rb#104 + def parse(file); end + + # Returns the value of attribute patterns. + # + # source://rbs//lib/rbs/prototype/runtime.rb#63 + def patterns; end + + # @return [Boolean] + # + # source://rbs//lib/rbs/prototype/runtime.rb#83 + def target?(const); end + + # @return [Boolean] + # + # source://rbs//lib/rbs/prototype/runtime.rb#285 + def target_method?(mod, instance: T.unsafe(nil), singleton: T.unsafe(nil)); end + + # Returns the value of attribute todo. + # + # source://rbs//lib/rbs/prototype/runtime.rb#66 + def todo; end + + # source://rbs//lib/rbs/prototype/runtime.rb#96 + def todo_object; end + + # source://rbs//lib/rbs/prototype/runtime.rb#635 + def type_args(type_name); end + + # source://rbs//lib/rbs/prototype/runtime.rb#643 + def type_params(mod); end + + private + + # @return [Boolean] + # + # source://rbs//lib/rbs/prototype/runtime.rb#414 + def can_alias?(mod, method); end + + # source://rbs//lib/rbs/prototype/runtime.rb#128 + def each_mixined_module(type_name, mod); end + + # source://rbs//lib/rbs/prototype/runtime.rb#137 + def each_mixined_module_one(type_name, mod); end +end + +# source://rbs//lib/rbs/prototype/runtime/value_object_generator.rb#211 +class RBS::Prototype::Runtime::DataGenerator < ::RBS::Prototype::Runtime::ValueObjectBase + private + + # source://rbs//lib/rbs/prototype/runtime/value_object_generator.rb#227 + def add_decl_members(decl); end + + # def self.new: (untyped foo, untyped bar) -> instance + # | (foo: untyped, bar: untyped) -> instance + # + # source://rbs//lib/rbs/prototype/runtime/value_object_generator.rb#235 + def build_s_new; end + + # source://rbs//lib/rbs/prototype/runtime/value_object_generator.rb#223 + def build_super_class; end + + class << self + # @return [Boolean] + # + # source://rbs//lib/rbs/prototype/runtime/value_object_generator.rb#212 + def generatable?(target); end + end +end + +# source://rbs//lib/rbs/prototype/runtime/helpers.rb#6 +module RBS::Prototype::Runtime::Helpers + private + + # source://rbs//lib/rbs/prototype/runtime/helpers.rb#19 + def const_name(const); end + + # source://rbs//lib/rbs/prototype/runtime/helpers.rb#15 + def const_name!(const); end + + # Returns the exact name & not compactly declared name + # + # source://rbs//lib/rbs/prototype/runtime/helpers.rb#10 + def only_name(mod); end + + # source://rbs//lib/rbs/prototype/runtime/helpers.rb#37 + def to_type_name(name, full_name: T.unsafe(nil)); end + + # source://rbs//lib/rbs/prototype/runtime/helpers.rb#53 + def untyped; end +end + +# source://rbs//lib/rbs/prototype/runtime/reflection.rb#6 +module RBS::Prototype::Runtime::Reflection + class << self + # source://rbs//lib/rbs/prototype/runtime/reflection.rb#12 + def constants_of(mod, inherit = T.unsafe(nil)); end + + # source://rbs//lib/rbs/prototype/runtime/reflection.rb#7 + def object_class(value); end + end +end + +# source://rbs//lib/rbs/prototype/runtime/value_object_generator.rb#89 +class RBS::Prototype::Runtime::StructGenerator < ::RBS::Prototype::Runtime::ValueObjectBase + private + + # source://rbs//lib/rbs/prototype/runtime/value_object_generator.rb#106 + def add_decl_members(decl); end + + # source://rbs//lib/rbs/prototype/runtime/value_object_generator.rb#163 + def build_overload_for_keyword_arguments; end + + # source://rbs//lib/rbs/prototype/runtime/value_object_generator.rb#149 + def build_overload_for_positional_arguments; end + + # def self.keyword_init?: () -> bool? + # + # source://rbs//lib/rbs/prototype/runtime/value_object_generator.rb#178 + def build_s_keyword_init_p; end + + # def self.new: (?untyped foo, ?untyped bar) -> instance + # | (?foo: untyped, ?bar: untyped) -> instance + # + # source://rbs//lib/rbs/prototype/runtime/value_object_generator.rb#115 + def build_s_new; end + + # source://rbs//lib/rbs/prototype/runtime/value_object_generator.rb#102 + def build_super_class; end + + class << self + # @return [Boolean] + # + # source://rbs//lib/rbs/prototype/runtime/value_object_generator.rb#90 + def generatable?(target); end + end +end + +# source://rbs//lib/rbs/prototype/runtime/value_object_generator.rb#100 +RBS::Prototype::Runtime::StructGenerator::CAN_CALL_KEYWORD_INIT_P = T.let(T.unsafe(nil), TrueClass) + +# source://rbs//lib/rbs/prototype/runtime.rb#10 +class RBS::Prototype::Runtime::Todo + # @return [Todo] a new instance of Todo + # + # source://rbs//lib/rbs/prototype/runtime.rb#11 + def initialize(builder:); end + + # @return [Boolean] + # + # source://rbs//lib/rbs/prototype/runtime.rb#42 + def skip_constant?(module_name:, name:); end + + # @return [Boolean] + # + # source://rbs//lib/rbs/prototype/runtime.rb#33 + def skip_instance_method?(module_name:, method:, accessibility:); end + + # @return [Boolean] + # + # source://rbs//lib/rbs/prototype/runtime.rb#15 + def skip_mixin?(type_name:, module_name:, mixin_class:); end + + # @return [Boolean] + # + # source://rbs//lib/rbs/prototype/runtime.rb#24 + def skip_singleton_method?(module_name:, method:, accessibility:); end + + private + + # source://rbs//lib/rbs/prototype/runtime.rb#49 + def mixin_decls(type_name); end +end + +# source://rbs//lib/rbs/prototype/runtime/value_object_generator.rb#8 +class RBS::Prototype::Runtime::ValueObjectBase + include ::RBS::Prototype::Runtime::Helpers + + # @return [ValueObjectBase] a new instance of ValueObjectBase + # + # source://rbs//lib/rbs/prototype/runtime/value_object_generator.rb#11 + def initialize(target_class); end + + # source://rbs//lib/rbs/prototype/runtime/value_object_generator.rb#15 + def build_decl; end + + private + + # attr_accessor foo: untyped + # + # source://rbs//lib/rbs/prototype/runtime/value_object_generator.rb#74 + def build_member_accessors(ast_members_class); end + + # def self.members: () -> [ :foo, :bar ] + # def members: () -> [ :foo, :bar ] + # + # source://rbs//lib/rbs/prototype/runtime/value_object_generator.rb#35 + def build_s_members; end +end + +# source://rbs//lib/rdoc_plugin/parser.rb#6 +module RBS::RDocPlugin; end + +# source://rbs//lib/rdoc_plugin/parser.rb#7 +class RBS::RDocPlugin::Parser + # @return [Parser] a new instance of Parser + # + # source://rbs//lib/rdoc_plugin/parser.rb#11 + def initialize(top_level, content); end + + # Returns the value of attribute content. + # + # source://rbs//lib/rdoc_plugin/parser.rb#9 + def content; end + + # Sets the attribute content + # + # @param value the value to set the attribute content to. + # + # source://rbs//lib/rdoc_plugin/parser.rb#9 + def content=(_arg0); end + + # source://rbs//lib/rdoc_plugin/parser.rb#94 + def parse_attr_decl(decl:, context:, outer_name: T.unsafe(nil)); end + + # source://rbs//lib/rdoc_plugin/parser.rb#53 + def parse_class_decl(decl:, context:, outer_name: T.unsafe(nil)); end + + # source://rbs//lib/rdoc_plugin/parser.rb#67 + def parse_constant_decl(decl:, context:, outer_name: T.unsafe(nil)); end + + # source://rbs//lib/rdoc_plugin/parser.rb#125 + def parse_extend_decl(decl:, context:, outer_name: T.unsafe(nil)); end + + # source://rbs//lib/rdoc_plugin/parser.rb#109 + def parse_include_decl(decl:, context:, outer_name: T.unsafe(nil)); end + + # source://rbs//lib/rdoc_plugin/parser.rb#24 + def parse_member(decl:, context:, outer_name: T.unsafe(nil)); end + + # source://rbs//lib/rdoc_plugin/parser.rb#88 + def parse_method_alias_decl(decl:, context:, outer_name: T.unsafe(nil)); end + + # source://rbs//lib/rdoc_plugin/parser.rb#73 + def parse_method_decl(decl:, context:, outer_name: T.unsafe(nil)); end + + # source://rbs//lib/rdoc_plugin/parser.rb#60 + def parse_module_decl(decl:, context:, outer_name: T.unsafe(nil)); end + + # source://rbs//lib/rdoc_plugin/parser.rb#16 + def scan; end + + # Returns the value of attribute top_level. + # + # source://rbs//lib/rdoc_plugin/parser.rb#9 + def top_level; end + + # Sets the attribute top_level + # + # @param value the value to set the attribute top_level to. + # + # source://rbs//lib/rdoc_plugin/parser.rb#9 + def top_level=(_arg0); end + + private + + # source://rbs//lib/rdoc_plugin/parser.rb#149 + def comment_string(with_comment); end + + # source://rbs//lib/rdoc_plugin/parser.rb#143 + def construct_comment(context:, comment:); end + + # source://rbs//lib/rdoc_plugin/parser.rb#154 + def fully_qualified_name(outer_name:, decl:); end +end + +# source://rbs//lib/rbs/errors.rb#415 +class RBS::RecursiveAliasDefinitionError < ::RBS::DefinitionError + include ::RBS::DetailedMessageable + + # @return [RecursiveAliasDefinitionError] a new instance of RecursiveAliasDefinitionError + # + # source://rbs//lib/rbs/errors.rb#421 + def initialize(type:, defs:); end + + # Returns the value of attribute defs. + # + # source://rbs//lib/rbs/errors.rb#419 + def defs; end + + # source://rbs//lib/rbs/errors.rb#428 + def location; end + + # Returns the value of attribute type. + # + # source://rbs//lib/rbs/errors.rb#418 + def type; end +end + +# source://rbs//lib/rbs/errors.rb#102 +class RBS::RecursiveAncestorError < ::RBS::DefinitionError + # @return [RecursiveAncestorError] a new instance of RecursiveAncestorError + # + # source://rbs//lib/rbs/errors.rb#106 + def initialize(ancestors:, location:); end + + # Returns the value of attribute ancestors. + # + # source://rbs//lib/rbs/errors.rb#103 + def ancestors; end + + # Returns the value of attribute location. + # + # source://rbs//lib/rbs/errors.rb#104 + def location; end + + class << self + # source://rbs//lib/rbs/errors.rb#126 + def check!(self_ancestor, ancestors:, location:); end + end +end + +# source://rbs//lib/rbs/errors.rb#474 +class RBS::RecursiveTypeAliasError < ::RBS::BaseError + include ::RBS::DetailedMessageable + + # @return [RecursiveTypeAliasError] a new instance of RecursiveTypeAliasError + # + # source://rbs//lib/rbs/errors.rb#480 + def initialize(alias_names:, location:); end + + # Returns the value of attribute alias_names. + # + # source://rbs//lib/rbs/errors.rb#477 + def alias_names; end + + # Returns the value of attribute location. + # + # source://rbs//lib/rbs/errors.rb#478 + def location; end + + # source://rbs//lib/rbs/errors.rb#487 + def name; end +end + +# source://rbs//lib/rbs/repository.rb#4 +class RBS::Repository + # @return [Repository] a new instance of Repository + # + # source://rbs//lib/rbs/repository.rb#74 + def initialize(no_stdlib: T.unsafe(nil)); end + + # source://rbs//lib/rbs/repository.rb#98 + def add(dir); end + + # Returns the value of attribute dirs. + # + # source://rbs//lib/rbs/repository.rb#71 + def dirs; end + + # Returns the value of attribute gems. + # + # source://rbs//lib/rbs/repository.rb#72 + def gems; end + + # source://rbs//lib/rbs/repository.rb#108 + def lookup(gem, version); end + + # source://rbs//lib/rbs/repository.rb#113 + def lookup_path(gem, version); end + + class << self + # source://rbs//lib/rbs/repository.rb#83 + def default; end + + # source://rbs//lib/rbs/repository.rb#87 + def find_best_version(version, candidates); end + end +end + +# source://rbs//lib/rbs/repository.rb#5 +RBS::Repository::DEFAULT_STDLIB_ROOT = T.let(T.unsafe(nil), Pathname) + +# source://rbs//lib/rbs/repository.rb#7 +class RBS::Repository::GemRBS + # @return [GemRBS] a new instance of GemRBS + # + # source://rbs//lib/rbs/repository.rb#11 + def initialize(name:); end + + # @return [Boolean] + # + # source://rbs//lib/rbs/repository.rb#64 + def empty?; end + + # source://rbs//lib/rbs/repository.rb#59 + def find_best_version(version); end + + # source://rbs//lib/rbs/repository.rb#54 + def latest_version; end + + # source://rbs//lib/rbs/repository.rb#22 + def load!; end + + # Returns the value of attribute name. + # + # source://rbs//lib/rbs/repository.rb#8 + def name; end + + # source://rbs//lib/rbs/repository.rb#49 + def oldest_version; end + + # Returns the value of attribute paths. + # + # source://rbs//lib/rbs/repository.rb#9 + def paths; end + + # source://rbs//lib/rbs/repository.rb#45 + def version_names; end + + # source://rbs//lib/rbs/repository.rb#17 + def versions; end +end + +# source://rbs//lib/rbs/repository.rb#69 +class RBS::Repository::VersionPath < ::Struct + def gem; end + def gem=(_); end + def path; end + def path=(_); end + def version; end + def version=(_); end + + class << self + def [](*_arg0); end + def inspect; end + def keyword_init?; end + def members; end + def new(*_arg0); end + end +end + +# source://rbs//lib/rbs/resolver/constant_resolver.rb#4 +module RBS::Resolver; end + +# source://rbs//lib/rbs/resolver/constant_resolver.rb#5 +class RBS::Resolver::ConstantResolver + # @return [ConstantResolver] a new instance of ConstantResolver + # + # source://rbs//lib/rbs/resolver/constant_resolver.rb#88 + def initialize(builder:); end + + # Returns the value of attribute builder. + # + # source://rbs//lib/rbs/resolver/constant_resolver.rb#85 + def builder; end + + # Returns the value of attribute child_constants_cache. + # + # source://rbs//lib/rbs/resolver/constant_resolver.rb#86 + def child_constants_cache; end + + # source://rbs//lib/rbs/resolver/constant_resolver.rb#112 + def children(module_name); end + + # source://rbs//lib/rbs/resolver/constant_resolver.rb#100 + def constants(context); end + + # source://rbs//lib/rbs/resolver/constant_resolver.rb#178 + def constants_from_ancestors(module_name, constants:); end + + # source://rbs//lib/rbs/resolver/constant_resolver.rb#163 + def constants_from_context(context, constants:); end + + # source://rbs//lib/rbs/resolver/constant_resolver.rb#201 + def constants_itself(context, constants:); end + + # Returns the value of attribute context_constants_cache. + # + # source://rbs//lib/rbs/resolver/constant_resolver.rb#86 + def context_constants_cache; end + + # source://rbs//lib/rbs/resolver/constant_resolver.rb#138 + def load_child_constants(name); end + + # source://rbs//lib/rbs/resolver/constant_resolver.rb#122 + def load_context_constants(context); end + + # source://rbs//lib/rbs/resolver/constant_resolver.rb#95 + def resolve(name, context:); end + + # source://rbs//lib/rbs/resolver/constant_resolver.rb#108 + def resolve_child(module_name, name); end + + # Returns the value of attribute table. + # + # source://rbs//lib/rbs/resolver/constant_resolver.rb#85 + def table; end +end + +# source://rbs//lib/rbs/resolver/constant_resolver.rb#6 +class RBS::Resolver::ConstantResolver::Table + # @return [Table] a new instance of Table + # + # source://rbs//lib/rbs/resolver/constant_resolver.rb#10 + def initialize(environment); end + + # source://rbs//lib/rbs/resolver/constant_resolver.rb#63 + def children(name); end + + # Returns the value of attribute children_table. + # + # source://rbs//lib/rbs/resolver/constant_resolver.rb#7 + def children_table; end + + # source://rbs//lib/rbs/resolver/constant_resolver.rb#67 + def constant(name); end + + # source://rbs//lib/rbs/resolver/constant_resolver.rb#80 + def constant_of_constant(name, entry); end + + # source://rbs//lib/rbs/resolver/constant_resolver.rb#71 + def constant_of_module(name, entry); end + + # Returns the value of attribute constants_table. + # + # source://rbs//lib/rbs/resolver/constant_resolver.rb#8 + def constants_table; end + + # Returns the value of attribute toplevel. + # + # source://rbs//lib/rbs/resolver/constant_resolver.rb#7 + def toplevel; end +end + +# source://rbs//lib/rbs/resolver/type_name_resolver.rb#5 +class RBS::Resolver::TypeNameResolver + # @return [TypeNameResolver] a new instance of TypeNameResolver + # + # source://rbs//lib/rbs/resolver/type_name_resolver.rb#10 + def initialize(env); end + + # Returns the value of attribute all_names. + # + # source://rbs//lib/rbs/resolver/type_name_resolver.rb#6 + def all_names; end + + # Returns the value of attribute cache. + # + # source://rbs//lib/rbs/resolver/type_name_resolver.rb#7 + def cache; end + + # Returns the value of attribute env. + # + # source://rbs//lib/rbs/resolver/type_name_resolver.rb#8 + def env; end + + # @return [Boolean] + # + # source://rbs//lib/rbs/resolver/type_name_resolver.rb#84 + def has_name?(full_name); end + + # source://rbs//lib/rbs/resolver/type_name_resolver.rb#51 + def partition(type_name); end + + # source://rbs//lib/rbs/resolver/type_name_resolver.rb#28 + def resolve(type_name, context:); end + + # source://rbs//lib/rbs/resolver/type_name_resolver.rb#69 + def resolve_in(head, context); end + + # source://rbs//lib/rbs/resolver/type_name_resolver.rb#21 + def try_cache(query); end +end + +# source://rbs//lib/rbs/substitution.rb#4 +class RBS::Substitution + # @return [Substitution] a new instance of Substitution + # + # source://rbs//lib/rbs/substitution.rb#12 + def initialize; end + + # source://rbs//lib/rbs/substitution.rb#66 + def +(other); end + + # source://rbs//lib/rbs/substitution.rb#37 + def [](ty); end + + # source://rbs//lib/rbs/substitution.rb#16 + def add(from:, to:); end + + # source://rbs//lib/rbs/substitution.rb#37 + def apply(ty); end + + # @return [Boolean] + # + # source://rbs//lib/rbs/substitution.rb#8 + def empty?; end + + # Returns the value of attribute instance_type. + # + # source://rbs//lib/rbs/substitution.rb#6 + def instance_type; end + + # Sets the attribute instance_type + # + # @param value the value to set the attribute instance_type to. + # + # source://rbs//lib/rbs/substitution.rb#6 + def instance_type=(_arg0); end + + # Returns the value of attribute mapping. + # + # source://rbs//lib/rbs/substitution.rb#5 + def mapping; end + + # source://rbs//lib/rbs/substitution.rb#55 + def without(*vars); end + + class << self + # source://rbs//lib/rbs/substitution.rb#20 + def build(variables, types, instance_type: T.unsafe(nil), &block); end + end +end + +# source://rbs//lib/rbs/subtractor.rb#4 +class RBS::Subtractor + # @return [Subtractor] a new instance of Subtractor + # + # source://rbs//lib/rbs/subtractor.rb#5 + def initialize(minuend, subtrahend); end + + # source://rbs//lib/rbs/subtractor.rb#10 + def call(minuend = T.unsafe(nil), context: T.unsafe(nil)); end + + private + + # source://rbs//lib/rbs/subtractor.rb#177 + def absolute_typename(name, context:); end + + # @return [Boolean] + # + # source://rbs//lib/rbs/subtractor.rb#160 + def access_modifier?(decl); end + + # @return [Boolean] + # + # source://rbs//lib/rbs/subtractor.rb#118 + def cvar_exist?(owner, name); end + + # source://rbs//lib/rbs/subtractor.rb#127 + def each_member(owner, &block); end + + # source://rbs//lib/rbs/subtractor.rb#48 + def filter_members(decl, context:); end + + # source://rbs//lib/rbs/subtractor.rb#148 + def filter_redundunt_access_modifiers(decls); end + + # @return [Boolean] + # + # source://rbs//lib/rbs/subtractor.rb#106 + def ivar_exist?(owner, name, kind); end + + # @return [Boolean] + # + # source://rbs//lib/rbs/subtractor.rb#60 + def member_exist?(owner, member, context:); end + + # @return [Boolean] + # + # source://rbs//lib/rbs/subtractor.rb#89 + def method_exist?(owner, method_name, kind); end + + # @return [Boolean] + # + # source://rbs//lib/rbs/subtractor.rb#137 + def mixin_exist?(owner, mixin, context:); end + + # source://rbs//lib/rbs/subtractor.rb#186 + def typename_candidates(name, context:); end + + # source://rbs//lib/rbs/subtractor.rb#164 + def update_decl(decl, members:); end +end + +# source://rbs//lib/rbs/errors.rb#335 +class RBS::SuperclassMismatchError < ::RBS::DefinitionError + # @return [SuperclassMismatchError] a new instance of SuperclassMismatchError + # + # source://rbs//lib/rbs/errors.rb#339 + def initialize(name:, entry:); end + + # Returns the value of attribute entry. + # + # source://rbs//lib/rbs/errors.rb#337 + def entry; end + + # Returns the value of attribute name. + # + # source://rbs//lib/rbs/errors.rb#336 + def name; end +end + +# source://rbs//lib/rbs/type_alias_dependency.rb#4 +class RBS::TypeAliasDependency + # @return [TypeAliasDependency] a new instance of TypeAliasDependency + # + # source://rbs//lib/rbs/type_alias_dependency.rb#14 + def initialize(env:); end + + # source://rbs//lib/rbs/type_alias_dependency.rb#27 + def build_dependencies; end + + # Check if an alias type definition is circular & prohibited + # + # @return [Boolean] + # + # source://rbs//lib/rbs/type_alias_dependency.rb#19 + def circular_definition?(alias_name); end + + # A hash which stores the transitive closure + # of the directed graph + # + # source://rbs//lib/rbs/type_alias_dependency.rb#12 + def dependencies; end + + # source://rbs//lib/rbs/type_alias_dependency.rb#57 + def dependencies_of(name); end + + # Direct dependencies corresponds to a directed graph + # with vertices as types and directions based on assignment of types + # + # source://rbs//lib/rbs/type_alias_dependency.rb#9 + def direct_dependencies; end + + # source://rbs//lib/rbs/type_alias_dependency.rb#52 + def direct_dependencies_of(name); end + + # Returns the value of attribute env. + # + # source://rbs//lib/rbs/type_alias_dependency.rb#5 + def env; end + + # source://rbs//lib/rbs/type_alias_dependency.rb#43 + def transitive_closure; end + + private + + # Recursive function to construct transitive closure + # + # source://rbs//lib/rbs/type_alias_dependency.rb#81 + def dependency(start, vertex, nested = T.unsafe(nil)); end + + # Constructs directed graph recursively + # + # source://rbs//lib/rbs/type_alias_dependency.rb#65 + def direct_dependency(type, result = T.unsafe(nil)); end +end + +# source://rbs//lib/rbs/type_alias_regularity.rb#4 +class RBS::TypeAliasRegularity + # @return [TypeAliasRegularity] a new instance of TypeAliasRegularity + # + # source://rbs//lib/rbs/type_alias_regularity.rb#16 + def initialize(env:); end + + # source://rbs//lib/rbs/type_alias_regularity.rb#61 + def build_alias_type(name); end + + # Returns the value of attribute builder. + # + # source://rbs//lib/rbs/type_alias_regularity.rb#14 + def builder; end + + # @return [Boolean] + # + # source://rbs//lib/rbs/type_alias_regularity.rb#69 + def compatible_args?(args1, args2); end + + # Returns the value of attribute diagnostics. + # + # source://rbs//lib/rbs/type_alias_regularity.rb#14 + def diagnostics; end + + # source://rbs//lib/rbs/type_alias_regularity.rb#110 + def each_alias_type(type, &block); end + + # source://rbs//lib/rbs/type_alias_regularity.rb#83 + def each_mutual_alias_defs(&block); end + + # Returns the value of attribute env. + # + # source://rbs//lib/rbs/type_alias_regularity.rb#14 + def env; end + + # @return [Boolean] + # + # source://rbs//lib/rbs/type_alias_regularity.rb#79 + def nonregular?(type_name); end + + # source://rbs//lib/rbs/type_alias_regularity.rb#22 + def validate; end + + # source://rbs//lib/rbs/type_alias_regularity.rb#39 + def validate_alias_type(alias_type, names, types); end + + class << self + # source://rbs//lib/rbs/type_alias_regularity.rb#120 + def validate(env:); end + end +end + +# source://rbs//lib/rbs/type_alias_regularity.rb#5 +class RBS::TypeAliasRegularity::Diagnostic + # @return [Diagnostic] a new instance of Diagnostic + # + # source://rbs//lib/rbs/type_alias_regularity.rb#8 + def initialize(type_name:, nonregular_type:); end + + # Returns the value of attribute nonregular_type. + # + # source://rbs//lib/rbs/type_alias_regularity.rb#6 + def nonregular_type; end + + # Returns the value of attribute type_name. + # + # source://rbs//lib/rbs/type_alias_regularity.rb#6 + def type_name; end +end + +# source://rbs//lib/rbs/type_name.rb#4 +class RBS::TypeName + # @return [TypeName] a new instance of TypeName + # + # source://rbs//lib/rbs/type_name.rb#9 + def initialize(namespace:, name:); end + + # source://rbs//lib/rbs/type_name.rb#79 + def +(other); end + + # source://rbs//lib/rbs/type_name.rb#25 + def ==(other); end + + # source://rbs//lib/rbs/type_name.rb#55 + def absolute!; end + + # @return [Boolean] + # + # source://rbs//lib/rbs/type_name.rb#59 + def absolute?; end + + # @return [Boolean] + # + # source://rbs//lib/rbs/type_name.rb#51 + def alias?; end + + # @return [Boolean] + # + # source://rbs//lib/rbs/type_name.rb#47 + def class?; end + + # source://rbs//lib/rbs/type_name.rb#25 + def eql?(other); end + + # source://rbs//lib/rbs/type_name.rb#31 + def hash; end + + # @return [Boolean] + # + # source://rbs//lib/rbs/type_name.rb#67 + def interface?; end + + # Returns the value of attribute kind. + # + # source://rbs//lib/rbs/type_name.rb#7 + def kind; end + + # Returns the value of attribute name. + # + # source://rbs//lib/rbs/type_name.rb#6 + def name; end + + # Returns the value of attribute namespace. + # + # source://rbs//lib/rbs/type_name.rb#5 + def namespace; end + + # source://rbs//lib/rbs/type_name.rb#63 + def relative!; end + + # source://rbs//lib/rbs/type_name.rb#75 + def split; end + + # source://rbs//lib/rbs/type_name.rb#39 + def to_json(state = T.unsafe(nil)); end + + # source://rbs//lib/rbs/type_name.rb#43 + def to_namespace; end + + # source://rbs//lib/rbs/type_name.rb#35 + def to_s; end + + # source://rbs//lib/rbs/type_name.rb#71 + def with_prefix(namespace); end +end + +# source://rbs//lib/rbs/types.rb#4 +module RBS::Types; end + +# source://rbs//lib/rbs/types.rb#394 +class RBS::Types::Alias + include ::RBS::Types::Application + + # @return [Alias] a new instance of Alias + # + # source://rbs//lib/rbs/types.rb#399 + def initialize(name:, args:, location:); end + + # Returns the value of attribute location. + # + # source://rbs//lib/rbs/types.rb#395 + def location; end + + # source://rbs//lib/rbs/types.rb#421 + def map_type(&block); end + + # source://rbs//lib/rbs/types.rb#413 + def map_type_name(&block); end + + # source://rbs//lib/rbs/types.rb#409 + def sub(s); end + + # source://rbs//lib/rbs/types.rb#405 + def to_json(state = T.unsafe(nil)); end +end + +# source://rbs//lib/rbs/types.rb#252 +module RBS::Types::Application + # source://rbs//lib/rbs/types.rb#256 + def ==(other); end + + # Returns the value of attribute args. + # + # source://rbs//lib/rbs/types.rb#254 + def args; end + + # source://rbs//lib/rbs/types.rb#282 + def each_type(&block); end + + # source://rbs//lib/rbs/types.rb#256 + def eql?(other); end + + # source://rbs//lib/rbs/types.rb#266 + def free_variables(set = T.unsafe(nil)); end + + # @return [Boolean] + # + # source://rbs//lib/rbs/types.rb#294 + def has_classish_type?; end + + # @return [Boolean] + # + # source://rbs//lib/rbs/types.rb#290 + def has_self_type?; end + + # source://rbs//lib/rbs/types.rb#262 + def hash; end + + # Returns the value of attribute name. + # + # source://rbs//lib/rbs/types.rb#253 + def name; end + + # source://rbs//lib/rbs/types.rb#274 + def to_s(level = T.unsafe(nil)); end + + # @return [Boolean] + # + # source://rbs//lib/rbs/types.rb#298 + def with_nonreturn_void?; end +end + +# source://rbs//lib/rbs/types.rb#41 +module RBS::Types::Bases; end + +# source://rbs//lib/rbs/types.rb#109 +class RBS::Types::Bases::Any < ::RBS::Types::Bases::Base + # source://rbs//lib/rbs/types.rb#110 + def to_s(level = T.unsafe(nil)); end + + # source://rbs//lib/rbs/types.rb#114 + def todo!; end +end + +# source://rbs//lib/rbs/types.rb#42 +class RBS::Types::Bases::Base + include ::RBS::Types::NoFreeVariables + include ::RBS::Types::NoSubst + include ::RBS::Types::EmptyEachType + include ::RBS::Types::NoTypeName + + # @return [Base] a new instance of Base + # + # source://rbs//lib/rbs/types.rb#45 + def initialize(location:); end + + # source://rbs//lib/rbs/types.rb#49 + def ==(other); end + + # source://rbs//lib/rbs/types.rb#49 + def eql?(other); end + + # @return [Boolean] + # + # source://rbs//lib/rbs/types.rb#98 + def has_classish_type?; end + + # @return [Boolean] + # + # source://rbs//lib/rbs/types.rb#94 + def has_self_type?; end + + # source://rbs//lib/rbs/types.rb#53 + def hash; end + + # Returns the value of attribute location. + # + # source://rbs//lib/rbs/types.rb#43 + def location; end + + # source://rbs//lib/rbs/types.rb#64 + def to_json(state = T.unsafe(nil)); end + + # source://rbs//lib/rbs/types.rb#69 + def to_s(level = T.unsafe(nil)); end + + # @return [Boolean] + # + # source://rbs//lib/rbs/types.rb#102 + def with_nonreturn_void?; end +end + +# source://rbs//lib/rbs/types.rb#107 +class RBS::Types::Bases::Bool < ::RBS::Types::Bases::Base; end + +# source://rbs//lib/rbs/types.rb#121 +class RBS::Types::Bases::Bottom < ::RBS::Types::Bases::Base; end + +# source://rbs//lib/rbs/types.rb#128 +class RBS::Types::Bases::Class < ::RBS::Types::Bases::Base; end + +# source://rbs//lib/rbs/types.rb#123 +class RBS::Types::Bases::Instance < ::RBS::Types::Bases::Base + # source://rbs//lib/rbs/types.rb#124 + def sub(s); end +end + +# source://rbs//lib/rbs/types.rb#119 +class RBS::Types::Bases::Nil < ::RBS::Types::Bases::Base; end + +# source://rbs//lib/rbs/types.rb#122 +class RBS::Types::Bases::Self < ::RBS::Types::Bases::Base; end + +# source://rbs//lib/rbs/types.rb#120 +class RBS::Types::Bases::Top < ::RBS::Types::Bases::Base; end + +# source://rbs//lib/rbs/types.rb#108 +class RBS::Types::Bases::Void < ::RBS::Types::Bases::Base; end + +# source://rbs//lib/rbs/types.rb#1184 +class RBS::Types::Block + # @return [Block] a new instance of Block + # + # source://rbs//lib/rbs/types.rb#1189 + def initialize(type:, required:, self_type: T.unsafe(nil)); end + + # source://rbs//lib/rbs/types.rb#1195 + def ==(other); end + + # source://rbs//lib/rbs/types.rb#1218 + def map_type(&block); end + + # Returns the value of attribute required. + # + # source://rbs//lib/rbs/types.rb#1186 + def required; end + + # Returns the value of attribute self_type. + # + # source://rbs//lib/rbs/types.rb#1187 + def self_type; end + + # source://rbs//lib/rbs/types.rb#1210 + def sub(s); end + + # source://rbs//lib/rbs/types.rb#1202 + def to_json(state = T.unsafe(nil)); end + + # Returns the value of attribute type. + # + # source://rbs//lib/rbs/types.rb#1185 + def type; end +end + +# source://rbs//lib/rbs/types.rb#352 +class RBS::Types::ClassInstance + include ::RBS::Types::Application + + # @return [ClassInstance] a new instance of ClassInstance + # + # source://rbs//lib/rbs/types.rb#357 + def initialize(name:, args:, location:); end + + # Returns the value of attribute location. + # + # source://rbs//lib/rbs/types.rb#353 + def location; end + + # source://rbs//lib/rbs/types.rb#381 + def map_type(&block); end + + # source://rbs//lib/rbs/types.rb#373 + def map_type_name(&block); end + + # source://rbs//lib/rbs/types.rb#367 + def sub(s); end + + # source://rbs//lib/rbs/types.rb#363 + def to_json(state = T.unsafe(nil)); end +end + +# source://rbs//lib/rbs/types.rb#200 +class RBS::Types::ClassSingleton + include ::RBS::Types::NoFreeVariables + include ::RBS::Types::NoSubst + include ::RBS::Types::EmptyEachType + + # @return [ClassSingleton] a new instance of ClassSingleton + # + # source://rbs//lib/rbs/types.rb#204 + def initialize(name:, location:); end + + # source://rbs//lib/rbs/types.rb#209 + def ==(other); end + + # source://rbs//lib/rbs/types.rb#209 + def eql?(other); end + + # @return [Boolean] + # + # source://rbs//lib/rbs/types.rb#243 + def has_classish_type?; end + + # @return [Boolean] + # + # source://rbs//lib/rbs/types.rb#239 + def has_self_type?; end + + # source://rbs//lib/rbs/types.rb#215 + def hash; end + + # Returns the value of attribute location. + # + # source://rbs//lib/rbs/types.rb#202 + def location; end + + # source://rbs//lib/rbs/types.rb#232 + def map_type_name; end + + # Returns the value of attribute name. + # + # source://rbs//lib/rbs/types.rb#201 + def name; end + + # source://rbs//lib/rbs/types.rb#222 + def to_json(state = T.unsafe(nil)); end + + # source://rbs//lib/rbs/types.rb#226 + def to_s(level = T.unsafe(nil)); end + + # @return [Boolean] + # + # source://rbs//lib/rbs/types.rb#247 + def with_nonreturn_void?; end +end + +# source://rbs//lib/rbs/types.rb#23 +module RBS::Types::EmptyEachType + # source://rbs//lib/rbs/types.rb#24 + def each_type; end + + # source://rbs//lib/rbs/types.rb#32 + def map_type(&block); end +end + +# source://rbs//lib/rbs/types.rb#850 +class RBS::Types::Function + # @return [Function] a new instance of Function + # + # source://rbs//lib/rbs/types.rb#906 + def initialize(required_positionals:, optional_positionals:, rest_positionals:, trailing_positionals:, required_keywords:, optional_keywords:, rest_keywords:, return_type:); end + + # source://rbs//lib/rbs/types.rb#917 + def ==(other); end + + # source://rbs//lib/rbs/types.rb#988 + def amap(array, &block); end + + # source://rbs//lib/rbs/types.rb#1125 + def drop_head; end + + # source://rbs//lib/rbs/types.rb#1142 + def drop_tail; end + + # source://rbs//lib/rbs/types.rb#1025 + def each_param(&block); end + + # source://rbs//lib/rbs/types.rb#1010 + def each_type; end + + # @return [Boolean] + # + # source://rbs//lib/rbs/types.rb#1096 + def empty?; end + + # source://rbs//lib/rbs/types.rb#917 + def eql?(other); end + + # source://rbs//lib/rbs/types.rb#943 + def free_variables(set = T.unsafe(nil)); end + + # @return [Boolean] + # + # source://rbs//lib/rbs/types.rb#1167 + def has_classish_type?; end + + # @return [Boolean] + # + # source://rbs//lib/rbs/types.rb#1155 + def has_keyword?; end + + # @return [Boolean] + # + # source://rbs//lib/rbs/types.rb#1163 + def has_self_type?; end + + # source://rbs//lib/rbs/types.rb#931 + def hash; end + + # source://rbs//lib/rbs/types.rb#996 + def hmapv(hash, &block); end + + # source://rbs//lib/rbs/types.rb#971 + def map_type(&block); end + + # source://rbs//lib/rbs/types.rb#1004 + def map_type_name(&block); end + + # Returns the value of attribute optional_keywords. + # + # source://rbs//lib/rbs/types.rb#902 + def optional_keywords; end + + # Returns the value of attribute optional_positionals. + # + # source://rbs//lib/rbs/types.rb#898 + def optional_positionals; end + + # source://rbs//lib/rbs/types.rb#1106 + def param_to_s; end + + # Returns the value of attribute required_keywords. + # + # source://rbs//lib/rbs/types.rb#901 + def required_keywords; end + + # Returns the value of attribute required_positionals. + # + # source://rbs//lib/rbs/types.rb#897 + def required_positionals; end + + # Returns the value of attribute rest_keywords. + # + # source://rbs//lib/rbs/types.rb#903 + def rest_keywords; end + + # Returns the value of attribute rest_positionals. + # + # source://rbs//lib/rbs/types.rb#899 + def rest_positionals; end + + # source://rbs//lib/rbs/types.rb#1121 + def return_to_s; end + + # Returns the value of attribute return_type. + # + # source://rbs//lib/rbs/types.rb#904 + def return_type; end + + # source://rbs//lib/rbs/types.rb#1052 + def sub(s); end + + # source://rbs//lib/rbs/types.rb#1039 + def to_json(state = T.unsafe(nil)); end + + # Returns the value of attribute trailing_positionals. + # + # source://rbs//lib/rbs/types.rb#900 + def trailing_positionals; end + + # source://rbs//lib/rbs/types.rb#1082 + def update(required_positionals: T.unsafe(nil), optional_positionals: T.unsafe(nil), rest_positionals: T.unsafe(nil), trailing_positionals: T.unsafe(nil), required_keywords: T.unsafe(nil), optional_keywords: T.unsafe(nil), rest_keywords: T.unsafe(nil), return_type: T.unsafe(nil)); end + + # @return [Boolean] + # + # source://rbs//lib/rbs/types.rb#1171 + def with_nonreturn_void?; end + + # source://rbs//lib/rbs/types.rb#1069 + def with_return_type(type); end + + class << self + # source://rbs//lib/rbs/types.rb#1056 + def empty(return_type); end + end +end + +# source://rbs//lib/rbs/types.rb#851 +class RBS::Types::Function::Param + # @return [Param] a new instance of Param + # + # source://rbs//lib/rbs/types.rb#856 + def initialize(type:, name:, location: T.unsafe(nil)); end + + # source://rbs//lib/rbs/types.rb#862 + def ==(other); end + + # source://rbs//lib/rbs/types.rb#862 + def eql?(other); end + + # source://rbs//lib/rbs/types.rb#868 + def hash; end + + # Returns the value of attribute location. + # + # source://rbs//lib/rbs/types.rb#854 + def location; end + + # source://rbs//lib/rbs/types.rb#872 + def map_type(&block); end + + # Returns the value of attribute name. + # + # source://rbs//lib/rbs/types.rb#853 + def name; end + + # source://rbs//lib/rbs/types.rb#880 + def to_json(state = T.unsafe(nil)); end + + # source://rbs//lib/rbs/types.rb#884 + def to_s; end + + # Returns the value of attribute type. + # + # source://rbs//lib/rbs/types.rb#852 + def type; end +end + +# source://rbs//lib/rbs/types.rb#310 +class RBS::Types::Interface + include ::RBS::Types::Application + + # @return [Interface] a new instance of Interface + # + # source://rbs//lib/rbs/types.rb#315 + def initialize(name:, args:, location:); end + + # Returns the value of attribute location. + # + # source://rbs//lib/rbs/types.rb#311 + def location; end + + # source://rbs//lib/rbs/types.rb#339 + def map_type(&block); end + + # source://rbs//lib/rbs/types.rb#331 + def map_type_name(&block); end + + # source://rbs//lib/rbs/types.rb#325 + def sub(s); end + + # source://rbs//lib/rbs/types.rb#321 + def to_json(state = T.unsafe(nil)); end +end + +# source://rbs//lib/rbs/types.rb#769 +class RBS::Types::Intersection + # @return [Intersection] a new instance of Intersection + # + # source://rbs//lib/rbs/types.rb#773 + def initialize(types:, location:); end + + # source://rbs//lib/rbs/types.rb#778 + def ==(other); end + + # source://rbs//lib/rbs/types.rb#814 + def each_type(&block); end + + # source://rbs//lib/rbs/types.rb#778 + def eql?(other); end + + # source://rbs//lib/rbs/types.rb#788 + def free_variables(set = T.unsafe(nil)); end + + # @return [Boolean] + # + # source://rbs//lib/rbs/types.rb#841 + def has_classish_type?; end + + # @return [Boolean] + # + # source://rbs//lib/rbs/types.rb#837 + def has_self_type?; end + + # source://rbs//lib/rbs/types.rb#784 + def hash; end + + # Returns the value of attribute location. + # + # source://rbs//lib/rbs/types.rb#771 + def location; end + + # source://rbs//lib/rbs/types.rb#822 + def map_type(&block); end + + # source://rbs//lib/rbs/types.rb#830 + def map_type_name(&block); end + + # source://rbs//lib/rbs/types.rb#800 + def sub(s); end + + # source://rbs//lib/rbs/types.rb#796 + def to_json(state = T.unsafe(nil)); end + + # source://rbs//lib/rbs/types.rb#805 + def to_s(level = T.unsafe(nil)); end + + # Returns the value of attribute types. + # + # source://rbs//lib/rbs/types.rb#770 + def types; end + + # @return [Boolean] + # + # source://rbs//lib/rbs/types.rb#845 + def with_nonreturn_void?; end +end + +# source://rbs//lib/rbs/types.rb#1359 +class RBS::Types::Literal + include ::RBS::Types::NoFreeVariables + include ::RBS::Types::NoSubst + include ::RBS::Types::EmptyEachType + include ::RBS::Types::NoTypeName + + # @return [Literal] a new instance of Literal + # + # source://rbs//lib/rbs/types.rb#1363 + def initialize(literal:, location:); end + + # source://rbs//lib/rbs/types.rb#1368 + def ==(other); end + + # source://rbs//lib/rbs/types.rb#1368 + def eql?(other); end + + # @return [Boolean] + # + # source://rbs//lib/rbs/types.rb#1395 + def has_classish_type?; end + + # @return [Boolean] + # + # source://rbs//lib/rbs/types.rb#1391 + def has_self_type?; end + + # source://rbs//lib/rbs/types.rb#1374 + def hash; end + + # Returns the value of attribute literal. + # + # source://rbs//lib/rbs/types.rb#1360 + def literal; end + + # Returns the value of attribute location. + # + # source://rbs//lib/rbs/types.rb#1361 + def location; end + + # source://rbs//lib/rbs/types.rb#1383 + def to_json(state = T.unsafe(nil)); end + + # source://rbs//lib/rbs/types.rb#1387 + def to_s(level = T.unsafe(nil)); end + + # @return [Boolean] + # + # source://rbs//lib/rbs/types.rb#1399 + def with_nonreturn_void?; end + + class << self + # source://rbs//lib/rbs/types.rb#1419 + def unescape_string(string, is_double_quote); end + end +end + +# source://rbs//lib/rbs/types.rb#1403 +RBS::Types::Literal::TABLE = T.let(T.unsafe(nil), Hash) + +# source://rbs//lib/rbs/types.rb#5 +module RBS::Types::NoFreeVariables + # source://rbs//lib/rbs/types.rb#6 + def free_variables(set = T.unsafe(nil)); end +end + +# source://rbs//lib/rbs/types.rb#11 +module RBS::Types::NoSubst + # source://rbs//lib/rbs/types.rb#12 + def sub(s); end +end + +# source://rbs//lib/rbs/types.rb#17 +module RBS::Types::NoTypeName + # source://rbs//lib/rbs/types.rb#18 + def map_type_name; end +end + +# source://rbs//lib/rbs/types.rb#605 +class RBS::Types::Optional + # @return [Optional] a new instance of Optional + # + # source://rbs//lib/rbs/types.rb#609 + def initialize(type:, location:); end + + # source://rbs//lib/rbs/types.rb#614 + def ==(other); end + + # source://rbs//lib/rbs/types.rb#650 + def each_type; end + + # source://rbs//lib/rbs/types.rb#614 + def eql?(other); end + + # source://rbs//lib/rbs/types.rb#624 + def free_variables(set = T.unsafe(nil)); end + + # @return [Boolean] + # + # source://rbs//lib/rbs/types.rb#680 + def has_classish_type?; end + + # @return [Boolean] + # + # source://rbs//lib/rbs/types.rb#676 + def has_self_type?; end + + # source://rbs//lib/rbs/types.rb#620 + def hash; end + + # Returns the value of attribute location. + # + # source://rbs//lib/rbs/types.rb#607 + def location; end + + # source://rbs//lib/rbs/types.rb#665 + def map_type(&block); end + + # source://rbs//lib/rbs/types.rb#658 + def map_type_name(&block); end + + # source://rbs//lib/rbs/types.rb#632 + def sub(s); end + + # source://rbs//lib/rbs/types.rb#628 + def to_json(state = T.unsafe(nil)); end + + # source://rbs//lib/rbs/types.rb#636 + def to_s(level = T.unsafe(nil)); end + + # Returns the value of attribute type. + # + # source://rbs//lib/rbs/types.rb#606 + def type; end + + # @return [Boolean] + # + # source://rbs//lib/rbs/types.rb#684 + def with_nonreturn_void?; end +end + +# source://rbs//lib/rbs/types.rb#1239 +class RBS::Types::Proc + # @return [Proc] a new instance of Proc + # + # source://rbs//lib/rbs/types.rb#1245 + def initialize(location:, type:, block:, self_type: T.unsafe(nil)); end + + # source://rbs//lib/rbs/types.rb#1252 + def ==(other); end + + # Returns the value of attribute block. + # + # source://rbs//lib/rbs/types.rb#1241 + def block; end + + # source://rbs//lib/rbs/types.rb#1304 + def each_type(&block); end + + # source://rbs//lib/rbs/types.rb#1252 + def eql?(other); end + + # source://rbs//lib/rbs/types.rb#1262 + def free_variables(set = T.unsafe(nil)); end + + # @return [Boolean] + # + # source://rbs//lib/rbs/types.rb#1342 + def has_classish_type?; end + + # @return [Boolean] + # + # source://rbs//lib/rbs/types.rb#1338 + def has_self_type?; end + + # source://rbs//lib/rbs/types.rb#1258 + def hash; end + + # Returns the value of attribute location. + # + # source://rbs//lib/rbs/types.rb#1243 + def location; end + + # source://rbs//lib/rbs/types.rb#1325 + def map_type(&block); end + + # source://rbs//lib/rbs/types.rb#1316 + def map_type_name(&block); end + + # Returns the value of attribute self_type. + # + # source://rbs//lib/rbs/types.rb#1242 + def self_type; end + + # source://rbs//lib/rbs/types.rb#1279 + def sub(s); end + + # source://rbs//lib/rbs/types.rb#1269 + def to_json(state = T.unsafe(nil)); end + + # source://rbs//lib/rbs/types.rb#1288 + def to_s(level = T.unsafe(nil)); end + + # Returns the value of attribute type. + # + # source://rbs//lib/rbs/types.rb#1240 + def type; end + + # @return [Boolean] + # + # source://rbs//lib/rbs/types.rb#1346 + def with_nonreturn_void?; end +end + +# source://rbs//lib/rbs/types.rb#517 +class RBS::Types::Record + # @return [Record] a new instance of Record + # + # source://rbs//lib/rbs/types.rb#521 + def initialize(fields:, location:); end + + # source://rbs//lib/rbs/types.rb#526 + def ==(other); end + + # source://rbs//lib/rbs/types.rb#566 + def each_type(&block); end + + # source://rbs//lib/rbs/types.rb#526 + def eql?(other); end + + # Returns the value of attribute fields. + # + # source://rbs//lib/rbs/types.rb#518 + def fields; end + + # source://rbs//lib/rbs/types.rb#536 + def free_variables(set = T.unsafe(nil)); end + + # @return [Boolean] + # + # source://rbs//lib/rbs/types.rb#596 + def has_classish_type?; end + + # @return [Boolean] + # + # source://rbs//lib/rbs/types.rb#592 + def has_self_type?; end + + # source://rbs//lib/rbs/types.rb#532 + def hash; end + + # Returns the value of attribute location. + # + # source://rbs//lib/rbs/types.rb#519 + def location; end + + # source://rbs//lib/rbs/types.rb#581 + def map_type(&block); end + + # source://rbs//lib/rbs/types.rb#574 + def map_type_name(&block); end + + # source://rbs//lib/rbs/types.rb#548 + def sub(s); end + + # source://rbs//lib/rbs/types.rb#544 + def to_json(state = T.unsafe(nil)); end + + # source://rbs//lib/rbs/types.rb#553 + def to_s(level = T.unsafe(nil)); end + + # @return [Boolean] + # + # source://rbs//lib/rbs/types.rb#600 + def with_nonreturn_void?; end +end + +# source://rbs//lib/rbs/types.rb#1227 +module RBS::Types::SelfTypeBindingHelper + private + + # source://rbs//lib/rbs/types.rb#1230 + def self_type_binding_to_s(t); end + + class << self + # source://rbs//lib/rbs/types.rb#1230 + def self_type_binding_to_s(t); end + end +end + +# source://rbs//lib/rbs/types.rb#434 +class RBS::Types::Tuple + # @return [Tuple] a new instance of Tuple + # + # source://rbs//lib/rbs/types.rb#438 + def initialize(types:, location:); end + + # source://rbs//lib/rbs/types.rb#443 + def ==(other); end + + # source://rbs//lib/rbs/types.rb#478 + def each_type(&block); end + + # source://rbs//lib/rbs/types.rb#443 + def eql?(other); end + + # source://rbs//lib/rbs/types.rb#453 + def free_variables(set = T.unsafe(nil)); end + + # @return [Boolean] + # + # source://rbs//lib/rbs/types.rb#508 + def has_classish_type?; end + + # @return [Boolean] + # + # source://rbs//lib/rbs/types.rb#504 + def has_self_type?; end + + # source://rbs//lib/rbs/types.rb#449 + def hash; end + + # Returns the value of attribute location. + # + # source://rbs//lib/rbs/types.rb#436 + def location; end + + # source://rbs//lib/rbs/types.rb#493 + def map_type(&block); end + + # source://rbs//lib/rbs/types.rb#486 + def map_type_name(&block); end + + # source://rbs//lib/rbs/types.rb#465 + def sub(s); end + + # source://rbs//lib/rbs/types.rb#461 + def to_json(state = T.unsafe(nil)); end + + # source://rbs//lib/rbs/types.rb#470 + def to_s(level = T.unsafe(nil)); end + + # Returns the value of attribute types. + # + # source://rbs//lib/rbs/types.rb#435 + def types; end + + # @return [Boolean] + # + # source://rbs//lib/rbs/types.rb#512 + def with_nonreturn_void?; end +end + +# source://rbs//lib/rbs/types.rb#689 +class RBS::Types::Union + # @return [Union] a new instance of Union + # + # source://rbs//lib/rbs/types.rb#693 + def initialize(types:, location:); end + + # source://rbs//lib/rbs/types.rb#698 + def ==(other); end + + # source://rbs//lib/rbs/types.rb#733 + def each_type(&block); end + + # source://rbs//lib/rbs/types.rb#698 + def eql?(other); end + + # source://rbs//lib/rbs/types.rb#708 + def free_variables(set = T.unsafe(nil)); end + + # @return [Boolean] + # + # source://rbs//lib/rbs/types.rb#760 + def has_classish_type?; end + + # @return [Boolean] + # + # source://rbs//lib/rbs/types.rb#756 + def has_self_type?; end + + # source://rbs//lib/rbs/types.rb#704 + def hash; end + + # Returns the value of attribute location. + # + # source://rbs//lib/rbs/types.rb#691 + def location; end + + # source://rbs//lib/rbs/types.rb#741 + def map_type(&block); end + + # source://rbs//lib/rbs/types.rb#749 + def map_type_name(&block); end + + # source://rbs//lib/rbs/types.rb#720 + def sub(s); end + + # source://rbs//lib/rbs/types.rb#716 + def to_json(state = T.unsafe(nil)); end + + # source://rbs//lib/rbs/types.rb#725 + def to_s(level = T.unsafe(nil)); end + + # Returns the value of attribute types. + # + # source://rbs//lib/rbs/types.rb#690 + def types; end + + # @return [Boolean] + # + # source://rbs//lib/rbs/types.rb#764 + def with_nonreturn_void?; end +end + +# source://rbs//lib/rbs/types.rb#131 +class RBS::Types::Variable + include ::RBS::Types::NoTypeName + include ::RBS::Types::EmptyEachType + + # @return [Variable] a new instance of Variable + # + # source://rbs//lib/rbs/types.rb#137 + def initialize(name:, location:); end + + # source://rbs//lib/rbs/types.rb#142 + def ==(other); end + + # source://rbs//lib/rbs/types.rb#142 + def eql?(other); end + + # source://rbs//lib/rbs/types.rb#152 + def free_variables(set = T.unsafe(nil)); end + + # @return [Boolean] + # + # source://rbs//lib/rbs/types.rb#191 + def has_classish_type?; end + + # @return [Boolean] + # + # source://rbs//lib/rbs/types.rb#187 + def has_self_type?; end + + # source://rbs//lib/rbs/types.rb#148 + def hash; end + + # Returns the value of attribute location. + # + # source://rbs//lib/rbs/types.rb#133 + def location; end + + # Returns the value of attribute name. + # + # source://rbs//lib/rbs/types.rb#132 + def name; end + + # source://rbs//lib/rbs/types.rb#162 + def sub(s); end + + # source://rbs//lib/rbs/types.rb#158 + def to_json(state = T.unsafe(nil)); end + + # source://rbs//lib/rbs/types.rb#181 + def to_s(level = T.unsafe(nil)); end + + # @return [Boolean] + # + # source://rbs//lib/rbs/types.rb#195 + def with_nonreturn_void?; end + + class << self + # source://rbs//lib/rbs/types.rb#166 + def build(v); end + + # source://rbs//lib/rbs/types.rb#176 + def fresh(v = T.unsafe(nil)); end + end +end + +# source://rbs//lib/rbs/errors.rb#317 +class RBS::UnknownMethodAliasError < ::RBS::DefinitionError + include ::RBS::DetailedMessageable + + # @return [UnknownMethodAliasError] a new instance of UnknownMethodAliasError + # + # source://rbs//lib/rbs/errors.rb#325 + def initialize(type_name:, original_name:, aliased_name:, location:); end + + # Returns the value of attribute aliased_name. + # + # source://rbs//lib/rbs/errors.rb#322 + def aliased_name; end + + # Returns the value of attribute location. + # + # source://rbs//lib/rbs/errors.rb#323 + def location; end + + # Returns the value of attribute original_name. + # + # source://rbs//lib/rbs/errors.rb#321 + def original_name; end + + # Returns the value of attribute type_name. + # + # source://rbs//lib/rbs/errors.rb#320 + def type_name; end +end + +# source://rbs//lib/rbs/version.rb#4 +RBS::VERSION = T.let(T.unsafe(nil), String) + +# source://rbs//lib/rbs/validator.rb#4 +class RBS::Validator + # @return [Validator] a new instance of Validator + # + # source://rbs//lib/rbs/validator.rb#9 + def initialize(env:, resolver:); end + + # source://rbs//lib/rbs/validator.rb#15 + def absolute_type(type, context:, &block); end + + # Returns the value of attribute definition_builder. + # + # source://rbs//lib/rbs/validator.rb#7 + def definition_builder; end + + # Returns the value of attribute env. + # + # source://rbs//lib/rbs/validator.rb#5 + def env; end + + # Returns the value of attribute resolver. + # + # source://rbs//lib/rbs/validator.rb#6 + def resolver; end + + # source://rbs//lib/rbs/validator.rb#172 + def type_alias_dependency; end + + # source://rbs//lib/rbs/validator.rb#176 + def type_alias_regularity; end + + # source://rbs//lib/rbs/validator.rb#152 + def validate_class_alias(entry:); end + + # source://rbs//lib/rbs/validator.rb#102 + def validate_method_definition(method_def, type_name:); end + + # Validates presence of the relative type, and application arity match. + # + # source://rbs//lib/rbs/validator.rb#22 + def validate_type(type, context:); end + + # source://rbs//lib/rbs/validator.rb#61 + def validate_type_alias(entry:); end + + # source://rbs//lib/rbs/validator.rb#118 + def validate_type_params(params, type_name:, location:, method_name: T.unsafe(nil)); end +end + +# source://rbs//lib/rbs/variance_calculator.rb#4 +class RBS::VarianceCalculator + # @return [VarianceCalculator] a new instance of VarianceCalculator + # + # source://rbs//lib/rbs/variance_calculator.rb#78 + def initialize(builder:); end + + # Returns the value of attribute builder. + # + # source://rbs//lib/rbs/variance_calculator.rb#76 + def builder; end + + # source://rbs//lib/rbs/variance_calculator.rb#82 + def env; end + + # source://rbs//lib/rbs/variance_calculator.rb#169 + def function(type, result:, context:); end + + # source://rbs//lib/rbs/variance_calculator.rb#98 + def in_inherit(name:, args:, variables:); end + + # source://rbs//lib/rbs/variance_calculator.rb#86 + def in_method_type(method_type:, variables:); end + + # source://rbs//lib/rbs/variance_calculator.rb#110 + def in_type_alias(name:); end + + # source://rbs//lib/rbs/variance_calculator.rb#176 + def negate(variance); end + + # source://rbs//lib/rbs/variance_calculator.rb#121 + def type(type, result:, context:); end +end + +# source://rbs//lib/rbs/variance_calculator.rb#5 +class RBS::VarianceCalculator::Result + # @return [Result] a new instance of Result + # + # source://rbs//lib/rbs/variance_calculator.rb#8 + def initialize(variables:); end + + # @return [Boolean] + # + # source://rbs//lib/rbs/variance_calculator.rb#45 + def compatible?(var, with_annotation:); end + + # source://rbs//lib/rbs/variance_calculator.rb#24 + def contravariant(x); end + + # source://rbs//lib/rbs/variance_calculator.rb#15 + def covariant(x); end + + # source://rbs//lib/rbs/variance_calculator.rb#37 + def each(&block); end + + # @return [Boolean] + # + # source://rbs//lib/rbs/variance_calculator.rb#41 + def include?(name); end + + # @return [Boolean] + # + # source://rbs//lib/rbs/variance_calculator.rb#60 + def incompatible?(params); end + + # source://rbs//lib/rbs/variance_calculator.rb#33 + def invariant(x); end + + # Returns the value of attribute result. + # + # source://rbs//lib/rbs/variance_calculator.rb#6 + def result; end +end + +# source://rbs//lib/rbs/vendorer.rb#4 +class RBS::Vendorer + # @return [Vendorer] a new instance of Vendorer + # + # source://rbs//lib/rbs/vendorer.rb#8 + def initialize(vendor_dir:, loader:); end + + # source://rbs//lib/rbs/vendorer.rb#21 + def clean!; end + + # source://rbs//lib/rbs/vendorer.rb#28 + def copy!; end + + # source://rbs//lib/rbs/vendorer.rb#13 + def ensure_dir; end + + # Returns the value of attribute loader. + # + # source://rbs//lib/rbs/vendorer.rb#6 + def loader; end + + # Returns the value of attribute vendor_dir. + # + # source://rbs//lib/rbs/vendorer.rb#5 + def vendor_dir; end +end + +# source://rbs//lib/rbs/errors.rb#561 +class RBS::WillSyntaxError < ::RBS::DefinitionError + include ::RBS::DetailedMessageable + + # @return [WillSyntaxError] a new instance of WillSyntaxError + # + # source://rbs//lib/rbs/errors.rb#566 + def initialize(message, location:); end + + # Returns the value of attribute location. + # + # source://rbs//lib/rbs/errors.rb#564 + def location; end +end + +# source://rbs//lib/rbs/writer.rb#4 +class RBS::Writer + # @return [Writer] a new instance of Writer + # + # source://rbs//lib/rbs/writer.rb#8 + def initialize(out:); end + + # source://rbs//lib/rbs/writer.rb#361 + def attribute(kind, attr); end + + # source://rbs//lib/rbs/writer.rb#42 + def format_annotation(annotation); end + + # source://rbs//lib/rbs/writer.rb#23 + def indent(size = T.unsafe(nil)); end + + # Returns the value of attribute indentation. + # + # source://rbs//lib/rbs/writer.rb#6 + def indentation; end + + # source://rbs//lib/rbs/writer.rb#288 + def method_name(name); end + + # source://rbs//lib/rbs/writer.rb#214 + def name_and_args(name, args); end + + # source://rbs//lib/rbs/writer.rb#202 + def name_and_params(name, params); end + + # Returns the value of attribute out. + # + # source://rbs//lib/rbs/writer.rb#5 + def out; end + + # source://rbs//lib/rbs/writer.rb#30 + def prefix; end + + # source://rbs//lib/rbs/writer.rb#18 + def preserve!(preserve: T.unsafe(nil)); end + + # @return [Boolean] + # + # source://rbs//lib/rbs/writer.rb#14 + def preserve?; end + + # source://rbs//lib/rbs/writer.rb#391 + def preserve_empty_line(prev, decl); end + + # source://rbs//lib/rbs/writer.rb#224 + def put_lines(lines, leading_spaces:); end + + # source://rbs//lib/rbs/writer.rb#34 + def puts(string = T.unsafe(nil)); end + + # source://rbs//lib/rbs/writer.rb#79 + def write(contents); end + + # source://rbs//lib/rbs/writer.rb#60 + def write_annotation(annotations); end + + # source://rbs//lib/rbs/writer.rb#66 + def write_comment(comment); end + + # source://rbs//lib/rbs/writer.rb#114 + def write_decl(decl); end + + # source://rbs//lib/rbs/writer.rb#309 + def write_def(member); end + + # source://rbs//lib/rbs/writer.rb#97 + def write_directive(dir); end + + # source://rbs//lib/rbs/writer.rb#301 + def write_loc_source(located); end + + # source://rbs//lib/rbs/writer.rb#234 + def write_member(member); end +end + +# source://rbs//lib/rdoc/discover.rb#8 +class RDoc::Parser::RBS < ::RDoc::Parser + # source://rbs//lib/rdoc/discover.rb#10 + def scan; end +end