lunchmoney 1.2.0 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/build_and_publish_yard_docs.yml +1 -1
  3. data/.github/workflows/check_pipeline.yml +2 -2
  4. data/.github/workflows/ci.yml +1 -1
  5. data/.github/workflows/{dependabot-rbi-updater.yml → rbi-updater.yml} +2 -3
  6. data/.simplecov +1 -2
  7. data/Gemfile +2 -3
  8. data/Gemfile.lock +70 -75
  9. data/lib/lunchmoney/objects/transaction.rb +9 -1
  10. data/lib/lunchmoney/objects/user.rb +4 -1
  11. data/lib/lunchmoney/version.rb +1 -1
  12. data/sorbet/rbi/annotations/activesupport.rbi +31 -0
  13. data/sorbet/rbi/annotations/minitest.rbi +119 -0
  14. data/sorbet/rbi/dsl/active_support/callbacks.rbi +1 -0
  15. data/sorbet/rbi/gems/{activesupport@7.1.3.2.rbi → activesupport@7.2.1.rbi} +1345 -1253
  16. data/sorbet/rbi/gems/{addressable@2.8.6.rbi → addressable@2.8.7.rbi} +2 -1
  17. data/sorbet/rbi/gems/{bigdecimal@3.1.7.rbi → bigdecimal@3.1.8.rbi} +1 -0
  18. data/sorbet/rbi/gems/{chef-utils@18.4.2.rbi → chef-utils@18.5.0.rbi} +1 -0
  19. data/sorbet/rbi/gems/{concurrent-ruby@1.2.3.rbi → concurrent-ruby@1.3.4.rbi} +64 -9
  20. data/sorbet/rbi/gems/{docile@1.4.0.rbi → docile@1.4.1.rbi} +1 -0
  21. data/sorbet/rbi/gems/{dotenv@3.1.0.rbi → dotenv@3.1.2.rbi} +20 -17
  22. data/sorbet/rbi/gems/{erubi@1.12.0.rbi → erubi@1.13.0.rbi} +20 -15
  23. data/sorbet/rbi/gems/{faraday-net_http@3.1.0.rbi → faraday-net_http@3.1.1.rbi} +36 -35
  24. data/sorbet/rbi/gems/{faraday@2.9.0.rbi → faraday@2.10.1.rbi} +79 -33
  25. data/sorbet/rbi/gems/{hashdiff@1.1.0.rbi → hashdiff@1.1.1.rbi} +3 -2
  26. data/sorbet/rbi/gems/{i18n@1.14.4.rbi → i18n@1.14.5.rbi} +43 -14
  27. data/sorbet/rbi/gems/{json@2.7.1.rbi → json@2.7.2.rbi} +72 -72
  28. data/sorbet/rbi/gems/logger@1.6.0.rbi +903 -0
  29. data/sorbet/rbi/gems/{minitest@5.22.3.rbi → minitest@5.25.1.rbi} +245 -235
  30. data/sorbet/rbi/gems/{mixlib-shellout@3.2.7.rbi → mixlib-shellout@3.2.8.rbi} +1 -0
  31. data/sorbet/rbi/gems/{mocha@2.1.0.rbi → mocha@2.4.5.rbi} +169 -144
  32. data/sorbet/rbi/gems/{parallel@1.24.0.rbi → parallel@1.26.3.rbi} +32 -21
  33. data/sorbet/rbi/gems/{parser@3.3.0.5.rbi → parser@3.3.4.2.rbi} +233 -186
  34. data/sorbet/rbi/gems/{prism@0.24.0.rbi → prism@0.30.0.rbi} +20933 -12761
  35. data/sorbet/rbi/gems/{public_suffix@5.0.4.rbi → public_suffix@6.0.1.rbi} +1 -0
  36. data/sorbet/rbi/gems/{racc@1.7.3.rbi → racc@1.8.1.rbi} +34 -33
  37. data/sorbet/rbi/gems/{rack@3.0.10.rbi → rack@3.1.7.rbi} +694 -987
  38. data/sorbet/rbi/gems/{rake@13.1.0.rbi → rake@13.2.1.rbi} +56 -55
  39. data/sorbet/rbi/gems/{rbi@0.1.9.rbi → rbi@0.1.14.rbi} +904 -622
  40. data/sorbet/rbi/gems/{regexp_parser@2.9.0.rbi → regexp_parser@2.9.2.rbi} +3 -2
  41. data/sorbet/rbi/gems/{rexml@3.2.6.rbi → rexml@3.3.6.rbi} +383 -245
  42. data/sorbet/rbi/gems/{rubocop-ast@1.31.2.rbi → rubocop-ast@1.32.1.rbi} +393 -349
  43. data/sorbet/rbi/gems/{rubocop-minitest@0.35.0.rbi → rubocop-minitest@0.35.1.rbi} +11 -8
  44. data/sorbet/rbi/gems/{rubocop-rails@2.24.1.rbi → rubocop-rails@2.26.0.rbi} +604 -275
  45. data/sorbet/rbi/gems/{rubocop-sorbet@0.8.0.rbi → rubocop-sorbet@0.8.5.rbi} +253 -127
  46. data/sorbet/rbi/gems/{rubocop@1.62.1.rbi → rubocop@1.65.1.rbi} +2334 -1779
  47. data/sorbet/rbi/gems/securerandom@0.3.1.rbi +73 -0
  48. data/sorbet/rbi/gems/{spoom@1.2.4.rbi → spoom@1.4.2.rbi} +2003 -848
  49. data/sorbet/rbi/gems/strscan@3.1.0.rbi +9 -0
  50. data/sorbet/rbi/gems/{tapioca@0.13.1.rbi → tapioca@0.16.1.rbi} +294 -259
  51. data/sorbet/rbi/gems/{toys-core@0.15.5.rbi → toys-core@0.15.6.rbi} +1 -0
  52. data/sorbet/rbi/gems/{toys@0.15.5.rbi → toys@0.15.6.rbi} +4 -3
  53. data/sorbet/rbi/gems/{vcr@6.2.0.rbi → vcr@6.3.1.rbi} +72 -68
  54. data/sorbet/rbi/gems/{webmock@3.23.0.rbi → webmock@3.23.1.rbi} +1 -0
  55. data/sorbet/rbi/gems/{yard-sorbet@0.8.1.rbi → yard-sorbet@0.9.0.rbi} +36 -29
  56. metadata +46 -49
  57. data/sorbet/rbi/gems/coderay@1.1.3.rbi +0 -3426
  58. data/sorbet/rbi/gems/method_source@1.0.0.rbi +0 -272
  59. data/sorbet/rbi/gems/mutex_m@0.2.0.rbi +0 -93
  60. data/sorbet/rbi/gems/prettier_print@1.2.1.rbi +0 -951
  61. data/sorbet/rbi/gems/pry-sorbet@0.2.1.rbi +0 -966
  62. data/sorbet/rbi/gems/pry@0.14.2.rbi +0 -10077
  63. data/sorbet/rbi/gems/syntax_tree@6.2.0.rbi +0 -23136
