sorbet-result 1.1.0 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (49) hide show
  1. checksums.yaml +4 -4
  2. data/.ruby-version +1 -1
  3. data/.standard.yml +1 -1
  4. data/.tool-versions +1 -1
  5. data/CHANGELOG.md +11 -0
  6. data/Gemfile +1 -1
  7. data/Gemfile.lock +52 -57
  8. data/README.md +3 -3
  9. data/lib/typed/result.rb +32 -2
  10. data/sorbet/rbi/gems/ast@2.4.2.rbi +1 -0
  11. data/sorbet/rbi/gems/{erubi@1.12.0.rbi → erubi@1.13.0.rbi} +20 -15
  12. data/sorbet/rbi/gems/io-console@0.7.2.rbi +1 -0
  13. data/sorbet/rbi/gems/{json@2.7.1.rbi → json@2.7.5.rbi} +148 -72
  14. data/sorbet/rbi/gems/language_server-protocol@3.17.0.3.rbi +1 -0
  15. data/sorbet/rbi/gems/lint_roller@1.1.0.rbi +1 -0
  16. data/sorbet/rbi/gems/{minitest@5.22.2.rbi → minitest@5.25.1.rbi} +252 -241
  17. data/sorbet/rbi/gems/netrc@0.11.0.rbi +1 -0
  18. data/sorbet/rbi/gems/{parallel@1.24.0.rbi → parallel@1.26.3.rbi} +32 -21
  19. data/sorbet/rbi/gems/{parser@3.3.0.5.rbi → parser@3.3.5.1.rbi} +233 -186
  20. data/sorbet/rbi/gems/prism@1.2.0.rbi +39085 -0
  21. data/sorbet/rbi/gems/psych@5.1.2.rbi +1 -0
  22. data/sorbet/rbi/gems/{racc@1.7.3.rbi → racc@1.8.1.rbi} +38 -33
  23. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +1 -0
  24. data/sorbet/rbi/gems/{rake@13.1.0.rbi → rake@13.2.1.rbi} +56 -55
  25. data/sorbet/rbi/gems/rbi@0.2.1.rbi +4535 -0
  26. data/sorbet/rbi/gems/{regexp_parser@2.9.0.rbi → regexp_parser@2.9.2.rbi} +3 -2
  27. data/sorbet/rbi/gems/{reline@0.4.2.rbi → reline@0.5.10.rbi} +1 -0
  28. data/sorbet/rbi/gems/{rubocop-ast@1.30.0.rbi → rubocop-ast@1.33.1.rbi} +1143 -671
  29. data/sorbet/rbi/gems/{rubocop-performance@1.20.2.rbi → rubocop-performance@1.22.1.rbi} +1 -0
  30. data/sorbet/rbi/gems/{rubocop-sorbet@0.7.7.rbi → rubocop-sorbet@0.7.8.rbi} +1 -0
  31. data/sorbet/rbi/gems/{rubocop@1.60.2.rbi → rubocop@1.66.1.rbi} +3312 -2415
  32. data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +1 -0
  33. data/sorbet/rbi/gems/{spoom@1.2.4.rbi → spoom@1.5.0.rbi} +2009 -854
  34. data/sorbet/rbi/gems/standard-custom@1.0.2.rbi +1 -0
  35. data/sorbet/rbi/gems/{standard-performance@1.3.1.rbi → standard-performance@1.5.0.rbi} +1 -0
  36. data/sorbet/rbi/gems/standard-sorbet@0.0.2.rbi +1 -0
  37. data/sorbet/rbi/gems/{standard@1.34.0.rbi → standard@1.41.1.rbi} +171 -95
  38. data/sorbet/rbi/gems/{stringio@3.1.0.rbi → stringio@3.1.1.rbi} +1 -0
  39. data/sorbet/rbi/gems/{tapioca@0.12.0.rbi → tapioca@0.16.3.rbi} +357 -257
  40. data/sorbet/rbi/gems/{thor@1.3.0.rbi → thor@1.3.2.rbi} +114 -81
  41. data/sorbet/rbi/gems/{unicode-display_width@2.5.0.rbi → unicode-display_width@2.6.0.rbi} +1 -0
  42. data/sorbet/rbi/gems/{yard-sorbet@0.8.1.rbi → yard-sorbet@0.9.0.rbi} +36 -29
  43. data/sorbet/rbi/gems/{yard@0.9.34.rbi → yard@0.9.37.rbi} +430 -270
  44. metadata +28 -45
  45. data/sorbet/rbi/gems/prettier_print@1.2.1.rbi +0 -951
  46. data/sorbet/rbi/gems/prism@0.24.0.rbi +0 -31040
  47. data/sorbet/rbi/gems/rbi@0.1.9.rbi +0 -3006
  48. data/sorbet/rbi/gems/rexml@3.2.6.rbi +0 -4781
  49. data/sorbet/rbi/gems/syntax_tree@6.2.0.rbi +0 -23133
@@ -4,130 +4,91 @@
4
4
  # This is an autogenerated file for types exported from the `spoom` gem.
5
5
  # Please instead update this file by running `bin/tapioca gem spoom`.
6
6
 
7
+
7
8
  # source://spoom//lib/spoom.rb#7
8
- module Spoom; end
9
+ module Spoom
10
+ class << self
11
+ # source://spoom//lib/spoom/parse.rb#13
12
+ sig { params(ruby: ::String, file: ::String).returns(::Prism::Node) }
13
+ def parse_ruby(ruby, file:); end
14
+ end
15
+ end
9
16
 
10
17
  # source://spoom//lib/spoom/cli/helper.rb#9
11
18
  module Spoom::Cli; end
12
19
 
13
- # source://spoom//lib/spoom/cli/bump.rb#9
14
- class Spoom::Cli::Bump < ::Thor
15
- include ::Spoom::Colorize
16
- include ::Spoom::Cli::Helper
17
-
18
- # source://spoom//lib/spoom/cli/bump.rb#49
19
- sig { params(directory: ::String).void }
20
- def bump(directory = T.unsafe(nil)); end
21
-
22
- def help(command = T.unsafe(nil), subcommand = T.unsafe(nil)); end
23
-
24
- # source://spoom//lib/spoom/cli/bump.rb#170
25
- def print_changes(files, command:, from: T.unsafe(nil), to: T.unsafe(nil), dry: T.unsafe(nil), path: T.unsafe(nil)); end
26
-
27
- # source://spoom//lib/spoom/cli/bump.rb#192
28
- def undo_changes(files, from_strictness); end
29
- end
30
-
31
- # source://spoom//lib/spoom/cli/config.rb#9
32
- class Spoom::Cli::Config < ::Thor
33
- include ::Spoom::Colorize
34
- include ::Spoom::Cli::Helper
35
-
36
- def help(command = T.unsafe(nil), subcommand = T.unsafe(nil)); end
37
-
38
- # source://spoom//lib/spoom/cli/config.rb#15
39
- def show; end
40
- end
41
-
42
- # source://spoom//lib/spoom/cli/coverage.rb#9
43
- class Spoom::Cli::Coverage < ::Thor
20
+ # source://spoom//lib/spoom/cli/deadcode.rb#8
21
+ class Spoom::Cli::Deadcode < ::Thor
44
22
  include ::Spoom::Colorize
45
23
  include ::Spoom::Cli::Helper
46
24
 
47
- # source://spoom//lib/spoom/cli/coverage.rb#198
48
- def bundle_install(path, sha); end
25
+ # source://spoom//lib/spoom/cli/deadcode.rb#52
26
+ sig { params(paths: ::String).void }
27
+ def deadcode(*paths); end
49
28
 
50
29
  def help(command = T.unsafe(nil), subcommand = T.unsafe(nil)); end
51
30
 
52
- # source://spoom//lib/spoom/cli/coverage.rb#210
53
- def message_no_data(file); end
54
-
55
- # source://spoom//lib/spoom/cli/coverage.rb#173
56
- def open(file = T.unsafe(nil)); end
57
-
58
- # source://spoom//lib/spoom/cli/coverage.rb#189
59
- def parse_time(string, option); end
60
-
61
- # source://spoom//lib/spoom/cli/coverage.rb#142
62
- def report; end
63
-
64
- # source://spoom//lib/spoom/cli/coverage.rb#20
65
- def snapshot; end
66
-
67
- # source://spoom//lib/spoom/cli/coverage.rb#42
68
- def timeline; end
31
+ # source://spoom//lib/spoom/cli/deadcode.rb#154
32
+ def remove(location_string); end
69
33
  end
70
34
 
71
- # source://spoom//lib/spoom/cli/coverage.rb#12
72
- Spoom::Cli::Coverage::DATA_DIR = T.let(T.unsafe(nil), String)
73
-
74
35
  # source://spoom//lib/spoom/cli/helper.rb#10
75
36
  module Spoom::Cli::Helper
76
37
  include ::Spoom::Colorize
77
38
 
78
39
  requires_ancestor { Thor }
79
40
 
80
- # source://spoom//lib/spoom/cli/helper.rb#119
41
+ # source://spoom//lib/spoom/cli/helper.rb#139
81
42
  sig { params(string: ::String).returns(::String) }
82
43
  def blue(string); end
83
44
 
84
45
  # Is the `--color` option true?
85
46
  #
86
- # source://spoom//lib/spoom/cli/helper.rb#83
47
+ # source://spoom//lib/spoom/cli/helper.rb#103
87
48
  sig { returns(T::Boolean) }
88
49
  def color?; end
89
50
 
90
51
  # Colorize a string if `color?`
91
52
  #
92
- # source://spoom//lib/spoom/cli/helper.rb#112
53
+ # source://spoom//lib/spoom/cli/helper.rb#132
93
54
  sig { params(string: ::String, color: ::Spoom::Color).returns(::String) }
94
55
  def colorize(string, *color); end
95
56
 
96
57
  # Returns the context at `--path` (by default the current working directory)
97
58
  #
98
- # source://spoom//lib/spoom/cli/helper.rb#51
59
+ # source://spoom//lib/spoom/cli/helper.rb#71
99
60
  sig { returns(::Spoom::Context) }
100
61
  def context; end
101
62
 
102
63
  # Raise if `spoom` is not ran inside a context with a `sorbet/config` file
103
64
  #
104
- # source://spoom//lib/spoom/cli/helper.rb#57
65
+ # source://spoom//lib/spoom/cli/helper.rb#77
105
66
  sig { returns(::Spoom::Context) }
106
67
  def context_requiring_sorbet!; end
107
68
 
108
- # source://spoom//lib/spoom/cli/helper.rb#124
69
+ # source://spoom//lib/spoom/cli/helper.rb#144
109
70
  sig { params(string: ::String).returns(::String) }
110
71
  def cyan(string); end
111
72
 
112
73
  # Return the path specified through `--path`
113
74
  #
114
- # source://spoom//lib/spoom/cli/helper.rb#72
75
+ # source://spoom//lib/spoom/cli/helper.rb#92
115
76
  sig { returns(::String) }
116
77
  def exec_path; end
117
78
 
118
- # source://spoom//lib/spoom/cli/helper.rb#129
79
+ # source://spoom//lib/spoom/cli/helper.rb#149
119
80
  sig { params(string: ::String).returns(::String) }
120
81
  def gray(string); end
121
82
 
122
- # source://spoom//lib/spoom/cli/helper.rb#134
83
+ # source://spoom//lib/spoom/cli/helper.rb#154
123
84
  sig { params(string: ::String).returns(::String) }
124
85
  def green(string); end
125
86
 
126
- # source://spoom//lib/spoom/cli/helper.rb#88
87
+ # source://spoom//lib/spoom/cli/helper.rb#108
127
88
  sig { params(string: ::String).returns(::String) }
128
89
  def highlight(string); end
129
90
 
130
- # source://spoom//lib/spoom/cli/helper.rb#139
91
+ # source://spoom//lib/spoom/cli/helper.rb#159
131
92
  sig { params(string: ::String).returns(::String) }
132
93
  def red(string); end
133
94
 
@@ -145,158 +106,243 @@ module Spoom::Cli::Helper
145
106
  sig { params(message: ::String, status: T.nilable(::String), nl: T::Boolean).void }
146
107
  def say_error(message, status: T.unsafe(nil), nl: T.unsafe(nil)); end
147
108
 
148
- # source://spoom//lib/spoom/cli/helper.rb#144
109
+ # Print `message` on `$stderr`
110
+ #
111
+ # The message is prefixed by a status (default: `Warning`).
112
+ #
113
+ # source://spoom//lib/spoom/cli/helper.rb#59
114
+ sig { params(message: ::String, status: T.nilable(::String), nl: T::Boolean).void }
115
+ def say_warning(message, status: T.unsafe(nil), nl: T.unsafe(nil)); end
116
+
117
+ # source://spoom//lib/spoom/cli/helper.rb#164
149
118
  sig { params(string: ::String).returns(::String) }
150
119
  def yellow(string); end
151
120
  end
152
121
 
153
- # source://spoom//lib/spoom/cli/lsp.rb#10
154
- class Spoom::Cli::LSP < ::Thor
122
+ # source://spoom//lib/spoom/cli.rb#12
123
+ class Spoom::Cli::Main < ::Thor
124
+ include ::Spoom::Colorize
125
+ include ::Spoom::Cli::Helper
126
+
127
+ # source://spoom//lib/spoom/cli.rb#101
128
+ def __print_version; end
129
+
130
+ # source://spoom//lib/spoom/cli.rb#58
131
+ sig { params(directory: ::String).void }
132
+ def bump(directory = T.unsafe(nil)); end
133
+
134
+ # source://spoom//lib/spoom/cli.rb#65
135
+ def coverage(*args); end
136
+
137
+ # source://thor/1.3.2/lib/thor.rb#334
138
+ def deadcode(*args); end
139
+
140
+ # source://spoom//lib/spoom/cli.rb#75
141
+ def lsp(*args); end
142
+
143
+ # source://thor/1.3.2/lib/thor.rb#334
144
+ def srb(*args); end
145
+
146
+ # source://spoom//lib/spoom/cli.rb#94
147
+ def tc(*paths_to_select); end
148
+
149
+ class << self
150
+ # @return [Boolean]
151
+ #
152
+ # source://spoom//lib/spoom/cli.rb#108
153
+ def exit_on_failure?; end
154
+ end
155
+ end
156
+
157
+ # source://spoom//lib/spoom/cli.rb#81
158
+ Spoom::Cli::Main::SORT_CODE = T.let(T.unsafe(nil), String)
159
+
160
+ # source://spoom//lib/spoom/cli.rb#83
161
+ Spoom::Cli::Main::SORT_ENUM = T.let(T.unsafe(nil), Array)
162
+
163
+ # source://spoom//lib/spoom/cli.rb#82
164
+ Spoom::Cli::Main::SORT_LOC = T.let(T.unsafe(nil), String)
165
+
166
+ # source://spoom//lib/spoom/cli/srb/bump.rb#9
167
+ module Spoom::Cli::Srb; end
168
+
169
+ # source://spoom//lib/spoom/cli/srb/bump.rb#10
170
+ class Spoom::Cli::Srb::Bump < ::Thor
171
+ include ::Spoom::Colorize
172
+ include ::Spoom::Cli::Helper
173
+
174
+ # source://spoom//lib/spoom/cli/srb/bump.rb#50
175
+ sig { params(directory: ::String).void }
176
+ def bump(directory = T.unsafe(nil)); end
177
+
178
+ def help(command = T.unsafe(nil), subcommand = T.unsafe(nil)); end
179
+
180
+ # source://spoom//lib/spoom/cli/srb/bump.rb#171
181
+ def print_changes(files, command:, from: T.unsafe(nil), to: T.unsafe(nil), dry: T.unsafe(nil), path: T.unsafe(nil)); end
182
+
183
+ # source://spoom//lib/spoom/cli/srb/bump.rb#193
184
+ def undo_changes(files, from_strictness); end
185
+ end
186
+
187
+ # source://spoom//lib/spoom/cli/srb/coverage.rb#10
188
+ class Spoom::Cli::Srb::Coverage < ::Thor
189
+ include ::Spoom::Colorize
190
+ include ::Spoom::Cli::Helper
191
+
192
+ # source://spoom//lib/spoom/cli/srb/coverage.rb#199
193
+ def bundle_install(path, sha); end
194
+
195
+ def help(command = T.unsafe(nil), subcommand = T.unsafe(nil)); end
196
+
197
+ # source://spoom//lib/spoom/cli/srb/coverage.rb#211
198
+ def message_no_data(file); end
199
+
200
+ # source://spoom//lib/spoom/cli/srb/coverage.rb#174
201
+ def open(file = T.unsafe(nil)); end
202
+
203
+ # source://spoom//lib/spoom/cli/srb/coverage.rb#190
204
+ def parse_time(string, option); end
205
+
206
+ # source://spoom//lib/spoom/cli/srb/coverage.rb#143
207
+ def report; end
208
+
209
+ # source://spoom//lib/spoom/cli/srb/coverage.rb#21
210
+ def snapshot; end
211
+
212
+ # source://spoom//lib/spoom/cli/srb/coverage.rb#43
213
+ def timeline; end
214
+ end
215
+
216
+ # source://spoom//lib/spoom/cli/srb/coverage.rb#13
217
+ Spoom::Cli::Srb::Coverage::DATA_DIR = T.let(T.unsafe(nil), String)
218
+
219
+ # source://spoom//lib/spoom/cli/srb/lsp.rb#11
220
+ class Spoom::Cli::Srb::LSP < ::Thor
155
221
  include ::Spoom::Colorize
156
222
  include ::Spoom::Cli::Helper
157
223
 
158
224
  # TODO: options, filter, limit, kind etc.. filter rbi
159
225
  #
160
- # source://spoom//lib/spoom/cli/lsp.rb#55
226
+ # source://spoom//lib/spoom/cli/srb/lsp.rb#45
161
227
  def defs(file, line, col); end
162
228
 
163
229
  # TODO: options, filter, limit, kind etc.. filter rbi
164
230
  #
165
- # source://spoom//lib/spoom/cli/lsp.rb#65
231
+ # source://spoom//lib/spoom/cli/srb/lsp.rb#55
166
232
  def find(query); end
167
233
 
168
234
  def help(command = T.unsafe(nil), subcommand = T.unsafe(nil)); end
169
235
 
170
236
  # TODO: options, filter, limit, kind etc.. filter rbi
171
237
  #
172
- # source://spoom//lib/spoom/cli/lsp.rb#41
238
+ # source://spoom//lib/spoom/cli/srb/lsp.rb#31
173
239
  def hover(file, line, col); end
174
240
 
175
241
  # TODO: options, filter, limit, kind etc.. filter rbi
176
242
  #
177
- # source://spoom//lib/spoom/cli/lsp.rb#26
243
+ # source://spoom//lib/spoom/cli/srb/lsp.rb#16
178
244
  def list; end
179
245
 
180
- # source://spoom//lib/spoom/cli/lsp.rb#114
246
+ # source://spoom//lib/spoom/cli/srb/lsp.rb#104
181
247
  def lsp_client; end
182
248
 
183
249
  # TODO: options, filter, limit, kind etc.. filter rbi
184
250
  #
185
- # source://spoom//lib/spoom/cli/lsp.rb#85
251
+ # source://spoom//lib/spoom/cli/srb/lsp.rb#75
186
252
  def refs(file, line, col); end
187
253
 
188
- # source://spoom//lib/spoom/cli/lsp.rb#137
254
+ # source://spoom//lib/spoom/cli/srb/lsp.rb#127
189
255
  def run(&block); end
190
256
 
191
- # source://spoom//lib/spoom/cli/lsp.rb#16
192
- def show; end
193
-
194
257
  # TODO: options, filter, limit, kind etc.. filter rbi
195
258
  #
196
- # source://spoom//lib/spoom/cli/lsp.rb#95
259
+ # source://spoom//lib/spoom/cli/srb/lsp.rb#85
197
260
  def sigs(file, line, col); end
198
261
 
199
- # source://spoom//lib/spoom/cli/lsp.rb#129
262
+ # source://spoom//lib/spoom/cli/srb/lsp.rb#119
200
263
  def symbol_printer; end
201
264
 
202
265
  # TODO: options, filter, limit, kind etc.. filter rbi
203
266
  #
204
- # source://spoom//lib/spoom/cli/lsp.rb#75
267
+ # source://spoom//lib/spoom/cli/srb/lsp.rb#65
205
268
  def symbols(file); end
206
269
 
207
- # source://spoom//lib/spoom/cli/lsp.rb#162
270
+ # source://spoom//lib/spoom/cli/srb/lsp.rb#152
208
271
  def to_uri(path); end
209
272
 
210
273
  # TODO: options, filter, limit, kind etc.. filter rbi
211
274
  #
212
- # source://spoom//lib/spoom/cli/lsp.rb#105
275
+ # source://spoom//lib/spoom/cli/srb/lsp.rb#95
213
276
  def types(file, line, col); end
214
277
  end
215
278
 
216
- # source://spoom//lib/spoom/cli.rb#16
217
- class Spoom::Cli::Main < ::Thor
218
- include ::Spoom::Colorize
219
- include ::Spoom::Cli::Helper
220
-
221
- # source://spoom//lib/spoom/cli.rb#61
222
- def __print_version; end
223
-
224
- # source://thor/1.3.0/lib/thor.rb#334
279
+ # source://spoom//lib/spoom/cli/srb.rb#12
280
+ class Spoom::Cli::Srb::Main < ::Thor
281
+ # source://thor/1.3.2/lib/thor.rb#334
225
282
  def bump(*args); end
226
283
 
227
- # source://thor/1.3.0/lib/thor.rb#334
228
- def config(*args); end
229
-
230
- # source://thor/1.3.0/lib/thor.rb#334
284
+ # source://thor/1.3.2/lib/thor.rb#334
231
285
  def coverage(*args); end
232
286
 
233
- # source://spoom//lib/spoom/cli.rb#43
234
- def files; end
287
+ def help(command = T.unsafe(nil), subcommand = T.unsafe(nil)); end
235
288
 
236
- # source://thor/1.3.0/lib/thor.rb#334
289
+ # source://thor/1.3.2/lib/thor.rb#334
237
290
  def lsp(*args); end
238
291
 
239
- # source://thor/1.3.0/lib/thor.rb#334
292
+ # source://thor/1.3.2/lib/thor.rb#334
240
293
  def tc(*args); end
241
-
242
- class << self
243
- # @return [Boolean]
244
- #
245
- # source://spoom//lib/spoom/cli.rb#68
246
- def exit_on_failure?; end
247
- end
248
294
  end
249
295
 
250
- # source://spoom//lib/spoom/cli/run.rb#6
251
- class Spoom::Cli::Run < ::Thor
296
+ # source://spoom//lib/spoom/cli/srb/tc.rb#7
297
+ class Spoom::Cli::Srb::Tc < ::Thor
252
298
  include ::Spoom::Colorize
253
299
  include ::Spoom::Cli::Helper
254
300
 
255
- # source://spoom//lib/spoom/cli/run.rb#131
301
+ # source://spoom//lib/spoom/cli/srb/tc.rb#132
256
302
  def colorize_message(message); end
257
303
 
258
- # source://spoom//lib/spoom/cli/run.rb#122
304
+ # source://spoom//lib/spoom/cli/srb/tc.rb#123
259
305
  def format_error(error, format); end
260
306
 
261
307
  def help(command = T.unsafe(nil), subcommand = T.unsafe(nil)); end
262
308
 
263
- # source://spoom//lib/spoom/cli/run.rb#26
309
+ # source://spoom//lib/spoom/cli/srb/tc.rb#27
264
310
  def tc(*paths_to_select); end
265
311
  end
266
312
 
267
- # source://spoom//lib/spoom/cli/run.rb#15
268
- Spoom::Cli::Run::DEFAULT_FORMAT = T.let(T.unsafe(nil), String)
313
+ # source://spoom//lib/spoom/cli/srb/tc.rb#16
314
+ Spoom::Cli::Srb::Tc::DEFAULT_FORMAT = T.let(T.unsafe(nil), String)
269
315
 
270
- # source://spoom//lib/spoom/cli/run.rb#11
271
- Spoom::Cli::Run::SORT_CODE = T.let(T.unsafe(nil), String)
316
+ # source://spoom//lib/spoom/cli/srb/tc.rb#12
317
+ Spoom::Cli::Srb::Tc::SORT_CODE = T.let(T.unsafe(nil), String)
272
318
 
