steep 1.4.0 → 1.5.0.pre.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +2 -0
- data/.vscode/steep-shared.code-snippets +41 -0
- data/CHANGELOG.md +37 -0
- data/Gemfile +2 -5
- data/Gemfile.lock +20 -17
- data/Gemfile.steep +1 -1
- data/Gemfile.steep.lock +6 -6
- data/Rakefile +198 -0
- data/Steepfile +3 -1
- data/lib/steep/ast/builtin.rb +9 -7
- data/lib/steep/ast/node/type_application.rb +13 -5
- data/lib/steep/ast/node/type_assertion.rb +28 -9
- data/lib/steep/ast/types/factory.rb +39 -7
- data/lib/steep/cli.rb +2 -1
- data/lib/steep/diagnostic/deprecated/else_on_exhaustive_case.rb +20 -0
- data/lib/steep/diagnostic/lsp_formatter.rb +3 -3
- data/lib/steep/diagnostic/ruby.rb +73 -12
- data/lib/steep/drivers/annotations.rb +1 -0
- data/lib/steep/drivers/check.rb +18 -13
- data/lib/steep/drivers/checkfile.rb +1 -1
- data/lib/steep/drivers/diagnostic_printer.rb +6 -4
- data/lib/steep/drivers/init.rb +2 -1
- data/lib/steep/drivers/print_project.rb +3 -1
- data/lib/steep/drivers/stats.rb +1 -1
- data/lib/steep/drivers/utils/driver_helper.rb +10 -8
- data/lib/steep/drivers/utils/jobs_option.rb +6 -1
- data/lib/steep/drivers/validate.rb +9 -5
- data/lib/steep/drivers/watch.rb +8 -3
- data/lib/steep/expectations.rb +144 -75
- data/lib/steep/index/signature_symbol_provider.rb +22 -13
- data/lib/steep/node_helper.rb +172 -0
- data/lib/steep/server/base_worker.rb +2 -1
- data/lib/steep/server/change_buffer.rb +17 -15
- data/lib/steep/server/interaction_worker.rb +20 -0
- data/lib/steep/server/lsp_formatter.rb +20 -1
- data/lib/steep/server/master.rb +51 -36
- data/lib/steep/server/type_check_worker.rb +18 -2
- data/lib/steep/server/worker_process.rb +19 -2
- data/lib/steep/services/completion_provider.rb +189 -3
- data/lib/steep/services/file_loader.rb +1 -1
- data/lib/steep/services/goto_service.rb +123 -27
- data/lib/steep/services/signature_help_provider.rb +1 -6
- data/lib/steep/signature/validator.rb +6 -1
- data/lib/steep/source.rb +165 -108
- data/lib/steep/subtyping/check.rb +5 -3
- data/lib/steep/subtyping/variable_variance.rb +11 -0
- data/lib/steep/thread_waiter.rb +35 -0
- data/lib/steep/type_construction.rb +416 -171
- data/lib/steep/type_inference/block_params.rb +50 -9
- data/lib/steep/type_inference/context.rb +4 -0
- data/lib/steep/type_inference/context_array.rb +6 -6
- data/lib/steep/type_inference/logic_type_interpreter.rb +202 -68
- data/lib/steep/typing.rb +5 -4
- data/lib/steep/version.rb +1 -1
- data/lib/steep.rb +21 -14
- data/sample/Steepfile +1 -0
- data/sig/shims/bundler.rbs +3 -0
- data/sig/shims/language-server_protocol.rbs +151 -10
- data/sig/shims/parser/nodes.rbs +210 -0
- data/sig/shims/parser.rbs +10 -0
- data/sig/steep/ast/builtin.rbs +2 -2
- data/sig/steep/ast/node/type_application.rbs +2 -2
- data/sig/steep/ast/node/type_assertion.rbs +8 -2
- data/sig/steep/ast/types/factory.rbs +28 -1
- data/sig/steep/diagnostic/deprecated/else_on_exhaustive_case.rbs +13 -0
- data/sig/steep/diagnostic/lsp_formatter.rbs +5 -2
- data/sig/steep/diagnostic/ruby.rbs +76 -6
- data/sig/steep/drivers/annotations.rbs +5 -5
- data/sig/steep/drivers/check.rbs +11 -11
- data/sig/steep/drivers/diagnostic_printer.rbs +9 -9
- data/sig/steep/drivers/init.rbs +6 -6
- data/sig/steep/drivers/print_project.rbs +4 -4
- data/sig/steep/drivers/utils/driver_helper.rbs +8 -6
- data/sig/steep/drivers/validate.rbs +4 -4
- data/sig/steep/drivers/watch.rbs +1 -1
- data/sig/steep/expectations.rbs +72 -0
- data/sig/steep/index/signature_symbol_provider.rbs +22 -10
- data/sig/steep/interface/block.rbs +2 -0
- data/sig/steep/interface/function.rbs +2 -2
- data/sig/steep/node_helper.rbs +56 -0
- data/sig/steep/path_helper.rbs +1 -1
- data/sig/steep/project/options.rbs +1 -1
- data/sig/steep/range_extension.rbs +2 -2
- data/sig/steep/server/master.rbs +16 -2
- data/sig/steep/server/type_check_worker.rbs +5 -1
- data/sig/steep/server/worker_process.rbs +5 -1
- data/sig/steep/services/completion_provider.rbs +31 -1
- data/sig/steep/services/goto_service.rbs +80 -19
- data/sig/steep/source.rbs +27 -4
- data/sig/steep/subtyping/variable_variance.rbs +9 -9
- data/sig/steep/thread_waiter.rbs +13 -0
- data/sig/steep/type_construction.rbs +26 -9
- data/sig/steep/type_inference/block_params.rbs +13 -1
- data/sig/steep/type_inference/context.rbs +5 -1
- data/sig/steep/type_inference/context_array.rbs +16 -15
- data/sig/steep/type_inference/logic_type_interpreter.rbs +36 -6
- data/sig/steep/type_inference/type_env_builder.rbs +4 -0
- data/sig/steep/typing.rbs +22 -20
- data/sig/steep.rbs +14 -13
- data/smoke/and/a.rb +1 -1
- data/smoke/and/test_expectations.yml +5 -7
- data/smoke/diagnostics/incompatible_annotation.rb +1 -1
- data/smoke/diagnostics/test_expectations.yml +2 -2
- data/smoke/enumerator/a.rb +0 -7
- data/smoke/enumerator/b.rb +0 -2
- data/smoke/enumerator/test_expectations.yml +17 -105
- data/smoke/lambda/a.rb +0 -5
- data/smoke/lambda/test_expectations.yml +0 -22
- data/smoke/type_case/test_expectations.yml +10 -0
- data/steep.gemspec +2 -2
- metadata +16 -9
data/sig/steep/typing.rbs
CHANGED
@@ -1,11 +1,13 @@
|
|
1
|
+
use Steep::TypeInference::Context, Steep::TypeInference::ContextArray, Steep::TypeInference::MethodCall
|
2
|
+
|
1
3
|
module Steep
|
2
4
|
class Typing
|
3
5
|
class UnknownNodeError < StandardError
|
4
|
-
attr_reader op:
|
6
|
+
attr_reader op: Symbol
|
5
7
|
|
6
|
-
attr_reader node:
|
8
|
+
attr_reader node: Parser::AST::Node
|
7
9
|
|
8
|
-
def initialize: (
|
10
|
+
def initialize: (Symbol op, node: Parser::AST::Node) -> void
|
9
11
|
end
|
10
12
|
|
11
13
|
attr_reader source: Source
|
@@ -16,43 +18,43 @@ module Steep
|
|
16
18
|
|
17
19
|
attr_reader parent: Typing?
|
18
20
|
|
19
|
-
attr_reader parent_last_update:
|
21
|
+
attr_reader parent_last_update: Integer?
|
20
22
|
|
21
|
-
attr_reader last_update:
|
23
|
+
attr_reader last_update: Integer
|
22
24
|
|
23
|
-
attr_reader should_update:
|
25
|
+
attr_reader should_update: bool
|
24
26
|
|
25
|
-
attr_reader contexts:
|
27
|
+
attr_reader contexts: ContextArray
|
26
28
|
|
27
|
-
attr_reader root_context:
|
29
|
+
attr_reader root_context: Context
|
28
30
|
|
29
|
-
attr_reader method_calls:
|
31
|
+
attr_reader method_calls: Hash[Parser::AST::Node, MethodCall::t]
|
30
32
|
|
31
|
-
attr_reader source_index:
|
33
|
+
attr_reader source_index: Index::SourceIndex
|
32
34
|
|
33
|
-
def initialize: (source:
|
35
|
+
def initialize: (source: Source, root_context: Context, ?parent: Typing?, ?parent_last_update: Integer?, ?contexts: ContextArray?, ?source_index: Index::SourceIndex?) -> void
|
34
36
|
|
35
37
|
def add_error: (Diagnostic::Ruby::Base error) -> void
|
36
38
|
|
37
|
-
def add_typing: (Parser::AST::Node node, AST::Types::t `type`, top) ->
|
39
|
+
def add_typing: (Parser::AST::Node node, AST::Types::t `type`, top) -> void
|
38
40
|
|
39
|
-
def add_call: (
|
41
|
+
def add_call: (Parser::AST::Node node, MethodCall::t call) -> void
|
40
42
|
|
41
|
-
def add_context: (Range[Integer] range, context:
|
43
|
+
def add_context: (Range[Integer] range, context: Context) -> void
|
42
44
|
|
43
|
-
def has_type?: (
|
45
|
+
def has_type?: (Parser::AST::Node node) -> bool
|
44
46
|
|
45
47
|
def type_of: (node: Parser::AST::Node) -> AST::Types::t
|
46
48
|
|
47
49
|
def call_of: (node: Parser::AST::Node) -> TypeInference::MethodCall::t
|
48
50
|
|
49
|
-
def add_context_for_node: (
|
51
|
+
def add_context_for_node: (Parser::AST::Node node, context: Context) -> void
|
50
52
|
|
51
|
-
def block_range: (
|
53
|
+
def block_range: (Parser::AST::Node node) -> Range[Integer]
|
52
54
|
|
53
|
-
def add_context_for_body: (
|
55
|
+
def add_context_for_body: (Parser::AST::Node node, context: Context) -> void
|
54
56
|
|
55
|
-
def context_at: (line: Integer, column: Integer) ->
|
57
|
+
def context_at: (line: Integer, column: Integer) -> Context
|
56
58
|
|
57
59
|
def dump: (untyped io) -> untyped
|
58
60
|
|
@@ -61,7 +63,7 @@ module Steep
|
|
61
63
|
def new_child: [A] (Range[Integer] range) { (Typing) -> A } -> A
|
62
64
|
| (Range[Integer]) -> Typing
|
63
65
|
|
64
|
-
def each_typing: () { (Parser::AST::Node, AST::Types::t) -> void } -> void
|
66
|
+
def each_typing: () { ([Parser::AST::Node, AST::Types::t]) -> void } -> void
|
65
67
|
|
66
68
|
# Push the current changes to the `#parent` typing
|
67
69
|
#
|
data/sig/steep.rbs
CHANGED
@@ -3,33 +3,34 @@ module Steep
|
|
3
3
|
|
4
4
|
def self.logger: () -> (Logger & ActiveSupport::TaggedLogging)
|
5
5
|
|
6
|
-
def self.new_logger: (
|
6
|
+
def self.new_logger: (IO output, Integer? prev_level) -> (Logger & ActiveSupport::TaggedLogging)
|
7
7
|
|
8
|
-
|
9
|
-
|
10
|
-
def self.log_output=: (untyped output) -> untyped
|
8
|
+
attr_accessor self.log_output: IO
|
11
9
|
|
12
10
|
def self.measure: [A] (String message, ?level: ::Symbol) { () -> A } -> A
|
13
11
|
|
14
|
-
def self.log_error: (
|
12
|
+
def self.log_error: (Exception exn, ?message: ::String) -> void
|
15
13
|
|
16
|
-
self.@logger: ActiveSupport::TaggedLogging?
|
14
|
+
self.@logger: (Logger & ActiveSupport::TaggedLogging)?
|
17
15
|
|
18
16
|
class Sampler
|
17
|
+
type sample = [String, Float]
|
18
|
+
@samples: Array[sample]
|
19
|
+
|
19
20
|
def initialize: () -> void
|
20
21
|
|
21
|
-
def sample: (
|
22
|
+
def sample: [A] (String message) { () -> A } -> A
|
22
23
|
|
23
|
-
def count: () ->
|
24
|
+
def count: () -> Integer
|
24
25
|
|
25
|
-
def total: () ->
|
26
|
+
def total: () -> Float
|
26
27
|
|
27
|
-
def slowests: (
|
28
|
+
def slowests: (Integer num) -> Array[sample]
|
28
29
|
|
29
|
-
def average: () ->
|
30
|
+
def average: () -> Float
|
30
31
|
|
31
|
-
def percentile: (
|
32
|
+
def percentile: (Integer p) -> Float
|
32
33
|
end
|
33
34
|
|
34
|
-
def self.measure2: (
|
35
|
+
def self.measure2: [A] (String message, ?level: ::Symbol) { (Sampler) -> A } -> A
|
35
36
|
end
|
data/smoke/and/a.rb
CHANGED
@@ -10,8 +10,8 @@
|
|
10
10
|
character: 17
|
11
11
|
severity: ERROR
|
12
12
|
message: |-
|
13
|
-
Cannot assign a value of type `(
|
14
|
-
(
|
13
|
+
Cannot assign a value of type `(nil | ::String)` to a variable of type `::String`
|
14
|
+
(nil | ::String) <: ::String
|
15
15
|
nil <: ::String
|
16
16
|
code: Ruby::IncompatibleAssignment
|
17
17
|
- range:
|
@@ -23,9 +23,7 @@
|
|
23
23
|
character: 17
|
24
24
|
severity: ERROR
|
25
25
|
message: |-
|
26
|
-
Cannot assign a value of type `(
|
27
|
-
(
|
28
|
-
|
29
|
-
::Object <: ::Integer
|
30
|
-
::BasicObject <: ::Integer
|
26
|
+
Cannot assign a value of type `(nil | ::String)` to a variable of type `::Integer`
|
27
|
+
(nil | ::String) <: ::Integer
|
28
|
+
nil <: ::Integer
|
31
29
|
code: Ruby::IncompatibleAssignment
|
@@ -130,8 +130,8 @@
|
|
130
130
|
line: 11
|
131
131
|
character: 26
|
132
132
|
severity: ERROR
|
133
|
-
message: The branch is unreachable
|
134
|
-
code: Ruby::
|
133
|
+
message: The branch is unreachable
|
134
|
+
code: Ruby::UnreachableBranch
|
135
135
|
- file: incompatible_annotation.rb
|
136
136
|
diagnostics:
|
137
137
|
- range:
|
data/smoke/enumerator/a.rb
CHANGED
data/smoke/enumerator/b.rb
CHANGED
@@ -4,98 +4,39 @@
|
|
4
4
|
- range:
|
5
5
|
start:
|
6
6
|
line: 5
|
7
|
-
character:
|
8
|
-
end:
|
9
|
-
line: 8
|
10
|
-
character: 3
|
11
|
-
severity: ERROR
|
12
|
-
message: |-
|
13
|
-
Cannot assign a value of type `::String` to a variable of type `::Hash[::Symbol, ::String]`
|
14
|
-
::String <: ::Hash[::Symbol, ::String]
|
15
|
-
::Object <: ::Hash[::Symbol, ::String]
|
16
|
-
::BasicObject <: ::Hash[::Symbol, ::String]
|
17
|
-
code: Ruby::IncompatibleAssignment
|
18
|
-
- range:
|
19
|
-
start:
|
20
|
-
line: 6
|
21
|
-
character: 2
|
7
|
+
character: 7
|
22
8
|
end:
|
23
9
|
line: 6
|
24
|
-
character: 10
|
25
|
-
severity: ERROR
|
26
|
-
message: |-
|
27
|
-
Cannot assign a value of type `::Integer` to a variable of type `::Hash[::Symbol, ::String]`
|
28
|
-
::Integer <: ::Hash[::Symbol, ::String]
|
29
|
-
::Numeric <: ::Hash[::Symbol, ::String]
|
30
|
-
::Object <: ::Hash[::Symbol, ::String]
|
31
|
-
::BasicObject <: ::Hash[::Symbol, ::String]
|
32
|
-
code: Ruby::IncompatibleAssignment
|
33
|
-
- range:
|
34
|
-
start:
|
35
|
-
line: 7
|
36
|
-
character: 2
|
37
|
-
end:
|
38
|
-
line: 7
|
39
|
-
character: 10
|
40
|
-
severity: ERROR
|
41
|
-
message: |-
|
42
|
-
Cannot assign a value of type `::String` to a variable of type `::Hash[::Symbol, ::String]`
|
43
|
-
::String <: ::Hash[::Symbol, ::String]
|
44
|
-
::Object <: ::Hash[::Symbol, ::String]
|
45
|
-
::BasicObject <: ::Hash[::Symbol, ::String]
|
46
|
-
code: Ruby::IncompatibleAssignment
|
47
|
-
- range:
|
48
|
-
start:
|
49
|
-
line: 10
|
50
|
-
character: 0
|
51
|
-
end:
|
52
|
-
line: 13
|
53
10
|
character: 3
|
54
11
|
severity: ERROR
|
55
12
|
message: |-
|
56
|
-
Cannot
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
code: Ruby::
|
13
|
+
Cannot find compatible overloading of method `with_object` of type `::Enumerator[::Integer, ::Array[::Integer]]`
|
14
|
+
Method types:
|
15
|
+
def with_object: [U] (U) { (::Integer, U) -> untyped } -> U
|
16
|
+
| [U] (U) -> ::Enumerator[[::Integer, U], U]
|
17
|
+
code: Ruby::UnresolvedOverloading
|
18
|
+
- file: b.rb
|
19
|
+
diagnostics:
|
61
20
|
- range:
|
62
21
|
start:
|
63
22
|
line: 11
|
64
|
-
character:
|
23
|
+
character: 8
|
65
24
|
end:
|
66
25
|
line: 11
|
67
|
-
character:
|
26
|
+
character: 14
|
68
27
|
severity: ERROR
|
69
28
|
message: |-
|
70
|
-
Cannot
|
71
|
-
::
|
72
|
-
::
|
73
|
-
::
|
74
|
-
|
75
|
-
code: Ruby::IncompatibleAssignment
|
29
|
+
Cannot pass a value of type `::String` as an argument of type `::Integer`
|
30
|
+
::String <: ::Integer
|
31
|
+
::Object <: ::Integer
|
32
|
+
::BasicObject <: ::Integer
|
33
|
+
code: Ruby::ArgumentTypeMismatch
|
76
34
|
- range:
|
77
35
|
start:
|
78
|
-
line:
|
79
|
-
character: 2
|
80
|
-
end:
|
81
|
-
line: 12
|
82
|
-
character: 10
|
83
|
-
severity: ERROR
|
84
|
-
message: |-
|
85
|
-
Cannot assign a value of type `::Integer` to a variable of type `::Hash[::Symbol, ::String]`
|
86
|
-
::Integer <: ::Hash[::Symbol, ::String]
|
87
|
-
::Numeric <: ::Hash[::Symbol, ::String]
|
88
|
-
::Object <: ::Hash[::Symbol, ::String]
|
89
|
-
::BasicObject <: ::Hash[::Symbol, ::String]
|
90
|
-
code: Ruby::IncompatibleAssignment
|
91
|
-
- file: b.rb
|
92
|
-
diagnostics:
|
93
|
-
- range:
|
94
|
-
start:
|
95
|
-
line: 6
|
36
|
+
line: 15
|
96
37
|
character: 4
|
97
38
|
end:
|
98
|
-
line:
|
39
|
+
line: 17
|
99
40
|
character: 3
|
100
41
|
severity: ERROR
|
101
42
|
message: |-
|
@@ -104,32 +45,3 @@
|
|
104
45
|
def with_object: [U] (U) { (::Integer, U) -> untyped } -> U
|
105
46
|
| [U] (U) -> ::Enumerator[[::Integer, U], U]
|
106
47
|
code: Ruby::UnresolvedOverloading
|
107
|
-
- range:
|
108
|
-
start:
|
109
|
-
line: 11
|
110
|
-
character: 0
|
111
|
-
end:
|
112
|
-
line: 14
|
113
|
-
character: 3
|
114
|
-
severity: ERROR
|
115
|
-
message: |-
|
116
|
-
Cannot assign a value of type `::Array[::String]` to a variable of type `::Array[::Integer]`
|
117
|
-
::Array[::String] <: ::Array[::Integer]
|
118
|
-
::String <: ::Integer
|
119
|
-
::Object <: ::Integer
|
120
|
-
::BasicObject <: ::Integer
|
121
|
-
code: Ruby::IncompatibleAssignment
|
122
|
-
- range:
|
123
|
-
start:
|
124
|
-
line: 17
|
125
|
-
character: 0
|
126
|
-
end:
|
127
|
-
line: 19
|
128
|
-
character: 3
|
129
|
-
severity: ERROR
|
130
|
-
message: |-
|
131
|
-
Cannot assign a value of type `::Array[untyped]` to a variable of type `::String`
|
132
|
-
::Array[untyped] <: ::String
|
133
|
-
::Object <: ::String
|
134
|
-
::BasicObject <: ::String
|
135
|
-
code: Ruby::IncompatibleAssignment
|
data/smoke/lambda/a.rb
CHANGED
@@ -15,25 +15,3 @@
|
|
15
15
|
::Object <: ::Integer
|
16
16
|
::BasicObject <: ::Integer
|
17
17
|
code: Ruby::IncompatibleAssignment
|
18
|
-
- range:
|
19
|
-
start:
|
20
|
-
line: 10
|
21
|
-
character: 0
|
22
|
-
end:
|
23
|
-
line: 12
|
24
|
-
character: 3
|
25
|
-
severity: ERROR
|
26
|
-
message: |-
|
27
|
-
Cannot assign a value of type `::Proc` to a variable of type `^(::Integer) -> ::Integer`
|
28
|
-
::Proc <: ^(::Integer) -> ::Integer
|
29
|
-
code: Ruby::IncompatibleAssignment
|
30
|
-
- range:
|
31
|
-
start:
|
32
|
-
line: 11
|
33
|
-
character: 4
|
34
|
-
end:
|
35
|
-
line: 11
|
36
|
-
character: 5
|
37
|
-
severity: ERROR
|
38
|
-
message: Type `nil` does not have method `+`
|
39
|
-
code: Ruby::NoMethod
|
@@ -11,6 +11,16 @@
|
|
11
11
|
severity: ERROR
|
12
12
|
message: Type `(::Integer | ::String)` does not have method `foobar`
|
13
13
|
code: Ruby::NoMethod
|
14
|
+
- range:
|
15
|
+
start:
|
16
|
+
line: 12
|
17
|
+
character: 2
|
18
|
+
end:
|
19
|
+
line: 12
|
20
|
+
character: 10
|
21
|
+
severity: ERROR
|
22
|
+
message: The branch is unreachable
|
23
|
+
code: Ruby::UnreachableBranch
|
14
24
|
- range:
|
15
25
|
start:
|
16
26
|
line: 12
|
data/steep.gemspec
CHANGED
@@ -33,8 +33,8 @@ Gem::Specification.new do |spec|
|
|
33
33
|
spec.add_runtime_dependency "rainbow", ">= 2.2.2", "< 4.0"
|
34
34
|
spec.add_runtime_dependency "listen", "~> 3.0"
|
35
35
|
spec.add_runtime_dependency "language_server-protocol", ">= 3.15", "< 4.0"
|
36
|
-
spec.add_runtime_dependency "rbs", ">=
|
37
|
-
spec.add_runtime_dependency "concurrent-ruby", ">= 1.
|
36
|
+
spec.add_runtime_dependency "rbs", ">= 3.1.0"
|
37
|
+
spec.add_runtime_dependency "concurrent-ruby", ">= 1.1.10"
|
38
38
|
spec.add_runtime_dependency "terminal-table", ">= 2", "< 4"
|
39
39
|
spec.add_runtime_dependency "securerandom", ">= 0.1"
|
40
40
|
spec.add_runtime_dependency "json", ">= 2.1.0"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: steep
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.5.0.pre.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Soutaro Matsumoto
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-07-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: parser
|
@@ -98,28 +98,28 @@ dependencies:
|
|
98
98
|
requirements:
|
99
99
|
- - ">="
|
100
100
|
- !ruby/object:Gem::Version
|
101
|
-
version:
|
101
|
+
version: 3.1.0
|
102
102
|
type: :runtime
|
103
103
|
prerelease: false
|
104
104
|
version_requirements: !ruby/object:Gem::Requirement
|
105
105
|
requirements:
|
106
106
|
- - ">="
|
107
107
|
- !ruby/object:Gem::Version
|
108
|
-
version:
|
108
|
+
version: 3.1.0
|
109
109
|
- !ruby/object:Gem::Dependency
|
110
110
|
name: concurrent-ruby
|
111
111
|
requirement: !ruby/object:Gem::Requirement
|
112
112
|
requirements:
|
113
113
|
- - ">="
|
114
114
|
- !ruby/object:Gem::Version
|
115
|
-
version: 1.
|
115
|
+
version: 1.1.10
|
116
116
|
type: :runtime
|
117
117
|
prerelease: false
|
118
118
|
version_requirements: !ruby/object:Gem::Requirement
|
119
119
|
requirements:
|
120
120
|
- - ">="
|
121
121
|
- !ruby/object:Gem::Version
|
122
|
-
version: 1.
|
122
|
+
version: 1.1.10
|
123
123
|
- !ruby/object:Gem::Dependency
|
124
124
|
name: terminal-table
|
125
125
|
requirement: !ruby/object:Gem::Requirement
|
@@ -237,6 +237,7 @@ files:
|
|
237
237
|
- ".github/workflows/ruby.yml"
|
238
238
|
- ".gitignore"
|
239
239
|
- ".gitmodules"
|
240
|
+
- ".vscode/steep-shared.code-snippets"
|
240
241
|
- CHANGELOG.md
|
241
242
|
- Gemfile
|
242
243
|
- Gemfile.lock
|
@@ -287,6 +288,7 @@ files:
|
|
287
288
|
- lib/steep/ast/types/var.rb
|
288
289
|
- lib/steep/ast/types/void.rb
|
289
290
|
- lib/steep/cli.rb
|
291
|
+
- lib/steep/diagnostic/deprecated/else_on_exhaustive_case.rb
|
290
292
|
- lib/steep/diagnostic/deprecated/unknown_constant_assigned.rb
|
291
293
|
- lib/steep/diagnostic/helper.rb
|
292
294
|
- lib/steep/diagnostic/lsp_formatter.rb
|
@@ -358,6 +360,7 @@ files:
|
|
358
360
|
- lib/steep/subtyping/relation.rb
|
359
361
|
- lib/steep/subtyping/result.rb
|
360
362
|
- lib/steep/subtyping/variable_variance.rb
|
363
|
+
- lib/steep/thread_waiter.rb
|
361
364
|
- lib/steep/type_construction.rb
|
362
365
|
- lib/steep/type_inference/block_params.rb
|
363
366
|
- lib/steep/type_inference/constant_env.rb
|
@@ -380,6 +383,7 @@ files:
|
|
380
383
|
- sample/lib/length.rb
|
381
384
|
- sample/sig/conference.rbs
|
382
385
|
- sample/sig/length.rbs
|
386
|
+
- sig/shims/bundler.rbs
|
383
387
|
- sig/shims/concurrent-ruby.rbs
|
384
388
|
- sig/shims/exception.rbs
|
385
389
|
- sig/shims/language-server_protocol.rbs
|
@@ -420,6 +424,7 @@ files:
|
|
420
424
|
- sig/steep/ast/types/var.rbs
|
421
425
|
- sig/steep/ast/types/void.rbs
|
422
426
|
- sig/steep/cli.rbs
|
427
|
+
- sig/steep/diagnostic/deprecated/else_on_exhaustive_case.rbs
|
423
428
|
- sig/steep/diagnostic/deprecated/unknown_constant_assigned.rbs
|
424
429
|
- sig/steep/diagnostic/helper.rbs
|
425
430
|
- sig/steep/diagnostic/lsp_formatter.rbs
|
@@ -440,6 +445,7 @@ files:
|
|
440
445
|
- sig/steep/drivers/watch.rbs
|
441
446
|
- sig/steep/drivers/worker.rbs
|
442
447
|
- sig/steep/equatable.rbs
|
448
|
+
- sig/steep/expectations.rbs
|
443
449
|
- sig/steep/index/rbs_index.rbs
|
444
450
|
- sig/steep/index/signature_symbol_provider.rbs
|
445
451
|
- sig/steep/index/source_index.rbs
|
@@ -488,6 +494,7 @@ files:
|
|
488
494
|
- sig/steep/subtyping/relation.rbs
|
489
495
|
- sig/steep/subtyping/result.rbs
|
490
496
|
- sig/steep/subtyping/variable_variance.rbs
|
497
|
+
- sig/steep/thread_waiter.rbs
|
491
498
|
- sig/steep/type_construction.rbs
|
492
499
|
- sig/steep/type_inference/block_params.rbs
|
493
500
|
- sig/steep/type_inference/constant_env.rbs
|
@@ -775,11 +782,11 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
775
782
|
version: 2.7.0
|
776
783
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
777
784
|
requirements:
|
778
|
-
- - "
|
785
|
+
- - ">"
|
779
786
|
- !ruby/object:Gem::Version
|
780
|
-
version:
|
787
|
+
version: 1.3.1
|
781
788
|
requirements: []
|
782
|
-
rubygems_version: 3.4.
|
789
|
+
rubygems_version: 3.4.10
|
783
790
|
signing_key:
|
784
791
|
specification_version: 4
|
785
792
|
summary: Gradual Typing for Ruby
|