steep 0.40.0 → 0.41.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (92) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +4 -0
  3. data/bin/output_rebaseline.rb +15 -30
  4. data/bin/output_test.rb +17 -57
  5. data/lib/steep.rb +4 -0
  6. data/lib/steep/cli.rb +9 -3
  7. data/lib/steep/drivers/check.rb +106 -14
  8. data/lib/steep/drivers/diagnostic_printer.rb +11 -11
  9. data/lib/steep/expectations.rb +159 -0
  10. data/lib/steep/project.rb +6 -0
  11. data/lib/steep/version.rb +1 -1
  12. data/smoke/alias/test_expectations.yml +96 -0
  13. data/smoke/and/test_expectations.yml +31 -0
  14. data/smoke/array/test_expectations.yml +103 -0
  15. data/smoke/block/test_expectations.yml +125 -0
  16. data/smoke/case/test_expectations.yml +47 -0
  17. data/smoke/class/test_expectations.yml +120 -0
  18. data/smoke/const/test_expectations.yml +139 -0
  19. data/smoke/diagnostics-rbs-duplicated/test_expectations.yml +13 -0
  20. data/smoke/diagnostics-rbs/test_expectations.yml +229 -0
  21. data/smoke/diagnostics/test_expectations.yml +477 -0
  22. data/smoke/dstr/test_expectations.yml +13 -0
  23. data/smoke/ensure/test_expectations.yml +62 -0
  24. data/smoke/enumerator/test_expectations.yml +135 -0
  25. data/smoke/extension/test_expectations.yml +61 -0
  26. data/smoke/hash/test_expectations.yml +81 -0
  27. data/smoke/hello/test_expectations.yml +25 -0
  28. data/smoke/if/test_expectations.yml +34 -0
  29. data/smoke/implements/test_expectations.yml +23 -0
  30. data/smoke/initialize/test_expectations.yml +1 -0
  31. data/smoke/integer/test_expectations.yml +101 -0
  32. data/smoke/interface/test_expectations.yml +23 -0
  33. data/smoke/kwbegin/test_expectations.yml +17 -0
  34. data/smoke/lambda/test_expectations.yml +39 -0
  35. data/smoke/literal/test_expectations.yml +106 -0
  36. data/smoke/map/test_expectations.yml +1 -0
  37. data/smoke/method/test_expectations.yml +90 -0
  38. data/smoke/module/test_expectations.yml +75 -0
  39. data/smoke/regexp/test_expectations.yml +615 -0
  40. data/smoke/regression/test_expectations.yml +43 -0
  41. data/smoke/rescue/test_expectations.yml +79 -0
  42. data/smoke/self/test_expectations.yml +23 -0
  43. data/smoke/skip/test_expectations.yml +23 -0
  44. data/smoke/stdout/test_expectations.yml +1 -0
  45. data/smoke/super/test_expectations.yml +79 -0
  46. data/smoke/toplevel/test_expectations.yml +15 -0
  47. data/smoke/tsort/test_expectations.yml +43 -0
  48. data/smoke/type_case/test_expectations.yml +48 -0
  49. data/smoke/yield/test_expectations.yml +68 -0
  50. metadata +41 -44
  51. data/smoke/alias/test.yaml +0 -73
  52. data/smoke/and/test.yaml +0 -24
  53. data/smoke/array/test.yaml +0 -80
  54. data/smoke/block/test.yaml +0 -96
  55. data/smoke/broken/Steepfile +0 -5
  56. data/smoke/broken/broken.rb +0 -0
  57. data/smoke/broken/broken.rbs +0 -0
  58. data/smoke/broken/test.yaml +0 -6
  59. data/smoke/case/test.yaml +0 -36
  60. data/smoke/class/test.yaml +0 -89
  61. data/smoke/const/test.yaml +0 -96
  62. data/smoke/diagnostics-rbs-duplicated/test.yaml +0 -10
  63. data/smoke/diagnostics-rbs/test.yaml +0 -142
  64. data/smoke/diagnostics/test.yaml +0 -333
  65. data/smoke/dstr/test.yaml +0 -10
  66. data/smoke/ensure/test.yaml +0 -47
  67. data/smoke/enumerator/test.yaml +0 -100
  68. data/smoke/extension/test.yaml +0 -50
  69. data/smoke/hash/test.yaml +0 -62
  70. data/smoke/hello/test.yaml +0 -18
  71. data/smoke/if/test.yaml +0 -27
  72. data/smoke/implements/test.yaml +0 -16
  73. data/smoke/initialize/test.yaml +0 -4
  74. data/smoke/integer/test.yaml +0 -66
  75. data/smoke/interface/test.yaml +0 -16
  76. data/smoke/kwbegin/test.yaml +0 -14
  77. data/smoke/lambda/test.yaml +0 -28
  78. data/smoke/literal/test.yaml +0 -79
  79. data/smoke/map/test.yaml +0 -4
  80. data/smoke/method/test.yaml +0 -71
  81. data/smoke/module/test.yaml +0 -51
  82. data/smoke/regexp/test.yaml +0 -372
  83. data/smoke/regression/test.yaml +0 -38
  84. data/smoke/rescue/test.yaml +0 -60
  85. data/smoke/self/test.yaml +0 -16
  86. data/smoke/skip/test.yaml +0 -16
  87. data/smoke/stdout/test.yaml +0 -4
  88. data/smoke/super/test.yaml +0 -52
  89. data/smoke/toplevel/test.yaml +0 -12
  90. data/smoke/tsort/test.yaml +0 -32
  91. data/smoke/type_case/test.yaml +0 -33
  92. data/smoke/yield/test.yaml +0 -49