273
- # source://spoom//lib/spoom/cli/run.rb#13
274
- Spoom::Cli::Run::SORT_ENUM = T.let(T.unsafe(nil), Array)
319
+ # source://spoom//lib/spoom/cli/srb/tc.rb#14
320
+ Spoom::Cli::Srb::Tc::SORT_ENUM = T.let(T.unsafe(nil), Array)
275
321
 
276
- # source://spoom//lib/spoom/cli/run.rb#12
277
- Spoom::Cli::Run::SORT_LOC = T.let(T.unsafe(nil), String)
322
+ # source://spoom//lib/spoom/cli/srb/tc.rb#13
323
+ Spoom::Cli::Srb::Tc::SORT_LOC = T.let(T.unsafe(nil), String)
278
324
 
279
325
  # source://spoom//lib/spoom/colors.rb#5
280
326
  class Spoom::Color < ::T::Enum
281
327
  enums do
282
- CLEAR = new
283
- BOLD = new
284
328
  BLACK = new
285
- RED = new
286
- GREEN = new
287
- YELLOW = new
288
329
  BLUE = new
289
- MAGENTA = new
330
+ BOLD = new
331
+ CLEAR = new
290
332
  CYAN = new
291
- WHITE = new
333
+ GREEN = new
292
334
  LIGHT_BLACK = new
293
- LIGHT_RED = new
294
- LIGHT_GREEN = new
295
- LIGHT_YELLOW = new
296
335
  LIGHT_BLUE = new
297
- LIGHT_MAGENTA = new
298
336
  LIGHT_CYAN = new
337
+ LIGHT_GREEN = new
338
+ LIGHT_MAGENTA = new
339
+ LIGHT_RED = new
299
340
  LIGHT_WHITE = new
341
+ LIGHT_YELLOW = new
342
+ MAGENTA = new
343
+ RED = new
344
+ WHITE = new
345
+ YELLOW = new
300
346
  end
301
347
 
302
348
  # source://spoom//lib/spoom/colors.rb#32
@@ -380,7 +426,7 @@ module Spoom::Context::Bundle
380
426
  # Returns `nil` if `gem` cannot be found in the Gemfile.
381
427
  #
382
428
  # source://spoom//lib/spoom/context/bundle.rb#62
383
- sig { params(gem: ::String).returns(T.nilable(::String)) }
429
+ sig { params(gem: ::String).returns(T.nilable(::Gem::Version)) }
384
430
  def gem_version_from_gemfile_lock(gem); end
385
431
 
386
432
  # source://spoom//lib/spoom/context/bundle.rb#51
@@ -579,7 +625,7 @@ module Spoom::Context::Git
579
625
  sig { params(arg: ::String).returns(::Spoom::ExecResult) }
580
626
  def git_show(*arg); end
581
627
 
582
- # Is there uncommited changes in this context directory?
628
+ # Is there uncommitted changes in this context directory?
583
629
  #
584
630
  # source://spoom//lib/spoom/context/git.rb#132
585
631
  sig { params(path: ::String).returns(T::Boolean) }
@@ -958,7 +1004,7 @@ class Spoom::Coverage::D3::ColorPalette < ::T::Struct
958
1004
  prop :strong, ::String
959
1005
 
960
1006
  class << self
961
- # source://sorbet-runtime/0.5.11262/lib/types/struct.rb#13
1007
+ # source://sorbet-runtime/0.5.11633/lib/types/struct.rb#13
962
1008
  def inherited(s); end
963
1009
  end
964
1010
  end
@@ -1298,7 +1344,7 @@ class Spoom::Coverage::Snapshot < ::T::Struct
1298
1344
  sig { params(obj: T::Hash[::String, T.untyped]).returns(::Spoom::Coverage::Snapshot) }
1299
1345
  def from_obj(obj); end
1300
1346
 
1301
- # source://sorbet-runtime/0.5.11262/lib/types/struct.rb#13
1347
+ # source://sorbet-runtime/0.5.11633/lib/types/struct.rb#13
1302
1348
  def inherited(s); end
1303
1349
  end
1304
1350
  end
@@ -1353,42 +1399,20 @@ end
1353
1399
  # source://spoom//lib/spoom/deadcode/erb.rb#27
1354
1400
  module Spoom::Deadcode
1355
1401
  class << self
1356
- # source://spoom//lib/spoom/deadcode.rb#51
1357
- sig do
1358
- params(
1359
- index: ::Spoom::Deadcode::Index,
1360
- erb: ::String,
1361
- file: ::String,
1362
- plugins: T::Array[::Spoom::Deadcode::Plugins::Base]
1363
- ).void
1364
- end
1365
- def index_erb(index, erb, file:, plugins: T.unsafe(nil)); end
1366
-
1367
- # source://spoom//lib/spoom/deadcode.rb#40
1368
- sig do
1369
- params(
1370
- index: ::Spoom::Deadcode::Index,
1371
- ruby: ::String,
1372
- file: ::String,
1373
- plugins: T::Array[::Spoom::Deadcode::Plugins::Base]
1374
- ).void
1375
- end
1376
- def index_ruby(index, ruby, file:, plugins: T.unsafe(nil)); end
1377
-
1378
- # source://spoom//lib/spoom/deadcode/plugins.rb#74
1379
- sig { params(context: ::Spoom::Context).returns(T::Array[::Spoom::Deadcode::Plugins::Base]) }
1402
+ # source://spoom//lib/spoom/deadcode/plugins.rb#75
1403
+ sig { params(context: ::Spoom::Context).returns(T::Array[T.class_of(Spoom::Deadcode::Plugins::Base)]) }
1380
1404
  def load_custom_plugins(context); end
1381
1405
 
1382
- # source://spoom//lib/spoom/deadcode/plugins.rb#60
1383
- sig { params(context: ::Spoom::Context).returns(T::Array[::Spoom::Deadcode::Plugins::Base]) }
1406
+ # source://spoom//lib/spoom/deadcode/plugins.rb#61
1407
+ sig { params(context: ::Spoom::Context).returns(T::Set[T.class_of(Spoom::Deadcode::Plugins::Base)]) }
1384
1408
  def plugins_from_gemfile_lock(context); end
1385
1409
  end
1386
1410
  end
1387
1411
 
1388
- # source://spoom//lib/spoom/deadcode/plugins.rb#25
1412
+ # source://spoom//lib/spoom/deadcode/plugins.rb#26
1389
1413
  Spoom::Deadcode::DEFAULT_CUSTOM_PLUGINS_PATH = T.let(T.unsafe(nil), String)
1390
1414
 
1391
- # source://spoom//lib/spoom/deadcode/plugins.rb#27
1415
+ # source://spoom//lib/spoom/deadcode/plugins.rb#28
1392
1416
  Spoom::Deadcode::DEFAULT_PLUGINS = T.let(T.unsafe(nil), Set)
1393
1417
 
1394
1418
  # A definition is a class, module, method, constant, etc. being defined in the code
@@ -1398,7 +1422,7 @@ class Spoom::Deadcode::Definition < ::T::Struct
1398
1422
  const :kind, ::Spoom::Deadcode::Definition::Kind
1399
1423
  const :name, ::String
1400
1424
  const :full_name, ::String
1401
- const :location, ::Spoom::Deadcode::Location
1425
+ const :location, ::Spoom::Location
1402
1426
  const :status, ::Spoom::Deadcode::Definition::Status, default: T.unsafe(nil)
1403
1427
 
1404
1428
  # source://spoom//lib/spoom/deadcode/definition.rb#78
@@ -1449,8 +1473,14 @@ class Spoom::Deadcode::Definition < ::T::Struct
1449
1473
  sig { returns(T::Boolean) }
1450
1474
  def module?; end
1451
1475
 
1476
+ # Utils
1477
+ #
1478
+ # source://spoom//lib/spoom/deadcode/definition.rb#100
1479
+ sig { params(args: T.untyped).returns(::String) }
1480
+ def to_json(*args); end
1481
+
1452
1482
  class << self
1453
- # source://sorbet-runtime/0.5.11262/lib/types/struct.rb#13
1483
+ # source://sorbet-runtime/0.5.11633/lib/types/struct.rb#13
1454
1484
  def inherited(s); end
1455
1485
  end
1456
1486
  end
@@ -1510,44 +1540,35 @@ end
1510
1540
  # source://spoom//lib/spoom/deadcode/erb.rb#63
1511
1541
  Spoom::Deadcode::ERB::BLOCK_EXPR = T.let(T.unsafe(nil), Regexp)
1512
1542
 
1513
- # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
1514
- #
1515
- # source://spoom//lib/spoom/deadcode.rb#20
1516
- class Spoom::Deadcode::Error < ::Spoom::Error
1517
- abstract!
1518
-
1519
- # source://spoom//lib/spoom/deadcode.rb#27
1520
- sig { params(message: ::String, parent: ::Exception).void }
1521
- def initialize(message, parent:); end
1522
- end
1523
-
1524
1543
  # source://spoom//lib/spoom/deadcode/index.rb#6
1525
1544
  class Spoom::Deadcode::Index
1526
- # source://spoom//lib/spoom/deadcode/index.rb#16
1527
- sig { void }
1528
- def initialize; end
1545
+ # source://spoom//lib/spoom/deadcode/index.rb#29
1546
+ sig { params(model: ::Spoom::Model).void }
1547
+ def initialize(model); end
1529
1548
 
1530
- # source://spoom//lib/spoom/deadcode/index.rb#51
1549
+ # source://spoom//lib/spoom/deadcode/index.rb#219
1531
1550
  sig { returns(T::Array[::Spoom::Deadcode::Definition]) }
1532
1551
  def all_definitions; end
1533
1552
 
1534
- # source://spoom//lib/spoom/deadcode/index.rb#56
1535
- sig { returns(T::Array[::Spoom::Deadcode::Reference]) }
1553
+ # source://spoom//lib/spoom/deadcode/index.rb#224
1554
+ sig { returns(T::Array[::Spoom::Model::Reference]) }
1536
1555
  def all_references; end
1537
1556
 
1538
- # Indexing
1539
- #
1540
- # source://spoom//lib/spoom/deadcode/index.rb#24
1557
+ # source://spoom//lib/spoom/deadcode/index.rb#99
1558
+ sig { params(plugins: T::Array[::Spoom::Deadcode::Plugins::Base]).void }
1559
+ def apply_plugins!(plugins); end
1560
+
1561
+ # source://spoom//lib/spoom/deadcode/index.rb#79
1541
1562
  sig { params(definition: ::Spoom::Deadcode::Definition).void }
1542
1563
  def define(definition); end
1543
1564
 
1544
- # source://spoom//lib/spoom/deadcode/index.rb#10
1565
+ # source://spoom//lib/spoom/deadcode/index.rb#23
1545
1566
  sig { returns(T::Hash[::String, T::Array[::Spoom::Deadcode::Definition]]) }
1546
1567
  def definitions; end
1547
1568
 
1548
1569
  # Utils
1549
1570
  #
1550
- # source://spoom//lib/spoom/deadcode/index.rb#46
1571
+ # source://spoom//lib/spoom/deadcode/index.rb#214
1551
1572
  sig { params(name: ::String).returns(T::Array[::Spoom::Deadcode::Definition]) }
1552
1573
  def definitions_for_name(name); end
1553
1574
 
@@ -1555,398 +1576,192 @@ class Spoom::Deadcode::Index
1555
1576
  #
1556
1577
  # To be called once all the files have been indexed and all the definitions and references discovered.
1557
1578
  #
1558
- # source://spoom//lib/spoom/deadcode/index.rb#37
1579
+ # source://spoom//lib/spoom/deadcode/index.rb#122
1559
1580
  sig { void }
1560
1581
  def finalize!; end
1561
1582
 
1562
- # source://spoom//lib/spoom/deadcode/index.rb#29
1563
- sig { params(reference: ::Spoom::Deadcode::Reference).void }
1564
- def reference(reference); end
1583
+ # source://spoom//lib/spoom/deadcode/index.rb#94
1584
+ sig { params(symbol_def: ::Spoom::Model::SymbolDef).void }
1585
+ def ignore(symbol_def); end
1565
1586
 
1566
- # source://spoom//lib/spoom/deadcode/index.rb#13
1567
- sig { returns(T::Hash[::String, T::Array[::Spoom::Deadcode::Reference]]) }
1587
+ # source://spoom//lib/spoom/deadcode/index.rb#50
1588
+ sig { params(erb: ::String, file: ::String, plugins: T::Array[::Spoom::Deadcode::Plugins::Base]).void }
1589
+ def index_erb(erb, file:, plugins: T.unsafe(nil)); end
1590
+
1591
+ # Indexing
1592
+ #
1593
+ # source://spoom//lib/spoom/deadcode/index.rb#39
1594
+ sig { params(file: ::String, plugins: T::Array[::Spoom::Deadcode::Plugins::Base]).void }
1595
+ def index_file(file, plugins: T.unsafe(nil)); end
1596
+
1597
+ # source://spoom//lib/spoom/deadcode/index.rb#55
1598
+ sig { params(rb: ::String, file: ::String, plugins: T::Array[::Spoom::Deadcode::Plugins::Base]).void }
1599
+ def index_ruby(rb, file:, plugins: T.unsafe(nil)); end
1600
+
1601
+ # source://spoom//lib/spoom/deadcode/index.rb#20
1602
+ sig { returns(::Spoom::Model) }
1603
+ def model; end
1604
+
1605
+ # source://spoom//lib/spoom/deadcode/index.rb#84
1606
+ sig { params(name: ::String, location: ::Spoom::Location).void }
1607
+ def reference_constant(name, location); end
1608
+
1609
+ # source://spoom//lib/spoom/deadcode/index.rb#89
1610
+ sig { params(name: ::String, location: ::Spoom::Location).void }
1611
+ def reference_method(name, location); end
1612
+
1613
+ # source://spoom//lib/spoom/deadcode/index.rb#26
1614
+ sig { returns(T::Hash[::String, T::Array[::Spoom::Model::Reference]]) }
1568
1615
  def references; end
1569
1616
  end
1570
1617
 
1618
+ # source://spoom//lib/spoom/deadcode/index.rb#9
1619
+ class Spoom::Deadcode::Index::Error < ::Spoom::Error
1620
+ # source://spoom//lib/spoom/deadcode/index.rb#13
1621
+ sig { params(message: ::String, parent: ::Exception).void }
1622
+ def initialize(message, parent:); end
1623
+ end
1624
+
1571
1625
  # source://spoom//lib/spoom/deadcode/indexer.rb#6
1572
- class Spoom::Deadcode::Indexer < ::SyntaxTree::Visitor
1626
+ class Spoom::Deadcode::Indexer < ::Spoom::Visitor
1573
1627
  # source://spoom//lib/spoom/deadcode/indexer.rb#16
1574
1628
  sig do
1575
1629
  params(
1576
1630
  path: ::String,
1577
- source: ::String,
1578
1631
  index: ::Spoom::Deadcode::Index,
1579
1632
  plugins: T::Array[::Spoom::Deadcode::Plugins::Base]
1580
1633
  ).void
1581
1634
  end
1582
- def initialize(path, source, index, plugins: T.unsafe(nil)); end
1635
+ def initialize(path, index, plugins: T.unsafe(nil)); end
1583
1636
 
1584
- # source://spoom//lib/spoom/deadcode/indexer.rb#459
1585
- sig do
1586
- params(
1587
- node: T.nilable(T.any(::SyntaxTree::ArgParen, ::SyntaxTree::Args, ::SyntaxTree::ArgsForward))
1588
- ).returns(T::Array[::SyntaxTree::Node])
1589
- end
1590
- def call_args(node); end
1637
+ # source://spoom//lib/spoom/deadcode/indexer.rb#13
1638
+ sig { returns(::Spoom::Deadcode::Index) }
1639
+ def index; end
1591
1640
 
1592
- # Context
1593
- #
1594
- # source://spoom//lib/spoom/deadcode/indexer.rb#367
1595
- sig { returns(::SyntaxTree::Node) }
1596
- def current_node; end
1641
+ # source://spoom//lib/spoom/deadcode/indexer.rb#10
1642
+ sig { returns(::String) }
1643
+ def path; end
1597
1644
 
1598
- # Definition indexing
1645
+ # Visit
1599
1646
  #
1600
- # source://spoom//lib/spoom/deadcode/indexer.rb#281
1601
- sig { params(name: ::String, full_name: ::String, node: ::SyntaxTree::Node).void }
1602
- def define_attr_reader(name, full_name, node); end
1647
+ # source://spoom//lib/spoom/deadcode/indexer.rb#27
1648
+ sig { override.params(node: ::Prism::CallNode).void }
1649
+ def visit_call_node(node); end
1650
+ end
1603
1651
 
1604
- # source://spoom//lib/spoom/deadcode/indexer.rb#293
1605
- sig { params(name: ::String, full_name: ::String, node: ::SyntaxTree::Node).void }
1606
- def define_attr_writer(name, full_name, node); end
1652
+ # source://spoom//lib/spoom/deadcode/plugins.rb#36
1653
+ Spoom::Deadcode::PLUGINS_FOR_GEM = T.let(T.unsafe(nil), Hash)
1607
1654
 
1608
- # source://spoom//lib/spoom/deadcode/indexer.rb#305
1609
- sig { params(name: ::String, full_name: ::String, node: ::SyntaxTree::Node).void }
1610
- def define_class(name, full_name, node); end
1655
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#8
1656
+ module Spoom::Deadcode::Plugins; end
1611
1657
 
1612
- # source://spoom//lib/spoom/deadcode/indexer.rb#317
1613
- sig { params(name: ::String, full_name: ::String, node: ::SyntaxTree::Node).void }
1614
- def define_constant(name, full_name, node); end
1658
+ # source://spoom//lib/spoom/deadcode/plugins/action_mailer.rb#7
1659
+ class Spoom::Deadcode::Plugins::ActionMailer < ::Spoom::Deadcode::Plugins::Base
1660
+ # source://spoom//lib/spoom/deadcode/plugins/action_mailer.rb#11
1661
+ sig { override.params(send: ::Spoom::Deadcode::Send).void }
1662
+ def on_send(send); end
1663
+ end
1615
1664
 
1616
- # source://spoom//lib/spoom/deadcode/indexer.rb#329
1617
- sig { params(name: ::String, full_name: ::String, node: ::SyntaxTree::Node).void }
1618
- def define_method(name, full_name, node); end
1665
+ # source://spoom//lib/spoom/deadcode/plugins/action_mailer_preview.rb#7
1666
+ class Spoom::Deadcode::Plugins::ActionMailerPreview < ::Spoom::Deadcode::Plugins::Base
1667
+ # source://spoom//lib/spoom/deadcode/plugins/action_mailer_preview.rb#13
1668
+ sig { override.params(definition: ::Spoom::Model::Method).void }
1669
+ def on_define_method(definition); end
1670
+ end
1619
1671
 
1620
- # source://spoom//lib/spoom/deadcode/indexer.rb#341
1621
- sig { params(name: ::String, full_name: ::String, node: ::SyntaxTree::Node).void }
1622
- def define_module(name, full_name, node); end
1672
+ # source://spoom//lib/spoom/deadcode/plugins/actionpack.rb#7
1673
+ class Spoom::Deadcode::Plugins::ActionPack < ::Spoom::Deadcode::Plugins::Base
1674
+ # source://spoom//lib/spoom/deadcode/plugins/actionpack.rb#31
1675
+ sig { override.params(definition: ::Spoom::Model::Method).void }
1676
+ def on_define_method(definition); end
1623
1677
 
1624
- # @return [String]
1625
- #
1626
- # source://spoom//lib/spoom/deadcode/indexer.rb#10
1627
- def file_name; end
1678
+ # source://spoom//lib/spoom/deadcode/plugins/actionpack.rb#39
1679
+ sig { override.params(send: ::Spoom::Deadcode::Send).void }
1680
+ def on_send(send); end
1681
+ end
1628
1682
 
1629
- # source://spoom//lib/spoom/deadcode/indexer.rb#13
1630
- sig { returns(::Spoom::Deadcode::Index) }
1631
- def index; end
1683
+ # source://spoom//lib/spoom/deadcode/plugins/actionpack.rb#12
1684
+ Spoom::Deadcode::Plugins::ActionPack::CALLBACKS = T.let(T.unsafe(nil), Array)
1632
1685
 
1633
- # source://spoom//lib/spoom/deadcode/indexer.rb#426
1634
- sig { returns(T.nilable(::String)) }
1635
- def last_sig; end
1686
+ # source://spoom//lib/spoom/deadcode/plugins/active_job.rb#7
1687
+ class Spoom::Deadcode::Plugins::ActiveJob < ::Spoom::Deadcode::Plugins::Base; end
1636
1688
 
1637
- # source://spoom//lib/spoom/deadcode/indexer.rb#386
1638
- sig { returns(T.nilable(::SyntaxTree::BlockNode)) }
1639
- def nesting_block; end
1689
+ # source://spoom//lib/spoom/deadcode/plugins/active_model.rb#7
1690
+ class Spoom::Deadcode::Plugins::ActiveModel < ::Spoom::Deadcode::Plugins::Base
1691
+ # source://spoom//lib/spoom/deadcode/plugins/active_model.rb#14
1692
+ sig { override.params(send: ::Spoom::Deadcode::Send).void }
1693
+ def on_send(send); end
1694
+ end
1640
1695
 
1641
- # source://spoom//lib/spoom/deadcode/indexer.rb#391
1642
- sig { returns(T.nilable(::SyntaxTree::MethodAddBlock)) }
1643
- def nesting_block_call; end
1696
+ # source://spoom//lib/spoom/deadcode/plugins/active_record.rb#7
1697
+ class Spoom::Deadcode::Plugins::ActiveRecord < ::Spoom::Deadcode::Plugins::Base
1698
+ # source://spoom//lib/spoom/deadcode/plugins/active_record.rb#74
1699
+ sig { override.params(send: ::Spoom::Deadcode::Send).void }
1700
+ def on_send(send); end
1701
+ end
1644
1702
 
1645
- # source://spoom//lib/spoom/deadcode/indexer.rb#396
1646
- sig { returns(T.nilable(::String)) }
1647
- def nesting_block_call_name; end
1703
+ # source://spoom//lib/spoom/deadcode/plugins/active_record.rb#64
1704
+ Spoom::Deadcode::Plugins::ActiveRecord::ARRAY_METHODS = T.let(T.unsafe(nil), Array)
1648
1705
 
1649
- # source://spoom//lib/spoom/deadcode/indexer.rb#381
1650
- sig { returns(T.nilable(::SyntaxTree::ClassDeclaration)) }
1651
- def nesting_class; end
1706
+ # source://spoom//lib/spoom/deadcode/plugins/active_record.rb#20
1707
+ Spoom::Deadcode::Plugins::ActiveRecord::CALLBACKS = T.let(T.unsafe(nil), Array)
1652
1708
 
1653
- # source://spoom//lib/spoom/deadcode/indexer.rb#410
1654
- sig { returns(T.nilable(::String)) }
1655
- def nesting_class_name; end
1709
+ # source://spoom//lib/spoom/deadcode/plugins/active_record.rb#49
1710
+ Spoom::Deadcode::Plugins::ActiveRecord::CRUD_METHODS = T.let(T.unsafe(nil), Array)
1656
1711
 
1657
- # source://spoom//lib/spoom/deadcode/indexer.rb#418
1658
- sig { returns(T.nilable(::String)) }
1659
- def nesting_class_superclass_name; end
1712
+ # source://spoom//lib/spoom/deadcode/plugins/active_support.rb#7
1713
+ class Spoom::Deadcode::Plugins::ActiveSupport < ::Spoom::Deadcode::Plugins::Base
1714
+ # source://spoom//lib/spoom/deadcode/plugins/active_support.rb#22
1715
+ sig { override.params(send: ::Spoom::Deadcode::Send).void }
1716
+ def on_send(send); end
1717
+ end
1660
1718
 
1661
- # source://spoom//lib/spoom/deadcode/indexer.rb#372
1662
- sig { type_parameters(:N).params(type: T::Class[T.type_parameter(:N)]).returns(T.nilable(T.type_parameter(:N))) }
1663
- def nesting_node(type); end
1719
+ # source://spoom//lib/spoom/deadcode/plugins/active_support.rb#19
1720
+ Spoom::Deadcode::Plugins::ActiveSupport::SETUP_AND_TEARDOWN_METHODS = T.let(T.unsafe(nil), Array)
1664
1721
 
1665
- # source://spoom//lib/spoom/deadcode/indexer.rb#445
1666
- sig { params(node: ::SyntaxTree::Node).returns(::Spoom::Deadcode::Location) }
1667
- def node_location(node); end
1722
+ # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
1723
+ #
1724
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#9
1725
+ class Spoom::Deadcode::Plugins::Base
1726
+ abstract!
1668
1727
 
