steep 1.7.0.dev.3 → 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/doc/narrowing.md +1 -1
- data/doc/shape.md +176 -0
- data/guides/src/gem-rbs-collection/gem-rbs-collection.md +7 -24
- data/lib/steep/ast/types/factory.rb +27 -18
- data/lib/steep/ast/types/proc.rb +14 -9
- data/lib/steep/interface/block.rb +1 -1
- data/lib/steep/interface/builder.rb +1 -0
- data/lib/steep/interface/function.rb +14 -6
- data/lib/steep/interface/method_type.rb +15 -7
- data/lib/steep/project/pattern.rb +1 -2
- data/lib/steep/rake_task.rb +132 -0
- 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 +1 -1
- data/lib/steep/services/file_loader.rb +15 -20
- data/lib/steep/services/signature_help_provider.rb +11 -9
- data/lib/steep/signature/validator.rb +1 -1
- data/lib/steep/subtyping/check.rb +15 -6
- data/lib/steep/subtyping/variable_variance.rb +3 -3
- data/lib/steep/type_construction.rb +186 -149
- data/lib/steep/type_inference/block_params.rb +1 -1
- data/lib/steep/type_inference/logic_type_interpreter.rb +2 -1
- 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/steep.gemspec +5 -2
- metadata +7 -145
- 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 -152
- data/sig/steep/interface/function.rbs +0 -270
- 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
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
|