steep 0.37.0 → 0.42.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/ruby.yml +1 -1
- data/CHANGELOG.md +34 -0
- data/Rakefile +5 -2
- data/bin/output_rebaseline.rb +34 -0
- data/bin/output_test.rb +53 -0
- data/lib/steep.rb +95 -14
- data/lib/steep/ast/types/bot.rb +1 -1
- data/lib/steep/ast/types/class.rb +4 -0
- data/lib/steep/ast/types/factory.rb +10 -0
- data/lib/steep/ast/types/logic.rb +16 -3
- data/lib/steep/ast/types/top.rb +1 -1
- data/lib/steep/cli.rb +31 -7
- data/lib/steep/diagnostic/helper.rb +17 -0
- data/lib/steep/diagnostic/lsp_formatter.rb +16 -0
- data/lib/steep/diagnostic/ruby.rb +619 -0
- data/lib/steep/diagnostic/signature.rb +357 -0
- data/lib/steep/drivers/annotations.rb +19 -28
- data/lib/steep/drivers/check.rb +182 -60
- data/lib/steep/drivers/diagnostic_printer.rb +99 -0
- data/lib/steep/drivers/langserver.rb +3 -8
- data/lib/steep/drivers/print_project.rb +10 -9
- data/lib/steep/drivers/stats.rb +124 -32
- data/lib/steep/drivers/trace_printer.rb +5 -1
- data/lib/steep/drivers/utils/jobs_count.rb +9 -0
- data/lib/steep/drivers/validate.rb +31 -13
- data/lib/steep/drivers/watch.rb +69 -48
- data/lib/steep/drivers/worker.rb +16 -8
- data/lib/steep/expectations.rb +159 -0
- data/lib/steep/index/rbs_index.rb +334 -0
- data/lib/steep/index/signature_symbol_provider.rb +162 -0
- data/lib/steep/index/source_index.rb +100 -0
- data/lib/steep/project.rb +0 -30
- data/lib/steep/project/dsl.rb +5 -3
- data/lib/steep/project/options.rb +4 -4
- data/lib/steep/project/pattern.rb +56 -0
- data/lib/steep/project/target.rb +9 -214
- data/lib/steep/range_extension.rb +29 -0
- data/lib/steep/server/base_worker.rb +43 -7
- data/lib/steep/server/change_buffer.rb +63 -0
- data/lib/steep/server/interaction_worker.rb +73 -56
- data/lib/steep/server/master.rb +245 -109
- data/lib/steep/server/type_check_worker.rb +122 -0
- data/lib/steep/server/worker_process.rb +17 -15
- data/lib/steep/{project → services}/completion_provider.rb +3 -3
- data/lib/steep/services/content_change.rb +61 -0
- data/lib/steep/services/file_loader.rb +48 -0
- data/lib/steep/{project → services}/hover_content.rb +14 -16
- data/lib/steep/services/path_assignment.rb +29 -0
- data/lib/steep/services/signature_service.rb +369 -0
- data/lib/steep/services/stats_calculator.rb +69 -0
- data/lib/steep/services/type_check_service.rb +342 -0
- data/lib/steep/signature/validator.rb +174 -32
- data/lib/steep/subtyping/check.rb +248 -47
- data/lib/steep/subtyping/constraints.rb +2 -2
- data/lib/steep/type_construction.rb +565 -295
- data/lib/steep/type_inference/constant_env.rb +5 -1
- data/lib/steep/type_inference/local_variable_type_env.rb +26 -12
- data/lib/steep/type_inference/logic_type_interpreter.rb +99 -26
- data/lib/steep/type_inference/type_env.rb +43 -17
- data/lib/steep/typing.rb +8 -2
- data/lib/steep/version.rb +1 -1
- data/smoke/alias/a.rb +0 -3
- data/smoke/alias/b.rb +0 -1
- data/smoke/alias/c.rb +0 -2
- data/smoke/alias/test_expectations.yml +96 -0
- data/smoke/and/a.rb +0 -3
- data/smoke/and/test_expectations.yml +31 -0
- data/smoke/array/a.rb +0 -3
- data/smoke/array/b.rb +0 -2
- data/smoke/array/c.rb +0 -1
- data/smoke/array/test_expectations.yml +103 -0
- data/smoke/block/a.rb +0 -2
- data/smoke/block/b.rb +0 -2
- data/smoke/block/d.rb +0 -4
- data/smoke/block/test_expectations.yml +125 -0
- data/smoke/case/a.rb +0 -3
- data/smoke/case/test_expectations.yml +47 -0
- data/smoke/class/a.rb +0 -3
- data/smoke/class/c.rb +0 -1
- data/smoke/class/f.rb +0 -1
- data/smoke/class/g.rb +0 -2
- data/smoke/class/i.rb +0 -2
- data/smoke/class/test_expectations.yml +120 -0
- data/smoke/const/a.rb +0 -3
- data/smoke/const/b.rb +7 -0
- data/smoke/const/b.rbs +5 -0
- data/smoke/const/test_expectations.yml +139 -0
- data/smoke/diagnostics-rbs-duplicated/Steepfile +5 -0
- data/smoke/diagnostics-rbs-duplicated/a.rbs +5 -0
- data/smoke/diagnostics-rbs-duplicated/test_expectations.yml +13 -0
- data/smoke/diagnostics-rbs/Steepfile +8 -0
- data/smoke/diagnostics-rbs/duplicated-method-definition.rbs +20 -0
- data/smoke/diagnostics-rbs/generic-parameter-mismatch.rbs +7 -0
- data/smoke/diagnostics-rbs/invalid-method-overload.rbs +3 -0
- data/smoke/diagnostics-rbs/invalid-type-application.rbs +7 -0
- data/smoke/diagnostics-rbs/invalid_variance_annotation.rbs +3 -0
- data/smoke/diagnostics-rbs/recursive-alias.rbs +5 -0
- data/smoke/diagnostics-rbs/recursive-class.rbs +8 -0
- data/smoke/diagnostics-rbs/superclass-mismatch.rbs +7 -0
- data/smoke/diagnostics-rbs/test_expectations.yml +231 -0
- data/smoke/diagnostics-rbs/unknown-method-alias.rbs +3 -0
- data/smoke/diagnostics-rbs/unknown-type-name-2.rbs +5 -0
- data/smoke/diagnostics-rbs/unknown-type-name.rbs +13 -0
- data/smoke/diagnostics/Steepfile +5 -0
- data/smoke/diagnostics/a.rbs +26 -0
- data/smoke/diagnostics/argument_type_mismatch.rb +1 -0
- data/smoke/diagnostics/block_body_type_mismatch.rb +1 -0
- data/smoke/diagnostics/block_type_mismatch.rb +3 -0
- data/smoke/diagnostics/break_type_mismatch.rb +1 -0
- data/smoke/diagnostics/else_on_exhaustive_case.rb +12 -0
- data/smoke/diagnostics/incompatible_annotation.rb +6 -0
- data/smoke/diagnostics/incompatible_argument.rb +1 -0
- data/smoke/diagnostics/incompatible_assignment.rb +8 -0
- data/smoke/diagnostics/method_arity_mismatch.rb +11 -0
- data/smoke/diagnostics/method_body_type_mismatch.rb +6 -0
- data/smoke/diagnostics/method_definition_missing.rb +2 -0
- data/smoke/diagnostics/method_return_type_annotation_mismatch.rb +7 -0
- data/smoke/diagnostics/missing_keyword.rb +1 -0
- data/smoke/diagnostics/no_method.rb +1 -0
- data/smoke/diagnostics/required_block_missing.rb +1 -0
- data/smoke/diagnostics/return_type_mismatch.rb +6 -0
- data/smoke/diagnostics/test_expectations.yml +477 -0
- data/smoke/diagnostics/unexpected_block_given.rb +1 -0
- data/smoke/diagnostics/unexpected_dynamic_method.rb +3 -0
- data/smoke/diagnostics/unexpected_jump.rb +4 -0
- data/smoke/diagnostics/unexpected_jump_value.rb +3 -0
- data/smoke/diagnostics/unexpected_keyword.rb +1 -0
- data/smoke/diagnostics/unexpected_splat.rb +1 -0
- data/smoke/diagnostics/unexpected_yield.rb +6 -0
- data/smoke/diagnostics/unknown_constant_assigned.rb +7 -0
- data/smoke/diagnostics/unresolved_overloading.rb +1 -0
- data/smoke/diagnostics/unsatisfiable_constraint.rb +7 -0
- data/smoke/diagnostics/unsupported_syntax.rb +2 -0
- data/smoke/dstr/a.rb +0 -1
- data/smoke/dstr/test_expectations.yml +13 -0
- data/smoke/ensure/a.rb +0 -4
- data/smoke/ensure/test_expectations.yml +62 -0
- data/smoke/enumerator/a.rb +0 -6
- data/smoke/enumerator/b.rb +0 -3
- data/smoke/enumerator/test_expectations.yml +135 -0
- data/smoke/extension/a.rb +0 -1
- data/smoke/extension/b.rb +0 -2
- data/smoke/extension/c.rb +0 -1
- data/smoke/extension/f.rb +2 -0
- data/smoke/extension/f.rbs +3 -0
- data/smoke/extension/test_expectations.yml +73 -0
- data/smoke/hash/b.rb +0 -1
- data/smoke/hash/c.rb +0 -3
- data/smoke/hash/d.rb +0 -1
- data/smoke/hash/e.rb +0 -1
- data/smoke/hash/test_expectations.yml +81 -0
- data/smoke/hello/hello.rb +0 -2
- data/smoke/hello/test_expectations.yml +25 -0
- data/smoke/if/a.rb +0 -2
- data/smoke/if/test_expectations.yml +34 -0
- data/smoke/implements/a.rb +0 -2
- data/smoke/implements/test_expectations.yml +23 -0
- data/smoke/initialize/test_expectations.yml +1 -0
- data/smoke/integer/a.rb +0 -7
- data/smoke/integer/test_expectations.yml +101 -0
- data/smoke/interface/a.rb +0 -2
- data/smoke/interface/test_expectations.yml +23 -0
- data/smoke/kwbegin/a.rb +0 -1
- data/smoke/kwbegin/test_expectations.yml +17 -0
- data/smoke/lambda/a.rb +1 -4
- data/smoke/lambda/test_expectations.yml +39 -0
- data/smoke/literal/a.rb +0 -5
- data/smoke/literal/b.rb +0 -2
- data/smoke/literal/test_expectations.yml +106 -0
- data/smoke/map/test_expectations.yml +1 -0
- data/smoke/method/a.rb +0 -5
- data/smoke/method/b.rb +0 -1
- data/smoke/method/test_expectations.yml +90 -0
- data/smoke/module/a.rb +0 -2
- data/smoke/module/b.rb +0 -2
- data/smoke/module/c.rb +0 -1
- data/smoke/module/d.rb +0 -1
- data/smoke/module/f.rb +0 -2
- data/smoke/module/test_expectations.yml +75 -0
- data/smoke/regexp/a.rb +0 -38
- data/smoke/regexp/b.rb +0 -26
- data/smoke/regexp/test_expectations.yml +615 -0
- data/smoke/regression/set_divide.rb +0 -4
- data/smoke/regression/test_expectations.yml +43 -0
- data/smoke/rescue/a.rb +0 -5
- data/smoke/rescue/test_expectations.yml +79 -0
- data/smoke/self/a.rb +0 -2
- data/smoke/self/test_expectations.yml +23 -0
- data/smoke/skip/skip.rb +0 -2
- data/smoke/skip/test_expectations.yml +23 -0
- data/smoke/stdout/test_expectations.yml +1 -0
- data/smoke/super/a.rb +0 -4
- data/smoke/super/test_expectations.yml +79 -0
- data/smoke/toplevel/a.rb +0 -1
- data/smoke/toplevel/test_expectations.yml +15 -0
- data/smoke/tsort/Steepfile +2 -0
- data/smoke/tsort/a.rb +0 -3
- data/smoke/tsort/test_expectations.yml +63 -0
- data/smoke/type_case/a.rb +0 -4
- data/smoke/type_case/test_expectations.yml +48 -0
- data/smoke/unexpected/Steepfile +5 -0
- data/smoke/unexpected/test_expectations.yml +25 -0
- data/smoke/unexpected/unexpected.rb +1 -0
- data/smoke/unexpected/unexpected.rbs +3 -0
- data/smoke/yield/a.rb +0 -3
- data/smoke/yield/b.rb +6 -0
- data/smoke/yield/test_expectations.yml +68 -0
- data/steep.gemspec +4 -3
- metadata +144 -29
- data/bin/smoke_runner.rb +0 -139
- data/lib/steep/drivers/signature_error_printer.rb +0 -25
- data/lib/steep/errors.rb +0 -565
- data/lib/steep/project/file_loader.rb +0 -68
- data/lib/steep/project/signature_file.rb +0 -33
- data/lib/steep/project/source_file.rb +0 -129
- data/lib/steep/server/code_worker.rb +0 -137
- data/lib/steep/server/signature_worker.rb +0 -152
- data/lib/steep/server/utils.rb +0 -69
- data/lib/steep/signature/errors.rb +0 -82
- data/lib/steep/type_assignability.rb +0 -367
data/smoke/type_case/a.rb
CHANGED
@@ -4,25 +4,21 @@ x = (_ = nil)
|
|
4
4
|
|
5
5
|
case x
|
6
6
|
when Integer, String
|
7
|
-
# !expects NoMethodError: type=(::Integer | ::String), method=foobar
|
8
7
|
x.foobar()
|
9
8
|
end
|
10
9
|
|
11
10
|
case x == (_ = 1)
|
12
11
|
when Integer
|
13
|
-
# !expects NoMethodError: type=(::Integer | ::String | ::Symbol), method=foobar
|
14
12
|
x.foobar
|
15
13
|
end
|
16
14
|
|
17
15
|
case x
|
18
16
|
when 1
|
19
|
-
# !expects NoMethodError: type=(::Integer | ::String | ::Symbol), method=foobar
|
20
17
|
x.foobar
|
21
18
|
end
|
22
19
|
|
23
20
|
case x
|
24
21
|
when String
|
25
|
-
# !expects@+2 IncompatibleAnnotation: var_name=x, ::Integer <: ::String
|
26
22
|
# @type var x: Integer
|
27
23
|
x + 1
|
28
24
|
end
|
@@ -0,0 +1,48 @@
|
|
1
|
+
---
|
2
|
+
- file: a.rb
|
3
|
+
diagnostics:
|
4
|
+
- range:
|
5
|
+
start:
|
6
|
+
line: 7
|
7
|
+
character: 4
|
8
|
+
end:
|
9
|
+
line: 7
|
10
|
+
character: 10
|
11
|
+
severity: ERROR
|
12
|
+
message: Type `(::Integer | ::String)` does not have method `foobar`
|
13
|
+
code: Ruby::NoMethod
|
14
|
+
- range:
|
15
|
+
start:
|
16
|
+
line: 12
|
17
|
+
character: 4
|
18
|
+
end:
|
19
|
+
line: 12
|
20
|
+
character: 10
|
21
|
+
severity: ERROR
|
22
|
+
message: Type `(::Integer | ::String | ::Symbol)` does not have method `foobar`
|
23
|
+
code: Ruby::NoMethod
|
24
|
+
- range:
|
25
|
+
start:
|
26
|
+
line: 17
|
27
|
+
character: 4
|
28
|
+
end:
|
29
|
+
line: 17
|
30
|
+
character: 10
|
31
|
+
severity: ERROR
|
32
|
+
message: Type `1` does not have method `foobar`
|
33
|
+
code: Ruby::NoMethod
|
34
|
+
- range:
|
35
|
+
start:
|
36
|
+
line: 23
|
37
|
+
character: 2
|
38
|
+
end:
|
39
|
+
line: 23
|
40
|
+
character: 7
|
41
|
+
severity: ERROR
|
42
|
+
message: |-
|
43
|
+
Type annotation about `x` is incompatible since ::Integer <: ::String doesn't hold
|
44
|
+
::Integer <: ::String
|
45
|
+
::Numeric <: ::String
|
46
|
+
::Object <: ::String
|
47
|
+
::BasicObject <: ::String
|
48
|
+
code: Ruby::IncompatibleAnnotation
|
@@ -0,0 +1,25 @@
|
|
1
|
+
---
|
2
|
+
- file: unexpected.rb
|
3
|
+
diagnostics:
|
4
|
+
- range:
|
5
|
+
start:
|
6
|
+
line: 1
|
7
|
+
character: 0
|
8
|
+
end:
|
9
|
+
line: 1
|
10
|
+
character: 14
|
11
|
+
severity: ERROR
|
12
|
+
message: 'UnexpectedError: unexpected.rbs:2:17...2:24: Could not find String1'
|
13
|
+
code: Ruby::UnexpectedError
|
14
|
+
- file: unexpected.rbs
|
15
|
+
diagnostics:
|
16
|
+
- range:
|
17
|
+
start:
|
18
|
+
line: 2
|
19
|
+
character: 17
|
20
|
+
end:
|
21
|
+
line: 2
|
22
|
+
character: 24
|
23
|
+
severity: ERROR
|
24
|
+
message: Cannot find type `String1`
|
25
|
+
code: RBS::UnknownTypeName
|
@@ -0,0 +1 @@
|
|
1
|
+
Unexpected.new.foo().bar
|
data/smoke/yield/a.rb
CHANGED
@@ -3,16 +3,13 @@ class A
|
|
3
3
|
def foo()
|
4
4
|
# @type var x: String
|
5
5
|
|
6
|
-
# !expects IncompatibleAssignment: lhs_type=::String, rhs_type=::Integer
|
7
6
|
x = yield(3)
|
8
7
|
|
9
|
-
# !expects IncompatibleAssignment: lhs_type=::Integer, rhs_type=::String
|
10
8
|
yield(x)
|
11
9
|
end
|
12
10
|
|
13
11
|
# @type method bar: () -> untyped
|
14
12
|
def bar()
|
15
|
-
# !expects UnexpectedYield
|
16
13
|
yield 4
|
17
14
|
end
|
18
15
|
end
|
data/smoke/yield/b.rb
ADDED
@@ -0,0 +1,68 @@
|
|
1
|
+
---
|
2
|
+
- file: a.rb
|
3
|
+
diagnostics:
|
4
|
+
- range:
|
5
|
+
start:
|
6
|
+
line: 6
|
7
|
+
character: 4
|
8
|
+
end:
|
9
|
+
line: 6
|
10
|
+
character: 16
|
11
|
+
severity: ERROR
|
12
|
+
message: |-
|
13
|
+
Cannot assign a value of type `::Integer` to a variable of type `::String`
|
14
|
+
::Integer <: ::String
|
15
|
+
::Numeric <: ::String
|
16
|
+
::Object <: ::String
|
17
|
+
::BasicObject <: ::String
|
18
|
+
code: Ruby::IncompatibleAssignment
|
19
|
+
- range:
|
20
|
+
start:
|
21
|
+
line: 8
|
22
|
+
character: 10
|
23
|
+
end:
|
24
|
+
line: 8
|
25
|
+
character: 11
|
26
|
+
severity: ERROR
|
27
|
+
message: |-
|
28
|
+
Cannot assign a value of type `::String` to an expression of type `::Integer`
|
29
|
+
::String <: ::Integer
|
30
|
+
::Object <: ::Integer
|
31
|
+
::BasicObject <: ::Integer
|
32
|
+
code: Ruby::IncompatibleAssignment
|
33
|
+
- range:
|
34
|
+
start:
|
35
|
+
line: 13
|
36
|
+
character: 4
|
37
|
+
end:
|
38
|
+
line: 13
|
39
|
+
character: 11
|
40
|
+
severity: ERROR
|
41
|
+
message: Cannot detect the type of the expression
|
42
|
+
code: Ruby::FallbackAny
|
43
|
+
- range:
|
44
|
+
start:
|
45
|
+
line: 13
|
46
|
+
character: 4
|
47
|
+
end:
|
48
|
+
line: 13
|
49
|
+
character: 11
|
50
|
+
severity: ERROR
|
51
|
+
message: No block given for `yield`
|
52
|
+
code: Ruby::UnexpectedYield
|
53
|
+
- file: b.rb
|
54
|
+
diagnostics:
|
55
|
+
- range:
|
56
|
+
start:
|
57
|
+
line: 4
|
58
|
+
character: 10
|
59
|
+
end:
|
60
|
+
line: 4
|
61
|
+
character: 12
|
62
|
+
severity: ERROR
|
63
|
+
message: |-
|
64
|
+
Cannot assign a value of type `::String` to an expression of type `::Integer`
|
65
|
+
::String <: ::Integer
|
66
|
+
::Object <: ::Integer
|
67
|
+
::BasicObject <: ::Integer
|
68
|
+
code: Ruby::IncompatibleAssignment
|
data/steep.gemspec
CHANGED
@@ -28,11 +28,12 @@ Gem::Specification.new do |spec|
|
|
28
28
|
|
29
29
|
spec.required_ruby_version = '>= 2.6.0'
|
30
30
|
|
31
|
-
spec.add_runtime_dependency "parser", "
|
32
|
-
spec.add_runtime_dependency "ast_utils", "
|
31
|
+
spec.add_runtime_dependency "parser", ">= 2.7"
|
32
|
+
spec.add_runtime_dependency "ast_utils", ">= 0.4.0"
|
33
33
|
spec.add_runtime_dependency "activesupport", ">= 5.1"
|
34
34
|
spec.add_runtime_dependency "rainbow", ">= 2.2.2", "< 4.0"
|
35
35
|
spec.add_runtime_dependency "listen", "~> 3.0"
|
36
36
|
spec.add_runtime_dependency "language_server-protocol", "~> 3.15.0.1"
|
37
|
-
spec.add_runtime_dependency "rbs", "
|
37
|
+
spec.add_runtime_dependency "rbs", "~> 1.1.0"
|
38
|
+
spec.add_runtime_dependency "parallel", ">= 1.0.0"
|
38
39
|
end
|
metadata
CHANGED
@@ -1,43 +1,43 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: steep
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.42.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Soutaro Matsumoto
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-03-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: parser
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 2.7
|
19
|
+
version: '2.7'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - "
|
24
|
+
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 2.7
|
26
|
+
version: '2.7'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: ast_utils
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 0.
|
33
|
+
version: 0.4.0
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - "
|
38
|
+
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 0.
|
40
|
+
version: 0.4.0
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: activesupport
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -102,18 +102,32 @@ dependencies:
|
|
102
102
|
version: 3.15.0.1
|
103
103
|
- !ruby/object:Gem::Dependency
|
104
104
|
name: rbs
|
105
|
+
requirement: !ruby/object:Gem::Requirement
|
106
|
+
requirements:
|
107
|
+
- - "~>"
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: 1.1.0
|
110
|
+
type: :runtime
|
111
|
+
prerelease: false
|
112
|
+
version_requirements: !ruby/object:Gem::Requirement
|
113
|
+
requirements:
|
114
|
+
- - "~>"
|
115
|
+
- !ruby/object:Gem::Version
|
116
|
+
version: 1.1.0
|
117
|
+
- !ruby/object:Gem::Dependency
|
118
|
+
name: parallel
|
105
119
|
requirement: !ruby/object:Gem::Requirement
|
106
120
|
requirements:
|
107
121
|
- - ">="
|
108
122
|
- !ruby/object:Gem::Version
|
109
|
-
version: 0.
|
123
|
+
version: 1.0.0
|
110
124
|
type: :runtime
|
111
125
|
prerelease: false
|
112
126
|
version_requirements: !ruby/object:Gem::Requirement
|
113
127
|
requirements:
|
114
128
|
- - ">="
|
115
129
|
- !ruby/object:Gem::Version
|
116
|
-
version: 0.
|
130
|
+
version: 1.0.0
|
117
131
|
description: Gradual Typing for Ruby
|
118
132
|
email:
|
119
133
|
- matsumoto@soutaro.com
|
@@ -132,8 +146,9 @@ files:
|
|
132
146
|
- Rakefile
|
133
147
|
- Steepfile
|
134
148
|
- bin/console
|
149
|
+
- bin/output_rebaseline.rb
|
150
|
+
- bin/output_test.rb
|
135
151
|
- bin/setup
|
136
|
-
- bin/smoke_runner.rb
|
137
152
|
- bin/steep-prof
|
138
153
|
- exe/steep
|
139
154
|
- lib/steep.rb
|
@@ -164,20 +179,28 @@ files:
|
|
164
179
|
- lib/steep/ast/types/var.rb
|
165
180
|
- lib/steep/ast/types/void.rb
|
166
181
|
- lib/steep/cli.rb
|
182
|
+
- lib/steep/diagnostic/helper.rb
|
183
|
+
- lib/steep/diagnostic/lsp_formatter.rb
|
184
|
+
- lib/steep/diagnostic/ruby.rb
|
185
|
+
- lib/steep/diagnostic/signature.rb
|
167
186
|
- lib/steep/drivers/annotations.rb
|
168
187
|
- lib/steep/drivers/check.rb
|
188
|
+
- lib/steep/drivers/diagnostic_printer.rb
|
169
189
|
- lib/steep/drivers/init.rb
|
170
190
|
- lib/steep/drivers/langserver.rb
|
171
191
|
- lib/steep/drivers/print_project.rb
|
172
|
-
- lib/steep/drivers/signature_error_printer.rb
|
173
192
|
- lib/steep/drivers/stats.rb
|
174
193
|
- lib/steep/drivers/trace_printer.rb
|
175
194
|
- lib/steep/drivers/utils/driver_helper.rb
|
195
|
+
- lib/steep/drivers/utils/jobs_count.rb
|
176
196
|
- lib/steep/drivers/validate.rb
|
177
197
|
- lib/steep/drivers/vendor.rb
|
178
198
|
- lib/steep/drivers/watch.rb
|
179
199
|
- lib/steep/drivers/worker.rb
|
180
|
-
- lib/steep/
|
200
|
+
- lib/steep/expectations.rb
|
201
|
+
- lib/steep/index/rbs_index.rb
|
202
|
+
- lib/steep/index/signature_symbol_provider.rb
|
203
|
+
- lib/steep/index/source_index.rb
|
181
204
|
- lib/steep/interface/block.rb
|
182
205
|
- lib/steep/interface/function.rb
|
183
206
|
- lib/steep/interface/interface.rb
|
@@ -187,22 +210,25 @@ files:
|
|
187
210
|
- lib/steep/method_name.rb
|
188
211
|
- lib/steep/module_helper.rb
|
189
212
|
- lib/steep/project.rb
|
190
|
-
- lib/steep/project/completion_provider.rb
|
191
213
|
- lib/steep/project/dsl.rb
|
192
|
-
- lib/steep/project/file_loader.rb
|
193
|
-
- lib/steep/project/hover_content.rb
|
194
214
|
- lib/steep/project/options.rb
|
195
|
-
- lib/steep/project/
|
196
|
-
- lib/steep/project/source_file.rb
|
215
|
+
- lib/steep/project/pattern.rb
|
197
216
|
- lib/steep/project/target.rb
|
217
|
+
- lib/steep/range_extension.rb
|
198
218
|
- lib/steep/server/base_worker.rb
|
199
|
-
- lib/steep/server/
|
219
|
+
- lib/steep/server/change_buffer.rb
|
200
220
|
- lib/steep/server/interaction_worker.rb
|
201
221
|
- lib/steep/server/master.rb
|
202
|
-
- lib/steep/server/
|
203
|
-
- lib/steep/server/utils.rb
|
222
|
+
- lib/steep/server/type_check_worker.rb
|
204
223
|
- lib/steep/server/worker_process.rb
|
205
|
-
- lib/steep/
|
224
|
+
- lib/steep/services/completion_provider.rb
|
225
|
+
- lib/steep/services/content_change.rb
|
226
|
+
- lib/steep/services/file_loader.rb
|
227
|
+
- lib/steep/services/hover_content.rb
|
228
|
+
- lib/steep/services/path_assignment.rb
|
229
|
+
- lib/steep/services/signature_service.rb
|
230
|
+
- lib/steep/services/stats_calculator.rb
|
231
|
+
- lib/steep/services/type_check_service.rb
|
206
232
|
- lib/steep/signature/validator.rb
|
207
233
|
- lib/steep/source.rb
|
208
234
|
- lib/steep/subtyping/check.rb
|
@@ -212,7 +238,6 @@ files:
|
|
212
238
|
- lib/steep/subtyping/trace.rb
|
213
239
|
- lib/steep/subtyping/variable_occurrence.rb
|
214
240
|
- lib/steep/subtyping/variable_variance.rb
|
215
|
-
- lib/steep/type_assignability.rb
|
216
241
|
- lib/steep/type_construction.rb
|
217
242
|
- lib/steep/type_inference/block_params.rb
|
218
243
|
- lib/steep/type_inference/constant_env.rb
|
@@ -236,12 +261,15 @@ files:
|
|
236
261
|
- smoke/alias/a.rbs
|
237
262
|
- smoke/alias/b.rb
|
238
263
|
- smoke/alias/c.rb
|
264
|
+
- smoke/alias/test_expectations.yml
|
239
265
|
- smoke/and/Steepfile
|
240
266
|
- smoke/and/a.rb
|
267
|
+
- smoke/and/test_expectations.yml
|
241
268
|
- smoke/array/Steepfile
|
242
269
|
- smoke/array/a.rb
|
243
270
|
- smoke/array/b.rb
|
244
271
|
- smoke/array/c.rb
|
272
|
+
- smoke/array/test_expectations.yml
|
245
273
|
- smoke/block/Steepfile
|
246
274
|
- smoke/block/a.rb
|
247
275
|
- smoke/block/a.rbs
|
@@ -249,8 +277,10 @@ files:
|
|
249
277
|
- smoke/block/c.rb
|
250
278
|
- smoke/block/c.rbs
|
251
279
|
- smoke/block/d.rb
|
280
|
+
- smoke/block/test_expectations.yml
|
252
281
|
- smoke/case/Steepfile
|
253
282
|
- smoke/case/a.rb
|
283
|
+
- smoke/case/test_expectations.yml
|
254
284
|
- smoke/class/Steepfile
|
255
285
|
- smoke/class/a.rb
|
256
286
|
- smoke/class/a.rbs
|
@@ -262,15 +292,68 @@ files:
|
|
262
292
|
- smoke/class/h.rbs
|
263
293
|
- smoke/class/i.rb
|
264
294
|
- smoke/class/i.rbs
|
295
|
+
- smoke/class/test_expectations.yml
|
265
296
|
- smoke/const/Steepfile
|
266
297
|
- smoke/const/a.rb
|
298
|
+
- smoke/const/b.rb
|
299
|
+
- smoke/const/b.rbs
|
300
|
+
- smoke/const/test_expectations.yml
|
301
|
+
- smoke/diagnostics-rbs-duplicated/Steepfile
|
302
|
+
- smoke/diagnostics-rbs-duplicated/a.rbs
|
303
|
+
- smoke/diagnostics-rbs-duplicated/test_expectations.yml
|
304
|
+
- smoke/diagnostics-rbs/Steepfile
|
305
|
+
- smoke/diagnostics-rbs/duplicated-method-definition.rbs
|
306
|
+
- smoke/diagnostics-rbs/generic-parameter-mismatch.rbs
|
307
|
+
- smoke/diagnostics-rbs/invalid-method-overload.rbs
|
308
|
+
- smoke/diagnostics-rbs/invalid-type-application.rbs
|
309
|
+
- smoke/diagnostics-rbs/invalid_variance_annotation.rbs
|
310
|
+
- smoke/diagnostics-rbs/recursive-alias.rbs
|
311
|
+
- smoke/diagnostics-rbs/recursive-class.rbs
|
312
|
+
- smoke/diagnostics-rbs/superclass-mismatch.rbs
|
313
|
+
- smoke/diagnostics-rbs/test_expectations.yml
|
314
|
+
- smoke/diagnostics-rbs/unknown-method-alias.rbs
|
315
|
+
- smoke/diagnostics-rbs/unknown-type-name-2.rbs
|
316
|
+
- smoke/diagnostics-rbs/unknown-type-name.rbs
|
317
|
+
- smoke/diagnostics/Steepfile
|
318
|
+
- smoke/diagnostics/a.rbs
|
319
|
+
- smoke/diagnostics/argument_type_mismatch.rb
|
320
|
+
- smoke/diagnostics/block_body_type_mismatch.rb
|
321
|
+
- smoke/diagnostics/block_type_mismatch.rb
|
322
|
+
- smoke/diagnostics/break_type_mismatch.rb
|
323
|
+
- smoke/diagnostics/else_on_exhaustive_case.rb
|
324
|
+
- smoke/diagnostics/incompatible_annotation.rb
|
325
|
+
- smoke/diagnostics/incompatible_argument.rb
|
326
|
+
- smoke/diagnostics/incompatible_assignment.rb
|
327
|
+
- smoke/diagnostics/method_arity_mismatch.rb
|
328
|
+
- smoke/diagnostics/method_body_type_mismatch.rb
|
329
|
+
- smoke/diagnostics/method_definition_missing.rb
|
330
|
+
- smoke/diagnostics/method_return_type_annotation_mismatch.rb
|
331
|
+
- smoke/diagnostics/missing_keyword.rb
|
332
|
+
- smoke/diagnostics/no_method.rb
|
333
|
+
- smoke/diagnostics/required_block_missing.rb
|
334
|
+
- smoke/diagnostics/return_type_mismatch.rb
|
335
|
+
- smoke/diagnostics/test_expectations.yml
|
336
|
+
- smoke/diagnostics/unexpected_block_given.rb
|
337
|
+
- smoke/diagnostics/unexpected_dynamic_method.rb
|
338
|
+
- smoke/diagnostics/unexpected_jump.rb
|
339
|
+
- smoke/diagnostics/unexpected_jump_value.rb
|
340
|
+
- smoke/diagnostics/unexpected_keyword.rb
|
341
|
+
- smoke/diagnostics/unexpected_splat.rb
|
342
|
+
- smoke/diagnostics/unexpected_yield.rb
|
343
|
+
- smoke/diagnostics/unknown_constant_assigned.rb
|
344
|
+
- smoke/diagnostics/unresolved_overloading.rb
|
345
|
+
- smoke/diagnostics/unsatisfiable_constraint.rb
|
346
|
+
- smoke/diagnostics/unsupported_syntax.rb
|
267
347
|
- smoke/dstr/Steepfile
|
268
348
|
- smoke/dstr/a.rb
|
349
|
+
- smoke/dstr/test_expectations.yml
|
269
350
|
- smoke/ensure/Steepfile
|
270
351
|
- smoke/ensure/a.rb
|
352
|
+
- smoke/ensure/test_expectations.yml
|
271
353
|
- smoke/enumerator/Steepfile
|
272
354
|
- smoke/enumerator/a.rb
|
273
355
|
- smoke/enumerator/b.rb
|
356
|
+
- smoke/enumerator/test_expectations.yml
|
274
357
|
- smoke/extension/Steepfile
|
275
358
|
- smoke/extension/a.rb
|
276
359
|
- smoke/extension/a.rbs
|
@@ -279,6 +362,9 @@ files:
|
|
279
362
|
- smoke/extension/d.rb
|
280
363
|
- smoke/extension/e.rb
|
281
364
|
- smoke/extension/e.rbs
|
365
|
+
- smoke/extension/f.rb
|
366
|
+
- smoke/extension/f.rbs
|
367
|
+
- smoke/extension/test_expectations.yml
|
282
368
|
- smoke/hash/Steepfile
|
283
369
|
- smoke/hash/a.rb
|
284
370
|
- smoke/hash/a.rbs
|
@@ -288,32 +374,43 @@ files:
|
|
288
374
|
- smoke/hash/e.rb
|
289
375
|
- smoke/hash/e.rbs
|
290
376
|
- smoke/hash/f.rb
|
377
|
+
- smoke/hash/test_expectations.yml
|
291
378
|
- smoke/hello/Steepfile
|
292
379
|
- smoke/hello/hello.rb
|
293
380
|
- smoke/hello/hello.rbs
|
381
|
+
- smoke/hello/test_expectations.yml
|
294
382
|
- smoke/if/Steepfile
|
295
383
|
- smoke/if/a.rb
|
384
|
+
- smoke/if/test_expectations.yml
|
296
385
|
- smoke/implements/Steepfile
|
297
386
|
- smoke/implements/a.rb
|
298
387
|
- smoke/implements/a.rbs
|
388
|
+
- smoke/implements/test_expectations.yml
|
299
389
|
- smoke/initialize/Steepfile
|
300
390
|
- smoke/initialize/a.rb
|
301
391
|
- smoke/initialize/a.rbs
|
392
|
+
- smoke/initialize/test_expectations.yml
|
302
393
|
- smoke/integer/Steepfile
|
303
394
|
- smoke/integer/a.rb
|
395
|
+
- smoke/integer/test_expectations.yml
|
304
396
|
- smoke/interface/Steepfile
|
305
397
|
- smoke/interface/a.rb
|
306
398
|
- smoke/interface/a.rbs
|
399
|
+
- smoke/interface/test_expectations.yml
|
307
400
|
- smoke/kwbegin/Steepfile
|
308
401
|
- smoke/kwbegin/a.rb
|
402
|
+
- smoke/kwbegin/test_expectations.yml
|
309
403
|
- smoke/lambda/Steepfile
|
310
404
|
- smoke/lambda/a.rb
|
405
|
+
- smoke/lambda/test_expectations.yml
|
311
406
|
- smoke/literal/Steepfile
|
312
407
|
- smoke/literal/a.rb
|
313
408
|
- smoke/literal/b.rb
|
314
409
|
- smoke/literal/literal_methods.rbs
|
410
|
+
- smoke/literal/test_expectations.yml
|
315
411
|
- smoke/map/Steepfile
|
316
412
|
- smoke/map/a.rb
|
413
|
+
- smoke/map/test_expectations.yml
|
317
414
|
- smoke/method/Steepfile
|
318
415
|
- smoke/method/a.rb
|
319
416
|
- smoke/method/a.rbs
|
@@ -321,6 +418,7 @@ files:
|
|
321
418
|
- smoke/method/c.rb
|
322
419
|
- smoke/method/d.rb
|
323
420
|
- smoke/method/d.rbs
|
421
|
+
- smoke/method/test_expectations.yml
|
324
422
|
- smoke/module/Steepfile
|
325
423
|
- smoke/module/a.rb
|
326
424
|
- smoke/module/a.rbs
|
@@ -329,9 +427,11 @@ files:
|
|
329
427
|
- smoke/module/d.rb
|
330
428
|
- smoke/module/e.rb
|
331
429
|
- smoke/module/f.rb
|
430
|
+
- smoke/module/test_expectations.yml
|
332
431
|
- smoke/regexp/Steepfile
|
333
432
|
- smoke/regexp/a.rb
|
334
433
|
- smoke/regexp/b.rb
|
434
|
+
- smoke/regexp/test_expectations.yml
|
335
435
|
- smoke/regression/Steepfile
|
336
436
|
- smoke/regression/array.rb
|
337
437
|
- smoke/regression/fun.rb
|
@@ -341,28 +441,43 @@ files:
|
|
341
441
|
- smoke/regression/poly_new.rbs
|
342
442
|
- smoke/regression/range.rb
|
343
443
|
- smoke/regression/set_divide.rb
|
444
|
+
- smoke/regression/test_expectations.yml
|
344
445
|
- smoke/rescue/Steepfile
|
345
446
|
- smoke/rescue/a.rb
|
447
|
+
- smoke/rescue/test_expectations.yml
|
346
448
|
- smoke/self/Steepfile
|
347
449
|
- smoke/self/a.rb
|
348
450
|
- smoke/self/a.rbs
|
451
|
+
- smoke/self/test_expectations.yml
|
349
452
|
- smoke/skip/Steepfile
|
350
453
|
- smoke/skip/skip.rb
|
454
|
+
- smoke/skip/test_expectations.yml
|
351
455
|
- smoke/stdout/Steepfile
|
352
456
|
- smoke/stdout/a.rb
|
353
457
|
- smoke/stdout/a.rbs
|
458
|
+
- smoke/stdout/test_expectations.yml
|
354
459
|
- smoke/super/Steepfile
|
355
460
|
- smoke/super/a.rb
|
356
461
|
- smoke/super/a.rbs
|
462
|
+
- smoke/super/test_expectations.yml
|
357
463
|
- smoke/toplevel/Steepfile
|
358
464
|
- smoke/toplevel/a.rb
|
359
465
|
- smoke/toplevel/a.rbs
|
466
|
+
- smoke/toplevel/test_expectations.yml
|
360
467
|
- smoke/tsort/Steepfile
|
361
468
|
- smoke/tsort/a.rb
|
469
|
+
- smoke/tsort/test_expectations.yml
|
362
470
|
- smoke/type_case/Steepfile
|
363
471
|
- smoke/type_case/a.rb
|
472
|
+
- smoke/type_case/test_expectations.yml
|
473
|
+
- smoke/unexpected/Steepfile
|
474
|
+
- smoke/unexpected/test_expectations.yml
|
475
|
+
- smoke/unexpected/unexpected.rb
|
476
|
+
- smoke/unexpected/unexpected.rbs
|
364
477
|
- smoke/yield/Steepfile
|
365
478
|
- smoke/yield/a.rb
|
479
|
+
- smoke/yield/b.rb
|
480
|
+
- smoke/yield/test_expectations.yml
|
366
481
|
- steep.gemspec
|
367
482
|
homepage: https://github.com/soutaro/steep
|
368
483
|
licenses:
|
@@ -371,7 +486,7 @@ metadata:
|
|
371
486
|
homepage_uri: https://github.com/soutaro/steep
|
372
487
|
source_code_uri: https://github.com/soutaro/steep
|
373
488
|
changelog_uri: https://github.com/soutaro/steep/blob/master/CHANGELOG.md
|
374
|
-
post_install_message:
|
489
|
+
post_install_message:
|
375
490
|
rdoc_options: []
|
376
491
|
require_paths:
|
377
492
|
- lib
|
@@ -386,8 +501,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
386
501
|
- !ruby/object:Gem::Version
|
387
502
|
version: '0'
|
388
503
|
requirements: []
|
389
|
-
rubygems_version: 3.
|
390
|
-
signing_key:
|
504
|
+
rubygems_version: 3.2.3
|
505
|
+
signing_key:
|
391
506
|
specification_version: 4
|
392
507
|
summary: Gradual Typing for Ruby
|
393
508
|
test_files: []
|