1669
- # Node utils
1670
- #
1671
- # source://spoom//lib/spoom/deadcode/indexer.rb#435
1672
- sig { params(node: T.any(::Symbol, ::SyntaxTree::Node)).returns(::String) }
1673
- def node_string(node); end
1728
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#132
1729
+ sig { params(index: ::Spoom::Deadcode::Index).void }
1730
+ def initialize(index); end
1674
1731
 
1675
- # source://spoom//lib/spoom/deadcode/indexer.rb#10
1676
- sig { returns(::String) }
1677
- def path; end
1732
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#129
1733
+ sig { returns(::Spoom::Deadcode::Index) }
1734
+ def index; end
1678
1735
 
1679
- # Reference indexing
1736
+ # Do not override this method, use `on_define_accessor` instead.
1680
1737
  #
1681
- # source://spoom//lib/spoom/deadcode/indexer.rb#355
1682
- sig { params(name: ::String, node: ::SyntaxTree::Node).void }
1683
- def reference_constant(name, node); end
1684
-
1685
- # source://spoom//lib/spoom/deadcode/indexer.rb#360
1686
- sig { params(name: ::String, node: ::SyntaxTree::Node).void }
1687
- def reference_method(name, node); end
1688
-
1689
- # source://spoom//lib/spoom/deadcode/indexer.rb#450
1690
- sig { params(node: ::SyntaxTree::Node).returns(::String) }
1691
- def symbol_string(node); end
1692
-
1693
- # Visit
1694
- #
1695
- # source://spoom//lib/spoom/deadcode/indexer.rb#35
1696
- sig { override.params(node: T.nilable(::SyntaxTree::Node)).void }
1697
- def visit(node); end
1698
-
1699
- # source://spoom//lib/spoom/deadcode/indexer.rb#45
1700
- sig { override.params(node: ::SyntaxTree::AliasNode).void }
1701
- def visit_alias(node); end
1702
-
1703
- # source://spoom//lib/spoom/deadcode/indexer.rb#50
1704
- sig { override.params(node: ::SyntaxTree::ARef).void }
1705
- def visit_aref(node); end
1706
-
1707
- # source://spoom//lib/spoom/deadcode/indexer.rb#57
1708
- sig { override.params(node: ::SyntaxTree::ARefField).void }
1709
- def visit_aref_field(node); end
1710
-
1711
- # source://spoom//lib/spoom/deadcode/indexer.rb#64
1712
- sig { override.params(node: ::SyntaxTree::ArgBlock).void }
1713
- def visit_arg_block(node); end
1714
-
1715
- # source://spoom//lib/spoom/deadcode/indexer.rb#78
1716
- sig { override.params(node: ::SyntaxTree::Binary).void }
1717
- def visit_binary(node); end
1718
-
1719
- # source://spoom//lib/spoom/deadcode/indexer.rb#94
1720
- sig { override.params(node: ::SyntaxTree::CallNode).void }
1721
- def visit_call(node); end
1722
-
1723
- # source://spoom//lib/spoom/deadcode/indexer.rb#106
1724
- sig { override.params(node: ::SyntaxTree::ClassDeclaration).void }
1725
- def visit_class(node); end
1726
-
1727
- # source://spoom//lib/spoom/deadcode/indexer.rb#119
1728
- sig { override.params(node: ::SyntaxTree::Command).void }
1729
- def visit_command(node); end
1730
-
1731
- # source://spoom//lib/spoom/deadcode/indexer.rb#131
1732
- sig { override.params(node: ::SyntaxTree::CommandCall).void }
1733
- def visit_command_call(node); end
1734
-
1735
- # source://spoom//lib/spoom/deadcode/indexer.rb#144
1736
- sig { override.params(node: ::SyntaxTree::Const).void }
1737
- def visit_const(node); end
1738
-
1739
- # source://spoom//lib/spoom/deadcode/indexer.rb#149
1740
- sig { override.params(node: ::SyntaxTree::ConstPathField).void }
1741
- def visit_const_path_field(node); end
1742
-
1743
- # source://spoom//lib/spoom/deadcode/indexer.rb#159
1744
- sig { override.params(node: ::SyntaxTree::DefNode).void }
1745
- def visit_def(node); end
1746
-
1747
- # source://spoom//lib/spoom/deadcode/indexer.rb#167
1748
- sig { override.params(node: ::SyntaxTree::Field).void }
1749
- def visit_field(node); end
1750
-
1751
- # source://spoom//lib/spoom/deadcode/indexer.rb#183
1752
- sig { override.params(node: ::SyntaxTree::ModuleDeclaration).void }
1753
- def visit_module(node); end
1754
-
1755
- # source://spoom//lib/spoom/deadcode/indexer.rb#195
1756
- sig { override.params(node: ::SyntaxTree::OpAssign).void }
1757
- def visit_opassign(node); end
1758
-
1759
- # source://spoom//lib/spoom/deadcode/indexer.rb#204
1760
- sig { params(send: ::Spoom::Deadcode::Send).void }
1761
- def visit_send(send); end
1762
-
1763
- # source://spoom//lib/spoom/deadcode/indexer.rb#243
1764
- sig { override.params(node: ::SyntaxTree::SymbolLiteral).void }
1765
- def visit_symbol_literal(node); end
1766
-
1767
- # source://spoom//lib/spoom/deadcode/indexer.rb#252
1768
- sig { override.params(node: ::SyntaxTree::TopConstField).void }
1769
- def visit_top_const_field(node); end
1770
-
1771
- # source://spoom//lib/spoom/deadcode/indexer.rb#257
1772
- sig { override.params(node: ::SyntaxTree::VarField).void }
1773
- def visit_var_field(node); end
1774
-
1775
- # source://spoom//lib/spoom/deadcode/indexer.rb#274
1776
- sig { override.params(node: ::SyntaxTree::VCall).void }
1777
- def visit_vcall(node); end
1778
- end
1779
-
1780
- # source://spoom//lib/spoom/deadcode.rb#34
1781
- class Spoom::Deadcode::IndexerError < ::Spoom::Deadcode::Error; end
1782
-
1783
- # source://spoom//lib/spoom/deadcode/location.rb#6
1784
- class Spoom::Deadcode::Location
1785
- include ::Comparable
1786
-
1787
- # source://spoom//lib/spoom/deadcode/location.rb#54
1788
- sig do
1789
- params(
1790
- file: ::String,
1791
- start_line: ::Integer,
1792
- start_column: ::Integer,
1793
- end_line: ::Integer,
1794
- end_column: ::Integer
1795
- ).void
1796
- end
1797
- def initialize(file, start_line, start_column, end_line, end_column); end
1798
-
1799
- # source://spoom//lib/spoom/deadcode/location.rb#74
1800
- sig { override.params(other: ::BasicObject).returns(T.nilable(::Integer)) }
1801
- def <=>(other); end
1802
-
1803
- # @return [Integer]
1804
- #
1805
- # source://spoom//lib/spoom/deadcode/location.rb#43
1806
- def end_column; end
1807
-
1808
- # @return [Integer]
1809
- #
1810
- # source://spoom//lib/spoom/deadcode/location.rb#43
1811
- def end_line; end
1812
-
1813
- # source://spoom//lib/spoom/deadcode/location.rb#40
1814
- sig { returns(::String) }
1815
- def file; end
1816
-
1817
- # source://spoom//lib/spoom/deadcode/location.rb#63
1818
- sig { params(other: ::Spoom::Deadcode::Location).returns(T::Boolean) }
1819
- def include?(other); end
1820
-
1821
- # @return [Integer]
1822
- #
1823
- # source://spoom//lib/spoom/deadcode/location.rb#43
1824
- def start_column; end
1825
-
1826
- # source://spoom//lib/spoom/deadcode/location.rb#43
1827
- sig { returns(::Integer) }
1828
- def start_line; end
1829
-
1830
- # source://spoom//lib/spoom/deadcode/location.rb#81
1831
- sig { returns(::String) }
1832
- def to_s; end
1833
-
1834
- class << self
1835
- # @raise [LocationError]
1836
- #
1837
- # source://spoom//lib/spoom/deadcode/location.rb#17
1838
- sig { params(location_string: ::String).returns(::Spoom::Deadcode::Location) }
1839
- def from_string(location_string); end
1840
-
1841
- # source://spoom//lib/spoom/deadcode/location.rb#34
1842
- sig { params(file: ::String, location: ::SyntaxTree::Location).returns(::Spoom::Deadcode::Location) }
1843
- def from_syntax_tree(file, location); end
1844
- end
1845
- end
1846
-
1847
- # source://spoom//lib/spoom/deadcode/location.rb#11
1848
- class Spoom::Deadcode::Location::LocationError < ::Spoom::Error; end
1849
-
1850
- # source://spoom//lib/spoom/deadcode/plugins.rb#35
1851
- Spoom::Deadcode::PLUGINS_FOR_GEM = T.let(T.unsafe(nil), Hash)
1852
-
1853
- # source://spoom//lib/spoom/deadcode.rb#33
1854
- class Spoom::Deadcode::ParserError < ::Spoom::Deadcode::Error; end
1855
-
1856
- # source://spoom//lib/spoom/deadcode/plugins/base.rb#8
1857
- module Spoom::Deadcode::Plugins; end
1858
-
1859
- # source://spoom//lib/spoom/deadcode/plugins/action_mailer.rb#7
1860
- class Spoom::Deadcode::Plugins::ActionMailer < ::Spoom::Deadcode::Plugins::Base
1861
- # source://spoom//lib/spoom/deadcode/plugins/action_mailer.rb#11
1862
- sig { override.params(indexer: ::Spoom::Deadcode::Indexer, send: ::Spoom::Deadcode::Send).void }
1863
- def on_send(indexer, send); end
1864
- end
1865
-
1866
- # source://spoom//lib/spoom/deadcode/plugins/actionpack.rb#7
1867
- class Spoom::Deadcode::Plugins::ActionPack < ::Spoom::Deadcode::Plugins::Base
1868
- # source://spoom//lib/spoom/deadcode/plugins/actionpack.rb#31
1869
- sig { override.params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void }
1870
- def on_define_method(indexer, definition); end
1871
-
1872
- # source://spoom//lib/spoom/deadcode/plugins/actionpack.rb#36
1873
- sig { override.params(indexer: ::Spoom::Deadcode::Indexer, send: ::Spoom::Deadcode::Send).void }
1874
- def on_send(indexer, send); end
1875
- end
1876
-
1877
- # source://spoom//lib/spoom/deadcode/plugins/actionpack.rb#10
1878
- Spoom::Deadcode::Plugins::ActionPack::CALLBACKS = T.let(T.unsafe(nil), Array)
1879
-
1880
- # source://spoom//lib/spoom/deadcode/plugins/active_job.rb#7
1881
- class Spoom::Deadcode::Plugins::ActiveJob < ::Spoom::Deadcode::Plugins::Base; end
1882
-
1883
- # source://spoom//lib/spoom/deadcode/plugins/active_model.rb#7
1884
- class Spoom::Deadcode::Plugins::ActiveModel < ::Spoom::Deadcode::Plugins::Base
1885
- # source://spoom//lib/spoom/deadcode/plugins/active_model.rb#14
1886
- sig { override.params(indexer: ::Spoom::Deadcode::Indexer, send: ::Spoom::Deadcode::Send).void }
1887
- def on_send(indexer, send); end
1888
- end
1889
-
1890
- # source://spoom//lib/spoom/deadcode/plugins/active_record.rb#7
1891
- class Spoom::Deadcode::Plugins::ActiveRecord < ::Spoom::Deadcode::Plugins::Base
1892
- # source://spoom//lib/spoom/deadcode/plugins/active_record.rb#74
1893
- sig { override.params(indexer: ::Spoom::Deadcode::Indexer, send: ::Spoom::Deadcode::Send).void }
1894
- def on_send(indexer, send); end
1895
- end
1896
-
1897
- # source://spoom//lib/spoom/deadcode/plugins/active_record.rb#64
1898
- Spoom::Deadcode::Plugins::ActiveRecord::ARRAY_METHODS = T.let(T.unsafe(nil), Array)
1899
-
1900
- # source://spoom//lib/spoom/deadcode/plugins/active_record.rb#20
1901
- Spoom::Deadcode::Plugins::ActiveRecord::CALLBACKS = T.let(T.unsafe(nil), Array)
1902
-
1903
- # source://spoom//lib/spoom/deadcode/plugins/active_record.rb#49
1904
- Spoom::Deadcode::Plugins::ActiveRecord::CRUD_METHODS = T.let(T.unsafe(nil), Array)
1905
-
1906
- # source://spoom//lib/spoom/deadcode/plugins/active_support.rb#7
1907
- class Spoom::Deadcode::Plugins::ActiveSupport < ::Spoom::Deadcode::Plugins::Base; end
1908
-
1909
- # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
1910
- #
1911
- # source://spoom//lib/spoom/deadcode/plugins/base.rb#9
1912
- class Spoom::Deadcode::Plugins::Base
1913
- abstract!
1914
-
1915
- # Do not override this method, use `on_define_accessor` instead.
1916
- #
1917
- # source://spoom//lib/spoom/deadcode/plugins/base.rb#150
1918
- sig { params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void }
1919
- def internal_on_define_accessor(indexer, definition); end
1738
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#158
1739
+ sig { params(definition: ::Spoom::Model::Attr).void }
1740
+ def internal_on_define_accessor(definition); end
1920
1741
 
1921
1742
  # Do not override this method, use `on_define_class` instead.
1922
1743
  #
1923
- # source://spoom//lib/spoom/deadcode/plugins/base.rb#174
1924
- sig { params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void }
1925
- def internal_on_define_class(indexer, definition); end
1744
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#182
1745
+ sig { params(definition: ::Spoom::Model::Class).void }
1746
+ def internal_on_define_class(definition); end
1926
1747
 
1927
1748
  # Do not override this method, use `on_define_constant` instead.
1928
1749
  #
1929
- # source://spoom//lib/spoom/deadcode/plugins/base.rb#204
1930
- sig { params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void }
1931
- def internal_on_define_constant(indexer, definition); end
1750
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#212
1751
+ sig { params(definition: ::Spoom::Model::Constant).void }
1752
+ def internal_on_define_constant(definition); end
1932
1753
 
1933
1754
  # Do not override this method, use `on_define_method` instead.
1934
1755
  #
1935
- # source://spoom//lib/spoom/deadcode/plugins/base.rb#232
1936
- sig { params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void }
1937
- def internal_on_define_method(indexer, definition); end
1756
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#238
1757
+ sig { params(definition: ::Spoom::Model::Method).void }
1758
+ def internal_on_define_method(definition); end
1938
1759
 
1939
1760
  # Do not override this method, use `on_define_module` instead.
1940
1761
  #
1941
- # source://spoom//lib/spoom/deadcode/plugins/base.rb#258
1942
- sig { params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void }
1943
- def internal_on_define_module(indexer, definition); end
1944
-
1945
- # Do not override this method, use `on_send` instead.
1946
- #
1947
- # source://spoom//lib/spoom/deadcode/plugins/base.rb#284
1948
- sig { params(indexer: ::Spoom::Deadcode::Indexer, send: ::Spoom::Deadcode::Send).void }
1949
- def internal_on_send(indexer, send); end
1762
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#264
1763
+ sig { params(definition: ::Spoom::Model::Module).void }
1764
+ def internal_on_define_module(definition); end
1950
1765
 
1951
1766
  # Called when an accessor is defined.
1952
1767
  #
@@ -1956,15 +1771,15 @@ class Spoom::Deadcode::Plugins::Base
1956
1771
  #
1957
1772
  # ~~~rb
1958
1773
  # class MyPlugin < Spoom::Deadcode::Plugins::Base
1959
- # def on_define_accessor(indexer, definition)
1960
- # definition.ignored! if definition.name == "foo"
1774
+ # def on_define_accessor(definition)
1775
+ # @index.ignore(definition) if symbol_def.name == "foo"
1961
1776
  # end
1962
1777
  # end
1963
1778
  # ~~~
1964
1779
  #
1965
- # source://spoom//lib/spoom/deadcode/plugins/base.rb#144
1966
- sig { params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void }
1967
- def on_define_accessor(indexer, definition); end
1780
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#152
1781
+ sig { params(definition: ::Spoom::Model::Attr).void }
1782
+ def on_define_accessor(definition); end
1968
1783
 
1969
1784
  # Called when a class is defined.
1970
1785
  #
@@ -1974,15 +1789,15 @@ class Spoom::Deadcode::Plugins::Base
1974
1789
  #
1975
1790
  # ~~~rb
1976
1791
  # class MyPlugin < Spoom::Deadcode::Plugins::Base
1977
- # def on_define_class(indexer, definition)
1978
- # definition.ignored! if definition.name == "Foo"
1792
+ # def on_define_class(definition)
1793
+ # @index.ignore(definition) if definition.name == "Foo"
1979
1794
  # end
1980
1795
  # end
1981
1796
  # ~~~
1982
1797
  #
1983
- # source://spoom//lib/spoom/deadcode/plugins/base.rb#168
1984
- sig { params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void }
1985
- def on_define_class(indexer, definition); end
1798
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#176
1799
+ sig { params(definition: ::Spoom::Model::Class).void }
1800
+ def on_define_class(definition); end
1986
1801
 
1987
1802
  # Called when a constant is defined.
1988
1803
  #
@@ -1992,15 +1807,15 @@ class Spoom::Deadcode::Plugins::Base
1992
1807
  #
1993
1808
  # ~~~rb
1994
1809
  # class MyPlugin < Spoom::Deadcode::Plugins::Base
1995
- # def on_define_constant(indexer, definition)
1996
- # definition.ignored! if definition.name == "FOO"
1810
+ # def on_define_constant(definition)
1811
+ # @index.ignore(definition) if definition.name == "FOO"
1997
1812
  # end
1998
1813
  # end
1999
1814
  # ~~~
2000
1815
  #
2001
- # source://spoom//lib/spoom/deadcode/plugins/base.rb#198
2002
- sig { params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void }
2003
- def on_define_constant(indexer, definition); end
1816
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#206
1817
+ sig { params(definition: ::Spoom::Model::Constant).void }
1818
+ def on_define_constant(definition); end
2004
1819
 
2005
1820
  # Called when a method is defined.
2006
1821
  #
@@ -2010,17 +1825,15 @@ class Spoom::Deadcode::Plugins::Base
2010
1825
  #
2011
1826
  # ~~~rb
2012
1827
  # class MyPlugin < Spoom::Deadcode::Plugins::Base
2013
- # def on_define_method(indexer, definition)
2014
- # super # So the `ignore_method_names` DSL is still applied
2015
- #
2016
- # definition.ignored! if definition.name == "foo"
1828
+ # def on_define_method(definition)
1829
+ # @index.ignore(definition) if definition.name == "foo"
2017
1830
  # end
2018
1831
  # end
2019
1832
  # ~~~
2020
1833
  #
2021
- # source://spoom//lib/spoom/deadcode/plugins/base.rb#226
2022
- sig { params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void }
2023
- def on_define_method(indexer, definition); end
1834
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#232
1835
+ sig { params(definition: ::Spoom::Model::Method).void }
1836
+ def on_define_method(definition); end
2024
1837
 
2025
1838
  # Called when a module is defined.
2026
1839
  #
@@ -2030,76 +1843,80 @@ class Spoom::Deadcode::Plugins::Base
2030
1843
  #
2031
1844
  # ~~~rb
2032
1845
  # class MyPlugin < Spoom::Deadcode::Plugins::Base
2033
- # def on_define_module(indexer, definition)
2034
- # definition.ignored! if definition.name == "Foo"
1846
+ # def on_define_module(definition)
1847
+ # @index.ignore(definition) if definition.name == "Foo"
2035
1848
  # end
2036
1849
  # end
2037
1850
  # ~~~
2038
1851
  #
2039
- # source://spoom//lib/spoom/deadcode/plugins/base.rb#252
2040
- sig { params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void }
2041
- def on_define_module(indexer, definition); end
1852
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#258
1853
+ sig { params(definition: ::Spoom::Model::Module).void }
1854
+ def on_define_module(definition); end
2042
1855
 
2043
1856
  # Called when a send is being processed
2044
1857
  #
2045
1858
  # ~~~rb
2046
1859
  # class MyPlugin < Spoom::Deadcode::Plugins::Base
2047
- # def on_send(indexer, send)
1860
+ # def on_send(send)
2048
1861
  # return unless send.name == "dsl_method"
2049
1862
  # return if send.args.empty?
2050
1863
  #
2051
- # method_name = indexer.node_string(send.args.first).delete_prefix(":")
2052
- # indexer.reference_method(method_name, send.node)
1864
+ # method_name = send.args.first.slice.delete_prefix(":")
1865
+ # @index.reference_method(method_name, send.node, send.loc)
2053
1866
  # end
2054
1867
  # end
2055
1868
  # ~~~
2056
1869
  #
2057
- # source://spoom//lib/spoom/deadcode/plugins/base.rb#278
2058
- sig { params(indexer: ::Spoom::Deadcode::Indexer, send: ::Spoom::Deadcode::Send).void }
2059
- def on_send(indexer, send); end
1870
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#284
1871
+ sig { params(send: ::Spoom::Deadcode::Send).void }
1872
+ def on_send(send); end
2060
1873
 
2061
1874
  private
2062
1875
 
2063
1876
  # Plugin utils
2064
1877
  #
2065
- # source://spoom//lib/spoom/deadcode/plugins/base.rb#339
1878
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#352
2066
1879
  sig { params(name: ::String).returns(::String) }
2067
1880
  def camelize(name); end
2068
1881
 
2069
- # DSL support
2070
- #
2071
- # source://spoom//lib/spoom/deadcode/plugins/base.rb#293
1882
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#301
2072
1883
  sig { params(name: T.nilable(::String)).returns(T::Boolean) }
2073
1884
  def ignored_class_name?(name); end
2074
1885
 
2075
- # source://spoom//lib/spoom/deadcode/plugins/base.rb#307
1886
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#320
2076
1887
  sig { params(name: ::String).returns(T::Boolean) }
2077
1888
  def ignored_constant_name?(name); end
2078
1889
 
2079
- # source://spoom//lib/spoom/deadcode/plugins/base.rb#312
1890
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#325
2080
1891
  sig { params(name: ::String).returns(T::Boolean) }
2081
1892
  def ignored_method_name?(name); end
2082
1893
 
2083
- # source://spoom//lib/spoom/deadcode/plugins/base.rb#317
1894
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#330
2084
1895
  sig { params(name: ::String).returns(T::Boolean) }
2085
1896
  def ignored_module_name?(name); end
2086
1897
 
2087
- # source://spoom//lib/spoom/deadcode/plugins/base.rb#322
1898
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#335
2088
1899
  sig { params(name: ::String, names_variable: ::Symbol, patterns_variable: ::Symbol).returns(T::Boolean) }
2089
1900
  def ignored_name?(name, names_variable, patterns_variable); end
2090
1901
 
2091
- # source://spoom//lib/spoom/deadcode/plugins/base.rb#300
2092
- sig { params(superclass_name: T.nilable(::String)).returns(T::Boolean) }
2093
- def ignored_subclass?(superclass_name); end
1902
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#308
1903
+ sig { params(definition: ::Spoom::Model::Class).returns(T::Boolean) }
1904
+ def ignored_subclass?(definition); end
2094
1905
 
2095
- # source://spoom//lib/spoom/deadcode/plugins/base.rb#327
1906
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#340
2096
1907
  sig { params(const: ::Symbol).returns(T::Set[::String]) }
2097
1908
  def names(const); end
2098
1909
 
2099
- # source://spoom//lib/spoom/deadcode/plugins/base.rb#332
1910
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#345
2100
1911
  sig { params(const: ::Symbol).returns(T::Array[::Regexp]) }
2101
1912
  def patterns(const); end
2102
1913
 
1914
+ # DSL support
1915
+ #
1916
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#293
1917
+ sig { params(definition: ::Spoom::Model::Namespace, superclass_name: ::String).returns(T::Boolean) }
1918
+ def subclass_of?(definition, superclass_name); end
1919
+
2103
1920
  class << self
2104
1921
  # Mark classes directly subclassing a class matching `names` as ignored.
2105
1922
  #
@@ -2208,32 +2025,36 @@ end
2208
2025
  # source://spoom//lib/spoom/deadcode/plugins/graphql.rb#7
2209
2026
  class Spoom::Deadcode::Plugins::GraphQL < ::Spoom::Deadcode::Plugins::Base
