packwerk 3.2.0 → 3.2.2

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