steep 1.0.2 → 1.1.0.pre.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (121) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ruby.yml +5 -0
  3. data/.gitignore +1 -0
  4. data/CHANGELOG.md +22 -3
  5. data/Gemfile +6 -3
  6. data/Gemfile.lock +12 -16
  7. data/Gemfile.steep +3 -0
  8. data/Gemfile.steep.lock +49 -0
  9. data/Rakefile +5 -0
  10. data/Steepfile +6 -1
  11. data/bin/setup +2 -0
  12. data/bin/steep +19 -0
  13. data/lib/steep/ast/types/factory.rb +1 -1
  14. data/lib/steep/diagnostic/ruby.rb +49 -3
  15. data/lib/steep/diagnostic/signature.rb +18 -0
  16. data/lib/steep/drivers/watch.rb +3 -1
  17. data/lib/steep/method_name.rb +9 -3
  18. data/lib/steep/node_helper.rb +49 -0
  19. data/lib/steep/services/completion_provider.rb +22 -15
  20. data/lib/steep/services/hover_provider/ruby.rb +30 -12
  21. data/lib/steep/services/type_check_service.rb +12 -12
  22. data/lib/steep/shims/symbol_start_with.rb +18 -0
  23. data/lib/steep/signature/validator.rb +19 -0
  24. data/lib/steep/subtyping/constraints.rb +43 -14
  25. data/lib/steep/type_construction.rb +666 -746
  26. data/lib/steep/type_inference/constant_env.rb +0 -2
  27. data/lib/steep/type_inference/context.rb +23 -17
  28. data/lib/steep/type_inference/logic_type_interpreter.rb +210 -119
  29. data/lib/steep/type_inference/method_call.rb +80 -6
  30. data/lib/steep/type_inference/multiple_assignment.rb +189 -0
  31. data/lib/steep/type_inference/type_env.rb +271 -120
  32. data/lib/steep/type_inference/type_env_builder.rb +138 -0
  33. data/lib/steep/typing.rb +2 -0
  34. data/lib/steep/version.rb +1 -1
  35. data/lib/steep.rb +4 -3
  36. data/rbs_collection.steep.lock.yaml +112 -0
  37. data/rbs_collection.steep.yaml +19 -0
  38. data/sample/sig/conference.rbs +8 -0
  39. data/sig/shims/parser/source/map.rbs +146 -0
  40. data/sig/shims/parser/source/range.rbs +237 -0
  41. data/sig/shims/parser.rbs +17 -0
  42. data/sig/steep/ast/annotation/collection.rbs +75 -0
  43. data/sig/steep/ast/annotation.rbs +126 -0
  44. data/sig/steep/ast/builtin.rbs +69 -0
  45. data/sig/steep/ast/type_params.rbs +11 -0
  46. data/sig/steep/ast/types/any.rbs +29 -0
  47. data/sig/steep/ast/types/boolean.rbs +31 -0
  48. data/sig/steep/ast/types/bot.rbs +29 -0
  49. data/sig/steep/ast/types/class.rbs +29 -0
  50. data/sig/steep/ast/types/factory.rbs +76 -0
  51. data/sig/steep/ast/types/helper.rbs +19 -0
  52. data/sig/steep/ast/types/instance.rbs +29 -0
  53. data/sig/steep/ast/types/intersection.rbs +35 -0
  54. data/sig/steep/ast/types/literal.rbs +33 -0
  55. data/sig/steep/ast/types/logic.rbs +78 -0
  56. data/sig/steep/ast/types/name.rbs +71 -0
  57. data/sig/steep/ast/types/nil.rbs +31 -0
  58. data/sig/steep/ast/types/proc.rbs +46 -0
  59. data/sig/steep/ast/types/record.rbs +38 -0
  60. data/sig/steep/ast/types/self.rbs +29 -0
  61. data/sig/steep/ast/types/top.rbs +29 -0
  62. data/sig/steep/ast/types/tuple.rbs +34 -0
  63. data/sig/steep/ast/types/union.rbs +38 -0
  64. data/sig/steep/ast/types/var.rbs +37 -0
  65. data/sig/steep/ast/types/void.rbs +29 -0
  66. data/sig/steep/ast/types.rbs +37 -0
  67. data/sig/steep/diagnostic/deprecated/unknown_constant_assigned.rbs +15 -0
  68. data/sig/steep/diagnostic/helper.rbs +9 -0
  69. data/sig/steep/diagnostic/lsp_formatter.rbs +29 -0
  70. data/sig/steep/diagnostic/ruby.rbs +494 -0
  71. data/sig/steep/diagnostic/signature.rbs +215 -0
  72. data/sig/steep/interface/block.rbs +35 -0
  73. data/sig/steep/interface/function.rbs +253 -0
  74. data/sig/steep/interface/interface.rbs +23 -0
  75. data/sig/steep/interface/method_type.rbs +55 -0
  76. data/sig/steep/interface/substitution.rbs +53 -0
  77. data/sig/steep/interface/type_param.rbs +35 -0
  78. data/sig/steep/method_name.rbs +26 -0
  79. data/sig/steep/module_helper.rbs +7 -0
  80. data/sig/steep/node_helper.rbs +11 -0
  81. data/sig/steep/project/dsl.rbs +94 -0
  82. data/sig/steep/project/options.rbs +15 -0
  83. data/sig/steep/project/pattern.rbs +25 -0
  84. data/sig/steep/project/target.rbs +25 -0
  85. data/sig/steep/project.rbs +19 -0
  86. data/sig/steep/services/completion_provider.rbs +123 -0
  87. data/sig/steep/services/content_change.rbs +35 -0
  88. data/sig/steep/services/file_loader.rbs +13 -0
  89. data/sig/steep/services/goto_service.rbs +45 -0
  90. data/sig/steep/services/hover_provider/rbs.rbs +21 -0
  91. data/sig/steep/services/hover_provider/ruby.rbs +109 -0
  92. data/sig/steep/services/hover_provider/singleton_methods.rbs +11 -0
  93. data/sig/steep/services/path_assignment.rbs +21 -0
  94. data/sig/steep/services/signature_service.rbs +91 -0
  95. data/sig/steep/services/stats_calculator.rbs +17 -0
  96. data/sig/steep/services/type_check_service.rbs +93 -0
  97. data/sig/steep/source.rbs +55 -0
  98. data/sig/steep/subtyping/cache.rbs +17 -0
  99. data/sig/steep/subtyping/check.rbs +93 -0
  100. data/sig/steep/subtyping/constraints.rbs +111 -0
  101. data/sig/steep/subtyping/relation.rbs +51 -0
  102. data/sig/steep/subtyping/result.rbs +157 -0
  103. data/sig/steep/subtyping/variable_variance.rbs +23 -0
  104. data/sig/steep/type_construction.rbs +285 -0
  105. data/sig/steep/type_inference/block_params.rbs +52 -0
  106. data/sig/steep/type_inference/constant_env.rbs +27 -0
  107. data/sig/steep/type_inference/context.rbs +137 -0
  108. data/sig/steep/type_inference/logic_type_interpreter.rbs +72 -0
  109. data/sig/steep/type_inference/method_call.rbs +124 -0
  110. data/sig/steep/type_inference/method_params.rbs +104 -0
  111. data/sig/steep/type_inference/multiple_assignment.rbs +76 -0
  112. data/sig/steep/type_inference/type_env.rbs +158 -0
  113. data/sig/steep/type_inference/type_env_builder.rbs +77 -0
  114. data/sig/steep/typing.rbs +68 -0
  115. data/sig/steep.rbs +31 -0
  116. data/smoke/class/f.rb +1 -0
  117. data/smoke/class/test_expectations.yml +2 -2
  118. data/smoke/diagnostics/test_expectations.yml +4 -2
  119. metadata +90 -6
  120. data/lib/steep/type_inference/local_variable_type_env.rb +0 -249
  121. data/lib/steep/type_inference/logic.rb +0 -161
