steep 1.3.0.pre.2 → 1.4.0.dev.1
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/.github/workflows/ruby-windows.yml +1 -0
- data/.github/workflows/ruby.yml +1 -5
- data/CHANGELOG.md +6 -0
- data/Gemfile +2 -0
- data/Gemfile.lock +17 -14
- data/Gemfile.steep +2 -2
- data/Gemfile.steep.lock +5 -5
- data/bin/rbs +21 -0
- data/bin/setup +1 -1
- data/lib/steep/ast/types/class.rb +9 -3
- data/lib/steep/ast/types/factory.rb +9 -2
- data/lib/steep/ast/types/instance.rb +8 -3
- data/lib/steep/ast/types/intersection.rb +6 -2
- data/lib/steep/ast/types/literal.rb +1 -1
- data/lib/steep/ast/types/logic.rb +1 -3
- data/lib/steep/ast/types/name.rb +11 -5
- data/lib/steep/ast/types/proc.rb +5 -5
- data/lib/steep/ast/types/record.rb +5 -1
- data/lib/steep/ast/types/self.rb +8 -2
- data/lib/steep/ast/types/tuple.rb +7 -5
- data/lib/steep/ast/types/union.rb +10 -4
- data/lib/steep/ast/types/var.rb +1 -1
- data/lib/steep/index/rbs_index.rb +13 -6
- data/lib/steep/interface/substitution.rb +11 -10
- data/lib/steep/project/dsl.rb +12 -4
- data/lib/steep/project/options.rb +3 -1
- data/lib/steep/signature/validator.rb +13 -13
- data/lib/steep/type_inference/logic_type_interpreter.rb +2 -2
- data/lib/steep/version.rb +1 -1
- data/lib/steep.rb +0 -1
- data/rbs_collection.steep.lock.yaml +44 -43
- data/sig/steep/ast/builtin.rbs +1 -1
- data/sig/steep/ast/types/any.rbs +5 -5
- data/sig/steep/ast/types/boolean.rbs +6 -6
- data/sig/steep/ast/types/bot.rbs +5 -5
- data/sig/steep/ast/types/class.rbs +7 -6
- data/sig/steep/ast/types/helper.rbs +2 -2
- data/sig/steep/ast/types/instance.rbs +6 -5
- data/sig/steep/ast/types/intersection.rbs +12 -9
- data/sig/steep/ast/types/literal.rbs +6 -4
- data/sig/steep/ast/types/logic.rbs +7 -9
- data/sig/steep/ast/types/name.rbs +7 -3
- data/sig/steep/ast/types/nil.rbs +6 -6
- data/sig/steep/ast/types/proc.rbs +8 -3
- data/sig/steep/ast/types/record.rbs +7 -8
- data/sig/steep/ast/types/self.rbs +7 -6
- data/sig/steep/ast/types/top.rbs +6 -6
- data/sig/steep/ast/types/tuple.rbs +5 -4
- data/sig/steep/ast/types/union.rbs +8 -8
- data/sig/steep/ast/types/var.rbs +16 -11
- data/sig/steep/ast/types/void.rbs +5 -5
- data/sig/steep/ast/types.rbs +5 -26
- data/sig/steep/index/rbs_index.rbs +83 -37
- data/sig/steep/interface/substitution.rbs +9 -9
- data/sig/steep/project/dsl.rbs +35 -30
- data/sig/steep/project/options.rbs +16 -4
- data/smoke/diagnostics-rbs/test_expectations.yml +1 -1
- data/steep.gemspec +3 -2
- metadata +21 -7
- data/lib/steep/ast/types.rb +0 -62
data/steep.gemspec
CHANGED
@@ -26,14 +26,14 @@ Gem::Specification.new do |spec|
|
|
26
26
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
27
27
|
spec.require_paths = ["lib"]
|
28
28
|
|
29
|
-
spec.required_ruby_version = '>= 2.
|
29
|
+
spec.required_ruby_version = '>= 2.7.0'
|
30
30
|
|
31
31
|
spec.add_runtime_dependency "parser", ">= 3.1"
|
32
32
|
spec.add_runtime_dependency "activesupport", ">= 5.1"
|
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", ">= 2.8.0
|
36
|
+
spec.add_runtime_dependency "rbs", ">= 2.8.0"
|
37
37
|
spec.add_runtime_dependency "parallel", ">= 1.0.0"
|
38
38
|
spec.add_runtime_dependency "terminal-table", ">= 2", "< 4"
|
39
39
|
spec.add_runtime_dependency "securerandom", ">= 0.1"
|
@@ -42,4 +42,5 @@ Gem::Specification.new do |spec|
|
|
42
42
|
spec.add_runtime_dependency "fileutils", ">= 1.1.0"
|
43
43
|
spec.add_runtime_dependency "strscan", ">= 1.0.0"
|
44
44
|
spec.add_runtime_dependency "csv", ">= 3.0.9"
|
45
|
+
spec.add_runtime_dependency "pathname", ">= 0.2.1"
|
45
46
|
end
|
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.4.0.dev.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:
|
11
|
+
date: 2023-01-06 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: 2.8.0
|
101
|
+
version: 2.8.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: 2.8.0
|
108
|
+
version: 2.8.0
|
109
109
|
- !ruby/object:Gem::Dependency
|
110
110
|
name: parallel
|
111
111
|
requirement: !ruby/object:Gem::Requirement
|
@@ -224,6 +224,20 @@ dependencies:
|
|
224
224
|
- - ">="
|
225
225
|
- !ruby/object:Gem::Version
|
226
226
|
version: 3.0.9
|
227
|
+
- !ruby/object:Gem::Dependency
|
228
|
+
name: pathname
|
229
|
+
requirement: !ruby/object:Gem::Requirement
|
230
|
+
requirements:
|
231
|
+
- - ">="
|
232
|
+
- !ruby/object:Gem::Version
|
233
|
+
version: 0.2.1
|
234
|
+
type: :runtime
|
235
|
+
prerelease: false
|
236
|
+
version_requirements: !ruby/object:Gem::Requirement
|
237
|
+
requirements:
|
238
|
+
- - ">="
|
239
|
+
- !ruby/object:Gem::Version
|
240
|
+
version: 0.2.1
|
227
241
|
description: Gradual Typing for Ruby
|
228
242
|
email:
|
229
243
|
- matsumoto@soutaro.com
|
@@ -249,6 +263,7 @@ files:
|
|
249
263
|
- bin/console
|
250
264
|
- bin/output_rebaseline.rb
|
251
265
|
- bin/output_test.rb
|
266
|
+
- bin/rbs
|
252
267
|
- bin/setup
|
253
268
|
- bin/steep
|
254
269
|
- bin/steep-prof
|
@@ -261,7 +276,6 @@ files:
|
|
261
276
|
- lib/steep/ast/node/type_application.rb
|
262
277
|
- lib/steep/ast/node/type_assertion.rb
|
263
278
|
- lib/steep/ast/type_params.rb
|
264
|
-
- lib/steep/ast/types.rb
|
265
279
|
- lib/steep/ast/types/any.rb
|
266
280
|
- lib/steep/ast/types/boolean.rb
|
267
281
|
- lib/steep/ast/types/bot.rb
|
@@ -761,14 +775,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
761
775
|
requirements:
|
762
776
|
- - ">="
|
763
777
|
- !ruby/object:Gem::Version
|
764
|
-
version: 2.
|
778
|
+
version: 2.7.0
|
765
779
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
766
780
|
requirements:
|
767
781
|
- - ">"
|
768
782
|
- !ruby/object:Gem::Version
|
769
783
|
version: 1.3.1
|
770
784
|
requirements: []
|
771
|
-
rubygems_version: 3.3.
|
785
|
+
rubygems_version: 3.3.26
|
772
786
|
signing_key:
|
773
787
|
specification_version: 4
|
774
788
|
summary: Gradual Typing for Ruby
|
data/lib/steep/ast/types.rb
DELETED
@@ -1,62 +0,0 @@
|
|
1
|
-
module Steep
|
2
|
-
module AST
|
3
|
-
module Types
|
4
|
-
class Masked
|
5
|
-
attr_reader :location
|
6
|
-
attr_reader :type
|
7
|
-
attr_reader :mask
|
8
|
-
|
9
|
-
def initialize(type:, mask:, location:)
|
10
|
-
@type = type
|
11
|
-
@mask = mask
|
12
|
-
@location = location
|
13
|
-
end
|
14
|
-
|
15
|
-
def ==(other)
|
16
|
-
other.is_a?(Masked) &&
|
17
|
-
other.type == type &&
|
18
|
-
other.mask == mask
|
19
|
-
end
|
20
|
-
|
21
|
-
alias eql? ==
|
22
|
-
|
23
|
-
def hash
|
24
|
-
self.class.hash ^ type.hash ^ mask.hash
|
25
|
-
end
|
26
|
-
|
27
|
-
def to_json(*a)
|
28
|
-
{ class: :masked,
|
29
|
-
type: type,
|
30
|
-
mask: mask,
|
31
|
-
location: location }.to_json(*a)
|
32
|
-
end
|
33
|
-
|
34
|
-
def to_s(level = 0)
|
35
|
-
"masked(#{type}|#{mask})"
|
36
|
-
end
|
37
|
-
|
38
|
-
def free_variables
|
39
|
-
@fvs ||= Set.new.tap do |set|
|
40
|
-
set.merge(type.free_variables)
|
41
|
-
set.merge(mask.free_variables)
|
42
|
-
end
|
43
|
-
end
|
44
|
-
|
45
|
-
def each_type(&block)
|
46
|
-
if block_given?
|
47
|
-
yield type
|
48
|
-
yield mask
|
49
|
-
else
|
50
|
-
enum_for :each_type
|
51
|
-
end
|
52
|
-
end
|
53
|
-
|
54
|
-
def sub(s)
|
55
|
-
self.class.new(type: type.sub(s),
|
56
|
-
mask: mask.sub(s),
|
57
|
-
location: location)
|
58
|
-
end
|
59
|
-
end
|
60
|
-
end
|
61
|
-
end
|
62
|
-
end
|