steep 1.7.0.dev.4 → 1.7.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 +43 -0
- data/README.md +18 -0
- data/guides/src/gem-rbs-collection/gem-rbs-collection.md +7 -24
- data/lib/steep/rake_task.rb +132 -0
- data/lib/steep/type_construction.rb +1 -0
- data/lib/steep/version.rb +1 -1
- data/steep.gemspec +4 -1
- metadata +4 -143
- data/.github/dependabot.yml +0 -28
- data/.github/workflows/ruby-windows.yml +0 -35
- data/.github/workflows/ruby.yml +0 -32
- data/.vscode/steep-shared.code-snippets +0 -41
- data/Gemfile +0 -14
- data/Gemfile.lock +0 -104
- data/Gemfile.steep +0 -0
- data/gemfile_steep/Gemfile +0 -3
- data/gemfile_steep/Gemfile.lock +0 -77
- data/rbs_collection.steep.lock.yaml +0 -108
- data/rbs_collection.steep.yaml +0 -23
- data/sig/shims/bundler.rbs +0 -3
- data/sig/shims/concurrent-ruby.rbs +0 -39
- data/sig/shims/exception.rbs +0 -4
- data/sig/shims/language-server_protocol.rbs +0 -450
- data/sig/shims/parser/comment.rbs +0 -33
- data/sig/shims/parser/nodes.rbs +0 -252
- data/sig/shims/parser/source/map.rbs +0 -146
- data/sig/shims/parser/source/range.rbs +0 -237
- data/sig/shims/parser.rbs +0 -69
- data/sig/shims/string.rbs +0 -4
- data/sig/shims/tagged_logging.rbs +0 -6
- data/sig/shims/yaml.rbs +0 -4
- data/sig/steep/annotation_parser.rbs +0 -60
- data/sig/steep/ast/annotation/collection.rbs +0 -78
- data/sig/steep/ast/annotation.rbs +0 -121
- data/sig/steep/ast/builtin.rbs +0 -69
- data/sig/steep/ast/ignore.rbs +0 -66
- data/sig/steep/ast/node/type_application.rbs +0 -31
- data/sig/steep/ast/node/type_assertion.rbs +0 -32
- data/sig/steep/ast/types/any.rbs +0 -29
- data/sig/steep/ast/types/boolean.rbs +0 -31
- data/sig/steep/ast/types/bot.rbs +0 -29
- data/sig/steep/ast/types/class.rbs +0 -33
- data/sig/steep/ast/types/factory.rbs +0 -110
- data/sig/steep/ast/types/helper.rbs +0 -24
- data/sig/steep/ast/types/instance.rbs +0 -33
- data/sig/steep/ast/types/intersection.rbs +0 -40
- data/sig/steep/ast/types/literal.rbs +0 -35
- data/sig/steep/ast/types/logic.rbs +0 -83
- data/sig/steep/ast/types/name.rbs +0 -84
- data/sig/steep/ast/types/nil.rbs +0 -31
- data/sig/steep/ast/types/proc.rbs +0 -53
- data/sig/steep/ast/types/record.rbs +0 -39
- data/sig/steep/ast/types/self.rbs +0 -33
- data/sig/steep/ast/types/top.rbs +0 -29
- data/sig/steep/ast/types/tuple.rbs +0 -37
- data/sig/steep/ast/types/union.rbs +0 -40
- data/sig/steep/ast/types/var.rbs +0 -42
- data/sig/steep/ast/types/void.rbs +0 -29
- data/sig/steep/ast/types.rbs +0 -16
- data/sig/steep/cli.rbs +0 -55
- data/sig/steep/diagnostic/deprecated/else_on_exhaustive_case.rbs +0 -13
- data/sig/steep/diagnostic/deprecated/unknown_constant_assigned.rbs +0 -15
- data/sig/steep/diagnostic/helper.rbs +0 -15
- data/sig/steep/diagnostic/lsp_formatter.rbs +0 -36
- data/sig/steep/diagnostic/ruby.rbs +0 -703
- data/sig/steep/diagnostic/signature.rbs +0 -252
- data/sig/steep/drivers/annotations.rbs +0 -17
- data/sig/steep/drivers/check.rbs +0 -33
- data/sig/steep/drivers/checkfile.rbs +0 -27
- data/sig/steep/drivers/diagnostic_printer.rbs +0 -25
- data/sig/steep/drivers/init.rbs +0 -19
- data/sig/steep/drivers/langserver.rbs +0 -36
- data/sig/steep/drivers/print_project.rbs +0 -15
- data/sig/steep/drivers/stats.rbs +0 -47
- data/sig/steep/drivers/utils/driver_helper.rbs +0 -25
- data/sig/steep/drivers/utils/jobs_option.rbs +0 -19
- data/sig/steep/drivers/validate.rbs +0 -15
- data/sig/steep/drivers/vendor.rbs +0 -19
- data/sig/steep/drivers/watch.rbs +0 -27
- data/sig/steep/drivers/worker.rbs +0 -29
- data/sig/steep/equatable.rbs +0 -11
- data/sig/steep/expectations.rbs +0 -72
- data/sig/steep/index/rbs_index.rbs +0 -141
- data/sig/steep/index/signature_symbol_provider.rbs +0 -41
- data/sig/steep/index/source_index.rbs +0 -63
- data/sig/steep/interface/block.rbs +0 -41
- data/sig/steep/interface/builder.rbs +0 -111
- data/sig/steep/interface/function.rbs +0 -271
- data/sig/steep/interface/method_type.rbs +0 -105
- data/sig/steep/interface/shape.rbs +0 -80
- data/sig/steep/interface/substitution.rbs +0 -51
- data/sig/steep/interface/type_param.rbs +0 -43
- data/sig/steep/method_name.rbs +0 -30
- data/sig/steep/module_helper.rbs +0 -16
- data/sig/steep/node_helper.rbs +0 -91
- data/sig/steep/path_helper.rbs +0 -15
- data/sig/steep/project/dsl.rbs +0 -108
- data/sig/steep/project/options.rbs +0 -47
- data/sig/steep/project/pattern.rbs +0 -47
- data/sig/steep/project/target.rbs +0 -25
- data/sig/steep/project.rbs +0 -26
- data/sig/steep/range_extension.rbs +0 -7
- data/sig/steep/server/base_worker.rbs +0 -49
- data/sig/steep/server/change_buffer.rbs +0 -38
- data/sig/steep/server/delay_queue.rbs +0 -37
- data/sig/steep/server/interaction_worker.rbs +0 -90
- data/sig/steep/server/lsp_formatter.rbs +0 -63
- data/sig/steep/server/master.rbs +0 -299
- data/sig/steep/server/type_check_worker.rbs +0 -141
- data/sig/steep/server/worker_process.rbs +0 -97
- data/sig/steep/services/completion_provider.rbs +0 -264
- data/sig/steep/services/content_change.rbs +0 -37
- data/sig/steep/services/file_loader.rbs +0 -21
- data/sig/steep/services/goto_service.rbs +0 -106
- data/sig/steep/services/hover_provider/rbs.rbs +0 -47
- data/sig/steep/services/hover_provider/ruby.rbs +0 -127
- data/sig/steep/services/hover_provider/singleton_methods.rbs +0 -11
- data/sig/steep/services/path_assignment.rbs +0 -21
- data/sig/steep/services/signature_help_provider.rbs +0 -51
- data/sig/steep/services/signature_service.rbs +0 -156
- data/sig/steep/services/stats_calculator.rbs +0 -41
- data/sig/steep/services/type_check_service.rbs +0 -112
- data/sig/steep/services/type_name_completion.rbs +0 -135
- data/sig/steep/signature/validator.rbs +0 -85
- data/sig/steep/source/ignore_ranges.rbs +0 -38
- data/sig/steep/source.rbs +0 -105
- data/sig/steep/subtyping/cache.rbs +0 -17
- data/sig/steep/subtyping/check.rbs +0 -131
- data/sig/steep/subtyping/constraints.rbs +0 -111
- data/sig/steep/subtyping/relation.rbs +0 -63
- data/sig/steep/subtyping/result.rbs +0 -179
- data/sig/steep/subtyping/variable_variance.rbs +0 -25
- data/sig/steep/thread_waiter.rbs +0 -13
- data/sig/steep/type_construction.rbs +0 -542
- data/sig/steep/type_inference/block_params.rbs +0 -170
- data/sig/steep/type_inference/case_when.rbs +0 -130
- data/sig/steep/type_inference/constant_env.rbs +0 -29
- data/sig/steep/type_inference/context.rbs +0 -216
- data/sig/steep/type_inference/context_array.rbs +0 -38
- data/sig/steep/type_inference/logic_type_interpreter.rbs +0 -108
- data/sig/steep/type_inference/method_call.rbs +0 -124
- data/sig/steep/type_inference/method_params.rbs +0 -127
- data/sig/steep/type_inference/multiple_assignment.rbs +0 -76
- data/sig/steep/type_inference/send_args.rbs +0 -243
- data/sig/steep/type_inference/type_env.rbs +0 -160
- data/sig/steep/type_inference/type_env_builder.rbs +0 -81
- data/sig/steep/typing.rbs +0 -75
- data/sig/steep.rbs +0 -45
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
module Steep
|
|
2
|
-
module AST
|
|
3
|
-
module Types
|
|
4
|
-
module Logic
|
|
5
|
-
class Base
|
|
6
|
-
attr_reader location: untyped
|
|
7
|
-
|
|
8
|
-
def subst: (Interface::Substitution s) -> self
|
|
9
|
-
|
|
10
|
-
include Helper::NoFreeVariables
|
|
11
|
-
|
|
12
|
-
include Helper::NoChild
|
|
13
|
-
|
|
14
|
-
def hash: () -> Integer
|
|
15
|
-
|
|
16
|
-
def ==: (untyped other) -> bool
|
|
17
|
-
|
|
18
|
-
alias eql? ==
|
|
19
|
-
|
|
20
|
-
def to_s: () -> String
|
|
21
|
-
|
|
22
|
-
def level: () -> Array[Integer]
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
# A type for `!` (not) operator results.
|
|
26
|
-
class Not < Base
|
|
27
|
-
def initialize: (?location: untyped?) -> void
|
|
28
|
-
end
|
|
29
|
-
|
|
30
|
-
# A type for `foo.nil?` call results.
|
|
31
|
-
class ReceiverIsNil < Base
|
|
32
|
-
def initialize: (?location: untyped?) -> void
|
|
33
|
-
end
|
|
34
|
-
|
|
35
|
-
#
|
|
36
|
-
class ReceiverIsNotNil < Base
|
|
37
|
-
def initialize: (?location: untyped?) -> void
|
|
38
|
-
end
|
|
39
|
-
|
|
40
|
-
# A type for `receiver.is_a?(C)` call results.
|
|
41
|
-
class ReceiverIsArg < Base
|
|
42
|
-
def initialize: (?location: untyped?) -> void
|
|
43
|
-
end
|
|
44
|
-
|
|
45
|
-
# A type for `Class#===` call results.
|
|
46
|
-
class ArgIsReceiver < Base
|
|
47
|
-
def initialize: (?location: untyped?) -> void
|
|
48
|
-
end
|
|
49
|
-
|
|
50
|
-
# A type for `Object#===` call results.
|
|
51
|
-
class ArgEqualsReceiver < Base
|
|
52
|
-
def initialize: (?location: untyped?) -> void
|
|
53
|
-
end
|
|
54
|
-
|
|
55
|
-
# A type for `Class#<` or `Class#<=` call results.
|
|
56
|
-
class ArgIsAncestor < Base
|
|
57
|
-
def initialize: (?location: untyped?) -> void
|
|
58
|
-
end
|
|
59
|
-
|
|
60
|
-
# A type with truthy/falsy type environment.
|
|
61
|
-
class Env < Base
|
|
62
|
-
attr_reader truthy: TypeInference::TypeEnv
|
|
63
|
-
|
|
64
|
-
attr_reader falsy: TypeInference::TypeEnv
|
|
65
|
-
|
|
66
|
-
attr_reader type: t
|
|
67
|
-
|
|
68
|
-
def initialize: (truthy: TypeInference::TypeEnv, falsy: TypeInference::TypeEnv, type: t, ?location: untyped) -> void
|
|
69
|
-
|
|
70
|
-
def ==: (untyped other) -> bool
|
|
71
|
-
|
|
72
|
-
alias eql? ==
|
|
73
|
-
|
|
74
|
-
def hash: () -> Integer
|
|
75
|
-
|
|
76
|
-
def inspect: () -> String
|
|
77
|
-
|
|
78
|
-
alias to_s inspect
|
|
79
|
-
end
|
|
80
|
-
end
|
|
81
|
-
end
|
|
82
|
-
end
|
|
83
|
-
end
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
module Steep
|
|
2
|
-
module AST
|
|
3
|
-
module Types
|
|
4
|
-
# Types with names
|
|
5
|
-
#
|
|
6
|
-
module Name
|
|
7
|
-
class Base
|
|
8
|
-
attr_reader location: untyped
|
|
9
|
-
|
|
10
|
-
attr_reader name: RBS::TypeName
|
|
11
|
-
|
|
12
|
-
def initialize: (name: RBS::TypeName, ?location: untyped?) -> void
|
|
13
|
-
|
|
14
|
-
include Helper::NoFreeVariables
|
|
15
|
-
|
|
16
|
-
def subst: (Steep::Interface::Substitution s) -> self
|
|
17
|
-
|
|
18
|
-
def level: () -> Array[Integer]
|
|
19
|
-
|
|
20
|
-
def map_type: () { (t) -> t } -> self
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
class Applying < Base
|
|
24
|
-
attr_reader args: Array[t]
|
|
25
|
-
|
|
26
|
-
def initialize: (name: RBS::TypeName, args: Array[t], ?location: untyped?) -> void
|
|
27
|
-
|
|
28
|
-
def ==: (untyped other) -> bool
|
|
29
|
-
|
|
30
|
-
alias eql? ==
|
|
31
|
-
|
|
32
|
-
@hash: Integer
|
|
33
|
-
def hash: () -> Integer
|
|
34
|
-
|
|
35
|
-
def to_s: () -> ::String
|
|
36
|
-
|
|
37
|
-
def with_location: (untyped new_location) -> self
|
|
38
|
-
|
|
39
|
-
def subst: (Steep::Interface::Substitution s) -> self
|
|
40
|
-
|
|
41
|
-
@fvs: Set[variable]
|
|
42
|
-
def free_variables: () -> Set[variable]
|
|
43
|
-
|
|
44
|
-
def each_child: () { (t) -> void } -> void
|
|
45
|
-
| () -> Enumerator[t, void]
|
|
46
|
-
|
|
47
|
-
include Helper::ChildrenLevel
|
|
48
|
-
|
|
49
|
-
def level: () -> Array[Integer]
|
|
50
|
-
|
|
51
|
-
def map_type: () { (t) -> t } -> self
|
|
52
|
-
end
|
|
53
|
-
|
|
54
|
-
# Singleton of a class/module
|
|
55
|
-
class Singleton < Base
|
|
56
|
-
def ==: (untyped other) -> bool
|
|
57
|
-
|
|
58
|
-
alias eql? ==
|
|
59
|
-
|
|
60
|
-
def hash: () -> Integer
|
|
61
|
-
|
|
62
|
-
def to_s: () -> ::String
|
|
63
|
-
|
|
64
|
-
def with_location: (untyped new_location) -> Singleton
|
|
65
|
-
|
|
66
|
-
include Helper::NoChild
|
|
67
|
-
end
|
|
68
|
-
|
|
69
|
-
# An instance of a class/module
|
|
70
|
-
class Instance < Applying
|
|
71
|
-
def to_module: () -> Singleton
|
|
72
|
-
end
|
|
73
|
-
|
|
74
|
-
# An interface type
|
|
75
|
-
class Interface < Applying
|
|
76
|
-
end
|
|
77
|
-
|
|
78
|
-
# Type alias
|
|
79
|
-
class Alias < Applying
|
|
80
|
-
end
|
|
81
|
-
end
|
|
82
|
-
end
|
|
83
|
-
end
|
|
84
|
-
end
|
data/sig/steep/ast/types/nil.rbs
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
module Steep
|
|
2
|
-
module AST
|
|
3
|
-
module Types
|
|
4
|
-
class Nil
|
|
5
|
-
attr_reader location: untyped
|
|
6
|
-
|
|
7
|
-
def initialize: (?location: untyped?) -> void
|
|
8
|
-
|
|
9
|
-
def ==: (untyped other) -> bool
|
|
10
|
-
|
|
11
|
-
def hash: () -> Integer
|
|
12
|
-
|
|
13
|
-
alias eql? ==
|
|
14
|
-
|
|
15
|
-
def subst: (Interface::Substitution s) -> Nil
|
|
16
|
-
|
|
17
|
-
def to_s: () -> String
|
|
18
|
-
|
|
19
|
-
include Helper::NoFreeVariables
|
|
20
|
-
|
|
21
|
-
include Helper::NoChild
|
|
22
|
-
|
|
23
|
-
def level: () -> Array[Integer]
|
|
24
|
-
|
|
25
|
-
def with_location: (untyped new_location) -> Nil
|
|
26
|
-
|
|
27
|
-
def back_type: () -> Name::Instance
|
|
28
|
-
end
|
|
29
|
-
end
|
|
30
|
-
end
|
|
31
|
-
end
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
module Steep
|
|
2
|
-
module AST
|
|
3
|
-
module Types
|
|
4
|
-
class Proc
|
|
5
|
-
attr_reader location: untyped
|
|
6
|
-
|
|
7
|
-
attr_reader type: Interface::Function
|
|
8
|
-
|
|
9
|
-
attr_reader self_type: AST::Types::t?
|
|
10
|
-
|
|
11
|
-
attr_reader block: Interface::Block?
|
|
12
|
-
|
|
13
|
-
def initialize: (type: Interface::Function, self_type: AST::Types::t?, block: Interface::Block?, ?location: untyped) -> void
|
|
14
|
-
|
|
15
|
-
def ==: (untyped other) -> bool
|
|
16
|
-
|
|
17
|
-
def hash: () -> Integer
|
|
18
|
-
|
|
19
|
-
alias eql? ==
|
|
20
|
-
|
|
21
|
-
def subst: (Interface::Substitution s) -> Proc
|
|
22
|
-
|
|
23
|
-
def to_s: () -> ::String
|
|
24
|
-
|
|
25
|
-
@fvs: Set[variable]
|
|
26
|
-
def free_variables: () -> Set[variable]
|
|
27
|
-
|
|
28
|
-
include Helper::ChildrenLevel
|
|
29
|
-
|
|
30
|
-
def level: () -> Array[Integer]
|
|
31
|
-
|
|
32
|
-
def with_location: (untyped new_location) -> Proc
|
|
33
|
-
|
|
34
|
-
def map_type: () { (AST::Types::t) -> AST::Types::t } -> Proc
|
|
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
|
-
#
|
|
42
|
-
def one_arg?: () -> bool
|
|
43
|
-
|
|
44
|
-
def back_type: () -> AST::Types::t
|
|
45
|
-
|
|
46
|
-
def block_required?: () -> bool
|
|
47
|
-
|
|
48
|
-
def each_child: () { (AST::Types::t) -> void } -> void
|
|
49
|
-
| () -> Enumerator[AST::Types::t, void]
|
|
50
|
-
end
|
|
51
|
-
end
|
|
52
|
-
end
|
|
53
|
-
end
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
module Steep
|
|
2
|
-
module AST
|
|
3
|
-
module Types
|
|
4
|
-
class Record
|
|
5
|
-
type key = Symbol | String | Integer
|
|
6
|
-
|
|
7
|
-
attr_reader location: untyped
|
|
8
|
-
|
|
9
|
-
attr_reader elements: Hash[key, t]
|
|
10
|
-
|
|
11
|
-
def initialize: (elements: Hash[key, t], ?location: untyped) -> void
|
|
12
|
-
|
|
13
|
-
def ==: (untyped other) -> bool
|
|
14
|
-
|
|
15
|
-
def hash: () -> Integer
|
|
16
|
-
|
|
17
|
-
alias eql? ==
|
|
18
|
-
|
|
19
|
-
def subst: (Interface::Substitution s) -> Record
|
|
20
|
-
|
|
21
|
-
def to_s: () -> String
|
|
22
|
-
|
|
23
|
-
@fvs: Set[variable]
|
|
24
|
-
def free_variables: () -> Set[variable]
|
|
25
|
-
|
|
26
|
-
include Helper::ChildrenLevel
|
|
27
|
-
|
|
28
|
-
def each_child: () { (t) -> void } -> void
|
|
29
|
-
| () -> Enumerator[t, void]
|
|
30
|
-
|
|
31
|
-
def map_type: () { (t) -> t } -> Record
|
|
32
|
-
|
|
33
|
-
def level: () -> Array[Integer]
|
|
34
|
-
|
|
35
|
-
def with_location: (untyped new_location) -> Record
|
|
36
|
-
end
|
|
37
|
-
end
|
|
38
|
-
end
|
|
39
|
-
end
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
module Steep
|
|
2
|
-
module AST
|
|
3
|
-
module Types
|
|
4
|
-
class Self
|
|
5
|
-
attr_reader location: untyped
|
|
6
|
-
|
|
7
|
-
def initialize: (?location: untyped?) -> void
|
|
8
|
-
|
|
9
|
-
def ==: (untyped other) -> bool
|
|
10
|
-
|
|
11
|
-
def hash: () -> Integer
|
|
12
|
-
|
|
13
|
-
alias eql? ==
|
|
14
|
-
|
|
15
|
-
def to_s: () -> String
|
|
16
|
-
|
|
17
|
-
include Helper::NoChild
|
|
18
|
-
|
|
19
|
-
def subst: (Interface::Substitution s) -> t
|
|
20
|
-
|
|
21
|
-
@@fvs: Set[variable]
|
|
22
|
-
def free_variables: () -> Set[variable]
|
|
23
|
-
|
|
24
|
-
def level: () -> Array[Integer]
|
|
25
|
-
|
|
26
|
-
def with_location: (untyped new_location) -> Self
|
|
27
|
-
|
|
28
|
-
self.@instance: Self
|
|
29
|
-
def self.instance: () -> Self
|
|
30
|
-
end
|
|
31
|
-
end
|
|
32
|
-
end
|
|
33
|
-
end
|
data/sig/steep/ast/types/top.rbs
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
module Steep
|
|
2
|
-
module AST
|
|
3
|
-
module Types
|
|
4
|
-
class Top
|
|
5
|
-
attr_reader location: untyped
|
|
6
|
-
|
|
7
|
-
def initialize: (?location: untyped?) -> void
|
|
8
|
-
|
|
9
|
-
def ==: (untyped other) -> bool
|
|
10
|
-
|
|
11
|
-
def hash: () -> Integer
|
|
12
|
-
|
|
13
|
-
alias eql? ==
|
|
14
|
-
|
|
15
|
-
def subst: (Interface::Substitution s) -> Top
|
|
16
|
-
|
|
17
|
-
def to_s: () -> String
|
|
18
|
-
|
|
19
|
-
include Helper::NoFreeVariables
|
|
20
|
-
|
|
21
|
-
include Helper::NoChild
|
|
22
|
-
|
|
23
|
-
def level: () -> Array[Integer]
|
|
24
|
-
|
|
25
|
-
def with_location: (untyped new_location) -> Top
|
|
26
|
-
end
|
|
27
|
-
end
|
|
28
|
-
end
|
|
29
|
-
end
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
module Steep
|
|
2
|
-
module AST
|
|
3
|
-
module Types
|
|
4
|
-
class Tuple
|
|
5
|
-
attr_reader types: Array[t]
|
|
6
|
-
|
|
7
|
-
attr_reader location: untyped
|
|
8
|
-
|
|
9
|
-
def initialize: (types: Array[t], ?location: untyped) -> void
|
|
10
|
-
|
|
11
|
-
def ==: (untyped other) -> bool
|
|
12
|
-
|
|
13
|
-
def hash: () -> Integer
|
|
14
|
-
|
|
15
|
-
alias eql? ==
|
|
16
|
-
|
|
17
|
-
def subst: (Interface::Substitution s) -> Tuple
|
|
18
|
-
|
|
19
|
-
def to_s: () -> ::String
|
|
20
|
-
|
|
21
|
-
@fvs: Set[variable]
|
|
22
|
-
def free_variables: () -> Set[variable]
|
|
23
|
-
|
|
24
|
-
include Helper::ChildrenLevel
|
|
25
|
-
|
|
26
|
-
def each_child: () { (t) -> void } -> void
|
|
27
|
-
| () -> Enumerator[t, void]
|
|
28
|
-
|
|
29
|
-
def map_type: () { (t) -> t } -> Tuple
|
|
30
|
-
|
|
31
|
-
def level: () -> Array[Integer]
|
|
32
|
-
|
|
33
|
-
def with_location: (untyped new_location) -> Tuple
|
|
34
|
-
end
|
|
35
|
-
end
|
|
36
|
-
end
|
|
37
|
-
end
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
module Steep
|
|
2
|
-
module AST
|
|
3
|
-
module Types
|
|
4
|
-
class Union
|
|
5
|
-
attr_reader types: Array[t]
|
|
6
|
-
|
|
7
|
-
attr_reader location: untyped
|
|
8
|
-
|
|
9
|
-
def initialize: (types: Array[t], ?location: untyped) -> void
|
|
10
|
-
|
|
11
|
-
def self.build: (types: Array[t], ?location: untyped) -> t
|
|
12
|
-
|
|
13
|
-
def ==: (untyped other) -> bool
|
|
14
|
-
|
|
15
|
-
@hash: Integer
|
|
16
|
-
def hash: () -> Integer
|
|
17
|
-
|
|
18
|
-
alias eql? ==
|
|
19
|
-
|
|
20
|
-
def subst: (Interface::Substitution s) -> t
|
|
21
|
-
|
|
22
|
-
def to_s: () -> ::String
|
|
23
|
-
|
|
24
|
-
@fvs: Set[variable]
|
|
25
|
-
def free_variables: () -> Set[variable]
|
|
26
|
-
|
|
27
|
-
def each_child: () { (t) -> void } -> void
|
|
28
|
-
| () -> Enumerator[t, void]
|
|
29
|
-
|
|
30
|
-
def map_type: () { (t) -> t } -> t
|
|
31
|
-
|
|
32
|
-
include Helper::ChildrenLevel
|
|
33
|
-
|
|
34
|
-
def level: () -> Array[Integer]
|
|
35
|
-
|
|
36
|
-
def with_location: (untyped new_location) -> Union
|
|
37
|
-
end
|
|
38
|
-
end
|
|
39
|
-
end
|
|
40
|
-
end
|
data/sig/steep/ast/types/var.rbs
DELETED
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
module Steep
|
|
2
|
-
module AST
|
|
3
|
-
module Types
|
|
4
|
-
# Type variables
|
|
5
|
-
class Var
|
|
6
|
-
attr_reader name: Symbol
|
|
7
|
-
|
|
8
|
-
attr_reader location: untyped
|
|
9
|
-
|
|
10
|
-
def initialize: (name: Symbol, ?location: untyped?) -> void
|
|
11
|
-
|
|
12
|
-
def ==: (untyped other) -> bool
|
|
13
|
-
|
|
14
|
-
def hash: () -> Integer
|
|
15
|
-
|
|
16
|
-
alias eql? ==
|
|
17
|
-
|
|
18
|
-
self.@mutex: Thread::Mutex
|
|
19
|
-
self.@max: Integer
|
|
20
|
-
|
|
21
|
-
def self.fresh_name: (Symbol name) -> Symbol
|
|
22
|
-
|
|
23
|
-
def self.fresh: (Symbol name, ?location: untyped?) -> Var
|
|
24
|
-
|
|
25
|
-
def to_s: () -> String
|
|
26
|
-
|
|
27
|
-
def subst: (Interface::Substitution s) -> t
|
|
28
|
-
|
|
29
|
-
@fvs: Set[variable]
|
|
30
|
-
def free_variables: () -> Set[variable]
|
|
31
|
-
|
|
32
|
-
include Helper::NoChild
|
|
33
|
-
|
|
34
|
-
def level: () -> Array[Integer]
|
|
35
|
-
|
|
36
|
-
def update: (?name: Symbol, ?location: untyped) -> Var
|
|
37
|
-
|
|
38
|
-
def with_location: (untyped new_location) -> Var
|
|
39
|
-
end
|
|
40
|
-
end
|
|
41
|
-
end
|
|
42
|
-
end
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
module Steep
|
|
2
|
-
module AST
|
|
3
|
-
module Types
|
|
4
|
-
class Void
|
|
5
|
-
attr_reader location: untyped
|
|
6
|
-
|
|
7
|
-
def initialize: (?location: untyped?) -> void
|
|
8
|
-
|
|
9
|
-
def ==: (untyped other) -> bool
|
|
10
|
-
|
|
11
|
-
def hash: () -> Integer
|
|
12
|
-
|
|
13
|
-
alias eql? ==
|
|
14
|
-
|
|
15
|
-
def subst: (Interface::Substitution s) -> Void
|
|
16
|
-
|
|
17
|
-
def to_s: () -> String
|
|
18
|
-
|
|
19
|
-
include Helper::NoFreeVariables
|
|
20
|
-
|
|
21
|
-
include Helper::NoChild
|
|
22
|
-
|
|
23
|
-
def level: () -> Array[Integer]
|
|
24
|
-
|
|
25
|
-
def with_location: (untyped new_location) -> Void
|
|
26
|
-
end
|
|
27
|
-
end
|
|
28
|
-
end
|
|
29
|
-
end
|
data/sig/steep/ast/types.rbs
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
module Steep
|
|
2
|
-
module AST
|
|
3
|
-
module Types
|
|
4
|
-
type t = Any | Boolean | Bot | Nil | Top | Void | Literal
|
|
5
|
-
| Class | Instance | Self
|
|
6
|
-
| Intersection | Record | Tuple | Union
|
|
7
|
-
| Name::Alias | Name::Instance | Name::Interface | Name::Singleton
|
|
8
|
-
| Proc | Var
|
|
9
|
-
| Logic::Not | Logic::ReceiverIsNil | Logic::ReceiverIsNotNil | Logic::ReceiverIsArg | Logic::ArgIsReceiver | Logic::ArgEqualsReceiver | Logic::ArgIsAncestor | Logic::Env
|
|
10
|
-
|
|
11
|
-
# Variables and special types that is subject for substitution
|
|
12
|
-
#
|
|
13
|
-
type variable = Symbol | Class | Instance | Self
|
|
14
|
-
end
|
|
15
|
-
end
|
|
16
|
-
end
|
data/sig/steep/cli.rbs
DELETED
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
module Steep
|
|
2
|
-
class CLI
|
|
3
|
-
attr_reader argv: Array[String]
|
|
4
|
-
|
|
5
|
-
attr_reader stdout: IO
|
|
6
|
-
|
|
7
|
-
attr_reader stdin: IO
|
|
8
|
-
|
|
9
|
-
attr_reader stderr: IO
|
|
10
|
-
|
|
11
|
-
attr_reader command: Symbol
|
|
12
|
-
|
|
13
|
-
def initialize: (stdout: IO, stdin: IO, stderr: IO, argv: Array[String]) -> void
|
|
14
|
-
|
|
15
|
-
def self.available_commands: () -> ::Array[Symbol]
|
|
16
|
-
|
|
17
|
-
def process_global_options: () -> bool
|
|
18
|
-
|
|
19
|
-
def setup_command: () -> bool
|
|
20
|
-
|
|
21
|
-
def run: () -> Integer
|
|
22
|
-
|
|
23
|
-
def handle_logging_options: (OptionParser opts) -> void
|
|
24
|
-
|
|
25
|
-
def handle_jobs_option: (Drivers::Utils::JobsOption jobs_option, OptionParser opts) -> void
|
|
26
|
-
|
|
27
|
-
def setup_jobs_for_ci: (Drivers::Utils::JobsOption) -> void
|
|
28
|
-
|
|
29
|
-
def process_init: () -> Integer
|
|
30
|
-
|
|
31
|
-
def process_check: () -> Integer
|
|
32
|
-
|
|
33
|
-
def process_checkfile: () -> Integer
|
|
34
|
-
|
|
35
|
-
def process_stats: () -> Integer
|
|
36
|
-
|
|
37
|
-
def process_validate: () -> Integer
|
|
38
|
-
|
|
39
|
-
def process_annotations: () -> Integer
|
|
40
|
-
|
|
41
|
-
def process_project: () -> Integer
|
|
42
|
-
|
|
43
|
-
def process_watch: () -> Integer
|
|
44
|
-
|
|
45
|
-
def process_langserver: () -> Integer
|
|
46
|
-
|
|
47
|
-
def process_vendor: () -> Integer
|
|
48
|
-
|
|
49
|
-
def process_binstub: () -> Integer
|
|
50
|
-
|
|
51
|
-
def process_version: () -> Integer
|
|
52
|
-
|
|
53
|
-
def process_worker: () -> Integer
|
|
54
|
-
end
|
|
55
|
-
end
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
module Steep
|
|
2
|
-
module Diagnostic
|
|
3
|
-
module Ruby
|
|
4
|
-
class UnknownConstantAssigned < Base
|
|
5
|
-
attr_reader context: untyped
|
|
6
|
-
|
|
7
|
-
attr_reader name: untyped
|
|
8
|
-
|
|
9
|
-
def initialize: (node: untyped, context: untyped, name: untyped) -> void
|
|
10
|
-
|
|
11
|
-
def header_line: () -> ::String
|
|
12
|
-
end
|
|
13
|
-
end
|
|
14
|
-
end
|
|
15
|
-
end
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
module Steep
|
|
2
|
-
module Diagnostic
|
|
3
|
-
module Helper : _DiagnosticMessage
|
|
4
|
-
def error_name: () -> String
|
|
5
|
-
|
|
6
|
-
def full_message: () -> String
|
|
7
|
-
end
|
|
8
|
-
|
|
9
|
-
interface _DiagnosticMessage
|
|
10
|
-
%a{pure} def detail_lines: () -> String?
|
|
11
|
-
|
|
12
|
-
def header_line: () -> String
|
|
13
|
-
end
|
|
14
|
-
end
|
|
15
|
-
end
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
use LanguageServer::Protocol::Constant::DiagnosticSeverity as LSPDiagnosticSeverity
|
|
2
|
-
use LanguageServer::Protocol::Interface::Diagnostic as LSPDiagnostic
|
|
3
|
-
|
|
4
|
-
module Steep
|
|
5
|
-
module Diagnostic
|
|
6
|
-
class LSPFormatter
|
|
7
|
-
module LSP = LanguageServer::Protocol
|
|
8
|
-
|
|
9
|
-
type config = Hash[singleton(Diagnostic::Ruby::Base) | singleton(Diagnostic::Signature::Base), severity?]
|
|
10
|
-
|
|
11
|
-
type severity = :error | :warning | :information | :hint
|
|
12
|
-
|
|
13
|
-
attr_reader config: config
|
|
14
|
-
|
|
15
|
-
attr_reader default_severity: severity
|
|
16
|
-
|
|
17
|
-
ERROR: :error
|
|
18
|
-
|
|
19
|
-
WARNING: :warning
|
|
20
|
-
|
|
21
|
-
INFORMATION: :information
|
|
22
|
-
|
|
23
|
-
HINT: :hint
|
|
24
|
-
|
|
25
|
-
def initialize: (?config config, ?default_severity: severity) -> void
|
|
26
|
-
|
|
27
|
-
def validate_class: (Class klass) -> void
|
|
28
|
-
|
|
29
|
-
def validate_severity: (Class | :default klass, severity?) -> void
|
|
30
|
-
|
|
31
|
-
def format: (Diagnostic::Ruby::Base | Diagnostic::Signature::Base) -> LSPDiagnostic::json?
|
|
32
|
-
|
|
33
|
-
def severity_for: (Diagnostic::Ruby::Base | Diagnostic::Signature::Base) -> LSPDiagnosticSeverity::t?
|
|
34
|
-
end
|
|
35
|
-
end
|
|
36
|
-
end
|