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