steep 1.3.0.pre.2 → 1.3.0
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 +6 -0
- data/Gemfile.lock +3 -3
- data/Gemfile.steep +1 -2
- data/Gemfile.steep.lock +4 -5
- 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/interface/substitution.rb +11 -10
- 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 +1 -1
- 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/interface/substitution.rbs +9 -9
- data/steep.gemspec +1 -1
- metadata +6 -7
- data/lib/steep/ast/types.rb +0 -62
@@ -6,19 +6,20 @@ module Steep
|
|
6
6
|
|
7
7
|
def initialize: (?location: untyped?) -> void
|
8
8
|
|
9
|
-
def ==: (untyped other) ->
|
9
|
+
def ==: (untyped other) -> bool
|
10
10
|
|
11
|
-
def hash: () ->
|
11
|
+
def hash: () -> Integer
|
12
12
|
|
13
13
|
alias eql? ==
|
14
14
|
|
15
|
-
def subst: (
|
15
|
+
def subst: (Interface::Substitution s) -> t
|
16
16
|
|
17
|
-
|
17
|
+
@@fvs: Set[variable]
|
18
|
+
def free_variables: () -> Set[variable]
|
18
19
|
|
19
20
|
include Helper::NoChild
|
20
21
|
|
21
|
-
def to_s: () ->
|
22
|
+
def to_s: () -> String
|
22
23
|
|
23
24
|
def level: () -> Array[Integer]
|
24
25
|
|
@@ -2,33 +2,36 @@ module Steep
|
|
2
2
|
module AST
|
3
3
|
module Types
|
4
4
|
class Intersection
|
5
|
-
attr_reader types:
|
5
|
+
attr_reader types: Array[t]
|
6
6
|
|
7
7
|
attr_reader location: untyped
|
8
8
|
|
9
|
-
def initialize: (types:
|
9
|
+
def initialize: (types: Array[t], ?location: untyped?) -> void
|
10
10
|
|
11
11
|
def self.build: (types: Array[t], ?location: untyped?) -> t
|
12
12
|
|
13
|
-
def ==: (untyped other) ->
|
13
|
+
def ==: (untyped other) -> bool
|
14
14
|
|
15
|
-
|
15
|
+
@hash: Integer
|
16
|
+
def hash: () -> Integer
|
16
17
|
|
17
18
|
alias eql? ==
|
18
19
|
|
19
|
-
def subst: (
|
20
|
+
def subst: (Interface::Substitution s) -> t
|
20
21
|
|
21
|
-
def to_s: () ->
|
22
|
+
def to_s: () -> String
|
22
23
|
|
23
|
-
|
24
|
+
@fvs: Set[variable]
|
25
|
+
def free_variables: () -> Set[variable]
|
24
26
|
|
25
27
|
include Helper::ChildrenLevel
|
26
28
|
|
27
|
-
def each_child: ()
|
29
|
+
def each_child: () { (t) -> void } -> void
|
30
|
+
| () -> Enumerator[t, void]
|
28
31
|
|
29
32
|
def level: () -> Array[Integer]
|
30
33
|
|
31
|
-
def with_location: (untyped new_location) ->
|
34
|
+
def with_location: (untyped new_location) -> Intersection
|
32
35
|
end
|
33
36
|
end
|
34
37
|
end
|
@@ -4,9 +4,11 @@ module Steep
|
|
4
4
|
class Literal
|
5
5
|
attr_reader location: untyped
|
6
6
|
|
7
|
-
|
7
|
+
type value = Integer | String | Symbol | TrueClass | FalseClass
|
8
8
|
|
9
|
-
|
9
|
+
attr_reader value: value
|
10
|
+
|
11
|
+
def initialize: (value: value, ?location: untyped?) -> void
|
10
12
|
|
11
13
|
def ==: (untyped other) -> bool
|
12
14
|
|
@@ -14,7 +16,7 @@ module Steep
|
|
14
16
|
|
15
17
|
alias eql? ==
|
16
18
|
|
17
|
-
def subst: (Interface::Substitution s) ->
|
19
|
+
def subst: (Interface::Substitution s) -> Literal
|
18
20
|
|
19
21
|
def to_s: () -> String
|
20
22
|
|
@@ -24,7 +26,7 @@ module Steep
|
|
24
26
|
|
25
27
|
def level: () -> Array[Integer]
|
26
28
|
|
27
|
-
def with_location: (untyped new_location) ->
|
29
|
+
def with_location: (untyped new_location) -> Literal
|
28
30
|
|
29
31
|
def back_type: () -> AST::Types::Name::Instance
|
30
32
|
end
|
@@ -2,24 +2,22 @@ module Steep
|
|
2
2
|
module AST
|
3
3
|
module Types
|
4
4
|
module Logic
|
5
|
-
type loc = RBS::Location[untyped, untyped]
|
6
|
-
|
7
5
|
class Base
|
8
6
|
attr_reader location: untyped
|
9
7
|
|
10
|
-
def subst: (
|
8
|
+
def subst: (Interface::Substitution s) -> self
|
11
9
|
|
12
|
-
|
10
|
+
include Helper::NoFreeVariables
|
13
11
|
|
14
12
|
include Helper::NoChild
|
15
13
|
|
16
|
-
def hash: () ->
|
14
|
+
def hash: () -> Integer
|
17
15
|
|
18
|
-
def ==: (untyped other) ->
|
16
|
+
def ==: (untyped other) -> bool
|
19
17
|
|
20
18
|
alias eql? ==
|
21
19
|
|
22
|
-
def to_s: () ->
|
20
|
+
def to_s: () -> String
|
23
21
|
|
24
22
|
def level: () -> Array[Integer]
|
25
23
|
end
|
@@ -62,7 +60,7 @@ module Steep
|
|
62
60
|
|
63
61
|
attr_reader type: t
|
64
62
|
|
65
|
-
def initialize: (truthy: TypeInference::TypeEnv, falsy: TypeInference::TypeEnv, type: t, ?location:
|
63
|
+
def initialize: (truthy: TypeInference::TypeEnv, falsy: TypeInference::TypeEnv, type: t, ?location: untyped) -> void
|
66
64
|
|
67
65
|
def ==: (untyped other) -> bool
|
68
66
|
|
@@ -70,7 +68,7 @@ module Steep
|
|
70
68
|
|
71
69
|
def hash: () -> Integer
|
72
70
|
|
73
|
-
def inspect: () ->
|
71
|
+
def inspect: () -> String
|
74
72
|
|
75
73
|
alias to_s inspect
|
76
74
|
end
|
@@ -1,6 +1,8 @@
|
|
1
1
|
module Steep
|
2
2
|
module AST
|
3
3
|
module Types
|
4
|
+
# Types with names
|
5
|
+
#
|
4
6
|
module Name
|
5
7
|
class Base
|
6
8
|
attr_reader location: untyped
|
@@ -25,15 +27,17 @@ module Steep
|
|
25
27
|
|
26
28
|
alias eql? ==
|
27
29
|
|
30
|
+
@hash: Integer
|
28
31
|
def hash: () -> Integer
|
29
32
|
|
30
33
|
def to_s: () -> ::String
|
31
34
|
|
32
|
-
def with_location: (untyped new_location) ->
|
35
|
+
def with_location: (untyped new_location) -> self
|
33
36
|
|
34
37
|
def subst: (Steep::Interface::Substitution s) -> self
|
35
38
|
|
36
|
-
|
39
|
+
@fvs: Set[variable]
|
40
|
+
def free_variables: () -> Set[variable]
|
37
41
|
|
38
42
|
def each_child: () { (t) -> void } -> void
|
39
43
|
| () -> Enumerator[t, void]
|
@@ -52,7 +56,7 @@ module Steep
|
|
52
56
|
|
53
57
|
def to_s: () -> ::String
|
54
58
|
|
55
|
-
def with_location: (untyped new_location) ->
|
59
|
+
def with_location: (untyped new_location) -> Singleton
|
56
60
|
|
57
61
|
include Helper::NoChild
|
58
62
|
end
|
data/sig/steep/ast/types/nil.rbs
CHANGED
@@ -6,15 +6,15 @@ module Steep
|
|
6
6
|
|
7
7
|
def initialize: (?location: untyped?) -> void
|
8
8
|
|
9
|
-
def ==: (untyped other) ->
|
9
|
+
def ==: (untyped other) -> bool
|
10
10
|
|
11
|
-
def hash: () ->
|
11
|
+
def hash: () -> Integer
|
12
12
|
|
13
13
|
alias eql? ==
|
14
14
|
|
15
|
-
def subst: (
|
15
|
+
def subst: (Interface::Substitution s) -> Nil
|
16
16
|
|
17
|
-
def to_s: () ->
|
17
|
+
def to_s: () -> String
|
18
18
|
|
19
19
|
include Helper::NoFreeVariables
|
20
20
|
|
@@ -22,9 +22,9 @@ module Steep
|
|
22
22
|
|
23
23
|
def level: () -> Array[Integer]
|
24
24
|
|
25
|
-
def with_location: (untyped new_location) ->
|
25
|
+
def with_location: (untyped new_location) -> Nil
|
26
26
|
|
27
|
-
def back_type: () ->
|
27
|
+
def back_type: () -> Name::Instance
|
28
28
|
end
|
29
29
|
end
|
30
30
|
end
|
@@ -22,18 +22,23 @@ module Steep
|
|
22
22
|
|
23
23
|
def to_s: () -> ::String
|
24
24
|
|
25
|
-
|
25
|
+
@fvs: Set[variable]
|
26
|
+
def free_variables: () -> Set[variable]
|
26
27
|
|
27
28
|
include Helper::ChildrenLevel
|
28
29
|
|
29
30
|
def level: () -> Array[Integer]
|
30
31
|
|
31
|
-
def closed?: () -> bool
|
32
|
-
|
33
32
|
def with_location: (untyped new_location) -> Proc
|
34
33
|
|
35
34
|
def map_type: () { (AST::Types::t) -> AST::Types::t } -> Proc
|
36
35
|
|
36
|
+
# Returns true if the proc requires exactly one argument
|
37
|
+
#
|
38
|
+
# * One required argument,
|
39
|
+
# * No optional/rest argument, and
|
40
|
+
# * No keywords
|
41
|
+
#
|
37
42
|
def one_arg?: () -> bool
|
38
43
|
|
39
44
|
def back_type: () -> AST::Types::t
|
@@ -2,15 +2,13 @@ module Steep
|
|
2
2
|
module AST
|
3
3
|
module Types
|
4
4
|
class Record
|
5
|
-
type loc = RBS::Location[untyped, untyped]
|
6
|
-
|
7
5
|
type key = Symbol | String | Integer
|
8
6
|
|
9
|
-
attr_reader location:
|
7
|
+
attr_reader location: untyped
|
10
8
|
|
11
9
|
attr_reader elements: Hash[key, t]
|
12
10
|
|
13
|
-
def initialize: (elements: Hash[key, t], ?location:
|
11
|
+
def initialize: (elements: Hash[key, t], ?location: untyped) -> void
|
14
12
|
|
15
13
|
def ==: (untyped other) -> bool
|
16
14
|
|
@@ -18,11 +16,12 @@ module Steep
|
|
18
16
|
|
19
17
|
alias eql? ==
|
20
18
|
|
21
|
-
def subst: (Interface::Substitution s) ->
|
19
|
+
def subst: (Interface::Substitution s) -> Record
|
22
20
|
|
23
|
-
def to_s: () ->
|
21
|
+
def to_s: () -> String
|
24
22
|
|
25
|
-
|
23
|
+
@fvs: Set[variable]
|
24
|
+
def free_variables: () -> Set[variable]
|
26
25
|
|
27
26
|
include Helper::ChildrenLevel
|
28
27
|
|
@@ -31,7 +30,7 @@ module Steep
|
|
31
30
|
|
32
31
|
def level: () -> Array[Integer]
|
33
32
|
|
34
|
-
def with_location: (
|
33
|
+
def with_location: (untyped new_location) -> Record
|
35
34
|
end
|
36
35
|
end
|
37
36
|
end
|
@@ -6,23 +6,24 @@ module Steep
|
|
6
6
|
|
7
7
|
def initialize: (?location: untyped?) -> void
|
8
8
|
|
9
|
-
def ==: (untyped other) ->
|
9
|
+
def ==: (untyped other) -> bool
|
10
10
|
|
11
|
-
def hash: () ->
|
11
|
+
def hash: () -> Integer
|
12
12
|
|
13
13
|
alias eql? ==
|
14
14
|
|
15
|
-
def to_s: () ->
|
15
|
+
def to_s: () -> String
|
16
16
|
|
17
17
|
include Helper::NoChild
|
18
18
|
|
19
|
-
def subst: (
|
19
|
+
def subst: (Interface::Substitution s) -> t
|
20
20
|
|
21
|
-
|
21
|
+
@@fvs: Set[variable]
|
22
|
+
def free_variables: () -> Set[variable]
|
22
23
|
|
23
24
|
def level: () -> Array[Integer]
|
24
25
|
|
25
|
-
def with_location: (untyped new_location) ->
|
26
|
+
def with_location: (untyped new_location) -> Self
|
26
27
|
|
27
28
|
self.@instance: Self
|
28
29
|
def self.instance: () -> Self
|
data/sig/steep/ast/types/top.rbs
CHANGED
@@ -6,23 +6,23 @@ module Steep
|
|
6
6
|
|
7
7
|
def initialize: (?location: untyped?) -> void
|
8
8
|
|
9
|
-
def ==: (untyped other) ->
|
9
|
+
def ==: (untyped other) -> bool
|
10
10
|
|
11
|
-
def hash: () ->
|
11
|
+
def hash: () -> Integer
|
12
12
|
|
13
13
|
alias eql? ==
|
14
14
|
|
15
|
-
def subst: (
|
15
|
+
def subst: (Interface::Substitution s) -> Top
|
16
16
|
|
17
|
-
def to_s: () ->
|
17
|
+
def to_s: () -> String
|
18
18
|
|
19
19
|
include Helper::NoFreeVariables
|
20
20
|
|
21
21
|
include Helper::NoChild
|
22
22
|
|
23
23
|
def level: () -> Array[Integer]
|
24
|
-
|
25
|
-
def with_location: (untyped new_location) ->
|
24
|
+
|
25
|
+
def with_location: (untyped new_location) -> Top
|
26
26
|
end
|
27
27
|
end
|
28
28
|
end
|
@@ -4,9 +4,9 @@ module Steep
|
|
4
4
|
class Tuple
|
5
5
|
attr_reader types: Array[t]
|
6
6
|
|
7
|
-
attr_reader location:
|
7
|
+
attr_reader location: untyped
|
8
8
|
|
9
|
-
def initialize: (types: Array[t], ?location:
|
9
|
+
def initialize: (types: Array[t], ?location: untyped) -> void
|
10
10
|
|
11
11
|
def ==: (untyped other) -> bool
|
12
12
|
|
@@ -18,7 +18,8 @@ module Steep
|
|
18
18
|
|
19
19
|
def to_s: () -> ::String
|
20
20
|
|
21
|
-
|
21
|
+
@fvs: Set[variable]
|
22
|
+
def free_variables: () -> Set[variable]
|
22
23
|
|
23
24
|
include Helper::ChildrenLevel
|
24
25
|
|
@@ -27,7 +28,7 @@ module Steep
|
|
27
28
|
|
28
29
|
def level: () -> Array[Integer]
|
29
30
|
|
30
|
-
def with_location: (
|
31
|
+
def with_location: (untyped new_location) -> Tuple
|
31
32
|
end
|
32
33
|
end
|
33
34
|
end
|
@@ -4,25 +4,25 @@ module Steep
|
|
4
4
|
class Union
|
5
5
|
attr_reader types: Array[t]
|
6
6
|
|
7
|
-
|
7
|
+
attr_reader location: untyped
|
8
8
|
|
9
|
-
|
9
|
+
def initialize: (types: Array[t], ?location: untyped) -> void
|
10
10
|
|
11
|
-
def
|
12
|
-
|
13
|
-
def self.build: (types: Array[t], ?location: loc?) -> t
|
11
|
+
def self.build: (types: Array[t], ?location: untyped) -> t
|
14
12
|
|
15
13
|
def ==: (untyped other) -> bool
|
16
14
|
|
15
|
+
@hash: Integer
|
17
16
|
def hash: () -> Integer
|
18
17
|
|
19
18
|
alias eql? ==
|
20
19
|
|
21
|
-
def subst: (Interface::Substitution s) ->
|
20
|
+
def subst: (Interface::Substitution s) -> t
|
22
21
|
|
23
22
|
def to_s: () -> ::String
|
24
23
|
|
25
|
-
|
24
|
+
@fvs: Set[variable]
|
25
|
+
def free_variables: () -> Set[variable]
|
26
26
|
|
27
27
|
def each_child: () { (t) -> void } -> void
|
28
28
|
| () -> Enumerator[t, void]
|
@@ -31,7 +31,7 @@ module Steep
|
|
31
31
|
|
32
32
|
def level: () -> Array[Integer]
|
33
33
|
|
34
|
-
def with_location: (
|
34
|
+
def with_location: (untyped new_location) -> Union
|
35
35
|
end
|
36
36
|
end
|
37
37
|
end
|
data/sig/steep/ast/types/var.rbs
CHANGED
@@ -1,36 +1,41 @@
|
|
1
1
|
module Steep
|
2
2
|
module AST
|
3
3
|
module Types
|
4
|
+
# Type variables
|
4
5
|
class Var
|
5
|
-
attr_reader name:
|
6
|
+
attr_reader name: Symbol
|
6
7
|
|
7
8
|
attr_reader location: untyped
|
8
9
|
|
9
|
-
def initialize: (name:
|
10
|
+
def initialize: (name: Symbol, ?location: untyped?) -> void
|
10
11
|
|
11
|
-
def ==: (untyped other) ->
|
12
|
+
def ==: (untyped other) -> bool
|
12
13
|
|
13
|
-
def hash: () ->
|
14
|
+
def hash: () -> Integer
|
14
15
|
|
15
16
|
alias eql? ==
|
16
17
|
|
17
|
-
|
18
|
+
self.@mutex: Thread::Mutex
|
19
|
+
self.@max: Integer
|
20
|
+
|
21
|
+
def self.fresh_name: (Symbol name) -> Symbol
|
18
22
|
|
19
23
|
def self.fresh: (Symbol name, ?location: untyped?) -> Var
|
20
24
|
|
21
|
-
def to_s: () ->
|
25
|
+
def to_s: () -> String
|
22
26
|
|
23
|
-
def subst: (
|
27
|
+
def subst: (Interface::Substitution s) -> t
|
24
28
|
|
25
|
-
|
29
|
+
@fvs: Set[variable]
|
30
|
+
def free_variables: () -> Set[variable]
|
26
31
|
|
27
32
|
include Helper::NoChild
|
28
33
|
|
29
34
|
def level: () -> Array[Integer]
|
30
|
-
|
31
|
-
def update: (?name: untyped, ?location: untyped) -> untyped
|
32
35
|
|
33
|
-
def
|
36
|
+
def update: (?name: Symbol, ?location: untyped) -> Var
|
37
|
+
|
38
|
+
def with_location: (untyped new_location) -> Var
|
34
39
|
end
|
35
40
|
end
|
36
41
|
end
|
@@ -6,15 +6,15 @@ module Steep
|
|
6
6
|
|
7
7
|
def initialize: (?location: untyped?) -> void
|
8
8
|
|
9
|
-
def ==: (untyped other) ->
|
9
|
+
def ==: (untyped other) -> bool
|
10
10
|
|
11
|
-
def hash: () ->
|
11
|
+
def hash: () -> Integer
|
12
12
|
|
13
13
|
alias eql? ==
|
14
14
|
|
15
|
-
def subst: (
|
15
|
+
def subst: (Interface::Substitution s) -> Void
|
16
16
|
|
17
|
-
def to_s: () ->
|
17
|
+
def to_s: () -> String
|
18
18
|
|
19
19
|
include Helper::NoFreeVariables
|
20
20
|
|
@@ -22,7 +22,7 @@ module Steep
|
|
22
22
|
|
23
23
|
def level: () -> Array[Integer]
|
24
24
|
|
25
|
-
def with_location: (untyped new_location) ->
|
25
|
+
def with_location: (untyped new_location) -> Void
|
26
26
|
end
|
27
27
|
end
|
28
28
|
end
|
data/sig/steep/ast/types.rbs
CHANGED
@@ -5,33 +5,12 @@ module Steep
|
|
5
5
|
| Class | Instance | Self
|
6
6
|
| Intersection | Record | Tuple | Union
|
7
7
|
| Name::Alias | Name::Instance | Name::Interface | Name::Singleton
|
8
|
-
| Proc | Var
|
8
|
+
| Proc | Var
|
9
|
+
| Logic::Not | Logic::ReceiverIsNil | Logic::ReceiverIsNotNil | Logic::ReceiverIsArg | Logic::ArgIsReceiver | Logic::ArgEqualsReceiver | Logic::Env
|
9
10
|
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
attr_reader type: untyped
|
14
|
-
|
15
|
-
attr_reader mask: untyped
|
16
|
-
|
17
|
-
def initialize: (type: untyped, mask: untyped, location: untyped) -> void
|
18
|
-
|
19
|
-
def ==: (untyped other) -> untyped
|
20
|
-
|
21
|
-
alias eql? ==
|
22
|
-
|
23
|
-
def hash: () -> untyped
|
24
|
-
|
25
|
-
def to_json: (*untyped a) -> untyped
|
26
|
-
|
27
|
-
def to_s: (?::Integer level) -> ::String
|
28
|
-
|
29
|
-
def free_variables: () -> untyped
|
30
|
-
|
31
|
-
def each_type: () { (untyped) -> untyped } -> untyped
|
32
|
-
|
33
|
-
def sub: (untyped s) -> untyped
|
34
|
-
end
|
11
|
+
# Variables and special types that is subject for substitution
|
12
|
+
#
|
13
|
+
type variable = Symbol | Class | Instance | Self
|
35
14
|
end
|
36
15
|
end
|
37
16
|
end
|
@@ -2,28 +2,28 @@ module Steep
|
|
2
2
|
module Interface
|
3
3
|
class Substitution
|
4
4
|
class InvalidSubstitutionError < StandardError
|
5
|
-
attr_reader vars_size:
|
5
|
+
attr_reader vars_size: Integer
|
6
6
|
|
7
|
-
attr_reader types_size:
|
7
|
+
attr_reader types_size: Integer
|
8
8
|
|
9
|
-
def initialize: (vars_size:
|
9
|
+
def initialize: (vars_size: Integer, types_size: Integer) -> void
|
10
10
|
end
|
11
11
|
|
12
12
|
attr_reader dictionary: Hash[Symbol, AST::Types::t]
|
13
13
|
|
14
|
-
attr_reader instance_type: AST::Types::t
|
14
|
+
attr_reader instance_type: AST::Types::t?
|
15
15
|
|
16
|
-
attr_reader module_type: AST::Types::t
|
16
|
+
attr_reader module_type: AST::Types::t?
|
17
17
|
|
18
|
-
attr_reader self_type: AST::Types::t
|
18
|
+
attr_reader self_type: AST::Types::t?
|
19
19
|
|
20
|
-
def initialize: (dictionary: Hash[Symbol, AST::Types::t], instance_type: AST::Types::t
|
20
|
+
def initialize: (dictionary: Hash[Symbol, AST::Types::t], instance_type: AST::Types::t?, module_type: AST::Types::t?, self_type: AST::Types::t?) -> void
|
21
21
|
|
22
22
|
def self.empty: () -> instance
|
23
23
|
|
24
24
|
def empty?: () -> bool
|
25
25
|
|
26
|
-
def domain: () -> Set[AST::Types::
|
26
|
+
def domain: () -> Set[AST::Types::variable]
|
27
27
|
|
28
28
|
def to_s: () -> ::String
|
29
29
|
|
@@ -31,7 +31,7 @@ module Steep
|
|
31
31
|
|
32
32
|
def key?: (Symbol var) -> bool
|
33
33
|
|
34
|
-
def self.build: (Array[Symbol] vars, ?Array[AST::Types::t]? types, ?instance_type: AST::Types::t
|
34
|
+
def self.build: (Array[Symbol] vars, ?Array[AST::Types::t]? types, ?instance_type: AST::Types::t?, ?module_type: AST::Types::t?, ?self_type: AST::Types::t?) -> Substitution
|
35
35
|
|
36
36
|
def except: (Array[Symbol] vars) -> Substitution
|
37
37
|
|
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", ">= 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"
|
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
|
4
|
+
version: 1.3.0
|
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-25 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
|
@@ -261,7 +261,6 @@ files:
|
|
261
261
|
- lib/steep/ast/node/type_application.rb
|
262
262
|
- lib/steep/ast/node/type_assertion.rb
|
263
263
|
- lib/steep/ast/type_params.rb
|
264
|
-
- lib/steep/ast/types.rb
|
265
264
|
- lib/steep/ast/types/any.rb
|
266
265
|
- lib/steep/ast/types/boolean.rb
|
267
266
|
- lib/steep/ast/types/bot.rb
|
@@ -764,9 +763,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
764
763
|
version: 2.6.0
|
765
764
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
766
765
|
requirements:
|
767
|
-
- - "
|
766
|
+
- - ">="
|
768
767
|
- !ruby/object:Gem::Version
|
769
|
-
version:
|
768
|
+
version: '0'
|
770
769
|
requirements: []
|
771
770
|
rubygems_version: 3.3.7
|
772
771
|
signing_key:
|