2210
2027
  # source://spoom//lib/spoom/deadcode/plugins/graphql.rb#28
2211
- sig { override.params(indexer: ::Spoom::Deadcode::Indexer, send: ::Spoom::Deadcode::Send).void }
2212
- def on_send(indexer, send); end
2028
+ sig { override.params(send: ::Spoom::Deadcode::Send).void }
2029
+ def on_send(send); end
2213
2030
  end
2214
2031
 
2215
2032
  # source://spoom//lib/spoom/deadcode/plugins/minitest.rb#7
2216
2033
  class Spoom::Deadcode::Plugins::Minitest < ::Spoom::Deadcode::Plugins::Base
2217
2034
  # source://spoom//lib/spoom/deadcode/plugins/minitest.rb#22
2218
- sig { override.params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void }
2219
- def on_define_method(indexer, definition); end
2035
+ sig { override.params(definition: ::Spoom::Model::Method).void }
2036
+ def on_define_method(definition); end
2037
+
2038
+ # source://spoom//lib/spoom/deadcode/plugins/minitest.rb#28
2039
+ sig { override.params(send: ::Spoom::Deadcode::Send).void }
2040
+ def on_send(send); end
2220
2041
  end
2221
2042
 
2222
2043
  # source://spoom//lib/spoom/deadcode/plugins/namespaces.rb#7
2223
2044
  class Spoom::Deadcode::Plugins::Namespaces < ::Spoom::Deadcode::Plugins::Base
2224
2045
  # source://spoom//lib/spoom/deadcode/plugins/namespaces.rb#11
2225
- sig { override.params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void }
2226
- def on_define_class(indexer, definition); end
2046
+ sig { override.params(definition: ::Spoom::Model::Class).void }
2047
+ def on_define_class(definition); end
2227
2048
 
2228
2049
  # source://spoom//lib/spoom/deadcode/plugins/namespaces.rb#16
2229
- sig { override.params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void }
2230
- def on_define_module(indexer, definition); end
2050
+ sig { override.params(definition: ::Spoom::Model::Module).void }
2051
+ def on_define_module(definition); end
2231
2052
 
2232
2053
  private
2233
2054
 
2234
2055
  # source://spoom//lib/spoom/deadcode/plugins/namespaces.rb#23
2235
- sig { params(indexer: ::Spoom::Deadcode::Indexer).returns(T::Boolean) }
2236
- def used_as_namespace?(indexer); end
2056
+ sig { params(symbol_def: ::Spoom::Model::Namespace).returns(T::Boolean) }
2057
+ def used_as_namespace?(symbol_def); end
2237
2058
  end
2238
2059
 
2239
2060
  # source://spoom//lib/spoom/deadcode/plugins/rspec.rb#7
@@ -2242,18 +2063,18 @@ class Spoom::Deadcode::Plugins::RSpec < ::Spoom::Deadcode::Plugins::Base; end
2242
2063
  # source://spoom//lib/spoom/deadcode/plugins/rails.rb#7
2243
2064
  class Spoom::Deadcode::Plugins::Rails < ::Spoom::Deadcode::Plugins::Base
2244
2065
  # source://spoom//lib/spoom/deadcode/plugins/rails.rb#13
2245
- sig { override.params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void }
2246
- def on_define_class(indexer, definition); end
2066
+ sig { override.params(definition: ::Spoom::Model::Class).void }
2067
+ def on_define_class(definition); end
2247
2068
 
2248
2069
  # source://spoom//lib/spoom/deadcode/plugins/rails.rb#18
2249
- sig { override.params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void }
2250
- def on_define_module(indexer, definition); end
2070
+ sig { override.params(definition: ::Spoom::Model::Module).void }
2071
+ def on_define_module(definition); end
2251
2072
 
2252
2073
  private
2253
2074
 
2254
2075
  # source://spoom//lib/spoom/deadcode/plugins/rails.rb#25
2255
- sig { params(indexer: ::Spoom::Deadcode::Indexer).returns(T::Boolean) }
2256
- def file_is_helper?(indexer); end
2076
+ sig { params(symbol_def: ::Spoom::Model::Namespace).returns(T::Boolean) }
2077
+ def file_is_helper?(symbol_def); end
2257
2078
  end
2258
2079
 
2259
2080
  # source://spoom//lib/spoom/deadcode/plugins/rake.rb#7
@@ -2262,22 +2083,12 @@ class Spoom::Deadcode::Plugins::Rake < ::Spoom::Deadcode::Plugins::Base; end
2262
2083
  # source://spoom//lib/spoom/deadcode/plugins/rubocop.rb#7
2263
2084
  class Spoom::Deadcode::Plugins::Rubocop < ::Spoom::Deadcode::Plugins::Base
2264
2085
  # source://spoom//lib/spoom/deadcode/plugins/rubocop.rb#18
2265
- sig { override.params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void }
2266
- def on_define_constant(indexer, definition); end
2267
-
2268
- # source://spoom//lib/spoom/deadcode/plugins/rubocop.rb#23
2269
- sig { override.params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void }
2270
- def on_define_method(indexer, definition); end
2271
-
2272
- private
2086
+ sig { override.params(definition: ::Spoom::Model::Constant).void }
2087
+ def on_define_constant(definition); end
2273
2088
 
2274
- # source://spoom//lib/spoom/deadcode/plugins/rubocop.rb#30
2275
- sig { params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).returns(T::Boolean) }
2276
- def rubocop_constant?(indexer, definition); end
2277
-
2278
- # source://spoom//lib/spoom/deadcode/plugins/rubocop.rb#35
2279
- sig { params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).returns(T::Boolean) }
2280
- def rubocop_method?(indexer, definition); end
2089
+ # source://spoom//lib/spoom/deadcode/plugins/rubocop.rb#26
2090
+ sig { override.params(definition: ::Spoom::Model::Method).void }
2091
+ def on_define_method(definition); end
2281
2092
  end
2282
2093
 
2283
2094
  # source://spoom//lib/spoom/deadcode/plugins/rubocop.rb#10
@@ -2286,74 +2097,42 @@ Spoom::Deadcode::Plugins::Rubocop::RUBOCOP_CONSTANTS = T.let(T.unsafe(nil), Set)
2286
2097
  # source://spoom//lib/spoom/deadcode/plugins/ruby.rb#7
2287
2098
  class Spoom::Deadcode::Plugins::Ruby < ::Spoom::Deadcode::Plugins::Base
2288
2099
  # source://spoom//lib/spoom/deadcode/plugins/ruby.rb#24
2289
- sig { override.params(indexer: ::Spoom::Deadcode::Indexer, send: ::Spoom::Deadcode::Send).void }
2290
- def on_send(indexer, send); end
2100
+ sig { override.params(send: ::Spoom::Deadcode::Send).void }
2101
+ def on_send(send); end
2291
2102
 
2292
2103
  private
2293
2104
 
2294
- # source://spoom//lib/spoom/deadcode/plugins/ruby.rb#50
2295
- sig { params(indexer: ::Spoom::Deadcode::Indexer, send: ::Spoom::Deadcode::Send, node: ::SyntaxTree::Node).void }
2296
- def reference_symbol_as_constant(indexer, send, node); end
2105
+ # source://spoom//lib/spoom/deadcode/plugins/ruby.rb#46
2106
+ sig { params(send: ::Spoom::Deadcode::Send, node: ::Prism::Node).void }
2107
+ def reference_symbol_as_constant(send, node); end
2297
2108
  end
2298
2109
 
2299
2110
  # source://spoom//lib/spoom/deadcode/plugins/sorbet.rb#7
2300
2111
  class Spoom::Deadcode::Plugins::Sorbet < ::Spoom::Deadcode::Plugins::Base
2301
2112
  # source://spoom//lib/spoom/deadcode/plugins/sorbet.rb#11
2302
- sig { override.params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void }
2303
- def on_define_constant(indexer, definition); end
2113
+ sig { override.params(definition: ::Spoom::Model::Constant).void }
2114
+ def on_define_constant(definition); end
2304
2115
 
2305
2116
  # source://spoom//lib/spoom/deadcode/plugins/sorbet.rb#16
2306
- sig { override.params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void }
2307
- def on_define_method(indexer, definition); end
2117
+ sig { override.params(definition: ::Spoom::Model::Method).void }
2118
+ def on_define_method(definition); end
2308
2119
 
2309
2120
  private
2310
2121
 
2311
- # source://spoom//lib/spoom/deadcode/plugins/sorbet.rb#40
2312
- sig { params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).returns(T::Boolean) }
2313
- def sorbet_enum_constant?(indexer, definition); end
2122
+ # source://spoom//lib/spoom/deadcode/plugins/sorbet.rb#28
2123
+ sig { params(definition: ::Spoom::Model::Constant).returns(T::Boolean) }
2124
+ def sorbet_enum_constant?(definition); end
2314
2125
 
2315
2126
  # source://spoom//lib/spoom/deadcode/plugins/sorbet.rb#23
2316
- sig { params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).returns(T::Boolean) }
2317
- def sorbet_type_member?(indexer, definition); end
2127
+ sig { params(definition: ::Spoom::Model::Constant).returns(T::Boolean) }
2128
+ def sorbet_type_member?(definition); end
2318
2129
  end
2319
2130
 
2320
2131
  # source://spoom//lib/spoom/deadcode/plugins/thor.rb#7
2321
2132
  class Spoom::Deadcode::Plugins::Thor < ::Spoom::Deadcode::Plugins::Base
2322
2133
  # source://spoom//lib/spoom/deadcode/plugins/thor.rb#13
2323
- sig { override.params(indexer: ::Spoom::Deadcode::Indexer, definition: ::Spoom::Deadcode::Definition).void }
2324
- def on_define_method(indexer, definition); end
2325
- end
2326
-
2327
- # A reference is a call to a method or a constant
2328
- #
2329
- # source://spoom//lib/spoom/deadcode/reference.rb#7
2330
- class Spoom::Deadcode::Reference < ::T::Struct
2331
- const :kind, ::Spoom::Deadcode::Reference::Kind
2332
- const :name, ::String
2333
- const :location, ::Spoom::Deadcode::Location
2334
-
2335
- # Kind
2336
- #
2337
- # source://spoom//lib/spoom/deadcode/reference.rb#24
2338
- sig { returns(T::Boolean) }
2339
- def constant?; end
2340
-
2341
- # source://spoom//lib/spoom/deadcode/reference.rb#29
2342
- sig { returns(T::Boolean) }
2343
- def method?; end
2344
-
2345
- class << self
2346
- # source://sorbet-runtime/0.5.11262/lib/types/struct.rb#13
2347
- def inherited(s); end
2348
- end
2349
- end
2350
-
2351
- # source://spoom//lib/spoom/deadcode/reference.rb#10
2352
- class Spoom::Deadcode::Reference::Kind < ::T::Enum
2353
- enums do
2354
- Constant = new
2355
- Method = new
2356
- end
2134
+ sig { override.params(definition: ::Spoom::Model::Method).void }
2135
+ def on_define_method(definition); end
2357
2136
  end
2358
2137
 
2359
2138
  # source://spoom//lib/spoom/deadcode/remover.rb#6
@@ -2363,135 +2142,135 @@ class Spoom::Deadcode::Remover
2363
2142
  def initialize(context); end
2364
2143
 
2365
2144
  # source://spoom//lib/spoom/deadcode/remover.rb#17
2366
- sig { params(kind: ::Spoom::Deadcode::Definition::Kind, location: ::Spoom::Deadcode::Location).void }
2145
+ sig { params(kind: T.nilable(::Spoom::Deadcode::Definition::Kind), location: ::Spoom::Location).returns(::String) }
2367
2146
  def remove_location(kind, location); end
2368
2147
  end
2369
2148
 
2370
2149
  # source://spoom//lib/spoom/deadcode/remover.rb#9
2371
2150
  class Spoom::Deadcode::Remover::Error < ::Spoom::Error; end
2372
2151
 
2373
- # source://spoom//lib/spoom/deadcode/remover.rb#348
2152
+ # source://spoom//lib/spoom/deadcode/remover.rb#372
2374
2153
  class Spoom::Deadcode::Remover::NodeContext
2375
- # source://spoom//lib/spoom/deadcode/remover.rb#358
2376
- sig { params(source: ::String, node: ::SyntaxTree::Node, nesting: T::Array[::SyntaxTree::Node]).void }
2377
- def initialize(source, node, nesting); end
2154
+ # source://spoom//lib/spoom/deadcode/remover.rb#392
2155
+ sig do
2156
+ params(
2157
+ source: ::String,
2158
+ comments: T::Hash[::Integer, ::Prism::Comment],
2159
+ node: ::Prism::Node,
2160
+ nesting: T::Array[::Prism::Node]
2161
+ ).void
2162
+ end
2163
+ def initialize(source, comments, node, nesting); end
2378
2164
 
2379
- # source://spoom//lib/spoom/deadcode/remover.rb#467
2380
- sig { returns(T::Array[::SyntaxTree::Node]) }
2381
- def attached_comments_and_sigs; end
2165
+ # source://spoom//lib/spoom/deadcode/remover.rb#506
2166
+ sig { params(node: ::Prism::Node).returns(T::Array[::Prism::Comment]) }
2167
+ def attached_comments(node); end
2382
2168
 
2383
- # source://spoom//lib/spoom/deadcode/remover.rb#480
2384
- sig { returns(T.nilable(::SyntaxTree::MethodAddBlock)) }
2169
+ # source://spoom//lib/spoom/deadcode/remover.rb#534
2170
+ sig { returns(T.nilable(::Prism::CallNode)) }
2385
2171
  def attached_sig; end
2386
2172
 
2387
- # source://spoom//lib/spoom/deadcode/remover.rb#460
2388
- sig { params(comment: ::SyntaxTree::Node, node: ::SyntaxTree::Node).returns(T::Boolean) }
2389
- def comment_for_node?(comment, node); end
2173
+ # source://spoom//lib/spoom/deadcode/remover.rb#521
2174
+ sig { returns(T::Array[::Prism::Node]) }
2175
+ def attached_sigs; end
2176
+
2177
+ # source://spoom//lib/spoom/deadcode/remover.rb#376
2178
+ sig { returns(T::Hash[::Integer, ::Prism::Comment]) }
2179
+ def comments; end
2390
2180
 
2391
- # source://spoom//lib/spoom/deadcode/remover.rb#355
2392
- sig { returns(T::Array[::SyntaxTree::Node]) }
2181
+ # source://spoom//lib/spoom/deadcode/remover.rb#494
2182
+ sig { params(start_line: ::Integer, end_line: ::Integer).returns(T::Array[::Prism::Comment]) }
2183
+ def comments_between_lines(start_line, end_line); end
2184
+
2185
+ # source://spoom//lib/spoom/deadcode/remover.rb#382
2186
+ sig { returns(T::Array[::Prism::Node]) }
2393
2187
  def nesting; end
2394
2188
 
2395
- # @return [Array<SyntaxTree::Node>]
2189
+ # @return [Array<Prism::Node>]
2396
2190
  #
2397
- # source://spoom//lib/spoom/deadcode/remover.rb#355
2191
+ # source://spoom//lib/spoom/deadcode/remover.rb#382
2398
2192
  def nesting=(_arg0); end
2399
2193
 
2400
- # source://spoom//lib/spoom/deadcode/remover.rb#407
2401
- sig { returns(T.nilable(::SyntaxTree::Node)) }
2194
+ # source://spoom//lib/spoom/deadcode/remover.rb#444
2195
+ sig { returns(T.nilable(::Prism::Node)) }
2402
2196
  def next_node; end
2403
2197
 
2404
- # source://spoom//lib/spoom/deadcode/remover.rb#397
2405
- sig { returns(T::Array[::SyntaxTree::Node]) }
2198
+ # @raise [Error]
2199
+ #
2200
+ # source://spoom//lib/spoom/deadcode/remover.rb#433
2201
+ sig { returns(T::Array[::Prism::Node]) }
2406
2202
  def next_nodes; end
2407
2203
 
2408
- # source://spoom//lib/spoom/deadcode/remover.rb#352
2409
- sig { returns(::SyntaxTree::Node) }
2204
+ # source://spoom//lib/spoom/deadcode/remover.rb#379
2205
+ sig { returns(::Prism::Node) }
2410
2206
  def node; end
2411
2207
 
2412
- # source://spoom//lib/spoom/deadcode/remover.rb#495
2413
- sig { params(node: T.any(::Symbol, ::SyntaxTree::Node)).returns(::String) }
2414
- def node_string(node); end
2415
-
2416
- # source://spoom//lib/spoom/deadcode/remover.rb#373
2208
+ # @raise [Error]
2209
+ #
2210
+ # source://spoom//lib/spoom/deadcode/remover.rb#408
2417
2211
  sig { returns(::Spoom::Deadcode::Remover::NodeContext) }
2418
2212
  def parent_context; end
2419
2213
 
2420
- # source://spoom//lib/spoom/deadcode/remover.rb#365
2421
- sig { returns(::SyntaxTree::Node) }
2214
+ # @raise [Error]
2215
+ #
2216
+ # source://spoom//lib/spoom/deadcode/remover.rb#400
2217
+ sig { returns(::Prism::Node) }
2422
2218
  def parent_node; end
2423
2219
 
2424
- # source://spoom//lib/spoom/deadcode/remover.rb#392
2425
- sig { returns(T.nilable(::SyntaxTree::Node)) }
2220
+ # source://spoom//lib/spoom/deadcode/remover.rb#428
2221
+ sig { returns(T.nilable(::Prism::Node)) }
2426
2222
  def previous_node; end
2427
2223
 
2428
- # source://spoom//lib/spoom/deadcode/remover.rb#382
2429
- sig { returns(T::Array[::SyntaxTree::Node]) }
2224
+ # @raise [Error]
2225
+ #
2226
+ # source://spoom//lib/spoom/deadcode/remover.rb#417
2227
+ sig { returns(T::Array[::Prism::Node]) }
2430
2228
  def previous_nodes; end
2431
2229
 
2432
- # source://spoom//lib/spoom/deadcode/remover.rb#412
2230
+ # source://spoom//lib/spoom/deadcode/remover.rb#449
2433
2231
  sig { returns(T.nilable(::Spoom::Deadcode::Remover::NodeContext)) }
2434
2232
  def sclass_context; end
2435
2233
 
2436
- # source://spoom//lib/spoom/deadcode/remover.rb#451
2437
- sig { params(node: T.nilable(::SyntaxTree::Node)).returns(T::Boolean) }
2234
+ # source://spoom//lib/spoom/deadcode/remover.rb#482
2235
+ sig { params(node: T.nilable(::Prism::Node)).returns(T::Boolean) }
2438
2236
  def sorbet_extend_sig?(node); end
2439
2237
 
2440
- # source://spoom//lib/spoom/deadcode/remover.rb#438
2441
- sig { params(node: T.nilable(::SyntaxTree::Node)).returns(T::Boolean) }
2238
+ # source://spoom//lib/spoom/deadcode/remover.rb#477
2239
+ sig { params(node: T.nilable(::Prism::Node)).returns(T::Boolean) }
2442
2240
  def sorbet_signature?(node); end
2443
2241
  end
2444
2242
 
2445
- # source://spoom//lib/spoom/deadcode/remover.rb#505
2446
- class Spoom::Deadcode::Remover::NodeFinder < ::SyntaxTree::Visitor
2447
- # source://spoom//lib/spoom/deadcode/remover.rb#554
2448
- sig { params(location: ::Spoom::Deadcode::Location).void }
2449
- def initialize(location); end
2243
+ # source://spoom//lib/spoom/deadcode/remover.rb#549
2244
+ class Spoom::Deadcode::Remover::NodeFinder < ::Spoom::Visitor
2245
+ # source://spoom//lib/spoom/deadcode/remover.rb#621
2246
+ sig { params(location: ::Spoom::Location, kind: T.nilable(::Spoom::Deadcode::Definition::Kind)).void }
2247
+ def initialize(location, kind); end
2450
2248
 
2451
- # source://spoom//lib/spoom/deadcode/remover.rb#548
2452
- sig { returns(T.nilable(::SyntaxTree::Node)) }
2249
+ # source://spoom//lib/spoom/deadcode/remover.rb#615
2250
+ sig { returns(T.nilable(::Prism::Node)) }
2453
2251
  def node; end
2454
2252
 
2455
- # source://spoom//lib/spoom/deadcode/remover.rb#551
2456
- sig { returns(T::Array[::SyntaxTree::Node]) }
2253
+ # source://spoom//lib/spoom/deadcode/remover.rb#618
2254
+ sig { returns(T::Array[::Prism::Node]) }
2457
2255
  def nodes_nesting; end
2458
2256
 
2459
- # @return [Array<SyntaxTree::Node>]
2460
- #
2461
- # source://spoom//lib/spoom/deadcode/remover.rb#551
2462
- def nodes_nesting=(_arg0); end
2463
-
2464
- # source://spoom//lib/spoom/deadcode/remover.rb#562
2465
- sig { override.params(node: T.nilable(::SyntaxTree::Node)).void }
2257
+ # source://spoom//lib/spoom/deadcode/remover.rb#630
2258
+ sig { override.params(node: T.nilable(::Prism::Node)).void }
2466
2259
  def visit(node); end
2467
2260
 
2468
- private
2469
-
2470
- # TODO: remove once SyntaxTree location are fixed
2471
- #
2472
- # source://spoom//lib/spoom/deadcode/remover.rb#601
2473
- sig { params(node: ::SyntaxTree::Node, nodes: T::Array[::SyntaxTree::Node]).returns(::Spoom::Deadcode::Location) }
2474
- def location_from_children(node, nodes); end
2475
-
2476
- # TODO: remove once SyntaxTree location are fixed
2477
- #
2478
- # source://spoom//lib/spoom/deadcode/remover.rb#586
2479
- sig { params(node: ::SyntaxTree::Node).returns(::Spoom::Deadcode::Location) }
2480
- def location_from_node(node); end
2481
-
2482
2261
  class << self
2483
- # source://spoom//lib/spoom/deadcode/remover.rb#512
2262
+ # source://spoom//lib/spoom/deadcode/remover.rb#556
2484
2263
  sig do
2485
2264
  params(
2486
2265
  source: ::String,
2487
- location: ::Spoom::Deadcode::Location,
2488
- kind: ::Spoom::Deadcode::Definition::Kind
2266
+ location: ::Spoom::Location,
2267
+ kind: T.nilable(::Spoom::Deadcode::Definition::Kind)
2489
2268
  ).returns(::Spoom::Deadcode::Remover::NodeContext)
2490
2269
  end
2491
2270
  def find(source, location, kind); end
2492
2271
 
2493
- # source://spoom//lib/spoom/deadcode/remover.rb#531
2494
- sig { params(node: ::SyntaxTree::Node, kind: ::Spoom::Deadcode::Definition::Kind).returns(T::Boolean) }
2272
+ # source://spoom//lib/spoom/deadcode/remover.rb#590
2273
+ sig { params(node: ::Prism::Node, kind: ::Spoom::Deadcode::Definition::Kind).returns(T::Boolean) }
2495
2274
  def node_match_kind?(node, kind); end
2496
2275
  end
2497
2276
  end
@@ -2502,8 +2281,8 @@ class Spoom::Deadcode::Remover::NodeRemover
2502
2281
  sig do
2503
2282
  params(
2504
2283
  source: ::String,
2505
- kind: ::Spoom::Deadcode::Definition::Kind,
2506
- location: ::Spoom::Deadcode::Location
2284
+ kind: T.nilable(::Spoom::Deadcode::Definition::Kind),
2285
+ location: ::Spoom::Location
2507
2286
  ).void
2508
2287
  end
2509
2288
  def initialize(source, kind, location); end
@@ -2518,65 +2297,61 @@ class Spoom::Deadcode::Remover::NodeRemover
2518
2297
 
2519
2298
  private
2520
2299
 
2521
- # source://spoom//lib/spoom/deadcode/remover.rb#142
2300
+ # source://spoom//lib/spoom/deadcode/remover.rb#153
2522
2301
  sig { params(context: ::Spoom::Deadcode::Remover::NodeContext).void }
2523
2302
  def delete_attr_accessor(context); end
2524
2303
 
2525
- # source://spoom//lib/spoom/deadcode/remover.rb#290
2304
+ # source://spoom//lib/spoom/deadcode/remover.rb#331
2526
2305
  sig { params(start_char: ::Integer, end_char: ::Integer).void }
2527
2306
  def delete_chars(start_char, end_char); end
2528
2307
 