@@ -0,0 +1,494 @@
1
+ module Steep
2
+ module Diagnostic
3
+ module Ruby
4
+ type location = Parser::Source::Range | Parser::Source::Range
5
+
6
+ class Base
7
+ include Helper
8
+
9
+ attr_reader node: Parser::AST::Node?
10
+
11
+ attr_reader location: location?
12
+
13
+ def initialize: (node: Parser::AST::Node?, ?location: location?) -> void
14
+
15
+ def header_line: () -> String
16
+
17
+ def detail_lines: () -> String?
18
+
19
+ def diagnostic_code: () -> ::String
20
+ end
21
+
22
+ interface _DiagnosticWithResult
23
+ def result: () -> Subtyping::Result::Base
24
+ end
25
+
26
+ module ResultPrinter : _DiagnosticWithResult
27
+ def relation_message: (untyped relation) -> untyped
28
+
29
+ def detail_lines: () -> untyped
30
+ end
31
+
32
+ class IncompatibleAssignment < Base
33
+ attr_reader lhs_type: untyped
34
+
35
+ attr_reader rhs_type: untyped
36
+
37
+ attr_reader result: untyped
38
+
39
+ include ResultPrinter
40
+
41
+ def initialize: (node: untyped, lhs_type: untyped, rhs_type: untyped, result: untyped) -> void
42
+
43
+ def header_line: () -> ::String
44
+ end
45
+
46
+ class UnexpectedPositionalArgument < Base
47
+ attr_reader node: untyped
48
+
49
+ attr_reader method_type: untyped
50
+
51
+ attr_reader method_name: untyped
52
+
53
+ def initialize: (node: untyped, method_name: untyped, method_type: untyped) -> void
54
+
55
+ def header_line: () -> "Unexpected positional argument"
56
+ end
57
+
58
+ class InsufficientPositionalArguments < Base
59
+ attr_reader node: untyped
60
+
61
+ attr_reader method_name: untyped
62
+
63
+ attr_reader method_type: untyped
64
+
65
+ def initialize: (node: untyped, method_name: untyped, method_type: untyped) -> void
66
+
67
+ def header_line: () -> "More positional arguments are required"
68
+ end
69
+
70
+ class UnexpectedKeywordArgument < Base
71
+ attr_reader node: untyped
72
+
73
+ attr_reader method_name: untyped
74
+
75
+ attr_reader method_type: untyped
76
+
77
+ def initialize: (node: untyped, method_name: untyped, method_type: untyped) -> void
78
+
79
+ def header_line: () -> "Unexpected keyword argument"
80
+ end
81
+
82
+ class InsufficientKeywordArguments < Base
83
+ attr_reader node: untyped
84
+
85
+ attr_reader method_name: untyped
86
+
87
+ attr_reader method_type: untyped
88
+
89
+ attr_reader missing_keywords: untyped
90
+
91
+ def initialize: (node: untyped, method_name: untyped, method_type: untyped, missing_keywords: untyped) -> void
92
+
93
+ def header_line: () -> ::String
94
+ end
95
+
96
+ class UnresolvedOverloading < Base
97
+ attr_reader node: untyped
98
+
99
+ attr_reader receiver_type: untyped
100
+
101
+ attr_reader method_name: untyped
102
+
103
+ attr_reader method_types: untyped
104
+
105
+ def initialize: (node: untyped, receiver_type: untyped, method_name: untyped, method_types: untyped) -> void
106
+
107
+ def header_line: () -> ::String
108
+
109
+ def detail_lines: () -> untyped
110
+ end
111
+
112
+ class ArgumentTypeMismatch < Base
113
+ attr_reader node: untyped
114
+
115
+ attr_reader expected: untyped
116
+
117
+ attr_reader actual: untyped
118
+
119
+ attr_reader receiver_type: untyped
120
+
121
+ attr_reader result: untyped
122
+
123
+ include ResultPrinter
124
+
125
+ def initialize: (node: untyped, receiver_type: untyped, expected: untyped, actual: untyped, result: untyped) -> void
126
+
127
+ def header_line: () -> ::String
128
+ end
129
+
130
+ class NoMethod < Base
131
+ attr_reader type: AST::Types::t
132
+
133
+ attr_reader method: Symbol
134
+
135
+ def initialize: (node: Parser::AST::Node, type: AST::Types::t, method: Symbol) -> void
136
+
137
+ def header_line: () -> ::String
138
+ end
139
+
140
+ class ReturnTypeMismatch < Base
141
+ attr_reader expected: untyped
142
+
143
+ attr_reader actual: untyped
144
+
145
+ attr_reader result: untyped
146
+
147
+ include ResultPrinter
148
+
149
+ def initialize: (node: untyped, expected: untyped, actual: untyped, result: untyped) -> void
150
+
151
+ def header_line: () -> ::String
152
+ end
153
+
154
+ class UnexpectedBlockGiven < Base
155
+ attr_reader method_type: untyped
156
+
157
+ def initialize: (node: untyped, method_type: untyped) -> void
158
+
159
+ def header_line: () -> "The method cannot be called with a block"
160
+ end
161
+
162
+ class RequiredBlockMissing < Base
163
+ attr_reader method_type: untyped
164
+
165
+ def initialize: (node: untyped, method_type: untyped) -> void
166
+
167
+ def header_line: () -> "The method cannot be called without a block"
168
+ end
169
+
170
+ class BlockTypeMismatch < Base
171
+ attr_reader expected: untyped
172
+
173
+ attr_reader actual: untyped
174
+
175
+ attr_reader result: untyped
176
+
177
+ include ResultPrinter
178
+
179
+ def initialize: (node: untyped, expected: untyped, actual: untyped, result: untyped) -> void
180
+
181
+ def header_line: () -> ::String
182
+ end
183
+
184
+ class BlockBodyTypeMismatch < Base
185
+ attr_reader expected: untyped
186
+
187
+ attr_reader actual: untyped
188
+
189
+ attr_reader result: untyped
190
+
191
+ include ResultPrinter
192
+
193
+ def initialize: (node: untyped, expected: untyped, actual: untyped, result: untyped) -> void
194
+
195
+ def header_line: () -> ::String
196
+ end
197
+
198
+ class BreakTypeMismatch < Base
199
+ attr_reader expected: untyped
200
+
201
+ attr_reader actual: untyped
202
+
203
+ attr_reader result: untyped
204
+
205
+ include ResultPrinter
206
+
207
+ def initialize: (node: untyped, expected: untyped, actual: untyped, result: untyped) -> void
208
+
209
+ def header_line: () -> ::String
210
+ end
211
+
212
+ class ImplicitBreakValueMismatch < Base
213
+ attr_reader jump_type: untyped
214
+
215
+ attr_reader result: untyped
216
+
217
+ include ResultPrinter
218
+
219
+ def initialize: (node: untyped, jump_type: untyped, result: untyped) -> void
220
+
221
+ def header_line: () -> ::String
222
+ end
223
+
224
+ class UnexpectedJump < Base
225
+ def header_line: () -> "Cannot jump from here"
226
+ end
227
+
228
+ class UnexpectedJumpValue < Base
229
+ def header_line: () -> ::String
230
+ end
231
+
232
+ class MethodArityMismatch < Base
233
+ attr_reader method_type: untyped
234
+
235
+ def initialize: (node: untyped, method_type: untyped) -> void
236
+
237
+ def header_line: () -> ::String
238
+ end
239
+
240
+ class MethodParameterMismatch < Base
241
+ attr_reader method_param: untyped
242
+
243
+ attr_reader method_type: untyped
244
+
245
+ def initialize: (method_param: untyped, method_type: untyped) -> void
246
+
247
+ def header_line: () -> ::String
248
+ end
249
+
250
+ class DifferentMethodParameterKind < Base
251
+ attr_reader method_param: untyped
252
+
253
+ attr_reader method_type: untyped
254
+
255
+ def initialize: (method_param: untyped, method_type: untyped) -> void
256
+
257
+ def header_line: () -> ::String
258
+ end
259
+
260
+ class IncompatibleMethodTypeAnnotation < Base
261
+ attr_reader interface_method: untyped
262
+
263
+ attr_reader annotation_method: untyped
264
+
265
+ attr_reader result: untyped
266
+
267
+ include ResultPrinter
268
+
269
+ def initialize: (node: untyped, interface_method: untyped, annotation_method: untyped, result: untyped) -> void
270
+ end
271
+
272
+ class MethodReturnTypeAnnotationMismatch < Base
273
+ attr_reader method_type: untyped
274
+
275
+ attr_reader annotation_type: untyped
276
+
277
+ attr_reader result: untyped
278
+
279
+ include ResultPrinter
280
+
281
+ def initialize: (node: untyped, method_type: untyped, annotation_type: untyped, result: untyped) -> void
282
+
283
+ def header_line: () -> ::String
284
+ end
285
+
286
+ class MethodBodyTypeMismatch < Base
287
+ attr_reader expected: untyped
288
+
289
+ attr_reader actual: untyped
290
+
291
+ attr_reader result: untyped
292
+
293
+ include ResultPrinter
294
+
295
+ def initialize: (node: untyped, expected: untyped, actual: untyped, result: untyped) -> void
296
+
297
+ def header_line: () -> ::String
298
+ end
299
+
300
+ class UnexpectedYield < Base
301
+ def header_line: () -> "No block given for `yield`"
302
+ end
303
+
304
+ class UnexpectedSuper < Base
305
+ attr_reader method: untyped
306
+
307
+ def initialize: (node: untyped, method: untyped) -> void
308
+
309
+ def header_line: () -> ::String
310
+ end
311
+
312
+ class MethodDefinitionMissing < Base
313
+ attr_reader module_name: untyped
314
+
315
+ attr_reader kind: untyped
316
+
317
+ attr_reader missing_method: untyped
318
+
319
+ def initialize: (node: untyped, module_name: untyped, kind: untyped, missing_method: untyped) -> void
320
+
321
+ def header_line: () -> ::String
322
+ end
323
+
324
+ class UnexpectedDynamicMethod < Base
325
+ attr_reader module_name: untyped
326
+
327
+ attr_reader method_name: untyped
328
+
329
+ def initialize: (node: untyped, module_name: untyped, method_name: untyped) -> void
330
+
331
+ def header_line: () -> ::String
332
+ end
333
+
334
+ class UnknownConstant < Base
335
+ attr_reader name: untyped
336
+
337
+ attr_reader kind: untyped
338
+
339
+ def initialize: (node: untyped, name: untyped) -> void
340
+
341
+ def class!: () -> self
342
+
343
+ def module!: () -> self
344
+
345
+ def header_line: () -> ::String
346
+ end
347
+
348
+ class UnknownInstanceVariable < Base
349
+ attr_reader name: Symbol
350
+
351
+ def initialize: (node: Parser::AST::Node, name: Symbol) -> void
352
+
353
+ def header_line: () -> ::String
354
+ end
355
+
356
+ class UnknownGlobalVariable < Base
357
+ attr_reader name: untyped
358
+
359
+ def initialize: (node: untyped, name: untyped) -> void
360
+
361
+ def header_line: () -> ::String
362
+ end
363
+
364
+ class FallbackAny < Base
365
+ def initialize: (node: untyped) -> void
366
+
367
+ def header_line: () -> "Cannot detect the type of the expression"
368
+ end
369
+
370
+ class UnsatisfiableConstraint < Base
371
+ attr_reader method_type: untyped
372
+
373
+ attr_reader var: untyped
374
+
375
+ attr_reader sub_type: untyped
376
+
377
+ attr_reader super_type: untyped
378
+
379
+ attr_reader result: untyped
380
+
381
+ def initialize: (node: untyped, method_type: untyped, var: untyped, sub_type: untyped, super_type: untyped, result: untyped) -> void
382
+
383
+ include ResultPrinter
384
+
385
+ def header_line: () -> ::String
386
+ end
387
+
388
+ class IncompatibleAnnotation < Base
389
+ attr_reader result: Subtyping::Result::Base
390
+
391
+ attr_reader relation: Subtyping::Relation
392
+
393
+ attr_reader var_name: Symbol
394
+
395
+ def initialize: (node: Parser::AST::Node, var_name: Symbol, result: Subtyping::Result::Base, relation: Subtyping::Relation) -> void
396
+
397
+ include ResultPrinter
398
+
399
+ def header_line: () -> ::String
400
+ end
401
+
402
+ class IncompatibleTypeCase < Base
403
+ attr_reader var_name: untyped
404
+
405
+ attr_reader result: untyped
406
+
407
+ attr_reader relation: untyped
408
+
409
+ def initialize: (node: untyped, var_name: untyped, result: untyped, relation: untyped) -> void
410
+
411
+ include ResultPrinter
412
+
413
+ def header_line: () -> ::String
414
+ end
415
+
416
+ class ElseOnExhaustiveCase < Base
417
+ attr_reader type: untyped
418
+
419
+ def initialize: (node: untyped, type: untyped) -> void
420
+
421
+ def header_line: () -> "The branch is unreachable because the condition is exhaustive"
422
+ end
423
+
424
+ class UnexpectedSplat < Base
425
+ attr_reader type: untyped
426
+
427
+ def initialize: (node: untyped, type: untyped) -> void
428
+
429
+ def header_line: () -> "Hash splat is given with object other than `Hash[X, Y]`"
430
+ end
431
+
432
+ class ProcTypeExpected < Base
433
+ attr_reader type: untyped
434
+
435
+ def initialize: (node: untyped, type: untyped) -> void
436
+
437
+ def header_line: () -> ::String
438
+ end
439
+
440
+ # The `#to_ary` of RHS of multiple assignment is called, but returns not tuple nor Array.
441
+ #
442
+ # ```ruby
443
+ # a, b = foo()
444
+ # ^^^^^
445
+ # ```
446
+ #
447
+ class MultipleAssignmentConversionError < Base
448
+ attr_reader original_type: AST::Types::t
449
+
450
+ attr_reader returned_type: AST::Types::t
451
+
452
+ def initialize: (node: Parser::AST::Node, original_type: AST::Types::t, returned_type: AST::Types::t) -> void
453
+
454
+ def header_line: () -> ::String
455
+ end
456
+
457
+ class UnsupportedSyntax < Base
458
+ attr_reader message: untyped
459
+
460
+ def initialize: (node: untyped, ?message: untyped?) -> void
461
+
462
+ def header_line: () -> (untyped | ::String)
463
+ end
464
+
465
+ class UnexpectedError < Base
466
+ attr_reader message: untyped
467
+
468
+ attr_reader error: untyped
469
+
470
+ def initialize: (node: untyped, error: untyped) -> void
471
+
472
+ def header_line: () -> ::String
473
+ end
474
+
475
+ class SyntaxError < Base
476
+ attr_reader message: untyped
477
+
478
+ def initialize: (message: untyped, location: untyped) -> void
479
+
480
+ def header_line: () -> ::String
481
+ end
482
+
483
+ ALL: untyped
484
+
485
+ def self.all_error: () -> untyped
486
+
487
+ def self.default: () -> untyped
488
+
489
+ def self.strict: () -> untyped
490
+
491
+ def self.lenient: () -> untyped
492
+ end
493
+ end
494
+ end
@@ -0,0 +1,215 @@
1
+ module Steep
2
+ module Diagnostic
3
+ module Signature
4
+ class Base
5
+ include Helper
6
+
7
+ attr_reader location: untyped
8
+
9
+ def initialize: (location: untyped) -> void
10
+
11
+ def header_line: () -> untyped
12
+
13
+ def detail_lines: () -> nil
14
+
15
+ def diagnostic_code: () -> ::String
16
+
17
+ def path: () -> untyped
18
+ end
19
+
20
+ class SyntaxError < Base
21
+ attr_reader exception: untyped
22
+
23
+ def initialize: (untyped exception, location: untyped) -> void
24
+
25
+ def self.parser_syntax_error_message: (untyped exception) -> ::String
26
+
27
+ def header_line: () -> untyped
28
+ end
29
+
30
+ class DuplicatedDeclaration < Base
31
+ attr_reader type_name: untyped
32
+
33
+ def initialize: (type_name: untyped, location: untyped) -> void
34
+
35
+ def header_line: () -> ::String
36
+ end
37
+
38
+ class UnknownTypeName < Base
39
+ attr_reader name: untyped
40
+
41
+ def initialize: (name: untyped, location: untyped) -> void
42
+
43
+ def header_line: () -> ::String
44
+ end
45
+
46
+ class InvalidTypeApplication < Base
47
+ attr_reader name: untyped
48
+
49
+ attr_reader args: untyped
50
+
51
+ attr_reader params: untyped
52
+
53
+ def initialize: (name: untyped, args: untyped, params: untyped, location: untyped) -> void
54
+
55
+ def header_line: () -> untyped
56
+ end
57
+
58
+ class UnsatisfiableTypeApplication < Base
59
+ attr_reader type_name: untyped
60
+
61
+ attr_reader type_arg: untyped
62
+
63
+ attr_reader type_param: untyped
64
+
65
+ def initialize: (type_name: untyped, type_arg: untyped, type_param: untyped, location: untyped) -> void
66
+
67
+ def header_line: () -> ::String
68
+ end
69
+
70
+ class InvalidMethodOverload < Base
71
+ attr_reader class_name: untyped
72
+
73
+ attr_reader method_name: untyped
74
+
75
+ def initialize: (class_name: untyped, method_name: untyped, location: untyped) -> void
76
+
77
+ def header_line: () -> ::String
78
+ end
79
+
80
+ class UnknownMethodAlias < Base
81
+ attr_reader class_name: untyped
82
+
83
+ attr_reader method_name: untyped
84
+
85
+ def initialize: (class_name: untyped, method_name: untyped, location: untyped) -> void
86
+
87
+ def header_line: () -> ::String
88
+ end
89
+
90
+ class DuplicatedMethodDefinition < Base
91
+ attr_reader class_name: untyped
92
+
93
+ attr_reader method_name: untyped
94
+
95
+ def initialize: (class_name: untyped, method_name: untyped, location: untyped) -> void
96
+
97
+ def header_line: () -> ::String
98
+ end
99
+
100
+ class RecursiveAlias < Base
101
+ attr_reader class_name: untyped
102
+
103
+ attr_reader names: untyped
104
+
105
+ attr_reader location: untyped
106
+
107
+ def initialize: (class_name: untyped, names: untyped, location: untyped) -> void
108
+
109
+ def header_line: () -> ::String
110
+ end
111
+
112
+ class RecursiveAncestor < Base
113
+ attr_reader ancestors: untyped
114
+
115
+ def initialize: (ancestors: untyped, location: untyped) -> void
116
+
117
+ def header_line: () -> ::String
118
+ end
119
+
120
+ class SuperclassMismatch < Base
121
+ attr_reader name: untyped
122
+
123
+ def initialize: (name: untyped, location: untyped) -> void
124
+
125
+ def header_line: () -> ::String
126
+ end
127
+
128
+ class GenericParameterMismatch < Base
129
+ attr_reader name: untyped
130
+
131
+ def initialize: (name: untyped, location: untyped) -> void
132
+
133
+ def header_line: () -> ::String
134
+ end
135
+
136
+ class InvalidVarianceAnnotation < Base
137
+ attr_reader name: untyped
138
+
139
+ attr_reader param: untyped
140
+
141
+ def initialize: (name: untyped, param: untyped, location: untyped) -> void
142
+
143
+ def header_line: () -> ::String
144
+ end
145
+
146
+ class ModuleSelfTypeError < Base
147
+ attr_reader name: untyped
148
+
149
+ attr_reader ancestor: untyped
150
+
151
+ attr_reader relation: untyped
152
+
153
+ def initialize: (name: untyped, ancestor: untyped, relation: untyped, location: untyped) -> void
154
+
155
+ def header_line: () -> ::String
156
+ end
157
+
158
+ class InstanceVariableTypeError < Base
159
+ attr_reader name: untyped
160
+
161
+ attr_reader variable: untyped
162
+
163
+ attr_reader var_type: untyped
164
+
165
+ attr_reader parent_type: untyped
166
+
167
+ def initialize: (name: untyped, location: untyped, var_type: untyped, parent_type: untyped) -> void
168
+
169
+ def header_line: () -> ::String
170
+ end
171
+
172
+ class MixinClassError < Base
173
+ attr_reader member: untyped
174
+
175
+ attr_reader type_name: untyped
176
+
177
+ def initialize: (location: untyped, member: untyped, type_name: untyped) -> void
178
+
179
+ def header_line: () -> ::String
180
+
181
+ private
182
+
183
+ def mixin_name: () -> untyped
184
+ end
185
+
186
+ class UnexpectedError < Base
187
+ attr_reader message: untyped
188
+
189
+ def initialize: (message: untyped, location: untyped) -> void
190
+
191
+ def header_line: () -> ::String
192
+ end
193
+
194
+ class RecursiveTypeAlias < Base
195
+ attr_reader alias_names: untyped
196
+
197
+ def initialize: (alias_names: untyped, location: untyped) -> void
198
+
199
+ def header_line: () -> ::String
200
+ end
201
+
202
+ class NonregularTypeAlias < Base
203
+ attr_reader type_name: untyped
204
+
205
+ attr_reader nonregular_type: untyped
206
+
207
+ def initialize: (type_name: untyped, nonregular_type: untyped, location: untyped) -> void
208
+
209
+ def header_line: () -> ::String
210
+ end
211
+
212
+ def self.from_rbs_error: (untyped error, factory: untyped) -> untyped
213
+ end
214
+ end
215
+ end