phlex-stimulus 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (147) hide show
  1. checksums.yaml +7 -0
  2. data/.ruby-version +1 -0
  3. data/CHANGELOG.md +16 -0
  4. data/LICENSE.txt +21 -0
  5. data/README.md +341 -0
  6. data/Rakefile +12 -0
  7. data/lib/generators/phlex/stimulus/controller/USAGE +5 -0
  8. data/lib/generators/phlex/stimulus/controller/controller_generator.rb +49 -0
  9. data/lib/generators/phlex/stimulus/controller/templates/component.rb.erb +30 -0
  10. data/lib/generators/phlex/stimulus/controller/templates/controller.ts.erb +23 -0
  11. data/lib/generators/phlex/stimulus/generator_mixin.rb +21 -0
  12. data/lib/generators/phlex/stimulus/install/USAGE +5 -0
  13. data/lib/generators/phlex/stimulus/install/install_generator.rb +111 -0
  14. data/lib/generators/phlex/stimulus/install/templates/app/components/base.rb.erb +29 -0
  15. data/lib/generators/phlex/stimulus/install/templates/app/components/chain_controller.rb.erb +29 -0
  16. data/lib/generators/phlex/stimulus/install/templates/app/components/classlist_controller.rb.erb +30 -0
  17. data/lib/generators/phlex/stimulus/install/templates/app/components/controller.rb.erb +10 -0
  18. data/lib/generators/phlex/stimulus/install/templates/app/components/controller_chain.rb.erb +32 -0
  19. data/lib/generators/phlex/stimulus/install/templates/app/components/controller_template.rb.erb +24 -0
  20. data/lib/generators/phlex/stimulus/install/templates/app/components/log_controller.rb.erb +33 -0
  21. data/lib/generators/phlex/stimulus/install/templates/app/components/sleep_controller.rb.erb +30 -0
  22. data/lib/generators/phlex/stimulus/install/templates/app/components.rb.erb +7 -0
  23. data/lib/generators/phlex/stimulus/install/templates/app/javascript/application.ts.erb +5 -0
  24. data/lib/generators/phlex/stimulus/install/templates/app/javascript/controllers/application.ts.erb +10 -0
  25. data/lib/generators/phlex/stimulus/install/templates/app/javascript/controllers/chain_controller.ts.erb +32 -0
  26. data/lib/generators/phlex/stimulus/install/templates/app/javascript/controllers/chainable_controller.ts.erb +44 -0
  27. data/lib/generators/phlex/stimulus/install/templates/app/javascript/controllers/classlist_controller.ts.erb +30 -0
  28. data/lib/generators/phlex/stimulus/install/templates/app/javascript/controllers/index.ts.erb +4 -0
  29. data/lib/generators/phlex/stimulus/install/templates/app/javascript/controllers/log_controller.ts.erb +25 -0
  30. data/lib/generators/phlex/stimulus/install/templates/app/javascript/controllers/sleep_controller.ts.erb +19 -0
  31. data/lib/generators/phlex/stimulus/install/templates/app/javascript/controllers/typed_controller.ts.erb +53 -0
  32. data/lib/generators/phlex/stimulus/install/templates/app/javascript/utils/misc.ts.erb +37 -0
  33. data/lib/generators/phlex/stimulus/install/templates/app/javascript/utils/template.ts.erb +11 -0
  34. data/lib/phlex/stimulus/components/base.rb +81 -0
  35. data/lib/phlex/stimulus/components/controller.rb +170 -0
  36. data/lib/phlex/stimulus/components.rb +9 -0
  37. data/lib/phlex/stimulus/version.rb +8 -0
  38. data/lib/phlex/stimulus.rb +15 -0
  39. data/sorbet/config +7 -0
  40. data/sorbet/rbi/annotations/.gitattributes +1 -0
  41. data/sorbet/rbi/annotations/actionmailer.rbi +15 -0
  42. data/sorbet/rbi/annotations/actionpack.rbi +430 -0
  43. data/sorbet/rbi/annotations/actionview.rbi +75 -0
  44. data/sorbet/rbi/annotations/activejob.rbi +50 -0
  45. data/sorbet/rbi/annotations/activemodel.rbi +119 -0
  46. data/sorbet/rbi/annotations/activerecord.rbi +172 -0
  47. data/sorbet/rbi/annotations/activesupport.rbi +561 -0
  48. data/sorbet/rbi/annotations/globalid.rbi +30 -0
  49. data/sorbet/rbi/annotations/minitest.rbi +116 -0
  50. data/sorbet/rbi/annotations/railties.rbi +104 -0
  51. data/sorbet/rbi/annotations/rainbow.rbi +269 -0
  52. data/sorbet/rbi/dsl/.gitattributes +1 -0
  53. data/sorbet/rbi/dsl/active_support/callbacks.rbi +21 -0
  54. data/sorbet/rbi/gems/.gitattributes +1 -0
  55. data/sorbet/rbi/gems/action_text-trix@2.1.19.rbi +9 -0
  56. data/sorbet/rbi/gems/actioncable@8.1.3.rbi +9 -0
  57. data/sorbet/rbi/gems/actionmailbox@8.1.3.rbi +9 -0
  58. data/sorbet/rbi/gems/actionmailer@8.1.3.rbi +9 -0
  59. data/sorbet/rbi/gems/actionpack@8.1.3.rbi +20478 -0
  60. data/sorbet/rbi/gems/actiontext@8.1.3.rbi +9 -0
  61. data/sorbet/rbi/gems/actionview@8.1.3.rbi +14722 -0
  62. data/sorbet/rbi/gems/activejob@8.1.3.rbi +9 -0
  63. data/sorbet/rbi/gems/activemodel@8.1.3.rbi +9 -0
  64. data/sorbet/rbi/gems/activerecord@8.1.3.rbi +9 -0
  65. data/sorbet/rbi/gems/activestorage@8.1.3.rbi +9 -0
  66. data/sorbet/rbi/gems/activesupport@8.1.3.rbi +20153 -0
  67. data/sorbet/rbi/gems/ast@2.4.3.rbi +550 -0
  68. data/sorbet/rbi/gems/base64@0.3.0.rbi +545 -0
  69. data/sorbet/rbi/gems/benchmark@0.5.0.rbi +621 -0
  70. data/sorbet/rbi/gems/booleans@0.1.3.rbi +31 -0
  71. data/sorbet/rbi/gems/builder@3.3.0.rbi +9 -0
  72. data/sorbet/rbi/gems/byebug@12.0.0.rbi +49 -0
  73. data/sorbet/rbi/gems/concurrent-ruby@1.3.8.rbi +10656 -0
  74. data/sorbet/rbi/gems/connection_pool@3.0.2.rbi +9 -0
  75. data/sorbet/rbi/gems/crass@1.0.7.rbi +648 -0
  76. data/sorbet/rbi/gems/date@3.5.1.rbi +391 -0
  77. data/sorbet/rbi/gems/drb@2.2.3.rbi +9 -0
  78. data/sorbet/rbi/gems/erb@6.0.6.rbi +1600 -0
  79. data/sorbet/rbi/gems/erubi@1.13.1.rbi +155 -0
  80. data/sorbet/rbi/gems/globalid@1.4.0.rbi +9 -0
  81. data/sorbet/rbi/gems/i18n@1.15.2.rbi +2285 -0
  82. data/sorbet/rbi/gems/io-console@0.8.2.rbi +9 -0
  83. data/sorbet/rbi/gems/json@2.21.1.rbi +2289 -0
  84. data/sorbet/rbi/gems/lint_roller@1.1.0.rbi +189 -0
  85. data/sorbet/rbi/gems/logger@1.7.0.rbi +896 -0
  86. data/sorbet/rbi/gems/loofah@2.25.2.rbi +1134 -0
  87. data/sorbet/rbi/gems/mail@2.9.1.rbi +9 -0
  88. data/sorbet/rbi/gems/marcel@1.2.1.rbi +9 -0
  89. data/sorbet/rbi/gems/mini_mime@1.1.5.rbi +9 -0
  90. data/sorbet/rbi/gems/minitest@6.0.6.rbi +1482 -0
  91. data/sorbet/rbi/gems/net-imap@0.6.4.1.rbi +9 -0
  92. data/sorbet/rbi/gems/net-pop@0.1.2.rbi +9 -0
  93. data/sorbet/rbi/gems/net-protocol@0.2.2.rbi +244 -0
  94. data/sorbet/rbi/gems/net-smtp@0.5.1.rbi +9 -0
  95. data/sorbet/rbi/gems/netrc@0.11.0.rbi +147 -0
  96. data/sorbet/rbi/gems/nio4r@2.7.5.rbi +9 -0
  97. data/sorbet/rbi/gems/nokogiri@1.19.4.rbi +8168 -0
  98. data/sorbet/rbi/gems/parallel@1.28.0.rbi +270 -0
  99. data/sorbet/rbi/gems/phlex-rails@2.4.0.rbi +1945 -0
  100. data/sorbet/rbi/gems/phlex@2.4.1.rbi +1413 -0
  101. data/sorbet/rbi/gems/pp@0.6.4.rbi +387 -0
  102. data/sorbet/rbi/gems/prettyprint@0.2.0.rbi +455 -0
  103. data/sorbet/rbi/gems/prism@1.9.0.rbi +42226 -0
  104. data/sorbet/rbi/gems/racc@1.8.1.rbi +165 -0
  105. data/sorbet/rbi/gems/rack-session@2.1.2.rbi +756 -0
  106. data/sorbet/rbi/gems/rack-test@2.2.0.rbi +681 -0
  107. data/sorbet/rbi/gems/rack@3.2.6.rbi +4653 -0
  108. data/sorbet/rbi/gems/rackup@2.3.1.rbi +9 -0
  109. data/sorbet/rbi/gems/rails-dom-testing@2.3.0.rbi +517 -0
  110. data/sorbet/rbi/gems/rails-html-sanitizer@1.7.1.rbi +620 -0
  111. data/sorbet/rbi/gems/rails@8.1.3.rbi +9 -0
  112. data/sorbet/rbi/gems/railties@8.1.3.rbi +3507 -0
  113. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +362 -0
  114. data/sorbet/rbi/gems/rake@13.4.2.rbi +3130 -0
  115. data/sorbet/rbi/gems/rbi@0.4.0.rbi +5706 -0
  116. data/sorbet/rbi/gems/rbs@4.0.3.rbi +6908 -0
  117. data/sorbet/rbi/gems/refract@1.1.0.rbi +9 -0
  118. data/sorbet/rbi/gems/reline@0.6.3.rbi +2446 -0
  119. data/sorbet/rbi/gems/require-hooks@0.4.0.rbi +152 -0
  120. data/sorbet/rbi/gems/rexml@3.4.4.rbi +4905 -0
  121. data/sorbet/rbi/gems/rubocop-espago@1.3.0.rbi +9 -0
  122. data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +988 -0
  123. data/sorbet/rbi/gems/rubydex@0.2.9.rbi +841 -0
  124. data/sorbet/rbi/gems/securerandom@0.4.1.rbi +75 -0
  125. data/sorbet/rbi/gems/shoulda-context@2.0.0.rbi +544 -0
  126. data/sorbet/rbi/gems/spoom@1.8.4.rbi +6738 -0
  127. data/sorbet/rbi/gems/tapioca@0.19.2.rbi +3599 -0
  128. data/sorbet/rbi/gems/thor@1.5.0.rbi +3870 -0
  129. data/sorbet/rbi/gems/timeout@0.6.1.rbi +200 -0
  130. data/sorbet/rbi/gems/tsort@0.2.0.rbi +389 -0
  131. data/sorbet/rbi/gems/tzinfo@2.0.6.rbi +5474 -0
  132. data/sorbet/rbi/gems/unicode-display_width@3.2.0.rbi +130 -0
  133. data/sorbet/rbi/gems/unicode-emoji@4.2.0.rbi +332 -0
  134. data/sorbet/rbi/gems/uri@1.1.1.rbi +2402 -0
  135. data/sorbet/rbi/gems/useragent@0.16.11.rbi +9 -0
  136. data/sorbet/rbi/gems/websocket-driver@0.8.2.rbi +9 -0
  137. data/sorbet/rbi/gems/websocket-extensions@0.1.5.rbi +9 -0
  138. data/sorbet/rbi/gems/zeitwerk@2.8.2.rbi +9 -0
  139. data/sorbet/rbi/shims/gems/parser.rbi +12 -0
  140. data/sorbet/rbi/shims/gems/rails.rbi +55 -0
  141. data/sorbet/rbi/shims/gems/refract.rbi +13 -0
  142. data/sorbet/rbi/shims/gems/shoulda-context.rbi +16 -0
  143. data/sorbet/tapioca/compilers/phlex_controller.rb +80 -0
  144. data/sorbet/tapioca/config.yml +26 -0
  145. data/sorbet/tapioca/extensions/load_gem.rb +1 -0
  146. data/sorbet/tapioca/require.rb +4 -0
  147. metadata +266 -0