2529
- # source://spoom//lib/spoom/deadcode/remover.rb#69
2308
+ # source://spoom//lib/spoom/deadcode/remover.rb#73
2530
2309
  sig { params(context: ::Spoom::Deadcode::Remover::NodeContext).void }
2531
2310
  def delete_constant_assignment(context); end
2532
2311
 
2533
- # source://spoom//lib/spoom/deadcode/remover.rb#300
2534
- sig { params(line_number: ::Integer, start_column: ::Integer, end_column: ::Integer).void }
2535
- def delete_line_part(line_number, start_column, end_column); end
2536
-
2537
- # source://spoom//lib/spoom/deadcode/remover.rb#283
2312
+ # source://spoom//lib/spoom/deadcode/remover.rb#324
2538
2313
  sig { params(start_line: ::Integer, end_line: ::Integer).void }
2539
2314
  def delete_lines(start_line, end_line); end
2540
2315
 
2541
- # source://spoom//lib/spoom/deadcode/remover.rb#250
2316
+ # source://spoom//lib/spoom/deadcode/remover.rb#261
2542
2317
  sig { params(context: ::Spoom::Deadcode::Remover::NodeContext).void }
2543
2318
  def delete_node_and_comments_and_sigs(context); end
2544
2319
 
2545
- # source://spoom//lib/spoom/deadcode/remover.rb#207
2320
+ # source://spoom//lib/spoom/deadcode/remover.rb#218
2546
2321
  sig do
2547
2322
  params(
2548
- node: ::SyntaxTree::Node,
2323
+ node: ::Prism::Node,
2549
2324
  send_context: ::Spoom::Deadcode::Remover::NodeContext,
2550
2325
  was_removed: T::Boolean
2551
2326
  ).void
2552
2327
  end
2553
2328
  def insert_accessor(node, send_context, was_removed:); end
2554
2329
 
2555
- # source://spoom//lib/spoom/deadcode/remover.rb#295
2330
+ # source://spoom//lib/spoom/deadcode/remover.rb#336
2556
2331
  sig { params(start_char: ::Integer, end_char: ::Integer, replacement: ::String).void }
2557
2332
  def replace_chars(start_char, end_char, replacement); end
2558
2333
 
2559
- # source://spoom//lib/spoom/deadcode/remover.rb#315
2334
+ # source://spoom//lib/spoom/deadcode/remover.rb#341
2560
2335
  sig do
2561
2336
  params(
2562
- node: ::SyntaxTree::MethodAddBlock,
2337
+ node: ::Prism::CallNode,
2563
2338
  name: ::String,
2564
- kind: ::Spoom::Deadcode::Definition::Kind
2339
+ kind: T.nilable(::Spoom::Deadcode::Definition::Kind)
2565
2340
  ).returns(::String)
2566
2341
  end
2567
2342
  def transform_sig(node, name:, kind:); end
2568
2343
  end
2569
2344
 
2570
- # An abstraction to simplify handling of SyntaxTree::CallNode, SyntaxTree::Command, SyntaxTree::CommandCall and
2571
- # SyntaxTree::VCall nodes.
2345
+ # An abstraction to simplify handling of Prism::CallNode nodes.
2572
2346
  #
2573
- # source://spoom//lib/spoom/deadcode/send.rb#8
2347
+ # source://spoom//lib/spoom/deadcode/send.rb#7
2574
2348
  class Spoom::Deadcode::Send < ::T::Struct
2575
- const :node, ::SyntaxTree::Node
2349
+ const :node, ::Prism::CallNode
2576
2350
  const :name, ::String
2577
- const :recv, T.nilable(::SyntaxTree::Node), default: T.unsafe(nil)
2578
- const :args, T::Array[::SyntaxTree::Node], default: T.unsafe(nil)
2579
- const :block, T.nilable(::SyntaxTree::Node), default: T.unsafe(nil)
2351
+ const :recv, T.nilable(::Prism::Node), default: T.unsafe(nil)
2352
+ const :args, T::Array[::Prism::Node], default: T.unsafe(nil)
2353
+ const :block, T.nilable(::Prism::Node), default: T.unsafe(nil)
2354
+ const :location, ::Spoom::Location
2580
2355
 
2581
2356
  # source://spoom//lib/spoom/deadcode/send.rb#22
2582
2357
  sig do
@@ -2589,11 +2364,11 @@ class Spoom::Deadcode::Send < ::T::Struct
2589
2364
  def each_arg(arg_type, &block); end
2590
2365
 
2591
2366
  # source://spoom//lib/spoom/deadcode/send.rb#29
2592
- sig { params(block: T.proc.params(key: ::SyntaxTree::Node, value: T.nilable(::SyntaxTree::Node)).void).void }
2367
+ sig { params(block: T.proc.params(key: ::Prism::Node, value: T.nilable(::Prism::Node)).void).void }
2593
2368
  def each_arg_assoc(&block); end
2594
2369
 
2595
2370
  class << self
2596
- # source://sorbet-runtime/0.5.11262/lib/types/struct.rb#13
2371
+ # source://sorbet-runtime/0.5.11633/lib/types/struct.rb#13
2597
2372
  def inherited(s); end
2598
2373
  end
2599
2374
  end
@@ -2613,7 +2388,7 @@ class Spoom::ExecResult < ::T::Struct
2613
2388
  def to_s; end
2614
2389
 
2615
2390
  class << self
2616
- # source://sorbet-runtime/0.5.11262/lib/types/struct.rb#13
2391
+ # source://sorbet-runtime/0.5.11633/lib/types/struct.rb#13
2617
2392
  def inherited(s); end
2618
2393
  end
2619
2394
  end
@@ -2708,16 +2483,10 @@ class Spoom::FileTree
2708
2483
 
2709
2484
  # Return a map of typing scores for each node in the tree
2710
2485
  #
2711
- # source://spoom//lib/spoom/file_tree.rb#67
2486
+ # source://spoom//lib/spoom/file_tree.rb#59
2712
2487
  sig { params(context: ::Spoom::Context).returns(T::Hash[::Spoom::FileTree::Node, ::Float]) }
2713
2488
  def nodes_strictness_scores(context); end
2714
2489
 
2715
- # Return a map of strictnesses for each node in the tree
2716
- #
2717
- # source://spoom//lib/spoom/file_tree.rb#59
2718
- sig { params(context: ::Spoom::Context).returns(T::Hash[::Spoom::FileTree::Node, T.nilable(::String)]) }
2719
- def nodes_strictnesses(context); end
2720
-
2721
2490
  # All the paths in this tree
2722
2491
  #
2723
2492
  # source://spoom//lib/spoom/file_tree.rb#53
@@ -2726,18 +2495,14 @@ class Spoom::FileTree
2726
2495
 
2727
2496
  # Return a map of typing scores for each path in the tree
2728
2497
  #
2729
- # source://spoom//lib/spoom/file_tree.rb#75
2498
+ # source://spoom//lib/spoom/file_tree.rb#67
2730
2499
  sig { params(context: ::Spoom::Context).returns(T::Hash[::String, ::Float]) }
2731
2500
  def paths_strictness_scores(context); end
2732
2501
 
2733
- # source://spoom//lib/spoom/file_tree.rb#80
2502
+ # source://spoom//lib/spoom/file_tree.rb#72
2734
2503
  sig { params(out: T.any(::IO, ::StringIO), colors: T::Boolean).void }
2735
2504
  def print(out: T.unsafe(nil), colors: T.unsafe(nil)); end
2736
2505
 
2737
- # source://spoom//lib/spoom/file_tree.rb#86
2738
- sig { params(context: ::Spoom::Context, out: T.any(::IO, ::StringIO), colors: T::Boolean).void }
2739
- def print_with_strictnesses(context, out: T.unsafe(nil), colors: T.unsafe(nil)); end
2740
-
2741
2506
  # All root nodes
2742
2507
  #
2743
2508
  # source://spoom//lib/spoom/file_tree.rb#39
@@ -2747,68 +2512,68 @@ end
2747
2512
 
2748
2513
  # A visitor that collects all the nodes in a tree
2749
2514
  #
2750
- # source://spoom//lib/spoom/file_tree.rb#140
2515
+ # source://spoom//lib/spoom/file_tree.rb#124
2751
2516
  class Spoom::FileTree::CollectNodes < ::Spoom::FileTree::Visitor
2752
- # source://spoom//lib/spoom/file_tree.rb#147
2517
+ # source://spoom//lib/spoom/file_tree.rb#131
2753
2518
  sig { void }
2754
2519
  def initialize; end
2755
2520
 
2756
- # source://spoom//lib/spoom/file_tree.rb#144
2521
+ # source://spoom//lib/spoom/file_tree.rb#128
2757
2522
  sig { returns(T::Array[::Spoom::FileTree::Node]) }
2758
2523
  def nodes; end
2759
2524
 
2760
- # source://spoom//lib/spoom/file_tree.rb#153
2525
+ # source://spoom//lib/spoom/file_tree.rb#137
2761
2526
  sig { override.params(node: ::Spoom::FileTree::Node).void }
2762
2527
  def visit_node(node); end
2763
2528
  end
2764
2529
 
2765
2530
  # A visitor that collects the typing score of each node in a tree
2766
2531
  #
2767
- # source://spoom//lib/spoom/file_tree.rb#183
2532
+ # source://spoom//lib/spoom/file_tree.rb#167
2768
2533
  class Spoom::FileTree::CollectScores < ::Spoom::FileTree::CollectStrictnesses
2769
- # source://spoom//lib/spoom/file_tree.rb#190
2534
+ # source://spoom//lib/spoom/file_tree.rb#174
2770
2535
  sig { params(context: ::Spoom::Context).void }
2771
2536
  def initialize(context); end
2772
2537
 
2773
- # source://spoom//lib/spoom/file_tree.rb#187
2538
+ # source://spoom//lib/spoom/file_tree.rb#171
2774
2539
  sig { returns(T::Hash[::Spoom::FileTree::Node, ::Float]) }
2775
2540
  def scores; end
2776
2541
 
2777
- # source://spoom//lib/spoom/file_tree.rb#197
2542
+ # source://spoom//lib/spoom/file_tree.rb#181
2778
2543
  sig { override.params(node: ::Spoom::FileTree::Node).void }
2779
2544
  def visit_node(node); end
2780
2545
 
2781
2546
  private
2782
2547
 
2783
- # source://spoom//lib/spoom/file_tree.rb#206
2548
+ # source://spoom//lib/spoom/file_tree.rb#190
2784
2549
  sig { params(node: ::Spoom::FileTree::Node).returns(::Float) }
2785
2550
  def node_score(node); end
2786
2551
 
2787
- # source://spoom//lib/spoom/file_tree.rb#215
2552
+ # source://spoom//lib/spoom/file_tree.rb#199
2788
2553
  sig { params(strictness: T.nilable(::String)).returns(::Float) }
2789
2554
  def strictness_score(strictness); end
2790
2555
  end
2791
2556
 
2792
2557
  # A visitor that collects the strictness of each node in a tree
2793
2558
  #
2794
- # source://spoom//lib/spoom/file_tree.rb#160
2559
+ # source://spoom//lib/spoom/file_tree.rb#144
2795
2560
  class Spoom::FileTree::CollectStrictnesses < ::Spoom::FileTree::Visitor
2796
- # source://spoom//lib/spoom/file_tree.rb#167
2561
+ # source://spoom//lib/spoom/file_tree.rb#151
2797
2562
  sig { params(context: ::Spoom::Context).void }
2798
2563
  def initialize(context); end
2799
2564
 
2800
- # source://spoom//lib/spoom/file_tree.rb#164
2565
+ # source://spoom//lib/spoom/file_tree.rb#148
2801
2566
  sig { returns(T::Hash[::Spoom::FileTree::Node, T.nilable(::String)]) }
2802
2567
  def strictnesses; end
2803
2568
 
2804
- # source://spoom//lib/spoom/file_tree.rb#174
2569
+ # source://spoom//lib/spoom/file_tree.rb#158
2805
2570
  sig { override.params(node: ::Spoom::FileTree::Node).void }
2806
2571
  def visit_node(node); end
2807
2572
  end
2808
2573
 
2809
2574
  # A node representing either a file or a directory inside a FileTree
2810
2575
  #
2811
- # source://spoom//lib/spoom/file_tree.rb#94
2576
+ # source://spoom//lib/spoom/file_tree.rb#78
2812
2577
  class Spoom::FileTree::Node < ::T::Struct
2813
2578
  const :parent, T.nilable(::Spoom::FileTree::Node)
2814
2579
  const :name, ::String
@@ -2816,12 +2581,12 @@ class Spoom::FileTree::Node < ::T::Struct
2816
2581
 
2817
2582
  # Full path to this node from root
2818
2583
  #
2819
- # source://spoom//lib/spoom/file_tree.rb#108
2584
+ # source://spoom//lib/spoom/file_tree.rb#92
2820
2585
  sig { returns(::String) }
2821
2586
  def path; end
2822
2587
 
2823
2588
  class << self
2824
- # source://sorbet-runtime/0.5.11262/lib/types/struct.rb#13
2589
+ # source://sorbet-runtime/0.5.11633/lib/types/struct.rb#13
2825
2590
  def inherited(s); end
2826
2591
  end
2827
2592
  end
@@ -2830,9 +2595,9 @@ end
2830
2595
  #
2831
2596
  # See `FileTree#print`
2832
2597
  #
2833
- # source://spoom//lib/spoom/file_tree.rb#228
2598
+ # source://spoom//lib/spoom/file_tree.rb#212
2834
2599
  class Spoom::FileTree::Printer < ::Spoom::FileTree::Visitor
2835
- # source://spoom//lib/spoom/file_tree.rb#238
2600
+ # source://spoom//lib/spoom/file_tree.rb#222
2836
2601
  sig do
2837
2602
  params(
2838
2603
  strictnesses: T::Hash[::Spoom::FileTree::Node, T.nilable(::String)],
@@ -2842,13 +2607,13 @@ class Spoom::FileTree::Printer < ::Spoom::FileTree::Visitor
2842
2607
  end
2843
2608
  def initialize(strictnesses, out: T.unsafe(nil), colors: T.unsafe(nil)); end
2844
2609
 
2845
- # source://spoom//lib/spoom/file_tree.rb#246
2610
+ # source://spoom//lib/spoom/file_tree.rb#230
2846
2611
  sig { override.params(node: ::Spoom::FileTree::Node).void }
2847
2612
  def visit_node(node); end
2848
2613
 
2849
2614
  private
2850
2615
 
2851
- # source://spoom//lib/spoom/file_tree.rb#271
2616
+ # source://spoom//lib/spoom/file_tree.rb#255
2852
2617
  sig { params(strictness: T.nilable(::String)).returns(::Spoom::Color) }
2853
2618
  def strictness_color(strictness); end
2854
2619
  end
@@ -2857,19 +2622,19 @@ end
2857
2622
  #
2858
2623
  # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
2859
2624
  #
2860
- # source://spoom//lib/spoom/file_tree.rb#117
2625
+ # source://spoom//lib/spoom/file_tree.rb#101
2861
2626
  class Spoom::FileTree::Visitor
2862
2627
  abstract!
2863
2628
 
2864
- # source://spoom//lib/spoom/file_tree.rb#129
2629
+ # source://spoom//lib/spoom/file_tree.rb#113
2865
2630
  sig { params(node: ::Spoom::FileTree::Node).void }
2866
2631
  def visit_node(node); end
2867
2632
 
2868
- # source://spoom//lib/spoom/file_tree.rb#134
2633
+ # source://spoom//lib/spoom/file_tree.rb#118
2869
2634
  sig { params(nodes: T::Array[::Spoom::FileTree::Node]).void }
2870
2635
  def visit_nodes(nodes); end
2871
2636
 
2872
- # source://spoom//lib/spoom/file_tree.rb#124
2637
+ # source://spoom//lib/spoom/file_tree.rb#108
2873
2638
  sig { params(tree: ::Spoom::FileTree).void }
2874
2639
  def visit_tree(tree); end
2875
2640
  end
@@ -2887,10 +2652,10 @@ class Spoom::Git::Commit < ::T::Struct
2887
2652
  def timestamp; end
2888
2653
 
2889
2654
  class << self
2890
- # source://sorbet-runtime/0.5.11262/lib/types/struct.rb#13
2655
+ # source://sorbet-runtime/0.5.11633/lib/types/struct.rb#13
2891
2656
  def inherited(s); end
2892
2657
 
2893
- # Parse a line formated as `%h %at` into a `Commit`
2658
+ # Parse a line formatted as `%h %at` into a `Commit`
2894
2659
  #
2895
2660
  # source://spoom//lib/spoom/context/git.rb#14
2896
2661
  sig { params(string: ::String).returns(T.nilable(::Spoom::Git::Commit)) }
@@ -2984,7 +2749,7 @@ class Spoom::LSP::Diagnostic < ::T::Struct
2984
2749
  const :range, ::Spoom::LSP::Range
2985
2750
  const :code, ::Integer
2986
2751
  const :message, ::String
2987
- const :informations, ::Object
2752
+ const :information, ::Object
2988
2753
 
2989
2754
  # source://spoom//lib/spoom/sorbet/lsp/structures.rb#202
2990
2755
  sig { override.params(printer: ::Spoom::LSP::SymbolPrinter).void }
@@ -2999,7 +2764,7 @@ class Spoom::LSP::Diagnostic < ::T::Struct
2999
2764
  sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::Diagnostic) }
3000
2765
  def from_json(json); end
3001
2766
 
3002
- # source://sorbet-runtime/0.5.11262/lib/types/struct.rb#13
2767
+ # source://sorbet-runtime/0.5.11633/lib/types/struct.rb#13
3003
2768
  def inherited(s); end
3004
2769
  end
3005
2770
  end
@@ -3032,7 +2797,7 @@ class Spoom::LSP::DocumentSymbol < ::T::Struct
3032
2797
  sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::DocumentSymbol) }
3033
2798
  def from_json(json); end
3034
2799
 
3035
- # source://sorbet-runtime/0.5.11262/lib/types/struct.rb#13
2800
+ # source://sorbet-runtime/0.5.11633/lib/types/struct.rb#13
3036
2801
  def inherited(s); end
3037
2802
  end
3038
2803
  end
@@ -3041,7 +2806,7 @@ end
3041
2806
  Spoom::LSP::DocumentSymbol::SYMBOL_KINDS = T.let(T.unsafe(nil), Hash)
3042
2807
 
3043
2808
  # source://spoom//lib/spoom/sorbet/lsp/errors.rb#6
3044
- class Spoom::LSP::Error < ::StandardError; end
2809
+ class Spoom::LSP::Error < ::Spoom::Error; end
3045
2810
 
3046
2811
  # source://spoom//lib/spoom/sorbet/lsp/errors.rb#7
3047
2812
  class Spoom::LSP::Error::AlreadyOpen < ::Spoom::LSP::Error; end
@@ -3090,7 +2855,7 @@ class Spoom::LSP::Hover < ::T::Struct
3090
2855
  sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::Hover) }
3091
2856
  def from_json(json); end
3092
2857
 
3093
- # source://sorbet-runtime/0.5.11262/lib/types/struct.rb#13
2858
+ # source://sorbet-runtime/0.5.11633/lib/types/struct.rb#13
3094
2859
  def inherited(s); end
3095
2860
  end
3096
2861
  end
@@ -3115,7 +2880,7 @@ class Spoom::LSP::Location < ::T::Struct
3115
2880
  sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::Location) }
3116
2881
  def from_json(json); end
3117
2882
 
3118
- # source://sorbet-runtime/0.5.11262/lib/types/struct.rb#13
2883
+ # source://sorbet-runtime/0.5.11633/lib/types/struct.rb#13
3119
2884
  def inherited(s); end
3120
2885
  end
3121
2886
  end
@@ -3178,7 +2943,7 @@ class Spoom::LSP::Position < ::T::Struct
3178
2943
  sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::Position) }
3179
2944
  def from_json(json); end
3180
2945
 
3181
- # source://sorbet-runtime/0.5.11262/lib/types/struct.rb#13
2946
+ # source://sorbet-runtime/0.5.11633/lib/types/struct.rb#13
3182
2947
  def inherited(s); end
3183
2948
  end
3184
2949
  end
@@ -3216,7 +2981,7 @@ class Spoom::LSP::Range < ::T::Struct
3216
2981
  sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::Range) }
3217
2982
  def from_json(json); end
3218
2983
 
3219
- # source://sorbet-runtime/0.5.11262/lib/types/struct.rb#13
2984
+ # source://sorbet-runtime/0.5.11633/lib/types/struct.rb#13
3220
2985
  def inherited(s); end
3221
2986
  end
3222
2987
  end
@@ -3282,7 +3047,7 @@ class Spoom::LSP::SignatureHelp < ::T::Struct
3282
3047
  sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::SignatureHelp) }
3283
3048
  def from_json(json); end
3284
3049
 
3285
- # source://sorbet-runtime/0.5.11262/lib/types/struct.rb#13
3050
+ # source://sorbet-runtime/0.5.11633/lib/types/struct.rb#13
3286
3051
  def inherited(s); end
3287
3052
  end
3288
3053
  end
@@ -3330,49 +3095,831 @@ class Spoom::LSP::SymbolPrinter < ::Spoom::Printer
3330
3095
  def seen; end
3331
3096
  end
3332
3097
 
3333
- # source://spoom//lib/spoom/printer.rb#7
3334
- class Spoom::Printer
3335
- include ::Spoom::Colorize
3336
-
3337
- # source://spoom//lib/spoom/printer.rb#17
3338
- sig { params(out: T.any(::IO, ::StringIO), colors: T::Boolean, indent_level: ::Integer).void }
3339
- def initialize(out: T.unsafe(nil), colors: T.unsafe(nil), indent_level: T.unsafe(nil)); end
3098
+ # source://spoom//lib/spoom/location.rb#5
3099
+ class Spoom::Location
3100
+ include ::Comparable
3340
3101
 
3341
- # Colorize `string` with color if `@colors`
3102
+ # @raise [LocationError]
3342
3103
  #
3343
- # source://spoom//lib/spoom/printer.rb#78
3344
- sig { params(string: ::String, color: ::Spoom::Color).returns(::String) }
3345
- def colorize(string, *color); end
3104
+ # source://spoom//lib/spoom/location.rb#73
3105
+ sig do
3106
+ params(
3107
+ file: ::String,
3108
+ start_line: T.nilable(::Integer),
3109
+ start_column: T.nilable(::Integer),
3110
+ end_line: T.nilable(::Integer),
3111
+ end_column: T.nilable(::Integer)
3112
+ ).void
3113
+ end
3114
+ def initialize(file, start_line: T.unsafe(nil), start_column: T.unsafe(nil), end_line: T.unsafe(nil), end_column: T.unsafe(nil)); end
3346
3115
 
3347
- # Decrease indent level
3116
+ # source://spoom//lib/spoom/location.rb#106
3117
+ sig { override.params(other: ::BasicObject).returns(T.nilable(::Integer)) }
3118
+ def <=>(other); end
3119
+
3120
+ # @return [Integer, nil]
3348
3121
  #
3349
- # source://spoom//lib/spoom/printer.rb#31
3350
- sig { void }
3351
- def dedent; end
3122
+ # source://spoom//lib/spoom/location.rb#62
3123
+ def end_column; end
3352
3124
 
3353
- # Increase indent level
3125
+ # @return [Integer, nil]
3354
3126
  #
3355
- # source://spoom//lib/spoom/printer.rb#25
3356
- sig { void }
3357
- def indent; end
3127
+ # source://spoom//lib/spoom/location.rb#62
3128
+ def end_line; end
3358
3129
 
3359
- # source://spoom//lib/spoom/printer.rb#14
3360
- sig { returns(T.any(::IO, ::StringIO)) }
3361
- def out; end
3130
+ # source://spoom//lib/spoom/location.rb#59
3131
+ sig { returns(::String) }
3132
+ def file; end
3362
3133
 
3363
- # @return [IO, StringIO]
3364
- #
3365
- # source://spoom//lib/spoom/printer.rb#14
3366
- def out=(_arg0); end
3134
+ # source://spoom//lib/spoom/location.rb#93
3135
+ sig { params(other: ::Spoom::Location).returns(T::Boolean) }
3136
+ def include?(other); end
3367
3137
 
3368
- # Print `string` into `out`
3138
+ # @return [Integer, nil]
3369
3139
  #
3370
- # source://spoom//lib/spoom/printer.rb#37
3371
- sig { params(string: T.nilable(::String)).void }
3372
- def print(string); end
3140
+ # source://spoom//lib/spoom/location.rb#62
3141
+ def start_column; end
3373
3142
 
