steep 1.3.0.pre.1 → 1.3.0.pre.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +12 -0
- data/Gemfile.lock +1 -1
- data/bin/steep-prof +1 -1
- data/lib/steep/ast/types/helper.rb +4 -3
- data/lib/steep/ast/types/logic.rb +4 -0
- data/lib/steep/drivers/check.rb +1 -1
- data/lib/steep/drivers/checkfile.rb +1 -1
- data/lib/steep/drivers/langserver.rb +2 -2
- data/lib/steep/drivers/stats.rb +1 -1
- data/lib/steep/drivers/utils/jobs_option.rb +0 -4
- data/lib/steep/drivers/watch.rb +1 -1
- data/lib/steep/server/worker_process.rb +16 -11
- data/lib/steep/services/completion_provider.rb +2 -1
- data/lib/steep/services/goto_service.rb +2 -1
- data/lib/steep/services/hover_provider/ruby.rb +2 -1
- data/lib/steep/services/signature_service.rb +16 -0
- data/lib/steep/services/type_check_service.rb +4 -4
- data/lib/steep/type_construction.rb +25 -20
- data/lib/steep/version.rb +1 -1
- data/sig/steep/ast/types/any.rbs +1 -1
- data/sig/steep/ast/types/boolean.rbs +1 -1
- data/sig/steep/ast/types/bot.rbs +1 -1
- data/sig/steep/ast/types/class.rbs +1 -1
- data/sig/steep/ast/types/helper.rbs +6 -3
- data/sig/steep/ast/types/instance.rbs +1 -1
- data/sig/steep/ast/types/intersection.rbs +1 -1
- data/sig/steep/ast/types/logic.rbs +2 -0
- data/sig/steep/ast/types/name.rbs +2 -2
- data/sig/steep/ast/types/nil.rbs +1 -1
- data/sig/steep/ast/types/record.rbs +1 -1
- data/sig/steep/ast/types/self.rbs +1 -1
- data/sig/steep/ast/types/top.rbs +2 -2
- data/sig/steep/ast/types/tuple.rbs +1 -1
- data/sig/steep/ast/types/union.rbs +1 -1
- data/sig/steep/ast/types/var.rbs +2 -2
- data/sig/steep/ast/types/void.rbs +1 -1
- data/sig/steep/drivers/utils/jobs_option.rbs +0 -2
- data/sig/steep/server/worker_process.rbs +2 -2
- data/sig/steep/services/signature_service.rbs +14 -0
- data/sig/steep/services/type_check_service.rbs +2 -2
- data/sig/steep.rbs +2 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 639a97319d661c777702365209eaf5a6ea2632723a509331a03f6f1ef3926148
|
4
|
+
data.tar.gz: fb6061b52a09fb97c907abff4f69d6c9267eef1c9a3af52fa87fffda9de5d1f0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 232ec5b779c018aa9824318e003cd60e3ec3691297903337bb414fff87e757daaacfda2d94fb0c751538dcad194763ad6cb5b072156686bd450d5292d490a2e6
|
7
|
+
data.tar.gz: b322f5568a1fe5cbc0693a01a7be50d9860e056a9f69325e6c55a9322f2d32f7d1d0889d19e45576ca6f3f9afde9649747d9d02a0e251702f94cd27bf5fae27c
|
data/CHANGELOG.md
CHANGED
@@ -2,6 +2,18 @@
|
|
2
2
|
|
3
3
|
## master
|
4
4
|
|
5
|
+
## 1.3.0.pre.2 (2022-11-23)
|
6
|
+
|
7
|
+
### Type checker core
|
8
|
+
|
9
|
+
* Add missing `#level` method ([\#671](https://github.com/soutaro/steep/pull/671))
|
10
|
+
* Cache `constant_resolver` among files in a target([\#673](https://github.com/soutaro/steep/pull/673))
|
11
|
+
* Early return from type checking overloads ([\#674](https://github.com/soutaro/steep/pull/674))
|
12
|
+
|
13
|
+
### Commandline tool
|
14
|
+
|
15
|
+
* Spawn worker processes if `--steep-command` is specified ([\#672](https://github.com/soutaro/steep/pull/672))
|
16
|
+
|
5
17
|
## 1.3.0.pre.1 (2022-11-22)
|
6
18
|
|
7
19
|
### Type checker core
|
data/Gemfile.lock
CHANGED
data/bin/steep-prof
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
require "stackprof"
|
4
4
|
|
5
|
-
mode = (ENV["STEEP_STACKPROF_MODE"] || :
|
5
|
+
mode = (ENV["STEEP_STACKPROF_MODE"] || :cpu).to_sym
|
6
6
|
out = ENV["STEEP_STACKPROF_OUT"] || "tmp/stackprof-#{mode}-steep.dump"
|
7
7
|
interval = ENV["STEEP_STACKPROF_INTERVAL"]&.to_i || 1000
|
8
8
|
|
@@ -4,12 +4,13 @@ module Steep
|
|
4
4
|
module Helper
|
5
5
|
module ChildrenLevel
|
6
6
|
def level_of_children(children)
|
7
|
-
children.map(&:level)
|
8
|
-
|
7
|
+
levels = children.map(&:level)
|
8
|
+
children.map(&:level).sort {|a, b| (b.size <=> a.size) || 0 }.inject() do |a, b|
|
9
|
+
a.zip(b).map do |x, y|
|
9
10
|
if x && y
|
10
11
|
x + y
|
11
12
|
else
|
12
|
-
x || y
|
13
|
+
x || y || raise
|
13
14
|
end
|
14
15
|
end
|
15
16
|
end || []
|
data/lib/steep/drivers/check.rb
CHANGED
@@ -35,8 +35,8 @@ module Steep
|
|
35
35
|
def run
|
36
36
|
@project = load_config()
|
37
37
|
|
38
|
-
interaction_worker = Server::WorkerProcess.start_worker(:interaction, name: "interaction", steepfile: project.steepfile_path, steep_command: jobs_option.
|
39
|
-
typecheck_workers = Server::WorkerProcess.start_typecheck_workers(steepfile: project.steepfile_path, args: [], steep_command: jobs_option.
|
38
|
+
interaction_worker = Server::WorkerProcess.start_worker(:interaction, name: "interaction", steepfile: project.steepfile_path, steep_command: jobs_option.steep_command)
|
39
|
+
typecheck_workers = Server::WorkerProcess.start_typecheck_workers(steepfile: project.steepfile_path, args: [], steep_command: jobs_option.steep_command, count: jobs_option.jobs_count_value)
|
40
40
|
|
41
41
|
master = Server::Master.new(
|
42
42
|
project: project,
|
data/lib/steep/drivers/stats.rb
CHANGED
@@ -130,7 +130,7 @@ module Steep
|
|
130
130
|
steepfile: project.steepfile_path,
|
131
131
|
delay_shutdown: true,
|
132
132
|
args: command_line_patterns,
|
133
|
-
steep_command: jobs_option.
|
133
|
+
steep_command: jobs_option.steep_command,
|
134
134
|
count: jobs_option.jobs_count_value
|
135
135
|
)
|
136
136
|
|
data/lib/steep/drivers/watch.rb
CHANGED
@@ -42,7 +42,7 @@ module Steep
|
|
42
42
|
server_reader = LanguageServer::Protocol::Transport::Io::Reader.new(server_read)
|
43
43
|
server_writer = LanguageServer::Protocol::Transport::Io::Writer.new(server_write)
|
44
44
|
|
45
|
-
typecheck_workers = Server::WorkerProcess.start_typecheck_workers(steepfile: project.steepfile_path, args: dirs.map(&:to_s), steep_command: jobs_option.
|
45
|
+
typecheck_workers = Server::WorkerProcess.start_typecheck_workers(steepfile: project.steepfile_path, args: dirs.map(&:to_s), steep_command: jobs_option.steep_command, count: jobs_option.jobs_count_value)
|
46
46
|
|
47
47
|
master = Server::Master.new(
|
48
48
|
project: project,
|
@@ -18,22 +18,27 @@ module Steep
|
|
18
18
|
@index = index
|
19
19
|
end
|
20
20
|
|
21
|
-
def self.start_worker(type, name:, steepfile:, steep_command
|
21
|
+
def self.start_worker(type, name:, steepfile:, steep_command:, index: nil, delay_shutdown: false, patterns: [])
|
22
22
|
begin
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
23
|
+
unless steep_command
|
24
|
+
fork_worker(
|
25
|
+
type,
|
26
|
+
name: name,
|
27
|
+
steepfile: steepfile,
|
28
|
+
index: index,
|
29
|
+
delay_shutdown: delay_shutdown,
|
30
|
+
patterns: patterns
|
31
|
+
)
|
32
|
+
else
|
33
|
+
# Use `#spawn_worker`
|
34
|
+
raise NotImplementedError
|
35
|
+
end
|
31
36
|
rescue NotImplementedError
|
32
37
|
spawn_worker(
|
33
38
|
type,
|
34
39
|
name: name,
|
35
40
|
steepfile: steepfile,
|
36
|
-
steep_command: steep_command,
|
41
|
+
steep_command: steep_command || "steep",
|
37
42
|
index: index,
|
38
43
|
delay_shutdown: delay_shutdown,
|
39
44
|
patterns: patterns
|
@@ -122,7 +127,7 @@ module Steep
|
|
122
127
|
new(reader: reader, writer: writer, stderr: stderr, wait_thread: thread, name: name, index: index&.[](1))
|
123
128
|
end
|
124
129
|
|
125
|
-
def self.start_typecheck_workers(steepfile:, args:, steep_command
|
130
|
+
def self.start_typecheck_workers(steepfile:, args:, steep_command:, count: [Etc.nprocessors - 1, 1].max, delay_shutdown: false)
|
126
131
|
count.times.map do |i|
|
127
132
|
start_worker(
|
128
133
|
:typecheck,
|
@@ -88,7 +88,8 @@ module Steep
|
|
88
88
|
end
|
89
89
|
|
90
90
|
Steep.measure "typechecking" do
|
91
|
-
|
91
|
+
resolver = RBS::Resolver::ConstantResolver.new(builder: subtyping.factory.definition_builder)
|
92
|
+
@typing = TypeCheckService.type_check(source: source, subtyping: subtyping, constant_resolver: resolver)
|
92
93
|
end
|
93
94
|
end
|
94
95
|
|
@@ -211,8 +211,9 @@ module Steep
|
|
211
211
|
subtyping = signature_service.current_subtyping or return
|
212
212
|
source = Source.parse(content, path: path, factory: subtyping.factory)
|
213
213
|
source = source.without_unrelated_defs(line: line, column: column)
|
214
|
+
resolver = RBS::Resolver::ConstantResolver.new(builder: subtyping.factory.definition_builder)
|
214
215
|
[
|
215
|
-
Services::TypeCheckService.type_check(source: source, subtyping: subtyping),
|
216
|
+
Services::TypeCheckService.type_check(source: source, subtyping: subtyping, constant_resolver: resolver),
|
216
217
|
signature_service
|
217
218
|
]
|
218
219
|
rescue
|
@@ -77,7 +77,8 @@ module Steep
|
|
77
77
|
subtyping = service.signature_services[target.name].current_subtyping or return
|
78
78
|
source = Source.parse(content, path: path, factory: subtyping.factory)
|
79
79
|
source = source.without_unrelated_defs(line: line, column: column)
|
80
|
-
|
80
|
+
resolver = ::RBS::Resolver::ConstantResolver.new(builder: subtyping.factory.definition_builder)
|
81
|
+
Services::TypeCheckService.type_check(source: source, subtyping: subtyping, constant_resolver: resolver)
|
81
82
|
rescue
|
82
83
|
nil
|
83
84
|
end
|
@@ -19,6 +19,10 @@ module Steep
|
|
19
19
|
builder.env(last_builder.env)
|
20
20
|
end
|
21
21
|
end
|
22
|
+
|
23
|
+
def constant_resolver
|
24
|
+
@constant_resolver ||= RBS::Resolver::ConstantResolver.new(builder: last_builder)
|
25
|
+
end
|
22
26
|
end
|
23
27
|
|
24
28
|
class AncestorErrorStatus
|
@@ -37,6 +41,10 @@ module Steep
|
|
37
41
|
builder.env(last_builder.env)
|
38
42
|
end
|
39
43
|
end
|
44
|
+
|
45
|
+
def constant_resolver
|
46
|
+
@constant_resolver ||= RBS::Resolver::ConstantResolver.new(builder: last_builder)
|
47
|
+
end
|
40
48
|
end
|
41
49
|
|
42
50
|
class LoadedStatus
|
@@ -61,6 +69,10 @@ module Steep
|
|
61
69
|
builder.env(self.builder.env)
|
62
70
|
end
|
63
71
|
end
|
72
|
+
|
73
|
+
def constant_resolver
|
74
|
+
@constant_resolver ||= RBS::Resolver::ConstantResolver.new(builder: builder)
|
75
|
+
end
|
64
76
|
end
|
65
77
|
|
66
78
|
FileStatus = _ = Struct.new(:path, :content, :decls, keyword_init: true)
|
@@ -125,6 +137,10 @@ module Steep
|
|
125
137
|
status.rbs_index
|
126
138
|
end
|
127
139
|
|
140
|
+
def latest_constant_resolver
|
141
|
+
status.constant_resolver
|
142
|
+
end
|
143
|
+
|
128
144
|
def current_subtyping
|
129
145
|
if status.is_a?(LoadedStatus)
|
130
146
|
status.subtyping
|
@@ -280,7 +280,7 @@ module Steep
|
|
280
280
|
|
281
281
|
if subtyping
|
282
282
|
text = source_files[path].content
|
283
|
-
file = type_check_file(target: target, subtyping: subtyping, path: path, text: text)
|
283
|
+
file = type_check_file(target: target, subtyping: subtyping, path: path, text: text) { signature_service.latest_constant_resolver }
|
284
284
|
yield [file.path, file.diagnostics]
|
285
285
|
source_files[path] = file
|
286
286
|
end
|
@@ -326,7 +326,7 @@ module Steep
|
|
326
326
|
def type_check_file(target:, subtyping:, path:, text:)
|
327
327
|
Steep.logger.tagged "#type_check_file(#{path}@#{target.name})" do
|
328
328
|
source = Source.parse(text, path: path, factory: subtyping.factory)
|
329
|
-
typing = TypeCheckService.type_check(source: source, subtyping: subtyping)
|
329
|
+
typing = TypeCheckService.type_check(source: source, subtyping: subtyping, constant_resolver: yield)
|
330
330
|
SourceFile.with_typing(path: path, content: text, node: source.node, typing: typing)
|
331
331
|
end
|
332
332
|
rescue AnnotationParser::SyntaxError => exn
|
@@ -342,7 +342,7 @@ module Steep
|
|
342
342
|
SourceFile.no_data(path: path, content: text)
|
343
343
|
end
|
344
344
|
|
345
|
-
def self.type_check(source:, subtyping:)
|
345
|
+
def self.type_check(source:, subtyping:, constant_resolver:)
|
346
346
|
annotations = source.annotations(block: source.node, factory: subtyping.factory, context: nil)
|
347
347
|
|
348
348
|
definition = subtyping.factory.definition_builder.build_instance(AST::Builtin::Object.module_name)
|
@@ -350,7 +350,7 @@ module Steep
|
|
350
350
|
const_env = TypeInference::ConstantEnv.new(
|
351
351
|
factory: subtyping.factory,
|
352
352
|
context: nil,
|
353
|
-
resolver:
|
353
|
+
resolver: constant_resolver
|
354
354
|
)
|
355
355
|
type_env = TypeInference::TypeEnv.new(const_env)
|
356
356
|
type_env = TypeInference::TypeEnvBuilder.new(
|
@@ -3216,12 +3216,15 @@ module Steep
|
|
3216
3216
|
def type_method_call(node, method_name:, receiver_type:, method:, arguments:, block_params:, block_body:, tapp:)
|
3217
3217
|
node_range = node.loc.expression.yield_self {|l| l.begin_pos..l.end_pos }
|
3218
3218
|
|
3219
|
-
|
3219
|
+
# @type var fails: Array[[TypeInference::MethodCall::t, TypeConstruction]]
|
3220
|
+
fails = []
|
3221
|
+
|
3222
|
+
method.method_types.each do |method_type|
|
3220
3223
|
Steep.logger.tagged method_type.to_s do
|
3221
3224
|
typing.new_child(node_range) do |child_typing|
|
3222
3225
|
constr = self.with_new_typing(child_typing)
|
3223
3226
|
|
3224
|
-
constr.try_special_method(
|
3227
|
+
call, constr = constr.try_special_method(
|
3225
3228
|
node,
|
3226
3229
|
receiver_type: receiver_type,
|
3227
3230
|
method_name: method_name,
|
@@ -3239,30 +3242,32 @@ module Steep
|
|
3239
3242
|
block_body: block_body,
|
3240
3243
|
tapp: tapp
|
3241
3244
|
)
|
3245
|
+
|
3246
|
+
if call.is_a?(TypeInference::MethodCall::Typed)
|
3247
|
+
constr.typing.save!
|
3248
|
+
return [
|
3249
|
+
call,
|
3250
|
+
update_type_env { constr.context.type_env }
|
3251
|
+
]
|
3252
|
+
else
|
3253
|
+
fails << [call, constr]
|
3254
|
+
end
|
3242
3255
|
end
|
3243
3256
|
end
|
3244
3257
|
end
|
3245
3258
|
|
3246
|
-
|
3247
|
-
|
3248
|
-
# There is only one overload, use the type checking result
|
3249
|
-
call, constr = results[0]
|
3250
|
-
when (call, constr = results.find {|call, _| call.is_a?(TypeInference::MethodCall::Typed) })
|
3251
|
-
# Successfully type checked with one of the overloads
|
3252
|
-
else
|
3253
|
-
# No suitable overload, more than one overlodas
|
3254
|
-
return
|
3255
|
-
end
|
3256
|
-
|
3257
|
-
constr or raise
|
3258
|
-
call or raise
|
3259
|
+
if fails.one?
|
3260
|
+
call, constr = fails[0]
|
3259
3261
|
|
3260
|
-
|
3262
|
+
constr.typing.save!
|
3261
3263
|
|
3262
|
-
|
3263
|
-
|
3264
|
-
|
3265
|
-
|
3264
|
+
[
|
3265
|
+
call,
|
3266
|
+
update_type_env { constr.context.type_env }
|
3267
|
+
]
|
3268
|
+
else
|
3269
|
+
nil
|
3270
|
+
end
|
3266
3271
|
end
|
3267
3272
|
|
3268
3273
|
def inspect
|
data/lib/steep/version.rb
CHANGED
data/sig/steep/ast/types/any.rbs
CHANGED
data/sig/steep/ast/types/bot.rbs
CHANGED
@@ -3,15 +3,18 @@ module Steep
|
|
3
3
|
module Types
|
4
4
|
module Helper
|
5
5
|
module ChildrenLevel
|
6
|
-
def level_of_children: (
|
6
|
+
def level_of_children: (Array[t] children) -> Array[Integer]
|
7
7
|
end
|
8
8
|
|
9
9
|
module NoFreeVariables
|
10
|
-
|
10
|
+
@fvs: Set[Symbol]
|
11
|
+
|
12
|
+
def free_variables: () -> Set[Symbol]
|
11
13
|
end
|
12
14
|
|
13
15
|
module NoChild
|
14
|
-
def each_child: ()
|
16
|
+
def each_child: () { (t) -> void } -> void
|
17
|
+
| () -> Enumerator[t, void]
|
15
18
|
end
|
16
19
|
end
|
17
20
|
end
|
@@ -13,7 +13,7 @@ module Steep
|
|
13
13
|
|
14
14
|
def subst: (Steep::Interface::Substitution s) -> self
|
15
15
|
|
16
|
-
def level: () ->
|
16
|
+
def level: () -> Array[Integer]
|
17
17
|
end
|
18
18
|
|
19
19
|
class Applying < Base
|
@@ -40,7 +40,7 @@ module Steep
|
|
40
40
|
|
41
41
|
include Helper::ChildrenLevel
|
42
42
|
|
43
|
-
def level: () ->
|
43
|
+
def level: () -> Array[Integer]
|
44
44
|
end
|
45
45
|
|
46
46
|
class Singleton < Base
|
data/sig/steep/ast/types/nil.rbs
CHANGED
data/sig/steep/ast/types/top.rbs
CHANGED
data/sig/steep/ast/types/var.rbs
CHANGED
@@ -48,7 +48,7 @@ module Steep
|
|
48
48
|
worker_type `type`,
|
49
49
|
name: String,
|
50
50
|
steepfile: Pathname,
|
51
|
-
|
51
|
+
steep_command: String?,
|
52
52
|
?patterns: Array[String],
|
53
53
|
?delay_shutdown: bool,
|
54
54
|
?index: [Integer, Integer]?
|
@@ -76,7 +76,7 @@ module Steep
|
|
76
76
|
def self.start_typecheck_workers: (
|
77
77
|
steepfile: Pathname,
|
78
78
|
args: Array[String],
|
79
|
-
|
79
|
+
steep_command: ::String?,
|
80
80
|
?count: Integer,
|
81
81
|
?delay_shutdown: bool
|
82
82
|
) -> Array[WorkerProcess]
|
@@ -16,9 +16,13 @@ module Steep
|
|
16
16
|
|
17
17
|
@rbs_index: Index::RBSIndex?
|
18
18
|
|
19
|
+
@constant_resolver: RBS::Resolver::ConstantResolver?
|
20
|
+
|
19
21
|
def initialize: (files: Hash[Pathname, FileStatus], changed_paths: Set[Pathname], diagnostics: Array[Diagnostic::Signature::Base], last_builder: RBS::DefinitionBuilder) -> void
|
20
22
|
|
21
23
|
def rbs_index: () -> Index::RBSIndex
|
24
|
+
|
25
|
+
def constant_resolver: () -> RBS::Resolver::ConstantResolver
|
22
26
|
end
|
23
27
|
|
24
28
|
class AncestorErrorStatus
|
@@ -32,9 +36,13 @@ module Steep
|
|
32
36
|
|
33
37
|
@rbs_index: Index::RBSIndex?
|
34
38
|
|
39
|
+
@constant_resolver: RBS::Resolver::ConstantResolver?
|
40
|
+
|
35
41
|
def initialize: (files: Hash[Pathname, FileStatus], changed_paths: Set[Pathname], diagnostics: Array[Diagnostic::Signature::Base], last_builder: RBS::DefinitionBuilder) -> void
|
36
42
|
|
37
43
|
def rbs_index: () -> Index::RBSIndex
|
44
|
+
|
45
|
+
def constant_resolver: () -> RBS::Resolver::ConstantResolver
|
38
46
|
end
|
39
47
|
|
40
48
|
class LoadedStatus
|
@@ -46,11 +54,15 @@ module Steep
|
|
46
54
|
|
47
55
|
@subtyping: Subtyping::Check?
|
48
56
|
|
57
|
+
@constant_resolver: RBS::Resolver::ConstantResolver?
|
58
|
+
|
49
59
|
def initialize: (files: Hash[Pathname, FileStatus], builder: RBS::DefinitionBuilder) -> void
|
50
60
|
|
51
61
|
def subtyping: () -> Subtyping::Check
|
52
62
|
|
53
63
|
def rbs_index: () -> Index::RBSIndex
|
64
|
+
|
65
|
+
def constant_resolver: () -> RBS::Resolver::ConstantResolver
|
54
66
|
end
|
55
67
|
|
56
68
|
class FileStatus
|
@@ -88,6 +100,8 @@ module Steep
|
|
88
100
|
|
89
101
|
def latest_rbs_index: () -> Index::RBSIndex
|
90
102
|
|
103
|
+
def latest_constant_resolver: () -> RBS::Resolver::ConstantResolver
|
104
|
+
|
91
105
|
def current_subtyping: () -> Subtyping::Check?
|
92
106
|
|
93
107
|
def apply_changes: (Hash[Pathname, FileStatus] files, Server::ChangeBuffer::changes changes) -> Hash[Pathname, FileStatus]
|
@@ -91,9 +91,9 @@ module Steep
|
|
91
91
|
|
92
92
|
def update_sources: (changes: Server::ChangeBuffer::changes, requests: Hash[Project::Target, TargetRequest]) -> void
|
93
93
|
|
94
|
-
def type_check_file: (target: Project::Target, subtyping: Subtyping::Check, path: Pathname, text: String) -> SourceFile
|
94
|
+
def type_check_file: (target: Project::Target, subtyping: Subtyping::Check, path: Pathname, text: String) { () -> RBS::Resolver::ConstantResolver } -> SourceFile
|
95
95
|
|
96
|
-
def self.type_check: (source: Source, subtyping: Subtyping::Check) -> Typing
|
96
|
+
def self.type_check: (source: Source, subtyping: Subtyping::Check, constant_resolver: RBS::Resolver::ConstantResolver) -> Typing
|
97
97
|
|
98
98
|
def source_file?: (Pathname path) -> Project::Target?
|
99
99
|
|
data/sig/steep.rbs
CHANGED
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.3.0.pre.
|
4
|
+
version: 1.3.0.pre.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Soutaro Matsumoto
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-11-
|
11
|
+
date: 2022-11-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: parser
|