@@ -0,0 +1,615 @@
1
+ ---
2
+ - file: a.rb
3
+ diagnostics:
4
+ - range:
5
+ start:
6
+ line: 2
7
+ character: 6
8
+ end:
9
+ line: 2
10
+ character: 9
11
+ severity: ERROR
12
+ message: Type `::Regexp` does not have method `foo`
13
+ code: Ruby::NoMethod
14
+ - range:
15
+ start:
16
+ line: 5
17
+ character: 6
18
+ end:
19
+ line: 5
20
+ character: 9
21
+ severity: ERROR
22
+ message: Type `::Regexp` does not have method `foo`
23
+ code: Ruby::NoMethod
24
+ - range:
25
+ start:
26
+ line: 8
27
+ character: 6
28
+ end:
29
+ line: 8
30
+ character: 9
31
+ severity: ERROR
32
+ message: Type `::Regexp` does not have method `foo`
33
+ code: Ruby::NoMethod
34
+ - range:
35
+ start:
36
+ line: 11
37
+ character: 6
38
+ end:
39
+ line: 11
40
+ character: 9
41
+ severity: ERROR
42
+ message: Type `::Regexp` does not have method `foo`
43
+ code: Ruby::NoMethod
44
+ - range:
45
+ start:
46
+ line: 14
47
+ character: 10
48
+ end:
49
+ line: 14
50
+ character: 13
51
+ severity: ERROR
52
+ message: Type `::Regexp` does not have method `foo`
53
+ code: Ruby::NoMethod
54
+ - range:
55
+ start:
56
+ line: 17
57
+ character: 10
58
+ end:
59
+ line: 17
60
+ character: 13
61
+ severity: ERROR
62
+ message: Type `::Regexp` does not have method `foo`
63
+ code: Ruby::NoMethod
64
+ - range:
65
+ start:
66
+ line: 20
67
+ character: 10
68
+ end:
69
+ line: 20
70
+ character: 13
71
+ severity: ERROR
72
+ message: Type `::Regexp` does not have method `foo`
73
+ code: Ruby::NoMethod
74
+ - range:
75
+ start:
76
+ line: 23
77
+ character: 10
78
+ end:
79
+ line: 23
80
+ character: 13
81
+ severity: ERROR
82
+ message: Type `::Regexp` does not have method `foo`
83
+ code: Ruby::NoMethod
84
+ - range:
85
+ start:
86
+ line: 26
87
+ character: 9
88
+ end:
89
+ line: 26
90
+ character: 12
91
+ severity: ERROR
92
+ message: Type `::String` does not have method `foo`
93
+ code: Ruby::NoMethod
94
+ - range:
95
+ start:
96
+ line: 29
97
+ character: 13
98
+ end:
99
+ line: 29
100
+ character: 16
101
+ severity: ERROR
102
+ message: Type `(::MatchData | nil)` does not have method `foo`
103
+ code: Ruby::NoMethod
104
+ - range:
105
+ start:
106
+ line: 32
107
+ character: 13
108
+ end:
109
+ line: 32
110
+ character: 16
111
+ severity: ERROR
112
+ message: Type `(::String | nil)` does not have method `foo`
113
+ code: Ruby::NoMethod
114
+ - range:
115
+ start:
116
+ line: 35
117
+ character: 8
118
+ end:
119
+ line: 35
120
+ character: 11
121
+ severity: ERROR
122
+ message: Type `::String` does not have method `foo`
123
+ code: Ruby::NoMethod
124
+ - range:
125
+ start:
126
+ line: 38
127
+ character: 14
128
+ end:
129
+ line: 38
130
+ character: 17
131
+ severity: ERROR
132
+ message: Type `(::Regexp | nil)` does not have method `foo`
133
+ code: Ruby::NoMethod
134
+ - range:
135
+ start:
136
+ line: 41
137
+ character: 8
138
+ end:
139
+ line: 41
140
+ character: 11
141
+ severity: ERROR
142
+ message: Type `::Regexp` does not have method `foo`
143
+ code: Ruby::NoMethod
144
+ - range:
145
+ start:
146
+ line: 44
147
+ character: 8
148
+ end:
149
+ line: 44
150
+ character: 11
151
+ severity: ERROR
152
+ message: Type `::Regexp` does not have method `foo`
153
+ code: Ruby::NoMethod
154
+ - range:
155
+ start:
156
+ line: 47
157
+ character: 8
158
+ end:
159
+ line: 47
160
+ character: 11
161
+ severity: ERROR
162
+ message: Type `::Regexp` does not have method `foo`
163
+ code: Ruby::NoMethod
164
+ - range:
165
+ start:
166
+ line: 50
167
+ character: 8
168
+ end:
169
+ line: 50
170
+ character: 11
171
+ severity: ERROR
172
+ message: Type `::Regexp` does not have method `foo`
173
+ code: Ruby::NoMethod
174
+ - range:
175
+ start:
176
+ line: 53
177
+ character: 8
178
+ end:
179
+ line: 53
180
+ character: 11
181
+ severity: ERROR
182
+ message: Type `::Regexp` does not have method `foo`
183
+ code: Ruby::NoMethod
184
+ - range:
185
+ start:
186
+ line: 56
187
+ character: 8
188
+ end:
189
+ line: 56
190
+ character: 11
191
+ severity: ERROR
192
+ message: Type `::Regexp` does not have method `foo`
193
+ code: Ruby::NoMethod
194
+ - range:
195
+ start:
196
+ line: 59
197
+ character: 8
198
+ end:
199
+ line: 59
200
+ character: 11
201
+ severity: ERROR
202
+ message: Type `::Regexp` does not have method `foo`
203
+ code: Ruby::NoMethod
204
+ - range:
205
+ start:
206
+ line: 62
207
+ character: 12
208
+ end:
209
+ line: 62
210
+ character: 15
211
+ severity: ERROR
212
+ message: Type `bool` does not have method `foo`
213
+ code: Ruby::NoMethod
214
+ - range:
215
+ start:
216
+ line: 68
217
+ character: 11
218
+ end:
219
+ line: 68
220
+ character: 14
221
+ severity: ERROR
222
+ message: Type `bool` does not have method `foo`
223
+ code: Ruby::NoMethod
224
+ - range:
225
+ start:
226
+ line: 71
227
+ character: 11
228
+ end:
229
+ line: 71
230
+ character: 14
231
+ severity: ERROR
232
+ message: Type `::Encoding` does not have method `foo`
233
+ code: Ruby::NoMethod
234
+ - range:
235
+ start:
236
+ line: 74
237
+ character: 17
238
+ end:
239
+ line: 74
240
+ character: 20
241
+ severity: ERROR
242
+ message: Type `bool` does not have method `foo`
243
+ code: Ruby::NoMethod
244
+ - range:
245
+ start:
246
+ line: 77
247
+ character: 8
248
+ end:
249
+ line: 77
250
+ character: 11
251
+ severity: ERROR
252
+ message: Type `(::MatchData | nil)` does not have method `foo`
253
+ code: Ruby::NoMethod
254
+ - range:
255
+ start:
256
+ line: 80
257
+ character: 8
258
+ end:
259
+ line: 80
260
+ character: 11
261
+ severity: ERROR
262
+ message: Type `(::MatchData | nil)` does not have method `foo`
263
+ code: Ruby::NoMethod
264
+ - range:
265
+ start:
266
+ line: 83
267
+ character: 4
268
+ end:
269
+ line: 83
270
+ character: 7
271
+ severity: ERROR
272
+ message: Type `::MatchData` does not have method `foo`
273
+ code: Ruby::NoMethod
274
+ - range:
275
+ start:
276
+ line: 87
277
+ character: 4
278
+ end:
279
+ line: 87
280
+ character: 7
281
+ severity: ERROR
282
+ message: Type `::MatchData` does not have method `foo`
283
+ code: Ruby::NoMethod
284
+ - range:
285
+ start:
286
+ line: 91
287
+ character: 10
288
+ end:
289
+ line: 91
290
+ character: 13
291
+ severity: ERROR
292
+ message: Type `bool` does not have method `foo`
293
+ code: Ruby::NoMethod
294
+ - range:
295
+ start:
296
+ line: 94
297
+ character: 10
298
+ end:
299
+ line: 94
300
+ character: 13
301
+ severity: ERROR
302
+ message: Type `bool` does not have method `foo`
303
+ code: Ruby::NoMethod
304
+ - range:
305
+ start:
306
+ line: 97
307
+ character: 17
308
+ end:
309
+ line: 97
310
+ character: 20
311
+ severity: ERROR
312
+ message: Type `::Hash[::String, ::Array[::Integer]]` does not have method `foo`
313
+ code: Ruby::NoMethod
314
+ - range:
315
+ start:
316
+ line: 100
317
+ character: 8
318
+ end:
319
+ line: 100
320
+ character: 11
321
+ severity: ERROR
322
+ message: Type `::Array[::String]` does not have method `foo`
323
+ code: Ruby::NoMethod
324
+ - range:
325
+ start:
326
+ line: 103
327
+ character: 10
328
+ end:
329
+ line: 103
330
+ character: 13
331
+ severity: ERROR
332
+ message: Type `::Integer` does not have method `foo`
333
+ code: Ruby::NoMethod
334
+ - range:
335
+ start:
336
+ line: 106
337
+ character: 9
338
+ end:
339
+ line: 106
340
+ character: 12
341
+ severity: ERROR
342
+ message: Type `::String` does not have method `foo`
343
+ code: Ruby::NoMethod
344
+ - range:
345
+ start:
346
+ line: 109
347
+ character: 17
348
+ end:
349
+ line: 109
350
+ character: 20
351
+ severity: ERROR
352
+ message: Type `(::Integer | nil)` does not have method `foo`
353
+ code: Ruby::NoMethod
354
+ - file: b.rb
355
+ diagnostics:
356
+ - range:
357
+ start:
358
+ line: 3
359
+ character: 14
360
+ end:
361
+ line: 3
362
+ character: 17
363
+ severity: ERROR
364
+ message: Type `(::String | nil)` does not have method `foo`
365
+ code: Ruby::NoMethod
366
+ - range:
367
+ start:
368
+ line: 6
369
+ character: 14
370
+ end:
371
+ line: 6
372
+ character: 17
373
+ severity: ERROR
374
+ message: Type `(::String | nil)` does not have method `foo`
375
+ code: Ruby::NoMethod
376
+ - range:
377
+ start:
378
+ line: 9
379
+ character: 14
380
+ end:
381
+ line: 9
382
+ character: 17
383
+ severity: ERROR
384
+ message: Type `(::String | nil)` does not have method `foo`
385
+ code: Ruby::NoMethod
386
+ - range:
387
+ start:
388
+ line: 12
389
+ character: 14
390
+ end:
391
+ line: 12
392
+ character: 17
393
+ severity: ERROR
394
+ message: Type `::Array[(::String | nil)]` does not have method `foo`
395
+ code: Ruby::NoMethod
396
+ - range:
397
+ start:
398
+ line: 15
399
+ character: 14
400
+ end:
401
+ line: 15
402
+ character: 17
403
+ severity: ERROR
404
+ message: Type `::Array[(::String | nil)]` does not have method `foo`
405
+ code: Ruby::NoMethod
406
+ - range:
407
+ start:
408
+ line: 18
409
+ character: 10
410
+ end:
411
+ line: 18
412
+ character: 13
413
+ severity: ERROR
414
+ message: Type `(::Integer | nil)` does not have method `foo`
415
+ code: Ruby::NoMethod
416
+ - range:
417
+ start:
418
+ line: 21
419
+ character: 10
420
+ end:
421
+ line: 21
422
+ character: 13
423
+ severity: ERROR
424
+ message: Type `(::Integer | nil)` does not have method `foo`
425
+ code: Ruby::NoMethod
426
+ - range:
427
+ start:
428
+ line: 24
429
+ character: 10
430
+ end:
431
+ line: 24
432
+ character: 13
433
+ severity: ERROR
434
+ message: Type `(::Integer | nil)` does not have method `foo`
435
+ code: Ruby::NoMethod
436
+ - range:
437
+ start:
438
+ line: 27
439
+ character: 13
440
+ end:
441
+ line: 27
442
+ character: 16
443
+ severity: ERROR
444
+ message: Type `::Array[(::String | nil)]` does not have method `foo`
445
+ code: Ruby::NoMethod
446
+ - range:
447
+ start:
448
+ line: 30
449
+ character: 8
450
+ end:
451
+ line: 30
452
+ character: 11
453
+ severity: ERROR
454
+ message: Type `(::Integer | nil)` does not have method `foo`
455
+ code: Ruby::NoMethod
456
+ - range:
457
+ start:
458
+ line: 33
459
+ character: 8
460
+ end:
461
+ line: 33
462
+ character: 11
463
+ severity: ERROR
464
+ message: Type `(::Integer | nil)` does not have method `foo`
465
+ code: Ruby::NoMethod
466
+ - range:
467
+ start:
468
+ line: 36
469
+ character: 8
470
+ end:
471
+ line: 36
472
+ character: 11
473
+ severity: ERROR
474
+ message: Type `(::Integer | nil)` does not have method `foo`
475
+ code: Ruby::NoMethod
476
+ - range:
477
+ start:
478
+ line: 39
479
+ character: 11
480
+ end:
481
+ line: 39
482
+ character: 14
483
+ severity: ERROR
484
+ message: Type `::Integer` does not have method `foo`
485
+ code: Ruby::NoMethod
486
+ - range:
487
+ start:
488
+ line: 42
489
+ character: 19
490
+ end:
491
+ line: 42
492
+ character: 22
493
+ severity: ERROR
494
+ message: Type `::Hash[::String, (::String | nil)]` does not have method `foo`
495
+ code: Ruby::NoMethod
496
+ - range:
497
+ start:
498
+ line: 45
499
+ character: 10
500
+ end:
501
+ line: 45
502
+ character: 13
503
+ severity: ERROR
504
+ message: Type `::Array[::String]` does not have method `foo`
505
+ code: Ruby::NoMethod
506
+ - range:
507
+ start:
508
+ line: 48
509
+ character: 11
510
+ end:
511
+ line: 48
512
+ character: 14
513
+ severity: ERROR
514
+ message: Type `([::Integer, ::Integer] | [nil, nil])` does not have method `foo`
515
+ code: Ruby::NoMethod
516
+ - range:
517
+ start:
518
+ line: 51
519
+ character: 11
520
+ end:
521
+ line: 51
522
+ character: 14
523
+ severity: ERROR
524
+ message: Type `([::Integer, ::Integer] | [nil, nil])` does not have method `foo`
525
+ code: Ruby::NoMethod
526
+ - range:
527
+ start:
528
+ line: 54
529
+ character: 11
530
+ end:
531
+ line: 54
532
+ character: 14
533
+ severity: ERROR
534
+ message: Type `([::Integer, ::Integer] | [nil, nil])` does not have method `foo`
535
+ code: Ruby::NoMethod
536
+ - range:
537
+ start:
538
+ line: 57
539
+ character: 15
540
+ end:
541
+ line: 57
542
+ character: 18
543
+ severity: ERROR
544
+ message: Type `::String` does not have method `foo`
545
+ code: Ruby::NoMethod
546
+ - range:
547
+ start:
548
+ line: 60
549
+ character: 14
550
+ end:
551
+ line: 60
552
+ character: 17
553
+ severity: ERROR
554
+ message: Type `::String` does not have method `foo`
555
+ code: Ruby::NoMethod
556
+ - range:
557
+ start:
558
+ line: 63
559
+ character: 11
560
+ end:
561
+ line: 63
562
+ character: 14
563
+ severity: ERROR
564
+ message: Type `::Regexp` does not have method `foo`
565
+ code: Ruby::NoMethod
566
+ - range:
567
+ start:
568
+ line: 66
569
+ character: 9
570
+ end:
571
+ line: 66
572
+ character: 12
573
+ severity: ERROR
574
+ message: Type `::Integer` does not have method `foo`
575
+ code: Ruby::NoMethod
576
+ - range:
577
+ start:
578
+ line: 69
579
+ character: 11
580
+ end:
581
+ line: 69
582
+ character: 14
583
+ severity: ERROR
584
+ message: Type `::String` does not have method `foo`
585
+ code: Ruby::NoMethod
586
+ - range:
587
+ start:
588
+ line: 72
589
+ character: 9
590
+ end:
591
+ line: 72
592
+ character: 12
593
+ severity: ERROR
594
+ message: Type `::Array[(::String | nil)]` does not have method `foo`
595
+ code: Ruby::NoMethod
596
+ - range:
597
+ start:
598
+ line: 75
599
+ character: 14
600
+ end:
601
+ line: 75
602
+ character: 17
603
+ severity: ERROR
604
+ message: Type `::Array[(::String | nil)]` does not have method `foo`
605
+ code: Ruby::NoMethod
606
+ - range:
607
+ start:
608
+ line: 78
609
+ character: 14
610
+ end:
611
+ line: 78
612
+ character: 17
613
+ severity: ERROR
614
+ message: Type `::Array[(::String | nil)]` does not have method `foo`
615
+ code: Ruby::NoMethod