3374
- # Print `string` colored with `color` into `out`
3375
- #
3143
+ # source://spoom//lib/spoom/location.rb#62
3144
+ sig { returns(T.nilable(::Integer)) }
3145
+ def start_line; end
3146
+
3147
+ # source://spoom//lib/spoom/location.rb#129
3148
+ sig { returns(::String) }
3149
+ def to_s; end
3150
+
3151
+ class << self
3152
+ # source://spoom//lib/spoom/location.rb#47
3153
+ sig { params(file: ::String, location: ::Prism::Location).returns(::Spoom::Location) }
3154
+ def from_prism(file, location); end
3155
+
3156
+ # @raise [LocationError]
3157
+ #
3158
+ # source://spoom//lib/spoom/location.rb#16
3159
+ sig { params(location_string: ::String).returns(::Spoom::Location) }
3160
+ def from_string(location_string); end
3161
+ end
3162
+ end
3163
+
3164
+ # source://spoom//lib/spoom/location.rb#10
3165
+ class Spoom::Location::LocationError < ::Spoom::Error; end
3166
+
3167
+ # source://spoom//lib/spoom/model/model.rb#5
3168
+ class Spoom::Model
3169
+ # source://spoom//lib/spoom/model/model.rb#238
3170
+ sig { void }
3171
+ def initialize; end
3172
+
3173
+ # Get a symbol by it's full name
3174
+ #
3175
+ # Raises an error if the symbol is not found
3176
+ #
3177
+ # @raise [Error]
3178
+ #
3179
+ # source://spoom//lib/spoom/model/model.rb#247
3180
+ sig { params(full_name: ::String).returns(::Spoom::Model::Symbol) }
3181
+ def [](full_name); end
3182
+
3183
+ # source://spoom//lib/spoom/model/model.rb#296
3184
+ sig { void }
3185
+ def finalize!; end
3186
+
3187
+ # Register a new symbol by it's full name
3188
+ #
3189
+ # If the symbol already exists, it will be returned.
3190
+ #
3191
+ # source://spoom//lib/spoom/model/model.rb#258
3192
+ sig { params(full_name: ::String).returns(::Spoom::Model::Symbol) }
3193
+ def register_symbol(full_name); end
3194
+
3195
+ # source://spoom//lib/spoom/model/model.rb#263
3196
+ sig { params(full_name: ::String, context: ::Spoom::Model::Symbol).returns(::Spoom::Model::Symbol) }
3197
+ def resolve_symbol(full_name, context:); end
3198
+
3199
+ # source://spoom//lib/spoom/model/model.rb#290
3200
+ sig { params(symbol: ::Spoom::Model::Symbol).returns(T::Array[::Spoom::Model::Symbol]) }
3201
+ def subtypes(symbol); end
3202
+
3203
+ # source://spoom//lib/spoom/model/model.rb#284
3204
+ sig { params(symbol: ::Spoom::Model::Symbol).returns(T::Array[::Spoom::Model::Symbol]) }
3205
+ def supertypes(symbol); end
3206
+
3207
+ # All the symbols registered in this model
3208
+ #
3209
+ # source://spoom//lib/spoom/model/model.rb#232
3210
+ sig { returns(T::Hash[::String, ::Spoom::Model::Symbol]) }
3211
+ def symbols; end
3212
+
3213
+ # source://spoom//lib/spoom/model/model.rb#235
3214
+ sig { returns(Spoom::Poset[::Spoom::Model::Symbol]) }
3215
+ def symbols_hierarchy; end
3216
+
3217
+ private
3218
+
3219
+ # source://spoom//lib/spoom/model/model.rb#303
3220
+ sig { void }
3221
+ def compute_symbols_hierarchy!; end
3222
+ end
3223
+
3224
+ # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
3225
+ #
3226
+ # source://spoom//lib/spoom/model/model.rb#179
3227
+ class Spoom::Model::Attr < ::Spoom::Model::Property
3228
+ abstract!
3229
+ end
3230
+
3231
+ # source://spoom//lib/spoom/model/model.rb#185
3232
+ class Spoom::Model::AttrAccessor < ::Spoom::Model::Attr; end
3233
+
3234
+ # source://spoom//lib/spoom/model/model.rb#183
3235
+ class Spoom::Model::AttrReader < ::Spoom::Model::Attr; end
3236
+
3237
+ # source://spoom//lib/spoom/model/model.rb#184
3238
+ class Spoom::Model::AttrWriter < ::Spoom::Model::Attr; end
3239
+
3240
+ # Populate a Model by visiting the nodes from a Ruby file
3241
+ #
3242
+ # source://spoom//lib/spoom/model/builder.rb#7
3243
+ class Spoom::Model::Builder < ::Spoom::Model::NamespaceVisitor
3244
+ # source://spoom//lib/spoom/model/builder.rb#11
3245
+ sig { params(model: ::Spoom::Model, file: ::String).void }
3246
+ def initialize(model, file); end
3247
+
3248
+ # Accessors
3249
+ #
3250
+ # source://spoom//lib/spoom/model/builder.rb#146
3251
+ sig { override.params(node: ::Prism::CallNode).void }
3252
+ def visit_call_node(node); end
3253
+
3254
+ # Classes
3255
+ #
3256
+ # source://spoom//lib/spoom/model/builder.rb#24
3257
+ sig { override.params(node: ::Prism::ClassNode).void }
3258
+ def visit_class_node(node); end
3259
+
3260
+ # Constants
3261
+ #
3262
+ # source://spoom//lib/spoom/model/builder.rb#71
3263
+ sig { override.params(node: ::Prism::ConstantPathWriteNode).void }
3264
+ def visit_constant_path_write_node(node); end
3265
+
3266
+ # source://spoom//lib/spoom/model/builder.rb#92
3267
+ sig { override.params(node: ::Prism::ConstantWriteNode).void }
3268
+ def visit_constant_write_node(node); end
3269
+
3270
+ # Methods
3271
+ #
3272
+ # source://spoom//lib/spoom/model/builder.rb#127
3273
+ sig { override.params(node: ::Prism::DefNode).void }
3274
+ def visit_def_node(node); end
3275
+
3276
+ # Modules
3277
+ #
3278
+ # source://spoom//lib/spoom/model/builder.rb#55
3279
+ sig { override.params(node: ::Prism::ModuleNode).void }
3280
+ def visit_module_node(node); end
3281
+
3282
+ # source://spoom//lib/spoom/model/builder.rb#106
3283
+ sig { override.params(node: ::Prism::MultiWriteNode).void }
3284
+ def visit_multi_write_node(node); end
3285
+
3286
+ # source://spoom//lib/spoom/model/builder.rb#39
3287
+ sig { override.params(node: ::Prism::SingletonClassNode).void }
3288
+ def visit_singleton_class_node(node); end
3289
+
3290
+ private
3291
+
3292
+ # source://spoom//lib/spoom/model/builder.rb#234
3293
+ sig { returns(T::Array[::Spoom::Model::Sig]) }
3294
+ def collect_sigs; end
3295
+
3296
+ # source://spoom//lib/spoom/model/builder.rb#229
3297
+ sig { returns(::Spoom::Model::Visibility) }
3298
+ def current_visibility; end
3299
+
3300
+ # source://spoom//lib/spoom/model/builder.rb#241
3301
+ sig { params(node: ::Prism::Node).returns(::Spoom::Location) }
3302
+ def node_location(node); end
3303
+ end
3304
+
3305
+ # source://spoom//lib/spoom/model/model.rb#117
3306
+ class Spoom::Model::Class < ::Spoom::Model::Namespace
3307
+ # source://spoom//lib/spoom/model/model.rb#129
3308
+ sig do
3309
+ params(
3310
+ symbol: ::Spoom::Model::Symbol,
3311
+ owner: T.nilable(::Spoom::Model::Namespace),
3312
+ location: ::Spoom::Location,
3313
+ superclass_name: T.nilable(::String)
3314
+ ).void
3315
+ end
3316
+ def initialize(symbol, owner:, location:, superclass_name: T.unsafe(nil)); end
3317
+
3318
+ # source://spoom//lib/spoom/model/model.rb#119
3319
+ sig { returns(T.nilable(::String)) }
3320
+ def superclass_name; end
3321
+
3322
+ # @return [String, nil]
3323
+ #
3324
+ # source://spoom//lib/spoom/model/model.rb#119
3325
+ def superclass_name=(_arg0); end
3326
+ end
3327
+
3328
+ # source://spoom//lib/spoom/model/model.rb#138
3329
+ class Spoom::Model::Constant < ::Spoom::Model::SymbolDef
3330
+ # source://spoom//lib/spoom/model/model.rb#143
3331
+ sig do
3332
+ params(
3333
+ symbol: ::Spoom::Model::Symbol,
3334
+ owner: T.nilable(::Spoom::Model::Namespace),
3335
+ location: ::Spoom::Location,
3336
+ value: ::String
3337
+ ).void
3338
+ end
3339
+ def initialize(symbol, owner:, location:, value:); end
3340
+
3341
+ # source://spoom//lib/spoom/model/model.rb#140
3342
+ sig { returns(::String) }
3343
+ def value; end
3344
+ end
3345
+
3346
+ # source://spoom//lib/spoom/model/model.rb#8
3347
+ class Spoom::Model::Error < ::Spoom::Error; end
3348
+
3349
+ # source://spoom//lib/spoom/model/model.rb#213
3350
+ class Spoom::Model::Extend < ::Spoom::Model::Mixin; end
3351
+
3352
+ # source://spoom//lib/spoom/model/model.rb#211
3353
+ class Spoom::Model::Include < ::Spoom::Model::Mixin; end
3354
+
3355
+ # source://spoom//lib/spoom/model/model.rb#177
3356
+ class Spoom::Model::Method < ::Spoom::Model::Property; end
3357
+
3358
+ # A mixin (include, prepend, extend) to a namespace
3359
+ #
3360
+ # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
3361
+ #
3362
+ # source://spoom//lib/spoom/model/model.rb#196
3363
+ class Spoom::Model::Mixin
3364
+ abstract!
3365
+
3366
+ # source://spoom//lib/spoom/model/model.rb#206
3367
+ sig { params(name: ::String).void }
3368
+ def initialize(name); end
3369
+
3370
+ # source://spoom//lib/spoom/model/model.rb#203
3371
+ sig { returns(::String) }
3372
+ def name; end
3373
+ end
3374
+
3375
+ # source://spoom//lib/spoom/model/model.rb#136
3376
+ class Spoom::Model::Module < ::Spoom::Model::Namespace; end
3377
+
3378
+ # A class or module
3379
+ #
3380
+ # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
3381
+ #
3382
+ # source://spoom//lib/spoom/model/model.rb#97
3383
+ class Spoom::Model::Namespace < ::Spoom::Model::SymbolDef
3384
+ abstract!
3385
+
3386
+ # source://spoom//lib/spoom/model/model.rb#107
3387
+ sig do
3388
+ params(
3389
+ symbol: ::Spoom::Model::Symbol,
3390
+ owner: T.nilable(::Spoom::Model::Namespace),
3391
+ location: ::Spoom::Location
3392
+ ).void
3393
+ end
3394
+ def initialize(symbol, owner:, location:); end
3395
+
3396
+ # source://spoom//lib/spoom/model/model.rb#101
3397
+ sig { returns(T::Array[::Spoom::Model::SymbolDef]) }
3398
+ def children; end
3399
+
3400
+ # source://spoom//lib/spoom/model/model.rb#104
3401
+ sig { returns(T::Array[::Spoom::Model::Mixin]) }
3402
+ def mixins; end
3403
+ end
3404
+
3405
+ # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
3406
+ #
3407
+ # source://spoom//lib/spoom/model/namespace_visitor.rb#6
3408
+ class Spoom::Model::NamespaceVisitor < ::Spoom::Visitor
3409
+ abstract!
3410
+
3411
+ # source://spoom//lib/spoom/model/namespace_visitor.rb#12
3412
+ sig { void }
3413
+ def initialize; end
3414
+
3415
+ # source://spoom//lib/spoom/model/namespace_visitor.rb#19
3416
+ sig { override.params(node: T.nilable(::Prism::Node)).void }
3417
+ def visit(node); end
3418
+ end
3419
+
3420
+ # source://spoom//lib/spoom/model/model.rb#212
3421
+ class Spoom::Model::Prepend < ::Spoom::Model::Mixin; end
3422
+
3423
+ # A method or an attribute accessor
3424
+ #
3425
+ # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
3426
+ #
3427
+ # source://spoom//lib/spoom/model/model.rb#151
3428
+ class Spoom::Model::Property < ::Spoom::Model::SymbolDef
3429
+ abstract!
3430
+
3431
+ # source://spoom//lib/spoom/model/model.rb#169
3432
+ sig do
3433
+ params(
3434
+ symbol: ::Spoom::Model::Symbol,
3435
+ owner: T.nilable(::Spoom::Model::Namespace),
3436
+ location: ::Spoom::Location,
3437
+ visibility: ::Spoom::Model::Visibility,
3438
+ sigs: T::Array[::Spoom::Model::Sig]
3439
+ ).void
3440
+ end
3441
+ def initialize(symbol, owner:, location:, visibility:, sigs: T.unsafe(nil)); end
3442
+
3443
+ # source://spoom//lib/spoom/model/model.rb#158
3444
+ sig { returns(T::Array[::Spoom::Model::Sig]) }
3445
+ def sigs; end
3446
+
3447
+ # source://spoom//lib/spoom/model/model.rb#155
3448
+ sig { returns(::Spoom::Model::Visibility) }
3449
+ def visibility; end
3450
+ end
3451
+
3452
+ # A reference to something that looks like a constant or a method
3453
+ #
3454
+ # Constants could be classes, modules, or actual constants.
3455
+ # Methods could be accessors, instance or class methods, aliases, etc.
3456
+ #
3457
+ # source://spoom//lib/spoom/model/reference.rb#10
3458
+ class Spoom::Model::Reference < ::T::Struct
3459
+ const :kind, ::Spoom::Model::Reference::Kind
3460
+ const :name, ::String
3461
+ const :location, ::Spoom::Location
3462
+
3463
+ # source://spoom//lib/spoom/model/reference.rb#39
3464
+ sig { returns(T::Boolean) }
3465
+ def constant?; end
3466
+
3467
+ # source://spoom//lib/spoom/model/reference.rb#44
3468
+ sig { returns(T::Boolean) }
3469
+ def method?; end
3470
+
3471
+ class << self
3472
+ # source://spoom//lib/spoom/model/reference.rb#24
3473
+ sig { params(name: ::String, location: ::Spoom::Location).returns(::Spoom::Model::Reference) }
3474
+ def constant(name, location); end
3475
+
3476
+ # source://sorbet-runtime/0.5.11633/lib/types/struct.rb#13
3477
+ def inherited(s); end
3478
+
3479
+ # source://spoom//lib/spoom/model/reference.rb#29
3480
+ sig { params(name: ::String, location: ::Spoom::Location).returns(::Spoom::Model::Reference) }
3481
+ def method(name, location); end
3482
+ end
3483
+ end
3484
+
3485
+ # source://spoom//lib/spoom/model/reference.rb#13
3486
+ class Spoom::Model::Reference::Kind < ::T::Enum
3487
+ enums do
3488
+ Constant = new
3489
+ Method = new
3490
+ end
3491
+ end
3492
+
3493
+ # Visit a file to collect all the references to constants and methods
3494
+ #
3495
+ # source://spoom//lib/spoom/model/references_visitor.rb#7
3496
+ class Spoom::Model::ReferencesVisitor < ::Spoom::Visitor
3497
+ # source://spoom//lib/spoom/model/references_visitor.rb#14
3498
+ sig { params(file: ::String).void }
3499
+ def initialize(file); end
3500
+
3501
+ # source://spoom//lib/spoom/model/references_visitor.rb#11
3502
+ sig { returns(T::Array[::Spoom::Model::Reference]) }
3503
+ def references; end
3504
+
3505
+ # source://spoom//lib/spoom/model/references_visitor.rb#22
3506
+ sig { override.params(node: ::Prism::AliasMethodNode).void }
3507
+ def visit_alias_method_node(node); end
3508
+
3509
+ # source://spoom//lib/spoom/model/references_visitor.rb#27
3510
+ sig { override.params(node: ::Prism::AndNode).void }
3511
+ def visit_and_node(node); end
3512
+
3513
+ # source://spoom//lib/spoom/model/references_visitor.rb#33
3514
+ sig { override.params(node: ::Prism::BlockArgumentNode).void }
3515
+ def visit_block_argument_node(node); end
3516
+
3517
+ # source://spoom//lib/spoom/model/references_visitor.rb#44
3518
+ sig { override.params(node: ::Prism::CallAndWriteNode).void }
3519
+ def visit_call_and_write_node(node); end
3520
+
3521
+ # source://spoom//lib/spoom/model/references_visitor.rb#68
3522
+ sig { override.params(node: ::Prism::CallNode).void }
3523
+ def visit_call_node(node); end
3524
+
3525
+ # source://spoom//lib/spoom/model/references_visitor.rb#52
3526
+ sig { override.params(node: ::Prism::CallOperatorWriteNode).void }
3527
+ def visit_call_operator_write_node(node); end
3528
+
3529
+ # source://spoom//lib/spoom/model/references_visitor.rb#60
3530
+ sig { override.params(node: ::Prism::CallOrWriteNode).void }
3531
+ def visit_call_or_write_node(node); end
3532
+
3533
+ # source://spoom//lib/spoom/model/references_visitor.rb#85
3534
+ sig { override.params(node: ::Prism::ClassNode).void }
3535
+ def visit_class_node(node); end
3536
+
3537
+ # source://spoom//lib/spoom/model/references_visitor.rb#91
3538
+ sig { override.params(node: ::Prism::ConstantAndWriteNode).void }
3539
+ def visit_constant_and_write_node(node); end
3540
+
3541
+ # source://spoom//lib/spoom/model/references_visitor.rb#97
3542
+ sig { override.params(node: ::Prism::ConstantOperatorWriteNode).void }
3543
+ def visit_constant_operator_write_node(node); end
3544
+
3545
+ # source://spoom//lib/spoom/model/references_visitor.rb#103
3546
+ sig { override.params(node: ::Prism::ConstantOrWriteNode).void }
3547
+ def visit_constant_or_write_node(node); end
3548
+
3549
+ # source://spoom//lib/spoom/model/references_visitor.rb#109
3550
+ sig { override.params(node: ::Prism::ConstantPathNode).void }
3551
+ def visit_constant_path_node(node); end
3552
+
3553
+ # source://spoom//lib/spoom/model/references_visitor.rb#115
3554
+ sig { override.params(node: ::Prism::ConstantPathWriteNode).void }
3555
+ def visit_constant_path_write_node(node); end
3556
+
3557
+ # source://spoom//lib/spoom/model/references_visitor.rb#121
3558
+ sig { override.params(node: ::Prism::ConstantReadNode).void }
3559
+ def visit_constant_read_node(node); end
3560
+
3561
+ # source://spoom//lib/spoom/model/references_visitor.rb#126
3562
+ sig { override.params(node: ::Prism::ConstantWriteNode).void }
3563
+ def visit_constant_write_node(node); end
3564
+
3565
+ # source://spoom//lib/spoom/model/references_visitor.rb#131
3566
+ sig { override.params(node: ::Prism::LocalVariableAndWriteNode).void }
3567
+ def visit_local_variable_and_write_node(node); end
3568
+
3569
+ # source://spoom//lib/spoom/model/references_visitor.rb#139
3570
+ sig { override.params(node: ::Prism::LocalVariableOperatorWriteNode).void }
3571
+ def visit_local_variable_operator_write_node(node); end
3572
+
3573
+ # source://spoom//lib/spoom/model/references_visitor.rb#147
3574
+ sig { override.params(node: ::Prism::LocalVariableOrWriteNode).void }
3575
+ def visit_local_variable_or_write_node(node); end
3576
+
3577
+ # source://spoom//lib/spoom/model/references_visitor.rb#155
3578
+ sig { override.params(node: ::Prism::LocalVariableWriteNode).void }
3579
+ def visit_local_variable_write_node(node); end
3580
+
3581
+ # source://spoom//lib/spoom/model/references_visitor.rb#161
3582
+ sig { override.params(node: ::Prism::ModuleNode).void }
3583
+ def visit_module_node(node); end
3584
+
3585
+ # source://spoom//lib/spoom/model/references_visitor.rb#166
3586
+ sig { override.params(node: ::Prism::MultiWriteNode).void }
3587
+ def visit_multi_write_node(node); end
3588
+
3589
+ # source://spoom//lib/spoom/model/references_visitor.rb#177
3590
+ sig { override.params(node: ::Prism::OrNode).void }
3591
+ def visit_or_node(node); end
3592
+
3593
+ private
3594
+
3595
+ # source://spoom//lib/spoom/model/references_visitor.rb#195
3596
+ sig { params(node: ::Prism::Node).returns(::Spoom::Location) }
3597
+ def node_location(node); end
3598
+
3599
+ # source://spoom//lib/spoom/model/references_visitor.rb#185
3600
+ sig { params(name: ::String, node: ::Prism::Node).void }
3601
+ def reference_constant(name, node); end
3602
+
3603
+ # source://spoom//lib/spoom/model/references_visitor.rb#190
3604
+ sig { params(name: ::String, node: ::Prism::Node).void }
3605
+ def reference_method(name, node); end
3606
+ end
3607
+
3608
+ # A Sorbet signature (sig block)
3609
+ #
3610
+ # source://spoom//lib/spoom/model/model.rb#216
3611
+ class Spoom::Model::Sig
3612
+ # source://spoom//lib/spoom/model/model.rb#223
3613
+ sig { params(string: ::String).void }
3614
+ def initialize(string); end
3615
+
3616
+ # source://spoom//lib/spoom/model/model.rb#220
3617
+ sig { returns(::String) }
3618
+ def string; end
3619
+ end
3620
+
3621
+ # source://spoom//lib/spoom/model/model.rb#115
3622
+ class Spoom::Model::SingletonClass < ::Spoom::Model::Namespace; end
3623
+
3624
+ # A Symbol is a uniquely named entity in the Ruby codebase
3625
+ #
3626
+ # A symbol can have multiple definitions, e.g. a class can be reopened.
3627
+ # Sometimes a symbol can have multiple definitions of different types,
3628
+ # e.g. `foo` method can be defined both as a method and as an attribute accessor.
3629
+ #
3630
+ # source://spoom//lib/spoom/model/model.rb#15
3631
+ class Spoom::Model::Symbol
3632
+ # source://spoom//lib/spoom/model/model.rb#27
3633
+ sig { params(full_name: ::String).void }
3634
+ def initialize(full_name); end
3635
+
3636
+ # The definitions of this symbol (where it exists in the code)
3637
+ #
3638
+ # source://spoom//lib/spoom/model/model.rb#24
3639
+ sig { returns(T::Array[::Spoom::Model::SymbolDef]) }
3640
+ def definitions; end
3641
+
3642
+ # The full, unique name of this symbol
3643
+ #
3644
+ # source://spoom//lib/spoom/model/model.rb#20
3645
+ sig { returns(::String) }
3646
+ def full_name; end
3647
+
3648
+ # The short name of this symbol
3649
+ #
3650
+ # source://spoom//lib/spoom/model/model.rb#34
3651
+ sig { returns(::String) }
3652
+ def name; end
3653
+
3654
+ # source://spoom//lib/spoom/model/model.rb#39
3655
+ sig { returns(::String) }
3656
+ def to_s; end
3657
+ end
3658
+
3659
+ # A SymbolDef is a definition of a Symbol
3660
+ #
3661
+ # It can be a class, module, constant, method, etc.
3662
+ # A SymbolDef has a location pointing to the actual code that defines the symbol.
3663
+ #
3664
+ # @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
3665
+ #
3666
+ # source://spoom//lib/spoom/model/model.rb#55
3667
+ class Spoom::Model::SymbolDef
3668
+ abstract!
3669
+
3670
+ # source://spoom//lib/spoom/model/model.rb#74
3671
+ sig do
3672
+ params(
3673
+ symbol: ::Spoom::Model::Symbol,
3674
+ owner: T.nilable(::Spoom::Model::Namespace),
3675
+ location: ::Spoom::Location
3676
+ ).void
3677
+ end
3678
+ def initialize(symbol, owner:, location:); end
3679
+
3680
+ # The full name of the symbol this definition belongs to
3681
+ #
3682
+ # source://spoom//lib/spoom/model/model.rb#85
3683
+ sig { returns(::String) }
3684
+ def full_name; end
3685
+
3686
+ # The actual code location of this definition
3687
+ #
3688
+ # source://spoom//lib/spoom/model/model.rb#71
3689
+ sig { returns(::Spoom::Location) }
3690
+ def location; end
3691
+
3692
+ # The short name of the symbol this definition belongs to
3693
+ #
3694
+ # source://spoom//lib/spoom/model/model.rb#91
3695
+ sig { returns(::String) }
3696
+ def name; end
3697
+
3698
+ # The enclosing namespace this definition belongs to
3699
+ #
3700
+ # source://spoom//lib/spoom/model/model.rb#67
3701
+ sig { returns(T.nilable(::Spoom::Model::Namespace)) }
3702
+ def owner; end
3703
+
3704
+ # The symbol this definition belongs to
3705
+ #
3706
+ # source://spoom//lib/spoom/model/model.rb#63
3707
+ sig { returns(::Spoom::Model::Symbol) }
3708
+ def symbol; end
3709
+ end
3710
+
3711
+ # source://spoom//lib/spoom/model/model.rb#44
3712
+ class Spoom::Model::UnresolvedSymbol < ::Spoom::Model::Symbol
3713
+ # source://spoom//lib/spoom/model/model.rb#46
3714
+ sig { override.returns(::String) }
3715
+ def to_s; end
3716
+ end
3717
+
3718
+ # source://spoom//lib/spoom/model/model.rb#187
3719
+ class Spoom::Model::Visibility < ::T::Enum
3720
+ enums do
3721
+ Private = new
3722
+ Protected = new
3723
+ Public = new
3724
+ end
3725
+ end
3726
+
3727
+ # source://spoom//lib/spoom/parse.rb#7
3728
+ class Spoom::ParseError < ::Spoom::Error; end
3729
+
3730
+ # A Poset is a set of elements with a partial order relation.
3731
+ #
3732
+ # The partial order relation is a binary relation that is reflexive, antisymmetric, and transitive.
3733
+ # It can be used to represent a hierarchy of classes or modules, the dependencies between gems, etc.
3734
+ #
3735
+ # source://spoom//lib/spoom/poset.rb#9
3736
+ class Spoom::Poset
3737
+ extend T::Generic
3738
+
3739
+ E = type_member { { upper: Object } }
3740
+
3741
+ # source://spoom//lib/spoom/poset.rb#18
3742
+ sig { void }
3743
+ def initialize; end
3744
+
3745
+ # Get the POSet element for a given value
3746
+ #
3747
+ # Raises if the element is not found
3748
+ #
3749
+ # @raise [Error]
3750
+ #
3751
+ # source://spoom//lib/spoom/poset.rb#26
3752
+ sig { params(value: E).returns(Spoom::Poset::Element[E]) }
3753
+ def [](value); end
3754
+
3755
+ # Add a direct edge from one element to another
3756
+ #
3757
+ # Transitive edges (transitive closure) are automatically computed.
3758
+ # Adds the elements if they don't exist.
3759
+ # If the direct edge already exists, nothing is done.
3760
+ #
3761
+ # source://spoom//lib/spoom/poset.rb#54
3762
+ sig { params(from: E, to: E).void }
3763
+ def add_direct_edge(from, to); end
3764
+
3765
+ # Add an element to the POSet
3766
+ #
3767
+ # source://spoom//lib/spoom/poset.rb#35
3768
+ sig { params(value: E).returns(Spoom::Poset::Element[E]) }
3769
+ def add_element(value); end
3770
+
3771
+ # Is there a direct edge from `from` to `to`?
3772
+ #
3773
+ # source://spoom//lib/spoom/poset.rb#101
3774
+ sig { params(from: E, to: E).returns(T::Boolean) }
3775
+ def direct_edge?(from, to); end
3776
+
3777
+ # Is there an edge (direct or indirect) from `from` to `to`?
3778
+ #
3779
+ # source://spoom//lib/spoom/poset.rb#92
3780
+ sig { params(from: E, to: E).returns(T::Boolean) }
3781
+ def edge?(from, to); end
3782
+
3783
+ # Is the given value a element in the POSet?
3784
+ #
3785
+ # source://spoom//lib/spoom/poset.rb#44
3786
+ sig { params(value: E).returns(T::Boolean) }
3787
+ def element?(value); end
3788
+
3789
+ # Show the POSet as a DOT graph using xdot (used for debugging)
3790
+ #
3791
+ # source://spoom//lib/spoom/poset.rb#107
3792
+ sig { params(direct: T::Boolean, transitive: T::Boolean).void }
3793
+ def show_dot(direct: T.unsafe(nil), transitive: T.unsafe(nil)); end
3794
+
3795
+ # Return the POSet as a DOT graph
3796
+ #
3797
+ # source://spoom//lib/spoom/poset.rb#116
3798
+ sig { params(direct: T::Boolean, transitive: T::Boolean).returns(::String) }
3799
+ def to_dot(direct: T.unsafe(nil), transitive: T.unsafe(nil)); end
3800
+ end
3801
+
3802
+ # An element in a POSet
3803
+ #
3804
+ # source://spoom//lib/spoom/poset.rb#136
3805
+ class Spoom::Poset::Element
3806
+ extend T::Generic
3807
+ include ::Comparable
3808
+
3809
+ E = type_member { { upper: Object } }
3810
+
3811
+ # source://spoom//lib/spoom/poset.rb#152
3812
+ sig { params(value: E).void }
3813
+ def initialize(value); end
3814
+
3815
+ # source://spoom//lib/spoom/poset.rb#161
3816
+ sig { params(other: T.untyped).returns(T.nilable(::Integer)) }
3817
+ def <=>(other); end
3818
+
3819
+ # Direct and indirect ancestors of this element
3820
+ #
3821
+ # source://spoom//lib/spoom/poset.rb#180
3822
+ sig { returns(T::Array[E]) }
3823
+ def ancestors; end
3824
+
3825
+ # Direct children of this element
3826
+ #
3827
+ # source://spoom//lib/spoom/poset.rb#186
3828
+ sig { returns(T::Array[E]) }
3829
+ def children; end
3830
+
3831
+ # Direct and indirect descendants of this element
3832
+ #
3833
+ # source://spoom//lib/spoom/poset.rb#192
3834
+ sig { returns(T::Array[E]) }
3835
+ def descendants; end
3836
+
3837
+ # Edges (direct and indirect) from this element to other elements in the same POSet
3838
+ #
3839
+ # @return [Set<Element[E]>]
3840
+ #
3841
+ # source://spoom//lib/spoom/poset.rb#149
3842
+ def dfroms; end
3843
+
3844
+ # Edges (direct and indirect) from this element to other elements in the same POSet
3845
+ #
3846
+ # source://spoom//lib/spoom/poset.rb#149
3847
+ sig { returns(T::Set[Spoom::Poset::Element[E]]) }
3848
+ def dtos; end
3849
+
3850
+ # Edges (direct and indirect) from this element to other elements in the same POSet
3851
+ #
3852
+ # @return [Set<Element[E]>]
3853
+ #
3854
+ # source://spoom//lib/spoom/poset.rb#149
3855
+ def froms; end
3856
+
3857
+ # Direct parents of this element
3858
+ #
3859
+ # source://spoom//lib/spoom/poset.rb#174
3860
+ sig { returns(T::Array[E]) }
3861
+ def parents; end
3862
+
3863
+ # Edges (direct and indirect) from this element to other elements in the same POSet
3864
+ #
3865
+ # @return [Set<Element[E]>]
3866
+ #
3867
+ # source://spoom//lib/spoom/poset.rb#149
3868
+ def tos; end
3869
+
3870
+ # The value held by this element
3871
+ #
3872
+ # source://spoom//lib/spoom/poset.rb#145
3873
+ sig { returns(E) }
3874
+ def value; end
3875
+ end
3876
+
3877
+ # source://spoom//lib/spoom/poset.rb#13
3878
+ class Spoom::Poset::Error < ::Spoom::Error; end
3879
+
3880
+ # source://spoom//lib/spoom/printer.rb#7
3881
+ class Spoom::Printer
3882
+ include ::Spoom::Colorize
3883
+
3884
+ # source://spoom//lib/spoom/printer.rb#17
3885
+ sig { params(out: T.any(::IO, ::StringIO), colors: T::Boolean, indent_level: ::Integer).void }
3886
+ def initialize(out: T.unsafe(nil), colors: T.unsafe(nil), indent_level: T.unsafe(nil)); end
3887
+
3888
+ # Colorize `string` with color if `@colors`
3889
+ #
3890
+ # source://spoom//lib/spoom/printer.rb#78
3891
+ sig { params(string: ::String, color: ::Spoom::Color).returns(::String) }
3892
+ def colorize(string, *color); end
3893
+
3894
+ # Decrease indent level
3895
+ #
3896
+ # source://spoom//lib/spoom/printer.rb#31
3897
+ sig { void }
3898
+ def dedent; end
3899
+
3900
+ # Increase indent level
3901
+ #
3902
+ # source://spoom//lib/spoom/printer.rb#25
3903
+ sig { void }
3904
+ def indent; end
3905
+
3906
+ # source://spoom//lib/spoom/printer.rb#14
3907
+ sig { returns(T.any(::IO, ::StringIO)) }
3908
+ def out; end
3909
+
3910
+ # @return [IO, StringIO]
3911
+ #
3912
+ # source://spoom//lib/spoom/printer.rb#14
3913
+ def out=(_arg0); end
3914
+
3915
+ # Print `string` into `out`
3916
+ #
3917
+ # source://spoom//lib/spoom/printer.rb#37
3918
+ sig { params(string: T.nilable(::String)).void }
3919
+ def print(string); end
3920
+
3921
+ # Print `string` colored with `color` into `out`
3922
+ #
3376
3923
  # Does not use colors unless `@colors`.
