diff --git a/sorbet/rbi/gems/tapioca@0.10.2.rbi b/sorbet/rbi/gems/tapioca@0.10.2.rbi deleted file mode 100644 index f69ec77..0000000 --- a/sorbet/rbi/gems/tapioca@0.10.2.rbi +++ /dev/null @@ -1,3439 +0,0 @@ -# typed: false - -# DO NOT EDIT MANUALLY -# This is an autogenerated file for types exported from the `tapioca` gem. -# Please instead update this file by running `bin/tapioca gem tapioca`. - -class Bundler::Dependency < ::Gem::Dependency - include ::Tapioca::Gemfile::AutoRequireHook -end - -# We need to do the alias-method-chain dance since Bootsnap does the same, -# and prepended modules and alias-method-chain don't play well together. -# -# So, why does Bootsnap do alias-method-chain and not prepend? Glad you asked! -# That's because RubyGems does alias-method-chain for Kernel#require and such, -# so, if Bootsnap were to do prepend, it might end up breaking RubyGems. -# -# source://tapioca//lib/tapioca/runtime/trackers/autoload.rb#68 -class Module - # source://tapioca//lib/tapioca/runtime/trackers/mixin.rb#101 - def append_features(constant); end - - # source://tapioca//lib/tapioca/runtime/trackers/autoload.rb#71 - def autoload(const_name, path); end - - # source://tapioca//lib/tapioca/runtime/trackers/mixin.rb#111 - def extend_object(obj); end - - # source://tapioca//lib/tapioca/runtime/trackers/mixin.rb#91 - def prepend_features(constant); end -end - -# source://activesupport/7.0.4/lib/active_support/core_ext/module/delegation.rb#13 -Module::DELEGATION_RESERVED_KEYWORDS = T.let(T.unsafe(nil), Array) - -# source://activesupport/7.0.4/lib/active_support/core_ext/module/delegation.rb#14 -Module::DELEGATION_RESERVED_METHOD_NAMES = T.let(T.unsafe(nil), Set) - -# source://activesupport/7.0.4/lib/active_support/core_ext/module/delegation.rb#10 -Module::RUBY_RESERVED_KEYWORDS = T.let(T.unsafe(nil), Array) - -# source://tapioca//lib/tapioca/rbi_ext/model.rb#4 -module RBI; end - -# source://tapioca//lib/tapioca/rbi_ext/model.rb#5 -class RBI::Tree < ::RBI::NodeWithComments - # source://rbi/0.0.16/lib/rbi/model.rb#115 - sig do - params( - loc: T.nilable(::RBI::Loc), - comments: T::Array[::RBI::Comment], - block: T.nilable(T.proc.params(node: ::RBI::Tree).void) - ).void - end - def initialize(loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end - - # source://rbi/0.0.16/lib/rbi/model.rb#122 - sig { params(node: ::RBI::Node).void } - def <<(node); end - - # source://rbi/0.0.16/lib/rbi/printer.rb#224 - sig { override.params(v: ::RBI::Printer).void } - def accept_printer(v); end - - # source://rbi/0.0.16/lib/rbi/rewriters/add_sig_templates.rb#66 - sig { params(with_todo_comment: T::Boolean).void } - def add_sig_templates!(with_todo_comment: T.unsafe(nil)); end - - # source://rbi/0.0.16/lib/rbi/rewriters/annotate.rb#48 - sig { params(annotation: ::String, annotate_scopes: T::Boolean, annotate_properties: T::Boolean).void } - def annotate!(annotation, annotate_scopes: T.unsafe(nil), annotate_properties: T.unsafe(nil)); end - - # source://tapioca//lib/tapioca/rbi_ext/model.rb#38 - sig do - params( - name: ::String, - superclass_name: T.nilable(::String), - block: T.nilable(T.proc.params(scope: ::RBI::Scope).void) - ).returns(::RBI::Scope) - end - def create_class(name, superclass_name: T.unsafe(nil), &block); end - - # source://tapioca//lib/tapioca/rbi_ext/model.rb#45 - sig { params(name: ::String, value: ::String).void } - def create_constant(name, value:); end - - # source://tapioca//lib/tapioca/rbi_ext/model.rb#55 - sig { params(name: ::String).void } - def create_extend(name); end - - # source://tapioca//lib/tapioca/rbi_ext/model.rb#50 - sig { params(name: ::String).void } - def create_include(name); end - - # source://tapioca//lib/tapioca/rbi_ext/model.rb#88 - sig do - params( - name: ::String, - parameters: T::Array[::RBI::TypedParam], - return_type: ::String, - class_method: T::Boolean, - visibility: ::RBI::Visibility - ).void - end - def create_method(name, parameters: T.unsafe(nil), return_type: T.unsafe(nil), class_method: T.unsafe(nil), visibility: T.unsafe(nil)); end - - # source://tapioca//lib/tapioca/rbi_ext/model.rb#60 - sig { params(name: ::String).void } - def create_mixes_in_class_methods(name); end - - # source://tapioca//lib/tapioca/rbi_ext/model.rb#25 - sig { params(name: ::String, block: T.nilable(T.proc.params(scope: ::RBI::Scope).void)).returns(::RBI::Scope) } - def create_module(name, &block); end - - # source://tapioca//lib/tapioca/rbi_ext/model.rb#9 - sig { params(constant: ::Module, block: T.nilable(T.proc.params(scope: ::RBI::Scope).void)).void } - def create_path(constant, &block); end - - # source://tapioca//lib/tapioca/rbi_ext/model.rb#74 - sig do - params( - name: ::String, - type: ::String, - variance: ::Symbol, - fixed: T.nilable(::String), - upper: T.nilable(::String), - lower: T.nilable(::String) - ).void - end - def create_type_variable(name, type:, variance: T.unsafe(nil), fixed: T.unsafe(nil), upper: T.unsafe(nil), lower: T.unsafe(nil)); end - - # source://rbi/0.0.16/lib/rbi/rewriters/deannotate.rb#40 - sig { params(annotation: ::String).void } - def deannotate!(annotation); end - - # source://rbi/0.0.16/lib/rbi/model.rb#128 - sig { returns(T::Boolean) } - def empty?; end - - # source://rbi/0.0.16/lib/rbi/rewriters/group_nodes.rb#38 - sig { void } - def group_nodes!; end - - # source://rbi/0.0.16/lib/rbi/index.rb#64 - sig { returns(::RBI::Index) } - def index; end - - # source://rbi/0.0.16/lib/rbi/rewriters/merge_trees.rb#318 - sig do - params( - other: ::RBI::Tree, - left_name: ::String, - right_name: ::String, - keep: ::RBI::Rewriters::Merge::Keep - ).returns(::RBI::MergeTree) - end - def merge(other, left_name: T.unsafe(nil), right_name: T.unsafe(nil), keep: T.unsafe(nil)); end - - # source://rbi/0.0.16/lib/rbi/rewriters/nest_non_public_methods.rb#45 - sig { void } - def nest_non_public_methods!; end - - # source://rbi/0.0.16/lib/rbi/rewriters/nest_singleton_methods.rb#35 - sig { void } - def nest_singleton_methods!; end - - # source://rbi/0.0.16/lib/rbi/model.rb#106 - sig { returns(T::Array[::RBI::Node]) } - def nodes; end - - # source://rbi/0.0.16/lib/rbi/printer.rb#231 - sig { override.returns(T::Boolean) } - def oneline?; end - - # source://rbi/0.0.16/lib/rbi/rewriters/sort_nodes.rb#107 - sig { void } - def sort_nodes!; end - - private - - # source://tapioca//lib/tapioca/rbi_ext/model.rb#108 - sig { params(node: ::RBI::Node).returns(::RBI::Node) } - def create_node(node); end - - # source://tapioca//lib/tapioca/rbi_ext/model.rb#103 - sig { returns(T::Hash[::String, ::RBI::Node]) } - def nodes_cache; end -end - -# source://tapioca//lib/tapioca/rbi_ext/model.rb#118 -class RBI::TypedParam < ::T::Struct - const :param, ::RBI::Param - const :type, ::String - - class << self - # source://sorbet-runtime/0.5.10520/lib/types/struct.rb#13 - def inherited(s); end - end -end - -# source://rbi/0.0.16/lib/rbi/version.rb#5 -RBI::VERSION = T.let(T.unsafe(nil), String) - -# source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#5 -module T::Generic - # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#13 - def [](*types); end - - # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#21 - def type_member(variance = T.unsafe(nil), fixed: T.unsafe(nil), lower: T.unsafe(nil), upper: T.unsafe(nil), &bounds_proc); end - - # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#37 - def type_template(variance = T.unsafe(nil), fixed: T.unsafe(nil), lower: T.unsafe(nil), upper: T.unsafe(nil), &bounds_proc); end -end - -# This module intercepts calls to generic type instantiations and type variable definitions. -# Tapioca stores the data from those calls in a `GenericTypeRegistry` which can then be used -# to look up the original call details when we are trying to do code generation. -# -# We are interested in the data of the `[]`, `type_member` and `type_template` calls which -# are all needed to generate good generic information at runtime. -# -# source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#12 -module T::Generic::TypeStoragePatch - # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#13 - def [](*types); end - - # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#21 - def type_member(variance = T.unsafe(nil), fixed: T.unsafe(nil), lower: T.unsafe(nil), upper: T.unsafe(nil), &bounds_proc); end - - # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#37 - def type_template(variance = T.unsafe(nil), fixed: T.unsafe(nil), lower: T.unsafe(nil), upper: T.unsafe(nil), &bounds_proc); end -end - -# source://tapioca//lib/tapioca/sorbet_ext/proc_bind_patch.rb#28 -module T::Private::Methods - class << self - # source://tapioca//lib/tapioca/sorbet_ext/proc_bind_patch.rb#30 - def finalize_proc(decl); end - end -end - -# source://sorbet-runtime/0.5.10520/lib/types/private/methods/_methods.rb#29 -T::Private::Methods::ARG_NOT_PROVIDED = T.let(T.unsafe(nil), Object) - -class T::Private::Methods::Declaration < ::Struct - def bind; end - - # source://sorbet-runtime/0.5.10520/lib/types/private/methods/decl_builder.rb#5 - def bind=(_); end - - def checked; end - - # source://sorbet-runtime/0.5.10520/lib/types/private/methods/decl_builder.rb#5 - def checked=(_); end - - def finalized; end - - # source://sorbet-runtime/0.5.10520/lib/types/private/methods/decl_builder.rb#5 - def finalized=(_); end - - def mod; end - - # source://sorbet-runtime/0.5.10520/lib/types/private/methods/decl_builder.rb#5 - def mod=(_); end - - def mode; end - - # source://sorbet-runtime/0.5.10520/lib/types/private/methods/decl_builder.rb#5 - def mode=(_); end - - def on_failure; end - - # source://sorbet-runtime/0.5.10520/lib/types/private/methods/decl_builder.rb#5 - def on_failure=(_); end - - def override_allow_incompatible; end - - # source://sorbet-runtime/0.5.10520/lib/types/private/methods/decl_builder.rb#5 - def override_allow_incompatible=(_); end - - def params; end - - # source://sorbet-runtime/0.5.10520/lib/types/private/methods/decl_builder.rb#5 - def params=(_); end - - # source://sorbet-runtime/0.5.10520/lib/types/private/methods/decl_builder.rb#5 - def raw; end - - # source://sorbet-runtime/0.5.10520/lib/types/private/methods/decl_builder.rb#5 - def raw=(_); end - - def returns; end - - # source://sorbet-runtime/0.5.10520/lib/types/private/methods/decl_builder.rb#5 - def returns=(_); end - - def type_parameters; end - - # source://sorbet-runtime/0.5.10520/lib/types/private/methods/decl_builder.rb#5 - def type_parameters=(_); end - - class << self - def [](*_arg0); end - def inspect; end - def members; end - def new(*_arg0); end - end -end - -class T::Private::Methods::DeclarationBlock < ::Struct - def blk; end - - # source://sorbet-runtime/0.5.10520/lib/types/private/methods/_methods.rb#32 - def blk=(_); end - - def final; end - - # source://sorbet-runtime/0.5.10520/lib/types/private/methods/_methods.rb#32 - def final=(_); end - - def loc; end - - # source://sorbet-runtime/0.5.10520/lib/types/private/methods/_methods.rb#32 - def loc=(_); end - - def mod; end - - # source://sorbet-runtime/0.5.10520/lib/types/private/methods/_methods.rb#32 - def mod=(_); end - - def raw; end - - # source://sorbet-runtime/0.5.10520/lib/types/private/methods/_methods.rb#32 - def raw=(_); end - - class << self - def [](*_arg0); end - def inspect; end - def members; end - def new(*_arg0); end - end -end - -module T::Private::Methods::MethodHooks - # source://sorbet-runtime/0.5.10520/lib/types/private/methods/_methods.rb#517 - def method_added(name); end -end - -module T::Private::Methods::Modes - class << self - # source://sorbet-runtime/0.5.10520/lib/types/private/methods/modes.rb#8 - def abstract; end - - # source://sorbet-runtime/0.5.10520/lib/types/private/methods/modes.rb#11 - def overridable; end - - # source://sorbet-runtime/0.5.10520/lib/types/private/methods/modes.rb#17 - def overridable_override; end - - # source://sorbet-runtime/0.5.10520/lib/types/private/methods/modes.rb#14 - def override; end - - # source://sorbet-runtime/0.5.10520/lib/types/private/methods/modes.rb#5 - def standard; end - - # source://sorbet-runtime/0.5.10520/lib/types/private/methods/modes.rb#20 - def untyped; end - end -end - -# source://sorbet-runtime/0.5.10520/lib/types/private/methods/modes.rb#23 -T::Private::Methods::Modes::MODES = T.let(T.unsafe(nil), Array) - -# source://sorbet-runtime/0.5.10520/lib/types/private/methods/modes.rb#27 -T::Private::Methods::Modes::NON_OVERRIDE_MODES = T.let(T.unsafe(nil), Array) - -# source://sorbet-runtime/0.5.10520/lib/types/private/methods/modes.rb#25 -T::Private::Methods::Modes::OVERRIDABLE_MODES = T.let(T.unsafe(nil), Array) - -# source://sorbet-runtime/0.5.10520/lib/types/private/methods/modes.rb#26 -T::Private::Methods::Modes::OVERRIDE_MODES = T.let(T.unsafe(nil), Array) - -# source://sorbet-runtime/0.5.10520/lib/types/private/methods/_methods.rb#30 -T::Private::Methods::PROC_TYPE = T.let(T.unsafe(nil), Object) - -# source://tapioca//lib/tapioca/sorbet_ext/proc_bind_patch.rb#29 -module T::Private::Methods::ProcBindPatch - # source://tapioca//lib/tapioca/sorbet_ext/proc_bind_patch.rb#30 - def finalize_proc(decl); end -end - -class T::Private::Methods::Signature - # source://sorbet-runtime/0.5.10520/lib/types/private/methods/signature.rb#36 - def initialize(method:, method_name:, raw_arg_types:, raw_return_type:, bind:, mode:, check_level:, on_failure:, parameters: T.unsafe(nil), override_allow_incompatible: T.unsafe(nil), defined_raw: T.unsafe(nil)); end - - # source://sorbet-runtime/0.5.10520/lib/types/private/methods/signature.rb#149 - def arg_count; end - - # source://sorbet-runtime/0.5.10520/lib/types/private/methods/signature.rb#5 - def arg_types; end - - # source://sorbet-runtime/0.5.10520/lib/types/private/methods/signature.rb#143 - def as_alias(alias_name); end - - # source://sorbet-runtime/0.5.10520/lib/types/private/methods/signature.rb#5 - def bind; end - - # source://sorbet-runtime/0.5.10520/lib/types/private/methods/signature.rb#5 - def block_name; end - - # source://sorbet-runtime/0.5.10520/lib/types/private/methods/signature.rb#5 - def block_type; end - - # source://sorbet-runtime/0.5.10520/lib/types/private/methods/signature.rb#5 - def check_level; end - - # source://sorbet-runtime/0.5.10520/lib/types/private/methods/signature.rb#5 - def defined_raw; end - - # source://sorbet-runtime/0.5.10520/lib/types/private/methods/signature.rb#161 - def dsl_method; end - - # source://sorbet-runtime/0.5.10520/lib/types/private/methods/signature.rb#166 - def each_args_value_type(args); end - - # source://sorbet-runtime/0.5.10520/lib/types/private/methods/signature.rb#5 - def has_keyrest; end - - # source://sorbet-runtime/0.5.10520/lib/types/private/methods/signature.rb#5 - def has_rest; end - - # source://sorbet-runtime/0.5.10520/lib/types/private/methods/signature.rb#5 - def keyrest_name; end - - # source://sorbet-runtime/0.5.10520/lib/types/private/methods/signature.rb#5 - def keyrest_type; end - - # source://sorbet-runtime/0.5.10520/lib/types/private/methods/signature.rb#153 - def kwarg_names; end - - # source://sorbet-runtime/0.5.10520/lib/types/private/methods/signature.rb#5 - def kwarg_types; end - - # source://sorbet-runtime/0.5.10520/lib/types/private/methods/signature.rb#5 - def method; end - - # source://sorbet-runtime/0.5.10520/lib/types/private/methods/signature.rb#215 - def method_desc; end - - # source://sorbet-runtime/0.5.10520/lib/types/private/methods/signature.rb#5 - def method_name; end - - # source://sorbet-runtime/0.5.10520/lib/types/private/methods/signature.rb#5 - def mode; end - - # source://sorbet-runtime/0.5.10520/lib/types/private/methods/signature.rb#5 - def on_failure; end - - # source://sorbet-runtime/0.5.10520/lib/types/private/methods/signature.rb#5 - def override_allow_incompatible; end - - # source://sorbet-runtime/0.5.10520/lib/types/private/methods/signature.rb#157 - def owner; end - - # source://sorbet-runtime/0.5.10520/lib/types/private/methods/signature.rb#5 - def parameters; end - - # source://sorbet-runtime/0.5.10520/lib/types/private/methods/signature.rb#5 - def req_arg_count; end - - # source://sorbet-runtime/0.5.10520/lib/types/private/methods/signature.rb#5 - def req_kwarg_names; end - - # source://sorbet-runtime/0.5.10520/lib/types/private/methods/signature.rb#5 - def rest_name; end - - # source://sorbet-runtime/0.5.10520/lib/types/private/methods/signature.rb#5 - def rest_type; end - - # source://sorbet-runtime/0.5.10520/lib/types/private/methods/signature.rb#5 - def return_type; end - - protected - - # source://sorbet-runtime/0.5.10520/lib/types/private/methods/signature.rb#140 - def method_name=(_arg0); end - - class << self - # source://sorbet-runtime/0.5.10520/lib/types/private/methods/signature.rb#11 - def new_untyped(method:, mode: T.unsafe(nil), parameters: T.unsafe(nil)); end - end -end - -# source://sorbet-runtime/0.5.10520/lib/types/private/methods/signature.rb#224 -T::Private::Methods::Signature::EMPTY_HASH = T.let(T.unsafe(nil), Hash) - -module T::Private::Methods::SignatureValidation - class << self - # source://sorbet-runtime/0.5.10520/lib/types/private/methods/signature_validation.rb#8 - def validate(signature); end - - # source://sorbet-runtime/0.5.10520/lib/types/private/methods/signature_validation.rb#79 - def validate_non_override_mode(signature); end - - # source://sorbet-runtime/0.5.10520/lib/types/private/methods/signature_validation.rb#58 - def validate_override_mode(signature, super_signature); end - - # source://sorbet-runtime/0.5.10520/lib/types/private/methods/signature_validation.rb#116 - def validate_override_shape(signature, super_signature); end - - # source://sorbet-runtime/0.5.10520/lib/types/private/methods/signature_validation.rb#172 - def validate_override_types(signature, super_signature); end - - private - - # source://sorbet-runtime/0.5.10520/lib/types/private/methods/signature_validation.rb#211 - def base_override_loc_str(signature, super_signature); end - - # source://sorbet-runtime/0.5.10520/lib/types/private/methods/signature_validation.rb#217 - def method_loc_str(method); end - - # source://sorbet-runtime/0.5.10520/lib/types/private/methods/signature_validation.rb#50 - def pretty_mode(signature); end - end -end - -# source://sorbet-runtime/0.5.10520/lib/types/private/methods/signature_validation.rb#5 -T::Private::Methods::SignatureValidation::Methods = T::Private::Methods - -# source://sorbet-runtime/0.5.10520/lib/types/private/methods/signature_validation.rb#6 -T::Private::Methods::SignatureValidation::Modes = T::Private::Methods::Modes - -module T::Private::Methods::SingletonMethodHooks - # source://sorbet-runtime/0.5.10520/lib/types/private/methods/_methods.rb#524 - def singleton_method_added(name); end -end - -# source://sorbet-runtime/0.5.10520/lib/types/private/methods/_methods.rb#581 -T::Private::Methods::TOP_SELF = T.let(T.unsafe(nil), Object) - -class T::Types::Proc < ::T::Types::Base; end - -# source://tapioca//lib/tapioca/sorbet_ext/proc_bind_patch.rb#6 -module T::Types::ProcBindPatch - # source://tapioca//lib/tapioca/sorbet_ext/proc_bind_patch.rb#7 - def initialize(arg_types, returns, bind = T.unsafe(nil)); end - - # source://tapioca//lib/tapioca/sorbet_ext/proc_bind_patch.rb#15 - def name; end -end - -# source://tapioca//lib/tapioca/sorbet_ext/name_patch.rb#6 -class T::Types::Simple < ::T::Types::Base - # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#64 - def name; end -end - -# source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#59 -module T::Types::Simple::GenericPatch - # This method intercepts calls to the `name` method for simple types, so that - # it can ask the name to the type if the type is generic, since, by this point, - # we've created a clone of that type with the `name` method returning the - # appropriate name for that specific concrete type. - # - # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#64 - def name; end -end - -# source://tapioca//lib/tapioca/sorbet_ext/name_patch.rb#7 -module T::Types::Simple::NamePatch - # source://tapioca//lib/tapioca/sorbet_ext/name_patch.rb#10 - def name; end - - # source://tapioca//lib/tapioca/sorbet_ext/name_patch.rb#16 - def qualified_name_of(constant); end -end - -# source://tapioca//lib/tapioca/sorbet_ext/name_patch.rb#8 -T::Types::Simple::NamePatch::NAME_METHOD = T.let(T.unsafe(nil), UnboundMethod) - -module T::Types::Simple::Private; end - -module T::Types::Simple::Private::Pool - class << self - # source://sorbet-runtime/0.5.10520/lib/types/types/simple.rb#65 - def type_for_module(mod); end - end -end - -# source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#80 -module T::Utils - class << self - # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#82 - def coerce(val); end - end -end - -# source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#81 -module T::Utils::CoercePatch - # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#82 - def coerce(val); end -end - -# source://tapioca//lib/tapioca/runtime/trackers/autoload.rb#4 -module Tapioca - class << self - # source://tapioca//lib/tapioca.rb#19 - sig do - type_parameters(:Result) - .params( - blk: T.proc.returns(T.type_parameter(:Result)) - ).returns(T.type_parameter(:Result)) - end - def silence_warnings(&blk); end - end -end - -# source://tapioca//lib/tapioca.rb#37 -Tapioca::BINARY_FILE = T.let(T.unsafe(nil), String) - -# source://tapioca//lib/tapioca.rb#57 -Tapioca::CENTRAL_REPO_ANNOTATIONS_DIR = T.let(T.unsafe(nil), String) - -# source://tapioca//lib/tapioca.rb#56 -Tapioca::CENTRAL_REPO_INDEX_PATH = T.let(T.unsafe(nil), String) - -# source://tapioca//lib/tapioca.rb#55 -Tapioca::CENTRAL_REPO_ROOT_URI = T.let(T.unsafe(nil), String) - -# source://tapioca//lib/tapioca/cli.rb#5 -class Tapioca::Cli < ::Thor - include ::Tapioca::CliHelper - include ::Tapioca::ConfigHelper - include ::Tapioca::EnvHelper - - # source://tapioca//lib/tapioca/cli.rb#314 - def __print_version; end - - # source://tapioca//lib/tapioca/cli.rb#297 - def annotations; end - - # source://tapioca//lib/tapioca/cli.rb#272 - def check_shims; end - - # source://tapioca//lib/tapioca/cli.rb#36 - def configure; end - - # source://tapioca//lib/tapioca/cli.rb#124 - def dsl(*constants); end - - # source://tapioca//lib/tapioca/cli.rb#224 - def gem(*gems); end - - # source://tapioca//lib/tapioca/cli.rb#25 - def init; end - - # source://tapioca//lib/tapioca/cli.rb#47 - def require; end - - # source://tapioca//lib/tapioca/cli.rb#66 - def todo; end - - private - - # source://tapioca//lib/tapioca/cli.rb#328 - def print_init_next_steps; end - - class << self - # source://tapioca//lib/tapioca/cli.rb#320 - def exit_on_failure?; end - end -end - -# source://tapioca//lib/tapioca/cli.rb#10 -Tapioca::Cli::FILE_HEADER_OPTION_DESC = T.let(T.unsafe(nil), String) - -# source://tapioca//lib/tapioca/helpers/cli_helper.rb#5 -module Tapioca::CliHelper - requires_ancestor { Thor::Shell } - - # source://tapioca//lib/tapioca/helpers/cli_helper.rb#33 - sig { params(options: T::Hash[::Symbol, T.untyped]).returns(T.nilable(::String)) } - def netrc_file(options); end - - # source://tapioca//lib/tapioca/helpers/cli_helper.rb#26 - sig { params(options: T::Hash[::Symbol, T.untyped]).returns(::Tapioca::RBIFormatter) } - def rbi_formatter(options); end - - # source://tapioca//lib/tapioca/helpers/cli_helper.rb#12 - sig { params(message: ::String, color: T.any(::Symbol, T::Array[::Symbol])).void } - def say_error(message = T.unsafe(nil), *color); end -end - -# source://tapioca//lib/tapioca/commands.rb#5 -module Tapioca::Commands; end - -# source://tapioca//lib/tapioca/commands/annotations.rb#6 -class Tapioca::Commands::Annotations < ::Tapioca::Commands::CommandWithoutTracker - # source://tapioca//lib/tapioca/commands/annotations.rb#18 - sig do - params( - central_repo_root_uris: T::Array[::String], - auth: T.nilable(::String), - netrc_file: T.nilable(::String), - central_repo_index_path: ::String, - typed_overrides: T::Hash[::String, ::String] - ).void - end - def initialize(central_repo_root_uris:, auth: T.unsafe(nil), netrc_file: T.unsafe(nil), central_repo_index_path: T.unsafe(nil), typed_overrides: T.unsafe(nil)); end - - # source://tapioca//lib/tapioca/commands/annotations.rb#36 - sig { override.void } - def execute; end - - private - - # source://tapioca//lib/tapioca/commands/annotations.rb#191 - sig { params(name: ::String, content: ::String).returns(::String) } - def add_header(name, content); end - - # source://tapioca//lib/tapioca/commands/annotations.rb#209 - sig { params(name: ::String, content: ::String).returns(::String) } - def apply_typed_override(name, content); end - - # source://tapioca//lib/tapioca/commands/annotations.rb#132 - sig { params(repo_uris: T::Array[::String], gem_name: ::String).void } - def fetch_annotation(repo_uris, gem_name); end - - # source://tapioca//lib/tapioca/commands/annotations.rb#109 - sig { params(gem_names: T::Array[::String]).returns(T::Array[::String]) } - def fetch_annotations(gem_names); end - - # source://tapioca//lib/tapioca/commands/annotations.rb#150 - sig { params(repo_uri: ::String, path: ::String).returns(T.nilable(::String)) } - def fetch_file(repo_uri, path); end - - # source://tapioca//lib/tapioca/commands/annotations.rb#167 - sig { params(repo_uri: ::String, path: ::String).returns(T.nilable(::String)) } - def fetch_http_file(repo_uri, path); end - - # source://tapioca//lib/tapioca/commands/annotations.rb#98 - sig { params(repo_uri: ::String, repo_number: T.nilable(::Integer)).returns(T.nilable(Tapioca::RepoIndex)) } - def fetch_index(repo_uri, repo_number:); end - - # source://tapioca//lib/tapioca/commands/annotations.rb#77 - sig { returns(T::Hash[::String, Tapioca::RepoIndex]) } - def fetch_indexes; end - - # source://tapioca//lib/tapioca/commands/annotations.rb#159 - sig { params(repo_uri: ::String, path: ::String).returns(T.nilable(::String)) } - def fetch_local_file(repo_uri, path); end - - # source://tapioca//lib/tapioca/commands/annotations.rb#46 - sig { returns(T::Array[::String]) } - def list_gemfile_gems; end - - # source://tapioca//lib/tapioca/commands/annotations.rb#221 - sig { params(gem_name: ::String, contents: T::Array[::String]).returns(T.nilable(::String)) } - def merge_files(gem_name, contents); end - - # source://tapioca//lib/tapioca/commands/annotations.rb#56 - sig { params(project_gems: T::Array[::String]).void } - def remove_expired_annotations(project_gems); end - - # source://tapioca//lib/tapioca/commands/annotations.rb#248 - sig { returns(T::Hash[::String, T.nilable(::String)]) } - def repo_tokens; end - - # source://tapioca//lib/tapioca/commands/annotations.rb#276 - sig { params(path: ::String, repo_uri: ::String, message: ::String).void } - def say_http_error(path, repo_uri, message:); end - - # source://tapioca//lib/tapioca/commands/annotations.rb#260 - sig { params(repo_uri: ::String).returns(T.nilable(::String)) } - def token_for(repo_uri); end -end - -# source://tapioca//lib/tapioca/commands/check_shims.rb#6 -class Tapioca::Commands::CheckShims < ::Tapioca::Commands::CommandWithoutTracker - include ::Tapioca::SorbetHelper - include ::Tapioca::RBIFilesHelper - - # source://tapioca//lib/tapioca/commands/check_shims.rb#22 - sig do - params( - gem_rbi_dir: ::String, - dsl_rbi_dir: ::String, - annotations_rbi_dir: ::String, - shim_rbi_dir: ::String, - todo_rbi_file: ::String, - payload: T::Boolean, - number_of_workers: T.nilable(::Integer) - ).void - end - def initialize(gem_rbi_dir:, dsl_rbi_dir:, annotations_rbi_dir:, shim_rbi_dir:, todo_rbi_file:, payload:, number_of_workers:); end - - # source://tapioca//lib/tapioca/commands/check_shims.rb#42 - sig { override.void } - def execute; end -end - -# @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below. -# -# source://tapioca//lib/tapioca/commands/command.rb#6 -class Tapioca::Commands::Command - include ::Thor::Base - include ::Thor::Invocation - include ::Thor::Shell - include ::Tapioca::CliHelper - extend ::Thor::Base::ClassMethods - extend ::Thor::Invocation::ClassMethods - - abstract! - - # source://tapioca//lib/tapioca/commands/command.rb#20 - sig { void } - def initialize; end - - # @abstract - # - # source://tapioca//lib/tapioca/commands/command.rb#25 - sig { abstract.void } - def execute; end - - # source://thor/1.2.1/lib/thor/base.rb#139 - sig { returns(::Thor::Actions) } - def file_writer; end - - private - - # source://tapioca//lib/tapioca/commands/command.rb#46 - sig do - params( - path: T.any(::Pathname, ::String), - content: ::String, - force: T::Boolean, - skip: T::Boolean, - verbose: T::Boolean - ).void - end - def create_file(path, content, force: T.unsafe(nil), skip: T.unsafe(nil), verbose: T.unsafe(nil)); end - - # source://tapioca//lib/tapioca/commands/command.rb#30 - sig { params(command: ::Symbol, args: ::String).returns(::String) } - def default_command(command, *args); end - - # source://tapioca//lib/tapioca/commands/command.rb#56 - sig { params(path: T.any(::Pathname, ::String), verbose: T::Boolean).void } - def remove_file(path, verbose: T.unsafe(nil)); end -end - -# source://tapioca//lib/tapioca/commands/command.rb#10 -class Tapioca::Commands::Command::FileWriter < ::Thor - include ::Thor::Actions - extend ::Thor::Actions::ClassMethods -end - -# @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below. -# -# source://tapioca//lib/tapioca/commands/command_without_tracker.rb#6 -class Tapioca::Commands::CommandWithoutTracker < ::Tapioca::Commands::Command - abstract! - - # source://tapioca//lib/tapioca/commands/command_without_tracker.rb#12 - sig { void } - def initialize; end -end - -# source://tapioca//lib/tapioca/commands/configure.rb#6 -class Tapioca::Commands::Configure < ::Tapioca::Commands::CommandWithoutTracker - # source://tapioca//lib/tapioca/commands/configure.rb#14 - sig { params(sorbet_config: ::String, tapioca_config: ::String, default_postrequire: ::String).void } - def initialize(sorbet_config:, tapioca_config:, default_postrequire:); end - - # source://tapioca//lib/tapioca/commands/configure.rb#30 - sig { override.void } - def execute; end - - private - - # source://tapioca//lib/tapioca/commands/configure.rb#78 - sig { void } - def create_binstub; end - - # source://tapioca//lib/tapioca/commands/configure.rb#68 - sig { void } - def create_post_require; end - - # source://tapioca//lib/tapioca/commands/configure.rb#40 - sig { void } - def create_sorbet_config; end - - # source://tapioca//lib/tapioca/commands/configure.rb#49 - sig { void } - def create_tapioca_config; end - - # source://tapioca//lib/tapioca/commands/configure.rb#91 - sig { returns(::Bundler::Installer) } - def installer; end - - # source://tapioca//lib/tapioca/commands/configure.rb#96 - sig { returns(::Bundler::StubSpecification) } - def spec; end -end - -# source://tapioca//lib/tapioca/commands/dsl.rb#6 -class Tapioca::Commands::Dsl < ::Tapioca::Commands::CommandWithoutTracker - include ::Tapioca::SorbetHelper - include ::Tapioca::RBIFilesHelper - - # source://tapioca//lib/tapioca/commands/dsl.rb#27 - sig do - params( - requested_constants: T::Array[::String], - outpath: ::Pathname, - only: T::Array[::String], - exclude: T::Array[::String], - file_header: T::Boolean, - tapioca_path: ::String, - should_verify: T::Boolean, - quiet: T::Boolean, - verbose: T::Boolean, - number_of_workers: T.nilable(::Integer), - auto_strictness: T::Boolean, - gem_dir: ::String, - rbi_formatter: ::Tapioca::RBIFormatter - ).void - end - def initialize(requested_constants:, outpath:, only:, exclude:, file_header:, tapioca_path:, should_verify: T.unsafe(nil), quiet: T.unsafe(nil), verbose: T.unsafe(nil), number_of_workers: T.unsafe(nil), auto_strictness: T.unsafe(nil), gem_dir: T.unsafe(nil), rbi_formatter: T.unsafe(nil)); end - - # source://tapioca//lib/tapioca/commands/dsl.rb#86 - sig { override.void } - def execute; end - - # source://tapioca//lib/tapioca/commands/dsl.rb#60 - sig { void } - def list_compilers; end - - private - - # source://tapioca//lib/tapioca/commands/dsl.rb#312 - sig { params(cause: ::Symbol, files: T::Array[::String]).returns(::String) } - def build_error_for_files(cause, files); end - - # source://tapioca//lib/tapioca/commands/dsl.rb#236 - sig do - params( - constant_name: ::String, - rbi: ::RBI::File, - outpath: ::Pathname, - quiet: T::Boolean - ).returns(T.nilable(::Pathname)) - end - def compile_dsl_rbi(constant_name, rbi, outpath: T.unsafe(nil), quiet: T.unsafe(nil)); end - - # source://tapioca//lib/tapioca/commands/dsl.rb#174 - sig { params(constant_names: T::Array[::String]).returns(T::Array[::Module]) } - def constantize(constant_names); end - - # source://tapioca//lib/tapioca/commands/dsl.rb#197 - sig { params(compiler_names: T::Array[::String]).returns(T::Array[T.class_of(Tapioca::Dsl::Compiler)]) } - def constantize_compilers(compiler_names); end - - # source://tapioca//lib/tapioca/commands/dsl.rb#148 - sig { returns(::Tapioca::Dsl::Pipeline) } - def create_pipeline; end - - # source://tapioca//lib/tapioca/commands/dsl.rb#275 - sig { params(constant_name: ::String).returns(::Pathname) } - def dsl_rbi_filename(constant_name); end - - # source://tapioca//lib/tapioca/commands/dsl.rb#161 - sig { params(requested_constants: T::Array[::String], path: ::Pathname).returns(T::Set[::Pathname]) } - def existing_rbi_filenames(requested_constants, path: T.unsafe(nil)); end - - # source://tapioca//lib/tapioca/commands/dsl.rb#365 - sig { params(constant: ::String).returns(::String) } - def generate_command_for(constant); end - - # source://tapioca//lib/tapioca/commands/dsl.rb#254 - sig { params(dir: ::Pathname).void } - def perform_dsl_verification(dir); end - - # source://tapioca//lib/tapioca/commands/dsl.rb#263 - sig { params(files: T::Set[::Pathname]).void } - def purge_stale_dsl_rbi_files(files); end - - # source://tapioca//lib/tapioca/commands/dsl.rb#360 - sig { params(constant: ::String).returns(::String) } - def rbi_filename_for(constant); end - - # source://tapioca//lib/tapioca/commands/dsl.rb#341 - sig { params(path: ::Pathname).returns(T::Array[::Pathname]) } - def rbi_files_in(path); end - - # source://tapioca//lib/tapioca/commands/dsl.rb#321 - sig { params(diff: T::Hash[::String, ::Symbol], command: ::Symbol).void } - def report_diff_and_exit_if_out_of_date(diff, command); end - - # source://tapioca//lib/tapioca/commands/dsl.rb#216 - sig { params(name: ::String).returns(T.nilable(T.class_of(Tapioca::Dsl::Compiler))) } - def resolve(name); end - - # source://tapioca//lib/tapioca/commands/dsl.rb#348 - sig { params(class_name: ::String).returns(::String) } - def underscore(class_name); end - - # source://tapioca//lib/tapioca/commands/dsl.rb#280 - sig { params(tmp_dir: ::Pathname).returns(T::Hash[::String, ::Symbol]) } - def verify_dsl_rbi(tmp_dir:); end -end - -# source://tapioca//lib/tapioca/commands/gem.rb#6 -class Tapioca::Commands::Gem < ::Tapioca::Commands::Command - include ::Tapioca::SorbetHelper - include ::Tapioca::RBIFilesHelper - - # source://tapioca//lib/tapioca/commands/gem.rb#28 - sig do - params( - gem_names: T::Array[::String], - exclude: T::Array[::String], - prerequire: T.nilable(::String), - postrequire: ::String, - typed_overrides: T::Hash[::String, ::String], - outpath: ::Pathname, - file_header: T::Boolean, - include_doc: T::Boolean, - include_loc: T::Boolean, - include_exported_rbis: T::Boolean, - number_of_workers: T.nilable(::Integer), - auto_strictness: T::Boolean, - dsl_dir: ::String, - rbi_formatter: ::Tapioca::RBIFormatter - ).void - end - def initialize(gem_names:, exclude:, prerequire:, postrequire:, typed_overrides:, outpath:, file_header:, include_doc:, include_loc:, include_exported_rbis:, number_of_workers: T.unsafe(nil), auto_strictness: T.unsafe(nil), dsl_dir: T.unsafe(nil), rbi_formatter: T.unsafe(nil)); end - - # source://tapioca//lib/tapioca/commands/gem.rb#67 - sig { override.void } - def execute; end - - # source://tapioca//lib/tapioca/commands/gem.rb#105 - sig { params(should_verify: T::Boolean, exclude: T::Array[::String]).void } - def sync(should_verify: T.unsafe(nil), exclude: T.unsafe(nil)); end - - private - - # source://tapioca//lib/tapioca/commands/gem.rb#281 - sig { returns(T::Array[::String]) } - def added_rbis; end - - # source://tapioca//lib/tapioca/commands/gem.rb#342 - sig { params(cause: ::Symbol, files: T::Array[::String]).returns(::String) } - def build_error_for_files(cause, files); end - - # source://tapioca//lib/tapioca/commands/gem.rb#154 - sig { params(gem: ::Tapioca::Gemfile::GemSpec).void } - def compile_gem_rbi(gem); end - - # source://tapioca//lib/tapioca/commands/gem.rb#276 - sig { params(gem_name: ::String).returns(::Pathname) } - def existing_rbi(gem_name); end - - # source://tapioca//lib/tapioca/commands/gem.rb#324 - sig { returns(T::Hash[::String, ::String]) } - def existing_rbis; end - - # source://tapioca//lib/tapioca/commands/gem.rb#288 - sig { params(gem_name: ::String).returns(::Pathname) } - def expected_rbi(gem_name); end - - # source://tapioca//lib/tapioca/commands/gem.rb#330 - sig { returns(T::Hash[::String, ::String]) } - def expected_rbis; end - - # source://tapioca//lib/tapioca/commands/gem.rb#293 - sig { params(gem_name: ::String).returns(T::Boolean) } - def gem_rbi_exists?(gem_name); end - - # source://tapioca//lib/tapioca/commands/gem.rb#337 - sig { params(gem_name: ::String, version: ::String).returns(::Pathname) } - def gem_rbi_filename(gem_name, version); end - - # source://tapioca//lib/tapioca/commands/gem.rb#139 - sig { params(gem_names: T::Array[::String]).returns(T::Array[::Tapioca::Gemfile::GemSpec]) } - def gems_to_generate(gem_names); end - - # source://tapioca//lib/tapioca/commands/gem.rb#347 - sig { params(gem: ::Tapioca::Gemfile::GemSpec, file: ::RBI::File).void } - def merge_with_exported_rbi(gem, file); end - - # source://tapioca//lib/tapioca/commands/gem.rb#318 - sig { params(old_filename: ::Pathname, new_filename: ::Pathname).void } - def move(old_filename, new_filename); end - - # source://tapioca//lib/tapioca/commands/gem.rb#229 - sig { void } - def perform_additions; end - - # source://tapioca//lib/tapioca/commands/gem.rb#202 - sig { void } - def perform_removals; end - - # source://tapioca//lib/tapioca/commands/gem.rb#183 - sig { params(exclude: T::Array[::String]).void } - def perform_sync_verification(exclude: T.unsafe(nil)); end - - # source://tapioca//lib/tapioca/commands/gem.rb#271 - sig { returns(T::Array[::String]) } - def removed_rbis; end - - # source://tapioca//lib/tapioca/commands/gem.rb#298 - sig { params(diff: T::Hash[::String, ::Symbol], command: ::Symbol).void } - def report_diff_and_exit_if_out_of_date(diff, command); end -end - -# source://tapioca//lib/tapioca/commands/require.rb#6 -class Tapioca::Commands::Require < ::Tapioca::Commands::CommandWithoutTracker - # source://tapioca//lib/tapioca/commands/require.rb#13 - sig { params(requires_path: ::String, sorbet_config_path: ::String).void } - def initialize(requires_path:, sorbet_config_path:); end - - # source://tapioca//lib/tapioca/commands/require.rb#21 - sig { override.void } - def execute; end -end - -# source://tapioca//lib/tapioca/commands/todo.rb#6 -class Tapioca::Commands::Todo < ::Tapioca::Commands::CommandWithoutTracker - include ::Tapioca::SorbetHelper - - # source://tapioca//lib/tapioca/commands/todo.rb#15 - sig { params(todo_file: ::String, file_header: T::Boolean).void } - def initialize(todo_file:, file_header:); end - - # source://tapioca//lib/tapioca/commands/todo.rb#23 - sig { override.void } - def execute; end - - private - - # source://tapioca//lib/tapioca/commands/todo.rb#49 - sig { params(constants: T::Array[::String], command: ::String).returns(::RBI::File) } - def rbi(constants, command:); end - - # source://tapioca//lib/tapioca/commands/todo.rb#69 - sig { returns(T::Array[::String]) } - def unresolved_constants; end -end - -# source://tapioca//lib/tapioca/helpers/config_helper.rb#5 -module Tapioca::ConfigHelper - requires_ancestor { Thor } - - # source://tapioca//lib/tapioca/helpers/config_helper.rb#18 - sig { params(args: T.untyped, local_options: T.untyped, config: T.untyped).void } - def initialize(args = T.unsafe(nil), local_options = T.unsafe(nil), config = T.unsafe(nil)); end - - # source://tapioca//lib/tapioca/helpers/config_helper.rb#12 - sig { returns(::String) } - def command_name; end - - # source://tapioca//lib/tapioca/helpers/config_helper.rb#15 - sig { returns(::Thor::CoreExt::HashWithIndifferentAccess) } - def defaults; end - - # source://tapioca//lib/tapioca/helpers/config_helper.rb#34 - sig { returns(::Thor::CoreExt::HashWithIndifferentAccess) } - def options; end - - private - - # source://tapioca//lib/tapioca/helpers/config_helper.rb#151 - sig { params(msg: ::String).returns(::Tapioca::ConfigHelper::ConfigError) } - def build_error(msg); end - - # source://tapioca//lib/tapioca/helpers/config_helper.rb#176 - sig { params(config_file: ::String, errors: T::Array[::Tapioca::ConfigHelper::ConfigError]).returns(::String) } - def build_error_message(config_file, errors); end - - # source://tapioca//lib/tapioca/helpers/config_helper.rb#56 - sig do - params( - options: ::Thor::CoreExt::HashWithIndifferentAccess - ).returns(::Thor::CoreExt::HashWithIndifferentAccess) - end - def config_options(options); end - - # source://tapioca//lib/tapioca/helpers/config_helper.rb#46 - sig { params(options: T::Hash[::Symbol, ::Thor::Option]).void } - def filter_defaults(options); end - - # source://tapioca//lib/tapioca/helpers/config_helper.rb#194 - sig do - params( - options: T.nilable(::Thor::CoreExt::HashWithIndifferentAccess) - ).returns(::Thor::CoreExt::HashWithIndifferentAccess) - end - def merge_options(*options); end - - # source://tapioca//lib/tapioca/helpers/config_helper.rb#70 - sig { params(config_file: ::String, config: T::Hash[T.untyped, T.untyped]).void } - def validate_config!(config_file, config); end - - # source://tapioca//lib/tapioca/helpers/config_helper.rb#102 - sig do - params( - command_options: T::Hash[::Symbol, ::Thor::Option], - config_key: ::String, - config_options: T::Hash[T.untyped, T.untyped] - ).returns(T::Array[::Tapioca::ConfigHelper::ConfigError]) - end - def validate_config_options(command_options, config_key, config_options); end -end - -# source://tapioca//lib/tapioca/helpers/config_helper.rb#146 -class Tapioca::ConfigHelper::ConfigError < ::T::Struct - const :message_parts, T::Array[::Tapioca::ConfigHelper::ConfigErrorMessagePart] - - class << self - # source://sorbet-runtime/0.5.10520/lib/types/struct.rb#13 - def inherited(s); end - end -end - -# source://tapioca//lib/tapioca/helpers/config_helper.rb#141 -class Tapioca::ConfigHelper::ConfigErrorMessagePart < ::T::Struct - const :message, ::String - const :colors, T::Array[::Symbol] - - class << self - # source://sorbet-runtime/0.5.10520/lib/types/struct.rb#13 - def inherited(s); end - end -end - -# source://tapioca//lib/tapioca.rb#44 -Tapioca::DEFAULT_ANNOTATIONS_DIR = T.let(T.unsafe(nil), String) - -# source://tapioca//lib/tapioca.rb#40 -Tapioca::DEFAULT_DSL_DIR = T.let(T.unsafe(nil), String) - -# source://tapioca//lib/tapioca.rb#53 -Tapioca::DEFAULT_ENVIRONMENT = T.let(T.unsafe(nil), String) - -# source://tapioca//lib/tapioca.rb#41 -Tapioca::DEFAULT_GEM_DIR = T.let(T.unsafe(nil), String) - -# source://tapioca//lib/tapioca.rb#46 -Tapioca::DEFAULT_OVERRIDES = T.let(T.unsafe(nil), Hash) - -# source://tapioca//lib/tapioca.rb#38 -Tapioca::DEFAULT_POSTREQUIRE_FILE = T.let(T.unsafe(nil), String) - -# source://tapioca//lib/tapioca.rb#39 -Tapioca::DEFAULT_RBI_DIR = T.let(T.unsafe(nil), String) - -# source://tapioca//lib/tapioca/rbi_formatter.rb#29 -Tapioca::DEFAULT_RBI_FORMATTER = T.let(T.unsafe(nil), Tapioca::RBIFormatter) - -# source://tapioca//lib/tapioca.rb#52 -Tapioca::DEFAULT_RBI_MAX_LINE_LENGTH = T.let(T.unsafe(nil), Integer) - -# source://tapioca//lib/tapioca.rb#42 -Tapioca::DEFAULT_SHIM_DIR = T.let(T.unsafe(nil), String) - -# source://tapioca//lib/tapioca.rb#43 -Tapioca::DEFAULT_TODO_FILE = T.let(T.unsafe(nil), String) - -# source://tapioca//lib/tapioca/dsl/compilers.rb#5 -module Tapioca::Dsl; end - -# @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below. -# -# source://tapioca//lib/tapioca/dsl/compiler.rb#6 -class Tapioca::Dsl::Compiler - extend T::Generic - include ::Tapioca::SorbetHelper - include ::Tapioca::RBIHelper - include ::Tapioca::Runtime::Reflection - extend ::Tapioca::Runtime::Reflection - - abstract! - - ConstantType = type_member { { upper: Module } } - - # source://tapioca//lib/tapioca/dsl/compiler.rb#60 - sig { params(pipeline: ::Tapioca::Dsl::Pipeline, root: ::RBI::Tree, constant: ConstantType).void } - def initialize(pipeline, root, constant); end - - # NOTE: This should eventually accept an `Error` object or `Exception` rather than simply a `String`. - # - # source://tapioca//lib/tapioca/dsl/compiler.rb#77 - sig { params(error: ::String).void } - def add_error(error); end - - # source://tapioca//lib/tapioca/dsl/compiler.rb#68 - sig { params(compiler_name: ::String).returns(T::Boolean) } - def compiler_enabled?(compiler_name); end - - # source://tapioca//lib/tapioca/dsl/compiler.rb#20 - sig { returns(ConstantType) } - def constant; end - - # @abstract - # - # source://tapioca//lib/tapioca/dsl/compiler.rb#73 - sig { abstract.void } - def decorate; end - - # source://tapioca//lib/tapioca/dsl/compiler.rb#23 - sig { returns(::RBI::Tree) } - def root; end - - private - - # source://tapioca//lib/tapioca/dsl/compiler.rb#123 - sig { params(method_def: T.any(::Method, ::UnboundMethod)).returns(T::Array[::RBI::TypedParam]) } - def compile_method_parameters_to_rbi(method_def); end - - # source://tapioca//lib/tapioca/dsl/compiler.rb#159 - sig { params(method_def: T.any(::Method, ::UnboundMethod)).returns(::String) } - def compile_method_return_type_to_rbi(method_def); end - - # source://tapioca//lib/tapioca/dsl/compiler.rb#113 - sig { params(scope: ::RBI::Scope, method_def: T.any(::Method, ::UnboundMethod), class_method: T::Boolean).void } - def create_method_from_def(scope, method_def, class_method: T.unsafe(nil)); end - - # Get the types of each parameter from a method signature - # - # source://tapioca//lib/tapioca/dsl/compiler.rb#90 - sig { params(method_def: T.any(::Method, ::UnboundMethod), signature: T.untyped).returns(T::Array[::String]) } - def parameters_types_from_signature(method_def, signature); end - - class << self - # @abstract - # - # source://tapioca//lib/tapioca/dsl/compiler.rb#34 - sig { abstract.returns(T::Enumerable[::Module]) } - def gather_constants; end - - # source://tapioca//lib/tapioca/dsl/compiler.rb#29 - sig { params(constant: ::Module).returns(T::Boolean) } - def handles?(constant); end - - # source://tapioca//lib/tapioca/dsl/compiler.rb#37 - sig { returns(T::Set[::Module]) } - def processable_constants; end - - private - - # source://tapioca//lib/tapioca/dsl/compiler.rb#47 - sig { returns(T::Enumerable[::Class]) } - def all_classes; end - - # source://tapioca//lib/tapioca/dsl/compiler.rb#53 - sig { returns(T::Enumerable[::Module]) } - def all_modules; end - end -end - -# source://tapioca//lib/tapioca/dsl/compilers.rb#6 -module Tapioca::Dsl::Compilers; end - -# DSL compilers are either built-in to Tapioca and live under the -# `Tapioca::Dsl::Compilers` namespace (i.e. this namespace), and -# can be referred to by just using the class name, or they live in -# a different namespace and can only be referred to using their fully -# qualified name. This constant encapsulates that dual lookup when -# a compiler needs to be resolved by name. -# -# source://tapioca//lib/tapioca/dsl/compilers.rb#13 -Tapioca::Dsl::Compilers::NAMESPACES = T.let(T.unsafe(nil), Array) - -# source://tapioca//lib/tapioca/dsl/pipeline.rb#6 -class Tapioca::Dsl::Pipeline - # source://tapioca//lib/tapioca/dsl/pipeline.rb#30 - sig do - params( - requested_constants: T::Array[::Module], - requested_compilers: T::Array[T.class_of(Tapioca::Dsl::Compiler)], - excluded_compilers: T::Array[T.class_of(Tapioca::Dsl::Compiler)], - error_handler: T.proc.params(error: ::String).void, - number_of_workers: T.nilable(::Integer) - ).void - end - def initialize(requested_constants:, requested_compilers: T.unsafe(nil), excluded_compilers: T.unsafe(nil), error_handler: T.unsafe(nil), number_of_workers: T.unsafe(nil)); end - - # source://tapioca//lib/tapioca/dsl/pipeline.rb#10 - sig { returns(T::Enumerable[T.class_of(Tapioca::Dsl::Compiler)]) } - def active_compilers; end - - # source://tapioca//lib/tapioca/dsl/pipeline.rb#82 - sig { params(error: ::String).void } - def add_error(error); end - - # source://tapioca//lib/tapioca/dsl/pipeline.rb#87 - sig { params(compiler_name: ::String).returns(T::Boolean) } - def compiler_enabled?(compiler_name); end - - # source://tapioca//lib/tapioca/dsl/pipeline.rb#96 - sig { returns(T::Array[T.class_of(Tapioca::Dsl::Compiler)]) } - def compilers; end - - # source://tapioca//lib/tapioca/dsl/pipeline.rb#16 - sig { returns(T.proc.params(error: ::String).void) } - def error_handler; end - - # source://tapioca//lib/tapioca/dsl/pipeline.rb#19 - sig { returns(T::Array[::String]) } - def errors; end - - # source://tapioca//lib/tapioca/dsl/pipeline.rb#13 - sig { returns(T::Array[::Module]) } - def requested_constants; end - - # source://tapioca//lib/tapioca/dsl/pipeline.rb#52 - sig do - type_parameters(:T) - .params( - blk: T.proc.params(constant: ::Module, rbi: ::RBI::File).returns(T.type_parameter(:T)) - ).returns(T::Array[T.type_parameter(:T)]) - end - def run(&blk); end - - private - - # source://tapioca//lib/tapioca/dsl/pipeline.rb#128 - sig { params(constants: T::Set[::Module]).returns(T::Set[::Module]) } - def filter_anonymous_and_reloaded_constants(constants); end - - # source://tapioca//lib/tapioca/dsl/pipeline.rb#111 - sig do - params( - requested_compilers: T::Array[T.class_of(Tapioca::Dsl::Compiler)], - excluded_compilers: T::Array[T.class_of(Tapioca::Dsl::Compiler)] - ).returns(T::Enumerable[T.class_of(Tapioca::Dsl::Compiler)]) - end - def gather_active_compilers(requested_compilers, excluded_compilers); end - - # source://tapioca//lib/tapioca/dsl/pipeline.rb#119 - sig { params(requested_constants: T::Array[::Module]).returns(T::Set[::Module]) } - def gather_constants(requested_constants); end - - # source://tapioca//lib/tapioca/dsl/pipeline.rb#154 - sig { params(constant: ::Module).returns(T.nilable(::RBI::File)) } - def rbi_for_constant(constant); end - - # source://tapioca//lib/tapioca/dsl/pipeline.rb#173 - sig { params(error: ::String).returns(T.noreturn) } - def report_error(error); end -end - -# source://tapioca//lib/tapioca/helpers/env_helper.rb#5 -module Tapioca::EnvHelper - requires_ancestor { Thor } - - # source://tapioca//lib/tapioca/helpers/env_helper.rb#12 - sig { params(options: T::Hash[::Symbol, T.untyped]).void } - def set_environment(options); end -end - -class Tapioca::Error < ::StandardError; end - -# source://tapioca//lib/tapioca/executor.rb#5 -class Tapioca::Executor - # source://tapioca//lib/tapioca/executor.rb#11 - sig { params(queue: T::Array[T.untyped], number_of_workers: T.nilable(::Integer)).void } - def initialize(queue, number_of_workers: T.unsafe(nil)); end - - # source://tapioca//lib/tapioca/executor.rb#28 - sig do - type_parameters(:T) - .params( - block: T.proc.params(item: T.untyped).returns(T.type_parameter(:T)) - ).returns(T::Array[T.type_parameter(:T)]) - end - def run_in_parallel(&block); end -end - -# source://tapioca//lib/tapioca/executor.rb#8 -Tapioca::Executor::MINIMUM_ITEMS_PER_WORKER = T.let(T.unsafe(nil), Integer) - -# source://tapioca//lib/tapioca/gem/events.rb#5 -module Tapioca::Gem; end - -# source://tapioca//lib/tapioca/gem/events.rb#77 -class Tapioca::Gem::ConstNodeAdded < ::Tapioca::Gem::NodeAdded - # source://tapioca//lib/tapioca/gem/events.rb#84 - sig { params(symbol: ::String, constant: ::Module, node: ::RBI::Const).void } - def initialize(symbol, constant, node); end - - # source://tapioca//lib/tapioca/gem/events.rb#81 - sig { returns(::RBI::Const) } - def node; end -end - -# source://tapioca//lib/tapioca/gem/events.rb#26 -class Tapioca::Gem::ConstantFound < ::Tapioca::Gem::Event - # source://tapioca//lib/tapioca/gem/events.rb#36 - sig { params(symbol: ::String, constant: ::BasicObject).void } - def initialize(symbol, constant); end - - # source://tapioca//lib/tapioca/gem/events.rb#33 - sig { returns(::BasicObject) } - def constant; end - - # source://tapioca//lib/tapioca/gem/events.rb#30 - sig { returns(::String) } - def symbol; end -end - -# @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below. -# -# source://tapioca//lib/tapioca/gem/events.rb#6 -class Tapioca::Gem::Event - abstract! - - # source://sorbet-runtime/0.5.10520/lib/types/private/abstract/declare.rb#37 - def initialize(*args, &blk); end -end - -# source://tapioca//lib/tapioca/gem/events.rb#43 -class Tapioca::Gem::ForeignConstantFound < ::Tapioca::Gem::ConstantFound - # source://tapioca//lib/tapioca/gem/events.rb#52 - sig { params(symbol: ::String, constant: ::Module).void } - def initialize(symbol, constant); end - - # source://tapioca//lib/tapioca/gem/events.rb#47 - sig { override.returns(::Module) } - def constant; end -end - -# source://tapioca//lib/tapioca/gem/events.rb#103 -class Tapioca::Gem::ForeignScopeNodeAdded < ::Tapioca::Gem::ScopeNodeAdded; end - -# source://tapioca//lib/tapioca/gem/listeners/base.rb#6 -module Tapioca::Gem::Listeners; end - -# @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below. -# -# source://tapioca//lib/tapioca/gem/listeners/base.rb#7 -class Tapioca::Gem::Listeners::Base - abstract! - - # source://tapioca//lib/tapioca/gem/listeners/base.rb#14 - sig { params(pipeline: ::Tapioca::Gem::Pipeline).void } - def initialize(pipeline); end - - # source://tapioca//lib/tapioca/gem/listeners/base.rb#19 - sig { params(event: ::Tapioca::Gem::NodeAdded).void } - def dispatch(event); end - - private - - # source://tapioca//lib/tapioca/gem/listeners/base.rb#49 - sig { params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) } - def ignore?(event); end - - # source://tapioca//lib/tapioca/gem/listeners/base.rb#37 - sig { params(event: ::Tapioca::Gem::ConstNodeAdded).void } - def on_const(event); end - - # source://tapioca//lib/tapioca/gem/listeners/base.rb#45 - sig { params(event: ::Tapioca::Gem::MethodNodeAdded).void } - def on_method(event); end - - # source://tapioca//lib/tapioca/gem/listeners/base.rb#41 - sig { params(event: ::Tapioca::Gem::ScopeNodeAdded).void } - def on_scope(event); end -end - -# source://tapioca//lib/tapioca/gem/listeners/dynamic_mixins.rb#7 -class Tapioca::Gem::Listeners::DynamicMixins < ::Tapioca::Gem::Listeners::Base - include ::Tapioca::Runtime::Reflection - - private - - # source://tapioca//lib/tapioca/gem/listeners/dynamic_mixins.rb#31 - sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) } - def ignore?(event); end - - # source://tapioca//lib/tapioca/gem/listeners/dynamic_mixins.rb#15 - sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void } - def on_scope(event); end -end - -# source://tapioca//lib/tapioca/gem/listeners/foreign_constants.rb#7 -class Tapioca::Gem::Listeners::ForeignConstants < ::Tapioca::Gem::Listeners::Base - include ::Tapioca::Runtime::Reflection - - private - - # source://tapioca//lib/tapioca/gem/listeners/foreign_constants.rb#60 - sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) } - def ignore?(event); end - - # source://tapioca//lib/tapioca/gem/listeners/foreign_constants.rb#55 - sig { params(location: ::String).returns(T::Boolean) } - def mixed_in_by_gem?(location); end - - # source://tapioca//lib/tapioca/gem/listeners/foreign_constants.rb#15 - sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void } - def on_scope(event); end -end - -# source://tapioca//lib/tapioca/gem/listeners/methods.rb#7 -class Tapioca::Gem::Listeners::Methods < ::Tapioca::Gem::Listeners::Base - include ::Tapioca::SorbetHelper - include ::Tapioca::RBIHelper - include ::Tapioca::Runtime::Reflection - - private - - # source://tapioca//lib/tapioca/gem/listeners/methods.rb#34 - sig { params(tree: ::RBI::Tree, module_name: ::String, mod: ::Module, for_visibility: T::Array[::Symbol]).void } - def compile_directly_owned_methods(tree, module_name, mod, for_visibility = T.unsafe(nil)); end - - # source://tapioca//lib/tapioca/gem/listeners/methods.rb#63 - sig do - params( - tree: ::RBI::Tree, - symbol_name: ::String, - constant: ::Module, - method: T.nilable(::UnboundMethod), - visibility: ::RBI::Visibility - ).void - end - def compile_method(tree, symbol_name, constant, method, visibility = T.unsafe(nil)); end - - # source://tapioca//lib/tapioca/gem/listeners/methods.rb#191 - sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) } - def ignore?(event); end - - # source://tapioca//lib/tapioca/gem/listeners/methods.rb#184 - sig { params(constant: ::Module).returns(T.nilable(::UnboundMethod)) } - def initialize_method_for(constant); end - - # source://tapioca//lib/tapioca/gem/listeners/methods.rb#165 - sig { params(mod: ::Module).returns(T::Hash[::Symbol, T::Array[::Symbol]]) } - def method_names_by_visibility(mod); end - - # Check whether the method is defined by the constant. - # - # In most cases, it works to check that the constant is the method owner. However, - # in the case that a method is also defined in a module prepended to the constant, it - # will be owned by the prepended module, not the constant. - # - # This method implements a better way of checking whether a constant defines a method. - # It walks up the ancestor tree via the `super_method` method; if any of the super - # methods are owned by the constant, it means that the constant declares the method. - # - # source://tapioca//lib/tapioca/gem/listeners/methods.rb#151 - sig { params(method: ::UnboundMethod, constant: ::Module).returns(T::Boolean) } - def method_owned_by_constant?(method, constant); end - - # source://tapioca//lib/tapioca/gem/listeners/methods.rb#16 - sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void } - def on_scope(event); end - - # source://tapioca//lib/tapioca/gem/listeners/methods.rb#174 - sig { params(constant: ::Module, method_name: ::String).returns(T::Boolean) } - def struct_method?(constant, method_name); end -end - -# source://tapioca//lib/tapioca/gem/listeners/mixins.rb#7 -class Tapioca::Gem::Listeners::Mixins < ::Tapioca::Gem::Listeners::Base - include ::Tapioca::Runtime::Reflection - - private - - # source://tapioca//lib/tapioca/gem/listeners/mixins.rb#42 - sig do - params( - tree: ::RBI::Tree, - constant: ::Module, - mods: T::Array[::Module], - mixin_type: ::Tapioca::Runtime::Trackers::Mixin::Type - ).void - end - def add_mixins(tree, constant, mods, mixin_type); end - - # source://tapioca//lib/tapioca/gem/listeners/mixins.rb#84 - sig { params(mixin_name: ::String).returns(T::Boolean) } - def filtered_mixin?(mixin_name); end - - # source://tapioca//lib/tapioca/gem/listeners/mixins.rb#91 - sig { params(constant: ::Module).returns(T::Array[::Module]) } - def interesting_ancestors_of(constant); end - - # source://tapioca//lib/tapioca/gem/listeners/mixins.rb#75 - sig do - params( - constant: ::Module, - mixin: ::Module, - mixin_type: ::Tapioca::Runtime::Trackers::Mixin::Type - ).returns(T::Boolean) - end - def mixed_in_by_gem?(constant, mixin, mixin_type); end - - # source://tapioca//lib/tapioca/gem/listeners/mixins.rb#15 - sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void } - def on_scope(event); end -end - -# source://tapioca//lib/tapioca/gem/listeners/remove_empty_payload_scopes.rb#7 -class Tapioca::Gem::Listeners::RemoveEmptyPayloadScopes < ::Tapioca::Gem::Listeners::Base - include ::Tapioca::Runtime::Reflection - - private - - # source://tapioca//lib/tapioca/gem/listeners/remove_empty_payload_scopes.rb#20 - sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) } - def ignore?(event); end - - # source://tapioca//lib/tapioca/gem/listeners/remove_empty_payload_scopes.rb#15 - sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void } - def on_scope(event); end -end - -# source://tapioca//lib/tapioca/gem/listeners/sorbet_enums.rb#7 -class Tapioca::Gem::Listeners::SorbetEnums < ::Tapioca::Gem::Listeners::Base - private - - # source://tapioca//lib/tapioca/gem/listeners/sorbet_enums.rb#25 - sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) } - def ignore?(event); end - - # source://tapioca//lib/tapioca/gem/listeners/sorbet_enums.rb#13 - sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void } - def on_scope(event); end -end - -# source://tapioca//lib/tapioca/gem/listeners/sorbet_helpers.rb#7 -class Tapioca::Gem::Listeners::SorbetHelpers < ::Tapioca::Gem::Listeners::Base - include ::Tapioca::Runtime::Reflection - - private - - # source://tapioca//lib/tapioca/gem/listeners/sorbet_helpers.rb#28 - sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) } - def ignore?(event); end - - # source://tapioca//lib/tapioca/gem/listeners/sorbet_helpers.rb#15 - sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void } - def on_scope(event); end -end - -# source://tapioca//lib/tapioca/gem/listeners/sorbet_props.rb#7 -class Tapioca::Gem::Listeners::SorbetProps < ::Tapioca::Gem::Listeners::Base - private - - # source://tapioca//lib/tapioca/gem/listeners/sorbet_props.rb#32 - sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) } - def ignore?(event); end - - # source://tapioca//lib/tapioca/gem/listeners/sorbet_props.rb#13 - sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void } - def on_scope(event); end -end - -# source://tapioca//lib/tapioca/gem/listeners/sorbet_required_ancestors.rb#7 -class Tapioca::Gem::Listeners::SorbetRequiredAncestors < ::Tapioca::Gem::Listeners::Base - private - - # source://tapioca//lib/tapioca/gem/listeners/sorbet_required_ancestors.rb#23 - sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) } - def ignore?(event); end - - # source://tapioca//lib/tapioca/gem/listeners/sorbet_required_ancestors.rb#13 - sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void } - def on_scope(event); end -end - -# source://tapioca//lib/tapioca/gem/listeners/sorbet_signatures.rb#7 -class Tapioca::Gem::Listeners::SorbetSignatures < ::Tapioca::Gem::Listeners::Base - include ::Tapioca::Runtime::Reflection - include ::Tapioca::SorbetHelper - include ::Tapioca::RBIHelper - - private - - # source://tapioca//lib/tapioca/gem/listeners/sorbet_signatures.rb#26 - sig { params(signature: T.untyped, parameters: T::Array[[::Symbol, ::String]]).returns(::RBI::Sig) } - def compile_signature(signature, parameters); end - - # source://tapioca//lib/tapioca/gem/listeners/sorbet_signatures.rb#78 - sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) } - def ignore?(event); end - - # source://tapioca//lib/tapioca/gem/listeners/sorbet_signatures.rb#18 - sig { override.params(event: ::Tapioca::Gem::MethodNodeAdded).void } - def on_method(event); end - - # source://tapioca//lib/tapioca/gem/listeners/sorbet_signatures.rb#68 - sig { params(signature: T.untyped).returns(T::Boolean) } - def signature_final?(signature); end -end - -# source://tapioca//lib/tapioca/gem/listeners/sorbet_signatures.rb#13 -Tapioca::Gem::Listeners::SorbetSignatures::TYPE_PARAMETER_MATCHER = T.let(T.unsafe(nil), Regexp) - -# source://tapioca//lib/tapioca/gem/listeners/sorbet_type_variables.rb#7 -class Tapioca::Gem::Listeners::SorbetTypeVariables < ::Tapioca::Gem::Listeners::Base - include ::Tapioca::Runtime::Reflection - - private - - # source://tapioca//lib/tapioca/gem/listeners/sorbet_type_variables.rb#27 - sig { params(tree: ::RBI::Tree, constant: ::Module).void } - def compile_type_variable_declarations(tree, constant); end - - # source://tapioca//lib/tapioca/gem/listeners/sorbet_type_variables.rb#50 - sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) } - def ignore?(event); end - - # source://tapioca//lib/tapioca/gem/listeners/sorbet_type_variables.rb#15 - sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void } - def on_scope(event); end -end - -# source://tapioca//lib/tapioca/gem/listeners/source_location.rb#7 -class Tapioca::Gem::Listeners::SourceLocation < ::Tapioca::Gem::Listeners::Base - private - - # source://tapioca//lib/tapioca/gem/listeners/source_location.rb#41 - sig { params(node: ::RBI::NodeWithComments, file: T.nilable(::String), line: T.nilable(::Integer)).void } - def add_source_location_comment(node, file, line); end - - # source://tapioca//lib/tapioca/gem/listeners/source_location.rb#13 - sig { override.params(event: ::Tapioca::Gem::ConstNodeAdded).void } - def on_const(event); end - - # source://tapioca//lib/tapioca/gem/listeners/source_location.rb#35 - sig { override.params(event: ::Tapioca::Gem::MethodNodeAdded).void } - def on_method(event); end - - # source://tapioca//lib/tapioca/gem/listeners/source_location.rb#19 - sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void } - def on_scope(event); end -end - -# source://tapioca//lib/tapioca/gem/listeners/subconstants.rb#7 -class Tapioca::Gem::Listeners::Subconstants < ::Tapioca::Gem::Listeners::Base - include ::Tapioca::Runtime::Reflection - - private - - # source://tapioca//lib/tapioca/gem/listeners/subconstants.rb#36 - sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) } - def ignore?(event); end - - # source://tapioca//lib/tapioca/gem/listeners/subconstants.rb#15 - sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void } - def on_scope(event); end -end - -# source://tapioca//lib/tapioca/gem/listeners/yard_doc.rb#7 -class Tapioca::Gem::Listeners::YardDoc < ::Tapioca::Gem::Listeners::Base - # source://tapioca//lib/tapioca/gem/listeners/yard_doc.rb#24 - sig { params(pipeline: ::Tapioca::Gem::Pipeline).void } - def initialize(pipeline); end - - private - - # source://tapioca//lib/tapioca/gem/listeners/yard_doc.rb#51 - sig { params(name: ::String, sigs: T::Array[::RBI::Sig]).returns(T::Array[::RBI::Comment]) } - def documentation_comments(name, sigs: T.unsafe(nil)); end - - # source://tapioca//lib/tapioca/gem/listeners/yard_doc.rb#95 - sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) } - def ignore?(event); end - - # source://tapioca//lib/tapioca/gem/listeners/yard_doc.rb#32 - sig { override.params(event: ::Tapioca::Gem::ConstNodeAdded).void } - def on_const(event); end - - # source://tapioca//lib/tapioca/gem/listeners/yard_doc.rb#42 - sig { override.params(event: ::Tapioca::Gem::MethodNodeAdded).void } - def on_method(event); end - - # source://tapioca//lib/tapioca/gem/listeners/yard_doc.rb#37 - sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void } - def on_scope(event); end -end - -# source://tapioca//lib/tapioca/gem/listeners/yard_doc.rb#10 -Tapioca::Gem::Listeners::YardDoc::IGNORED_COMMENTS = T.let(T.unsafe(nil), Array) - -# source://tapioca//lib/tapioca/gem/listeners/yard_doc.rb#21 -Tapioca::Gem::Listeners::YardDoc::IGNORED_SIG_TAGS = T.let(T.unsafe(nil), Array) - -# source://tapioca//lib/tapioca/gem/events.rb#105 -class Tapioca::Gem::MethodNodeAdded < ::Tapioca::Gem::NodeAdded - # source://tapioca//lib/tapioca/gem/events.rb#130 - sig do - params( - symbol: ::String, - constant: ::Module, - method: ::UnboundMethod, - node: ::RBI::Method, - signature: T.untyped, - parameters: T::Array[[::Symbol, ::String]] - ).void - end - def initialize(symbol, constant, method, node, signature, parameters); end - - # source://tapioca//lib/tapioca/gem/events.rb#109 - sig { returns(::UnboundMethod) } - def method; end - - # source://tapioca//lib/tapioca/gem/events.rb#112 - sig { returns(::RBI::Method) } - def node; end - - # source://tapioca//lib/tapioca/gem/events.rb#118 - sig { returns(T::Array[[::Symbol, ::String]]) } - def parameters; end - - # source://tapioca//lib/tapioca/gem/events.rb#115 - sig { returns(T.untyped) } - def signature; end -end - -# @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below. -# -# source://tapioca//lib/tapioca/gem/events.rb#57 -class Tapioca::Gem::NodeAdded < ::Tapioca::Gem::Event - abstract! - - # source://tapioca//lib/tapioca/gem/events.rb#70 - sig { params(symbol: ::String, constant: ::Module).void } - def initialize(symbol, constant); end - - # source://tapioca//lib/tapioca/gem/events.rb#67 - sig { returns(::Module) } - def constant; end - - # source://tapioca//lib/tapioca/gem/events.rb#64 - sig { returns(::String) } - def symbol; end -end - -# source://tapioca//lib/tapioca/gem/pipeline.rb#6 -class Tapioca::Gem::Pipeline - include ::Tapioca::Runtime::Reflection - include ::Tapioca::SorbetHelper - include ::Tapioca::RBIHelper - - # source://tapioca//lib/tapioca/gem/pipeline.rb#17 - sig { params(gem: ::Tapioca::Gemfile::GemSpec, include_doc: T::Boolean, include_loc: T::Boolean).void } - def initialize(gem, include_doc: T.unsafe(nil), include_loc: T.unsafe(nil)); end - - # source://tapioca//lib/tapioca/gem/pipeline.rb#48 - sig { returns(::RBI::Tree) } - def compile; end - - # source://tapioca//lib/tapioca/gem/pipeline.rb#14 - sig { returns(::Tapioca::Gemfile::GemSpec) } - def gem; end - - # source://tapioca//lib/tapioca/gem/pipeline.rb#110 - sig { params(method: ::UnboundMethod).returns(T::Boolean) } - def method_in_gem?(method); end - - # source://tapioca//lib/tapioca/gem/pipeline.rb#118 - sig { params(constant: ::Module).returns(T.nilable(::String)) } - def name_of(constant); end - - # source://tapioca//lib/tapioca/gem/pipeline.rb#69 - sig { params(symbol: ::String, constant: ::Module, node: ::RBI::Const).void } - def push_const(symbol, constant, node); end - - # source://tapioca//lib/tapioca/gem/pipeline.rb#59 - sig { params(symbol: ::String, constant: ::BasicObject).void } - def push_constant(symbol, constant); end - - # source://tapioca//lib/tapioca/gem/pipeline.rb#64 - sig { params(symbol: ::String, constant: ::Module).void } - def push_foreign_constant(symbol, constant); end - - # source://tapioca//lib/tapioca/gem/pipeline.rb#83 - sig { params(symbol: ::String, constant: ::Module, node: ::RBI::Scope).void } - def push_foreign_scope(symbol, constant, node); end - - # source://tapioca//lib/tapioca/gem/pipeline.rb#97 - sig do - params( - symbol: ::String, - constant: ::Module, - method: ::UnboundMethod, - node: ::RBI::Method, - signature: T.untyped, - parameters: T::Array[[::Symbol, ::String]] - ).void - end - def push_method(symbol, constant, method, node, signature, parameters); end - - # source://tapioca//lib/tapioca/gem/pipeline.rb#76 - sig { params(symbol: ::String, constant: ::Module, node: ::RBI::Scope).void } - def push_scope(symbol, constant, node); end - - # source://tapioca//lib/tapioca/gem/pipeline.rb#54 - sig { params(symbol: ::String).void } - def push_symbol(symbol); end - - # source://tapioca//lib/tapioca/gem/pipeline.rb#102 - sig { params(symbol_name: ::String).returns(T::Boolean) } - def symbol_in_payload?(symbol_name); end - - private - - # source://tapioca//lib/tapioca/gem/pipeline.rb#365 - sig { params(name: ::String).void } - def add_to_alias_namespace(name); end - - # source://tapioca//lib/tapioca/gem/pipeline.rb#370 - sig { params(name: ::String).returns(T::Boolean) } - def alias_namespaced?(name); end - - # source://tapioca//lib/tapioca/gem/pipeline.rb#213 - sig { params(name: ::String, constant: ::Module).void } - def compile_alias(name, constant); end - - # source://tapioca//lib/tapioca/gem/pipeline.rb#199 - sig { params(symbol: ::String, constant: ::BasicObject).void } - def compile_constant(symbol, constant); end - - # Compile - # - # source://tapioca//lib/tapioca/gem/pipeline.rb#194 - sig { params(symbol: ::String, constant: ::Module).void } - def compile_foreign_constant(symbol, constant); end - - # source://tapioca//lib/tapioca/gem/pipeline.rb#270 - sig { params(name: ::String, constant: ::Module, foreign_constant: T::Boolean).void } - def compile_module(name, constant, foreign_constant: T.unsafe(nil)); end - - # source://tapioca//lib/tapioca/gem/pipeline.rb#234 - sig { params(name: ::String, value: ::BasicObject).void } - def compile_object(name, value); end - - # source://tapioca//lib/tapioca/gem/pipeline.rb#295 - sig { params(constant: ::Class).returns(T.nilable(::String)) } - def compile_superclass(constant); end - - # source://tapioca//lib/tapioca/gem/pipeline.rb#344 - sig { params(constant: ::Module, strict: T::Boolean).returns(T::Boolean) } - def defined_in_gem?(constant, strict: T.unsafe(nil)); end - - # source://tapioca//lib/tapioca/gem/pipeline.rb#146 - sig { params(event: ::Tapioca::Gem::Event).void } - def dispatch(event); end - - # source://tapioca//lib/tapioca/gem/pipeline.rb#387 - sig { params(constant: T.all(::Module, ::T::Generic)).returns(::String) } - def generic_name_of(constant); end - - # source://tapioca//lib/tapioca/gem/pipeline.rb#356 - sig { params(constant: ::Module).returns(T::Array[::String]) } - def get_file_candidates(constant); end - - # source://tapioca//lib/tapioca/gem/pipeline.rb#133 - sig { params(gem: ::Tapioca::Gemfile::GemSpec).returns(T::Set[::String]) } - def load_bootstrap_symbols(gem); end - - # source://tapioca//lib/tapioca/gem/pipeline.rb#377 - sig { params(name: ::String).void } - def mark_seen(name); end - - # source://tapioca//lib/tapioca/gem/pipeline.rb#403 - sig { params(constant: ::Module, class_name: T.nilable(::String)).returns(T.nilable(::String)) } - def name_of_proxy_target(constant, class_name); end - - # source://tapioca//lib/tapioca/gem/pipeline.rb#141 - sig { returns(::Tapioca::Gem::Event) } - def next_event; end - - # source://tapioca//lib/tapioca/gem/pipeline.rb#169 - sig { params(event: ::Tapioca::Gem::ConstantFound).void } - def on_constant(event); end - - # source://tapioca//lib/tapioca/gem/pipeline.rb#187 - sig { params(event: ::Tapioca::Gem::NodeAdded).void } - def on_node(event); end - - # source://tapioca//lib/tapioca/gem/pipeline.rb#160 - sig { params(event: ::Tapioca::Gem::SymbolFound).void } - def on_symbol(event); end - - # source://tapioca//lib/tapioca/gem/pipeline.rb#382 - sig { params(name: ::String).returns(T::Boolean) } - def seen?(name); end -end - -# source://tapioca//lib/tapioca/gem/pipeline.rb#11 -Tapioca::Gem::Pipeline::IGNORED_SYMBOLS = T.let(T.unsafe(nil), Array) - -# source://tapioca//lib/tapioca/gem/events.rb#90 -class Tapioca::Gem::ScopeNodeAdded < ::Tapioca::Gem::NodeAdded - # source://tapioca//lib/tapioca/gem/events.rb#97 - sig { params(symbol: ::String, constant: ::Module, node: ::RBI::Scope).void } - def initialize(symbol, constant, node); end - - # source://tapioca//lib/tapioca/gem/events.rb#94 - sig { returns(::RBI::Scope) } - def node; end -end - -# source://tapioca//lib/tapioca/gem/events.rb#13 -class Tapioca::Gem::SymbolFound < ::Tapioca::Gem::Event - # source://tapioca//lib/tapioca/gem/events.rb#20 - sig { params(symbol: ::String).void } - def initialize(symbol); end - - # source://tapioca//lib/tapioca/gem/events.rb#17 - sig { returns(::String) } - def symbol; end -end - -# source://tapioca//lib/tapioca/helpers/gem_helper.rb#5 -module Tapioca::GemHelper - # source://tapioca//lib/tapioca/helpers/gem_helper.rb#9 - sig { params(app_dir: ::String, full_gem_path: ::String).returns(T::Boolean) } - def gem_in_app_dir?(app_dir, full_gem_path); end - - # source://tapioca//lib/tapioca/helpers/gem_helper.rb#17 - sig { params(full_gem_path: ::String).returns(T::Boolean) } - def gem_in_bundle_path?(full_gem_path); end - - # source://tapioca//lib/tapioca/helpers/gem_helper.rb#22 - sig { params(path: T.any(::Pathname, ::String)).returns(::String) } - def to_realpath(path); end - - private - - # source://tapioca//lib/tapioca/helpers/gem_helper.rb#31 - sig { params(path: T.any(::Pathname, ::String), dir: T.any(::Pathname, ::String)).returns(T::Boolean) } - def path_in_dir?(path, dir); end -end - -# source://tapioca//lib/tapioca/gemfile.rb#5 -class Tapioca::Gemfile - # source://tapioca//lib/tapioca/gemfile.rb#69 - sig { params(exclude: T::Array[::String]).void } - def initialize(exclude); end - - # source://tapioca//lib/tapioca/gemfile.rb#60 - sig { returns(::Bundler::Definition) } - def definition; end - - # source://tapioca//lib/tapioca/gemfile.rb#63 - sig { returns(T::Array[::Tapioca::Gemfile::GemSpec]) } - def dependencies; end - - # source://tapioca//lib/tapioca/gemfile.rb#80 - sig { params(gem_name: ::String).returns(T.nilable(::Tapioca::Gemfile::GemSpec)) } - def gem(gem_name); end - - # source://tapioca//lib/tapioca/gemfile.rb#66 - sig { returns(T::Array[::String]) } - def missing_specs; end - - # source://tapioca//lib/tapioca/gemfile.rb#85 - sig { void } - def require_bundle; end - - private - - # source://tapioca//lib/tapioca/gemfile.rb#131 - sig { returns(::String) } - def dir; end - - # source://tapioca//lib/tapioca/gemfile.rb#92 - sig { returns(::File) } - def gemfile; end - - # source://tapioca//lib/tapioca/gemfile.rb#126 - sig { returns(T::Array[::Symbol]) } - def groups; end - - # source://tapioca//lib/tapioca/gemfile.rb#95 - sig { returns([T::Array[::Tapioca::Gemfile::GemSpec], T::Array[::String]]) } - def load_dependencies; end - - # @return [File] - # - # source://tapioca//lib/tapioca/gemfile.rb#92 - def lockfile; end - - # source://tapioca//lib/tapioca/gemfile.rb#106 - sig { returns([T::Enumerable[T.any(::Bundler::StubSpecification, ::Gem::Specification)], T::Array[::String]]) } - def materialize_deps; end - - # source://tapioca//lib/tapioca/gemfile.rb#121 - sig { returns(::Bundler::Runtime) } - def runtime; end -end - -# This is a module that gets prepended to `Bundler::Dependency` and -# makes sure even gems marked as `require: false` are required during -# `Bundler.require`. -# -# source://tapioca//lib/tapioca/gemfile.rb#18 -module Tapioca::Gemfile::AutoRequireHook - requires_ancestor { Bundler::Dependency } - - # source://tapioca//lib/tapioca/gemfile.rb#39 - sig { returns(T.untyped) } - def autorequire; end - - class << self - # source://tapioca//lib/tapioca/gemfile.rb#30 - sig { params(exclude: T::Array[::String]).returns(T::Array[::String]) } - def exclude=(exclude); end - - # source://tapioca//lib/tapioca/gemfile.rb#33 - sig { params(name: T.untyped).returns(T::Boolean) } - def excluded?(name); end - end -end - -# source://tapioca//lib/tapioca/gemfile.rb#135 -class Tapioca::Gemfile::GemSpec - include ::Tapioca::GemHelper - - # source://tapioca//lib/tapioca/gemfile.rb#170 - sig { params(spec: T.any(::Bundler::StubSpecification, ::Gem::Specification)).void } - def initialize(spec); end - - # source://tapioca//lib/tapioca/gemfile.rb#180 - sig { params(other: ::BasicObject).returns(T::Boolean) } - def ==(other); end - - # source://tapioca//lib/tapioca/gemfile.rb#200 - sig { params(path: ::String).returns(T::Boolean) } - def contains_path?(path); end - - # source://tapioca//lib/tapioca/gemfile.rb#219 - sig { returns(T::Boolean) } - def export_rbi_files?; end - - # source://tapioca//lib/tapioca/gemfile.rb#214 - sig { returns(T::Array[::String]) } - def exported_rbi_files; end - - # source://tapioca//lib/tapioca/gemfile.rb#224 - sig { returns(::RBI::MergeTree) } - def exported_rbi_tree; end - - # source://tapioca//lib/tapioca/gemfile.rb#167 - sig { returns(T::Array[::Pathname]) } - def files; end - - # source://tapioca//lib/tapioca/gemfile.rb#164 - sig { returns(::String) } - def full_gem_path; end - - # source://tapioca//lib/tapioca/gemfile.rb#185 - sig { params(gemfile_dir: ::String).returns(T::Boolean) } - def ignore?(gemfile_dir); end - - # source://tapioca//lib/tapioca/gemfile.rb#190 - sig { returns(::String) } - def name; end - - # source://tapioca//lib/tapioca/gemfile.rb#209 - sig { void } - def parse_yard_docs; end - - # source://tapioca//lib/tapioca/gemfile.rb#195 - sig { returns(::String) } - def rbi_file_name; end - - # source://tapioca//lib/tapioca/gemfile.rb#236 - sig { params(file: ::Pathname).returns(::Pathname) } - def relative_path_for(file); end - - # @return [String] - # - # source://tapioca//lib/tapioca/gemfile.rb#164 - def version; end - - private - - # source://tapioca//lib/tapioca/gemfile.rb#247 - sig { returns(T::Array[::Pathname]) } - def collect_files; end - - # source://tapioca//lib/tapioca/gemfile.rb#262 - sig { returns(T.nilable(T::Boolean)) } - def default_gem?; end - - # source://tapioca//lib/tapioca/gemfile.rb#320 - sig { returns(T::Boolean) } - def gem_ignored?; end - - # source://tapioca//lib/tapioca/gemfile.rb#299 - sig { params(path: ::String).returns(T::Boolean) } - def has_parent_gemspec?(path); end - - # source://tapioca//lib/tapioca/gemfile.rb#267 - sig { returns(::Regexp) } - def require_paths_prefix_matcher; end - - # source://tapioca//lib/tapioca/gemfile.rb#278 - sig { params(file: ::String).returns(::Pathname) } - def resolve_to_ruby_lib_dir(file); end - - # source://tapioca//lib/tapioca/gemfile.rb#292 - sig { returns(::String) } - def version_string; end - - class << self - # source://tapioca//lib/tapioca/gemfile.rb#143 - sig { returns(T::Hash[::String, ::Tapioca::Gemfile::GemSpec]) } - def spec_lookup_by_file_path; end - end -end - -# source://tapioca//lib/tapioca/gemfile.rb#155 -Tapioca::Gemfile::GemSpec::IGNORED_GEMS = T.let(T.unsafe(nil), Array) - -# source://tapioca//lib/tapioca/gemfile.rb#8 -Tapioca::Gemfile::Spec = T.type_alias { T.any(::Bundler::StubSpecification, ::Gem::Specification) } - -# source://tapioca//lib/tapioca/loaders/loader.rb#5 -module Tapioca::Loaders; end - -# source://tapioca//lib/tapioca/loaders/dsl.rb#6 -class Tapioca::Loaders::Dsl < ::Tapioca::Loaders::Loader - # source://tapioca//lib/tapioca/loaders/dsl.rb#30 - sig { params(tapioca_path: ::String, eager_load: T::Boolean).void } - def initialize(tapioca_path:, eager_load: T.unsafe(nil)); end - - # source://tapioca//lib/tapioca/loaders/dsl.rb#20 - sig { override.void } - def load; end - - protected - - # source://tapioca//lib/tapioca/loaders/dsl.rb#73 - sig { void } - def abort_if_pending_migrations!; end - - # source://tapioca//lib/tapioca/loaders/dsl.rb#61 - sig { void } - def load_application; end - - # source://tapioca//lib/tapioca/loaders/dsl.rb#43 - sig { void } - def load_dsl_compilers; end - - # source://tapioca//lib/tapioca/loaders/dsl.rb#38 - sig { void } - def load_dsl_extensions; end - - class << self - # source://tapioca//lib/tapioca/loaders/dsl.rb#13 - sig { params(tapioca_path: ::String, eager_load: T::Boolean).void } - def load_application(tapioca_path:, eager_load: T.unsafe(nil)); end - end -end - -# source://tapioca//lib/tapioca/loaders/gem.rb#6 -class Tapioca::Loaders::Gem < ::Tapioca::Loaders::Loader - # source://tapioca//lib/tapioca/loaders/gem.rb#44 - sig do - params( - bundle: ::Tapioca::Gemfile, - prerequire: T.nilable(::String), - postrequire: ::String, - default_command: ::String - ).void - end - def initialize(bundle:, prerequire:, postrequire:, default_command:); end - - # source://tapioca//lib/tapioca/loaders/gem.rb#30 - sig { override.void } - def load; end - - protected - - # source://tapioca//lib/tapioca/loaders/gem.rb#74 - sig { params(file: ::String, error: ::LoadError).void } - def explain_failed_require(file, error); end - - # source://tapioca//lib/tapioca/loaders/gem.rb#54 - sig { void } - def require_gem_file; end - - class << self - # source://tapioca//lib/tapioca/loaders/gem.rb#20 - sig do - params( - bundle: ::Tapioca::Gemfile, - prerequire: T.nilable(::String), - postrequire: ::String, - default_command: ::String - ).void - end - def load_application(bundle:, prerequire:, postrequire:, default_command:); end - end -end - -# @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below. -# -# source://tapioca//lib/tapioca/loaders/loader.rb#6 -class Tapioca::Loaders::Loader - include ::Thor::Base - include ::Thor::Invocation - include ::Thor::Shell - include ::Tapioca::CliHelper - include ::Tapioca::GemHelper - extend ::Thor::Base::ClassMethods - extend ::Thor::Invocation::ClassMethods - - abstract! - - # source://sorbet-runtime/0.5.10520/lib/types/private/abstract/declare.rb#37 - def initialize(*args, &blk); end - - # @abstract - # - # source://tapioca//lib/tapioca/loaders/loader.rb#17 - sig { abstract.void } - def load; end - - private - - # source://tapioca//lib/tapioca/loaders/loader.rb#109 - sig { void } - def eager_load_rails_app; end - - # source://tapioca//lib/tapioca/loaders/loader.rb#24 - sig do - params( - gemfile: ::Tapioca::Gemfile, - initialize_file: T.nilable(::String), - require_file: T.nilable(::String) - ).void - end - def load_bundle(gemfile, initialize_file, require_file); end - - # source://tapioca//lib/tapioca/loaders/loader.rb#37 - sig { params(environment_load: T::Boolean, eager_load: T::Boolean).void } - def load_rails_application(environment_load: T.unsafe(nil), eager_load: T.unsafe(nil)); end - - # source://tapioca//lib/tapioca/loaders/loader.rb#57 - sig { void } - def load_rails_engines; end - - # source://tapioca//lib/tapioca/loaders/loader.rb#80 - sig { returns(T::Array[T.untyped]) } - def rails_engines; end - - # source://tapioca//lib/tapioca/loaders/loader.rb#135 - sig { params(file: T.nilable(::String)).void } - def require_helper(file); end - - # source://tapioca//lib/tapioca/loaders/loader.rb#94 - sig { params(path: ::String).void } - def safe_require(path); end - - # source://tapioca//lib/tapioca/loaders/loader.rb#101 - sig { void } - def silence_deprecations; end -end - -# source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#5 -module Tapioca::RBIFilesHelper - requires_ancestor { Tapioca::SorbetHelper } - requires_ancestor { Thor::Shell } - - # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#48 - sig do - params( - index: ::RBI::Index, - shim_rbi_dir: ::String, - todo_rbi_file: ::String - ).returns(T::Hash[::String, T::Array[::RBI::Node]]) - end - def duplicated_nodes_from_index(index, shim_rbi_dir:, todo_rbi_file:); end - - # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#13 - sig { params(index: ::RBI::Index, kind: ::String, file: ::String).void } - def index_rbi(index, kind, file); end - - # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#25 - sig { params(index: ::RBI::Index, kind: ::String, dir: ::String, number_of_workers: T.nilable(::Integer)).void } - def index_rbis(index, kind, dir, number_of_workers:); end - - # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#65 - sig { params(loc: ::RBI::Loc, path_prefix: T.nilable(::String)).returns(::String) } - def location_to_payload_url(loc, path_prefix:); end - - # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#86 - sig do - params( - command: ::String, - gem_dir: ::String, - dsl_dir: ::String, - auto_strictness: T::Boolean, - gems: T::Array[::Tapioca::Gemfile::GemSpec], - compilers: T::Enumerable[::Class] - ).void - end - def validate_rbi_files(command:, gem_dir:, dsl_dir:, auto_strictness:, gems: T.unsafe(nil), compilers: T.unsafe(nil)); end - - private - - # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#208 - sig { params(nodes: T::Array[::RBI::Node]).returns(T::Array[::RBI::Scope]) } - def extract_empty_scopes(nodes); end - - # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#213 - sig { params(nodes: T::Array[::RBI::Node]).returns(T::Array[T.any(::RBI::Attr, ::RBI::Method)]) } - def extract_methods_and_attrs(nodes); end - - # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#220 - sig { params(nodes: T::Array[::RBI::Node]).returns(T::Array[T.any(::RBI::Mixin, ::RBI::RequiresAncestor)]) } - def extract_mixins(nodes); end - - # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#227 - sig do - params( - nodes: T::Array[T.any(::RBI::Attr, ::RBI::Method)] - ).returns(T::Array[T.any(::RBI::Attr, ::RBI::Method)]) - end - def extract_nodes_with_sigs(nodes); end - - # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#201 - sig do - params( - nodes: T::Array[::RBI::Node], - shim_rbi_dir: ::String, - todo_rbi_file: ::String - ).returns(T::Array[::RBI::Node]) - end - def extract_shims_and_todos(nodes, shim_rbi_dir:, todo_rbi_file:); end - - # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#259 - sig { params(path: ::String).returns(::String) } - def gem_name_from_rbi_path(path); end - - # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#155 - sig { params(index: ::RBI::Index, files: T::Array[::String], number_of_workers: T.nilable(::Integer)).void } - def parse_and_index_files(index, files, number_of_workers:); end - - # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#170 - sig { params(nodes: T::Array[::RBI::Node], shim_rbi_dir: ::String, todo_rbi_file: ::String).returns(T::Boolean) } - def shims_or_todos_have_duplicates?(nodes, shim_rbi_dir:, todo_rbi_file:); end - - # source://tapioca//lib/tapioca/helpers/rbi_files_helper.rb#232 - sig { params(errors: T::Array[::Spoom::Sorbet::Errors::Error], gem_dir: ::String).void } - def update_gem_rbis_strictnesses(errors, gem_dir); end -end - -# source://tapioca//lib/tapioca/rbi_formatter.rb#5 -class Tapioca::RBIFormatter < ::RBI::Formatter - # source://tapioca//lib/tapioca/rbi_formatter.rb#22 - sig { params(file: ::RBI::File).void } - def write_empty_body_comment!(file); end - - # source://tapioca//lib/tapioca/rbi_formatter.rb#15 - sig { params(file: ::RBI::File, command: ::String, reason: T.nilable(::String)).void } - def write_header!(file, command, reason: T.unsafe(nil)); end -end - -# source://tapioca//lib/tapioca/helpers/rbi_helper.rb#5 -module Tapioca::RBIHelper - include ::Tapioca::SorbetHelper - extend ::Tapioca::SorbetHelper - extend ::Tapioca::RBIHelper - - # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#99 - sig { params(type: ::String).returns(::String) } - def as_nilable_type(type); end - - # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#80 - sig { params(name: ::String, type: ::String).returns(::RBI::TypedParam) } - def create_block_param(name, type:); end - - # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#70 - sig { params(name: ::String, type: ::String, default: ::String).returns(::RBI::TypedParam) } - def create_kw_opt_param(name, type:, default:); end - - # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#65 - sig { params(name: ::String, type: ::String).returns(::RBI::TypedParam) } - def create_kw_param(name, type:); end - - # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#75 - sig { params(name: ::String, type: ::String).returns(::RBI::TypedParam) } - def create_kw_rest_param(name, type:); end - - # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#55 - sig { params(name: ::String, type: ::String, default: ::String).returns(::RBI::TypedParam) } - def create_opt_param(name, type:, default:); end - - # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#50 - sig { params(name: ::String, type: ::String).returns(::RBI::TypedParam) } - def create_param(name, type:); end - - # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#60 - sig { params(name: ::String, type: ::String).returns(::RBI::TypedParam) } - def create_rest_param(name, type:); end - - # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#85 - sig { params(param: ::RBI::Param, type: ::String).returns(::RBI::TypedParam) } - def create_typed_param(param, type); end - - # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#90 - sig { params(sig_string: ::String).returns(::String) } - def sanitize_signature_types(sig_string); end - - # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#108 - sig { params(name: ::String).returns(T::Boolean) } - def valid_method_name?(name); end - - # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#122 - sig { params(name: ::String).returns(T::Boolean) } - def valid_parameter_name?(name); end - - class << self - # source://tapioca//lib/tapioca/helpers/rbi_helper.rb#23 - sig do - params( - type: ::String, - variance: ::Symbol, - fixed: T.nilable(::String), - upper: T.nilable(::String), - lower: T.nilable(::String) - ).returns(::String) - end - def serialize_type_variable(type, variance, fixed, upper, lower); end - end -end - -# source://tapioca//lib/tapioca/repo_index.rb#5 -class Tapioca::RepoIndex - # source://tapioca//lib/tapioca/repo_index.rb#26 - sig { void } - def initialize; end - - # source://tapioca//lib/tapioca/repo_index.rb#31 - sig { params(gem_name: ::String).void } - def <<(gem_name); end - - # source://tapioca//lib/tapioca/repo_index.rb#36 - sig { returns(T::Enumerable[::String]) } - def gems; end - - # source://tapioca//lib/tapioca/repo_index.rb#41 - sig { params(gem_name: ::String).returns(T::Boolean) } - def has_gem?(gem_name); end - - class << self - # source://tapioca//lib/tapioca/repo_index.rb#18 - sig { params(hash: T::Hash[::String, T::Hash[T.untyped, T.untyped]]).returns(Tapioca::RepoIndex) } - def from_hash(hash); end - - # source://tapioca//lib/tapioca/repo_index.rb#13 - sig { params(json: ::String).returns(Tapioca::RepoIndex) } - def from_json(json); end - end -end - -# source://tapioca//lib/tapioca/runtime/trackers/autoload.rb#5 -module Tapioca::Runtime; end - -# source://tapioca//lib/tapioca/runtime/dynamic_mixin_compiler.rb#6 -class Tapioca::Runtime::DynamicMixinCompiler - include ::Tapioca::Runtime::Reflection - - # source://tapioca//lib/tapioca/runtime/dynamic_mixin_compiler.rb#20 - sig { params(constant: ::Module).void } - def initialize(constant); end - - # @return [Array] - # - # source://tapioca//lib/tapioca/runtime/dynamic_mixin_compiler.rb#14 - def class_attribute_predicates; end - - # source://tapioca//lib/tapioca/runtime/dynamic_mixin_compiler.rb#14 - sig { returns(T::Array[::Symbol]) } - def class_attribute_readers; end - - # @return [Array] - # - # source://tapioca//lib/tapioca/runtime/dynamic_mixin_compiler.rb#14 - def class_attribute_writers; end - - # source://tapioca//lib/tapioca/runtime/dynamic_mixin_compiler.rb#137 - sig { params(tree: ::RBI::Tree).void } - def compile_class_attributes(tree); end - - # source://tapioca//lib/tapioca/runtime/dynamic_mixin_compiler.rb#180 - sig { params(tree: ::RBI::Tree).returns([T::Array[::Module], T::Array[::Module]]) } - def compile_mixes_in_class_methods(tree); end - - # source://tapioca//lib/tapioca/runtime/dynamic_mixin_compiler.rb#11 - sig { returns(T::Array[::Module]) } - def dynamic_extends; end - - # @return [Array] - # - # source://tapioca//lib/tapioca/runtime/dynamic_mixin_compiler.rb#11 - def dynamic_includes; end - - # source://tapioca//lib/tapioca/runtime/dynamic_mixin_compiler.rb#132 - sig { returns(T::Boolean) } - def empty_attributes?; end - - # source://tapioca//lib/tapioca/runtime/dynamic_mixin_compiler.rb#222 - sig { params(qualified_mixin_name: ::String).returns(T::Boolean) } - def filtered_mixin?(qualified_mixin_name); end - - # @return [Array] - # - # source://tapioca//lib/tapioca/runtime/dynamic_mixin_compiler.rb#17 - def instance_attribute_predicates; end - - # source://tapioca//lib/tapioca/runtime/dynamic_mixin_compiler.rb#17 - sig { returns(T::Array[::Symbol]) } - def instance_attribute_readers; end - - # @return [Array] - # - # source://tapioca//lib/tapioca/runtime/dynamic_mixin_compiler.rb#17 - def instance_attribute_writers; end - - # source://tapioca//lib/tapioca/runtime/dynamic_mixin_compiler.rb#215 - sig { params(mod: ::Module, dynamic_extends: T::Array[::Module]).returns(T::Boolean) } - def module_included_by_another_dynamic_extend?(mod, dynamic_extends); end -end - -# This class is responsible for storing and looking up information related to generic types. -# -# The class stores 2 different kinds of data, in two separate lookup tables: -# 1. a lookup of generic type instances by name: `@generic_instances` -# 2. a lookup of type variable serializer by constant and type variable -# instance: `@type_variables` -# -# By storing the above data, we can cheaply query each constant against this registry -# to see if it declares any generic type variables. This becomes a simple lookup in the -# `@type_variables` hash table with the given constant. -# -# If there is no entry, then we can cheaply know that we can skip generic type -# information generation for this type. -# -# On the other hand, if we get a result, then the result will be a hash of type -# variable to type variable serializers. This allows us to associate type variables -# to the constant names that represent them, easily. -# -# source://tapioca//lib/tapioca/runtime/generic_type_registry.rb#23 -module Tapioca::Runtime::GenericTypeRegistry - class << self - # source://tapioca//lib/tapioca/runtime/generic_type_registry.rb#80 - sig { params(instance: ::Object).returns(T::Boolean) } - def generic_type_instance?(instance); end - - # source://tapioca//lib/tapioca/runtime/generic_type_registry.rb#85 - sig { params(constant: ::Module).returns(T.nilable(T::Array[::Tapioca::TypeVariableModule])) } - def lookup_type_variables(constant); end - - # This method is responsible for building the name of the instantiated concrete type - # and cloning the given constant so that we can return a type that is the same - # as the current type but is a different instance and has a different name method. - # - # We cache those cloned instances by their name in `@generic_instances`, so that - # we don't keep instantiating a new type every single time it is referenced. - # For example, `[Foo[Integer], Foo[Integer], Foo[Integer], Foo[String]]` will only - # result in 2 clones (1 for `Foo[Integer]` and another for `Foo[String]`) and - # 2 hash lookups (for the other two `Foo[Integer]`s). - # - # This method returns the created or cached clone of the constant. - # - # source://tapioca//lib/tapioca/runtime/generic_type_registry.rb#65 - sig { params(constant: T.untyped, types: T.untyped).returns(::Module) } - def register_type(constant, types); end - - # This method is called from intercepted calls to `type_member` and `type_template`. - # We get passed all the arguments to those methods, as well as the `T::Types::TypeVariable` - # instance generated by the Sorbet defined `type_member`/`type_template` call on `T::Generic`. - # - # This method creates a `String` with that data and stores it in the - # `@type_variables` lookup table, keyed by the `constant` and `type_variable`. - # - # Finally, the original `type_variable` is returned from this method, so that the caller - # can return it from the original methods as well. - # - # source://tapioca//lib/tapioca/runtime/generic_type_registry.rb#104 - sig { params(constant: T.untyped, type_variable: ::Tapioca::TypeVariableModule).void } - def register_type_variable(constant, type_variable); end - - private - - # source://tapioca//lib/tapioca/runtime/generic_type_registry.rb#113 - sig { params(constant: ::Module, name: ::String).returns(::Module) } - def create_generic_type(constant, name); end - - # source://tapioca//lib/tapioca/runtime/generic_type_registry.rb#155 - sig { params(constant: ::Class).returns(::Class) } - def create_safe_subclass(constant); end - - # source://tapioca//lib/tapioca/runtime/generic_type_registry.rb#182 - sig { params(constant: ::Module).returns(T::Array[::Tapioca::TypeVariableModule]) } - def lookup_or_initialize_type_variables(constant); end - end -end - -# source://tapioca//lib/tapioca/runtime/generic_type_registry.rb#34 -class Tapioca::Runtime::GenericTypeRegistry::GenericType < ::T::Types::Simple - # source://tapioca//lib/tapioca/runtime/generic_type_registry.rb#38 - sig { params(raw_type: ::Module, underlying_type: ::Module).void } - def initialize(raw_type, underlying_type); end - - # source://tapioca//lib/tapioca/runtime/generic_type_registry.rb#45 - sig { params(obj: T.untyped).returns(T::Boolean) } - def valid?(obj); end -end - -module Tapioca::Runtime::Reflection - extend ::Tapioca::Runtime::Reflection - - # source://tapioca//lib/tapioca/runtime/reflection.rb#66 - sig { params(constant: ::Module).returns(T::Array[::Module]) } - def ancestors_of(constant); end - - # source://tapioca//lib/tapioca/runtime/reflection.rb#81 - sig { params(object: ::BasicObject, other: ::BasicObject).returns(T::Boolean) } - def are_equal?(object, other); end - - # source://tapioca//lib/tapioca/runtime/reflection.rb#178 - sig { params(singleton_class: ::Module).returns(T.nilable(::Module)) } - def attached_class_of(singleton_class); end - - # source://tapioca//lib/tapioca/runtime/reflection.rb#45 - sig { params(object: ::BasicObject).returns(::Class) } - def class_of(object); end - - # @param constant [BasicObject] - # @return [Boolean] - # - # source://tapioca//lib/tapioca/runtime/reflection.rb#27 - def constant_defined?(constant); end - - # source://tapioca//lib/tapioca/runtime/reflection.rb#38 - sig { params(symbol: ::String, inherit: T::Boolean, namespace: ::Module).returns(::BasicObject) } - def constantize(symbol, inherit: T.unsafe(nil), namespace: T.unsafe(nil)); end - - # source://tapioca//lib/tapioca/runtime/reflection.rb#50 - sig { params(constant: ::Module).returns(T::Array[::Symbol]) } - def constants_of(constant); end - - # Returns an array with all classes that are < than the supplied class. - # - # class C; end - # descendants_of(C) # => [] - # - # class B < C; end - # descendants_of(C) # => [B] - # - # class A < B; end - # descendants_of(C) # => [B, A] - # - # class D < C; end - # descendants_of(C) # => [B, A, D] - # - # source://tapioca//lib/tapioca/runtime/reflection.rb#156 - sig do - type_parameters(:U) - .params( - klass: T.all(::Class, T.type_parameter(:U)) - ).returns(T::Array[T.type_parameter(:U)]) - end - def descendants_of(klass); end - - # source://tapioca//lib/tapioca/runtime/reflection.rb#101 - sig { params(constant: ::Module).returns(T::Array[::Module]) } - def inherited_ancestors_of(constant); end - - # source://tapioca//lib/tapioca/runtime/reflection.rb#134 - sig { params(constant: ::Module, method: ::Symbol).returns(::Method) } - def method_of(constant, method); end - - # source://tapioca//lib/tapioca/runtime/reflection.rb#55 - sig { params(constant: ::Module).returns(T.nilable(::String)) } - def name_of(constant); end - - # source://tapioca//lib/tapioca/runtime/reflection.rb#129 - sig { params(type: ::T::Types::Base).returns(::String) } - def name_of_type(type); end - - # source://tapioca//lib/tapioca/runtime/reflection.rb#76 - sig { params(object: ::BasicObject).returns(::Integer) } - def object_id_of(object); end - - # source://tapioca//lib/tapioca/runtime/reflection.rb#96 - sig { params(constant: ::Module).returns(T::Array[::Symbol]) } - def private_instance_methods_of(constant); end - - # source://tapioca//lib/tapioca/runtime/reflection.rb#91 - sig { params(constant: ::Module).returns(T::Array[::Symbol]) } - def protected_instance_methods_of(constant); end - - # source://tapioca//lib/tapioca/runtime/reflection.rb#86 - sig { params(constant: ::Module).returns(T::Array[::Symbol]) } - def public_instance_methods_of(constant); end - - # source://tapioca//lib/tapioca/runtime/reflection.rb#110 - sig { params(constant: ::Module).returns(T.nilable(::String)) } - def qualified_name_of(constant); end - - # Examines the call stack to identify the closest location where a "require" is performed - # by searching for the label "". If none is found, it returns the location - # labeled "
", which is the original call site. - # - # source://tapioca//lib/tapioca/runtime/reflection.rb#168 - sig { params(locations: T.nilable(T::Array[::Thread::Backtrace::Location])).returns(::String) } - def resolve_loc(locations); end - - # source://tapioca//lib/tapioca/runtime/reflection.rb#122 - sig { params(method: T.any(::Method, ::UnboundMethod)).returns(T.untyped) } - def signature_of(method); end - - # source://tapioca//lib/tapioca/runtime/reflection.rb#61 - sig { params(constant: ::Module).returns(::Class) } - def singleton_class_of(constant); end - - # source://tapioca//lib/tapioca/runtime/reflection.rb#71 - sig { params(constant: ::Class).returns(T.nilable(::Class)) } - def superclass_of(constant); end -end - -# source://tapioca//lib/tapioca/runtime/reflection.rb#14 -Tapioca::Runtime::Reflection::ANCESTORS_METHOD = T.let(T.unsafe(nil), UnboundMethod) - -# source://tapioca//lib/tapioca/runtime/reflection.rb#10 -Tapioca::Runtime::Reflection::CLASS_METHOD = T.let(T.unsafe(nil), UnboundMethod) - -# source://tapioca//lib/tapioca/runtime/reflection.rb#11 -Tapioca::Runtime::Reflection::CONSTANTS_METHOD = T.let(T.unsafe(nil), UnboundMethod) - -# source://tapioca//lib/tapioca/runtime/reflection.rb#17 -Tapioca::Runtime::Reflection::EQUAL_METHOD = T.let(T.unsafe(nil), UnboundMethod) - -# source://tapioca//lib/tapioca/runtime/reflection.rb#21 -Tapioca::Runtime::Reflection::METHOD_METHOD = T.let(T.unsafe(nil), UnboundMethod) - -# source://tapioca//lib/tapioca/runtime/reflection.rb#12 -Tapioca::Runtime::Reflection::NAME_METHOD = T.let(T.unsafe(nil), UnboundMethod) - -# source://tapioca//lib/tapioca/runtime/reflection.rb#16 -Tapioca::Runtime::Reflection::OBJECT_ID_METHOD = T.let(T.unsafe(nil), UnboundMethod) - -# source://tapioca//lib/tapioca/runtime/reflection.rb#20 -Tapioca::Runtime::Reflection::PRIVATE_INSTANCE_METHODS_METHOD = T.let(T.unsafe(nil), UnboundMethod) - -# source://tapioca//lib/tapioca/runtime/reflection.rb#19 -Tapioca::Runtime::Reflection::PROTECTED_INSTANCE_METHODS_METHOD = T.let(T.unsafe(nil), UnboundMethod) - -# source://tapioca//lib/tapioca/runtime/reflection.rb#18 -Tapioca::Runtime::Reflection::PUBLIC_INSTANCE_METHODS_METHOD = T.let(T.unsafe(nil), UnboundMethod) - -# source://tapioca//lib/tapioca/runtime/reflection.rb#24 -Tapioca::Runtime::Reflection::REQUIRED_FROM_LABELS = T.let(T.unsafe(nil), Array) - -# source://tapioca//lib/tapioca/runtime/reflection.rb#13 -Tapioca::Runtime::Reflection::SINGLETON_CLASS_METHOD = T.let(T.unsafe(nil), UnboundMethod) - -# source://tapioca//lib/tapioca/runtime/reflection.rb#15 -Tapioca::Runtime::Reflection::SUPERCLASS_METHOD = T.let(T.unsafe(nil), UnboundMethod) - -# source://tapioca//lib/tapioca/runtime/trackers/autoload.rb#6 -module Tapioca::Runtime::Trackers - class << self - # source://tapioca//lib/tapioca/runtime/trackers.rb#17 - sig { void } - def disable_all!; end - - # source://tapioca//lib/tapioca/runtime/trackers.rb#22 - sig { params(tracker: ::Tapioca::Runtime::Trackers::Tracker).void } - def register_tracker(tracker); end - end -end - -# source://tapioca//lib/tapioca/runtime/trackers/autoload.rb#7 -module Tapioca::Runtime::Trackers::Autoload - extend ::Tapioca::Runtime::Trackers::Tracker - - class << self - # source://tapioca//lib/tapioca/runtime/trackers/autoload.rb#19 - sig { void } - def eager_load_all!; end - - # source://tapioca//lib/tapioca/runtime/trackers/autoload.rb#31 - sig { params(constant_name: ::String).void } - def register(constant_name); end - - # source://tapioca//lib/tapioca/runtime/trackers/autoload.rb#42 - sig do - type_parameters(:Result) - .params( - block: T.proc.returns(T.type_parameter(:Result)) - ).returns(T.type_parameter(:Result)) - end - def with_disabled_exits(&block); end - end -end - -# source://tapioca//lib/tapioca/runtime/trackers/autoload.rb#11 -Tapioca::Runtime::Trackers::Autoload::NOOP_METHOD = T.let(T.unsafe(nil), Proc) - -# Registers a TracePoint immediately upon load to track points at which -# classes and modules are opened for definition. This is used to track -# correspondence between classes/modules and files, as this information isn't -# available in the ruby runtime without extra accounting. -module Tapioca::Runtime::Trackers::ConstantDefinition - extend ::Tapioca::Runtime::Trackers::Tracker - extend ::Tapioca::Runtime::Reflection - - class << self - # source://tapioca//lib/tapioca/runtime/trackers/constant_definition.rb#61 - def build_constant_location(tp, locations); end - - # source://tapioca//lib/tapioca/runtime/trackers/constant_definition.rb#55 - def disable!; end - - # Returns the files in which this class or module was opened. Doesn't know - # about situations where the class was opened prior to +require+ing, - # or where metaprogramming was used via +eval+, etc. - # - # source://tapioca//lib/tapioca/runtime/trackers/constant_definition.rb#71 - def files_for(klass); end - - # source://tapioca//lib/tapioca/runtime/trackers/constant_definition.rb#75 - def locations_for(klass); end - end -end - -class Tapioca::Runtime::Trackers::ConstantDefinition::ConstantLocation < ::T::Struct - const :lineno, ::Integer - const :path, ::String - - class << self - # source://sorbet-runtime/0.5.10520/lib/types/struct.rb#13 - def inherited(s); end - end -end - -module Tapioca::Runtime::Trackers::Mixin - extend ::Tapioca::Runtime::Trackers::Tracker - - class << self - # source://tapioca//lib/tapioca/runtime/trackers/mixin.rb#56 - sig do - params( - mixin: ::Module - ).returns(T::Hash[::Tapioca::Runtime::Trackers::Mixin::Type, T::Hash[::Module, ::String]]) - end - def constants_with_mixin(mixin); end - - # source://tapioca//lib/tapioca/runtime/trackers/mixin.rb#61 - sig do - params( - mixin: ::Module, - mixin_type: ::Tapioca::Runtime::Trackers::Mixin::Type, - constant: ::Module - ).returns(T.nilable(::String)) - end - def mixin_location(mixin, mixin_type, constant); end - - # source://tapioca//lib/tapioca/runtime/trackers/mixin.rb#35 - sig { params(constant: ::Module, mixin: ::Module, mixin_type: ::Tapioca::Runtime::Trackers::Mixin::Type).void } - def register(constant, mixin, mixin_type); end - - # source://tapioca//lib/tapioca/runtime/trackers/mixin.rb#43 - def resolve_to_attached_class(constant, mixin, mixin_type); end - - # source://tapioca//lib/tapioca/runtime/trackers/mixin.rb#30 - sig do - type_parameters(:Result) - .params( - block: T.proc.returns(T.type_parameter(:Result)) - ).returns(T.type_parameter(:Result)) - end - def with_disabled_registration(&block); end - - private - - # source://tapioca//lib/tapioca/runtime/trackers/mixin.rb#76 - sig do - params( - mixin: ::Module - ).returns(T::Hash[::Tapioca::Runtime::Trackers::Mixin::Type, T::Hash[::Module, ::String]]) - end - def find_or_initialize_mixin_lookup(mixin); end - - # source://tapioca//lib/tapioca/runtime/trackers/mixin.rb#68 - sig do - params( - constant: ::Module, - mixin: ::Module, - mixin_type: ::Tapioca::Runtime::Trackers::Mixin::Type, - location: ::String - ).void - end - def register_with_location(constant, mixin, mixin_type, location); end - end -end - -class Tapioca::Runtime::Trackers::Mixin::Type < ::T::Enum - enums do - Prepend = new - Include = new - Extend = new - end -end - -# source://tapioca//lib/tapioca/runtime/trackers/required_ancestor.rb#7 -module Tapioca::Runtime::Trackers::RequiredAncestor - extend ::Tapioca::Runtime::Trackers::Tracker - - class << self - # source://tapioca//lib/tapioca/runtime/trackers/required_ancestor.rb#15 - sig { params(requiring: ::T::Helpers, block: T.proc.void).void } - def register(requiring, block); end - - # source://tapioca//lib/tapioca/runtime/trackers/required_ancestor.rb#23 - sig { params(mod: ::Module).returns(T::Array[T.proc.void]) } - def required_ancestors_blocks_by(mod); end - - # source://tapioca//lib/tapioca/runtime/trackers/required_ancestor.rb#28 - sig { params(mod: ::Module).returns(T::Array[T.untyped]) } - def required_ancestors_by(mod); end - end -end - -# @abstract Subclasses must implement the `abstract` methods below. -module Tapioca::Runtime::Trackers::Tracker - abstract! - - # source://tapioca//lib/tapioca/runtime/trackers/tracker.rb#26 - sig { void } - def disable!; end - - # @return [Boolean] - # - # source://tapioca//lib/tapioca/runtime/trackers/tracker.rb#30 - def enabled?; end - - # source://tapioca//lib/tapioca/runtime/trackers/tracker.rb#34 - def with_disabled_tracker(&block); end - - class << self - # source://tapioca//lib/tapioca/runtime/trackers/tracker.rb#17 - sig { params(base: T.all(::Module, ::Tapioca::Runtime::Trackers::Tracker)).void } - def extended(base); end - end -end - -# source://tapioca//lib/tapioca.rb#33 -Tapioca::SORBET_CONFIG_FILE = T.let(T.unsafe(nil), String) - -# source://tapioca//lib/tapioca.rb#32 -Tapioca::SORBET_DIR = T.let(T.unsafe(nil), String) - -# source://tapioca//lib/tapioca/helpers/sorbet_helper.rb#5 -module Tapioca::SorbetHelper - # source://tapioca//lib/tapioca/helpers/sorbet_helper.rb#29 - sig { params(sorbet_args: ::String).returns(::Spoom::ExecResult) } - def sorbet(*sorbet_args); end - - # source://tapioca//lib/tapioca/helpers/sorbet_helper.rb#34 - sig { returns(::String) } - def sorbet_path; end - - # source://tapioca//lib/tapioca/helpers/sorbet_helper.rb#41 - sig { params(feature: ::Symbol, version: T.nilable(::Gem::Version)).returns(T::Boolean) } - def sorbet_supports?(feature, version: T.unsafe(nil)); end -end - -# source://tapioca//lib/tapioca/helpers/sorbet_helper.rb#22 -Tapioca::SorbetHelper::FEATURE_REQUIREMENTS = T.let(T.unsafe(nil), Hash) - -# source://tapioca//lib/tapioca/helpers/sorbet_helper.rb#13 -Tapioca::SorbetHelper::SORBET_BIN = T.let(T.unsafe(nil), Pathname) - -# source://tapioca//lib/tapioca/helpers/sorbet_helper.rb#18 -Tapioca::SorbetHelper::SORBET_EXE_PATH_ENV_VAR = T.let(T.unsafe(nil), String) - -# source://tapioca//lib/tapioca/helpers/sorbet_helper.rb#8 -Tapioca::SorbetHelper::SORBET_GEM_SPEC = T.let(T.unsafe(nil), Gem::Specification) - -# source://tapioca//lib/tapioca/helpers/sorbet_helper.rb#20 -Tapioca::SorbetHelper::SORBET_PAYLOAD_URL = T.let(T.unsafe(nil), String) - -# source://tapioca//lib/tapioca/static/symbol_table_parser.rb#5 -module Tapioca::Static; end - -# source://tapioca//lib/tapioca/static/requires_compiler.rb#6 -class Tapioca::Static::RequiresCompiler - # source://tapioca//lib/tapioca/static/requires_compiler.rb#10 - sig { params(sorbet_path: ::String).void } - def initialize(sorbet_path); end - - # source://tapioca//lib/tapioca/static/requires_compiler.rb#15 - sig { returns(::String) } - def compile; end - - private - - # source://tapioca//lib/tapioca/static/requires_compiler.rb#29 - sig { params(config: ::Spoom::Sorbet::Config).returns(T::Array[::String]) } - def collect_files(config); end - - # source://tapioca//lib/tapioca/static/requires_compiler.rb#44 - sig { params(file_path: ::String).returns(T::Enumerable[::String]) } - def collect_requires(file_path); end - - # source://tapioca//lib/tapioca/static/requires_compiler.rb#51 - sig { params(config: ::Spoom::Sorbet::Config, file_path: ::Pathname).returns(T::Boolean) } - def file_ignored_by_sorbet?(config, file_path); end - - # source://tapioca//lib/tapioca/static/requires_compiler.rb#80 - sig { params(path: ::Pathname).returns(T::Array[::String]) } - def path_parts(path); end -end - -# source://tapioca//lib/tapioca/static/symbol_loader.rb#6 -module Tapioca::Static::SymbolLoader - extend ::Tapioca::SorbetHelper - extend ::Tapioca::Runtime::Reflection - - class << self - # source://tapioca//lib/tapioca/static/symbol_loader.rb#23 - sig { params(gem: ::Tapioca::Gemfile::GemSpec).returns(T::Set[::String]) } - def engine_symbols(gem); end - - # source://tapioca//lib/tapioca/static/symbol_loader.rb#40 - sig { params(gem: ::Tapioca::Gemfile::GemSpec).returns(T::Set[::String]) } - def gem_symbols(gem); end - - # source://tapioca//lib/tapioca/static/symbol_loader.rb#13 - sig { returns(T::Set[::String]) } - def payload_symbols; end - - private - - # @return [Array] - # - # source://sorbet-runtime/0.5.10520/lib/types/private/methods/_methods.rb#250 - def engines(*args, &blk); end - - # source://tapioca//lib/tapioca/static/symbol_loader.rb#59 - sig { params(input: ::String, table_type: ::String).returns(::String) } - def symbol_table_json_from(input, table_type: T.unsafe(nil)); end - - # source://tapioca//lib/tapioca/static/symbol_loader.rb#64 - sig { params(paths: T::Array[::Pathname]).returns(T::Set[::String]) } - def symbols_from_paths(paths); end - end -end - -# source://tapioca//lib/tapioca/static/symbol_table_parser.rb#6 -class Tapioca::Static::SymbolTableParser - # source://tapioca//lib/tapioca/static/symbol_table_parser.rb#30 - sig { void } - def initialize; end - - # source://tapioca//lib/tapioca/static/symbol_table_parser.rb#59 - sig { params(name: ::String).returns(::String) } - def fully_qualified_name(name); end - - # source://tapioca//lib/tapioca/static/symbol_table_parser.rb#36 - sig { params(object: T::Hash[::String, T.untyped]).void } - def parse_object(object); end - - # source://tapioca//lib/tapioca/static/symbol_table_parser.rb#27 - sig { returns(T::Set[::String]) } - def symbols; end - - class << self - # source://tapioca//lib/tapioca/static/symbol_table_parser.rb#15 - sig { params(json_string: ::String).returns(T::Set[::String]) } - def parse_json(json_string); end - end -end - -# source://tapioca//lib/tapioca/static/symbol_table_parser.rb#9 -Tapioca::Static::SymbolTableParser::SKIP_PARSE_KINDS = T.let(T.unsafe(nil), Array) - -# source://tapioca//lib/tapioca.rb#35 -Tapioca::TAPIOCA_CONFIG_FILE = T.let(T.unsafe(nil), String) - -# source://tapioca//lib/tapioca.rb#34 -Tapioca::TAPIOCA_DIR = T.let(T.unsafe(nil), String) - -# source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#100 -class Tapioca::TypeVariable < ::T::Types::TypeVariable - # @return [TypeVariable] a new instance of TypeVariable - # - # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#101 - def initialize(name, variance); end - - # Returns the value of attribute name. - # - # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#106 - def name; end -end - -# This is subclassing from `Module` so that instances of this type will be modules. -# The reason why we want that is because that means those instances will automatically -# get bound to the constant names they are assigned to by Ruby. As a result, we don't -# need to do any matching of constants to type variables to bind their names, Ruby will -# do that automatically for us and we get the `name` method for free from `Module`. -# -# source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#114 -class Tapioca::TypeVariableModule < ::Module - # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#136 - sig do - params( - context: ::Module, - type: ::Tapioca::TypeVariableModule::Type, - variance: ::Symbol, - fixed: T.untyped, - lower: T.untyped, - upper: T.untyped, - bounds_proc: T.nilable(T.proc.returns(T::Hash[::Symbol, T.untyped])) - ).void - end - def initialize(context, type, variance, fixed, lower, upper, bounds_proc); end - - # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#190 - sig { returns(::Tapioca::TypeVariable) } - def coerce_to_type_variable; end - - # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#170 - sig { returns(T::Boolean) } - def fixed?; end - - # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#151 - sig { returns(T.nilable(::String)) } - def name; end - - # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#175 - sig { returns(::String) } - def serialize; end - - private - - # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#224 - sig { returns(T::Hash[::Symbol, T.untyped]) } - def bounds; end - - # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#200 - sig do - params( - fixed: T.untyped, - lower: T.untyped, - upper: T.untyped - ).returns(T.proc.returns(T::Hash[::Symbol, T.untyped])) - end - def build_bounds_proc(fixed, lower, upper); end - - # source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#214 - sig do - type_parameters(:Result) - .params( - block: T.proc.returns(T.type_parameter(:Result)) - ).returns(T.type_parameter(:Result)) - end - def with_bound_name_pre_3_0(&block); end -end - -# source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#117 -class Tapioca::TypeVariableModule::Type < ::T::Enum - enums do - Member = new - Template = new - end -end - -# source://tapioca//lib/tapioca/version.rb#5 -Tapioca::VERSION = T.let(T.unsafe(nil), String) - -# source://tapioca//lib/tapioca/helpers/source_uri.rb#6 -module URI - include ::URI::RFC2396_REGEXP - extend ::URI::Escape -end - -class URI::RFC2396_Parser - include ::URI::RFC2396_REGEXP -end - -# source://tapioca//lib/tapioca/helpers/source_uri.rb#7 -class URI::Source < ::URI::File - # source://tapioca//lib/tapioca/helpers/source_uri.rb#55 - sig { params(v: T.nilable(::String)).returns(T::Boolean) } - def check_host(v); end - - # source://uri/0.10.0/uri/generic.rb#244 - def gem_name; end - - # source://tapioca//lib/tapioca/helpers/source_uri.rb#22 - sig { returns(T.nilable(::String)) } - def gem_version; end - - # source://uri/0.10.0/uri/generic.rb#284 - def line_number; end - - # source://tapioca//lib/tapioca/helpers/source_uri.rb#48 - sig { params(v: T.nilable(::String)).void } - def set_path(v); end - - # source://tapioca//lib/tapioca/helpers/source_uri.rb#67 - sig { returns(::String) } - def to_s; end - - class << self - # source://tapioca//lib/tapioca/helpers/source_uri.rb#35 - sig do - params( - gem_name: ::String, - gem_version: T.nilable(::String), - path: ::String, - line_number: T.nilable(::String) - ).returns(::URI::Source) - end - def build(gem_name:, gem_version:, path:, line_number:); end - end -end - -# source://tapioca//lib/tapioca/helpers/source_uri.rb#10 -URI::Source::COMPONENT = T.let(T.unsafe(nil), Array) diff --git a/sorbet/rbi/gems/tapioca@0.7.3.rbi b/sorbet/rbi/gems/tapioca@0.7.3.rbi new file mode 100644 index 0000000..658841f --- /dev/null +++ b/sorbet/rbi/gems/tapioca@0.7.3.rbi @@ -0,0 +1,1723 @@ +# typed: true + +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `tapioca` gem. +# Please instead update this file by running `bin/tapioca gem tapioca`. + +class Module + include ::Module::Concerning + + def autoload(const_name, path); end +end + +Module::DELEGATION_RESERVED_KEYWORDS = T.let(T.unsafe(nil), Array) +Module::DELEGATION_RESERVED_METHOD_NAMES = T.let(T.unsafe(nil), Set) +Module::RUBY_RESERVED_KEYWORDS = T.let(T.unsafe(nil), Array) +module RBI; end + +class RBI::Tree < ::RBI::NodeWithComments + sig do + params( + loc: T.nilable(::RBI::Loc), + comments: T::Array[::RBI::Comment], + block: T.nilable(T.proc.params(node: ::RBI::Tree).void) + ).void + end + def initialize(loc: T.unsafe(nil), comments: T.unsafe(nil), &block); end + + sig { params(node: ::RBI::Node).void } + def <<(node); end + + sig { override.params(v: ::RBI::Printer).void } + def accept_printer(v); end + + sig { params(with_todo_comment: T::Boolean).void } + def add_sig_templates!(with_todo_comment: T.unsafe(nil)); end + + sig { params(annotation: ::String, annotate_scopes: T::Boolean, annotate_properties: T::Boolean).void } + def annotate!(annotation, annotate_scopes: T.unsafe(nil), annotate_properties: T.unsafe(nil)); end + + sig do + params( + name: ::String, + superclass_name: T.nilable(::String), + block: T.nilable(T.proc.params(scope: ::RBI::Scope).void) + ).returns(::RBI::Scope) + end + def create_class(name, superclass_name: T.unsafe(nil), &block); end + + sig { params(name: ::String, value: ::String).void } + def create_constant(name, value:); end + + sig { params(name: ::String).void } + def create_extend(name); end + + sig { params(name: ::String).void } + def create_include(name); end + + sig do + params( + name: ::String, + parameters: T::Array[::RBI::TypedParam], + return_type: ::String, + class_method: T::Boolean, + visibility: ::RBI::Visibility + ).void + end + def create_method(name, parameters: T.unsafe(nil), return_type: T.unsafe(nil), class_method: T.unsafe(nil), visibility: T.unsafe(nil)); end + + sig { params(name: ::String).void } + def create_mixes_in_class_methods(name); end + + sig { params(name: ::String, block: T.nilable(T.proc.params(scope: ::RBI::Scope).void)).returns(::RBI::Scope) } + def create_module(name, &block); end + + sig { params(constant: ::Module, block: T.nilable(T.proc.params(scope: ::RBI::Scope).void)).void } + def create_path(constant, &block); end + + sig do + params( + name: ::String, + type: ::String, + variance: ::Symbol, + fixed: T.nilable(::String), + upper: T.nilable(::String), + lower: T.nilable(::String) + ).void + end + def create_type_variable(name, type:, variance: T.unsafe(nil), fixed: T.unsafe(nil), upper: T.unsafe(nil), lower: T.unsafe(nil)); end + + sig { params(annotation: ::String).void } + def deannotate!(annotation); end + + sig { returns(T::Boolean) } + def empty?; end + + sig { void } + def group_nodes!; end + + sig { returns(::RBI::Index) } + def index; end + + sig do + params( + other: ::RBI::Tree, + left_name: ::String, + right_name: ::String, + keep: ::RBI::Rewriters::Merge::Keep + ).returns(::RBI::MergeTree) + end + def merge(other, left_name: T.unsafe(nil), right_name: T.unsafe(nil), keep: T.unsafe(nil)); end + + sig { void } + def nest_non_public_methods!; end + + sig { void } + def nest_singleton_methods!; end + + sig { returns(T::Array[::RBI::Node]) } + def nodes; end + + sig { override.returns(T::Boolean) } + def oneline?; end + + sig { void } + def sort_nodes!; end + + private + + sig { params(node: ::RBI::Node).returns(::RBI::Node) } + def create_node(node); end + + sig { returns(T::Hash[::String, ::RBI::Node]) } + def nodes_cache; end + + sig { params(name: ::String).returns(T::Boolean) } + def valid_method_name?(name); end +end + +RBI::Tree::SPECIAL_METHOD_NAMES = T.let(T.unsafe(nil), Array) + +class RBI::TypedParam < ::T::Struct + const :param, ::RBI::Param + const :type, ::String + + class << self + def inherited(s); end + end +end + +RBI::VERSION = T.let(T.unsafe(nil), String) + +module T::Generic::TypeStoragePatch + def [](*types); end + def type_member(variance = T.unsafe(nil), fixed: T.unsafe(nil), lower: T.unsafe(nil), upper: T.unsafe(nil), &bounds_proc); end + def type_template(variance = T.unsafe(nil), fixed: T.unsafe(nil), lower: T.unsafe(nil), upper: T.unsafe(nil), &bounds_proc); end +end + +module T::Types::Simple::GenericPatch + def name; end +end + +module T::Types::Simple::NamePatch + def name; end +end + +module T::Utils::CoercePatch + def coerce(val); end +end + +module Tapioca + class << self + sig do + type_parameters(:Result) + .params( + blk: T.proc.returns(T.type_parameter(:Result)) + ).returns(T.type_parameter(:Result)) + end + def silence_warnings(&blk); end + end +end + +Tapioca::BINARY_FILE = T.let(T.unsafe(nil), String) + +class Tapioca::Cli < ::Thor + include ::Tapioca::CliHelper + include ::Tapioca::ConfigHelper + include ::Tapioca::ShimsHelper + + def __print_version; end + def check_shims; end + def dsl(*constants); end + def gem(*gems); end + def init; end + def require; end + def todo; end + + class << self + def exit_on_failure?; end + end +end + +Tapioca::Cli::FILE_HEADER_OPTION_DESC = T.let(T.unsafe(nil), String) + +module Tapioca::CliHelper + requires_ancestor { Thor::Shell } + + sig { params(options: T::Hash[::Symbol, T.untyped]).returns(::Tapioca::RBIFormatter) } + def rbi_formatter(options); end + + sig { params(message: ::String, color: T.any(::Symbol, T::Array[::Symbol])).void } + def say_error(message = T.unsafe(nil), *color); end +end + +module Tapioca::Commands; end + +class Tapioca::Commands::Command + include ::Thor::Base + include ::Thor::Invocation + include ::Thor::Shell + include ::Tapioca::CliHelper + extend ::Thor::Base::ClassMethods + extend ::Thor::Invocation::ClassMethods + + abstract! + + sig { void } + def initialize; end + + sig { abstract.void } + def execute; end + + sig { returns(::Thor::Actions) } + def file_writer; end + + private + + sig do + params( + path: T.any(::Pathname, ::String), + content: ::String, + force: T::Boolean, + skip: T::Boolean, + verbose: T::Boolean + ).void + end + def create_file(path, content, force: T.unsafe(nil), skip: T.unsafe(nil), verbose: T.unsafe(nil)); end + + sig { params(command: ::Symbol, args: ::String).returns(::String) } + def default_command(command, *args); end + + sig { params(path: T.any(::Pathname, ::String), verbose: T::Boolean).void } + def remove_file(path, verbose: T.unsafe(nil)); end +end + +class Tapioca::Commands::Command::FileWriter < ::Thor + include ::Thor::Actions + extend ::Thor::Actions::ClassMethods +end + +class Tapioca::Commands::Dsl < ::Tapioca::Commands::Command + sig do + params( + requested_constants: T::Array[::String], + outpath: ::Pathname, + only: T::Array[::String], + exclude: T::Array[::String], + file_header: T::Boolean, + compiler_path: ::String, + tapioca_path: ::String, + should_verify: T::Boolean, + quiet: T::Boolean, + verbose: T::Boolean, + number_of_workers: T.nilable(::Integer), + rbi_formatter: ::Tapioca::RBIFormatter + ).void + end + def initialize(requested_constants:, outpath:, only:, exclude:, file_header:, compiler_path:, tapioca_path:, should_verify: T.unsafe(nil), quiet: T.unsafe(nil), verbose: T.unsafe(nil), number_of_workers: T.unsafe(nil), rbi_formatter: T.unsafe(nil)); end + + sig { override.void } + def execute; end + + private + + sig { void } + def abort_if_pending_migrations!; end + + sig { params(cause: ::Symbol, files: T::Array[::String]).returns(::String) } + def build_error_for_files(cause, files); end + + sig do + params( + constant_name: ::String, + rbi: ::RBI::File, + outpath: ::Pathname, + quiet: T::Boolean + ).returns(T.nilable(::Pathname)) + end + def compile_dsl_rbi(constant_name, rbi, outpath: T.unsafe(nil), quiet: T.unsafe(nil)); end + + sig { params(constant_names: T::Array[::String]).returns(T::Array[::Module]) } + def constantize(constant_names); end + + sig { params(compiler_names: T::Array[::String]).returns(T::Array[T.class_of(Tapioca::Dsl::Compiler)]) } + def constantize_compilers(compiler_names); end + + sig { params(constant_name: ::String).returns(::Pathname) } + def dsl_rbi_filename(constant_name); end + + sig { params(requested_constants: T::Array[::String], path: ::Pathname).returns(T::Set[::Pathname]) } + def existing_rbi_filenames(requested_constants, path: T.unsafe(nil)); end + + sig { params(constant: ::String).returns(::String) } + def generate_command_for(constant); end + + sig { params(eager_load: T::Boolean).void } + def load_application(eager_load:); end + + sig { void } + def load_dsl_compilers; end + + sig { void } + def load_dsl_extensions; end + + sig { returns(::Tapioca::Runtime::Loader) } + def loader; end + + sig { params(dir: ::Pathname).void } + def perform_dsl_verification(dir); end + + sig { params(files: T::Set[::Pathname]).void } + def purge_stale_dsl_rbi_files(files); end + + sig { params(constant: ::String).returns(::String) } + def rbi_filename_for(constant); end + + sig { params(path: ::Pathname).returns(T::Array[::Pathname]) } + def rbi_files_in(path); end + + sig { params(diff: T::Hash[::String, ::Symbol], command: ::Symbol).void } + def report_diff_and_exit_if_out_of_date(diff, command); end + + sig { params(name: ::String).returns(T.nilable(T.class_of(Tapioca::Dsl::Compiler))) } + def resolve(name); end + + sig { params(class_name: ::String).returns(::String) } + def underscore(class_name); end + + sig { params(tmp_dir: ::Pathname).returns(T::Hash[::String, ::Symbol]) } + def verify_dsl_rbi(tmp_dir:); end +end + +class Tapioca::Commands::Gem < ::Tapioca::Commands::Command + include ::Tapioca::SorbetHelper + + sig do + params( + gem_names: T::Array[::String], + exclude: T::Array[::String], + prerequire: T.nilable(::String), + postrequire: ::String, + typed_overrides: T::Hash[::String, ::String], + outpath: ::Pathname, + file_header: T::Boolean, + doc: T::Boolean, + include_exported_rbis: T::Boolean, + number_of_workers: T.nilable(::Integer), + auto_strictness: T::Boolean, + dsl_dir: ::String, + rbi_formatter: ::Tapioca::RBIFormatter + ).void + end + def initialize(gem_names:, exclude:, prerequire:, postrequire:, typed_overrides:, outpath:, file_header:, doc:, include_exported_rbis:, number_of_workers: T.unsafe(nil), auto_strictness: T.unsafe(nil), dsl_dir: T.unsafe(nil), rbi_formatter: T.unsafe(nil)); end + + sig { override.void } + def execute; end + + sig { params(should_verify: T::Boolean).void } + def sync(should_verify: T.unsafe(nil)); end + + private + + sig { returns(T::Array[::String]) } + def added_rbis; end + + sig { params(cause: ::Symbol, files: T::Array[::String]).returns(::String) } + def build_error_for_files(cause, files); end + + sig { returns(::Tapioca::Gemfile) } + def bundle; end + + sig { params(gem: ::Tapioca::Gemfile::GemSpec).void } + def compile_gem_rbi(gem); end + + sig { params(gem_name: ::String).returns(::Pathname) } + def existing_rbi(gem_name); end + + sig { returns(T::Hash[::String, ::String]) } + def existing_rbis; end + + sig { params(gem_name: ::String).returns(::Pathname) } + def expected_rbi(gem_name); end + + sig { returns(T::Hash[::String, ::String]) } + def expected_rbis; end + + sig { params(file: ::String, error: ::LoadError).void } + def explain_failed_require(file, error); end + + sig { params(path: ::String).returns(::String) } + def gem_name_from_rbi_path(path); end + + sig { params(gem_name: ::String).returns(T::Boolean) } + def gem_rbi_exists?(gem_name); end + + sig { params(gem_name: ::String, version: ::String).returns(::Pathname) } + def gem_rbi_filename(gem_name, version); end + + sig { params(gem_names: T::Array[::String]).returns(T::Array[::Tapioca::Gemfile::GemSpec]) } + def gems_to_generate(gem_names); end + + sig { returns(::Tapioca::Runtime::Loader) } + def loader; end + + sig { params(gem: ::Tapioca::Gemfile::GemSpec, file: ::RBI::File).void } + def merge_with_exported_rbi(gem, file); end + + sig { params(old_filename: ::Pathname, new_filename: ::Pathname).void } + def move(old_filename, new_filename); end + + sig { void } + def perform_additions; end + + sig { void } + def perform_removals; end + + sig { void } + def perform_sync_verification; end + + sig { returns(T::Array[::String]) } + def removed_rbis; end + + sig { params(diff: T::Hash[::String, ::Symbol], command: ::Symbol).void } + def report_diff_and_exit_if_out_of_date(diff, command); end + + sig { void } + def require_gem_file; end + + sig { params(gem_names: T::Array[::String], gem_dir: ::String, dsl_dir: ::String).void } + def update_strictnesses(gem_names, gem_dir: T.unsafe(nil), dsl_dir: T.unsafe(nil)); end +end + +class Tapioca::Commands::Init < ::Tapioca::Commands::Command + sig { params(sorbet_config: ::String, tapioca_config: ::String, default_postrequire: ::String).void } + def initialize(sorbet_config:, tapioca_config:, default_postrequire:); end + + sig { override.void } + def execute; end + + private + + sig { void } + def create_binstub; end + + sig { void } + def create_post_require; end + + sig { void } + def create_sorbet_config; end + + sig { void } + def create_tapioca_config; end + + sig { returns(::Bundler::Installer) } + def installer; end + + sig { returns(::Bundler::StubSpecification) } + def spec; end +end + +class Tapioca::Commands::Require < ::Tapioca::Commands::Command + sig { params(requires_path: ::String, sorbet_config_path: ::String).void } + def initialize(requires_path:, sorbet_config_path:); end + + sig { override.void } + def execute; end +end + +class Tapioca::Commands::Todo < ::Tapioca::Commands::Command + include ::Tapioca::SorbetHelper + + sig { params(todo_file: ::String, file_header: T::Boolean).void } + def initialize(todo_file:, file_header:); end + + sig { override.void } + def execute; end + + private + + sig { params(constants: T::Array[::String], command: ::String).returns(::RBI::File) } + def rbi(constants, command:); end + + sig { returns(T::Array[::String]) } + def unresolved_constants; end +end + +module Tapioca::ConfigHelper + requires_ancestor { Thor } + + sig { params(args: T.untyped, local_options: T.untyped, config: T.untyped).void } + def initialize(args = T.unsafe(nil), local_options = T.unsafe(nil), config = T.unsafe(nil)); end + + sig { returns(::String) } + def command_name; end + + sig { returns(::Thor::CoreExt::HashWithIndifferentAccess) } + def defaults; end + + sig { returns(::Thor::CoreExt::HashWithIndifferentAccess) } + def options; end + + private + + sig { params(msg: ::String).returns(::Tapioca::ConfigHelper::ConfigError) } + def build_error(msg); end + + sig do + params( + options: ::Thor::CoreExt::HashWithIndifferentAccess + ).returns(::Thor::CoreExt::HashWithIndifferentAccess) + end + def config_options(options); end + + sig { params(options: T::Hash[::Symbol, ::Thor::Option]).void } + def filter_defaults(options); end + + sig do + params( + options: T.nilable(::Thor::CoreExt::HashWithIndifferentAccess) + ).returns(::Thor::CoreExt::HashWithIndifferentAccess) + end + def merge_options(*options); end + + sig { params(config_file: ::String, errors: T::Array[::Tapioca::ConfigHelper::ConfigError]).void } + def print_errors(config_file, errors); end + + sig { params(config_file: ::String, config: T::Hash[T.untyped, T.untyped]).void } + def validate_config!(config_file, config); end + + sig do + params( + command_options: T::Hash[::Symbol, ::Thor::Option], + config_key: ::String, + config_options: T::Hash[T.untyped, T.untyped] + ).returns(T::Array[::Tapioca::ConfigHelper::ConfigError]) + end + def validate_config_options(command_options, config_key, config_options); end +end + +class Tapioca::ConfigHelper::ConfigError < ::T::Struct + const :message_parts, T::Array[::Tapioca::ConfigHelper::ConfigErrorMessagePart] + + class << self + def inherited(s); end + end +end + +class Tapioca::ConfigHelper::ConfigErrorMessagePart < ::T::Struct + const :message, ::String + const :colors, T::Array[::Symbol] + + class << self + def inherited(s); end + end +end + +Tapioca::DEFAULT_DSL_DIR = T.let(T.unsafe(nil), String) +Tapioca::DEFAULT_GEM_DIR = T.let(T.unsafe(nil), String) +Tapioca::DEFAULT_OVERRIDES = T.let(T.unsafe(nil), Hash) +Tapioca::DEFAULT_POSTREQUIRE_FILE = T.let(T.unsafe(nil), String) +Tapioca::DEFAULT_RBI_DIR = T.let(T.unsafe(nil), String) +Tapioca::DEFAULT_RBI_FORMATTER = T.let(T.unsafe(nil), Tapioca::RBIFormatter) +Tapioca::DEFAULT_SHIM_DIR = T.let(T.unsafe(nil), String) +Tapioca::DEFAULT_TODO_FILE = T.let(T.unsafe(nil), String) +module Tapioca::Dsl; end + +class Tapioca::Dsl::Compiler + extend T::Generic + include ::Tapioca::Runtime::Reflection + include ::Tapioca::SignaturesHelper + include ::Tapioca::Dsl::Helpers::ParamHelper + extend ::Tapioca::Runtime::Reflection + + abstract! + + ConstantType = type_member { { upper: Module } } + + sig { params(pipeline: ::Tapioca::Dsl::Pipeline, root: ::RBI::Tree, constant: ConstantType).void } + def initialize(pipeline, root, constant); end + + sig { params(error: ::String).void } + def add_error(error); end + + sig { params(compiler_name: ::String).returns(T::Boolean) } + def compiler_enabled?(compiler_name); end + + sig { returns(ConstantType) } + def constant; end + + sig { abstract.void } + def decorate; end + + sig { returns(::RBI::Tree) } + def root; end + + private + + sig { params(type: ::String).returns(::String) } + def as_nilable_type(type); end + + sig { params(method_def: T.any(::Method, ::UnboundMethod)).returns(T::Array[::RBI::TypedParam]) } + def compile_method_parameters_to_rbi(method_def); end + + sig { params(method_def: T.any(::Method, ::UnboundMethod)).returns(::String) } + def compile_method_return_type_to_rbi(method_def); end + + sig { params(scope: ::RBI::Scope, method_def: T.any(::Method, ::UnboundMethod), class_method: T::Boolean).void } + def create_method_from_def(scope, method_def, class_method: T.unsafe(nil)); end + + sig { params(method_def: T.any(::Method, ::UnboundMethod), signature: T.untyped).returns(T::Array[::String]) } + def parameters_types_from_signature(method_def, signature); end + + sig { params(name: ::String).returns(T::Boolean) } + def valid_parameter_name?(name); end + + class << self + sig { abstract.returns(T::Enumerable[::Module]) } + def gather_constants; end + + sig { params(constant: ::Module).returns(T::Boolean) } + def handles?(constant); end + + sig { returns(T::Set[::Module]) } + def processable_constants; end + + private + + sig { returns(T::Enumerable[::Class]) } + def all_classes; end + + sig { returns(T::Enumerable[::Module]) } + def all_modules; end + end +end + +module Tapioca::Dsl::Compilers; end +Tapioca::Dsl::Compilers::DIRECTORY = T.let(T.unsafe(nil), String) +Tapioca::Dsl::Compilers::NAMESPACES = T.let(T.unsafe(nil), Array) +module Tapioca::Dsl::Helpers; end + +module Tapioca::Dsl::Helpers::ParamHelper + include ::Tapioca::SignaturesHelper + + sig { params(name: ::String, type: ::String).returns(::RBI::TypedParam) } + def create_block_param(name, type:); end + + sig { params(name: ::String, type: ::String, default: ::String).returns(::RBI::TypedParam) } + def create_kw_opt_param(name, type:, default:); end + + sig { params(name: ::String, type: ::String).returns(::RBI::TypedParam) } + def create_kw_param(name, type:); end + + sig { params(name: ::String, type: ::String).returns(::RBI::TypedParam) } + def create_kw_rest_param(name, type:); end + + sig { params(name: ::String, type: ::String, default: ::String).returns(::RBI::TypedParam) } + def create_opt_param(name, type:, default:); end + + sig { params(name: ::String, type: ::String).returns(::RBI::TypedParam) } + def create_param(name, type:); end + + sig { params(name: ::String, type: ::String).returns(::RBI::TypedParam) } + def create_rest_param(name, type:); end + + sig { params(param: ::RBI::Param, type: ::String).returns(::RBI::TypedParam) } + def create_typed_param(param, type); end +end + +class Tapioca::Dsl::Pipeline + sig do + params( + requested_constants: T::Array[::Module], + requested_compilers: T::Array[T.class_of(Tapioca::Dsl::Compiler)], + excluded_compilers: T::Array[T.class_of(Tapioca::Dsl::Compiler)], + error_handler: T.proc.params(error: ::String).void, + number_of_workers: T.nilable(::Integer) + ).void + end + def initialize(requested_constants:, requested_compilers: T.unsafe(nil), excluded_compilers: T.unsafe(nil), error_handler: T.unsafe(nil), number_of_workers: T.unsafe(nil)); end + + sig { params(error: ::String).void } + def add_error(error); end + + sig { params(compiler_name: ::String).returns(T::Boolean) } + def compiler_enabled?(compiler_name); end + + sig { returns(T::Enumerable[T.class_of(Tapioca::Dsl::Compiler)]) } + def compilers; end + + sig { returns(T.proc.params(error: ::String).void) } + def error_handler; end + + sig { returns(T::Array[::String]) } + def errors; end + + sig { returns(T::Array[::Module]) } + def requested_constants; end + + sig do + type_parameters(:T) + .params( + blk: T.proc.params(constant: ::Module, rbi: ::RBI::File).returns(T.type_parameter(:T)) + ).returns(T::Array[T.type_parameter(:T)]) + end + def run(&blk); end + + private + + sig { params(constants: T::Set[::Module]).returns(T::Set[::Module]) } + def filter_anonymous_and_reloaded_constants(constants); end + + sig do + params( + requested_compilers: T::Array[T.class_of(Tapioca::Dsl::Compiler)], + excluded_compilers: T::Array[T.class_of(Tapioca::Dsl::Compiler)] + ).returns(T::Enumerable[T.class_of(Tapioca::Dsl::Compiler)]) + end + def gather_compilers(requested_compilers, excluded_compilers); end + + sig { params(requested_constants: T::Array[::Module]).returns(T::Set[::Module]) } + def gather_constants(requested_constants); end + + sig { params(constant: ::Module).returns(T.nilable(::RBI::File)) } + def rbi_for_constant(constant); end + + sig { params(error: ::String).returns(T.noreturn) } + def report_error(error); end +end + +class Tapioca::Error < ::StandardError; end + +class Tapioca::Executor + sig { params(queue: T::Array[T.untyped], number_of_workers: T.nilable(::Integer)).void } + def initialize(queue, number_of_workers: T.unsafe(nil)); end + + sig do + type_parameters(:T) + .params( + block: T.proc.params(item: T.untyped).returns(T.type_parameter(:T)) + ).returns(T::Array[T.type_parameter(:T)]) + end + def run_in_parallel(&block); end +end + +Tapioca::Executor::MINIMUM_ITEMS_PER_WORKER = T.let(T.unsafe(nil), Integer) +module Tapioca::Gem; end + +class Tapioca::Gem::ConstNodeAdded < ::Tapioca::Gem::NodeAdded + sig { params(symbol: ::String, constant: ::Module, node: ::RBI::Const).void } + def initialize(symbol, constant, node); end + + sig { returns(::RBI::Const) } + def node; end +end + +class Tapioca::Gem::ConstantFound < ::Tapioca::Gem::Event + sig { params(symbol: ::String, constant: ::BasicObject).void } + def initialize(symbol, constant); end + + sig { returns(::BasicObject) } + def constant; end + + sig { returns(::String) } + def symbol; end +end + +class Tapioca::Gem::Event + abstract! + + def initialize(*args, **_arg1, &blk); end +end + +module Tapioca::Gem::Listeners; end + +class Tapioca::Gem::Listeners::Base + abstract! + + sig { params(pipeline: ::Tapioca::Gem::Pipeline).void } + def initialize(pipeline); end + + sig { params(event: ::Tapioca::Gem::NodeAdded).void } + def dispatch(event); end + + private + + sig { params(event: ::Tapioca::Gem::ConstNodeAdded).void } + def on_const(event); end + + sig { params(event: ::Tapioca::Gem::MethodNodeAdded).void } + def on_method(event); end + + sig { params(event: ::Tapioca::Gem::ScopeNodeAdded).void } + def on_scope(event); end +end + +class Tapioca::Gem::Listeners::DynamicMixins < ::Tapioca::Gem::Listeners::Base + include ::Tapioca::Runtime::Reflection + + private + + sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void } + def on_scope(event); end +end + +class Tapioca::Gem::Listeners::Methods < ::Tapioca::Gem::Listeners::Base + include ::Tapioca::Runtime::Reflection + + private + + sig { params(tree: ::RBI::Tree, module_name: ::String, mod: ::Module, for_visibility: T::Array[::Symbol]).void } + def compile_directly_owned_methods(tree, module_name, mod, for_visibility = T.unsafe(nil)); end + + sig do + params( + tree: ::RBI::Tree, + symbol_name: ::String, + constant: ::Module, + method: T.nilable(::UnboundMethod), + visibility: ::RBI::Visibility + ).void + end + def compile_method(tree, symbol_name, constant, method, visibility = T.unsafe(nil)); end + + sig { params(constant: ::Module).returns(T.nilable(::UnboundMethod)) } + def initialize_method_for(constant); end + + sig { params(mod: ::Module).returns(T::Hash[::Symbol, T::Array[::Symbol]]) } + def method_names_by_visibility(mod); end + + sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void } + def on_scope(event); end + + sig { params(constant: ::Module, method_name: ::String).returns(T::Boolean) } + def struct_method?(constant, method_name); end + + sig { params(name: ::String).returns(T::Boolean) } + def valid_method_name?(name); end + + sig { params(name: ::String).returns(T::Boolean) } + def valid_parameter_name?(name); end +end + +Tapioca::Gem::Listeners::Methods::SPECIAL_METHOD_NAMES = T.let(T.unsafe(nil), Array) + +class Tapioca::Gem::Listeners::Mixins < ::Tapioca::Gem::Listeners::Base + include ::Tapioca::Runtime::Reflection + + private + + sig do + params( + tree: ::RBI::Tree, + mods: T::Array[::Module], + mixin_type: ::Tapioca::Runtime::Trackers::Mixin::Type + ).void + end + def add_mixins(tree, mods, mixin_type); end + + sig { params(mixin_name: ::String).returns(T::Boolean) } + def filtered_mixin?(mixin_name); end + + sig { params(constant: ::Module).returns(T::Array[::Module]) } + def interesting_ancestors_of(constant); end + + sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void } + def on_scope(event); end +end + +class Tapioca::Gem::Listeners::RemoveEmptyPayloadScopes < ::Tapioca::Gem::Listeners::Base + include ::Tapioca::Runtime::Reflection + + private + + sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void } + def on_scope(event); end +end + +class Tapioca::Gem::Listeners::SorbetEnums < ::Tapioca::Gem::Listeners::Base + private + + sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void } + def on_scope(event); end +end + +class Tapioca::Gem::Listeners::SorbetHelpers < ::Tapioca::Gem::Listeners::Base + include ::Tapioca::Runtime::Reflection + + private + + sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void } + def on_scope(event); end +end + +class Tapioca::Gem::Listeners::SorbetProps < ::Tapioca::Gem::Listeners::Base + private + + sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void } + def on_scope(event); end +end + +class Tapioca::Gem::Listeners::SorbetRequiredAncestors < ::Tapioca::Gem::Listeners::Base + private + + sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void } + def on_scope(event); end +end + +class Tapioca::Gem::Listeners::SorbetSignatures < ::Tapioca::Gem::Listeners::Base + include ::Tapioca::Runtime::Reflection + include ::Tapioca::SignaturesHelper + + private + + sig { params(signature: T.untyped, parameters: T::Array[[::Symbol, ::String]]).returns(::RBI::Sig) } + def compile_signature(signature, parameters); end + + sig { override.params(event: ::Tapioca::Gem::MethodNodeAdded).void } + def on_method(event); end + + sig { params(signature: T.untyped).returns(T::Boolean) } + def signature_final?(signature); end +end + +Tapioca::Gem::Listeners::SorbetSignatures::TYPE_PARAMETER_MATCHER = T.let(T.unsafe(nil), Regexp) + +class Tapioca::Gem::Listeners::SorbetTypeVariables < ::Tapioca::Gem::Listeners::Base + include ::Tapioca::Runtime::Reflection + + private + + sig { params(tree: ::RBI::Tree, constant: ::Module).void } + def compile_type_variable_declarations(tree, constant); end + + sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void } + def on_scope(event); end +end + +class Tapioca::Gem::Listeners::Subconstants < ::Tapioca::Gem::Listeners::Base + include ::Tapioca::Runtime::Reflection + + private + + sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void } + def on_scope(event); end +end + +class Tapioca::Gem::Listeners::YardDoc < ::Tapioca::Gem::Listeners::Base + sig { params(pipeline: ::Tapioca::Gem::Pipeline).void } + def initialize(pipeline); end + + private + + sig { params(name: ::String, sigs: T::Array[::RBI::Sig]).returns(T::Array[::RBI::Comment]) } + def documentation_comments(name, sigs: T.unsafe(nil)); end + + sig { override.params(event: ::Tapioca::Gem::ConstNodeAdded).void } + def on_const(event); end + + sig { override.params(event: ::Tapioca::Gem::MethodNodeAdded).void } + def on_method(event); end + + sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void } + def on_scope(event); end +end + +Tapioca::Gem::Listeners::YardDoc::IGNORED_COMMENTS = T.let(T.unsafe(nil), Array) +Tapioca::Gem::Listeners::YardDoc::IGNORED_SIG_TAGS = T.let(T.unsafe(nil), Array) + +class Tapioca::Gem::MethodNodeAdded < ::Tapioca::Gem::NodeAdded + sig do + params( + symbol: ::String, + constant: ::Module, + node: ::RBI::Method, + signature: T.untyped, + parameters: T::Array[[::Symbol, ::String]] + ).void + end + def initialize(symbol, constant, node, signature, parameters); end + + sig { returns(::RBI::Method) } + def node; end + + sig { returns(T::Array[[::Symbol, ::String]]) } + def parameters; end + + sig { returns(T.untyped) } + def signature; end +end + +class Tapioca::Gem::NodeAdded < ::Tapioca::Gem::Event + abstract! + + sig { params(symbol: ::String, constant: ::Module).void } + def initialize(symbol, constant); end + + sig { returns(::Module) } + def constant; end + + sig { returns(::String) } + def symbol; end +end + +class Tapioca::Gem::Pipeline + include ::Tapioca::Runtime::Reflection + include ::Tapioca::SignaturesHelper + + sig { params(gem: ::Tapioca::Gemfile::GemSpec, include_doc: T::Boolean).void } + def initialize(gem, include_doc: T.unsafe(nil)); end + + sig { returns(::RBI::Tree) } + def compile; end + + sig { returns(::Tapioca::Gemfile::GemSpec) } + def gem; end + + sig { params(method: ::UnboundMethod).returns(T::Boolean) } + def method_in_gem?(method); end + + sig { params(constant: ::Module).returns(T.nilable(::String)) } + def name_of(constant); end + + sig { params(symbol: ::String, constant: ::Module, node: ::RBI::Const).void } + def push_const(symbol, constant, node); end + + sig { params(symbol: ::String, constant: ::BasicObject).void } + def push_constant(symbol, constant); end + + sig do + params( + symbol: ::String, + constant: ::Module, + node: ::RBI::Method, + signature: T.untyped, + parameters: T::Array[[::Symbol, ::String]] + ).void + end + def push_method(symbol, constant, node, signature, parameters); end + + sig { params(symbol: ::String, constant: ::Module, node: ::RBI::Scope).void } + def push_scope(symbol, constant, node); end + + sig { params(symbol: ::String).void } + def push_symbol(symbol); end + + sig { params(symbol_name: ::String).returns(T::Boolean) } + def symbol_in_payload?(symbol_name); end + + private + + sig { params(name: ::String).void } + def add_to_alias_namespace(name); end + + sig { params(name: ::String).returns(T::Boolean) } + def alias_namespaced?(name); end + + sig { params(name: ::String, constant: ::Module).void } + def compile_alias(name, constant); end + + sig { params(symbol: ::String, constant: ::BasicObject).void } + def compile_constant(symbol, constant); end + + sig { params(name: ::String, constant: ::Module).void } + def compile_module(name, constant); end + + sig { params(name: ::String, value: ::BasicObject).void } + def compile_object(name, value); end + + sig { params(constant: ::Class).returns(T.nilable(::String)) } + def compile_superclass(constant); end + + sig { params(constant: ::Module, strict: T::Boolean).returns(T::Boolean) } + def defined_in_gem?(constant, strict: T.unsafe(nil)); end + + sig { params(event: ::Tapioca::Gem::Event).void } + def dispatch(event); end + + sig { params(constant: T.all(::Module, ::T::Generic)).returns(::String) } + def generic_name_of(constant); end + + sig { params(constant: ::Module).returns(T::Array[::String]) } + def get_file_candidates(constant); end + + sig { params(name: ::String).void } + def mark_seen(name); end + + sig { params(constant: ::Module, class_name: T.nilable(::String)).returns(T.nilable(::String)) } + def name_of_proxy_target(constant, class_name); end + + sig { returns(::Tapioca::Gem::Event) } + def next_event; end + + sig { params(event: ::Tapioca::Gem::ConstantFound).void } + def on_constant(event); end + + sig { params(event: ::Tapioca::Gem::NodeAdded).void } + def on_node(event); end + + sig { params(event: ::Tapioca::Gem::SymbolFound).void } + def on_symbol(event); end + + sig { params(name: ::String).returns(T::Boolean) } + def seen?(name); end +end + +Tapioca::Gem::Pipeline::IGNORED_SYMBOLS = T.let(T.unsafe(nil), Array) + +class Tapioca::Gem::ScopeNodeAdded < ::Tapioca::Gem::NodeAdded + sig { params(symbol: ::String, constant: ::Module, node: ::RBI::Scope).void } + def initialize(symbol, constant, node); end + + sig { returns(::RBI::Scope) } + def node; end +end + +class Tapioca::Gem::SymbolFound < ::Tapioca::Gem::Event + sig { params(symbol: ::String).void } + def initialize(symbol); end + + sig { returns(::String) } + def symbol; end +end + +class Tapioca::Gemfile + sig { void } + def initialize; end + + sig { returns(::Bundler::Definition) } + def definition; end + + sig { returns(T::Array[::Tapioca::Gemfile::GemSpec]) } + def dependencies; end + + sig { params(gem_name: ::String).returns(T.nilable(::Tapioca::Gemfile::GemSpec)) } + def gem(gem_name); end + + sig { returns(T::Array[::String]) } + def missing_specs; end + + sig { void } + def require_bundle; end + + private + + sig { returns(::String) } + def dir; end + + sig { returns(::File) } + def gemfile; end + + sig { returns(T::Array[::Symbol]) } + def groups; end + + sig { returns([T::Array[::Tapioca::Gemfile::GemSpec], T::Array[::String]]) } + def load_dependencies; end + + def lockfile; end + + sig { returns([T::Enumerable[T.any(::Bundler::StubSpecification, ::Gem::Specification)], T::Array[::String]]) } + def materialize_deps; end + + sig { returns(::Bundler::Runtime) } + def runtime; end +end + +class Tapioca::Gemfile::GemSpec + sig { params(spec: T.any(::Bundler::StubSpecification, ::Gem::Specification)).void } + def initialize(spec); end + + sig { params(path: ::String).returns(T::Boolean) } + def contains_path?(path); end + + sig { returns(T::Boolean) } + def export_rbi_files?; end + + sig { returns(T::Array[::String]) } + def exported_rbi_files; end + + sig { returns(::RBI::MergeTree) } + def exported_rbi_tree; end + + sig { returns(T::Array[::Pathname]) } + def files; end + + sig { returns(::String) } + def full_gem_path; end + + sig { params(gemfile_dir: ::String).returns(T::Boolean) } + def ignore?(gemfile_dir); end + + sig { returns(::String) } + def name; end + + sig { void } + def parse_yard_docs; end + + sig { returns(::String) } + def rbi_file_name; end + + def version; end + + private + + sig { returns(T::Array[::Pathname]) } + def collect_files; end + + sig { returns(T.nilable(T::Boolean)) } + def default_gem?; end + + sig { returns(T::Boolean) } + def gem_ignored?; end + + sig { params(gemfile_dir: ::String).returns(T::Boolean) } + def gem_in_app_dir?(gemfile_dir); end + + sig { returns(T::Boolean) } + def gem_in_bundle_path?; end + + sig { params(path: ::String).returns(T::Boolean) } + def has_parent_gemspec?(path); end + + sig { returns(::Regexp) } + def require_paths_prefix_matcher; end + + sig { params(file: ::String).returns(::Pathname) } + def resolve_to_ruby_lib_dir(file); end + + sig { params(path: T.any(::Pathname, ::String)).returns(::String) } + def to_realpath(path); end + + sig { returns(::String) } + def version_string; end +end + +Tapioca::Gemfile::GemSpec::IGNORED_GEMS = T.let(T.unsafe(nil), Array) +Tapioca::Gemfile::Spec = T.type_alias { T.any(::Bundler::StubSpecification, ::Gem::Specification) } + +class Tapioca::RBIFormatter < ::RBI::Formatter + sig { params(file: ::RBI::File).void } + def write_empty_body_comment!(file); end + + sig { params(file: ::RBI::File, command: ::String, reason: T.nilable(::String)).void } + def write_header!(file, command, reason: T.unsafe(nil)); end +end + +module Tapioca::Runtime; end + +class Tapioca::Runtime::DynamicMixinCompiler + include ::Tapioca::Runtime::Reflection + + sig { params(constant: ::Module).void } + def initialize(constant); end + + def class_attribute_predicates; end + + sig { returns(T::Array[::Symbol]) } + def class_attribute_readers; end + + def class_attribute_writers; end + + sig { params(tree: ::RBI::Tree).void } + def compile_class_attributes(tree); end + + sig { params(tree: ::RBI::Tree).returns([T::Array[::Module], T::Array[::Module]]) } + def compile_mixes_in_class_methods(tree); end + + sig { returns(T::Array[::Module]) } + def dynamic_extends; end + + def dynamic_includes; end + + sig { returns(T::Boolean) } + def empty_attributes?; end + + sig { params(qualified_mixin_name: ::String).returns(T::Boolean) } + def filtered_mixin?(qualified_mixin_name); end + + def instance_attribute_predicates; end + + sig { returns(T::Array[::Symbol]) } + def instance_attribute_readers; end + + def instance_attribute_writers; end + + sig { params(mod: ::Module, dynamic_extends: T::Array[::Module]).returns(T::Boolean) } + def module_included_by_another_dynamic_extend?(mod, dynamic_extends); end +end + +module Tapioca::Runtime::GenericTypeRegistry + class << self + sig { params(instance: ::Object).returns(T::Boolean) } + def generic_type_instance?(instance); end + + sig { params(constant: ::Module).returns(T.nilable(T::Array[::Tapioca::TypeVariableModule])) } + def lookup_type_variables(constant); end + + sig { params(constant: T.untyped, types: T.untyped).returns(::Module) } + def register_type(constant, types); end + + sig { params(constant: T.untyped, type_variable: ::Tapioca::TypeVariableModule).void } + def register_type_variable(constant, type_variable); end + + private + + sig { params(constant: ::Module, name: ::String).returns(::Module) } + def create_generic_type(constant, name); end + + sig { params(constant: ::Class).returns(::Class) } + def create_safe_subclass(constant); end + + sig { params(constant: ::Module).returns(T::Array[::Tapioca::TypeVariableModule]) } + def lookup_or_initialize_type_variables(constant); end + end +end + +class Tapioca::Runtime::Loader + sig do + params( + gemfile: ::Tapioca::Gemfile, + initialize_file: T.nilable(::String), + require_file: T.nilable(::String) + ).void + end + def load_bundle(gemfile, initialize_file, require_file); end + + sig { params(environment_load: T::Boolean, eager_load: T::Boolean).void } + def load_rails_application(environment_load: T.unsafe(nil), eager_load: T.unsafe(nil)); end + + private + + sig { void } + def eager_load_rails_app; end + + sig { void } + def load_rails_engines; end + + sig { returns(T::Array[T.untyped]) } + def rails_engines; end + + sig { params(file: T.nilable(::String)).void } + def require_helper(file); end + + sig { params(path: ::String).void } + def safe_require(path); end + + sig { void } + def silence_deprecations; end +end + +module Tapioca::Runtime::Reflection + extend ::Tapioca::Runtime::Reflection + + sig { params(constant: ::Module).returns(T::Array[::Module]) } + def ancestors_of(constant); end + + sig { params(object: ::BasicObject, other: ::BasicObject).returns(T::Boolean) } + def are_equal?(object, other); end + + sig { params(object: ::BasicObject).returns(::Class) } + def class_of(object); end + + sig { params(symbol: ::String, inherit: T::Boolean, namespace: ::Module).returns(::BasicObject) } + def constantize(symbol, inherit: T.unsafe(nil), namespace: T.unsafe(nil)); end + + sig { params(constant: ::Module).returns(T::Array[::Symbol]) } + def constants_of(constant); end + + sig do + type_parameters(:U) + .params( + klass: T.all(::Class, T.type_parameter(:U)) + ).returns(T::Array[T.type_parameter(:U)]) + end + def descendants_of(klass); end + + sig { params(constant: ::Module).returns(T::Array[::Module]) } + def inherited_ancestors_of(constant); end + + sig { params(constant: ::Module, method: ::Symbol).returns(::Method) } + def method_of(constant, method); end + + sig { params(constant: ::Module).returns(T.nilable(::String)) } + def name_of(constant); end + + sig { params(type: ::T::Types::Base).returns(::String) } + def name_of_type(type); end + + sig { params(object: ::BasicObject).returns(::Integer) } + def object_id_of(object); end + + sig { params(constant: ::Module).returns(T::Array[::Symbol]) } + def private_instance_methods_of(constant); end + + sig { params(constant: ::Module).returns(T::Array[::Symbol]) } + def protected_instance_methods_of(constant); end + + sig { params(constant: ::Module).returns(T::Array[::Symbol]) } + def public_instance_methods_of(constant); end + + sig { params(constant: ::Module).returns(T.nilable(::String)) } + def qualified_name_of(constant); end + + sig { params(method: T.any(::Method, ::UnboundMethod)).returns(T.untyped) } + def signature_of(method); end + + sig { params(constant: ::Module).returns(::Class) } + def singleton_class_of(constant); end + + sig { params(constant: ::Class).returns(T.nilable(::Class)) } + def superclass_of(constant); end +end + +Tapioca::Runtime::Reflection::ANCESTORS_METHOD = T.let(T.unsafe(nil), UnboundMethod) +Tapioca::Runtime::Reflection::CLASS_METHOD = T.let(T.unsafe(nil), UnboundMethod) +Tapioca::Runtime::Reflection::CONSTANTS_METHOD = T.let(T.unsafe(nil), UnboundMethod) +Tapioca::Runtime::Reflection::EQUAL_METHOD = T.let(T.unsafe(nil), UnboundMethod) +Tapioca::Runtime::Reflection::METHOD_METHOD = T.let(T.unsafe(nil), UnboundMethod) +Tapioca::Runtime::Reflection::NAME_METHOD = T.let(T.unsafe(nil), UnboundMethod) +Tapioca::Runtime::Reflection::OBJECT_ID_METHOD = T.let(T.unsafe(nil), UnboundMethod) +Tapioca::Runtime::Reflection::PRIVATE_INSTANCE_METHODS_METHOD = T.let(T.unsafe(nil), UnboundMethod) +Tapioca::Runtime::Reflection::PROTECTED_INSTANCE_METHODS_METHOD = T.let(T.unsafe(nil), UnboundMethod) +Tapioca::Runtime::Reflection::PUBLIC_INSTANCE_METHODS_METHOD = T.let(T.unsafe(nil), UnboundMethod) +Tapioca::Runtime::Reflection::SINGLETON_CLASS_METHOD = T.let(T.unsafe(nil), UnboundMethod) +Tapioca::Runtime::Reflection::SUPERCLASS_METHOD = T.let(T.unsafe(nil), UnboundMethod) +module Tapioca::Runtime::Trackers; end + +module Tapioca::Runtime::Trackers::Autoload + class << self + sig { void } + def eager_load_all!; end + + sig { params(constant_name: ::String).void } + def register(constant_name); end + + sig do + type_parameters(:Result) + .params( + block: T.proc.returns(T.type_parameter(:Result)) + ).returns(T.type_parameter(:Result)) + end + def with_disabled_exits(&block); end + end +end + +Tapioca::Runtime::Trackers::Autoload::NOOP_METHOD = T.let(T.unsafe(nil), Proc) + +module Tapioca::Runtime::Trackers::ConstantDefinition + extend ::Tapioca::Runtime::Reflection + + class << self + def files_for(klass); end + end +end + +module Tapioca::Runtime::Trackers::Mixin + class << self + sig do + params( + constant: ::Module + ).returns(T::Hash[::Tapioca::Runtime::Trackers::Mixin::Type, T::Hash[::Module, T::Array[::String]]]) + end + def mixin_locations_for(constant); end + + sig do + params( + constant: ::Module, + mod: ::Module, + mixin_type: ::Tapioca::Runtime::Trackers::Mixin::Type, + locations: T.nilable(T::Array[::Thread::Backtrace::Location]) + ).void + end + def register(constant, mod, mixin_type, locations); end + end +end + +class Tapioca::Runtime::Trackers::Mixin::Type < ::T::Enum + enums do + Prepend = new + Include = new + Extend = new + end +end + +module Tapioca::Runtime::Trackers::RequiredAncestor + class << self + sig { params(requiring: ::T::Helpers, block: T.proc.returns(::Module)).void } + def register(requiring, block); end + + sig { params(mod: ::Module).returns(T::Array[T.proc.returns(::Module)]) } + def required_ancestors_blocks_by(mod); end + + sig { params(mod: ::Module).returns(T::Array[T.nilable(::Module)]) } + def required_ancestors_by(mod); end + end +end + +Tapioca::SORBET_CONFIG_FILE = T.let(T.unsafe(nil), String) +Tapioca::SORBET_DIR = T.let(T.unsafe(nil), String) + +module Tapioca::ShimsHelper + requires_ancestor { Thor::Shell } + + sig { params(index: ::RBI::Index, shim_rbi_dir: ::String).returns(T::Hash[::String, T::Array[::RBI::Node]]) } + def duplicated_nodes_from_index(index, shim_rbi_dir); end + + sig { params(index: ::RBI::Index, kind: ::String, dir: ::String).void } + def index_rbis(index, kind, dir); end + + private + + sig { params(nodes: T::Array[::RBI::Node]).returns(T::Array[T.any(::RBI::Attr, ::RBI::Method)]) } + def extract_methods_and_attrs(nodes); end + + sig do + params( + nodes: T::Array[T.any(::RBI::Attr, ::RBI::Method)] + ).returns(T::Array[T.any(::RBI::Attr, ::RBI::Method)]) + end + def extract_nodes_with_sigs(nodes); end + + sig { params(nodes: T::Array[::RBI::Node], shim_rbi_dir: ::String).returns(T::Array[::RBI::Node]) } + def extract_shims(nodes, shim_rbi_dir); end + + sig { params(nodes: T::Array[::RBI::Node], shim_rbi_dir: ::String).returns(T::Boolean) } + def shims_have_duplicates?(nodes, shim_rbi_dir); end +end + +module Tapioca::SignaturesHelper + sig { params(sig_string: ::String).returns(::String) } + def sanitize_signature_types(sig_string); end +end + +module Tapioca::SorbetHelper + sig { params(sorbet_args: ::String).returns(::Tapioca::SorbetHelper::CmdResult) } + def sorbet(*sorbet_args); end + + sig { returns(::String) } + def sorbet_path; end + + sig { params(feature: ::Symbol, version: T.nilable(::Gem::Version)).returns(T::Boolean) } + def sorbet_supports?(feature, version: T.unsafe(nil)); end +end + +class Tapioca::SorbetHelper::CmdResult < ::T::Struct + const :out, ::String + const :err, ::String + const :status, T::Boolean + + class << self + def inherited(s); end + end +end + +Tapioca::SorbetHelper::FEATURE_REQUIREMENTS = T.let(T.unsafe(nil), Hash) +Tapioca::SorbetHelper::SORBET_BIN = T.let(T.unsafe(nil), Pathname) +Tapioca::SorbetHelper::SORBET_EXE_PATH_ENV_VAR = T.let(T.unsafe(nil), String) +Tapioca::SorbetHelper::SORBET_GEM_SPEC = T.let(T.unsafe(nil), Gem::Specification) +module Tapioca::Static; end + +class Tapioca::Static::RequiresCompiler + sig { params(sorbet_path: ::String).void } + def initialize(sorbet_path); end + + sig { returns(::String) } + def compile; end + + private + + sig { params(config: ::Spoom::Sorbet::Config).returns(T::Array[::String]) } + def collect_files(config); end + + sig { params(file_path: ::String).returns(T::Enumerable[::String]) } + def collect_requires(file_path); end + + sig { params(config: ::Spoom::Sorbet::Config, file_path: ::Pathname).returns(T::Boolean) } + def file_ignored_by_sorbet?(config, file_path); end + + sig { params(path: ::Pathname).returns(T::Array[::String]) } + def path_parts(path); end +end + +module Tapioca::Static::SymbolLoader + extend ::Tapioca::SorbetHelper + extend ::Tapioca::Runtime::Reflection + + class << self + sig { returns(T::Set[::String]) } + def engine_symbols; end + + sig { params(gem: ::Tapioca::Gemfile::GemSpec).returns(T::Set[::String]) } + def gem_symbols(gem); end + + sig { returns(T::Set[::String]) } + def payload_symbols; end + + private + + sig { returns(T::Set[::String]) } + def load_engine_symbols; end + + sig { params(input: ::String, table_type: ::String).returns(::String) } + def symbol_table_json_from(input, table_type: T.unsafe(nil)); end + + sig { params(paths: T::Array[::Pathname]).returns(T::Set[::String]) } + def symbols_from_paths(paths); end + end +end + +class Tapioca::Static::SymbolTableParser + sig { void } + def initialize; end + + sig { params(name: ::String).returns(::String) } + def fully_qualified_name(name); end + + sig { params(object: T::Hash[::String, T.untyped]).void } + def parse_object(object); end + + sig { returns(T::Set[::String]) } + def symbols; end + + class << self + sig { params(json_string: ::String).returns(T::Set[::String]) } + def parse_json(json_string); end + end +end + +Tapioca::TAPIOCA_CONFIG_FILE = T.let(T.unsafe(nil), String) +Tapioca::TAPIOCA_DIR = T.let(T.unsafe(nil), String) + +class Tapioca::TypeVariable < ::T::Types::TypeVariable + def initialize(name, variance); end + + def name; end +end + +module Tapioca::TypeVariableHelper + extend ::Tapioca::SorbetHelper + + class << self + sig do + params( + type: ::String, + variance: ::Symbol, + fixed: T.nilable(::String), + upper: T.nilable(::String), + lower: T.nilable(::String) + ).returns(::String) + end + def serialize_type_variable(type, variance, fixed, upper, lower); end + end +end + +class Tapioca::TypeVariableModule < ::Module + sig do + params( + context: ::Module, + type: ::Tapioca::TypeVariableModule::Type, + variance: ::Symbol, + fixed: T.untyped, + lower: T.untyped, + upper: T.untyped, + bounds_proc: T.nilable(T.proc.returns(T::Hash[::Symbol, T.untyped])) + ).void + end + def initialize(context, type, variance, fixed, lower, upper, bounds_proc); end + + sig { returns(::Tapioca::TypeVariable) } + def coerce_to_type_variable; end + + sig { returns(T.nilable(::String)) } + def name; end + + sig { returns(::String) } + def serialize; end + + private + + sig do + params( + fixed: T.untyped, + lower: T.untyped, + upper: T.untyped + ).returns(T.proc.returns(T::Hash[::Symbol, T.untyped])) + end + def build_bounds_proc(fixed, lower, upper); end + + sig do + type_parameters(:Result) + .params( + block: T.proc.returns(T.type_parameter(:Result)) + ).returns(T.type_parameter(:Result)) + end + def with_bound_name_pre_3_0(&block); end +end + +class Tapioca::TypeVariableModule::Type < ::T::Enum + enums do + Member = new + Template = new + end +end + +Tapioca::VERSION = T.let(T.unsafe(nil), String)