@@ -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,136 +106,221 @@ 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.1/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.1/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.1/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.1/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.1/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.1/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
@@ -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.11150/lib/types/struct.rb#13
1007
+ # source://sorbet-runtime/0.5.11545/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.11150/lib/types/struct.rb#13
1347
+ # source://sorbet-runtime/0.5.11545/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.11150/lib/types/struct.rb#13
1483
+ # source://sorbet-runtime/0.5.11545/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
1583
-
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
1591
-
1592
- # Context
1593
- #
1594
- # source://spoom//lib/spoom/deadcode/indexer.rb#367
1595
- sig { returns(::SyntaxTree::Node) }
1596
- def current_node; end
1597
-
1598
- # Definition indexing
1599
- #
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
1603
-
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
1607
-
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
1611
-
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
1615
-
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
1619
-
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
1623
-
1624
- # @return [String]
1625
- #
1626
- # source://spoom//lib/spoom/deadcode/indexer.rb#10
1627
- def file_name; end
1635
+ def initialize(path, index, plugins: T.unsafe(nil)); end
1628
1636
 
1629
1637
  # source://spoom//lib/spoom/deadcode/indexer.rb#13
1630
1638
  sig { returns(::Spoom::Deadcode::Index) }
1631
1639
  def index; end
1632
1640
 
1633
- # source://spoom//lib/spoom/deadcode/indexer.rb#426
1634
- sig { returns(T.nilable(::String)) }
1635
- def last_sig; end
1636
-
1637
- # source://spoom//lib/spoom/deadcode/indexer.rb#386
1638
- sig { returns(T.nilable(::SyntaxTree::BlockNode)) }
1639
- def nesting_block; end
1640
-
1641
- # source://spoom//lib/spoom/deadcode/indexer.rb#391
1642
- sig { returns(T.nilable(::SyntaxTree::MethodAddBlock)) }
1643
- def nesting_block_call; end
1644
-
1645
- # source://spoom//lib/spoom/deadcode/indexer.rb#396
1646
- sig { returns(T.nilable(::String)) }
1647
- def nesting_block_call_name; end
1648
-
1649
- # source://spoom//lib/spoom/deadcode/indexer.rb#381
1650
- sig { returns(T.nilable(::SyntaxTree::ClassDeclaration)) }
1651
- def nesting_class; end
1652
-
1653
- # source://spoom//lib/spoom/deadcode/indexer.rb#410
1654
- sig { returns(T.nilable(::String)) }
1655
- def nesting_class_name; end
1656
-
1657
- # source://spoom//lib/spoom/deadcode/indexer.rb#418
1658
- sig { returns(T.nilable(::String)) }
1659
- def nesting_class_superclass_name; end
1660
-
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
1664
-
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
1668
-
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
1674
-
1675
1641
  # source://spoom//lib/spoom/deadcode/indexer.rb#10