3377
3924
  #
3378
3925
  # source://spoom//lib/spoom/printer.rb#47
@@ -3517,7 +4064,7 @@ end
3517
4064
  Spoom::Sorbet::Config::DEFAULT_ALLOWED_EXTENSIONS = T.let(T.unsafe(nil), Array)
3518
4065
 
3519
4066
  # source://spoom//lib/spoom/sorbet.rb#14
3520
- class Spoom::Sorbet::Error < ::StandardError
4067
+ class Spoom::Sorbet::Error < ::Spoom::Error
3521
4068
  # source://spoom//lib/spoom/sorbet.rb#29
3522
4069
  sig { params(message: ::String, result: ::Spoom::ExecResult).void }
3523
4070
  def initialize(message, result); end
@@ -3545,11 +4092,11 @@ end
3545
4092
  # source://spoom//lib/spoom/sorbet/errors.rb#7
3546
4093
  Spoom::Sorbet::Errors::DEFAULT_ERROR_URL_BASE = T.let(T.unsafe(nil), String)
3547
4094
 
3548
- # source://spoom//lib/spoom/sorbet/errors.rb#125
4095
+ # source://spoom//lib/spoom/sorbet/errors.rb#127
3549
4096
  class Spoom::Sorbet::Errors::Error
3550
4097
  include ::Comparable
3551
4098
 
3552
- # source://spoom//lib/spoom/sorbet/errors.rb#151
4099
+ # source://spoom//lib/spoom/sorbet/errors.rb#153
3553
4100
  sig do
