steep 1.7.0.dev.2 → 1.7.0.dev.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +17 -19
- data/doc/narrowing.md +1 -1
- data/doc/shape.md +176 -0
- data/gemfile_steep/Gemfile.lock +10 -12
- data/lib/steep/ast/types/factory.rb +27 -18
- data/lib/steep/ast/types/helper.rb +4 -0
- data/lib/steep/ast/types/intersection.rb +7 -0
- data/lib/steep/ast/types/proc.rb +14 -9
- data/lib/steep/ast/types/record.rb +7 -0
- data/lib/steep/ast/types/tuple.rb +7 -0
- data/lib/steep/ast/types/union.rb +7 -0
- data/lib/steep/drivers/stats.rb +2 -2
- data/lib/steep/drivers/validate.rb +4 -2
- data/lib/steep/expectations.rb +2 -2
- data/lib/steep/interface/block.rb +1 -1
- data/lib/steep/interface/builder.rb +337 -360
- data/lib/steep/interface/function.rb +82 -11
- data/lib/steep/interface/method_type.rb +18 -10
- data/lib/steep/interface/shape.rb +69 -18
- data/lib/steep/interface/substitution.rb +4 -0
- data/lib/steep/node_helper.rb +18 -1
- data/lib/steep/project/pattern.rb +1 -2
- data/lib/steep/server/interaction_worker.rb +6 -0
- data/lib/steep/server/lsp_formatter.rb +2 -0
- data/lib/steep/services/completion_provider.rb +20 -18
- data/lib/steep/services/file_loader.rb +15 -20
- data/lib/steep/services/signature_help_provider.rb +17 -18
- data/lib/steep/signature/validator.rb +1 -1
- data/lib/steep/subtyping/check.rb +19 -22
- data/lib/steep/subtyping/variable_variance.rb +3 -3
- data/lib/steep/test.rb +9 -0
- data/lib/steep/type_construction.rb +198 -158
- data/lib/steep/type_inference/block_params.rb +12 -4
- data/lib/steep/type_inference/context.rb +1 -1
- data/lib/steep/type_inference/logic_type_interpreter.rb +3 -2
- data/lib/steep/type_inference/method_params.rb +16 -0
- data/lib/steep/type_inference/send_args.rb +5 -2
- data/lib/steep/version.rb +1 -1
- data/lib/steep.rb +11 -7
- data/sig/steep/ast/types/factory.rbs +2 -2
- data/sig/steep/ast/types/helper.rbs +2 -0
- data/sig/steep/ast/types/intersection.rbs +2 -0
- data/sig/steep/ast/types/name.rbs +4 -0
- data/sig/steep/ast/types/record.rbs +2 -0
- data/sig/steep/ast/types/tuple.rbs +2 -0
- data/sig/steep/ast/types/union.rbs +2 -0
- data/sig/steep/expectations.rbs +1 -1
- data/sig/steep/interface/block.rbs +2 -2
- data/sig/steep/interface/builder.rbs +54 -109
- data/sig/steep/interface/function.rbs +38 -32
- data/sig/steep/interface/shape.rbs +23 -4
- data/sig/steep/interface/substitution.rbs +2 -0
- data/sig/steep/node_helper.rbs +11 -0
- data/sig/steep/services/signature_help_provider.rbs +3 -1
- data/sig/steep/subtyping/constraints.rbs +2 -2
- data/sig/steep/subtyping/variable_variance.rbs +1 -1
- data/sig/steep/type_construction.rbs +1 -1
- data/sig/steep/type_inference/block_params.rbs +3 -3
- data/sig/steep/type_inference/context.rbs +2 -0
- data/sig/steep/type_inference/method_params.rbs +3 -3
- data/sig/steep.rbs +1 -1
- data/steep.gemspec +1 -1
- metadata +6 -4
@@ -102,9 +102,9 @@ module Steep
|
|
102
102
|
#
|
103
103
|
# `nil` if the node doesn't have it.
|
104
104
|
#
|
105
|
-
attr_reader forward_arg_type: [Params, Block?]
|
105
|
+
attr_reader forward_arg_type: [Params, Block?] | true | nil
|
106
106
|
|
107
|
-
def initialize: (args: Array[Node], method_type: MethodType?, forward_arg_type: [Params, Block?]
|
107
|
+
def initialize: (args: Array[Node], method_type: MethodType?, forward_arg_type: [Params, Block?] | true | nil) -> void
|
108
108
|
|
109
109
|
def []: (Symbol name) -> param
|
110
110
|
|
@@ -117,7 +117,7 @@ module Steep
|
|
117
117
|
|
118
118
|
def each: () { (Symbol, AST::Types::t) -> void } -> void
|
119
119
|
|
120
|
-
def update: (?forward_arg_type: [Params, Block?]
|
120
|
+
def update: (?forward_arg_type: [Params, Block?] | true | nil) -> MethodParams
|
121
121
|
|
122
122
|
def self.empty: (node: Node) -> MethodParams
|
123
123
|
|
data/sig/steep.rbs
CHANGED
@@ -14,7 +14,7 @@ module Steep
|
|
14
14
|
|
15
15
|
attr_accessor self.log_output: IO
|
16
16
|
|
17
|
-
def self.measure: [A] (String message, ?level: ::Symbol) { () -> A } -> A
|
17
|
+
def self.measure: [A] (String message, ?level: ::Symbol, ?threshold: Float) { () -> A } -> A
|
18
18
|
|
19
19
|
def self.log_error: (Exception exn, ?message: ::String) -> void
|
20
20
|
|
data/steep.gemspec
CHANGED
@@ -33,7 +33,7 @@ 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", ">= 3.
|
36
|
+
spec.add_runtime_dependency "rbs", ">= 3.5.0.pre"
|
37
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"
|
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.7.0.dev.
|
4
|
+
version: 1.7.0.dev.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Soutaro Matsumoto
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-05-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: parser
|
@@ -98,14 +98,14 @@ dependencies:
|
|
98
98
|
requirements:
|
99
99
|
- - ">="
|
100
100
|
- !ruby/object:Gem::Version
|
101
|
-
version: 3.
|
101
|
+
version: 3.5.0.pre
|
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: 3.
|
108
|
+
version: 3.5.0.pre
|
109
109
|
- !ruby/object:Gem::Dependency
|
110
110
|
name: concurrent-ruby
|
111
111
|
requirement: !ruby/object:Gem::Requirement
|
@@ -254,6 +254,7 @@ files:
|
|
254
254
|
- bin/steep
|
255
255
|
- bin/steep-prof
|
256
256
|
- doc/narrowing.md
|
257
|
+
- doc/shape.md
|
257
258
|
- exe/steep
|
258
259
|
- gemfile_steep/Gemfile
|
259
260
|
- gemfile_steep/Gemfile.lock
|
@@ -362,6 +363,7 @@ files:
|
|
362
363
|
- lib/steep/subtyping/relation.rb
|
363
364
|
- lib/steep/subtyping/result.rb
|
364
365
|
- lib/steep/subtyping/variable_variance.rb
|
366
|
+
- lib/steep/test.rb
|
365
367
|
- lib/steep/thread_waiter.rb
|
366
368
|
- lib/steep/type_construction.rb
|
367
369
|
- lib/steep/type_inference/block_params.rb
|