@@ -0,0 +1,3599 @@
1
+ # typed: false
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `tapioca` gem.
5
+ # Please instead update this file by running `bin/tapioca gem tapioca`.
6
+
7
+
8
+ class Bundler::Dependency < ::Gem::Dependency
9
+ include ::Tapioca::BundlerExt::AutoRequireHook
10
+ end
11
+
12
+ # pkg:gem/tapioca#lib/tapioca/helpers/git_attributes.rb:4
13
+ class GitAttributes
14
+ class << self
15
+ # pkg:gem/tapioca#lib/tapioca/helpers/git_attributes.rb:7
16
+ sig { params(path: ::Pathname).void }
17
+ def create_generated_attribute_file(path); end
18
+
19
+ # pkg:gem/tapioca#lib/tapioca/helpers/git_attributes.rb:14
20
+ sig { params(path: ::Pathname).void }
21
+ def create_vendored_attribute_file(path); end
22
+
23
+ private
24
+
25
+ # pkg:gem/tapioca#lib/tapioca/helpers/git_attributes.rb:23
26
+ sig { params(path: ::Pathname, content: ::String).void }
27
+ def create_gitattributes_file(path, content); end
28
+ end
29
+ end
30
+
31
+ # We need to do the alias-method-chain dance since Bootsnap does the same,
32
+ # and prepended modules and alias-method-chain don't play well together.
33
+ #
34
+ # So, why does Bootsnap do alias-method-chain and not prepend? Glad you asked!
35
+ # That's because RubyGems does alias-method-chain for Kernel#require and such,
36
+ # so, if Bootsnap were to do prepend, it might end up breaking RubyGems.
37
+ #
38
+ # pkg:gem/tapioca#lib/tapioca/runtime/trackers/constant_definition.rb:101
39
+ class Module
40
+ # pkg:gem/tapioca#lib/tapioca/runtime/trackers/mixin.rb:95
41
+ def append_features(constant); end
42
+
43
+ # pkg:gem/tapioca#lib/tapioca/runtime/trackers/autoload.rb:46
44
+ def autoload(const_name, path); end
45
+
46
+ # pkg:gem/tapioca#lib/tapioca/runtime/trackers/constant_definition.rb:103
47
+ def const_added(cname); end
48
+
49
+ # pkg:gem/tapioca#lib/tapioca/runtime/trackers/mixin.rb:105
50
+ def extend_object(obj); end
51
+
52
+ # pkg:gem/tapioca#lib/tapioca/runtime/trackers/mixin.rb:85
53
+ def prepend_features(constant); end
54
+ end
55
+
56
+ # pkg:gem/tapioca#lib/tapioca/rbi_ext/model.rb:4
57
+ module RBI; end
58
+
59
+ # pkg:gem/tapioca#lib/tapioca/rbi_ext/model.rb:5
60
+ class RBI::Tree < ::RBI::NodeWithComments
61
+ # pkg:gem/tapioca#lib/tapioca/rbi_ext/model.rb:30
62
+ sig do
63
+ params(
64
+ name: ::String,
65
+ superclass_name: T.nilable(::String),
66
+ block: T.nilable(T.proc.params(scope: ::RBI::Scope).void)
67
+ ).returns(::RBI::Scope)
68
+ end
69
+ def create_class(name, superclass_name: T.unsafe(nil), &block); end
70
+
71
+ # pkg:gem/tapioca#lib/tapioca/rbi_ext/model.rb:37
72
+ sig { params(name: ::String, value: ::String).void }
73
+ def create_constant(name, value:); end
74
+
75
+ # pkg:gem/tapioca#lib/tapioca/rbi_ext/model.rb:47
76
+ sig { params(name: ::String).void }
77
+ def create_extend(name); end
78
+
79
+ # pkg:gem/tapioca#lib/tapioca/rbi_ext/model.rb:42
80
+ sig { params(name: ::String).void }
81
+ def create_include(name); end
82
+
83
+ # pkg:gem/tapioca#lib/tapioca/rbi_ext/model.rb:63
84
+ sig do
85
+ params(
86
+ name: ::String,
87
+ parameters: T::Array[::RBI::TypedParam],
88
+ return_type: T.nilable(::String),
89
+ class_method: T::Boolean,
90
+ visibility: ::RBI::Visibility,
91
+ comments: T::Array[::RBI::Comment],
92
+ block: T.nilable(T.proc.params(node: ::RBI::Method).void)
93
+ ).void
94
+ end
95
+ def create_method(name, parameters: T.unsafe(nil), return_type: T.unsafe(nil), class_method: T.unsafe(nil), visibility: T.unsafe(nil), comments: T.unsafe(nil), &block); end
96
+
97
+ # pkg:gem/tapioca#lib/tapioca/rbi_ext/model.rb:52
98
+ sig { params(name: ::String).void }
99
+ def create_mixes_in_class_methods(name); end
100
+
101
+ # pkg:gem/tapioca#lib/tapioca/rbi_ext/model.rb:23
102
+ sig { params(name: ::String, block: T.nilable(T.proc.params(scope: ::RBI::Scope).void)).returns(::RBI::Scope) }
103
+ def create_module(name, &block); end
104
+
105
+ # pkg:gem/tapioca#lib/tapioca/rbi_ext/model.rb:7
106
+ sig do
107
+ params(
108
+ constant: T::Module[T.anything],
109
+ block: T.nilable(T.proc.params(scope: ::RBI::Scope).void)
110
+ ).returns(::RBI::Scope)
111
+ end
112
+ def create_path(constant, &block); end
113
+
114
+ # pkg:gem/tapioca#lib/tapioca/rbi_ext/model.rb:57
115
+ sig do
116
+ params(
117
+ name: ::String,
118
+ type: ::String,
119
+ variance: ::Symbol,
120
+ fixed: T.nilable(::String),
121
+ upper: T.nilable(::String),
122
+ lower: T.nilable(::String)
123
+ ).void
124
+ end
125
+ def create_type_variable(name, type:, variance: T.unsafe(nil), fixed: T.unsafe(nil), upper: T.unsafe(nil), lower: T.unsafe(nil)); end
126
+
127
+ private
128
+
129
+ # pkg:gem/tapioca#lib/tapioca/rbi_ext/model.rb:100
130
+ sig { params(node: ::RBI::Node).returns(::RBI::Node) }
131
+ def create_node(node); end
132
+
133
+ # pkg:gem/tapioca#lib/tapioca/rbi_ext/model.rb:95
134
+ sig { returns(T::Hash[::String, ::RBI::Node]) }
135
+ def nodes_cache; end
136
+ end
137
+
138
+ # pkg:gem/tapioca#lib/tapioca/rbi_ext/model.rb:110
139
+ class RBI::TypedParam < ::T::Struct
140
+ const :param, ::RBI::Param
141
+ const :type, ::String
142
+ end
143
+
144
+ # pkg:gem/tapioca#lib/tapioca/sorbet_ext/generic_name_patch.rb:5
145
+ module T::Generic
146
+ # pkg:gem/tapioca#lib/tapioca/sorbet_ext/generic_name_patch.rb:13
147
+ def [](*types); end
148
+
149
+ # pkg:gem/tapioca#lib/tapioca/sorbet_ext/generic_name_patch.rb:47
150
+ def has_attached_class!(variance = T.unsafe(nil), &bounds_proc); end
151
+
152
+ # pkg:gem/tapioca#lib/tapioca/sorbet_ext/generic_name_patch.rb:21
153
+ def type_member(variance = T.unsafe(nil), &bounds_proc); end
154
+
155
+ # pkg:gem/tapioca#lib/tapioca/sorbet_ext/generic_name_patch.rb:34
156
+ def type_template(variance = T.unsafe(nil), &bounds_proc); end
157
+ end
158
+
159
+ # This module intercepts calls to generic type instantiations and type variable definitions.
160
+ # Tapioca stores the data from those calls in a `GenericTypeRegistry` which can then be used
161
+ # to look up the original call details when we are trying to do code generation.
162
+ #
163
+ # We are interested in the data of the `[]`, `type_member` and `type_template` calls which
164
+ # are all needed to generate good generic information at runtime.
165
+ #
166
+ # pkg:gem/tapioca#lib/tapioca/sorbet_ext/generic_name_patch.rb:12
167
+ module T::Generic::TypeStoragePatch
168
+ # pkg:gem/tapioca#lib/tapioca/sorbet_ext/generic_name_patch.rb:13
169
+ def [](*types); end
170
+
171
+ # pkg:gem/tapioca#lib/tapioca/sorbet_ext/generic_name_patch.rb:47
172
+ def has_attached_class!(variance = T.unsafe(nil), &bounds_proc); end
173
+
174
+ # pkg:gem/tapioca#lib/tapioca/sorbet_ext/generic_name_patch.rb:21
175
+ def type_member(variance = T.unsafe(nil), &bounds_proc); end
176
+
177
+ # pkg:gem/tapioca#lib/tapioca/sorbet_ext/generic_name_patch.rb:34
178
+ def type_template(variance = T.unsafe(nil), &bounds_proc); end
179
+ end
180
+
181
+ # pkg:gem/tapioca#lib/tapioca/runtime/trackers/required_ancestor.rb:52
182
+ module T::Helpers
183
+ # pkg:gem/tapioca#lib/tapioca/runtime/trackers/required_ancestor.rb:54
184
+ def requires_ancestor(&block); end
185
+ end
186
+
187
+ # pkg:gem/tapioca#lib/tapioca/sorbet_ext/generic_type_patch.rb:28
188
+ module T::Private::Casts
189
+ class << self
190
+ # pkg:gem/tapioca#lib/tapioca/sorbet_ext/generic_type_patch.rb:34
191
+ def cast(value, type, cast_method); end
192
+ end
193
+ end
194
+
195
+ # pkg:gem/tapioca#lib/tapioca/sorbet_ext/generic_type_patch.rb:29
196
+ module T::Private::Casts::TapiocaGenericTypeCastPatch
197
+ # https://github.com/sorbet/sorbet/commit/b8d64c7fd9a08e2b9159b5d592bc2de6d586b44a
198
+ # inlines the Module fast path in `T.let`, `T.cast`, `T.bind`, and
199
+ # `T.assert_type!`, so generic module clones can reach this cast path
200
+ # without going through `T::Utils::Private::TapiocaGenericTypeCoercePatch`.
201
+ #
202
+ # pkg:gem/tapioca#lib/tapioca/sorbet_ext/generic_type_patch.rb:34
203
+ def cast(value, type, cast_method); end
204
+ end
205
+
206
+ # pkg:gem/tapioca#lib/tapioca/sorbet_ext/proc_bind_patch.rb:28
207
+ module T::Private::Methods
208
+ class << self
209
+ # pkg:gem/tapioca#lib/tapioca/sorbet_ext/proc_bind_patch.rb:30
210
+ def finalize_proc(decl); end
211
+ end
212
+ end
213
+
214
+ # pkg:gem/tapioca#lib/tapioca/sorbet_ext/proc_bind_patch.rb:29
215
+ module T::Private::Methods::ProcBindPatch
216
+ # pkg:gem/tapioca#lib/tapioca/sorbet_ext/proc_bind_patch.rb:30
217
+ def finalize_proc(decl); end
218
+ end
219
+
220
+ class T::Types::Proc < ::T::Types::Base
221
+ # pkg:gem/tapioca#lib/tapioca/sorbet_ext/proc_bind_patch.rb:7
222
+ def initialize(arg_types, returns, bind = T.unsafe(nil)); end
223
+
224
+ # pkg:gem/tapioca#lib/tapioca/sorbet_ext/proc_bind_patch.rb:15
225
+ def name; end
226
+ end
227
+
228
+ # pkg:gem/tapioca#lib/tapioca/sorbet_ext/proc_bind_patch.rb:6
229
+ module T::Types::ProcBindPatch
230
+ # pkg:gem/tapioca#lib/tapioca/sorbet_ext/proc_bind_patch.rb:7
231
+ def initialize(arg_types, returns, bind = T.unsafe(nil)); end
232
+
233
+ # pkg:gem/tapioca#lib/tapioca/sorbet_ext/proc_bind_patch.rb:15
234
+ def name; end
235
+ end
236
+
237
+ # pkg:gem/tapioca#lib/tapioca/sorbet_ext/name_patch.rb:6
238
+ class T::Types::Simple < ::T::Types::Base
239
+ # pkg:gem/tapioca#lib/tapioca/sorbet_ext/generic_name_patch.rb:70
240
+ def name; end
241
+ end
242
+
243
+ # pkg:gem/tapioca#lib/tapioca/sorbet_ext/generic_name_patch.rb:65
244
+ module T::Types::Simple::GenericPatch
245
+ # This method intercepts calls to the `name` method for simple types, so that
246
+ # it can ask the name to the type if the type is generic, since, by this point,
247
+ # we've created a clone of that type with the `name` method returning the
248
+ # appropriate name for that specific concrete type.
249
+ #
250
+ # pkg:gem/tapioca#lib/tapioca/sorbet_ext/generic_name_patch.rb:70
251
+ def name; end
252
+ end
253
+
254
+ # pkg:gem/tapioca#lib/tapioca/sorbet_ext/name_patch.rb:7
255
+ module T::Types::Simple::NamePatch
256
+ # pkg:gem/tapioca#lib/tapioca/sorbet_ext/name_patch.rb:8
257
+ def name; end
258
+ end
259
+
260
+ # pkg:gem/tapioca#lib/tapioca/sorbet_ext/generic_type_patch.rb:6
261
+ module T::Utils::Private
262
+ class << self
263
+ # pkg:gem/tapioca#lib/tapioca/sorbet_ext/generic_type_patch.rb:10
264
+ def coerce_and_check_module_types(val, check_val, check_module_type); end
265
+ end
266
+ end
267
+
268
+ # Preserve Tapioca's generic type variables and instantiated generic
269
+ # names when Sorbet coerces them into runtime types.
270
+ #
271
+ # pkg:gem/tapioca#lib/tapioca/sorbet_ext/generic_type_patch.rb:9
272
+ module T::Utils::Private::TapiocaGenericTypeCoercePatch
273
+ # pkg:gem/tapioca#lib/tapioca/sorbet_ext/generic_type_patch.rb:10
274
+ def coerce_and_check_module_types(val, check_val, check_module_type); end
275
+ end
276
+
277
+ # A package URL, or _purl_, is a URL string used to
278
+ # identify and locate a software package in a mostly universal and uniform way
279
+ # across programing languages, package managers, packaging conventions, tools,
280
+ # APIs and databases.
281
+ #
282
+ # A purl is a URL composed of seven components:
283
+ #
284
+ # ```
285
+ # scheme:type/namespace/name@version?qualifiers#subpath
286
+ # ```
287
+ #
288
+ # For example,
289
+ # the package URL for this Ruby package at version 0.1.0 is
290
+ # `pkg:ruby/mattt/packageurl-ruby@0.1.0`.
291
+ # This code rewrites RBS comments back into Sorbet's signatures as the files are being loaded.
292
+ # This will allow `sorbet-runtime` to wrap the methods as if they were originally written with the `sig{}` blocks.
293
+ # This will in turn allow Tapioca to use this signatures to generate typed RBI files.
294
+ #
295
+ # pkg:gem/tapioca#lib/tapioca/runtime/trackers/autoload.rb:4
296
+ module Tapioca; end
297
+
298
+ # pkg:gem/tapioca#lib/tapioca.rb:18
299
+ Tapioca::BINARY_FILE = T.let(T.unsafe(nil), String)
300
+
301
+ # pkg:gem/tapioca#lib/tapioca/bundler_ext/auto_require_hook.rb:5
302
+ module Tapioca::BundlerExt; end
303
+
304
+ # This is a module that gets prepended to `Bundler::Dependency` and
305
+ # makes sure even gems marked as `require: false` are required during
306
+ # `Bundler.require`.
307
+ #
308
+ # pkg:gem/tapioca#lib/tapioca/bundler_ext/auto_require_hook.rb:9
309
+ module Tapioca::BundlerExt::AutoRequireHook
310
+ requires_ancestor { Bundler::Dependency }
311
+
312
+ # pkg:gem/tapioca#lib/tapioca/bundler_ext/auto_require_hook.rb:38
313
+ sig { returns(T.untyped) }
314
+ def autorequire; end
315
+
316
+ class << self
317
+ # pkg:gem/tapioca#lib/tapioca/bundler_ext/auto_require_hook.rb:23
318
+ def enabled?; end
319
+
320
+ # pkg:gem/tapioca#lib/tapioca/bundler_ext/auto_require_hook.rb:19
321
+ sig { params(name: T.untyped).returns(T::Boolean) }
322
+ def excluded?(name); end
323
+
324
+ # pkg:gem/tapioca#lib/tapioca/bundler_ext/auto_require_hook.rb:28
325
+ sig do
326
+ type_parameters(:Result)
327
+ .params(
328
+ exclude: T::Array[::String],
329
+ blk: T.proc.returns(T.type_parameter(:Result))
330
+ ).returns(T.type_parameter(:Result))
331
+ end
332
+ def override_require_false(exclude:, &blk); end
333
+ end
334
+ end
335
+
336
+ # pkg:gem/tapioca#lib/tapioca.rb:38
337
+ Tapioca::CENTRAL_REPO_ANNOTATIONS_DIR = T.let(T.unsafe(nil), String)
338
+
339
+ # pkg:gem/tapioca#lib/tapioca.rb:37
340
+ Tapioca::CENTRAL_REPO_INDEX_PATH = T.let(T.unsafe(nil), String)
341
+
342
+ # pkg:gem/tapioca#lib/tapioca.rb:36
343
+ Tapioca::CENTRAL_REPO_ROOT_URI = T.let(T.unsafe(nil), String)
344
+
345
+ # pkg:gem/tapioca#lib/tapioca/cli.rb:5
346
+ class Tapioca::Cli < ::Thor
347
+ include ::Tapioca::CliHelper
348
+ include ::Tapioca::ConfigHelper
349
+ include ::Tapioca::EnvHelper
350
+
351
+ # pkg:gem/tapioca#lib/tapioca/cli.rb:383
352
+ def __print_version; end
353
+
354
+ # pkg:gem/tapioca#lib/tapioca/cli.rb:365
355
+ def annotations; end
356
+
357
+ # pkg:gem/tapioca#lib/tapioca/cli.rb:337
358
+ def check_shims; end
359
+
360
+ # pkg:gem/tapioca#lib/tapioca/cli.rb:46
361
+ def configure; end
362
+
363
+ # pkg:gem/tapioca#lib/tapioca/cli.rb:150
364
+ def dsl(*constant_or_paths); end
365
+
366
+ # pkg:gem/tapioca#lib/tapioca/cli.rb:279
367
+ def gem(*gems); end
368
+
369
+ # pkg:gem/tapioca#lib/tapioca/cli.rb:27
370
+ def init; end
371
+
372
+ # pkg:gem/tapioca#lib/tapioca/cli.rb:57
373
+ def require; end
374
+
375
+ # pkg:gem/tapioca#lib/tapioca/cli.rb:74
376
+ def todo; end
377
+
378
+ private
379
+
380
+ # pkg:gem/tapioca#lib/tapioca/cli.rb:408
381
+ def print_init_next_steps; end
382
+
383
+ class << self
384
+ # Indicates that we are running from the LSP, set using the `addon_mode!` method
385
+ #
386
+ # pkg:gem/tapioca#lib/tapioca/cli.rb:392
387
+ def addon_mode; end
388
+
389
+ # pkg:gem/tapioca#lib/tapioca/cli.rb:395
390
+ sig { void }
391
+ def addon_mode!; end
392
+
393
+ # pkg:gem/tapioca#lib/tapioca/cli.rb:400
394
+ sig { returns(T::Boolean) }
395
+ def exit_on_failure?; end
396
+ end
397
+ end
398
+
399
+ # pkg:gem/tapioca#lib/tapioca/cli.rb:10
400
+ Tapioca::Cli::FILE_HEADER_OPTION_DESC = T.let(T.unsafe(nil), String)
401
+
402
+ # pkg:gem/tapioca#lib/tapioca/helpers/cli_helper.rb:5
403
+ module Tapioca::CliHelper
404
+ requires_ancestor { Thor::Shell }
405
+
406
+ # pkg:gem/tapioca#lib/tapioca/helpers/cli_helper.rb:32
407
+ sig { params(options: T::Hash[::Symbol, T.untyped]).returns(T.nilable(::String)) }
408
+ def netrc_file(options); end
409
+
410
+ # pkg:gem/tapioca#lib/tapioca/helpers/cli_helper.rb:25
411
+ sig { params(options: T::Hash[::Symbol, T.untyped]).returns(::Tapioca::RBIFormatter) }
412
+ def rbi_formatter(options); end
413
+
414
+ # pkg:gem/tapioca#lib/tapioca/helpers/cli_helper.rb:11
415
+ sig { params(message: ::String, color: T.any(::Symbol, T::Array[::Symbol])).void }
416
+ def say_error(message = T.unsafe(nil), *color); end
417
+ end
418
+
419
+ # pkg:gem/tapioca#lib/tapioca/commands.rb:5
420
+ module Tapioca::Commands; end
421
+
422
+ # @abstract
423
+ #
424
+ # pkg:gem/tapioca#lib/tapioca/commands/abstract_dsl.rb:6
425
+ class Tapioca::Commands::AbstractDsl < ::Tapioca::Commands::CommandWithoutTracker
426
+ include ::Tapioca::SorbetHelper
427
+ include ::Tapioca::RBIFilesHelper
428
+
429
+ abstract!
430
+
431
+ # pkg:gem/tapioca#lib/tapioca/commands/abstract_dsl.rb:15
432
+ sig do
433
+ params(
434
+ requested_constants: T::Array[::String],
435
+ requested_paths: T::Array[::Pathname],
436
+ outpath: ::Pathname,
437
+ only: T::Array[::String],
438
+ exclude: T::Array[::String],
439
+ file_header: T::Boolean,
440
+ tapioca_path: ::String,
441
+ skip_constant: T::Array[::String],
442
+ quiet: T::Boolean,
443
+ verbose: T::Boolean,
444
+ number_of_workers: T.nilable(::Integer),
445
+ auto_strictness: T::Boolean,
446
+ gem_dir: ::String,
447
+ rbi_formatter: ::Tapioca::RBIFormatter,
448
+ app_root: ::String,
449
+ halt_upon_load_error: T::Boolean,
450
+ compiler_options: T::Hash[::String, T.untyped],
451
+ lsp_addon: T::Boolean
452
+ ).void
453
+ end
454
+ def initialize(requested_constants:, requested_paths:, outpath:, only:, exclude:, file_header:, tapioca_path:, skip_constant: 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), app_root: T.unsafe(nil), halt_upon_load_error: T.unsafe(nil), compiler_options: T.unsafe(nil), lsp_addon: T.unsafe(nil)); end
455
+
456
+ private
457
+
458
+ # pkg:gem/tapioca#lib/tapioca/commands/abstract_dsl.rb:93
459
+ sig { returns(T::Array[::String]) }
460
+ def all_requested_constants; end
461
+
462
+ # pkg:gem/tapioca#lib/tapioca/commands/abstract_dsl.rb:289
463
+ sig { params(cause: ::Symbol, files: T::Array[::String]).returns(::String) }
464
+ def build_error_for_files(cause, files); end
465
+
466
+ # pkg:gem/tapioca#lib/tapioca/commands/abstract_dsl.rb:213
467
+ sig do
468
+ params(
469
+ constant_name: ::String,
470
+ rbi: ::RBI::File,
471
+ outpath: ::Pathname,
472
+ quiet: T::Boolean
473
+ ).returns(T.nilable(::Pathname))
474
+ end
475
+ def compile_dsl_rbi(constant_name, rbi, outpath: T.unsafe(nil), quiet: T.unsafe(nil)); end
476
+
477
+ # pkg:gem/tapioca#lib/tapioca/commands/abstract_dsl.rb:155
478
+ sig do
479
+ params(
480
+ constant_names: T::Array[::String],
481
+ ignore_missing: T::Boolean
482
+ ).returns(T::Array[T::Module[T.anything]])
483
+ end
484
+ def constantize(constant_names, ignore_missing: T.unsafe(nil)); end
485
+
486
+ # pkg:gem/tapioca#lib/tapioca/commands/abstract_dsl.rb:180
487
+ sig { params(compiler_names: T::Array[::String]).returns(T::Array[T.class_of(Tapioca::Dsl::Compiler)]) }
488
+ def constantize_compilers(compiler_names); end
489
+
490
+ # pkg:gem/tapioca#lib/tapioca/commands/abstract_dsl.rb:349
491
+ sig { returns(T::Array[::String]) }
492
+ def constants_from_requested_paths; end
493
+
494
+ # pkg:gem/tapioca#lib/tapioca/commands/abstract_dsl.rb:116
495
+ sig { returns(::Tapioca::Dsl::Pipeline) }
496
+ def create_pipeline; end
497
+
498
+ # pkg:gem/tapioca#lib/tapioca/commands/abstract_dsl.rb:252
499
+ sig { params(constant_name: ::String).returns(::Pathname) }
500
+ def dsl_rbi_filename(constant_name); end
501
+
502
+ # pkg:gem/tapioca#lib/tapioca/commands/abstract_dsl.rb:141
503
+ sig { params(requested_constants: T::Array[::String], path: ::Pathname).returns(T::Set[::Pathname]) }
504
+ def existing_rbi_filenames(requested_constants, path: T.unsafe(nil)); end
505
+
506
+ # pkg:gem/tapioca#lib/tapioca/commands/abstract_dsl.rb:344
507
+ sig { params(constant: ::String).returns(::String) }
508
+ def generate_command_for(constant); end
509
+
510
+ # pkg:gem/tapioca#lib/tapioca/commands/abstract_dsl.rb:60
511
+ sig { params(outpath: ::Pathname, quiet: T::Boolean).returns(T::Set[::Pathname]) }
512
+ def generate_dsl_rbi_files(outpath, quiet:); end
513
+
514
+ # pkg:gem/tapioca#lib/tapioca/commands/abstract_dsl.rb:103
515
+ sig { void }
516
+ def load_application; end
517
+
518
+ # pkg:gem/tapioca#lib/tapioca/commands/abstract_dsl.rb:231
519
+ sig { params(dir: ::Pathname).void }
520
+ def perform_dsl_verification(dir); end
521
+
522
+ # pkg:gem/tapioca#lib/tapioca/commands/abstract_dsl.rb:98
523
+ sig { returns(::Tapioca::Dsl::Pipeline) }
524
+ def pipeline; end
525
+
526
+ # pkg:gem/tapioca#lib/tapioca/commands/abstract_dsl.rb:240
527
+ sig { params(files: T::Set[::Pathname]).void }
528
+ def purge_stale_dsl_rbi_files(files); end
529
+
530
+ # pkg:gem/tapioca#lib/tapioca/commands/abstract_dsl.rb:339
531
+ sig { params(constant: ::String).returns(::String) }
532
+ def rbi_filename_for(constant); end
533
+
534
+ # pkg:gem/tapioca#lib/tapioca/commands/abstract_dsl.rb:320
535
+ sig { params(path: ::Pathname).returns(T::Array[::Pathname]) }
536
+ def rbi_files_in(path); end
537
+
538
+ # pkg:gem/tapioca#lib/tapioca/commands/abstract_dsl.rb:298
539
+ sig { params(diff: T::Hash[::String, ::Symbol], command: ::Symbol).void }
540
+ def report_diff_and_exit_if_out_of_date(diff, command); end
541
+
542
+ # pkg:gem/tapioca#lib/tapioca/commands/abstract_dsl.rb:200
543
+ sig { params(name: ::String).returns(T.nilable(T.class_of(Tapioca::Dsl::Compiler))) }
544
+ def resolve(name); end
545
+
546
+ # pkg:gem/tapioca#lib/tapioca/commands/abstract_dsl.rb:327
547
+ sig { params(class_name: ::String).returns(::String) }
548
+ def underscore(class_name); end
549
+
550
+ # pkg:gem/tapioca#lib/tapioca/commands/abstract_dsl.rb:257
551
+ sig { params(tmp_dir: ::Pathname).returns(T::Hash[::String, ::Symbol]) }
552
+ def verify_dsl_rbi(tmp_dir:); end
553
+ end
554
+
555
+ # @abstract
556
+ #
557
+ # pkg:gem/tapioca#lib/tapioca/commands/abstract_gem.rb:6
558
+ class Tapioca::Commands::AbstractGem < ::Tapioca::Commands::Command
559
+ include ::Tapioca::SorbetHelper
560
+ include ::Tapioca::RBIFilesHelper
561
+
562
+ abstract!
563
+
564
+ # pkg:gem/tapioca#lib/tapioca/commands/abstract_gem.rb:15
565
+ sig do
566
+ params(
567
+ gem_names: T::Array[::String],
568
+ exclude: T::Array[::String],
569
+ include_dependencies: T::Boolean,
570
+ prerequire: T.nilable(::String),
571
+ postrequire: ::String,
572
+ typed_overrides: T::Hash[::String, ::String],
573
+ outpath: ::Pathname,
574
+ file_header: T::Boolean,
575
+ include_doc: T::Boolean,
576
+ include_loc: T::Boolean,
577
+ include_exported_rbis: T::Boolean,
578
+ number_of_workers: T.nilable(::Integer),
579
+ auto_strictness: T::Boolean,
580
+ dsl_dir: ::String,
581
+ rbi_formatter: ::Tapioca::RBIFormatter,
582
+ halt_upon_load_error: T::Boolean,
583
+ lsp_addon: T.nilable(T::Boolean),
584
+ verbose: T.nilable(T::Boolean)
585
+ ).void
586
+ end
587
+ def initialize(gem_names:, exclude:, include_dependencies:, 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), halt_upon_load_error: T.unsafe(nil), lsp_addon: T.unsafe(nil), verbose: T.unsafe(nil)); end
588
+
589
+ private
590
+
591
+ # pkg:gem/tapioca#lib/tapioca/commands/abstract_gem.rb:185
592
+ sig { returns(T::Array[::String]) }
593
+ def added_rbis; end
594
+
595
+ # pkg:gem/tapioca#lib/tapioca/commands/abstract_gem.rb:246
596
+ sig { params(cause: ::Symbol, files: T::Array[::String]).returns(::String) }
597
+ def build_error_for_files(cause, files); end
598
+
599
+ # pkg:gem/tapioca#lib/tapioca/commands/abstract_gem.rb:64
600
+ sig { params(gem: ::Tapioca::Gemfile::GemSpec).void }
601
+ def compile_gem_rbi(gem); end
602
+
603
+ # pkg:gem/tapioca#lib/tapioca/commands/abstract_gem.rb:180
604
+ sig { params(gem_name: ::String).returns(::Pathname) }
605
+ def existing_rbi(gem_name); end
606
+
607
+ # pkg:gem/tapioca#lib/tapioca/commands/abstract_gem.rb:228
608
+ sig { returns(T::Hash[::String, ::String]) }
609
+ def existing_rbis; end
610
+
611
+ # pkg:gem/tapioca#lib/tapioca/commands/abstract_gem.rb:192
612
+ sig { params(gem_name: ::String).returns(::Pathname) }
613
+ def expected_rbi(gem_name); end
614
+
615
+ # pkg:gem/tapioca#lib/tapioca/commands/abstract_gem.rb:234
616
+ sig { returns(T::Hash[::String, ::String]) }
617
+ def expected_rbis; end
618
+
619
+ # pkg:gem/tapioca#lib/tapioca/commands/abstract_gem.rb:197
620
+ sig { params(gem_name: ::String).returns(T::Boolean) }
621
+ def gem_rbi_exists?(gem_name); end
622
+
623
+ # pkg:gem/tapioca#lib/tapioca/commands/abstract_gem.rb:241
624
+ sig { params(gem_name: ::String, version: ::String).returns(::Pathname) }
625
+ def gem_rbi_filename(gem_name, version); end
626
+
627
+ # pkg:gem/tapioca#lib/tapioca/commands/abstract_gem.rb:251
628
+ sig { params(gem: ::Tapioca::Gemfile::GemSpec, file: ::RBI::File).void }
629
+ def merge_with_exported_rbi(gem, file); end
630
+
631
+ # pkg:gem/tapioca#lib/tapioca/commands/abstract_gem.rb:222
632
+ sig { params(old_filename: ::Pathname, new_filename: ::Pathname).void }
633
+ def move(old_filename, new_filename); end
634
+
635
+ # pkg:gem/tapioca#lib/tapioca/commands/abstract_gem.rb:132
636
+ sig { void }
637
+ def perform_additions; end
638
+
639
+ # pkg:gem/tapioca#lib/tapioca/commands/abstract_gem.rb:105
640
+ sig { void }
641
+ def perform_removals; end
642
+
643
+ # pkg:gem/tapioca#lib/tapioca/commands/abstract_gem.rb:175
644
+ sig { returns(T::Array[::String]) }
645
+ def removed_rbis; end
646
+
647
+ # pkg:gem/tapioca#lib/tapioca/commands/abstract_gem.rb:202
648
+ sig { params(diff: T::Hash[::String, ::Symbol], command: ::Symbol).void }
649
+ def report_diff_and_exit_if_out_of_date(diff, command); end
650
+ end
651
+
652
+ # pkg:gem/tapioca#lib/tapioca/commands/annotations.rb:6
653
+ class Tapioca::Commands::Annotations < ::Tapioca::Commands::CommandWithoutTracker
654
+ # pkg:gem/tapioca#lib/tapioca/commands/annotations.rb:8
655
+ sig do
656
+ params(
657
+ central_repo_root_uris: T::Array[::String],
658
+ auth: T.nilable(::String),
659
+ netrc_file: T.nilable(::String),
660
+ central_repo_index_path: ::String,
661
+ typed_overrides: T::Hash[::String, ::String]
662
+ ).void
663
+ end
664
+ 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
665
+
666
+ private
667
+
668
+ # pkg:gem/tapioca#lib/tapioca/commands/annotations.rb:190
669
+ sig { params(name: ::String, content: ::String).returns(::String) }
670
+ def add_header(name, content); end
671
+
672
+ # pkg:gem/tapioca#lib/tapioca/commands/annotations.rb:210
673
+ sig { params(name: ::String, content: ::String).returns(::String) }
674
+ def apply_typed_override(name, content); end
675
+
676
+ # @override
677
+ #
678
+ # pkg:gem/tapioca#lib/tapioca/commands/annotations.rb:30
679
+ sig { override.void }
680
+ def execute; end
681
+
682
+ # pkg:gem/tapioca#lib/tapioca/commands/annotations.rb:128
683
+ sig { params(repo_uris: T::Array[::String], gem_info: ::Tapioca::GemInfo).returns(T::Boolean) }
684
+ def fetch_annotation(repo_uris, gem_info); end
685
+
686
+ # pkg:gem/tapioca#lib/tapioca/commands/annotations.rb:105
687
+ sig { params(project_gems: T::Array[::Tapioca::GemInfo]).returns(T::Array[::String]) }
688
+ def fetch_annotations(project_gems); end
689
+
690
+ # pkg:gem/tapioca#lib/tapioca/commands/annotations.rb:149
691
+ sig { params(repo_uri: ::String, path: ::String).returns(T.nilable(::String)) }
692
+ def fetch_file(repo_uri, path); end
693
+
694
+ # pkg:gem/tapioca#lib/tapioca/commands/annotations.rb:166
695
+ sig { params(repo_uri: ::String, path: ::String).returns(T.nilable(::String)) }
696
+ def fetch_http_file(repo_uri, path); end
697
+
698
+ # pkg:gem/tapioca#lib/tapioca/commands/annotations.rb:94
699
+ sig { params(repo_uri: ::String, repo_number: T.nilable(::Integer)).returns(T.nilable(::Tapioca::RepoIndex)) }
700
+ def fetch_index(repo_uri, repo_number:); end
701
+
702
+ # pkg:gem/tapioca#lib/tapioca/commands/annotations.rb:73
703
+ sig { returns(T::Hash[::String, ::Tapioca::RepoIndex]) }
704
+ def fetch_indexes; end
705
+
706
+ # pkg:gem/tapioca#lib/tapioca/commands/annotations.rb:158
707
+ sig { params(repo_uri: ::String, path: ::String).returns(T.nilable(::String)) }
708
+ def fetch_local_file(repo_uri, path); end
709
+
710
+ # pkg:gem/tapioca#lib/tapioca/commands/annotations.rb:222
711
+ sig { params(gem_version: ::Gem::Version, content: ::String).returns(::String) }
712
+ def filter_versions(gem_version, content); end
713
+
714
+ # pkg:gem/tapioca#lib/tapioca/commands/annotations.rb:41
715
+ sig { returns(T::Array[::Tapioca::GemInfo]) }
716
+ def list_gemfile_gems; end
717
+
718
+ # pkg:gem/tapioca#lib/tapioca/commands/annotations.rb:230
719
+ sig { params(gem_name: ::String, contents: T::Array[::String]).returns(T.nilable(::String)) }
720
+ def merge_files(gem_name, contents); end
721
+
722
+ # pkg:gem/tapioca#lib/tapioca/commands/annotations.rb:52
723
+ sig { params(project_gems: T::Array[::Tapioca::GemInfo]).void }
724
+ def remove_expired_annotations(project_gems); end
725
+
726
+ # pkg:gem/tapioca#lib/tapioca/commands/annotations.rb:257
727
+ sig { returns(T::Hash[::String, T.nilable(::String)]) }
728
+ def repo_tokens; end
729
+
730
+ # pkg:gem/tapioca#lib/tapioca/commands/annotations.rb:285
731
+ sig { params(path: ::String, repo_uri: ::String, message: ::String).void }
732
+ def say_http_error(path, repo_uri, message:); end
733
+
734
+ # pkg:gem/tapioca#lib/tapioca/commands/annotations.rb:269
735
+ sig { params(repo_uri: ::String).returns(T.nilable(::String)) }
736
+ def token_for(repo_uri); end
737
+ end
738
+
739
+ # pkg:gem/tapioca#lib/tapioca/commands/check_shims.rb:6
740
+ class Tapioca::Commands::CheckShims < ::Tapioca::Commands::CommandWithoutTracker
741
+ include ::Tapioca::SorbetHelper
742
+ include ::Tapioca::RBIFilesHelper
743
+
744
+ # pkg:gem/tapioca#lib/tapioca/commands/check_shims.rb:11
745
+ sig do
746
+ params(
747
+ gem_rbi_dir: ::String,
748
+ dsl_rbi_dir: ::String,
749
+ annotations_rbi_dir: ::String,
750
+ shim_rbi_dir: ::String,
751
+ todo_rbi_file: ::String,
752
+ payload: T::Boolean,
753
+ number_of_workers: T.nilable(::Integer)
754
+ ).void
755
+ end
756
+ def initialize(gem_rbi_dir:, dsl_rbi_dir:, annotations_rbi_dir:, shim_rbi_dir:, todo_rbi_file:, payload:, number_of_workers:); end
757
+
758
+ private
759
+
760
+ # @override
761
+ #
762
+ # pkg:gem/tapioca#lib/tapioca/commands/check_shims.rb:34
763
+ sig { override.void }
764
+ def execute; end
765
+ end
766
+
767
+ # @abstract
768
+ #
769
+ # pkg:gem/tapioca#lib/tapioca/commands/command.rb:6
770
+ class Tapioca::Commands::Command
771
+ include ::Thor::Base
772
+ include ::Thor::Invocation
773
+ include ::Thor::Shell
774
+ include ::Tapioca::CliHelper
775
+ extend ::Thor::Base::ClassMethods
776
+ extend ::Thor::Invocation::ClassMethods
777
+
778
+ abstract!
779
+
780
+ # pkg:gem/tapioca#lib/tapioca/commands/command.rb:19
781
+ sig { void }
782
+ def initialize; end
783
+
784
+ # pkg:gem/tapioca#lib/tapioca/commands/command.rb:43
785
+ sig { returns(::Thor::Actions) }
786
+ def file_writer; end
787
+
788
+ # @final
789
+ #
790
+ # pkg:gem/tapioca#lib/tapioca/commands/command.rb:25
791
+ sig(:final) { void }
792
+ def run; end
793
+
794
+ private
795
+
796
+ # pkg:gem/tapioca#lib/tapioca/commands/command.rb:46
797
+ sig do
798
+ params(
799
+ path: T.any(::Pathname, ::String),
800
+ content: ::String,
801
+ force: T::Boolean,
802
+ skip: T::Boolean,
803
+ verbose: T::Boolean
804
+ ).void
805
+ end
806
+ def create_file(path, content, force: T.unsafe(nil), skip: T.unsafe(nil), verbose: T.unsafe(nil)); end
807
+
808
+ # pkg:gem/tapioca#lib/tapioca/commands/command.rb:38
809
+ sig { params(command: ::Symbol, args: ::String).returns(::String) }
810
+ def default_command(command, *args); end
811
+
812
+ # @abstract
813
+ #
814
+ # pkg:gem/tapioca#lib/tapioca/commands/command.rb:35
815
+ sig { abstract.void }
816
+ def execute; end
817
+
818
+ # pkg:gem/tapioca#lib/tapioca/commands/command.rb:51
819
+ sig { params(path: T.any(::Pathname, ::String), verbose: T::Boolean).void }
820
+ def remove_file(path, verbose: T.unsafe(nil)); end
821
+ end
822
+
823
+ # pkg:gem/tapioca#lib/tapioca/commands/command.rb:11
824
+ class Tapioca::Commands::Command::FileWriter < ::Thor
825
+ include ::Thor::Actions
826
+ extend ::Thor::Actions::ClassMethods
827
+ end
828
+
829
+ # @abstract
830
+ #
831
+ # pkg:gem/tapioca#lib/tapioca/commands/command_without_tracker.rb:6
832
+ class Tapioca::Commands::CommandWithoutTracker < ::Tapioca::Commands::Command
833
+ abstract!
834
+
835
+ # pkg:gem/tapioca#lib/tapioca/commands/command_without_tracker.rb:12
836
+ sig { void }
837
+ def initialize; end
838
+ end
839
+
840
+ # pkg:gem/tapioca#lib/tapioca/commands/configure.rb:6
841
+ class Tapioca::Commands::Configure < ::Tapioca::Commands::CommandWithoutTracker
842
+ # pkg:gem/tapioca#lib/tapioca/commands/configure.rb:8
843
+ sig { params(sorbet_config: ::String, tapioca_config: ::String, default_postrequire: ::String).void }
844
+ def initialize(sorbet_config:, tapioca_config:, default_postrequire:); end
845
+
846
+ private
847
+
848
+ # pkg:gem/tapioca#lib/tapioca/commands/configure.rb:75
849
+ sig { void }
850
+ def create_binstub; end
851
+
852
+ # pkg:gem/tapioca#lib/tapioca/commands/configure.rb:65
853
+ sig { void }
854
+ def create_post_require; end
855
+
856
+ # pkg:gem/tapioca#lib/tapioca/commands/configure.rb:35
857
+ sig { void }
858
+ def create_sorbet_config; end
859
+
860
+ # pkg:gem/tapioca#lib/tapioca/commands/configure.rb:46
861
+ sig { void }
862
+ def create_tapioca_config; end
863
+
864
+ # @override
865
+ #
866
+ # pkg:gem/tapioca#lib/tapioca/commands/configure.rb:27
867
+ sig { override.void }
868
+ def execute; end
869
+
870
+ # pkg:gem/tapioca#lib/tapioca/commands/configure.rb:88
871
+ sig { returns(::Bundler::Installer) }
872
+ def installer; end
873
+
874
+ # pkg:gem/tapioca#lib/tapioca/commands/configure.rb:93
875
+ sig { returns(T.any(::Bundler::StubSpecification, ::Gem::Specification)) }
876
+ def spec; end
877
+ end
878
+
879
+ # pkg:gem/tapioca#lib/tapioca/commands/dsl_compiler_list.rb:6
880
+ class Tapioca::Commands::DslCompilerList < ::Tapioca::Commands::AbstractDsl
881
+ private
882
+
883
+ # @override
884
+ #
885
+ # pkg:gem/tapioca#lib/tapioca/commands/dsl_compiler_list.rb:11
886
+ sig { override.void }
887
+ def execute; end
888
+ end
889
+
890
+ # pkg:gem/tapioca#lib/tapioca/commands/dsl_generate.rb:6
891
+ class Tapioca::Commands::DslGenerate < ::Tapioca::Commands::AbstractDsl
892
+ # pkg:gem/tapioca#lib/tapioca/commands/dsl_generate.rb:8
893
+ sig { params(only_bootsnap_rbs_cache: T::Boolean, kwargs: T.untyped).void }
894
+ def initialize(only_bootsnap_rbs_cache: T.unsafe(nil), **kwargs); end
895
+
896
+ private
897
+
898
+ # @override
899
+ #
900
+ # pkg:gem/tapioca#lib/tapioca/commands/dsl_generate.rb:17
901
+ sig { override.void }
902
+ def execute; end
903
+ end
904
+
905
+ # pkg:gem/tapioca#lib/tapioca/commands/dsl_verify.rb:6
906
+ class Tapioca::Commands::DslVerify < ::Tapioca::Commands::AbstractDsl
907
+ private
908
+
909
+ # @override
910
+ #
911
+ # pkg:gem/tapioca#lib/tapioca/commands/dsl_verify.rb:11
912
+ sig { override.void }
913
+ def execute; end
914
+ end
915
+
916
+ # pkg:gem/tapioca#lib/tapioca/commands/gem_generate.rb:6
917
+ class Tapioca::Commands::GemGenerate < ::Tapioca::Commands::AbstractGem
918
+ private
919
+
920
+ # @override
921
+ #
922
+ # pkg:gem/tapioca#lib/tapioca/commands/gem_generate.rb:11
923
+ sig { override.void }
924
+ def execute; end
925
+
926
+ # pkg:gem/tapioca#lib/tapioca/commands/gem_generate.rb:70
927
+ sig do
928
+ params(
929
+ gem: ::Tapioca::Gemfile::GemSpec,
930
+ dependencies: T::Array[::Tapioca::Gemfile::GemSpec]
931
+ ).returns(T::Array[::Tapioca::Gemfile::GemSpec])
932
+ end
933
+ def gem_dependencies(gem, dependencies = T.unsafe(nil)); end
934
+
935
+ # pkg:gem/tapioca#lib/tapioca/commands/gem_generate.rb:52
936
+ sig { params(gem_names: T::Array[::String]).returns(T::Array[::Tapioca::Gemfile::GemSpec]) }
937
+ def gems_to_generate(gem_names); end
938
+ end
939
+
940
+ # pkg:gem/tapioca#lib/tapioca/commands/gem_sync.rb:6
941
+ class Tapioca::Commands::GemSync < ::Tapioca::Commands::AbstractGem
942
+ private
943
+
944
+ # @override
945
+ #
946
+ # pkg:gem/tapioca#lib/tapioca/commands/gem_sync.rb:11
947
+ sig { override.void }
948
+ def execute; end
949
+ end
950
+
951
+ # pkg:gem/tapioca#lib/tapioca/commands/gem_verify.rb:6
952
+ class Tapioca::Commands::GemVerify < ::Tapioca::Commands::AbstractGem
953
+ private
954
+
955
+ # @override
956
+ #
957
+ # pkg:gem/tapioca#lib/tapioca/commands/gem_verify.rb:11
958
+ sig { override.void }
959
+ def execute; end
960
+
961
+ # pkg:gem/tapioca#lib/tapioca/commands/gem_verify.rb:18
962
+ sig { void }
963
+ def perform_sync_verification; end
964
+ end
965
+
966
+ # pkg:gem/tapioca#lib/tapioca/commands/require.rb:6
967
+ class Tapioca::Commands::Require < ::Tapioca::Commands::CommandWithoutTracker
968
+ # pkg:gem/tapioca#lib/tapioca/commands/require.rb:8
969
+ sig { params(requires_path: ::String, sorbet_config_path: ::String).void }
970
+ def initialize(requires_path:, sorbet_config_path:); end
971
+
972
+ private
973
+
974
+ # @override
975
+ #
976
+ # pkg:gem/tapioca#lib/tapioca/commands/require.rb:19
977
+ sig { override.void }
978
+ def execute; end
979
+ end
980
+
981
+ # pkg:gem/tapioca#lib/tapioca/commands/todo.rb:6
982
+ class Tapioca::Commands::Todo < ::Tapioca::Commands::CommandWithoutTracker
983
+ include ::Tapioca::SorbetHelper
984
+
985
+ # pkg:gem/tapioca#lib/tapioca/commands/todo.rb:21
986
+ sig { params(todo_file: ::String, file_header: T::Boolean).void }
987
+ def initialize(todo_file:, file_header:); end
988
+
989
+ # pkg:gem/tapioca#lib/tapioca/commands/todo.rb:29
990
+ sig { void }
991
+ def run_with_deprecation; end
992
+
993
+ private
994
+
995
+ # @override
996
+ #
997
+ # pkg:gem/tapioca#lib/tapioca/commands/todo.rb:40
998
+ sig { override.void }
999
+ def execute; end
1000
+
1001
+ # pkg:gem/tapioca#lib/tapioca/commands/todo.rb:64
1002
+ sig { params(constants: T::Array[::String], command: ::String).returns(::RBI::File) }
1003
+ def rbi(constants, command:); end
1004
+
1005
+ # pkg:gem/tapioca#lib/tapioca/commands/todo.rb:84
1006
+ sig { returns(T::Array[::String]) }
1007
+ def unresolved_constants; end
1008
+ end
1009
+
1010
+ # pkg:gem/tapioca#lib/tapioca/commands/todo.rb:9
1011
+ Tapioca::Commands::Todo::DEPRECATION_MESSAGE = T.let(T.unsafe(nil), String)
1012
+
1013
+ # pkg:gem/tapioca#lib/tapioca/helpers/config_helper.rb:5
1014
+ module Tapioca::ConfigHelper
1015
+ requires_ancestor { Thor }
1016
+
1017
+ # pkg:gem/tapioca#lib/tapioca/helpers/config_helper.rb:17
1018
+ sig { params(args: T.untyped, local_options: T.untyped, config: T.untyped).void }
1019
+ def initialize(args = T.unsafe(nil), local_options = T.unsafe(nil), config = T.unsafe(nil)); end
1020
+
1021
+ # pkg:gem/tapioca#lib/tapioca/helpers/config_helper.rb:11
1022
+ sig { returns(::String) }
1023
+ def command_name; end
1024
+
1025
+ # pkg:gem/tapioca#lib/tapioca/helpers/config_helper.rb:14
1026
+ sig { returns(::Thor::CoreExt::HashWithIndifferentAccess) }
1027
+ def defaults; end
1028
+
1029
+ # pkg:gem/tapioca#lib/tapioca/helpers/config_helper.rb:33
1030
+ sig { returns(::Thor::CoreExt::HashWithIndifferentAccess) }
1031
+ def options; end
1032
+
1033
+ private
1034
+
1035
+ # pkg:gem/tapioca#lib/tapioca/helpers/config_helper.rb:146
1036
+ sig { params(msg: ::String).returns(::Tapioca::ConfigHelper::ConfigError) }
1037
+ def build_error(msg); end
1038
+
1039
+ # pkg:gem/tapioca#lib/tapioca/helpers/config_helper.rb:171
1040
+ sig { params(config_file: ::String, errors: T::Array[::Tapioca::ConfigHelper::ConfigError]).returns(::String) }
1041
+ def build_error_message(config_file, errors); end
1042
+
1043
+ # pkg:gem/tapioca#lib/tapioca/helpers/config_helper.rb:55
1044
+ sig do
1045
+ params(
1046
+ options: ::Thor::CoreExt::HashWithIndifferentAccess
1047
+ ).returns(::Thor::CoreExt::HashWithIndifferentAccess)
1048
+ end
1049
+ def config_options(options); end
1050
+
1051
+ # pkg:gem/tapioca#lib/tapioca/helpers/config_helper.rb:45
1052
+ sig { params(options: T::Hash[::Symbol, ::Thor::Option]).void }
1053
+ def filter_defaults(options); end
1054
+
1055
+ # pkg:gem/tapioca#lib/tapioca/helpers/config_helper.rb:186
1056
+ sig do
1057
+ params(
1058
+ options: T.nilable(::Thor::CoreExt::HashWithIndifferentAccess)
1059
+ ).returns(::Thor::CoreExt::HashWithIndifferentAccess)
1060
+ end
1061
+ def merge_options(*options); end
1062
+
1063
+ # pkg:gem/tapioca#lib/tapioca/helpers/config_helper.rb:69
1064
+ sig { params(config_file: ::String, config: T::Hash[T.untyped, T.untyped]).void }
1065
+ def validate_config!(config_file, config); end
1066
+
1067
+ # pkg:gem/tapioca#lib/tapioca/helpers/config_helper.rb:95
1068
+ sig do
1069
+ params(
1070
+ command_options: T::Hash[::Symbol, ::Thor::Option],
1071
+ config_key: ::String,
1072
+ config_options: T::Hash[T.untyped, T.untyped]
1073
+ ).returns(T::Array[::Tapioca::ConfigHelper::ConfigError])
1074
+ end
1075
+ def validate_config_options(command_options, config_key, config_options); end
1076
+ end
1077
+
1078
+ # pkg:gem/tapioca#lib/tapioca/helpers/config_helper.rb:141
1079
+ class Tapioca::ConfigHelper::ConfigError < ::T::Struct
1080
+ const :message_parts, T::Array[::Tapioca::ConfigHelper::ConfigErrorMessagePart]
1081
+ end
1082
+
1083
+ # pkg:gem/tapioca#lib/tapioca/helpers/config_helper.rb:136
1084
+ class Tapioca::ConfigHelper::ConfigErrorMessagePart < ::T::Struct
1085
+ const :message, ::String
1086
+ const :colors, T::Array[::Symbol]
1087
+ end
1088
+
1089
+ # pkg:gem/tapioca#lib/tapioca.rb:25
1090
+ Tapioca::DEFAULT_ANNOTATIONS_DIR = T.let(T.unsafe(nil), String)
1091
+
1092
+ # pkg:gem/tapioca#lib/tapioca.rb:21
1093
+ Tapioca::DEFAULT_DSL_DIR = T.let(T.unsafe(nil), String)
1094
+
1095
+ # pkg:gem/tapioca#lib/tapioca.rb:34
1096
+ Tapioca::DEFAULT_ENVIRONMENT = T.let(T.unsafe(nil), String)
1097
+
1098
+ # pkg:gem/tapioca#lib/tapioca.rb:22
1099
+ Tapioca::DEFAULT_GEM_DIR = T.let(T.unsafe(nil), String)
1100
+
1101
+ # pkg:gem/tapioca#lib/tapioca.rb:27
1102
+ Tapioca::DEFAULT_OVERRIDES = T.let(T.unsafe(nil), Hash)
1103
+
1104
+ # pkg:gem/tapioca#lib/tapioca.rb:19
1105
+ Tapioca::DEFAULT_POSTREQUIRE_FILE = T.let(T.unsafe(nil), String)
1106
+
1107
+ # pkg:gem/tapioca#lib/tapioca.rb:20
1108
+ Tapioca::DEFAULT_RBI_DIR = T.let(T.unsafe(nil), String)
1109
+
1110
+ # pkg:gem/tapioca#lib/tapioca/rbi_formatter.rb:23
1111
+ Tapioca::DEFAULT_RBI_FORMATTER = T.let(T.unsafe(nil), Tapioca::RBIFormatter)
1112
+
1113
+ # pkg:gem/tapioca#lib/tapioca.rb:33
1114
+ Tapioca::DEFAULT_RBI_MAX_LINE_LENGTH = T.let(T.unsafe(nil), Integer)
1115
+
1116
+ # pkg:gem/tapioca#lib/tapioca.rb:23
1117
+ Tapioca::DEFAULT_SHIM_DIR = T.let(T.unsafe(nil), String)
1118
+
1119
+ # pkg:gem/tapioca#lib/tapioca.rb:24
1120
+ Tapioca::DEFAULT_TODO_FILE = T.let(T.unsafe(nil), String)
1121
+
1122
+ # pkg:gem/tapioca#lib/tapioca/dsl/compilers.rb:5
1123
+ module Tapioca::Dsl; end
1124
+
1125
+ # @abstract
1126
+ #
1127
+ # pkg:gem/tapioca#lib/tapioca/dsl/compiler.rb:6
1128
+ class Tapioca::Dsl::Compiler
1129
+ extend T::Generic
1130
+ include ::Tapioca::SorbetHelper
1131
+ include ::Tapioca::RBIHelper
1132
+ include ::Tapioca::Runtime::Reflection
1133
+ extend ::Tapioca::Runtime::Reflection
1134
+
1135
+ abstract!
1136
+
1137
+ ConstantType = type_member { { upper: T::Module[T.anything] } }
1138
+
1139
+ # pkg:gem/tapioca#lib/tapioca/dsl/compiler.rb:89
1140
+ sig do
1141
+ params(
1142
+ pipeline: ::Tapioca::Dsl::Pipeline,
1143
+ root: ::RBI::Tree,
1144
+ constant: ConstantType,
1145
+ options: T::Hash[::String, T.untyped]
1146
+ ).void
1147
+ end
1148
+ def initialize(pipeline, root, constant, options = T.unsafe(nil)); end
1149
+
1150
+ # NOTE: This should eventually accept an `Error` object or `Exception` rather than simply a `String`.
1151
+ #
1152
+ # pkg:gem/tapioca#lib/tapioca/dsl/compiler.rb:108
1153
+ sig { params(error: ::String).void }
1154
+ def add_error(error); end
1155
+
1156
+ # pkg:gem/tapioca#lib/tapioca/dsl/compiler.rb:98
1157
+ sig { params(compiler_name: ::String).returns(T::Boolean) }
1158
+ def compiler_enabled?(compiler_name); end
1159
+
1160
+ # pkg:gem/tapioca#lib/tapioca/dsl/compiler.rb:20
1161
+ sig { returns(ConstantType) }
1162
+ def constant; end
1163
+
1164
+ # @abstract
1165
+ #
1166
+ # pkg:gem/tapioca#lib/tapioca/dsl/compiler.rb:104
1167
+ sig { abstract.void }
1168
+ def decorate; end
1169
+
1170
+ # pkg:gem/tapioca#lib/tapioca/dsl/compiler.rb:26
1171
+ sig { returns(T::Hash[::String, T.untyped]) }
1172
+ def options; end
1173
+
1174
+ # pkg:gem/tapioca#lib/tapioca/dsl/compiler.rb:23
1175
+ sig { returns(::RBI::Tree) }
1176
+ def root; end
1177
+
1178
+ private
1179
+
1180
+ # pkg:gem/tapioca#lib/tapioca/dsl/compiler.rb:157
1181
+ sig { params(method_def: T.any(::Method, ::UnboundMethod)).returns(T::Array[::RBI::TypedParam]) }
1182
+ def compile_method_parameters_to_rbi(method_def); end
1183
+
1184
+ # pkg:gem/tapioca#lib/tapioca/dsl/compiler.rb:193
1185
+ sig { params(method_def: T.any(::Method, ::UnboundMethod)).returns(::String) }
1186
+ def compile_method_return_type_to_rbi(method_def); end
1187
+
1188
+ # pkg:gem/tapioca#lib/tapioca/dsl/compiler.rb:144
1189
+ sig { params(scope: ::RBI::Scope, method_def: T.any(::Method, ::UnboundMethod), class_method: T::Boolean).void }
1190
+ def create_method_from_def(scope, method_def, class_method: T.unsafe(nil)); end
1191
+
1192
+ # Get the types of each parameter from a method signature
1193
+ #
1194
+ # pkg:gem/tapioca#lib/tapioca/dsl/compiler.rb:116
1195
+ sig { params(method_def: T.any(::Method, ::UnboundMethod), signature: T.untyped).returns(T::Array[::String]) }
1196
+ def parameters_types_from_signature(method_def, signature); end
1197
+
1198
+ class << self
1199
+ # @abstract
1200
+ #
1201
+ # pkg:gem/tapioca#lib/tapioca/dsl/compiler.rb:38
1202
+ sig { abstract.returns(T::Enumerable[T::Module[T.anything]]) }
1203
+ def gather_constants; end
1204
+
1205
+ # pkg:gem/tapioca#lib/tapioca/dsl/compiler.rb:32
1206
+ sig { params(constant: T::Module[T.anything]).returns(T::Boolean) }
1207
+ def handles?(constant); end
1208
+
1209
+ # pkg:gem/tapioca#lib/tapioca/dsl/compiler.rb:41
1210
+ sig { returns(T::Set[T::Module[T.anything]]) }
1211
+ def processable_constants; end
1212
+
1213
+ # pkg:gem/tapioca#lib/tapioca/dsl/compiler.rb:46
1214
+ sig { params(constants: T::Array[T::Module[T.anything]]).void }
1215
+ def requested_constants=(constants); end
1216
+
1217
+ # pkg:gem/tapioca#lib/tapioca/dsl/compiler.rb:51
1218
+ sig { void }
1219
+ def reset_state; end
1220
+
1221
+ private
1222
+
1223
+ # pkg:gem/tapioca#lib/tapioca/dsl/compiler.rb:74
1224
+ sig { returns(T::Enumerable[T::Class[T.anything]]) }
1225
+ def all_classes; end
1226
+
1227
+ # pkg:gem/tapioca#lib/tapioca/dsl/compiler.rb:79
1228
+ sig { returns(T::Enumerable[T::Module[T.anything]]) }
1229
+ def all_modules; end
1230
+
1231
+ # pkg:gem/tapioca#lib/tapioca/dsl/compiler.rb:60
1232
+ sig do
1233
+ type_parameters(:U)
1234
+ .params(
1235
+ klass: T.all(T.type_parameter(:U), T::Class[T.anything])
1236
+ ).returns(T::Array[T.type_parameter(:U)])
1237
+ end
1238
+ def descendants_of(klass); end
1239
+ end
1240
+ end
1241
+
1242
+ # pkg:gem/tapioca#lib/tapioca/dsl/compilers.rb:6
1243
+ module Tapioca::Dsl::Compilers; end
1244
+
1245
+ # DSL compilers are either built-in to Tapioca and live under the
1246
+ # `Tapioca::Dsl::Compilers` namespace (i.e. this namespace), and
1247
+ # can be referred to by just using the class name, or they live in
1248
+ # a different namespace and can only be referred to using their fully
1249
+ # qualified name. This constant encapsulates that dual lookup when
1250
+ # a compiler needs to be resolved by name.
1251
+ #
1252
+ # pkg:gem/tapioca#lib/tapioca/dsl/compilers.rb:13
1253
+ Tapioca::Dsl::Compilers::NAMESPACES = T.let(T.unsafe(nil), Array)
1254
+
1255
+ # pkg:gem/tapioca#lib/tapioca/dsl/pipeline.rb:6
1256
+ class Tapioca::Dsl::Pipeline
1257
+ # pkg:gem/tapioca#lib/tapioca/dsl/pipeline.rb:26
1258
+ sig do
1259
+ params(
1260
+ requested_constants: T::Array[T::Module[T.anything]],
1261
+ requested_paths: T::Array[::Pathname],
1262
+ requested_compilers: T::Array[T.class_of(Tapioca::Dsl::Compiler)],
1263
+ excluded_compilers: T::Array[T.class_of(Tapioca::Dsl::Compiler)],
1264
+ error_handler: T.proc.params(error: ::String).void,
1265
+ skipped_constants: T::Array[T::Module[T.anything]],
1266
+ number_of_workers: T.nilable(::Integer),
1267
+ compiler_options: T::Hash[::String, T.untyped],
1268
+ lsp_addon: T::Boolean
1269
+ ).void
1270
+ end
1271
+ def initialize(requested_constants:, requested_paths: T.unsafe(nil), requested_compilers: T.unsafe(nil), excluded_compilers: T.unsafe(nil), error_handler: T.unsafe(nil), skipped_constants: T.unsafe(nil), number_of_workers: T.unsafe(nil), compiler_options: T.unsafe(nil), lsp_addon: T.unsafe(nil)); end
1272
+
1273
+ # pkg:gem/tapioca#lib/tapioca/dsl/pipeline.rb:8
1274
+ sig { returns(T::Enumerable[T.class_of(Tapioca::Dsl::Compiler)]) }
1275
+ def active_compilers; end
1276
+
1277
+ # pkg:gem/tapioca#lib/tapioca/dsl/pipeline.rb:90
1278
+ sig { params(error: ::String).void }
1279
+ def add_error(error); end
1280
+
1281
+ # pkg:gem/tapioca#lib/tapioca/dsl/pipeline.rb:95
1282
+ sig { params(compiler_name: ::String).returns(T::Boolean) }
1283
+ def compiler_enabled?(compiler_name); end
1284
+
1285
+ # pkg:gem/tapioca#lib/tapioca/dsl/pipeline.rb:104
1286
+ sig { returns(T::Array[T.class_of(Tapioca::Dsl::Compiler)]) }
1287
+ def compilers; end
1288
+
1289
+ # pkg:gem/tapioca#lib/tapioca/dsl/pipeline.rb:20
1290
+ sig { returns(T.proc.params(error: ::String).void) }
1291
+ def error_handler; end
1292
+
1293
+ # pkg:gem/tapioca#lib/tapioca/dsl/pipeline.rb:23
1294
+ sig { returns(T::Array[::String]) }
1295
+ def errors; end
1296
+
1297
+ # pkg:gem/tapioca#lib/tapioca/dsl/pipeline.rb:11
1298
+ sig { returns(T::Array[T::Module[T.anything]]) }
1299
+ def requested_constants; end
1300
+
1301
+ # pkg:gem/tapioca#lib/tapioca/dsl/pipeline.rb:14
1302
+ sig { returns(T::Array[::Pathname]) }
1303
+ def requested_paths; end
1304
+
1305
+ # pkg:gem/tapioca#lib/tapioca/dsl/pipeline.rb:50
1306
+ sig do
1307
+ type_parameters(:R)
1308
+ .params(
1309
+ blk: T.proc.params(constant: T::Module[T.anything], rbi: ::RBI::File).returns(T.type_parameter(:R))
1310
+ ).returns(T::Array[T.type_parameter(:R)])
1311
+ end
1312
+ def run(&blk); end
1313
+
1314
+ # pkg:gem/tapioca#lib/tapioca/dsl/pipeline.rb:17
1315
+ sig { returns(T::Array[T::Module[T.anything]]) }
1316
+ def skipped_constants; end
1317
+
1318
+ private
1319
+
1320
+ # pkg:gem/tapioca#lib/tapioca/dsl/pipeline.rb:173
1321
+ sig { void }
1322
+ def abort_if_pending_migrations!; end
1323
+
1324
+ # pkg:gem/tapioca#lib/tapioca/dsl/pipeline.rb:143
1325
+ sig { params(constants: T::Set[T::Module[T.anything]]).returns(T::Set[T::Module[T.anything]]) }
1326
+ def filter_anonymous_constants(constants); end
1327
+
1328
+ # pkg:gem/tapioca#lib/tapioca/dsl/pipeline.rb:113
1329
+ sig do
1330
+ params(
1331
+ requested_compilers: T::Array[T.class_of(Tapioca::Dsl::Compiler)],
1332
+ excluded_compilers: T::Array[T.class_of(Tapioca::Dsl::Compiler)]
1333
+ ).returns(T::Enumerable[T.class_of(Tapioca::Dsl::Compiler)])
1334
+ end
1335
+ def gather_active_compilers(requested_compilers, excluded_compilers); end
1336
+
1337
+ # pkg:gem/tapioca#lib/tapioca/dsl/pipeline.rb:121
1338
+ sig do
1339
+ params(
1340
+ requested_constants: T::Array[T::Module[T.anything]],
1341
+ requested_paths: T::Array[::Pathname],
1342
+ skipped_constants: T::Array[T::Module[T.anything]]
1343
+ ).returns(T::Set[T::Module[T.anything]])
1344
+ end
1345
+ def gather_constants(requested_constants, requested_paths, skipped_constants); end
1346
+
1347
+ # pkg:gem/tapioca#lib/tapioca/dsl/pipeline.rb:148
1348
+ sig { params(constant: T::Module[T.anything]).returns(T.nilable(::RBI::File)) }
1349
+ def rbi_for_constant(constant); end
1350
+
1351
+ # pkg:gem/tapioca#lib/tapioca/dsl/pipeline.rb:167
1352
+ sig { params(error: ::String).void }
1353
+ def report_error(error); end
1354
+ end
1355
+
1356
+ # pkg:gem/tapioca#lib/tapioca/helpers/env_helper.rb:5
1357
+ module Tapioca::EnvHelper
1358
+ requires_ancestor { Thor }
1359
+
1360
+ # pkg:gem/tapioca#lib/tapioca/helpers/env_helper.rb:11
1361
+ sig { params(options: T::Hash[::Symbol, T.untyped]).void }
1362
+ def set_environment(options); end
1363
+ end
1364
+
1365
+ class Tapioca::Error < ::StandardError; end
1366
+
1367
+ # pkg:gem/tapioca#lib/tapioca/executor.rb:5
1368
+ class Tapioca::Executor
1369
+ # pkg:gem/tapioca#lib/tapioca/executor.rb:9
1370
+ sig { params(queue: T::Array[T.untyped], number_of_workers: T.nilable(::Integer)).void }
1371
+ def initialize(queue, number_of_workers: T.unsafe(nil)); end
1372
+
1373
+ # pkg:gem/tapioca#lib/tapioca/executor.rb:20
1374
+ sig do
1375
+ type_parameters(:T)
1376
+ .params(
1377
+ block: T.proc.params(item: T.untyped).returns(T.type_parameter(:T))
1378
+ ).returns(T::Array[T.type_parameter(:T)])
1379
+ end
1380
+ def run_in_parallel(&block); end
1381
+
1382
+ private
1383
+
1384
+ # pkg:gem/tapioca#lib/tapioca/executor.rb:29
1385
+ sig { returns(::Integer) }
1386
+ def max_processors; end
1387
+ end
1388
+
1389
+ # pkg:gem/tapioca#lib/tapioca/executor.rb:6
1390
+ Tapioca::Executor::MINIMUM_ITEMS_PER_WORKER = T.let(T.unsafe(nil), Integer)
1391
+
1392
+ # pkg:gem/tapioca#lib/tapioca/gem/events.rb:5
1393
+ module Tapioca::Gem; end
1394
+
1395
+ # pkg:gem/tapioca#lib/tapioca/gem/events.rb:72
1396
+ class Tapioca::Gem::ConstNodeAdded < ::Tapioca::Gem::NodeAdded
1397
+ # pkg:gem/tapioca#lib/tapioca/gem/events.rb:77
1398
+ sig { params(symbol: ::String, constant: T::Module[T.anything], node: ::RBI::Const).void }
1399
+ def initialize(symbol, constant, node); end
1400
+
1401
+ # pkg:gem/tapioca#lib/tapioca/gem/events.rb:74
1402
+ sig { returns(::RBI::Const) }
1403
+ def node; end
1404
+ end
1405
+
1406
+ # pkg:gem/tapioca#lib/tapioca/gem/events.rb:23
1407
+ class Tapioca::Gem::ConstantFound < ::Tapioca::Gem::Event
1408
+ # @without_runtime
1409
+ #
1410
+ # pkg:gem/tapioca#lib/tapioca/gem/events.rb:33
1411
+ def initialize(symbol, constant); end
1412
+
1413
+ # @without_runtime
1414
+ #
1415
+ # pkg:gem/tapioca#lib/tapioca/gem/events.rb:29
1416
+ def constant; end
1417
+
1418
+ # pkg:gem/tapioca#lib/tapioca/gem/events.rb:25
1419
+ sig { returns(::String) }
1420
+ def symbol; end
1421
+ end
1422
+
1423
+ # @abstract
1424
+ #
1425
+ # pkg:gem/tapioca#lib/tapioca/gem/events.rb:6
1426
+ class Tapioca::Gem::Event
1427
+ abstract!
1428
+ end
1429
+
1430
+ # pkg:gem/tapioca#lib/tapioca/gem/events.rb:40
1431
+ class Tapioca::Gem::ForeignConstantFound < ::Tapioca::Gem::ConstantFound
1432
+ # pkg:gem/tapioca#lib/tapioca/gem/events.rb:48
1433
+ sig { params(symbol: ::String, constant: T::Module[T.anything]).void }
1434
+ def initialize(symbol, constant); end
1435
+
1436
+ # @override
1437
+ #
1438
+ # pkg:gem/tapioca#lib/tapioca/gem/events.rb:43
1439
+ sig { override.returns(T::Module[T.anything]) }
1440
+ def constant; end
1441
+ end
1442
+
1443
+ # pkg:gem/tapioca#lib/tapioca/gem/events.rb:94
1444
+ class Tapioca::Gem::ForeignScopeNodeAdded < ::Tapioca::Gem::ScopeNodeAdded; end
1445
+
1446
+ # pkg:gem/tapioca#lib/tapioca/gem/listeners/base.rb:6
1447
+ module Tapioca::Gem::Listeners; end
1448
+
1449
+ # @abstract
1450
+ #
1451
+ # pkg:gem/tapioca#lib/tapioca/gem/listeners/base.rb:7
1452
+ class Tapioca::Gem::Listeners::Base
1453
+ abstract!
1454
+
1455
+ # pkg:gem/tapioca#lib/tapioca/gem/listeners/base.rb:13
1456
+ sig { params(pipeline: ::Tapioca::Gem::Pipeline).void }
1457
+ def initialize(pipeline); end
1458
+
1459
+ # pkg:gem/tapioca#lib/tapioca/gem/listeners/base.rb:18
1460
+ sig { params(event: ::Tapioca::Gem::NodeAdded).void }
1461
+ def dispatch(event); end
1462
+
1463
+ private
1464
+
1465
+ # pkg:gem/tapioca#lib/tapioca/gem/listeners/base.rb:48
1466
+ sig { params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) }
1467
+ def ignore?(event); end
1468
+
1469
+ # pkg:gem/tapioca#lib/tapioca/gem/listeners/base.rb:36
1470
+ sig { params(event: ::Tapioca::Gem::ConstNodeAdded).void }
1471
+ def on_const(event); end
1472
+
1473
+ # pkg:gem/tapioca#lib/tapioca/gem/listeners/base.rb:44
1474
+ sig { params(event: ::Tapioca::Gem::MethodNodeAdded).void }
1475
+ def on_method(event); end
1476
+
1477
+ # pkg:gem/tapioca#lib/tapioca/gem/listeners/base.rb:40
1478
+ sig { params(event: ::Tapioca::Gem::ScopeNodeAdded).void }
1479
+ def on_scope(event); end
1480
+ end
1481
+
1482
+ # pkg:gem/tapioca#lib/tapioca/gem/listeners/documentation.rb:7
1483
+ class Tapioca::Gem::Listeners::Documentation < ::Tapioca::Gem::Listeners::Base
1484
+ # pkg:gem/tapioca#lib/tapioca/gem/listeners/documentation.rb:21
1485
+ sig { params(pipeline: ::Tapioca::Gem::Pipeline, gem_graph: ::Rubydex::Graph).void }
1486
+ def initialize(pipeline, gem_graph); end
1487
+
1488
+ private
1489
+
1490
+ # pkg:gem/tapioca#lib/tapioca/gem/listeners/documentation.rb:58
1491
+ sig { params(name: ::String, sigs: T::Array[::RBI::Sig]).returns(T::Array[::RBI::Comment]) }
1492
+ def documentation_comments(name, sigs: T.unsafe(nil)); end
1493
+
1494
+ # @override
1495
+ #
1496
+ # pkg:gem/tapioca#lib/tapioca/gem/listeners/documentation.rb:88
1497
+ sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) }
1498
+ def ignore?(event); end
1499
+
1500
+ # @override
1501
+ #
1502
+ # pkg:gem/tapioca#lib/tapioca/gem/listeners/documentation.rb:36
1503
+ sig { override.params(event: ::Tapioca::Gem::ConstNodeAdded).void }
1504
+ def on_const(event); end
1505
+
1506
+ # @override
1507
+ #
1508
+ # pkg:gem/tapioca#lib/tapioca/gem/listeners/documentation.rb:48
1509
+ sig { override.params(event: ::Tapioca::Gem::MethodNodeAdded).void }
1510
+ def on_method(event); end
1511
+
1512
+ # @override
1513
+ #
1514
+ # pkg:gem/tapioca#lib/tapioca/gem/listeners/documentation.rb:42
1515
+ sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void }
1516
+ def on_scope(event); end
1517
+
1518
+ # pkg:gem/tapioca#lib/tapioca/gem/listeners/documentation.rb:30
1519
+ sig { params(line: ::String).returns(T::Boolean) }
1520
+ def rbs_comment?(line); end
1521
+ end
1522
+
1523
+ # pkg:gem/tapioca#lib/tapioca/gem/listeners/documentation.rb:8
1524
+ Tapioca::Gem::Listeners::Documentation::IGNORED_COMMENTS = T.let(T.unsafe(nil), Array)
1525
+
1526
+ # pkg:gem/tapioca#lib/tapioca/gem/listeners/dynamic_mixins.rb:7
1527
+ class Tapioca::Gem::Listeners::DynamicMixins < ::Tapioca::Gem::Listeners::Base
1528
+ include ::Tapioca::Runtime::Reflection
1529
+
1530
+ private
1531
+
1532
+ # @override
1533
+ #
1534
+ # pkg:gem/tapioca#lib/tapioca/gem/listeners/dynamic_mixins.rb:31
1535
+ sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) }
1536
+ def ignore?(event); end
1537
+
1538
+ # @override
1539
+ #
1540
+ # pkg:gem/tapioca#lib/tapioca/gem/listeners/dynamic_mixins.rb:14
1541
+ sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void }
1542
+ def on_scope(event); end
1543
+ end
1544
+
1545
+ # pkg:gem/tapioca#lib/tapioca/gem/listeners/foreign_constants.rb:7
1546
+ class Tapioca::Gem::Listeners::ForeignConstants < ::Tapioca::Gem::Listeners::Base
1547
+ include ::Tapioca::Runtime::Reflection
1548
+
1549
+ private
1550
+
1551
+ # @override
1552
+ #
1553
+ # pkg:gem/tapioca#lib/tapioca/gem/listeners/foreign_constants.rb:56
1554
+ sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) }
1555
+ def ignore?(event); end
1556
+
1557
+ # pkg:gem/tapioca#lib/tapioca/gem/listeners/foreign_constants.rb:50
1558
+ sig { params(location: ::String).returns(T::Boolean) }
1559
+ def mixed_in_by_gem?(location); end
1560
+
1561
+ # @override
1562
+ #
1563
+ # pkg:gem/tapioca#lib/tapioca/gem/listeners/foreign_constants.rb:14
1564
+ sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void }
1565
+ def on_scope(event); end
1566
+ end
1567
+
1568
+ # pkg:gem/tapioca#lib/tapioca/gem/listeners/methods.rb:7
1569
+ class Tapioca::Gem::Listeners::Methods < ::Tapioca::Gem::Listeners::Base
1570
+ include ::Tapioca::SorbetHelper
1571
+ include ::Tapioca::RBIHelper
1572
+ include ::Tapioca::Runtime::Reflection
1573
+
1574
+ private
1575
+
1576
+ # pkg:gem/tapioca#lib/tapioca/gem/listeners/methods.rb:26
1577
+ sig do
1578
+ params(
1579
+ tree: ::RBI::Tree,
1580
+ module_name: ::String,
1581
+ mod: T::Module[T.anything],
1582
+ for_visibility: T::Array[::Symbol],
1583
+ attached_class: T.nilable(T::Module[T.anything])
1584
+ ).void
1585
+ end
1586
+ def compile_directly_owned_methods(tree, module_name, mod, for_visibility = T.unsafe(nil), attached_class: T.unsafe(nil)); end
1587
+
1588
+ # pkg:gem/tapioca#lib/tapioca/gem/listeners/methods.rb:54
1589
+ sig do
1590
+ params(
1591
+ tree: ::RBI::Tree,
1592
+ symbol_name: ::String,
1593
+ constant: T::Module[T.anything],
1594
+ method: T.nilable(::UnboundMethod),
1595
+ visibility: ::RBI::Visibility
1596
+ ).void
1597
+ end
1598
+ def compile_method(tree, symbol_name, constant, method, visibility = T.unsafe(nil)); end
1599
+
1600
+ # @override
1601
+ #
1602
+ # pkg:gem/tapioca#lib/tapioca/gem/listeners/methods.rb:210
1603
+ sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) }
1604
+ def ignore?(event); end
1605
+
1606
+ # pkg:gem/tapioca#lib/tapioca/gem/listeners/methods.rb:202
1607
+ sig { params(constant: T::Module[T.anything]).returns(T.nilable(::UnboundMethod)) }
1608
+ def initialize_method_for(constant); end
1609
+
1610
+ # pkg:gem/tapioca#lib/tapioca/gem/listeners/methods.rb:175
1611
+ sig { params(mod: T::Module[T.anything]).returns(T::Hash[::Symbol, T::Array[::Symbol]]) }
1612
+ def method_names_by_visibility(mod); end
1613
+
1614
+ # pkg:gem/tapioca#lib/tapioca/gem/listeners/methods.rb:194
1615
+ sig do
1616
+ params(
1617
+ attached_class: T.nilable(T::Module[T.anything]),
1618
+ method_name: ::Symbol
1619
+ ).returns(T.nilable(T::Boolean))
1620
+ end
1621
+ def method_new_in_abstract_class?(attached_class, method_name); end
1622
+
1623
+ # Check whether the method is defined by the constant.
1624
+ #
1625
+ # In most cases, it works to check that the constant is the method owner. However,
1626
+ # in the case that a method is also defined in a module prepended to the constant, it
1627
+ # will be owned by the prepended module, not the constant.
1628
+ #
1629
+ # This method implements a better way of checking whether a constant defines a method.
1630
+ # It walks up the ancestor tree via the `super_method` method; if any of the super
1631
+ # methods are owned by the constant, it means that the constant declares the method.
1632
+ #
1633
+ # pkg:gem/tapioca#lib/tapioca/gem/listeners/methods.rb:161
1634
+ sig { params(method: ::UnboundMethod, constant: T::Module[T.anything]).returns(T::Boolean) }
1635
+ def method_owned_by_constant?(method, constant); end
1636
+
1637
+ # @override
1638
+ #
1639
+ # pkg:gem/tapioca#lib/tapioca/gem/listeners/methods.rb:15
1640
+ sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void }
1641
+ def on_scope(event); end
1642
+
1643
+ # pkg:gem/tapioca#lib/tapioca/gem/listeners/methods.rb:184
1644
+ sig { params(constant: T::Module[T.anything], method_name: ::String).returns(T::Boolean) }
1645
+ def struct_method?(constant, method_name); end
1646
+ end
1647
+
1648
+ # pkg:gem/tapioca#lib/tapioca/gem/listeners/mixins.rb:7
1649
+ class Tapioca::Gem::Listeners::Mixins < ::Tapioca::Gem::Listeners::Base
1650
+ include ::Tapioca::Runtime::Reflection
1651
+
1652
+ private
1653
+
1654
+ # pkg:gem/tapioca#lib/tapioca/gem/listeners/mixins.rb:34
1655
+ sig do
1656
+ params(
1657
+ tree: ::RBI::Tree,
1658
+ constant: T::Module[T.anything],
1659
+ mods: T::Array[T::Module[T.anything]],
1660
+ mixin_type: ::Tapioca::Runtime::Trackers::Mixin::Type
1661
+ ).void
1662
+ end
1663
+ def add_mixins(tree, constant, mods, mixin_type); end
1664
+
1665
+ # pkg:gem/tapioca#lib/tapioca/gem/listeners/mixins.rb:70
1666
+ sig { params(mixin_name: ::String).returns(T::Boolean) }
1667
+ def filtered_mixin?(mixin_name); end
1668
+
1669
+ # pkg:gem/tapioca#lib/tapioca/gem/listeners/mixins.rb:77
1670
+ sig { params(constant: T::Module[T.anything]).returns(T::Array[T::Module[T.anything]]) }
1671
+ def interesting_ancestors_of(constant); end
1672
+
1673
+ # pkg:gem/tapioca#lib/tapioca/gem/listeners/mixins.rb:61
1674
+ sig do
1675
+ params(
1676
+ constant: T::Module[T.anything],
1677
+ mixin: T::Module[T.anything],
1678
+ mixin_type: ::Tapioca::Runtime::Trackers::Mixin::Type
1679
+ ).returns(T::Boolean)
1680
+ end
1681
+ def mixed_in_by_gem?(constant, mixin, mixin_type); end
1682
+
1683
+ # @override
1684
+ #
1685
+ # pkg:gem/tapioca#lib/tapioca/gem/listeners/mixins.rb:14
1686
+ sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void }
1687
+ def on_scope(event); end
1688
+ end
1689
+
1690
+ # pkg:gem/tapioca#lib/tapioca/gem/listeners/remove_empty_payload_scopes.rb:7
1691
+ class Tapioca::Gem::Listeners::RemoveEmptyPayloadScopes < ::Tapioca::Gem::Listeners::Base
1692
+ include ::Tapioca::Runtime::Reflection
1693
+
1694
+ private
1695
+
1696
+ # @override
1697
+ #
1698
+ # pkg:gem/tapioca#lib/tapioca/gem/listeners/remove_empty_payload_scopes.rb:20
1699
+ sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) }
1700
+ def ignore?(event); end
1701
+
1702
+ # @override
1703
+ #
1704
+ # pkg:gem/tapioca#lib/tapioca/gem/listeners/remove_empty_payload_scopes.rb:14
1705
+ sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void }
1706
+ def on_scope(event); end
1707
+ end
1708
+
1709
+ # pkg:gem/tapioca#lib/tapioca/gem/listeners/sorbet_enums.rb:7
1710
+ class Tapioca::Gem::Listeners::SorbetEnums < ::Tapioca::Gem::Listeners::Base
1711
+ private
1712
+
1713
+ # @override
1714
+ #
1715
+ # pkg:gem/tapioca#lib/tapioca/gem/listeners/sorbet_enums.rb:28
1716
+ sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) }
1717
+ def ignore?(event); end
1718
+
1719
+ # @override
1720
+ #
1721
+ # pkg:gem/tapioca#lib/tapioca/gem/listeners/sorbet_enums.rb:12
1722
+ sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void }
1723
+ def on_scope(event); end
1724
+ end
1725
+
1726
+ # pkg:gem/tapioca#lib/tapioca/gem/listeners/sorbet_helpers.rb:7
1727
+ class Tapioca::Gem::Listeners::SorbetHelpers < ::Tapioca::Gem::Listeners::Base
1728
+ include ::Tapioca::Runtime::Reflection
1729
+
1730
+ private
1731
+
1732
+ # @override
1733
+ #
1734
+ # pkg:gem/tapioca#lib/tapioca/gem/listeners/sorbet_helpers.rb:27
1735
+ sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) }
1736
+ def ignore?(event); end
1737
+
1738
+ # @override
1739
+ #
1740
+ # pkg:gem/tapioca#lib/tapioca/gem/listeners/sorbet_helpers.rb:14
1741
+ sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void }
1742
+ def on_scope(event); end
1743
+ end
1744
+
1745
+ # pkg:gem/tapioca#lib/tapioca/gem/listeners/sorbet_props.rb:7
1746
+ class Tapioca::Gem::Listeners::SorbetProps < ::Tapioca::Gem::Listeners::Base
1747
+ include ::Tapioca::SorbetHelper
1748
+ include ::Tapioca::RBIHelper
1749
+
1750
+ private
1751
+
1752
+ # @override
1753
+ #
1754
+ # pkg:gem/tapioca#lib/tapioca/gem/listeners/sorbet_props.rb:34
1755
+ sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) }
1756
+ def ignore?(event); end
1757
+
1758
+ # @override
1759
+ #
1760
+ # pkg:gem/tapioca#lib/tapioca/gem/listeners/sorbet_props.rb:14
1761
+ sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void }
1762
+ def on_scope(event); end
1763
+ end
1764
+
1765
+ # pkg:gem/tapioca#lib/tapioca/gem/listeners/sorbet_required_ancestors.rb:7
1766
+ class Tapioca::Gem::Listeners::SorbetRequiredAncestors < ::Tapioca::Gem::Listeners::Base
1767
+ private
1768
+
1769
+ # @override
1770
+ #
1771
+ # pkg:gem/tapioca#lib/tapioca/gem/listeners/sorbet_required_ancestors.rb:23
1772
+ sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) }
1773
+ def ignore?(event); end
1774
+
1775
+ # @override
1776
+ #
1777
+ # pkg:gem/tapioca#lib/tapioca/gem/listeners/sorbet_required_ancestors.rb:12
1778
+ sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void }
1779
+ def on_scope(event); end
1780
+ end
1781
+
1782
+ # pkg:gem/tapioca#lib/tapioca/gem/listeners/sorbet_signatures.rb:7
1783
+ class Tapioca::Gem::Listeners::SorbetSignatures < ::Tapioca::Gem::Listeners::Base
1784
+ include ::Tapioca::Runtime::Reflection
1785
+ include ::Tapioca::SorbetHelper
1786
+ include ::Tapioca::RBIHelper
1787
+
1788
+ private
1789
+
1790
+ # pkg:gem/tapioca#lib/tapioca/gem/listeners/sorbet_signatures.rb:23
1791
+ sig { params(signature: T.untyped, parameters: T::Array[[::Symbol, ::String]]).returns(::RBI::Sig) }
1792
+ def compile_signature(signature, parameters); end
1793
+
1794
+ # @override
1795
+ #
1796
+ # pkg:gem/tapioca#lib/tapioca/gem/listeners/sorbet_signatures.rb:77
1797
+ sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) }
1798
+ def ignore?(event); end
1799
+
1800
+ # @override
1801
+ #
1802
+ # pkg:gem/tapioca#lib/tapioca/gem/listeners/sorbet_signatures.rb:15
1803
+ sig { override.params(event: ::Tapioca::Gem::MethodNodeAdded).void }
1804
+ def on_method(event); end
1805
+
1806
+ # pkg:gem/tapioca#lib/tapioca/gem/listeners/sorbet_signatures.rb:65
1807
+ sig { params(signature: T.untyped).returns(T::Boolean) }
1808
+ def signature_final?(signature); end
1809
+ end
1810
+
1811
+ # pkg:gem/tapioca#lib/tapioca/gem/listeners/sorbet_type_variables.rb:7
1812
+ class Tapioca::Gem::Listeners::SorbetTypeVariables < ::Tapioca::Gem::Listeners::Base
1813
+ include ::Tapioca::Runtime::Reflection
1814
+
1815
+ private
1816
+
1817
+ # pkg:gem/tapioca#lib/tapioca/gem/listeners/sorbet_type_variables.rb:26
1818
+ sig { params(tree: ::RBI::Tree, constant: T::Module[T.anything]).void }
1819
+ def compile_type_variable_declarations(tree, constant); end
1820
+
1821
+ # @override
1822
+ #
1823
+ # pkg:gem/tapioca#lib/tapioca/gem/listeners/sorbet_type_variables.rb:63
1824
+ sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) }
1825
+ def ignore?(event); end
1826
+
1827
+ # pkg:gem/tapioca#lib/tapioca/gem/listeners/sorbet_type_variables.rb:49
1828
+ sig { params(type_variable: ::Tapioca::TypeVariableModule).returns(T.nilable(::RBI::Node)) }
1829
+ def node_from_type_variable(type_variable); end
1830
+
1831
+ # @override
1832
+ #
1833
+ # pkg:gem/tapioca#lib/tapioca/gem/listeners/sorbet_type_variables.rb:14
1834
+ sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void }
1835
+ def on_scope(event); end
1836
+ end
1837
+
1838
+ # pkg:gem/tapioca#lib/tapioca/gem/listeners/source_location.rb:7
1839
+ class Tapioca::Gem::Listeners::SourceLocation < ::Tapioca::Gem::Listeners::Base
1840
+ private
1841
+
1842
+ # pkg:gem/tapioca#lib/tapioca/gem/listeners/source_location.rb:46
1843
+ sig { params(node: ::RBI::NodeWithComments, file: T.nilable(::String), line: T.nilable(::Integer)).void }
1844
+ def add_source_location_comment(node, file, line); end
1845
+
1846
+ # @override
1847
+ #
1848
+ # pkg:gem/tapioca#lib/tapioca/gem/listeners/source_location.rb:12
1849
+ sig { override.params(event: ::Tapioca::Gem::ConstNodeAdded).void }
1850
+ def on_const(event); end
1851
+
1852
+ # @override
1853
+ #
1854
+ # pkg:gem/tapioca#lib/tapioca/gem/listeners/source_location.rb:36
1855
+ sig { override.params(event: ::Tapioca::Gem::MethodNodeAdded).void }
1856
+ def on_method(event); end
1857
+
1858
+ # @override
1859
+ #
1860
+ # pkg:gem/tapioca#lib/tapioca/gem/listeners/source_location.rb:19
1861
+ sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void }
1862
+ def on_scope(event); end
1863
+ end
1864
+
1865
+ # pkg:gem/tapioca#lib/tapioca/gem/listeners/subconstants.rb:7
1866
+ class Tapioca::Gem::Listeners::Subconstants < ::Tapioca::Gem::Listeners::Base
1867
+ include ::Tapioca::Runtime::Reflection
1868
+
1869
+ private
1870
+
1871
+ # @override
1872
+ #
1873
+ # pkg:gem/tapioca#lib/tapioca/gem/listeners/subconstants.rb:35
1874
+ sig { override.params(event: ::Tapioca::Gem::NodeAdded).returns(T::Boolean) }
1875
+ def ignore?(event); end
1876
+
1877
+ # @override
1878
+ #
1879
+ # pkg:gem/tapioca#lib/tapioca/gem/listeners/subconstants.rb:14
1880
+ sig { override.params(event: ::Tapioca::Gem::ScopeNodeAdded).void }
1881
+ def on_scope(event); end
1882
+ end
1883
+
1884
+ # pkg:gem/tapioca#lib/tapioca/gem/events.rb:96
1885
+ class Tapioca::Gem::MethodNodeAdded < ::Tapioca::Gem::NodeAdded
1886
+ # pkg:gem/tapioca#lib/tapioca/gem/events.rb:110
1887
+ sig do
1888
+ params(
1889
+ symbol: ::String,
1890
+ constant: T::Module[T.anything],
1891
+ method: ::UnboundMethod,
1892
+ node: ::RBI::Method,
1893
+ signature: T.untyped,
1894
+ parameters: T::Array[[::Symbol, ::String]]
1895
+ ).void
1896
+ end
1897
+ def initialize(symbol, constant, method, node, signature, parameters); end
1898
+
1899
+ # pkg:gem/tapioca#lib/tapioca/gem/events.rb:98
1900
+ sig { returns(::UnboundMethod) }
1901
+ def method; end
1902
+
1903
+ # pkg:gem/tapioca#lib/tapioca/gem/events.rb:101
1904
+ sig { returns(::RBI::Method) }
1905
+ def node; end
1906
+
1907
+ # pkg:gem/tapioca#lib/tapioca/gem/events.rb:107
1908
+ sig { returns(T::Array[[::Symbol, ::String]]) }
1909
+ def parameters; end
1910
+
1911
+ # pkg:gem/tapioca#lib/tapioca/gem/events.rb:104
1912
+ sig { returns(T.untyped) }
1913
+ def signature; end
1914
+ end
1915
+
1916
+ # @abstract
1917
+ #
1918
+ # pkg:gem/tapioca#lib/tapioca/gem/events.rb:53
1919
+ class Tapioca::Gem::NodeAdded < ::Tapioca::Gem::Event
1920
+ abstract!
1921
+
1922
+ # pkg:gem/tapioca#lib/tapioca/gem/events.rb:65
1923
+ sig { params(symbol: ::String, constant: T::Module[T.anything]).void }
1924
+ def initialize(symbol, constant); end
1925
+
1926
+ # pkg:gem/tapioca#lib/tapioca/gem/events.rb:62
1927
+ sig { returns(T::Module[T.anything]) }
1928
+ def constant; end
1929
+
1930
+ # pkg:gem/tapioca#lib/tapioca/gem/events.rb:59
1931
+ sig { returns(::String) }
1932
+ def symbol; end
1933
+ end
1934
+
1935
+ # pkg:gem/tapioca#lib/tapioca/gem/pipeline.rb:6
1936
+ class Tapioca::Gem::Pipeline
1937
+ include ::Tapioca::Runtime::Reflection
1938
+ include ::Tapioca::SorbetHelper
1939
+ include ::Tapioca::RBIHelper
1940
+
1941
+ # pkg:gem/tapioca#lib/tapioca/gem/pipeline.rb:19
1942
+ sig do
1943
+ params(
1944
+ gem: ::Tapioca::Gemfile::GemSpec,
1945
+ error_handler: T.proc.params(error: ::String).void,
1946
+ include_doc: T::Boolean,
1947
+ include_loc: T::Boolean
1948
+ ).void
1949
+ end
1950
+ def initialize(gem, error_handler:, include_doc: T.unsafe(nil), include_loc: T.unsafe(nil)); end
1951
+
1952
+ # pkg:gem/tapioca#lib/tapioca/gem/pipeline.rb:57
1953
+ sig { returns(::RBI::Tree) }
1954
+ def compile; end
1955
+
1956
+ # pkg:gem/tapioca#lib/tapioca/gem/pipeline.rb:111
1957
+ sig { params(name: T.any(::String, ::Symbol)).returns(T::Boolean) }
1958
+ def constant_in_gem?(name); end
1959
+
1960
+ # pkg:gem/tapioca#lib/tapioca/gem/pipeline.rb:16
1961
+ sig { returns(T.proc.params(error: ::String).void) }
1962
+ def error_handler; end
1963
+
1964
+ # pkg:gem/tapioca#lib/tapioca/gem/pipeline.rb:13
1965
+ sig { returns(::Tapioca::Gemfile::GemSpec) }
1966
+ def gem; end
1967
+
1968
+ # pkg:gem/tapioca#lib/tapioca/gem/pipeline.rb:147
1969
+ sig do
1970
+ params(
1971
+ method_name: ::Symbol,
1972
+ owner: T::Module[T.anything]
1973
+ ).returns(::Tapioca::Gem::Pipeline::MethodDefinitionLookupResult)
1974
+ end
1975
+ def method_definition_in_gem(method_name, owner); end
1976
+
1977
+ # pkg:gem/tapioca#lib/tapioca/gem/pipeline.rb:173
1978
+ sig { params(constant: T::Module[T.anything]).returns(T.nilable(::String)) }
1979
+ def name_of(constant); end
1980
+
1981
+ # pkg:gem/tapioca#lib/tapioca/gem/pipeline.rb:81
1982
+ sig { params(symbol: ::String, constant: T::Module[T.anything], node: ::RBI::Const).void }
1983
+ def push_const(symbol, constant, node); end
1984
+
1985
+ # @without_runtime
1986
+ #
1987
+ # pkg:gem/tapioca#lib/tapioca/gem/pipeline.rb:71
1988
+ def push_constant(symbol, constant); end
1989
+
1990
+ # pkg:gem/tapioca#lib/tapioca/gem/pipeline.rb:76
1991
+ sig { params(symbol: ::String, constant: T::Module[T.anything]).void }
1992
+ def push_foreign_constant(symbol, constant); end
1993
+
1994
+ # pkg:gem/tapioca#lib/tapioca/gem/pipeline.rb:91
1995
+ sig { params(symbol: ::String, constant: T::Module[T.anything], node: ::RBI::Scope).void }
1996
+ def push_foreign_scope(symbol, constant, node); end
1997
+
1998
+ # pkg:gem/tapioca#lib/tapioca/gem/pipeline.rb:96
1999
+ sig do
2000
+ params(
2001
+ symbol: ::String,
2002
+ constant: T::Module[T.anything],
2003
+ method: ::UnboundMethod,
2004
+ node: ::RBI::Method,
2005
+ signature: T.untyped,
2006
+ parameters: T::Array[[::Symbol, ::String]]
2007
+ ).void
2008
+ end
2009
+ def push_method(symbol, constant, method, node, signature, parameters); end
2010
+
2011
+ # pkg:gem/tapioca#lib/tapioca/gem/pipeline.rb:86
2012
+ sig { params(symbol: ::String, constant: T::Module[T.anything], node: ::RBI::Scope).void }
2013
+ def push_scope(symbol, constant, node); end
2014
+
2015
+ # pkg:gem/tapioca#lib/tapioca/gem/pipeline.rb:65
2016
+ sig { params(symbol: ::String).void }
2017
+ def push_symbol(symbol); end
2018
+
2019
+ # pkg:gem/tapioca#lib/tapioca/gem/pipeline.rb:103
2020
+ sig { params(symbol_name: ::String).returns(T::Boolean) }
2021
+ def symbol_in_payload?(symbol_name); end
2022
+
2023
+ private
2024
+
2025
+ # pkg:gem/tapioca#lib/tapioca/gem/pipeline.rb:470
2026
+ sig { params(name: ::String).void }
2027
+ def add_to_alias_namespace(name); end
2028
+
2029
+ # pkg:gem/tapioca#lib/tapioca/gem/pipeline.rb:475
2030
+ sig { params(name: ::String).returns(T::Boolean) }
2031
+ def alias_namespaced?(name); end
2032
+
2033
+ # pkg:gem/tapioca#lib/tapioca/gem/pipeline.rb:271
2034
+ sig { params(name: ::String, constant: T::Module[T.anything]).void }
2035
+ def compile_alias(name, constant); end
2036
+
2037
+ # @without_runtime
2038
+ #
2039
+ # pkg:gem/tapioca#lib/tapioca/gem/pipeline.rb:257
2040
+ def compile_constant(symbol, constant); end
2041
+
2042
+ # pkg:gem/tapioca#lib/tapioca/gem/pipeline.rb:245
2043
+ sig { params(symbol: ::String, constant: T::Module[T.anything]).void }
2044
+ def compile_foreign_constant(symbol, constant); end
2045
+
2046
+ # pkg:gem/tapioca#lib/tapioca/gem/pipeline.rb:326
2047
+ sig { params(name: ::String, constant: T::Module[T.anything]).void }
2048
+ def compile_module(name, constant); end
2049
+
2050
+ # @without_runtime
2051
+ #
2052
+ # pkg:gem/tapioca#lib/tapioca/gem/pipeline.rb:293
2053
+ def compile_object(name, value); end
2054
+
2055
+ # pkg:gem/tapioca#lib/tapioca/gem/pipeline.rb:337
2056
+ sig { params(name: ::String, constant: T::Module[T.anything]).returns(::RBI::Scope) }
2057
+ def compile_scope(name, constant); end
2058
+
2059
+ # pkg:gem/tapioca#lib/tapioca/gem/pipeline.rb:351
2060
+ sig { params(constant: T::Class[T.anything]).returns(T.nilable(::String)) }
2061
+ def compile_superclass(constant); end
2062
+
2063
+ # pkg:gem/tapioca#lib/tapioca/gem/pipeline.rb:451
2064
+ sig { params(constant: T::Module[T.anything], strict: T::Boolean).returns(T::Boolean) }
2065
+ def defined_in_gem?(constant, strict: T.unsafe(nil)); end
2066
+
2067
+ # pkg:gem/tapioca#lib/tapioca/gem/pipeline.rb:203
2068
+ sig { params(event: ::Tapioca::Gem::Event).void }
2069
+ def dispatch(event); end
2070
+
2071
+ # pkg:gem/tapioca#lib/tapioca/gem/pipeline.rb:494
2072
+ sig { params(constant: T.all(::T::Generic, T::Module[T.anything])).returns(::String) }
2073
+ def generic_name_of(constant); end
2074
+
2075
+ # pkg:gem/tapioca#lib/tapioca/gem/pipeline.rb:463
2076
+ sig { params(constant: T::Module[T.anything]).returns(T::Set[::String]) }
2077
+ def get_file_candidates(constant); end
2078
+
2079
+ # pkg:gem/tapioca#lib/tapioca/gem/pipeline.rb:188
2080
+ sig { params(gem: ::Tapioca::Gemfile::GemSpec).returns(T::Set[::String]) }
2081
+ def load_bootstrap_symbols(gem); end
2082
+
2083
+ # pkg:gem/tapioca#lib/tapioca/gem/pipeline.rb:510
2084
+ sig { params(constant: T::Module[T.anything], class_name: T.nilable(::String)).returns(T.nilable(::String)) }
2085
+ def name_of_proxy_target(constant, class_name); end
2086
+
2087
+ # pkg:gem/tapioca#lib/tapioca/gem/pipeline.rb:198
2088
+ sig { returns(::Tapioca::Gem::Event) }
2089
+ def next_event; end
2090
+
2091
+ # pkg:gem/tapioca#lib/tapioca/gem/pipeline.rb:226
2092
+ sig { params(event: ::Tapioca::Gem::ConstantFound).void }
2093
+ def on_constant(event); end
2094
+
2095
+ # pkg:gem/tapioca#lib/tapioca/gem/pipeline.rb:238
2096
+ sig { params(event: ::Tapioca::Gem::NodeAdded).void }
2097
+ def on_node(event); end
2098
+
2099
+ # pkg:gem/tapioca#lib/tapioca/gem/pipeline.rb:217
2100
+ sig { params(event: ::Tapioca::Gem::SymbolFound).void }
2101
+ def on_symbol(event); end
2102
+
2103
+ # pkg:gem/tapioca#lib/tapioca/gem/pipeline.rb:482
2104
+ sig { params(name: ::String).void }
2105
+ def seen!(name); end
2106
+
2107
+ # pkg:gem/tapioca#lib/tapioca/gem/pipeline.rb:487
2108
+ sig { params(name: ::String).returns(T::Boolean) }
2109
+ def seen?(name); end
2110
+
2111
+ # pkg:gem/tapioca#lib/tapioca/gem/pipeline.rb:420
2112
+ sig { params(name: ::String, constant: T::Module[T.anything]).returns(T::Boolean) }
2113
+ def skip_alias?(name, constant); end
2114
+
2115
+ # @without_runtime
2116
+ #
2117
+ # pkg:gem/tapioca#lib/tapioca/gem/pipeline.rb:408
2118
+ def skip_constant?(name, constant); end
2119
+
2120
+ # pkg:gem/tapioca#lib/tapioca/gem/pipeline.rb:438
2121
+ sig { params(name: ::String, constant: T::Module[T.anything]).returns(T::Boolean) }
2122
+ def skip_foreign_constant?(name, constant); end
2123
+
2124
+ # pkg:gem/tapioca#lib/tapioca/gem/pipeline.rb:443
2125
+ sig { params(name: ::String, constant: T::Module[T.anything]).returns(T::Boolean) }
2126
+ def skip_module?(name, constant); end
2127
+
2128
+ # @without_runtime
2129
+ #
2130
+ # pkg:gem/tapioca#lib/tapioca/gem/pipeline.rb:430
2131
+ def skip_object?(name, constant); end
2132
+
2133
+ # pkg:gem/tapioca#lib/tapioca/gem/pipeline.rb:402
2134
+ sig { params(name: ::String).returns(T::Boolean) }
2135
+ def skip_symbol?(name); end
2136
+ end
2137
+
2138
+ # pkg:gem/tapioca#lib/tapioca/gem/pipeline.rb:10
2139
+ Tapioca::Gem::Pipeline::IGNORED_SYMBOLS = T.let(T.unsafe(nil), Array)
2140
+
2141
+ # pkg:gem/tapioca#lib/tapioca/gem/pipeline.rb:120
2142
+ class Tapioca::Gem::Pipeline::MethodDefinitionLookupResult
2143
+ abstract!
2144
+ end
2145
+
2146
+ # The method defined in gem and has a source location
2147
+ #
2148
+ # pkg:gem/tapioca#lib/tapioca/gem/pipeline.rb:135
2149
+ class Tapioca::Gem::Pipeline::MethodInGemWithLocation < ::Tapioca::Gem::Pipeline::MethodDefinitionLookupResult
2150
+ # pkg:gem/tapioca#lib/tapioca/gem/pipeline.rb:140
2151
+ sig { params(location: ::Tapioca::Runtime::SourceLocation).void }
2152
+ def initialize(location); end
2153
+
2154
+ # pkg:gem/tapioca#lib/tapioca/gem/pipeline.rb:137
2155
+ sig { returns(::Tapioca::Runtime::SourceLocation) }
2156
+ def location; end
2157
+ end
2158
+
2159
+ # The method probably defined in the gem but doesn't have a source location
2160
+ #
2161
+ # pkg:gem/tapioca#lib/tapioca/gem/pipeline.rb:132
2162
+ class Tapioca::Gem::Pipeline::MethodInGemWithoutLocation < ::Tapioca::Gem::Pipeline::MethodDefinitionLookupResult; end
2163
+
2164
+ # The method is not defined in the gem
2165
+ #
2166
+ # pkg:gem/tapioca#lib/tapioca/gem/pipeline.rb:129
2167
+ class Tapioca::Gem::Pipeline::MethodNotInGem < ::Tapioca::Gem::Pipeline::MethodDefinitionLookupResult; end
2168
+
2169
+ # The method doesn't seem to exist
2170
+ #
2171
+ # pkg:gem/tapioca#lib/tapioca/gem/pipeline.rb:126
2172
+ class Tapioca::Gem::Pipeline::MethodUnknown < ::Tapioca::Gem::Pipeline::MethodDefinitionLookupResult; end
2173
+
2174
+ # pkg:gem/tapioca#lib/tapioca/gem/events.rb:83
2175
+ class Tapioca::Gem::ScopeNodeAdded < ::Tapioca::Gem::NodeAdded
2176
+ # pkg:gem/tapioca#lib/tapioca/gem/events.rb:88
2177
+ sig { params(symbol: ::String, constant: T::Module[T.anything], node: ::RBI::Scope).void }
2178
+ def initialize(symbol, constant, node); end
2179
+
2180
+ # pkg:gem/tapioca#lib/tapioca/gem/events.rb:85
2181
+ sig { returns(::RBI::Scope) }
2182
+ def node; end
2183
+ end
2184
+
2185
+ # pkg:gem/tapioca#lib/tapioca/gem/events.rb:12
2186
+ class Tapioca::Gem::SymbolFound < ::Tapioca::Gem::Event
2187
+ # pkg:gem/tapioca#lib/tapioca/gem/events.rb:17
2188
+ sig { params(symbol: ::String).void }
2189
+ def initialize(symbol); end
2190
+
2191
+ # pkg:gem/tapioca#lib/tapioca/gem/events.rb:14
2192
+ sig { returns(::String) }
2193
+ def symbol; end
2194
+ end
2195
+
2196
+ # pkg:gem/tapioca#lib/tapioca/helpers/gem_helper.rb:5
2197
+ module Tapioca::GemHelper
2198
+ # pkg:gem/tapioca#lib/tapioca/helpers/gem_helper.rb:7
2199
+ sig { params(app_dir: T.any(::Pathname, ::String), full_gem_path: ::String).returns(T::Boolean) }
2200
+ def gem_in_app_dir?(app_dir, full_gem_path); end
2201
+
2202
+ # pkg:gem/tapioca#lib/tapioca/helpers/gem_helper.rb:15
2203
+ sig { params(full_gem_path: ::String).returns(T::Boolean) }
2204
+ def gem_in_bundle_path?(full_gem_path); end
2205
+
2206
+ # pkg:gem/tapioca#lib/tapioca/helpers/gem_helper.rb:20
2207
+ sig { params(full_gem_path: ::String).returns(T::Boolean) }
2208
+ def gem_in_ruby_path?(full_gem_path); end
2209
+
2210
+ # pkg:gem/tapioca#lib/tapioca/helpers/gem_helper.rb:25
2211
+ sig { params(path: T.any(::Pathname, ::String)).returns(::String) }
2212
+ def to_realpath(path); end
2213
+
2214
+ private
2215
+
2216
+ # pkg:gem/tapioca#lib/tapioca/helpers/gem_helper.rb:34
2217
+ sig { params(path: T.any(::Pathname, ::String), dir: T.any(::Pathname, ::String)).returns(T::Boolean) }
2218
+ def path_in_dir?(path, dir); end
2219
+ end
2220
+
2221
+ # pkg:gem/tapioca#lib/tapioca/gem_info.rb:5
2222
+ class Tapioca::GemInfo < ::T::Struct
2223
+ const :name, ::String
2224
+ const :version, ::Gem::Version
2225
+
2226
+ class << self
2227
+ # pkg:gem/tapioca#lib/tapioca/gem_info.rb:13
2228
+ sig { params(spec: T.any(::Bundler::StubSpecification, ::Gem::Specification)).returns(::Tapioca::GemInfo) }
2229
+ def from_spec(spec); end
2230
+ end
2231
+ end
2232
+
2233
+ # pkg:gem/tapioca#lib/tapioca/gemfile.rb:7
2234
+ class Tapioca::Gemfile
2235
+ # pkg:gem/tapioca#lib/tapioca/gemfile.rb:27
2236
+ sig { params(excluded_gems: T::Array[::String]).void }
2237
+ def initialize(excluded_gems); end
2238
+
2239
+ # pkg:gem/tapioca#lib/tapioca/gemfile.rb:18
2240
+ sig { returns(::Bundler::Definition) }
2241
+ def definition; end
2242
+
2243
+ # pkg:gem/tapioca#lib/tapioca/gemfile.rb:21
2244
+ sig { returns(T::Array[::Tapioca::Gemfile::GemSpec]) }
2245
+ def dependencies; end
2246
+
2247
+ # pkg:gem/tapioca#lib/tapioca/gemfile.rb:40
2248
+ sig { params(gem_name: ::String).returns(T.nilable(::Tapioca::Gemfile::GemSpec)) }
2249
+ def gem(gem_name); end
2250
+
2251
+ # pkg:gem/tapioca#lib/tapioca/gemfile.rb:24
2252
+ sig { returns(T::Array[::String]) }
2253
+ def missing_specs; end
2254
+
2255
+ # pkg:gem/tapioca#lib/tapioca/gemfile.rb:45
2256
+ sig { void }
2257
+ def require_bundle; end
2258
+
2259
+ private
2260
+
2261
+ # pkg:gem/tapioca#lib/tapioca/gemfile.rb:101
2262
+ sig { returns(::String) }
2263
+ def dir; end
2264
+
2265
+ # pkg:gem/tapioca#lib/tapioca/gemfile.rb:54
2266
+ sig { returns(::File) }
2267
+ def gemfile; end
2268
+
2269
+ # pkg:gem/tapioca#lib/tapioca/gemfile.rb:96
2270
+ sig { returns(T::Array[::Symbol]) }
2271
+ def groups; end
2272
+
2273
+ # pkg:gem/tapioca#lib/tapioca/gemfile.rb:57
2274
+ sig { returns([T::Array[::Tapioca::Gemfile::GemSpec], T::Array[::String]]) }
2275
+ def load_dependencies; end
2276
+
2277
+ # pkg:gem/tapioca#lib/tapioca/gemfile.rb:54
2278
+ def lockfile; end
2279
+
2280
+ # pkg:gem/tapioca#lib/tapioca/gemfile.rb:68
2281
+ sig { returns([T::Enumerable[T.any(::Bundler::StubSpecification, ::Gem::Specification)], T::Array[::String]]) }
2282
+ def materialize_deps; end
2283
+
2284
+ # pkg:gem/tapioca#lib/tapioca/gemfile.rb:91
2285
+ sig { returns(::Bundler::Runtime) }
2286
+ def runtime; end
2287
+ end
2288
+
2289
+ # pkg:gem/tapioca#lib/tapioca/gemfile.rb:105
2290
+ class Tapioca::Gemfile::GemSpec
2291
+ include ::Tapioca::GemHelper
2292
+
2293
+ # pkg:gem/tapioca#lib/tapioca/gemfile.rb:137
2294
+ sig { params(spec: T.any(::Bundler::StubSpecification, ::Gem::Specification)).void }
2295
+ def initialize(spec); end
2296
+
2297
+ # pkg:gem/tapioca#lib/tapioca/gemfile.rb:147
2298
+ sig { params(other: ::BasicObject).returns(T::Boolean) }
2299
+ def ==(other); end
2300
+
2301
+ # pkg:gem/tapioca#lib/tapioca/gemfile.rb:172
2302
+ sig { params(path: ::String).returns(T::Boolean) }
2303
+ def contains_path?(path); end
2304
+
2305
+ # pkg:gem/tapioca#lib/tapioca/gemfile.rb:162
2306
+ sig { returns(T::Array[::Gem::Dependency]) }
2307
+ def dependencies; end
2308
+
2309
+ # pkg:gem/tapioca#lib/tapioca/gemfile.rb:186
2310
+ sig { returns(T::Boolean) }
2311
+ def export_rbi_files?; end
2312
+
2313
+ # pkg:gem/tapioca#lib/tapioca/gemfile.rb:181
2314
+ sig { returns(T::Array[::String]) }
2315
+ def exported_rbi_files; end
2316
+
2317
+ # pkg:gem/tapioca#lib/tapioca/gemfile.rb:191
2318
+ sig { returns(::RBI::MergeTree) }
2319
+ def exported_rbi_tree; end
2320
+
2321
+ # pkg:gem/tapioca#lib/tapioca/gemfile.rb:134
2322
+ sig { returns(T::Array[::Pathname]) }
2323
+ def files; end
2324
+
2325
+ # pkg:gem/tapioca#lib/tapioca/gemfile.rb:131
2326
+ sig { returns(::String) }
2327
+ def full_gem_path; end
2328
+
2329
+ # pkg:gem/tapioca#lib/tapioca/gemfile.rb:152
2330
+ sig { params(gemfile_dir: ::String).returns(T::Boolean) }
2331
+ def ignore?(gemfile_dir); end
2332
+
2333
+ # pkg:gem/tapioca#lib/tapioca/gemfile.rb:157
2334
+ sig { returns(::String) }
2335
+ def name; end
2336
+
2337
+ # pkg:gem/tapioca#lib/tapioca/gemfile.rb:167
2338
+ sig { returns(::String) }
2339
+ def rbi_file_name; end
2340
+
2341
+ # pkg:gem/tapioca#lib/tapioca/gemfile.rb:203
2342
+ sig { params(file: ::Pathname).returns(::Pathname) }
2343
+ def relative_path_for(file); end
2344
+
2345
+ # pkg:gem/tapioca#lib/tapioca/gemfile.rb:131
2346
+ def version; end
2347
+
2348
+ private
2349
+
2350
+ # pkg:gem/tapioca#lib/tapioca/gemfile.rb:214
2351
+ sig { returns(T::Array[::Pathname]) }
2352
+ def collect_files; end
2353
+
2354
+ # pkg:gem/tapioca#lib/tapioca/gemfile.rb:229
2355
+ sig { returns(T.nilable(T::Boolean)) }
2356
+ def default_gem?; end
2357
+
2358
+ # pkg:gem/tapioca#lib/tapioca/gemfile.rb:285
2359
+ sig { returns(T::Boolean) }
2360
+ def gem_ignored?; end
2361
+
2362
+ # pkg:gem/tapioca#lib/tapioca/gemfile.rb:264
2363
+ sig { params(path: ::String).returns(T::Boolean) }
2364
+ def has_parent_gemspec?(path); end
2365
+
2366
+ # pkg:gem/tapioca#lib/tapioca/gemfile.rb:234
2367
+ sig { returns(::Regexp) }
2368
+ def require_paths_prefix_matcher; end
2369
+
2370
+ # pkg:gem/tapioca#lib/tapioca/gemfile.rb:243
2371
+ sig { params(file: ::String).returns(::Pathname) }
2372
+ def resolve_to_ruby_lib_dir(file); end
2373
+
2374
+ # pkg:gem/tapioca#lib/tapioca/gemfile.rb:257
2375
+ sig { returns(::String) }
2376
+ def version_string; end
2377
+
2378
+ class << self
2379
+ # pkg:gem/tapioca#lib/tapioca/gemfile.rb:111
2380
+ sig { returns(T::Hash[::String, ::Tapioca::Gemfile::GemSpec]) }
2381
+ def spec_lookup_by_file_path; end
2382
+ end
2383
+ end
2384
+
2385
+ # pkg:gem/tapioca#lib/tapioca/gemfile.rb:120
2386
+ Tapioca::Gemfile::GemSpec::IGNORED_GEMS = T.let(T.unsafe(nil), Array)
2387
+
2388
+ # pkg:gem/tapioca#lib/tapioca/gemfile.rb:10
2389
+ Tapioca::Gemfile::Spec = T.type_alias { T.any(::Bundler::StubSpecification, ::Gem::Specification) }
2390
+
2391
+ # pkg:gem/tapioca#lib/tapioca/helpers/package_url.rb:47
2392
+ module Tapioca::Helpers; end
2393
+
2394
+ # pkg:gem/tapioca#lib/tapioca/helpers/package_url.rb:48
2395
+ class Tapioca::Helpers::PackageURL
2396
+ # Constructs a package URL from its components
2397
+ # @param type [String] The package type or protocol.
2398
+ # @param namespace [String] A name prefix, specific to the type of package.
2399
+ # @param name [String] The name of the package.
2400
+ # @param version [String] The version of the package.
2401
+ # @param qualifiers [Hash] Extra qualifying data for a package, specific to the type of package.
2402
+ # @param subpath [String] An extra subpath within a package, relative to the package root.
2403
+ #
2404
+ # pkg:gem/tapioca#lib/tapioca/helpers/package_url.rb:85
2405
+ def initialize(type:, name:, namespace: T.unsafe(nil), version: T.unsafe(nil), qualifiers: T.unsafe(nil), subpath: T.unsafe(nil)); end
2406
+
2407
+ # Returns an array containing the
2408
+ # scheme, type, namespace, name, version, qualifiers, and subpath components
2409
+ # of the package URL.
2410
+ #
2411
+ # pkg:gem/tapioca#lib/tapioca/helpers/package_url.rb:404
2412
+ def deconstruct; end
2413
+
2414
+ # Returns a hash containing the
2415
+ # scheme, type, namespace, name, version, qualifiers, and subpath components
2416
+ # of the package URL.
2417
+ #
2418
+ # pkg:gem/tapioca#lib/tapioca/helpers/package_url.rb:411
2419
+ def deconstruct_keys(_keys); end
2420
+
2421
+ # The name of the package.
2422
+ #
2423
+ # pkg:gem/tapioca#lib/tapioca/helpers/package_url.rb:66
2424
+ def name; end
2425
+
2426
+ # A name prefix, specific to the type of package.
2427
+ # For example, an npm scope, a Docker image owner, or a GitHub user.
2428
+ #
2429
+ # pkg:gem/tapioca#lib/tapioca/helpers/package_url.rb:63
2430
+ def namespace; end
2431
+
2432
+ # Extra qualifying data for a package, specific to the type of package.
2433
+ # For example, the operating system or architecture.
2434
+ #
2435
+ # pkg:gem/tapioca#lib/tapioca/helpers/package_url.rb:73
2436
+ def qualifiers; end
2437
+
2438
+ # The URL scheme, which has a constant value of `"pkg"`.
2439
+ #
2440
+ # pkg:gem/tapioca#lib/tapioca/helpers/package_url.rb:54
2441
+ def scheme; end
2442
+
2443
+ # An extra subpath within a package, relative to the package root.
2444
+ #
2445
+ # pkg:gem/tapioca#lib/tapioca/helpers/package_url.rb:76
2446
+ def subpath; end
2447
+
2448
+ # Returns a hash containing the
2449
+ # scheme, type, namespace, name, version, qualifiers, and subpath components
2450
+ # of the package URL.
2451
+ #
2452
+ # pkg:gem/tapioca#lib/tapioca/helpers/package_url.rb:259
2453
+ def to_h; end
2454
+
2455
+ # Returns a string representation of the package URL.
2456
+ # Package URL representations are created according to the instructions from
2457
+ # https://github.com/package-url/purl-spec/blob/0b1559f76b79829e789c4f20e6d832c7314762c5/PURL-SPECIFICATION.rst#how-to-build-purl-string-from-its-components.
2458
+ #
2459
+ # pkg:gem/tapioca#lib/tapioca/helpers/package_url.rb:274
2460
+ def to_s; end
2461
+
2462
+ # The package type or protocol, such as `"gem"`, `"npm"`, and `"github"`.
2463
+ #
2464
+ # pkg:gem/tapioca#lib/tapioca/helpers/package_url.rb:59
2465
+ def type; end
2466
+
2467
+ # The version of the package.
2468
+ #
2469
+ # pkg:gem/tapioca#lib/tapioca/helpers/package_url.rb:69
2470
+ def version; end
2471
+
2472
+ class << self
2473
+ # Creates a new PackageURL from a string.
2474
+ # @param [String] string The package URL string.
2475
+ # @raise [InvalidPackageURL] If the string is not a valid package URL.
2476
+ # @return [PackageURL]
2477
+ #
2478
+ # pkg:gem/tapioca#lib/tapioca/helpers/package_url.rb:101
2479
+ def parse(string); end
2480
+ end
2481
+ end
2482
+
2483
+ # Raised when attempting to parse an invalid package URL string.
2484
+ # @see #parse
2485
+ #
2486
+ # pkg:gem/tapioca#lib/tapioca/helpers/package_url.rb:51
2487
+ class Tapioca::Helpers::PackageURL::InvalidPackageURL < ::ArgumentError; end
2488
+
2489
+ # pkg:gem/tapioca#lib/tapioca.rb:12
2490
+ Tapioca::LIB_ROOT_DIR = T.let(T.unsafe(nil), String)
2491
+
2492
+ # pkg:gem/tapioca#lib/tapioca/loaders/loader.rb:5
2493
+ module Tapioca::Loaders; end
2494
+
2495
+ # pkg:gem/tapioca#lib/tapioca/loaders/dsl.rb:6
2496
+ class Tapioca::Loaders::Dsl < ::Tapioca::Loaders::Loader
2497
+ # pkg:gem/tapioca#lib/tapioca/loaders/dsl.rb:62
2498
+ sig do
2499
+ params(
2500
+ tapioca_path: ::String,
2501
+ eager_load: T::Boolean,
2502
+ app_root: ::String,
2503
+ halt_upon_load_error: T::Boolean
2504
+ ).void
2505
+ end
2506
+ def initialize(tapioca_path:, eager_load: T.unsafe(nil), app_root: T.unsafe(nil), halt_upon_load_error: T.unsafe(nil)); end
2507
+
2508
+ # @override
2509
+ #
2510
+ # pkg:gem/tapioca#lib/tapioca/loaders/dsl.rb:26
2511
+ sig { override.void }
2512
+ def load; end
2513
+
2514
+ # pkg:gem/tapioca#lib/tapioca/loaders/dsl.rb:33
2515
+ sig { void }
2516
+ def load_dsl_extensions_and_compilers; end
2517
+
2518
+ # pkg:gem/tapioca#lib/tapioca/loaders/dsl.rb:39
2519
+ sig { void }
2520
+ def reload_custom_compilers; end
2521
+
2522
+ protected
2523
+
2524
+ # pkg:gem/tapioca#lib/tapioca/loaders/dsl.rb:108
2525
+ sig { void }
2526
+ def load_application; end
2527
+
2528
+ # pkg:gem/tapioca#lib/tapioca/loaders/dsl.rb:88
2529
+ sig { void }
2530
+ def load_dsl_compilers; end
2531
+
2532
+ # pkg:gem/tapioca#lib/tapioca/loaders/dsl.rb:73
2533
+ sig { void }
2534
+ def load_dsl_extensions; end
2535
+
2536
+ private
2537
+
2538
+ # pkg:gem/tapioca#lib/tapioca/loaders/dsl.rb:124
2539
+ sig { void }
2540
+ def load_custom_dsl_compilers; end
2541
+
2542
+ class << self
2543
+ # pkg:gem/tapioca#lib/tapioca/loaders/dsl.rb:9
2544
+ sig do
2545
+ params(
2546
+ tapioca_path: ::String,
2547
+ eager_load: T::Boolean,
2548
+ app_root: ::String,
2549
+ halt_upon_load_error: T::Boolean
2550
+ ).void
2551
+ end
2552
+ def load_application(tapioca_path:, eager_load: T.unsafe(nil), app_root: T.unsafe(nil), halt_upon_load_error: T.unsafe(nil)); end
2553
+ end
2554
+ end
2555
+
2556
+ # pkg:gem/tapioca#lib/tapioca/loaders/gem.rb:6
2557
+ class Tapioca::Loaders::Gem < ::Tapioca::Loaders::Loader
2558
+ # pkg:gem/tapioca#lib/tapioca/loaders/gem.rb:30
2559
+ sig do
2560
+ params(
2561
+ bundle: ::Tapioca::Gemfile,
2562
+ prerequire: T.nilable(::String),
2563
+ postrequire: ::String,
2564
+ default_command: ::String,
2565
+ halt_upon_load_error: T::Boolean
2566
+ ).void
2567
+ end
2568
+ def initialize(bundle:, prerequire:, postrequire:, default_command:, halt_upon_load_error:); end
2569
+
2570
+ # @override
2571
+ #
2572
+ # pkg:gem/tapioca#lib/tapioca/loaders/gem.rb:23
2573
+ sig { override.void }
2574
+ def load; end
2575
+
2576
+ protected
2577
+
2578
+ # pkg:gem/tapioca#lib/tapioca/loaders/gem.rb:68
2579
+ sig { params(file: ::String, error: ::LoadError).void }
2580
+ def explain_failed_require(file, error); end
2581
+
2582
+ # pkg:gem/tapioca#lib/tapioca/loaders/gem.rb:41
2583
+ sig { void }
2584
+ def require_gem_file; end
2585
+
2586
+ class << self
2587
+ # pkg:gem/tapioca#lib/tapioca/loaders/gem.rb:9
2588
+ sig do
2589
+ params(
2590
+ bundle: ::Tapioca::Gemfile,
2591
+ prerequire: T.nilable(::String),
2592
+ postrequire: ::String,
2593
+ default_command: ::String,
2594
+ halt_upon_load_error: T::Boolean
2595
+ ).void
2596
+ end
2597
+ def load_application(bundle:, prerequire:, postrequire:, default_command:, halt_upon_load_error:); end
2598
+ end
2599
+ end
2600
+
2601
+ # @abstract
2602
+ #
2603
+ # pkg:gem/tapioca#lib/tapioca/loaders/loader.rb:6
2604
+ class Tapioca::Loaders::Loader
2605
+ include ::Thor::Base
2606
+ include ::Thor::Invocation
2607
+ include ::Thor::Shell
2608
+ include ::Tapioca::CliHelper
2609
+ include ::Tapioca::GemHelper
2610
+ extend ::Thor::Base::ClassMethods
2611
+ extend ::Thor::Invocation::ClassMethods
2612
+
2613
+ abstract!
2614
+
2615
+ # @abstract
2616
+ #
2617
+ # pkg:gem/tapioca#lib/tapioca/loaders/loader.rb:17
2618
+ sig { abstract.void }
2619
+ def load; end
2620
+
2621
+ private
2622
+
2623
+ # Rails 7.2 renamed `eager_load_paths` to `all_eager_load_paths`, which maintains the same original functionality.
2624
+ # The `eager_load_paths` method still exists, but doesn't return all paths anymore and causes Tapioca to miss some
2625
+ # engine paths. The following commit is the change:
2626
+ # https://github.com/rails/rails/commit/ebfca905db14020589c22e6937382e6f8f687664
2627
+ # @without_runtime
2628
+ #
2629
+ # pkg:gem/tapioca#lib/tapioca/loaders/loader.rb:218
2630
+ def eager_load_paths(engine); end
2631
+
2632
+ # pkg:gem/tapioca#lib/tapioca/loaders/loader.rb:182
2633
+ sig { void }
2634
+ def eager_load_rails_app; end
2635
+
2636
+ # @without_runtime
2637
+ #
2638
+ # pkg:gem/tapioca#lib/tapioca/loaders/loader.rb:161
2639
+ def engines; end
2640
+
2641
+ # pkg:gem/tapioca#lib/tapioca/loaders/loader.rb:22
2642
+ sig do
2643
+ params(
2644
+ gemfile: ::Tapioca::Gemfile,
2645
+ initialize_file: T.nilable(::String),
2646
+ require_file: T.nilable(::String),
2647
+ halt_upon_load_error: T::Boolean
2648
+ ).void
2649
+ end
2650
+ def load_bundle(gemfile, initialize_file, require_file, halt_upon_load_error); end
2651
+
2652
+ # pkg:gem/tapioca#lib/tapioca/loaders/loader.rb:118
2653
+ sig { void }
2654
+ def load_engines_in_classic_mode; end
2655
+
2656
+ # pkg:gem/tapioca#lib/tapioca/loaders/loader.rb:100
2657
+ sig { void }
2658
+ def load_engines_in_zeitwerk_mode; end
2659
+
2660
+ # pkg:gem/tapioca#lib/tapioca/loaders/loader.rb:35
2661
+ sig do
2662
+ params(
2663
+ environment_load: T::Boolean,
2664
+ eager_load: T::Boolean,
2665
+ app_root: ::String,
2666
+ halt_upon_load_error: T::Boolean
2667
+ ).void
2668
+ end
2669
+ def load_rails_application(environment_load: T.unsafe(nil), eager_load: T.unsafe(nil), app_root: T.unsafe(nil), halt_upon_load_error: T.unsafe(nil)); end
2670
+
2671
+ # pkg:gem/tapioca#lib/tapioca/loaders/loader.rb:75
2672
+ sig { void }
2673
+ def load_rails_engines; end
2674
+
2675
+ # pkg:gem/tapioca#lib/tapioca/loaders/loader.rb:203
2676
+ sig { params(file: T.nilable(::String)).void }
2677
+ def require_helper(file); end
2678
+
2679
+ # pkg:gem/tapioca#lib/tapioca/loaders/loader.rb:89
2680
+ def run_initializers; end
2681
+
2682
+ # pkg:gem/tapioca#lib/tapioca/loaders/loader.rb:175
2683
+ sig { params(path: ::String).void }
2684
+ def safe_require(path); end
2685
+
2686
+ # pkg:gem/tapioca#lib/tapioca/loaders/loader.rb:143
2687
+ sig { params(blk: T.proc.void).void }
2688
+ def with_rails_application(&blk); end
2689
+
2690
+ # pkg:gem/tapioca#lib/tapioca/loaders/loader.rb:136
2691
+ sig { returns(T::Boolean) }
2692
+ def zeitwerk_mode?; end
2693
+ end
2694
+
2695
+ # pkg:gem/tapioca#lib/tapioca/helpers/rbi_files_helper.rb:5
2696
+ module Tapioca::RBIFilesHelper
2697
+ requires_ancestor { Tapioca::SorbetHelper }
2698
+ requires_ancestor { Thor::Shell }
2699
+
2700
+ # pkg:gem/tapioca#lib/tapioca/helpers/rbi_files_helper.rb:42
2701
+ sig do
2702
+ params(
2703
+ index: ::RBI::Index,
2704
+ shim_rbi_dir: ::String,
2705
+ todo_rbi_file: ::String
2706
+ ).returns(T::Hash[::String, T::Array[::RBI::Node]])
2707
+ end
2708
+ def duplicated_nodes_from_index(index, shim_rbi_dir:, todo_rbi_file:); end
2709
+
2710
+ # pkg:gem/tapioca#lib/tapioca/helpers/rbi_files_helper.rb:13
2711
+ sig { params(index: ::RBI::Index, kind: ::String, file: ::String).void }
2712
+ def index_rbi(index, kind, file); end
2713
+
2714
+ # pkg:gem/tapioca#lib/tapioca/helpers/rbi_files_helper.rb:25
2715
+ sig { params(index: ::RBI::Index, kind: ::String, dir: ::String, number_of_workers: T.nilable(::Integer)).void }
2716
+ def index_rbis(index, kind, dir, number_of_workers:); end
2717
+
2718
+ # pkg:gem/tapioca#lib/tapioca/helpers/rbi_files_helper.rb:59
2719
+ sig { params(loc: ::RBI::Loc, path_prefix: T.nilable(::String)).returns(::String) }
2720
+ def location_to_payload_url(loc, path_prefix:); end
2721
+
2722
+ # pkg:gem/tapioca#lib/tapioca/helpers/rbi_files_helper.rb:71
2723
+ sig do
2724
+ params(
2725
+ command: ::String,
2726
+ gem_dir: ::String,
2727
+ dsl_dir: ::String,
2728
+ auto_strictness: T::Boolean,
2729
+ gems: T::Array[::Tapioca::Gemfile::GemSpec],
2730
+ compilers: T::Enumerable[T.class_of(Tapioca::Dsl::Compiler)]
2731
+ ).void
2732
+ end
2733
+ def validate_rbi_files(command:, gem_dir:, dsl_dir:, auto_strictness:, gems: T.unsafe(nil), compilers: T.unsafe(nil)); end
2734
+
2735
+ private
2736
+
2737
+ # pkg:gem/tapioca#lib/tapioca/helpers/rbi_files_helper.rb:249
2738
+ sig { params(nodes: T::Array[::RBI::Node]).returns(T::Array[T.any(::RBI::Attr, ::RBI::Method)]) }
2739
+ def extract_methods_and_attrs(nodes); end
2740
+
2741
+ # pkg:gem/tapioca#lib/tapioca/helpers/rbi_files_helper.rb:242
2742
+ sig do
2743
+ params(
2744
+ nodes: T::Array[::RBI::Node],
2745
+ shim_rbi_dir: ::String,
2746
+ todo_rbi_file: ::String
2747
+ ).returns(T::Array[::RBI::Node])
2748
+ end
2749
+ def extract_shims_and_todos(nodes, shim_rbi_dir:, todo_rbi_file:); end
2750
+
2751
+ # pkg:gem/tapioca#lib/tapioca/helpers/rbi_files_helper.rb:286
2752
+ sig { params(path: ::String).returns(::String) }
2753
+ def gem_name_from_rbi_path(path); end
2754
+
2755
+ # pkg:gem/tapioca#lib/tapioca/helpers/rbi_files_helper.rb:210
2756
+ sig { params(nodes: T::Array[::RBI::Node], shims_or_todos: T::Array[::RBI::Node]).returns(T::Boolean) }
2757
+ def has_duplicated_methods_and_attrs?(nodes, shims_or_todos); end
2758
+
2759
+ # pkg:gem/tapioca#lib/tapioca/helpers/rbi_files_helper.rb:202
2760
+ sig { params(shims_or_todos: T::Array[::RBI::Node]).returns(T::Boolean) }
2761
+ def has_duplicated_mixins?(shims_or_todos); end
2762
+
2763
+ # pkg:gem/tapioca#lib/tapioca/helpers/rbi_files_helper.rb:174
2764
+ sig { params(all_nodes: T::Array[::RBI::Node], shims_or_todos: T::Array[::RBI::Node]).returns(T::Boolean) }
2765
+ def has_duplicated_scopes?(all_nodes, shims_or_todos); end
2766
+
2767
+ # pkg:gem/tapioca#lib/tapioca/helpers/rbi_files_helper.rb:140
2768
+ sig { params(index: ::RBI::Index, files: T::Array[::String], number_of_workers: T.nilable(::Integer)).void }
2769
+ def parse_and_index_files(index, files, number_of_workers:); end
2770
+
2771
+ # Do the list of `nodes` sharing the same name have duplicates?
2772
+ #
2773
+ # pkg:gem/tapioca#lib/tapioca/helpers/rbi_files_helper.rb:157
2774
+ sig { params(nodes: T::Array[::RBI::Node], shim_rbi_dir: ::String, todo_rbi_file: ::String).returns(T::Boolean) }
2775
+ def shims_or_todos_have_duplicates?(nodes, shim_rbi_dir:, todo_rbi_file:); end
2776
+
2777
+ # pkg:gem/tapioca#lib/tapioca/helpers/rbi_files_helper.rb:259
2778
+ sig { params(errors: T::Array[::Spoom::Sorbet::Errors::Error], gem_dir: ::String).void }
2779
+ def update_gem_rbis_strictnesses(errors, gem_dir); end
2780
+ end
2781
+
2782
+ # pkg:gem/tapioca#lib/tapioca/rbi_formatter.rb:5
2783
+ class Tapioca::RBIFormatter < ::RBI::Formatter
2784
+ # pkg:gem/tapioca#lib/tapioca/rbi_formatter.rb:16
2785
+ sig { params(file: ::RBI::File).void }
2786
+ def write_empty_body_comment!(file); end
2787
+
2788
+ # pkg:gem/tapioca#lib/tapioca/rbi_formatter.rb:7
2789
+ sig { params(file: ::RBI::File, command: ::String, reason: T.nilable(::String)).void }
2790
+ def write_header!(file, command, reason: T.unsafe(nil)); end
2791
+ end
2792
+
2793
+ # pkg:gem/tapioca#lib/tapioca/helpers/rbi_helper.rb:5
2794
+ module Tapioca::RBIHelper
2795
+ include ::Tapioca::SorbetHelper
2796
+ extend ::Tapioca::SorbetHelper
2797
+ extend ::Tapioca::RBIHelper
2798
+
2799
+ # pkg:gem/tapioca#lib/tapioca/helpers/rbi_helper.rb:80
2800
+ sig { params(type: ::String).returns(::String) }
2801
+ def as_nilable_type(type); end
2802
+
2803
+ # pkg:gem/tapioca#lib/tapioca/helpers/rbi_helper.rb:89
2804
+ sig { params(type: ::String).returns(::String) }
2805
+ def as_non_nilable_type(type); end
2806
+
2807
+ # pkg:gem/tapioca#lib/tapioca/helpers/rbi_helper.rb:61
2808
+ sig { params(name: ::String, type: ::String).returns(::RBI::TypedParam) }
2809
+ def create_block_param(name, type:); end
2810
+
2811
+ # pkg:gem/tapioca#lib/tapioca/helpers/rbi_helper.rb:51
2812
+ sig { params(name: ::String, type: ::String, default: ::String).returns(::RBI::TypedParam) }
2813
+ def create_kw_opt_param(name, type:, default:); end
2814
+
2815
+ # pkg:gem/tapioca#lib/tapioca/helpers/rbi_helper.rb:46
2816
+ sig { params(name: ::String, type: ::String).returns(::RBI::TypedParam) }
2817
+ def create_kw_param(name, type:); end
2818
+
2819
+ # pkg:gem/tapioca#lib/tapioca/helpers/rbi_helper.rb:56
2820
+ sig { params(name: ::String, type: ::String).returns(::RBI::TypedParam) }
2821
+ def create_kw_rest_param(name, type:); end
2822
+
2823
+ # pkg:gem/tapioca#lib/tapioca/helpers/rbi_helper.rb:36
2824
+ sig { params(name: ::String, type: ::String, default: ::String).returns(::RBI::TypedParam) }
2825
+ def create_opt_param(name, type:, default:); end
2826
+
2827
+ # pkg:gem/tapioca#lib/tapioca/helpers/rbi_helper.rb:31
2828
+ sig { params(name: ::String, type: ::String).returns(::RBI::TypedParam) }
2829
+ def create_param(name, type:); end
2830
+
2831
+ # pkg:gem/tapioca#lib/tapioca/helpers/rbi_helper.rb:41
2832
+ sig { params(name: ::String, type: ::String).returns(::RBI::TypedParam) }
2833
+ def create_rest_param(name, type:); end
2834
+
2835
+ # pkg:gem/tapioca#lib/tapioca/helpers/rbi_helper.rb:66
2836
+ sig { params(param: ::RBI::Param, type: ::String).returns(::RBI::TypedParam) }
2837
+ def create_typed_param(param, type); end
2838
+
2839
+ # pkg:gem/tapioca#lib/tapioca/helpers/rbi_helper.rb:100
2840
+ sig { params(type_strings: T::Array[::String]).returns(T::Array[::String]) }
2841
+ def extract_type_parameters(type_strings); end
2842
+
2843
+ # pkg:gem/tapioca#lib/tapioca/helpers/rbi_helper.rb:71
2844
+ sig { params(sig_string: ::String).returns(::String) }
2845
+ def sanitize_signature_types(sig_string); end
2846
+
2847
+ # pkg:gem/tapioca#lib/tapioca/helpers/rbi_helper.rb:105
2848
+ sig { params(name: ::String).returns(T::Boolean) }
2849
+ def valid_method_name?(name); end
2850
+
2851
+ # pkg:gem/tapioca#lib/tapioca/helpers/rbi_helper.rb:110
2852
+ sig { params(name: ::String).returns(T::Boolean) }
2853
+ def valid_parameter_name?(name); end
2854
+
2855
+ class << self
2856
+ # pkg:gem/tapioca#lib/tapioca/helpers/rbi_helper.rb:12
2857
+ sig do
2858
+ params(
2859
+ type: ::String,
2860
+ variance: ::Symbol,
2861
+ fixed: T.nilable(::String),
2862
+ upper: T.nilable(::String),
2863
+ lower: T.nilable(::String)
2864
+ ).returns(::String)
2865
+ end
2866
+ def serialize_type_variable(type, variance, fixed, upper, lower); end
2867
+ end
2868
+ end
2869
+
2870
+ # pkg:gem/tapioca#lib/tapioca/helpers/rbi_helper.rb:97
2871
+ Tapioca::RBIHelper::TYPE_PARAMETER_MATCHER = T.let(T.unsafe(nil), Regexp)
2872
+
2873
+ # pkg:gem/tapioca#lib/tapioca/rbs/rewriter.rb:9
2874
+ module Tapioca::RBS; end
2875
+
2876
+ # Raises when the host calls `Bootsnap.setup` after tapioca's setup. Host's call
2877
+ # would overwrite tapioca's cache directory, so rewritten iseqs would end up in
2878
+ # the host's regular cache.
2879
+ #
2880
+ # pkg:gem/tapioca#lib/tapioca/rbs/rewriter.rb:15
2881
+ module Tapioca::RBS::BootsnapGuard
2882
+ # pkg:gem/tapioca#lib/tapioca/rbs/rewriter.rb:19
2883
+ sig { params(_kwargs: T.untyped).void }
2884
+ def setup(**_kwargs); end
2885
+ end
2886
+
2887
+ # pkg:gem/tapioca#lib/tapioca/rbs/rewriter.rb:10
2888
+ class Tapioca::RBS::HostBootsnapSetupError < ::StandardError; end
2889
+
2890
+ # pkg:gem/tapioca#lib/tapioca/repo_index.rb:5
2891
+ class Tapioca::RepoIndex
2892
+ # pkg:gem/tapioca#lib/tapioca/repo_index.rb:21
2893
+ sig { void }
2894
+ def initialize; end
2895
+
2896
+ # pkg:gem/tapioca#lib/tapioca/repo_index.rb:26
2897
+ sig { params(gem_name: ::String).void }
2898
+ def <<(gem_name); end
2899
+
2900
+ # pkg:gem/tapioca#lib/tapioca/repo_index.rb:31
2901
+ sig { returns(T::Enumerable[::String]) }
2902
+ def gems; end
2903
+
2904
+ # pkg:gem/tapioca#lib/tapioca/repo_index.rb:36
2905
+ sig { params(gem_name: ::String).returns(T::Boolean) }
2906
+ def has_gem?(gem_name); end
2907
+
2908
+ class << self
2909
+ # pkg:gem/tapioca#lib/tapioca/repo_index.rb:13
2910
+ sig { params(hash: T::Hash[::String, T::Hash[T.untyped, T.untyped]]).returns(::Tapioca::RepoIndex) }
2911
+ def from_hash(hash); end
2912
+
2913
+ # pkg:gem/tapioca#lib/tapioca/repo_index.rb:8
2914
+ sig { params(json: ::String).returns(::Tapioca::RepoIndex) }
2915
+ def from_json(json); end
2916
+ end
2917
+ end
2918
+
2919
+ # pkg:gem/tapioca#lib/tapioca/runtime/trackers/autoload.rb:5
2920
+ module Tapioca::Runtime
2921
+ class << self
2922
+ # pkg:gem/tapioca#lib/tapioca/runtime/helpers.rb:11
2923
+ def silence_warnings(&blk); end
2924
+
2925
+ # pkg:gem/tapioca#lib/tapioca/runtime/helpers.rb:22
2926
+ def with_disabled_exits(&block); end
2927
+ end
2928
+ end
2929
+
2930
+ # pkg:gem/tapioca#lib/tapioca/runtime/dynamic_mixin_compiler.rb:6
2931
+ class Tapioca::Runtime::DynamicMixinCompiler
2932
+ include ::Tapioca::Runtime::Reflection
2933
+
2934
+ # pkg:gem/tapioca#lib/tapioca/runtime/dynamic_mixin_compiler.rb:19
2935
+ def initialize(constant); end
2936
+
2937
+ # pkg:gem/tapioca#lib/tapioca/runtime/dynamic_mixin_compiler.rb:13
2938
+ def class_attribute_predicates; end
2939
+
2940
+ # pkg:gem/tapioca#lib/tapioca/runtime/dynamic_mixin_compiler.rb:13
2941
+ def class_attribute_readers; end
2942
+
2943
+ # pkg:gem/tapioca#lib/tapioca/runtime/dynamic_mixin_compiler.rb:13
2944
+ def class_attribute_writers; end
2945
+
2946
+ # pkg:gem/tapioca#lib/tapioca/runtime/dynamic_mixin_compiler.rb:134
2947
+ def compile_class_attributes(tree); end
2948
+
2949
+ # pkg:gem/tapioca#lib/tapioca/runtime/dynamic_mixin_compiler.rb:177
2950
+ def compile_mixes_in_class_methods(tree); end
2951
+
2952
+ # pkg:gem/tapioca#lib/tapioca/runtime/dynamic_mixin_compiler.rb:10
2953
+ def dynamic_extends; end
2954
+
2955
+ # pkg:gem/tapioca#lib/tapioca/runtime/dynamic_mixin_compiler.rb:10
2956
+ def dynamic_includes; end
2957
+
2958
+ # pkg:gem/tapioca#lib/tapioca/runtime/dynamic_mixin_compiler.rb:129
2959
+ def empty_attributes?; end
2960
+
2961
+ # pkg:gem/tapioca#lib/tapioca/runtime/dynamic_mixin_compiler.rb:219
2962
+ def filtered_mixin?(qualified_mixin_name); end
2963
+
2964
+ # pkg:gem/tapioca#lib/tapioca/runtime/dynamic_mixin_compiler.rb:16
2965
+ def instance_attribute_predicates; end
2966
+
2967
+ # pkg:gem/tapioca#lib/tapioca/runtime/dynamic_mixin_compiler.rb:16
2968
+ def instance_attribute_readers; end
2969
+
2970
+ # pkg:gem/tapioca#lib/tapioca/runtime/dynamic_mixin_compiler.rb:16
2971
+ def instance_attribute_writers; end
2972
+
2973
+ # pkg:gem/tapioca#lib/tapioca/runtime/dynamic_mixin_compiler.rb:212
2974
+ def module_included_by_another_dynamic_extend?(mod, dynamic_extends); end
2975
+ end
2976
+
2977
+ # This class is responsible for storing and looking up information related to generic types.
2978
+ #
2979
+ # The class stores 2 different kinds of data, in two separate lookup tables:
2980
+ # 1. a lookup of generic type instances by constant and name: `@generic_instances`
2981
+ # 2. a lookup of type variable serializer by constant and type variable
2982
+ # instance: `@type_variables`
2983
+ #
2984
+ # By storing the above data, we can cheaply query each constant against this registry
2985
+ # to see if it declares any generic type variables. This becomes a simple lookup in the
2986
+ # `@type_variables` hash table with the given constant.
2987
+ #
2988
+ # If there is no entry, then we can cheaply know that we can skip generic type
2989
+ # information generation for this type.
2990
+ #
2991
+ # On the other hand, if we get a result, then the result will be a hash of type
2992
+ # variable to type variable serializers. This allows us to associate type variables
2993
+ # to the constant names that represent them, easily.
2994
+ #
2995
+ # pkg:gem/tapioca#lib/tapioca/runtime/generic_type_registry.rb:23
2996
+ module Tapioca::Runtime::GenericTypeRegistry
2997
+ class << self
2998
+ # pkg:gem/tapioca#lib/tapioca/runtime/generic_type_registry.rb:73
2999
+ def generic_type_instance?(instance); end
3000
+
3001
+ # pkg:gem/tapioca#lib/tapioca/runtime/generic_type_registry.rb:80
3002
+ def lookup_type_variables(constant); end
3003
+
3004
+ # This method is responsible for building the name of the instantiated concrete type
3005
+ # and cloning the given constant so that we can return a type that is the same
3006
+ # as the current type but is a different instance and has a different name method.
3007
+ #
3008
+ # We cache those cloned instances by their original constant and their name in
3009
+ # `@generic_instances`, so that we don't keep instantiating a new type every single
3010
+ # time it is referenced.
3011
+ # For example, `[Foo[Integer], Foo[Integer], Foo[Integer], Foo[String]]` will only
3012
+ # result in 2 clones (1 for `Foo[Integer]` and another for `Foo[String]`) and
3013
+ # 2 hash lookups (for the other two `Foo[Integer]`s).
3014
+ #
3015
+ # This method returns the created or cached clone of the constant.
3016
+ #
3017
+ # pkg:gem/tapioca#lib/tapioca/runtime/generic_type_registry.rb:57
3018
+ def register_type(constant, types); end
3019
+
3020
+ # This method is called from intercepted calls to `type_member` and `type_template`.
3021
+ # We get passed all the arguments to those methods, as well as the `T::Types::TypeVariable`
3022
+ # instance generated by the Sorbet defined `type_member`/`type_template` call on `T::Generic`.
3023
+ #
3024
+ # This method creates a `String` with that data and stores it in the
3025
+ # `@type_variables` lookup table, keyed by the `constant` and `type_variable`.
3026
+ #
3027
+ # Finally, the original `type_variable` is returned from this method, so that the caller
3028
+ # can return it from the original methods as well.
3029
+ #
3030
+ # pkg:gem/tapioca#lib/tapioca/runtime/generic_type_registry.rb:94
3031
+ def register_type_variable(constant, type_variable); end
3032
+
3033
+ private
3034
+
3035
+ # pkg:gem/tapioca#lib/tapioca/runtime/generic_type_registry.rb:103
3036
+ def create_generic_type(constant, name); end
3037
+
3038
+ # pkg:gem/tapioca#lib/tapioca/runtime/generic_type_registry.rb:145
3039
+ def create_safe_subclass(constant); end
3040
+ end
3041
+ end
3042
+
3043
+ # pkg:gem/tapioca#lib/tapioca/runtime/generic_type_registry.rb:28
3044
+ class Tapioca::Runtime::GenericTypeRegistry::GenericType < ::T::Types::Simple
3045
+ # pkg:gem/tapioca#lib/tapioca/runtime/generic_type_registry.rb:30
3046
+ def initialize(raw_type, underlying_type); end
3047
+
3048
+ # @override
3049
+ #
3050
+ # pkg:gem/tapioca#lib/tapioca/runtime/generic_type_registry.rb:38
3051
+ def valid?(obj); end
3052
+ end
3053
+
3054
+ # pkg:gem/tapioca#lib/tapioca/runtime/helpers.rb:6
3055
+ Tapioca::Runtime::NOOP_METHOD = T.let(T.unsafe(nil), Proc)
3056
+
3057
+ module Tapioca::Runtime::Reflection
3058
+ extend ::Tapioca::Runtime::Reflection
3059
+
3060
+ # pkg:gem/tapioca#lib/tapioca/runtime/reflection.rb:229
3061
+ def abstract_type_of(constant); end
3062
+
3063
+ # pkg:gem/tapioca#lib/tapioca/runtime/reflection.rb:63
3064
+ def ancestors_of(constant); end
3065
+
3066
+ # pkg:gem/tapioca#lib/tapioca/runtime/reflection.rb:84
3067
+ def are_equal?(object, other); end
3068
+
3069
+ # pkg:gem/tapioca#lib/tapioca/runtime/reflection.rb:73
3070
+ def attached_class_of(singleton_class); end
3071
+
3072
+ # pkg:gem/tapioca#lib/tapioca/runtime/reflection.rb:42
3073
+ def class_of(object); end
3074
+
3075
+ # pkg:gem/tapioca#lib/tapioca/runtime/reflection.rb:173
3076
+ def const_source_location(constant_name); end
3077
+
3078
+ # @without_runtime
3079
+ #
3080
+ # pkg:gem/tapioca#lib/tapioca/runtime/reflection.rb:29
3081
+ def constant_defined?(constant); end
3082
+
3083
+ # @without_runtime
3084
+ #
3085
+ # pkg:gem/tapioca#lib/tapioca/runtime/reflection.rb:35
3086
+ def constantize(symbol, inherit: T.unsafe(nil), namespace: T.unsafe(nil)); end
3087
+
3088
+ # pkg:gem/tapioca#lib/tapioca/runtime/reflection.rb:47
3089
+ def constants_of(constant); end
3090
+
3091
+ # Returns an array with all classes that are < than the supplied class.
3092
+ #
3093
+ # class C; end
3094
+ # descendants_of(C) # => []
3095
+ #
3096
+ # class B < C; end
3097
+ # descendants_of(C) # => [B]
3098
+ #
3099
+ # class A < B; end
3100
+ # descendants_of(C) # => [B, A]
3101
+ #
3102
+ # class D < C; end
3103
+ # descendants_of(C) # => [B, A, D]
3104
+ #
3105
+ # pkg:gem/tapioca#lib/tapioca/runtime/reflection.rb:164
3106
+ def descendants_of(klass); end
3107
+
3108
+ # pkg:gem/tapioca#lib/tapioca/runtime/reflection.rb:215
3109
+ def file_candidates_for(constant); end
3110
+
3111
+ # pkg:gem/tapioca#lib/tapioca/runtime/reflection.rb:235
3112
+ def final_module?(constant); end
3113
+
3114
+ # pkg:gem/tapioca#lib/tapioca/runtime/reflection.rb:104
3115
+ def inherited_ancestors_of(constant); end
3116
+
3117
+ # pkg:gem/tapioca#lib/tapioca/runtime/reflection.rb:146
3118
+ def method_of(constant, method); end
3119
+
3120
+ # pkg:gem/tapioca#lib/tapioca/runtime/reflection.rb:52
3121
+ def name_of(constant); end
3122
+
3123
+ # pkg:gem/tapioca#lib/tapioca/runtime/reflection.rb:141
3124
+ def name_of_type(type); end
3125
+
3126
+ # pkg:gem/tapioca#lib/tapioca/runtime/reflection.rb:79
3127
+ def object_id_of(object); end
3128
+
3129
+ # pkg:gem/tapioca#lib/tapioca/runtime/reflection.rb:99
3130
+ def private_instance_methods_of(constant); end
3131
+
3132
+ # pkg:gem/tapioca#lib/tapioca/runtime/reflection.rb:94
3133
+ def protected_instance_methods_of(constant); end
3134
+
3135
+ # pkg:gem/tapioca#lib/tapioca/runtime/reflection.rb:89
3136
+ def public_instance_methods_of(constant); end
3137
+
3138
+ # pkg:gem/tapioca#lib/tapioca/runtime/reflection.rb:113
3139
+ def qualified_name_of(constant); end
3140
+
3141
+ # Examines the call stack to identify the closest location where a "require" is performed
3142
+ # by searching for the label "<top (required)>" or "block in <class:...>" in the
3143
+ # case of an ActiveSupport.on_load hook. If none is found, it returns the location
3144
+ # labeled "<main>", which is the original call site.
3145
+ #
3146
+ # pkg:gem/tapioca#lib/tapioca/runtime/reflection.rb:186
3147
+ def resolve_loc(locations); end
3148
+
3149
+ # pkg:gem/tapioca#lib/tapioca/runtime/reflection.rb:240
3150
+ def sealed_module?(constant); end
3151
+
3152
+ # pkg:gem/tapioca#lib/tapioca/runtime/reflection.rb:134
3153
+ def signature_of(method); end
3154
+
3155
+ # pkg:gem/tapioca#lib/tapioca/runtime/reflection.rb:127
3156
+ def signature_of!(method); end
3157
+
3158
+ # pkg:gem/tapioca#lib/tapioca/runtime/reflection.rb:58
3159
+ def singleton_class_of(constant); end
3160
+
3161
+ # pkg:gem/tapioca#lib/tapioca/runtime/reflection.rb:68
3162
+ def superclass_of(constant); end
3163
+
3164
+ private
3165
+
3166
+ # pkg:gem/tapioca#lib/tapioca/runtime/reflection.rb:277
3167
+ def child_module_for_parent_with_name(parent, name); end
3168
+
3169
+ # pkg:gem/tapioca#lib/tapioca/runtime/reflection.rb:293
3170
+ def has_aliased_namespace?(name); end
3171
+
3172
+ # pkg:gem/tapioca#lib/tapioca/runtime/reflection.rb:288
3173
+ def method_defined_by_forwardable_module?(method); end
3174
+
3175
+ # pkg:gem/tapioca#lib/tapioca/runtime/reflection.rb:263
3176
+ def methods_for(constant); end
3177
+
3178
+ # pkg:gem/tapioca#lib/tapioca/runtime/reflection.rb:247
3179
+ def relevant_methods_for(constant); end
3180
+ end
3181
+
3182
+ # pkg:gem/tapioca#lib/tapioca/runtime/reflection.rb:15
3183
+ Tapioca::Runtime::Reflection::ANCESTORS_METHOD = T.let(T.unsafe(nil), UnboundMethod)
3184
+
3185
+ # pkg:gem/tapioca#lib/tapioca/runtime/reflection.rb:11
3186
+ Tapioca::Runtime::Reflection::CLASS_METHOD = T.let(T.unsafe(nil), UnboundMethod)
3187
+
3188
+ # pkg:gem/tapioca#lib/tapioca/runtime/reflection.rb:12
3189
+ Tapioca::Runtime::Reflection::CONSTANTS_METHOD = T.let(T.unsafe(nil), UnboundMethod)
3190
+
3191
+ # pkg:gem/tapioca#lib/tapioca/runtime/reflection.rb:18
3192
+ Tapioca::Runtime::Reflection::EQUAL_METHOD = T.let(T.unsafe(nil), UnboundMethod)
3193
+
3194
+ # pkg:gem/tapioca#lib/tapioca/runtime/reflection.rb:22
3195
+ Tapioca::Runtime::Reflection::METHOD_METHOD = T.let(T.unsafe(nil), UnboundMethod)
3196
+
3197
+ # pkg:gem/tapioca#lib/tapioca/runtime/reflection.rb:13
3198
+ Tapioca::Runtime::Reflection::NAME_METHOD = T.let(T.unsafe(nil), UnboundMethod)
3199
+
3200
+ # pkg:gem/tapioca#lib/tapioca/runtime/reflection.rb:17
3201
+ Tapioca::Runtime::Reflection::OBJECT_ID_METHOD = T.let(T.unsafe(nil), UnboundMethod)
3202
+
3203
+ # pkg:gem/tapioca#lib/tapioca/runtime/reflection.rb:21
3204
+ Tapioca::Runtime::Reflection::PRIVATE_INSTANCE_METHODS_METHOD = T.let(T.unsafe(nil), UnboundMethod)
3205
+
3206
+ # pkg:gem/tapioca#lib/tapioca/runtime/reflection.rb:20
3207
+ Tapioca::Runtime::Reflection::PROTECTED_INSTANCE_METHODS_METHOD = T.let(T.unsafe(nil), UnboundMethod)
3208
+
3209
+ # pkg:gem/tapioca#lib/tapioca/runtime/reflection.rb:19
3210
+ Tapioca::Runtime::Reflection::PUBLIC_INSTANCE_METHODS_METHOD = T.let(T.unsafe(nil), UnboundMethod)
3211
+
3212
+ # pkg:gem/tapioca#lib/tapioca/runtime/reflection.rb:25
3213
+ Tapioca::Runtime::Reflection::REQUIRED_FROM_LABELS = T.let(T.unsafe(nil), Array)
3214
+
3215
+ # pkg:gem/tapioca#lib/tapioca/runtime/reflection.rb:14
3216
+ Tapioca::Runtime::Reflection::SINGLETON_CLASS_METHOD = T.let(T.unsafe(nil), UnboundMethod)
3217
+
3218
+ # pkg:gem/tapioca#lib/tapioca/runtime/reflection.rb:16
3219
+ Tapioca::Runtime::Reflection::SUPERCLASS_METHOD = T.let(T.unsafe(nil), UnboundMethod)
3220
+
3221
+ class Tapioca::Runtime::Reflection::SignatureBlockError < ::Tapioca::Error; end
3222
+
3223
+ class Tapioca::Runtime::SourceLocation
3224
+ # pkg:gem/tapioca#lib/tapioca/runtime/source_location.rb:18
3225
+ def initialize(file:, line:); end
3226
+
3227
+ # pkg:gem/tapioca#lib/tapioca/runtime/source_location.rb:13
3228
+ def file; end
3229
+
3230
+ # pkg:gem/tapioca#lib/tapioca/runtime/source_location.rb:16
3231
+ def line; end
3232
+
3233
+ class << self
3234
+ # pkg:gem/tapioca#lib/tapioca/runtime/source_location.rb:38
3235
+ def from_loc(loc); end
3236
+
3237
+ private
3238
+
3239
+ def new(*_arg0); end
3240
+ end
3241
+ end
3242
+
3243
+ # this looks something like:
3244
+ # "(eval at /path/to/file.rb:123)"
3245
+ # and we are interested in the "/path/to/file.rb" and "123" parts
3246
+ #
3247
+ # pkg:gem/tapioca#lib/tapioca/runtime/source_location.rb:10
3248
+ Tapioca::Runtime::SourceLocation::EVAL_SOURCE_FILE_PATTERN = T.let(T.unsafe(nil), Regexp)
3249
+
3250
+ # pkg:gem/tapioca#lib/tapioca/runtime/trackers/autoload.rb:6
3251
+ module Tapioca::Runtime::Trackers
3252
+ class << self
3253
+ def disable_all!; end
3254
+
3255
+ # pkg:gem/tapioca#lib/tapioca/runtime/trackers.rb:31
3256
+ def register_tracker(tracker); end
3257
+
3258
+ # pkg:gem/tapioca#lib/tapioca/runtime/trackers.rb:13
3259
+ def with_trackers_enabled(&blk); end
3260
+ end
3261
+ end
3262
+
3263
+ # pkg:gem/tapioca#lib/tapioca/runtime/trackers/autoload.rb:7
3264
+ module Tapioca::Runtime::Trackers::Autoload
3265
+ extend ::Tapioca::Runtime::Trackers::Tracker
3266
+
3267
+ class << self
3268
+ # pkg:gem/tapioca#lib/tapioca/runtime/trackers/autoload.rb:14
3269
+ def eager_load_all!; end
3270
+
3271
+ # pkg:gem/tapioca#lib/tapioca/runtime/trackers/autoload.rb:26
3272
+ def register(constant_name); end
3273
+ end
3274
+ end
3275
+
3276
+ # Registers a TracePoint immediately upon load to track points at which
3277
+ # classes and modules are opened for definition. This is used to track
3278
+ # correspondence between classes/modules and files, as this information isn't
3279
+ # available in the ruby runtime without extra accounting.
3280
+ module Tapioca::Runtime::Trackers::ConstantDefinition
3281
+ extend ::Tapioca::Runtime::Trackers::Tracker
3282
+ extend ::Tapioca::Runtime::Reflection
3283
+
3284
+ class << self
3285
+ # pkg:gem/tapioca#lib/tapioca/runtime/trackers/constant_definition.rb:58
3286
+ def build_source_location(tp, locations); end
3287
+
3288
+ # pkg:gem/tapioca#lib/tapioca/runtime/trackers/constant_definition.rb:52
3289
+ def disable!; end
3290
+
3291
+ # Returns the files in which this class or module was opened. Doesn't know
3292
+ # about situations where the class was opened prior to +require+ing,
3293
+ # or where metaprogramming was used via +eval+, etc.
3294
+ #
3295
+ # pkg:gem/tapioca#lib/tapioca/runtime/trackers/constant_definition.rb:87
3296
+ def files_for(klass); end
3297
+
3298
+ # pkg:gem/tapioca#lib/tapioca/runtime/trackers/constant_definition.rb:92
3299
+ def locations_for(klass); end
3300
+
3301
+ # pkg:gem/tapioca#lib/tapioca/runtime/trackers/constant_definition.rb:67
3302
+ def register(constant, loc); end
3303
+
3304
+ # pkg:gem/tapioca#lib/tapioca/runtime/trackers/constant_definition.rb:73
3305
+ def register_cname(cname, namespace, locations); end
3306
+ end
3307
+ end
3308
+
3309
+ # pkg:gem/tapioca#lib/tapioca/runtime/trackers/method_definition.rb:7
3310
+ module Tapioca::Runtime::Trackers::MethodDefinition
3311
+ extend ::Tapioca::Runtime::Trackers::Tracker
3312
+
3313
+ class << self
3314
+ # pkg:gem/tapioca#lib/tapioca/runtime/trackers/method_definition.rb:28
3315
+ def method_definitions_for(method_name, owner); end
3316
+
3317
+ # pkg:gem/tapioca#lib/tapioca/runtime/trackers/method_definition.rb:14
3318
+ def register(method_name, owner, locations); end
3319
+
3320
+ private
3321
+
3322
+ # pkg:gem/tapioca#lib/tapioca/runtime/trackers/method_definition.rb:42
3323
+ def registrations_for(method_name, owner); end
3324
+ end
3325
+ end
3326
+
3327
+ module Tapioca::Runtime::Trackers::Mixin
3328
+ extend ::Tapioca::Runtime::Trackers::Tracker
3329
+
3330
+ class << self
3331
+ # pkg:gem/tapioca#lib/tapioca/runtime/trackers/mixin.rb:50
3332
+ def constants_with_mixin(mixin); end
3333
+
3334
+ # pkg:gem/tapioca#lib/tapioca/runtime/trackers/mixin.rb:55
3335
+ def mixin_location(mixin, mixin_type, constant); end
3336
+
3337
+ # pkg:gem/tapioca#lib/tapioca/runtime/trackers/mixin.rb:28
3338
+ def register(constant, mixin, mixin_type); end
3339
+
3340
+ # pkg:gem/tapioca#lib/tapioca/runtime/trackers/mixin.rb:37
3341
+ def resolve_to_attached_class(constant, mixin, mixin_type); end
3342
+
3343
+ # pkg:gem/tapioca#lib/tapioca/runtime/trackers/mixin.rb:23
3344
+ def with_disabled_registration(&block); end
3345
+
3346
+ private
3347
+
3348
+ # pkg:gem/tapioca#lib/tapioca/runtime/trackers/mixin.rb:70
3349
+ def find_or_initialize_mixin_lookup(mixin); end
3350
+
3351
+ # pkg:gem/tapioca#lib/tapioca/runtime/trackers/mixin.rb:62
3352
+ def register_with_location(constant, mixin, mixin_type, location); end
3353
+ end
3354
+ end
3355
+
3356
+ class Tapioca::Runtime::Trackers::Mixin::Type < ::T::Enum
3357
+ enums do
3358
+ Extend = new
3359
+ Include = new
3360
+ Prepend = new
3361
+ end
3362
+ end
3363
+
3364
+ # pkg:gem/tapioca#lib/tapioca/runtime/trackers/required_ancestor.rb:7
3365
+ module Tapioca::Runtime::Trackers::RequiredAncestor
3366
+ extend ::Tapioca::Runtime::Trackers::Tracker
3367
+
3368
+ class << self
3369
+ # pkg:gem/tapioca#lib/tapioca/runtime/trackers/required_ancestor.rb:13
3370
+ def register(requiring, block); end
3371
+
3372
+ # pkg:gem/tapioca#lib/tapioca/runtime/trackers/required_ancestor.rb:21
3373
+ def required_ancestors_blocks_by(mod); end
3374
+
3375
+ # pkg:gem/tapioca#lib/tapioca/runtime/trackers/required_ancestor.rb:26
3376
+ def required_ancestors_by(mod); end
3377
+ end
3378
+ end
3379
+
3380
+ # @abstract
3381
+ module Tapioca::Runtime::Trackers::Tracker
3382
+ # pkg:gem/tapioca#lib/tapioca/runtime/trackers/tracker.rb:20
3383
+ def disable!; end
3384
+
3385
+ # pkg:gem/tapioca#lib/tapioca/runtime/trackers/tracker.rb:24
3386
+ def enabled?; end
3387
+
3388
+ # pkg:gem/tapioca#lib/tapioca/runtime/trackers/tracker.rb:28
3389
+ def with_disabled_tracker(&block); end
3390
+
3391
+ class << self
3392
+ # pkg:gem/tapioca#lib/tapioca/runtime/trackers/tracker.rb:11
3393
+ def extended(base); end
3394
+ end
3395
+ end
3396
+
3397
+ # pkg:gem/tapioca#lib/tapioca.rb:14
3398
+ Tapioca::SORBET_CONFIG_FILE = T.let(T.unsafe(nil), String)
3399
+
3400
+ # pkg:gem/tapioca#lib/tapioca.rb:13
3401
+ Tapioca::SORBET_DIR = T.let(T.unsafe(nil), String)
3402
+
3403
+ # pkg:gem/tapioca#lib/tapioca/helpers/sorbet_helper.rb:5
3404
+ module Tapioca::SorbetHelper
3405
+ # pkg:gem/tapioca#lib/tapioca/helpers/sorbet_helper.rb:21
3406
+ sig { params(sorbet_args: ::String).returns(::Spoom::ExecResult) }
3407
+ def sorbet(*sorbet_args); end
3408
+
3409
+ # pkg:gem/tapioca#lib/tapioca/helpers/sorbet_helper.rb:45
3410
+ sig { returns(::String) }
3411
+ def sorbet_path; end
3412
+
3413
+ # pkg:gem/tapioca#lib/tapioca/helpers/sorbet_helper.rb:52
3414
+ sig { params(feature: ::Symbol, version: T.nilable(::Gem::Version)).returns(T::Boolean) }
3415
+ def sorbet_supports?(feature, version: T.unsafe(nil)); end
3416
+
3417
+ # pkg:gem/tapioca#lib/tapioca/helpers/sorbet_helper.rb:26
3418
+ sig { params(source: ::String, rbi_mode: T::Boolean, on_failure: T.proc.params(stderr: ::String).void).void }
3419
+ def sorbet_syntax_check!(source, rbi_mode:, &on_failure); end
3420
+ end
3421
+
3422
+ # pkg:gem/tapioca#lib/tapioca/helpers/sorbet_helper.rb:16
3423
+ Tapioca::SorbetHelper::FEATURE_REQUIREMENTS = T.let(T.unsafe(nil), Hash)
3424
+
3425
+ # pkg:gem/tapioca#lib/tapioca/helpers/sorbet_helper.rb:8
3426
+ Tapioca::SorbetHelper::SORBET_BIN = T.let(T.unsafe(nil), Pathname)
3427
+
3428
+ # pkg:gem/tapioca#lib/tapioca/helpers/sorbet_helper.rb:10
3429
+ Tapioca::SorbetHelper::SORBET_EXE_PATH_ENV_VAR = T.let(T.unsafe(nil), String)
3430
+
3431
+ # pkg:gem/tapioca#lib/tapioca/helpers/sorbet_helper.rb:6
3432
+ Tapioca::SorbetHelper::SORBET_GEM_SPEC = T.let(T.unsafe(nil), Gem::Specification)
3433
+
3434
+ # pkg:gem/tapioca#lib/tapioca/helpers/sorbet_helper.rb:12
3435
+ Tapioca::SorbetHelper::SORBET_PAYLOAD_URL = T.let(T.unsafe(nil), String)
3436
+
3437
+ # pkg:gem/tapioca#lib/tapioca/helpers/sorbet_helper.rb:14
3438
+ Tapioca::SorbetHelper::SPOOM_CONTEXT = T.let(T.unsafe(nil), Spoom::Context)
3439
+
3440
+ # pkg:gem/tapioca#lib/tapioca/static/symbol_table_parser.rb:5
3441
+ module Tapioca::Static; end
3442
+
3443
+ # pkg:gem/tapioca#lib/tapioca/static/requires_compiler.rb:6
3444
+ class Tapioca::Static::RequiresCompiler
3445
+ # pkg:gem/tapioca#lib/tapioca/static/requires_compiler.rb:8
3446
+ sig { params(sorbet_path: ::String).void }
3447
+ def initialize(sorbet_path); end
3448
+
3449
+ # pkg:gem/tapioca#lib/tapioca/static/requires_compiler.rb:13
3450
+ sig { returns(::String) }
3451
+ def compile; end
3452
+
3453
+ private
3454
+
3455
+ # pkg:gem/tapioca#lib/tapioca/static/requires_compiler.rb:27
3456
+ sig { params(config: ::Spoom::Sorbet::Config).returns(T::Array[::String]) }
3457
+ def collect_files(config); end
3458
+
3459
+ # pkg:gem/tapioca#lib/tapioca/static/requires_compiler.rb:42
3460
+ sig { params(file_path: ::String).returns(T::Enumerable[::String]) }
3461
+ def collect_requires(file_path); end
3462
+
3463
+ # pkg:gem/tapioca#lib/tapioca/static/requires_compiler.rb:49
3464
+ sig { params(config: ::Spoom::Sorbet::Config, file_path: ::Pathname).returns(T::Boolean) }
3465
+ def file_ignored_by_sorbet?(config, file_path); end
3466
+
3467
+ # pkg:gem/tapioca#lib/tapioca/static/requires_compiler.rb:78
3468
+ sig { params(path: ::Pathname).returns(T::Array[::String]) }
3469
+ def path_parts(path); end
3470
+ end
3471
+
3472
+ # pkg:gem/tapioca#lib/tapioca/static/symbol_loader.rb:6
3473
+ module Tapioca::Static::SymbolLoader
3474
+ extend ::Tapioca::SorbetHelper
3475
+ extend ::Tapioca::Runtime::Reflection
3476
+
3477
+ class << self
3478
+ # pkg:gem/tapioca#lib/tapioca/static/symbol_loader.rb:35
3479
+ sig { params(gem: ::Tapioca::Gemfile::GemSpec).returns(T::Set[::String]) }
3480
+ def engine_symbols(gem); end
3481
+
3482
+ # pkg:gem/tapioca#lib/tapioca/static/symbol_loader.rb:30
3483
+ sig { params(gem: ::Tapioca::Gemfile::GemSpec).returns(T::Set[::String]) }
3484
+ def gem_symbols(gem); end
3485
+
3486
+ # pkg:gem/tapioca#lib/tapioca/static/symbol_loader.rb:22
3487
+ sig { params(paths: T::Array[::Pathname]).returns(::Rubydex::Graph) }
3488
+ def graph_from_paths(paths); end
3489
+
3490
+ # pkg:gem/tapioca#lib/tapioca/static/symbol_loader.rb:12
3491
+ sig { returns(T::Set[::String]) }
3492
+ def payload_symbols; end
3493
+
3494
+ # pkg:gem/tapioca#lib/tapioca/static/symbol_loader.rb:60
3495
+ sig { params(paths: T::Array[::Pathname]).returns(T::Set[::String]) }
3496
+ def symbols_from_paths(paths); end
3497
+
3498
+ private
3499
+
3500
+ # @without_runtime
3501
+ #
3502
+ # pkg:gem/tapioca#lib/tapioca/static/symbol_loader.rb:79
3503
+ def engines; end
3504
+
3505
+ # pkg:gem/tapioca#lib/tapioca/static/symbol_loader.rb:89
3506
+ sig { params(input: ::String, table_type: ::String).returns(::String) }
3507
+ def symbol_table_json_from(input, table_type: T.unsafe(nil)); end
3508
+ end
3509
+ end
3510
+
3511
+ # pkg:gem/tapioca#lib/tapioca/static/symbol_table_parser.rb:6
3512
+ class Tapioca::Static::SymbolTableParser
3513
+ # pkg:gem/tapioca#lib/tapioca/static/symbol_table_parser.rb:26
3514
+ sig { void }
3515
+ def initialize; end
3516
+
3517
+ # pkg:gem/tapioca#lib/tapioca/static/symbol_table_parser.rb:61
3518
+ sig { params(name: ::String).returns(::String) }
3519
+ def fully_qualified_name(name); end
3520
+
3521
+ # pkg:gem/tapioca#lib/tapioca/static/symbol_table_parser.rb:32
3522
+ sig { params(object: T::Hash[::String, T.untyped]).void }
3523
+ def parse_object(object); end
3524
+
3525
+ # pkg:gem/tapioca#lib/tapioca/static/symbol_table_parser.rb:23
3526
+ sig { returns(T::Set[::String]) }
3527
+ def symbols; end
3528
+
3529
+ class << self
3530
+ # pkg:gem/tapioca#lib/tapioca/static/symbol_table_parser.rb:11
3531
+ sig { params(json_string: ::String).returns(T::Set[::String]) }
3532
+ def parse_json(json_string); end
3533
+ end
3534
+ end
3535
+
3536
+ # pkg:gem/tapioca#lib/tapioca/static/symbol_table_parser.rb:7
3537
+ Tapioca::Static::SymbolTableParser::SKIP_PARSE_KINDS = T.let(T.unsafe(nil), Array)
3538
+
3539
+ # pkg:gem/tapioca#lib/tapioca.rb:16
3540
+ Tapioca::TAPIOCA_CONFIG_FILE = T.let(T.unsafe(nil), String)
3541
+
3542
+ # pkg:gem/tapioca#lib/tapioca.rb:15
3543
+ Tapioca::TAPIOCA_DIR = T.let(T.unsafe(nil), String)
3544
+
3545
+ # pkg:gem/tapioca#lib/tapioca/sorbet_ext/generic_name_patch.rb:88
3546
+ class Tapioca::TypeVariable < ::T::Types::TypeVariable
3547
+ # pkg:gem/tapioca#lib/tapioca/sorbet_ext/generic_name_patch.rb:89
3548
+ def initialize(name, variance); end
3549
+
3550
+ # pkg:gem/tapioca#lib/tapioca/sorbet_ext/generic_name_patch.rb:94
3551
+ def name; end
3552
+ end
3553
+
3554
+ # This is subclassing from `Module` so that instances of this type will be modules.
3555
+ # The reason why we want that is because that means those instances will automatically
3556
+ # get bound to the constant names they are assigned to by Ruby. As a result, we don't
3557
+ # need to do any matching of constants to type variables to bind their names, Ruby will
3558
+ # do that automatically for us and we get the `name` method for free from `Module`.
3559
+ #
3560
+ # pkg:gem/tapioca#lib/tapioca/sorbet_ext/generic_name_patch.rb:102
3561
+ class Tapioca::TypeVariableModule < ::Module
3562
+ # pkg:gem/tapioca#lib/tapioca/sorbet_ext/generic_name_patch.rb:117
3563
+ def initialize(context, type, variance, bounds_proc); end
3564
+
3565
+ # pkg:gem/tapioca#lib/tapioca/sorbet_ext/generic_name_patch.rb:153
3566
+ def coerce_to_type_variable; end
3567
+
3568
+ # pkg:gem/tapioca#lib/tapioca/sorbet_ext/generic_name_patch.rb:133
3569
+ def fixed?; end
3570
+
3571
+ # pkg:gem/tapioca#lib/tapioca/sorbet_ext/generic_name_patch.rb:127
3572
+ def name; end
3573
+
3574
+ # pkg:gem/tapioca#lib/tapioca/sorbet_ext/generic_name_patch.rb:138
3575
+ def serialize; end
3576
+
3577
+ # pkg:gem/tapioca#lib/tapioca/sorbet_ext/generic_name_patch.rb:114
3578
+ def type; end
3579
+
3580
+ private
3581
+
3582
+ # pkg:gem/tapioca#lib/tapioca/sorbet_ext/generic_name_patch.rb:160
3583
+ def bounds; end
3584
+ end
3585
+
3586
+ # pkg:gem/tapioca#lib/tapioca/sorbet_ext/generic_name_patch.rb:111
3587
+ Tapioca::TypeVariableModule::DEFAULT_BOUNDS_PROC = T.let(T.unsafe(nil), Proc)
3588
+
3589
+ # pkg:gem/tapioca#lib/tapioca/sorbet_ext/generic_name_patch.rb:103
3590
+ class Tapioca::TypeVariableModule::Type < ::T::Enum
3591
+ enums do
3592
+ HasAttachedClass = new
3593
+ Member = new
3594
+ Template = new
3595
+ end
3596
+ end
3597
+
3598
+ # pkg:gem/tapioca#lib/tapioca/version.rb:5
3599
+ Tapioca::VERSION = T.let(T.unsafe(nil), String)