1676
1642
  sig { returns(::String) }
1677
1643
  def path; end
1678
1644
 
1679
- # Reference indexing
1680
- #
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
1645
  # Visit
1694
1646
  #
1695
- # source://spoom//lib/spoom/deadcode/indexer.rb#35
1696
- sig { override.params(node: T.nilable(::SyntaxTree::Node)).void }
1697
- def visit(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
1698
1651
 
1699
- # source://spoom//lib/spoom/deadcode/indexer.rb#45
1700
- sig { override.params(node: ::SyntaxTree::AliasNode).void }
1701
- def visit_alias(node); end
1652
+ # source://spoom//lib/spoom/deadcode/plugins.rb#36
1653
+ Spoom::Deadcode::PLUGINS_FOR_GEM = T.let(T.unsafe(nil), Hash)
1702
1654
 
1703
- # source://spoom//lib/spoom/deadcode/indexer.rb#50
1704
- sig { override.params(node: ::SyntaxTree::ARef).void }
1705
- def visit_aref(node); end
1655
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#8
1656
+ module Spoom::Deadcode::Plugins; end
1706
1657
 
1707
- # source://spoom//lib/spoom/deadcode/indexer.rb#57
1708
- sig { override.params(node: ::SyntaxTree::ARefField).void }
1709
- def visit_aref_field(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
1710
1664
 
1711
- # source://spoom//lib/spoom/deadcode/indexer.rb#64
1712
- sig { override.params(node: ::SyntaxTree::ArgBlock).void }
1713
- def visit_arg_block(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
1714
1671
 
1715
- # source://spoom//lib/spoom/deadcode/indexer.rb#78
1716
- sig { override.params(node: ::SyntaxTree::Binary).void }
1717
- def visit_binary(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
1718
1677
 
1719
- # source://spoom//lib/spoom/deadcode/indexer.rb#94
1720
- sig { override.params(node: ::SyntaxTree::CallNode).void }
1721
- def visit_call(node); 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
1722
1682
 
1723
- # source://spoom//lib/spoom/deadcode/indexer.rb#106
1724
- sig { override.params(node: ::SyntaxTree::ClassDeclaration).void }
1725
- def visit_class(node); end
1683
+ # source://spoom//lib/spoom/deadcode/plugins/actionpack.rb#12
1684
+ Spoom::Deadcode::Plugins::ActionPack::CALLBACKS = T.let(T.unsafe(nil), Array)
1726
1685
 
1727
- # source://spoom//lib/spoom/deadcode/indexer.rb#119
1728
- sig { override.params(node: ::SyntaxTree::Command).void }
1729
- def visit_command(node); end
1686
+ # source://spoom//lib/spoom/deadcode/plugins/active_job.rb#7
1687
+ class Spoom::Deadcode::Plugins::ActiveJob < ::Spoom::Deadcode::Plugins::Base; end
1730
1688
 
1731
- # source://spoom//lib/spoom/deadcode/indexer.rb#131
1732
- sig { override.params(node: ::SyntaxTree::CommandCall).void }
1733
- def visit_command_call(node); 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
1734
1695
 
1735
- # source://spoom//lib/spoom/deadcode/indexer.rb#144
1736
- sig { override.params(node: ::SyntaxTree::Const).void }
1737
- def visit_const(node); 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
1738
1702
 
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
1703
+ # source://spoom//lib/spoom/deadcode/plugins/active_record.rb#64
1704
+ Spoom::Deadcode::Plugins::ActiveRecord::ARRAY_METHODS = T.let(T.unsafe(nil), Array)
1742
1705
 
1743
- # source://spoom//lib/spoom/deadcode/indexer.rb#159
1744
- sig { override.params(node: ::SyntaxTree::DefNode).void }
1745
- def visit_def(node); end
1706
+ # source://spoom//lib/spoom/deadcode/plugins/active_record.rb#20
1707
+ Spoom::Deadcode::Plugins::ActiveRecord::CALLBACKS = T.let(T.unsafe(nil), Array)
1746
1708
 
1747
- # source://spoom//lib/spoom/deadcode/indexer.rb#167
1748
- sig { override.params(node: ::SyntaxTree::Field).void }
1749
- def visit_field(node); 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)
1750
1711
 
1751
- # source://spoom//lib/spoom/deadcode/indexer.rb#183
1752
- sig { override.params(node: ::SyntaxTree::ModuleDeclaration).void }
1753
- def visit_module(node); 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
1754
1718
 
1755
- # source://spoom//lib/spoom/deadcode/indexer.rb#195
1756
- sig { override.params(node: ::SyntaxTree::OpAssign).void }
1757
- def visit_opassign(node); 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)
1758
1721
 
1759
- # source://spoom//lib/spoom/deadcode/indexer.rb#204
1760
- sig { params(send: ::Spoom::Deadcode::Send).void }
1761
- def visit_send(send); 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!
1762
1727
 
1763
- # source://spoom//lib/spoom/deadcode/indexer.rb#243
1764
- sig { override.params(node: ::SyntaxTree::SymbolLiteral).void }
1765
- def visit_symbol_literal(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
1766
1731
 
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
1732
+ # source://spoom//lib/spoom/deadcode/plugins/base.rb#129
1733
+ sig { returns(::Spoom::Deadcode::Index) }
1734
+ def index; end
1770
1735
 
1771
- # source://spoom//lib/spoom/deadcode/indexer.rb#257
1772
- sig { override.params(node: ::SyntaxTree::VarField).void }
1773
- def visit_var_field(node); end
1736
+ # Do not override this method, use `on_define_accessor` instead.
1737
+ #
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
1774
1741
 
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
1742
+ # Do not override this method, use `on_define_class` instead.
1743
+ #
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
1779
1747
 
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
1920
-
1921
- # Do not override this method, use `on_define_class` instead.
1922
- #
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
1926
-
1927
- # Do not override this method, use `on_define_constant` instead.
1928
- #
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
1748
+ # Do not override this method, use `on_define_constant` instead.
1749
+ #
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
2086
+ sig { override.params(definition: ::Spoom::Model::Constant).void }
2087
+ def on_define_constant(definition); end
2271
2088
 
2272
- private
2273
-
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#43
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.11150/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.11150/lib/types/struct.rb#13
2371
+ # source://sorbet-runtime/0.5.11545/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.11150/lib/types/struct.rb#13
2391
+ # source://sorbet-runtime/0.5.11545/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.11150/lib/types/struct.rb#13
2589
+ # source://sorbet-runtime/0.5.11545/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.11150/lib/types/struct.rb#13
2655
+ # source://sorbet-runtime/0.5.11545/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.11150/lib/types/struct.rb#13
2767
+ # source://sorbet-runtime/0.5.11545/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.11150/lib/types/struct.rb#13
2800
+ # source://sorbet-runtime/0.5.11545/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.11150/lib/types/struct.rb#13
2858
+ # source://sorbet-runtime/0.5.11545/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.11150/lib/types/struct.rb#13
2883
+ # source://sorbet-runtime/0.5.11545/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.11150/lib/types/struct.rb#13
2946
+ # source://sorbet-runtime/0.5.11545/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.11150/lib/types/struct.rb#13
2984
+ # source://sorbet-runtime/0.5.11545/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.11150/lib/types/struct.rb#13
3050
+ # source://sorbet-runtime/0.5.11545/lib/types/struct.rb#13
3286
3051
  def inherited(s); end
3287
3052
  end
3288
3053
  end
@@ -3330,60 +3095,842 @@ 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`
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
3375
3174
  #
3376
- # Does not use colors unless `@colors`.
3175
+ # Raises an error if the symbol is not found
3377
3176
  #
3378
- # source://spoom//lib/spoom/printer.rb#47
3379
- sig { params(string: T.nilable(::String), color: ::Spoom::Color).void }
3380
- def print_colored(string, *color); end
3381
-
3382
- # Print `string` with indent and newline
3177
+ # @raise [Error]
3383
3178
  #
3384
- # source://spoom//lib/spoom/printer.rb#62
3385
- sig { params(string: T.nilable(::String)).void }
3386
- def printl(string); end
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.11545/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
+ Public = new
3722
+ Protected = new
3723
+ Private = 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
+ #
3923
+ # Does not use colors unless `@colors`.
3924
+ #
3925
+ # source://spoom//lib/spoom/printer.rb#47
3926
+ sig { params(string: T.nilable(::String), color: ::Spoom::Color).void }
3927
+ def print_colored(string, *color); end
3928
+
3929
+ # Print `string` with indent and newline
3930
+ #
3931
+ # source://spoom//lib/spoom/printer.rb#62
3932
+ sig { params(string: T.nilable(::String)).void }
3933
+ def printl(string); end
3387
3934
 
3388
3935
  # Print a new line into `out`
3389
3936
  #
@@ -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