3554
4101
  params(
3555
4102
  file: T.nilable(::String),
@@ -3563,39 +4110,39 @@ class Spoom::Sorbet::Errors::Error
3563
4110
 
3564
4111
  # By default errors are sorted by location
3565
4112
  #
3566
- # source://spoom//lib/spoom/sorbet/errors.rb#162
4113
+ # source://spoom//lib/spoom/sorbet/errors.rb#164
3567
4114
  sig { params(other: T.untyped).returns(::Integer) }
3568
4115
  def <=>(other); end
3569
4116
 
3570
4117
  # @return [Integer, nil]
3571
4118
  #
3572
- # source://spoom//lib/spoom/sorbet/errors.rb#133
4119
+ # source://spoom//lib/spoom/sorbet/errors.rb#135
3573
4120
  def code; end
3574
4121
 
3575
- # source://spoom//lib/spoom/sorbet/errors.rb#130
4122
+ # source://spoom//lib/spoom/sorbet/errors.rb#132
3576
4123
  sig { returns(T.nilable(::String)) }
3577
4124
  def file; end
3578
4125
 
3579
4126
  # Other files associated with the error
3580
4127
  #
3581
- # source://spoom//lib/spoom/sorbet/errors.rb#140
4128
+ # source://spoom//lib/spoom/sorbet/errors.rb#142
3582
4129
  sig { returns(T::Set[::String]) }
3583
4130
  def files_from_error_sections; end
3584
4131
 
3585
- # source://spoom//lib/spoom/sorbet/errors.rb#133
4132
+ # source://spoom//lib/spoom/sorbet/errors.rb#135
3586
4133
  sig { returns(T.nilable(::Integer)) }
3587
4134
  def line; end
3588
4135
 
3589
4136
  # @return [String, nil]
3590
4137
  #
3591
- # source://spoom//lib/spoom/sorbet/errors.rb#130
4138
+ # source://spoom//lib/spoom/sorbet/errors.rb#132
3592
4139
  def message; end
3593
4140
 
3594
- # source://spoom//lib/spoom/sorbet/errors.rb#136
4141
+ # source://spoom//lib/spoom/sorbet/errors.rb#138
3595
4142
  sig { returns(T::Array[::String]) }
3596
4143
  def more; end
3597
4144
 
3598
- # source://spoom//lib/spoom/sorbet/errors.rb#169
4145
+ # source://spoom//lib/spoom/sorbet/errors.rb#171
3599
4146
  sig { returns(::String) }
3600
4147
  def to_s; end
3601
4148
  end
@@ -3604,46 +4151,55 @@ end
3604
4151
  #
3605
4152
  # source://spoom//lib/spoom/sorbet/errors.rb#18
3606
4153
  class Spoom::Sorbet::Errors::Parser
3607
- # source://spoom//lib/spoom/sorbet/errors.rb#43
4154
+ # source://spoom//lib/spoom/sorbet/errors.rb#45
3608
4155
  sig { params(error_url_base: ::String).void }
3609
4156
  def initialize(error_url_base: T.unsafe(nil)); end
3610
4157
 
3611
- # source://spoom//lib/spoom/sorbet/errors.rb#50
4158
+ # source://spoom//lib/spoom/sorbet/errors.rb#52
3612
4159
  sig { params(output: ::String).returns(T::Array[::Spoom::Sorbet::Errors::Error]) }
3613
4160
  def parse(output); end
3614
4161
 
3615
4162
  private
3616
4163
 
3617
- # source://spoom//lib/spoom/sorbet/errors.rb#114
4164
+ # @raise [ParseError]
4165
+ #
4166
+ # source://spoom//lib/spoom/sorbet/errors.rb#116
3618
4167
  sig { params(line: ::String).void }
3619
4168
  def append_error(line); end
3620
4169
 
3621
- # source://spoom//lib/spoom/sorbet/errors.rb#106
4170
+ # @raise [ParseError]
4171
+ #
4172
+ # source://spoom//lib/spoom/sorbet/errors.rb#108
3622
4173
  sig { void }
3623
4174
  def close_error; end
3624
4175
 
3625
- # source://spoom//lib/spoom/sorbet/errors.rb#73
4176
+ # source://spoom//lib/spoom/sorbet/errors.rb#75
3626
4177
  sig { params(error_url_base: ::String).returns(::Regexp) }
3627
4178
  def error_line_match_regexp(error_url_base); end
3628
4179
 
3629
- # source://spoom//lib/spoom/sorbet/errors.rb#90
4180
+ # source://spoom//lib/spoom/sorbet/errors.rb#92
3630
4181
  sig { params(line: ::String).returns(T.nilable(::Spoom::Sorbet::Errors::Error)) }
3631
4182
  def match_error_line(line); end
3632
4183
 
3633
- # source://spoom//lib/spoom/sorbet/errors.rb#99
4184
+ # @raise [ParseError]
4185
+ #
4186
+ # source://spoom//lib/spoom/sorbet/errors.rb#101
3634
4187
  sig { params(error: ::Spoom::Sorbet::Errors::Error).void }
3635
4188
  def open_error(error); end
3636
4189
 
3637
4190
  class << self
3638
- # source://spoom//lib/spoom/sorbet/errors.rb#36
4191
+ # source://spoom//lib/spoom/sorbet/errors.rb#38
3639
4192
  sig { params(output: ::String, error_url_base: ::String).returns(T::Array[::Spoom::Sorbet::Errors::Error]) }
3640
4193
  def parse_string(output, error_url_base: T.unsafe(nil)); end
3641
4194
  end
3642
4195
  end
3643
4196
 
3644
- # source://spoom//lib/spoom/sorbet/errors.rb#21
4197
+ # source://spoom//lib/spoom/sorbet/errors.rb#23
3645
4198
  Spoom::Sorbet::Errors::Parser::HEADER = T.let(T.unsafe(nil), Array)
3646
4199
 
4200
+ # source://spoom//lib/spoom/sorbet/errors.rb#21
4201
+ class Spoom::Sorbet::Errors::Parser::ParseError < ::Spoom::Error; end
4202
+
3647
4203
  # source://spoom//lib/spoom/sorbet.rb#37
3648
4204
  Spoom::Sorbet::GEM_PATH = T.let(T.unsafe(nil), String)
3649
4205
 
@@ -3775,3 +4331,602 @@ end
3775
4331
 
3776
4332
  # source://spoom//lib/spoom/version.rb#5
3777
4333
  Spoom::VERSION = T.let(T.unsafe(nil), String)
4334
+
4335
+ # source://spoom//lib/spoom/visitor.rb#7
4336
+ class Spoom::Visitor < ::Prism::Visitor
4337
+ # source://spoom//lib/spoom/visitor.rb#16
4338
+ sig { override.params(node: ::Prism::AliasGlobalVariableNode).void }
4339
+ def visit_alias_global_variable_node(node); end
4340
+
4341
+ # source://spoom//lib/spoom/visitor.rb#21
4342
+ sig { override.params(node: ::Prism::AliasMethodNode).void }
4343
+ def visit_alias_method_node(node); end
4344
+
4345
+ # source://spoom//lib/spoom/visitor.rb#26
4346
+ sig { override.params(node: ::Prism::AlternationPatternNode).void }
4347
+ def visit_alternation_pattern_node(node); end
4348
+
4349
+ # source://spoom//lib/spoom/visitor.rb#31
4350
+ sig { override.params(node: ::Prism::AndNode).void }
4351
+ def visit_and_node(node); end
4352
+
4353
+ # source://spoom//lib/spoom/visitor.rb#36
4354
+ sig { override.params(node: ::Prism::ArgumentsNode).void }
4355
+ def visit_arguments_node(node); end
4356
+
4357
+ # source://spoom//lib/spoom/visitor.rb#41
4358
+ sig { override.params(node: ::Prism::ArrayNode).void }
4359
+ def visit_array_node(node); end
4360
+
4361
+ # source://spoom//lib/spoom/visitor.rb#46
4362
+ sig { override.params(node: ::Prism::ArrayPatternNode).void }
4363
+ def visit_array_pattern_node(node); end
4364
+
4365
+ # source://spoom//lib/spoom/visitor.rb#51
4366
+ sig { override.params(node: ::Prism::AssocNode).void }
4367
+ def visit_assoc_node(node); end
4368
+
4369
+ # source://spoom//lib/spoom/visitor.rb#56
4370
+ sig { override.params(node: ::Prism::AssocSplatNode).void }
4371
+ def visit_assoc_splat_node(node); end
4372
+
4373
+ # source://spoom//lib/spoom/visitor.rb#61
4374
+ sig { override.params(node: ::Prism::BackReferenceReadNode).void }
4375
+ def visit_back_reference_read_node(node); end
4376
+
4377
+ # source://spoom//lib/spoom/visitor.rb#66
4378
+ sig { override.params(node: ::Prism::BeginNode).void }
4379
+ def visit_begin_node(node); end
4380
+
4381
+ # source://spoom//lib/spoom/visitor.rb#71
4382
+ sig { override.params(node: ::Prism::BlockArgumentNode).void }
4383
+ def visit_block_argument_node(node); end
4384
+
4385
+ # source://spoom//lib/spoom/visitor.rb#76
4386
+ sig { override.params(node: ::Prism::BlockLocalVariableNode).void }
4387
+ def visit_block_local_variable_node(node); end
4388
+
4389
+ # source://spoom//lib/spoom/visitor.rb#81
4390
+ sig { override.params(node: ::Prism::BlockNode).void }
4391
+ def visit_block_node(node); end
4392
+
4393
+ # source://spoom//lib/spoom/visitor.rb#86
4394
+ sig { override.params(node: ::Prism::BlockParameterNode).void }
4395
+ def visit_block_parameter_node(node); end
4396
+
4397
+ # source://spoom//lib/spoom/visitor.rb#91
4398
+ sig { override.params(node: ::Prism::BlockParametersNode).void }
4399
+ def visit_block_parameters_node(node); end
4400
+
4401
+ # source://spoom//lib/spoom/visitor.rb#96
4402
+ sig { override.params(node: ::Prism::BreakNode).void }
4403
+ def visit_break_node(node); end
4404
+
4405
+ # source://spoom//lib/spoom/visitor.rb#101
4406
+ sig { override.params(node: ::Prism::CallAndWriteNode).void }
4407
+ def visit_call_and_write_node(node); end
4408
+
4409
+ # source://spoom//lib/spoom/visitor.rb#106
4410
+ sig { override.params(node: ::Prism::CallNode).void }
4411
+ def visit_call_node(node); end
4412
+
4413
+ # source://spoom//lib/spoom/visitor.rb#111
4414
+ sig { override.params(node: ::Prism::CallOperatorWriteNode).void }
4415
+ def visit_call_operator_write_node(node); end
4416
+
4417
+ # source://spoom//lib/spoom/visitor.rb#116
4418
+ sig { override.params(node: ::Prism::CallOrWriteNode).void }
4419
+ def visit_call_or_write_node(node); end
4420
+
4421
+ # source://spoom//lib/spoom/visitor.rb#121
4422
+ sig { override.params(node: ::Prism::CallTargetNode).void }
4423
+ def visit_call_target_node(node); end
4424
+
4425
+ # source://spoom//lib/spoom/visitor.rb#126
4426
+ sig { override.params(node: ::Prism::CapturePatternNode).void }
4427
+ def visit_capture_pattern_node(node); end
4428
+
4429
+ # source://spoom//lib/spoom/visitor.rb#131
4430
+ sig { override.params(node: ::Prism::CaseMatchNode).void }
4431
+ def visit_case_match_node(node); end
4432
+
4433
+ # source://spoom//lib/spoom/visitor.rb#136
4434
+ sig { override.params(node: ::Prism::CaseNode).void }
4435
+ def visit_case_node(node); end
4436
+
4437
+ # source://spoom//lib/spoom/visitor.rb#11
4438
+ sig { override.params(node: ::Prism::Node).void }
4439
+ def visit_child_nodes(node); end
4440
+
4441
+ # source://spoom//lib/spoom/visitor.rb#141
4442
+ sig { override.params(node: ::Prism::ClassNode).void }
4443
+ def visit_class_node(node); end
4444
+
4445
+ # source://spoom//lib/spoom/visitor.rb#146
4446
+ sig { override.params(node: ::Prism::ClassVariableAndWriteNode).void }
4447
+ def visit_class_variable_and_write_node(node); end
4448
+
4449
+ # source://spoom//lib/spoom/visitor.rb#151
4450
+ sig { override.params(node: ::Prism::ClassVariableOperatorWriteNode).void }
4451
+ def visit_class_variable_operator_write_node(node); end
4452
+
4453
+ # source://spoom//lib/spoom/visitor.rb#156
4454
+ sig { override.params(node: ::Prism::ClassVariableOrWriteNode).void }
4455
+ def visit_class_variable_or_write_node(node); end
4456
+
4457
+ # source://spoom//lib/spoom/visitor.rb#161
4458
+ sig { override.params(node: ::Prism::ClassVariableReadNode).void }
4459
+ def visit_class_variable_read_node(node); end
4460
+
4461
+ # source://spoom//lib/spoom/visitor.rb#166
4462
+ sig { override.params(node: ::Prism::ClassVariableTargetNode).void }
4463
+ def visit_class_variable_target_node(node); end
4464
+
4465
+ # source://spoom//lib/spoom/visitor.rb#171
4466
+ sig { override.params(node: ::Prism::ClassVariableWriteNode).void }
4467
+ def visit_class_variable_write_node(node); end
4468
+
4469
+ # source://spoom//lib/spoom/visitor.rb#176
4470
+ sig { override.params(node: ::Prism::ConstantAndWriteNode).void }
4471
+ def visit_constant_and_write_node(node); end
4472
+
4473
+ # source://spoom//lib/spoom/visitor.rb#181
4474
+ sig { override.params(node: ::Prism::ConstantOperatorWriteNode).void }
4475
+ def visit_constant_operator_write_node(node); end
4476
+
4477
+ # source://spoom//lib/spoom/visitor.rb#186
4478
+ sig { override.params(node: ::Prism::ConstantOrWriteNode).void }
4479
+ def visit_constant_or_write_node(node); end
4480
+
4481
+ # source://spoom//lib/spoom/visitor.rb#191
4482
+ sig { override.params(node: ::Prism::ConstantPathAndWriteNode).void }
4483
+ def visit_constant_path_and_write_node(node); end
4484
+
4485
+ # source://spoom//lib/spoom/visitor.rb#196
4486
+ sig { override.params(node: ::Prism::ConstantPathNode).void }
4487
+ def visit_constant_path_node(node); end
4488
+
4489
+ # source://spoom//lib/spoom/visitor.rb#201
4490
+ sig { override.params(node: ::Prism::ConstantPathOperatorWriteNode).void }
4491
+ def visit_constant_path_operator_write_node(node); end
4492
+
4493
+ # source://spoom//lib/spoom/visitor.rb#206
4494
+ sig { override.params(node: ::Prism::ConstantPathOrWriteNode).void }
4495
+ def visit_constant_path_or_write_node(node); end
4496
+
4497
+ # source://spoom//lib/spoom/visitor.rb#211
4498
+ sig { override.params(node: ::Prism::ConstantPathTargetNode).void }
4499
+ def visit_constant_path_target_node(node); end
4500
+
4501
+ # source://spoom//lib/spoom/visitor.rb#216
4502
+ sig { override.params(node: ::Prism::ConstantPathWriteNode).void }
4503
+ def visit_constant_path_write_node(node); end
4504
+
4505
+ # source://spoom//lib/spoom/visitor.rb#221
4506
+ sig { override.params(node: ::Prism::ConstantReadNode).void }
4507
+ def visit_constant_read_node(node); end
4508
+
4509
+ # source://spoom//lib/spoom/visitor.rb#226
4510
+ sig { override.params(node: ::Prism::ConstantTargetNode).void }
4511
+ def visit_constant_target_node(node); end
4512
+
4513
+ # source://spoom//lib/spoom/visitor.rb#231
4514
+ sig { override.params(node: ::Prism::ConstantWriteNode).void }
4515
+ def visit_constant_write_node(node); end
4516
+
4517
+ # source://spoom//lib/spoom/visitor.rb#236
4518
+ sig { override.params(node: ::Prism::DefNode).void }
4519
+ def visit_def_node(node); end
4520
+
4521
+ # source://spoom//lib/spoom/visitor.rb#241
4522
+ sig { override.params(node: ::Prism::DefinedNode).void }
4523
+ def visit_defined_node(node); end
4524
+
4525
+ # source://spoom//lib/spoom/visitor.rb#246
4526
+ sig { override.params(node: ::Prism::ElseNode).void }
4527
+ def visit_else_node(node); end
4528
+
4529
+ # source://spoom//lib/spoom/visitor.rb#251
4530
+ sig { override.params(node: ::Prism::EmbeddedStatementsNode).void }
4531
+ def visit_embedded_statements_node(node); end
4532
+
4533
+ # source://spoom//lib/spoom/visitor.rb#256
4534
+ sig { override.params(node: ::Prism::EmbeddedVariableNode).void }
4535
+ def visit_embedded_variable_node(node); end
4536
+
4537
+ # source://spoom//lib/spoom/visitor.rb#261
4538
+ sig { override.params(node: ::Prism::EnsureNode).void }
4539
+ def visit_ensure_node(node); end
4540
+
4541
+ # source://spoom//lib/spoom/visitor.rb#266
4542
+ sig { override.params(node: ::Prism::FalseNode).void }
4543
+ def visit_false_node(node); end
4544
+
4545
+ # source://spoom//lib/spoom/visitor.rb#271
4546
+ sig { override.params(node: ::Prism::FindPatternNode).void }
4547
+ def visit_find_pattern_node(node); end
4548
+
4549
+ # source://spoom//lib/spoom/visitor.rb#276
4550
+ sig { override.params(node: ::Prism::FlipFlopNode).void }
4551
+ def visit_flip_flop_node(node); end
4552
+
4553
+ # source://spoom//lib/spoom/visitor.rb#281
4554
+ sig { override.params(node: ::Prism::FloatNode).void }
4555
+ def visit_float_node(node); end
4556
+
4557
+ # source://spoom//lib/spoom/visitor.rb#286
4558
+ sig { override.params(node: ::Prism::ForNode).void }
4559
+ def visit_for_node(node); end
4560
+
4561
+ # source://spoom//lib/spoom/visitor.rb#291
4562
+ sig { override.params(node: ::Prism::ForwardingArgumentsNode).void }
4563
+ def visit_forwarding_arguments_node(node); end
4564
+
4565
+ # source://spoom//lib/spoom/visitor.rb#296
4566
+ sig { override.params(node: ::Prism::ForwardingParameterNode).void }
4567
+ def visit_forwarding_parameter_node(node); end
4568
+
4569
+ # source://spoom//lib/spoom/visitor.rb#301
4570
+ sig { override.params(node: ::Prism::ForwardingSuperNode).void }
4571
+ def visit_forwarding_super_node(node); end
4572
+
4573
+ # source://spoom//lib/spoom/visitor.rb#306
4574
+ sig { override.params(node: ::Prism::GlobalVariableAndWriteNode).void }
4575
+ def visit_global_variable_and_write_node(node); end
4576
+
4577
+ # source://spoom//lib/spoom/visitor.rb#311
4578
+ sig { override.params(node: ::Prism::GlobalVariableOperatorWriteNode).void }
4579
+ def visit_global_variable_operator_write_node(node); end
4580
+
4581
+ # source://spoom//lib/spoom/visitor.rb#316
4582
+ sig { override.params(node: ::Prism::GlobalVariableOrWriteNode).void }
4583
+ def visit_global_variable_or_write_node(node); end
4584
+
4585
+ # source://spoom//lib/spoom/visitor.rb#321
4586
+ sig { override.params(node: ::Prism::GlobalVariableReadNode).void }
4587
+ def visit_global_variable_read_node(node); end
4588
+
4589
+ # source://spoom//lib/spoom/visitor.rb#326
4590
+ sig { override.params(node: ::Prism::GlobalVariableTargetNode).void }
4591
+ def visit_global_variable_target_node(node); end
4592
+
4593
+ # source://spoom//lib/spoom/visitor.rb#331
4594
+ sig { override.params(node: ::Prism::GlobalVariableWriteNode).void }
4595
+ def visit_global_variable_write_node(node); end
4596
+
4597
+ # source://spoom//lib/spoom/visitor.rb#336
4598
+ sig { override.params(node: ::Prism::HashNode).void }
4599
+ def visit_hash_node(node); end
4600
+
4601
+ # source://spoom//lib/spoom/visitor.rb#341
4602
+ sig { override.params(node: ::Prism::HashPatternNode).void }
4603
+ def visit_hash_pattern_node(node); end
4604
+
4605
+ # source://spoom//lib/spoom/visitor.rb#346
4606
+ sig { override.params(node: ::Prism::IfNode).void }
4607
+ def visit_if_node(node); end
4608
+
4609
+ # source://spoom//lib/spoom/visitor.rb#351
4610
+ sig { override.params(node: ::Prism::ImaginaryNode).void }
4611
+ def visit_imaginary_node(node); end
4612
+
4613
+ # source://spoom//lib/spoom/visitor.rb#356
4614
+ sig { override.params(node: ::Prism::ImplicitNode).void }
4615
+ def visit_implicit_node(node); end
4616
+
4617
+ # source://spoom//lib/spoom/visitor.rb#361
4618
+ sig { override.params(node: ::Prism::ImplicitRestNode).void }
4619
+ def visit_implicit_rest_node(node); end
4620
+
4621
+ # source://spoom//lib/spoom/visitor.rb#366
4622
+ sig { override.params(node: ::Prism::InNode).void }
4623
+ def visit_in_node(node); end
4624
+
4625
+ # source://spoom//lib/spoom/visitor.rb#371
4626
+ sig { override.params(node: ::Prism::IndexAndWriteNode).void }
4627
+ def visit_index_and_write_node(node); end
4628
+
4629
+ # source://spoom//lib/spoom/visitor.rb#376
4630
+ sig { override.params(node: ::Prism::IndexOperatorWriteNode).void }
4631
+ def visit_index_operator_write_node(node); end
4632
+
4633
+ # source://spoom//lib/spoom/visitor.rb#381
4634
+ sig { override.params(node: ::Prism::IndexOrWriteNode).void }
4635
+ def visit_index_or_write_node(node); end
4636
+
4637
+ # source://spoom//lib/spoom/visitor.rb#386
4638
+ sig { override.params(node: ::Prism::IndexTargetNode).void }
4639
+ def visit_index_target_node(node); end
4640
+
4641
+ # source://spoom//lib/spoom/visitor.rb#391
4642
+ sig { override.params(node: ::Prism::InstanceVariableAndWriteNode).void }
4643
+ def visit_instance_variable_and_write_node(node); end
4644
+
4645
+ # source://spoom//lib/spoom/visitor.rb#396
4646
+ sig { override.params(node: ::Prism::InstanceVariableOperatorWriteNode).void }
4647
+ def visit_instance_variable_operator_write_node(node); end
4648
+
4649
+ # source://spoom//lib/spoom/visitor.rb#401
4650
+ sig { override.params(node: ::Prism::InstanceVariableOrWriteNode).void }
4651
+ def visit_instance_variable_or_write_node(node); end
4652
+
4653
+ # source://spoom//lib/spoom/visitor.rb#406
4654
+ sig { override.params(node: ::Prism::InstanceVariableReadNode).void }
4655
+ def visit_instance_variable_read_node(node); end
4656
+
4657
+ # source://spoom//lib/spoom/visitor.rb#411
4658
+ sig { override.params(node: ::Prism::InstanceVariableTargetNode).void }
4659
+ def visit_instance_variable_target_node(node); end
4660
+
4661
+ # source://spoom//lib/spoom/visitor.rb#416
4662
+ sig { override.params(node: ::Prism::InstanceVariableWriteNode).void }
4663
+ def visit_instance_variable_write_node(node); end
4664
+
4665
+ # source://spoom//lib/spoom/visitor.rb#421
4666
+ sig { override.params(node: ::Prism::IntegerNode).void }
4667
+ def visit_integer_node(node); end
4668
+
4669
+ # source://spoom//lib/spoom/visitor.rb#426
4670
+ sig { override.params(node: ::Prism::InterpolatedMatchLastLineNode).void }
4671
+ def visit_interpolated_match_last_line_node(node); end
4672
+
4673
+ # source://spoom//lib/spoom/visitor.rb#431
4674
+ sig { override.params(node: ::Prism::InterpolatedRegularExpressionNode).void }
4675
+ def visit_interpolated_regular_expression_node(node); end
4676
+
4677
+ # source://spoom//lib/spoom/visitor.rb#436
4678
+ sig { override.params(node: ::Prism::InterpolatedStringNode).void }
4679
+ def visit_interpolated_string_node(node); end
4680
+
4681
+ # source://spoom//lib/spoom/visitor.rb#441
4682
+ sig { override.params(node: ::Prism::InterpolatedSymbolNode).void }
4683
+ def visit_interpolated_symbol_node(node); end
4684
+
4685
+ # source://spoom//lib/spoom/visitor.rb#446
4686
+ sig { override.params(node: ::Prism::InterpolatedXStringNode).void }
4687
+ def visit_interpolated_x_string_node(node); end
4688
+
4689
+ # source://spoom//lib/spoom/visitor.rb#451
4690
+ sig { override.params(node: ::Prism::KeywordHashNode).void }
4691
+ def visit_keyword_hash_node(node); end
4692
+
4693
+ # source://spoom//lib/spoom/visitor.rb#456
4694
+ sig { override.params(node: ::Prism::KeywordRestParameterNode).void }
4695
+ def visit_keyword_rest_parameter_node(node); end
4696
+
4697
+ # source://spoom//lib/spoom/visitor.rb#461
4698
+ sig { override.params(node: ::Prism::LambdaNode).void }
4699
+ def visit_lambda_node(node); end
4700
+
4701
+ # source://spoom//lib/spoom/visitor.rb#466
4702
+ sig { override.params(node: ::Prism::LocalVariableAndWriteNode).void }
4703
+ def visit_local_variable_and_write_node(node); end
4704
+
4705
+ # source://spoom//lib/spoom/visitor.rb#471
4706
+ sig { override.params(node: ::Prism::LocalVariableOperatorWriteNode).void }
4707
+ def visit_local_variable_operator_write_node(node); end
4708
+
4709
+ # source://spoom//lib/spoom/visitor.rb#476
4710
+ sig { override.params(node: ::Prism::LocalVariableOrWriteNode).void }
4711
+ def visit_local_variable_or_write_node(node); end
4712
+
4713
+ # source://spoom//lib/spoom/visitor.rb#481
4714
+ sig { override.params(node: ::Prism::LocalVariableReadNode).void }
4715
+ def visit_local_variable_read_node(node); end
4716
+
4717
+ # source://spoom//lib/spoom/visitor.rb#486
4718
+ sig { override.params(node: ::Prism::LocalVariableTargetNode).void }
4719
+ def visit_local_variable_target_node(node); end
4720
+
4721
+ # source://spoom//lib/spoom/visitor.rb#491
4722
+ sig { override.params(node: ::Prism::LocalVariableWriteNode).void }
4723
+ def visit_local_variable_write_node(node); end
4724
+
4725
+ # source://spoom//lib/spoom/visitor.rb#496
4726
+ sig { override.params(node: ::Prism::MatchLastLineNode).void }
4727
+ def visit_match_last_line_node(node); end
4728
+
4729
+ # source://spoom//lib/spoom/visitor.rb#501
4730
+ sig { override.params(node: ::Prism::MatchPredicateNode).void }
4731
+ def visit_match_predicate_node(node); end
4732
+
4733
+ # source://spoom//lib/spoom/visitor.rb#506
4734
+ sig { override.params(node: ::Prism::MatchRequiredNode).void }
4735
+ def visit_match_required_node(node); end
4736
+
4737
+ # source://spoom//lib/spoom/visitor.rb#511
4738
+ sig { override.params(node: ::Prism::MatchWriteNode).void }
4739
+ def visit_match_write_node(node); end
4740
+
4741
+ # source://spoom//lib/spoom/visitor.rb#516
4742
+ sig { override.params(node: ::Prism::MissingNode).void }
4743
+ def visit_missing_node(node); end
4744
+
4745
+ # source://spoom//lib/spoom/visitor.rb#521
4746
+ sig { override.params(node: ::Prism::ModuleNode).void }
4747
+ def visit_module_node(node); end
4748
+
4749
+ # source://spoom//lib/spoom/visitor.rb#526
4750
+ sig { override.params(node: ::Prism::MultiTargetNode).void }
4751
+ def visit_multi_target_node(node); end
4752
+
4753
+ # source://spoom//lib/spoom/visitor.rb#531
4754
+ sig { override.params(node: ::Prism::MultiWriteNode).void }
4755
+ def visit_multi_write_node(node); end
4756
+
4757
+ # source://spoom//lib/spoom/visitor.rb#536
4758
+ sig { override.params(node: ::Prism::NextNode).void }
4759
+ def visit_next_node(node); end
4760
+
4761
+ # source://spoom//lib/spoom/visitor.rb#541
4762
+ sig { override.params(node: ::Prism::NilNode).void }
4763
+ def visit_nil_node(node); end
4764
+
4765
+ # source://spoom//lib/spoom/visitor.rb#546
4766
+ sig { override.params(node: ::Prism::NoKeywordsParameterNode).void }
4767
+ def visit_no_keywords_parameter_node(node); end
4768
+
4769
+ # source://spoom//lib/spoom/visitor.rb#551
4770
+ sig { override.params(node: ::Prism::NumberedParametersNode).void }
4771
+ def visit_numbered_parameters_node(node); end
4772
+
4773
+ # source://spoom//lib/spoom/visitor.rb#556
4774
+ sig { override.params(node: ::Prism::NumberedReferenceReadNode).void }
4775
+ def visit_numbered_reference_read_node(node); end
4776
+
4777
+ # source://spoom//lib/spoom/visitor.rb#561
4778
+ sig { override.params(node: ::Prism::OptionalKeywordParameterNode).void }
4779
+ def visit_optional_keyword_parameter_node(node); end
4780
+
4781
+ # source://spoom//lib/spoom/visitor.rb#566
4782
+ sig { override.params(node: ::Prism::OptionalParameterNode).void }
4783
+ def visit_optional_parameter_node(node); end
4784
+
4785
+ # source://spoom//lib/spoom/visitor.rb#571
4786
+ sig { override.params(node: ::Prism::OrNode).void }
4787
+ def visit_or_node(node); end
4788
+
4789
+ # source://spoom//lib/spoom/visitor.rb#576
4790
+ sig { override.params(node: ::Prism::ParametersNode).void }
4791
+ def visit_parameters_node(node); end
4792
+
4793
+ # source://spoom//lib/spoom/visitor.rb#581
4794
+ sig { override.params(node: ::Prism::ParenthesesNode).void }
4795
+ def visit_parentheses_node(node); end
4796
+
4797
+ # source://spoom//lib/spoom/visitor.rb#586
4798
+ sig { override.params(node: ::Prism::PinnedExpressionNode).void }
4799
+ def visit_pinned_expression_node(node); end
4800
+
4801
+ # source://spoom//lib/spoom/visitor.rb#591
4802
+ sig { override.params(node: ::Prism::PinnedVariableNode).void }
4803
+ def visit_pinned_variable_node(node); end
4804
+
4805
+ # source://spoom//lib/spoom/visitor.rb#596
4806
+ sig { override.params(node: ::Prism::PostExecutionNode).void }
4807
+ def visit_post_execution_node(node); end
4808
+
4809
+ # source://spoom//lib/spoom/visitor.rb#601
4810
+ sig { override.params(node: ::Prism::PreExecutionNode).void }
4811
+ def visit_pre_execution_node(node); end
4812
+
4813
+ # source://spoom//lib/spoom/visitor.rb#606
4814
+ sig { override.params(node: ::Prism::ProgramNode).void }
4815
+ def visit_program_node(node); end
4816
+
4817
+ # source://spoom//lib/spoom/visitor.rb#611
4818
+ sig { override.params(node: ::Prism::RangeNode).void }
4819
+ def visit_range_node(node); end
4820
+
4821
+ # source://spoom//lib/spoom/visitor.rb#616
4822
+ sig { override.params(node: ::Prism::RationalNode).void }
4823
+ def visit_rational_node(node); end
4824
+
4825
+ # source://spoom//lib/spoom/visitor.rb#621
4826
+ sig { override.params(node: ::Prism::RedoNode).void }
4827
+ def visit_redo_node(node); end
4828
+
4829
+ # source://spoom//lib/spoom/visitor.rb#626
4830
+ sig { override.params(node: ::Prism::RegularExpressionNode).void }
4831
+ def visit_regular_expression_node(node); end
4832
+
4833
+ # source://spoom//lib/spoom/visitor.rb#631
4834
+ sig { override.params(node: ::Prism::RequiredKeywordParameterNode).void }
4835
+ def visit_required_keyword_parameter_node(node); end
4836
+
4837
+ # source://spoom//lib/spoom/visitor.rb#636
4838
+ sig { override.params(node: ::Prism::RequiredParameterNode).void }
4839
+ def visit_required_parameter_node(node); end
4840
+
4841
+ # source://spoom//lib/spoom/visitor.rb#641
4842
+ sig { override.params(node: ::Prism::RescueModifierNode).void }
4843
+ def visit_rescue_modifier_node(node); end
4844
+
4845
+ # source://spoom//lib/spoom/visitor.rb#646
4846
+ sig { override.params(node: ::Prism::RescueNode).void }
4847
+ def visit_rescue_node(node); end
4848
+
4849
+ # source://spoom//lib/spoom/visitor.rb#651
4850
+ sig { override.params(node: ::Prism::RestParameterNode).void }
4851
+ def visit_rest_parameter_node(node); end
4852
+
4853
+ # source://spoom//lib/spoom/visitor.rb#656
4854
+ sig { override.params(node: ::Prism::RetryNode).void }
4855
+ def visit_retry_node(node); end
4856
+
4857
+ # source://spoom//lib/spoom/visitor.rb#661
4858
+ sig { override.params(node: ::Prism::ReturnNode).void }
4859
+ def visit_return_node(node); end
4860
+
4861
+ # source://spoom//lib/spoom/visitor.rb#666
4862
+ sig { override.params(node: ::Prism::SelfNode).void }
4863
+ def visit_self_node(node); end
4864
+
4865
+ # source://spoom//lib/spoom/visitor.rb#671
4866
+ sig { override.params(node: ::Prism::SingletonClassNode).void }
4867
+ def visit_singleton_class_node(node); end
4868
+
4869
+ # source://spoom//lib/spoom/visitor.rb#676
4870
+ sig { override.params(node: ::Prism::SourceEncodingNode).void }
4871
+ def visit_source_encoding_node(node); end
4872
+
4873
+ # source://spoom//lib/spoom/visitor.rb#681
4874
+ sig { override.params(node: ::Prism::SourceFileNode).void }
4875
+ def visit_source_file_node(node); end
4876
+
4877
+ # source://spoom//lib/spoom/visitor.rb#686
4878
+ sig { override.params(node: ::Prism::SourceLineNode).void }
4879
+ def visit_source_line_node(node); end
4880
+
4881
+ # source://spoom//lib/spoom/visitor.rb#691
4882
+ sig { override.params(node: ::Prism::SplatNode).void }
4883
+ def visit_splat_node(node); end
4884
+
4885
+ # source://spoom//lib/spoom/visitor.rb#696
4886
+ sig { override.params(node: ::Prism::StatementsNode).void }
4887
+ def visit_statements_node(node); end
4888
+
4889
+ # source://spoom//lib/spoom/visitor.rb#701
4890
+ sig { override.params(node: ::Prism::StringNode).void }
4891
+ def visit_string_node(node); end
4892
+
4893
+ # source://spoom//lib/spoom/visitor.rb#706
4894
+ sig { override.params(node: ::Prism::SuperNode).void }
4895
+ def visit_super_node(node); end
4896
+
4897
+ # source://spoom//lib/spoom/visitor.rb#711
4898
+ sig { override.params(node: ::Prism::SymbolNode).void }
4899
+ def visit_symbol_node(node); end
4900
+
4901
+ # source://spoom//lib/spoom/visitor.rb#716
4902
+ sig { override.params(node: ::Prism::TrueNode).void }
4903
+ def visit_true_node(node); end
4904
+
4905
+ # source://spoom//lib/spoom/visitor.rb#721
4906
+ sig { override.params(node: ::Prism::UndefNode).void }
4907
+ def visit_undef_node(node); end
4908
+
4909
+ # source://spoom//lib/spoom/visitor.rb#726
4910
+ sig { override.params(node: ::Prism::UnlessNode).void }
4911
+ def visit_unless_node(node); end
4912
+
4913
+ # source://spoom//lib/spoom/visitor.rb#731
4914
+ sig { override.params(node: ::Prism::UntilNode).void }
4915
+ def visit_until_node(node); end
4916
+
4917
+ # source://spoom//lib/spoom/visitor.rb#736
4918
+ sig { override.params(node: ::Prism::WhenNode).void }
4919
+ def visit_when_node(node); end
4920
+
4921
+ # source://spoom//lib/spoom/visitor.rb#741
4922
+ sig { override.params(node: ::Prism::WhileNode).void }
4923
+ def visit_while_node(node); end
4924
+
4925
+ # source://spoom//lib/spoom/visitor.rb#746
4926
+ sig { override.params(node: ::Prism::XStringNode).void }
4927
+ def visit_x_string_node(node); end
4928
+
4929
+ # source://spoom//lib/spoom/visitor.rb#751
4930
+ sig { override.params(node: ::Prism::YieldNode).void }
4931
+ def visit_yield_node(node); end
4932
+ end