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.
Files changed (149) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +43 -0
  3. data/README.md +18 -0
  4. data/guides/src/gem-rbs-collection/gem-rbs-collection.md +7 -24
  5. data/lib/steep/rake_task.rb +132 -0
  6. data/lib/steep/type_construction.rb +1 -0
  7. data/lib/steep/version.rb +1 -1
  8. data/steep.gemspec +4 -1
  9. metadata +4 -143
  10. data/.github/dependabot.yml +0 -28
  11. data/.github/workflows/ruby-windows.yml +0 -35
  12. data/.github/workflows/ruby.yml +0 -32
  13. data/.vscode/steep-shared.code-snippets +0 -41
  14. data/Gemfile +0 -14
  15. data/Gemfile.lock +0 -104
  16. data/Gemfile.steep +0 -0
  17. data/gemfile_steep/Gemfile +0 -3
  18. data/gemfile_steep/Gemfile.lock +0 -77
  19. data/rbs_collection.steep.lock.yaml +0 -108
  20. data/rbs_collection.steep.yaml +0 -23
  21. data/sig/shims/bundler.rbs +0 -3
  22. data/sig/shims/concurrent-ruby.rbs +0 -39
  23. data/sig/shims/exception.rbs +0 -4
  24. data/sig/shims/language-server_protocol.rbs +0 -450
  25. data/sig/shims/parser/comment.rbs +0 -33
  26. data/sig/shims/parser/nodes.rbs +0 -252
  27. data/sig/shims/parser/source/map.rbs +0 -146
  28. data/sig/shims/parser/source/range.rbs +0 -237
  29. data/sig/shims/parser.rbs +0 -69
  30. data/sig/shims/string.rbs +0 -4
  31. data/sig/shims/tagged_logging.rbs +0 -6
  32. data/sig/shims/yaml.rbs +0 -4
  33. data/sig/steep/annotation_parser.rbs +0 -60
  34. data/sig/steep/ast/annotation/collection.rbs +0 -78
  35. data/sig/steep/ast/annotation.rbs +0 -121
  36. data/sig/steep/ast/builtin.rbs +0 -69
  37. data/sig/steep/ast/ignore.rbs +0 -66
  38. data/sig/steep/ast/node/type_application.rbs +0 -31
  39. data/sig/steep/ast/node/type_assertion.rbs +0 -32
  40. data/sig/steep/ast/types/any.rbs +0 -29
  41. data/sig/steep/ast/types/boolean.rbs +0 -31
  42. data/sig/steep/ast/types/bot.rbs +0 -29
  43. data/sig/steep/ast/types/class.rbs +0 -33
  44. data/sig/steep/ast/types/factory.rbs +0 -110
  45. data/sig/steep/ast/types/helper.rbs +0 -24
  46. data/sig/steep/ast/types/instance.rbs +0 -33
  47. data/sig/steep/ast/types/intersection.rbs +0 -40
  48. data/sig/steep/ast/types/literal.rbs +0 -35
  49. data/sig/steep/ast/types/logic.rbs +0 -83
  50. data/sig/steep/ast/types/name.rbs +0 -84
  51. data/sig/steep/ast/types/nil.rbs +0 -31
  52. data/sig/steep/ast/types/proc.rbs +0 -53
  53. data/sig/steep/ast/types/record.rbs +0 -39
  54. data/sig/steep/ast/types/self.rbs +0 -33
  55. data/sig/steep/ast/types/top.rbs +0 -29
  56. data/sig/steep/ast/types/tuple.rbs +0 -37
  57. data/sig/steep/ast/types/union.rbs +0 -40
  58. data/sig/steep/ast/types/var.rbs +0 -42
  59. data/sig/steep/ast/types/void.rbs +0 -29
  60. data/sig/steep/ast/types.rbs +0 -16
  61. data/sig/steep/cli.rbs +0 -55
  62. data/sig/steep/diagnostic/deprecated/else_on_exhaustive_case.rbs +0 -13
  63. data/sig/steep/diagnostic/deprecated/unknown_constant_assigned.rbs +0 -15
  64. data/sig/steep/diagnostic/helper.rbs +0 -15
  65. data/sig/steep/diagnostic/lsp_formatter.rbs +0 -36
  66. data/sig/steep/diagnostic/ruby.rbs +0 -703
  67. data/sig/steep/diagnostic/signature.rbs +0 -252
  68. data/sig/steep/drivers/annotations.rbs +0 -17
  69. data/sig/steep/drivers/check.rbs +0 -33
  70. data/sig/steep/drivers/checkfile.rbs +0 -27
  71. data/sig/steep/drivers/diagnostic_printer.rbs +0 -25
  72. data/sig/steep/drivers/init.rbs +0 -19
  73. data/sig/steep/drivers/langserver.rbs +0 -36
  74. data/sig/steep/drivers/print_project.rbs +0 -15
  75. data/sig/steep/drivers/stats.rbs +0 -47
  76. data/sig/steep/drivers/utils/driver_helper.rbs +0 -25
  77. data/sig/steep/drivers/utils/jobs_option.rbs +0 -19
  78. data/sig/steep/drivers/validate.rbs +0 -15
  79. data/sig/steep/drivers/vendor.rbs +0 -19
  80. data/sig/steep/drivers/watch.rbs +0 -27
  81. data/sig/steep/drivers/worker.rbs +0 -29
  82. data/sig/steep/equatable.rbs +0 -11
  83. data/sig/steep/expectations.rbs +0 -72
  84. data/sig/steep/index/rbs_index.rbs +0 -141
  85. data/sig/steep/index/signature_symbol_provider.rbs +0 -41
  86. data/sig/steep/index/source_index.rbs +0 -63
  87. data/sig/steep/interface/block.rbs +0 -41
  88. data/sig/steep/interface/builder.rbs +0 -111
  89. data/sig/steep/interface/function.rbs +0 -271
  90. data/sig/steep/interface/method_type.rbs +0 -105
  91. data/sig/steep/interface/shape.rbs +0 -80
  92. data/sig/steep/interface/substitution.rbs +0 -51
  93. data/sig/steep/interface/type_param.rbs +0 -43
  94. data/sig/steep/method_name.rbs +0 -30
  95. data/sig/steep/module_helper.rbs +0 -16
  96. data/sig/steep/node_helper.rbs +0 -91
  97. data/sig/steep/path_helper.rbs +0 -15
  98. data/sig/steep/project/dsl.rbs +0 -108
  99. data/sig/steep/project/options.rbs +0 -47
  100. data/sig/steep/project/pattern.rbs +0 -47
  101. data/sig/steep/project/target.rbs +0 -25
  102. data/sig/steep/project.rbs +0 -26
  103. data/sig/steep/range_extension.rbs +0 -7
  104. data/sig/steep/server/base_worker.rbs +0 -49
  105. data/sig/steep/server/change_buffer.rbs +0 -38
  106. data/sig/steep/server/delay_queue.rbs +0 -37
  107. data/sig/steep/server/interaction_worker.rbs +0 -90
  108. data/sig/steep/server/lsp_formatter.rbs +0 -63
  109. data/sig/steep/server/master.rbs +0 -299
  110. data/sig/steep/server/type_check_worker.rbs +0 -141
  111. data/sig/steep/server/worker_process.rbs +0 -97
  112. data/sig/steep/services/completion_provider.rbs +0 -264
  113. data/sig/steep/services/content_change.rbs +0 -37
  114. data/sig/steep/services/file_loader.rbs +0 -21
  115. data/sig/steep/services/goto_service.rbs +0 -106
  116. data/sig/steep/services/hover_provider/rbs.rbs +0 -47
  117. data/sig/steep/services/hover_provider/ruby.rbs +0 -127
  118. data/sig/steep/services/hover_provider/singleton_methods.rbs +0 -11
  119. data/sig/steep/services/path_assignment.rbs +0 -21
  120. data/sig/steep/services/signature_help_provider.rbs +0 -51
  121. data/sig/steep/services/signature_service.rbs +0 -156
  122. data/sig/steep/services/stats_calculator.rbs +0 -41
  123. data/sig/steep/services/type_check_service.rbs +0 -112
  124. data/sig/steep/services/type_name_completion.rbs +0 -135
  125. data/sig/steep/signature/validator.rbs +0 -85
  126. data/sig/steep/source/ignore_ranges.rbs +0 -38
  127. data/sig/steep/source.rbs +0 -105
  128. data/sig/steep/subtyping/cache.rbs +0 -17
  129. data/sig/steep/subtyping/check.rbs +0 -131
  130. data/sig/steep/subtyping/constraints.rbs +0 -111
  131. data/sig/steep/subtyping/relation.rbs +0 -63
  132. data/sig/steep/subtyping/result.rbs +0 -179
  133. data/sig/steep/subtyping/variable_variance.rbs +0 -25
  134. data/sig/steep/thread_waiter.rbs +0 -13
  135. data/sig/steep/type_construction.rbs +0 -542
  136. data/sig/steep/type_inference/block_params.rbs +0 -170
  137. data/sig/steep/type_inference/case_when.rbs +0 -130
  138. data/sig/steep/type_inference/constant_env.rbs +0 -29
  139. data/sig/steep/type_inference/context.rbs +0 -216
  140. data/sig/steep/type_inference/context_array.rbs +0 -38
  141. data/sig/steep/type_inference/logic_type_interpreter.rbs +0 -108
  142. data/sig/steep/type_inference/method_call.rbs +0 -124
  143. data/sig/steep/type_inference/method_params.rbs +0 -127
  144. data/sig/steep/type_inference/multiple_assignment.rbs +0 -76
  145. data/sig/steep/type_inference/send_args.rbs +0 -243
  146. data/sig/steep/type_inference/type_env.rbs +0 -160
  147. data/sig/steep/type_inference/type_env_builder.rbs +0 -81
  148. data/sig/steep/typing.rbs +0 -75
  149. data/sig/steep.rbs +0 -45
data/Gemfile.lock DELETED
@@ -1,104 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- steep (1.7.0.dev.4)
5
- activesupport (>= 5.1)
6
- concurrent-ruby (>= 1.1.10)
7
- csv (>= 3.0.9)
8
- fileutils (>= 1.1.0)
9
- json (>= 2.1.0)
10
- language_server-protocol (>= 3.15, < 4.0)
11
- listen (~> 3.0)
12
- logger (>= 1.3.0)
13
- parser (>= 3.1)
14
- rainbow (>= 2.2.2, < 4.0)
15
- rbs (>= 3.5.0.pre)
16
- securerandom (>= 0.1)
17
- strscan (>= 1.0.0)
18
- terminal-table (>= 2, < 4)
19
-
20
- GEM
21
- remote: https://rubygems.org/
22
- specs:
23
- abbrev (0.1.2)
24
- activesupport (7.1.3.2)
25
- base64
26
- bigdecimal
27
- concurrent-ruby (~> 1.0, >= 1.0.2)
28
- connection_pool (>= 2.2.5)
29
- drb
30
- i18n (>= 1.6, < 2)
31
- minitest (>= 5.1)
32
- mutex_m
33
- tzinfo (~> 2.0)
34
- ast (2.4.2)
35
- base64 (0.2.0)
36
- bigdecimal (3.1.8)
37
- concurrent-ruby (1.2.3)
38
- connection_pool (2.4.1)
39
- csv (3.3.0)
40
- debug (1.9.2)
41
- irb (~> 1.10)
42
- reline (>= 0.3.8)
43
- drb (2.2.1)
44
- ffi (1.16.3)
45
- fileutils (1.7.2)
46
- i18n (1.14.5)
47
- concurrent-ruby (~> 1.0)
48
- io-console (0.7.2)
49
- irb (1.13.1)
50
- rdoc (>= 4.0.0)
51
- reline (>= 0.4.2)
52
- json (2.7.2)
53
- language_server-protocol (3.17.0.3)
54
- listen (3.9.0)
55
- rb-fsevent (~> 0.10, >= 0.10.3)
56
- rb-inotify (~> 0.9, >= 0.9.10)
57
- logger (1.6.0)
58
- minitest (5.22.3)
59
- minitest-hooks (1.5.1)
60
- minitest (> 5.3)
61
- minitest-slow_test (0.2.0)
62
- minitest (>= 5.0)
63
- mutex_m (0.2.0)
64
- parser (3.3.1.0)
65
- ast (~> 2.4.1)
66
- racc
67
- psych (5.1.2)
68
- stringio
69
- racc (1.7.3)
70
- rainbow (3.1.1)
71
- rake (13.2.1)
72
- rb-fsevent (0.11.2)
73
- rb-inotify (0.10.1)
74
- ffi (~> 1.0)
75
- rbs (3.5.0.pre.2)
76
- abbrev
77
- rdoc (6.6.3.1)
78
- psych (>= 4.0.0)
79
- reline (0.5.6)
80
- io-console (~> 0.5)
81
- securerandom (0.3.1)
82
- stackprof (0.2.26)
83
- stringio (3.1.0)
84
- strscan (3.1.0)
85
- terminal-table (3.0.2)
86
- unicode-display_width (>= 1.1.1, < 3)
87
- tzinfo (2.0.6)
88
- concurrent-ruby (~> 1.0)
89
- unicode-display_width (2.5.0)
90
-
91
- PLATFORMS
92
- ruby
93
-
94
- DEPENDENCIES
95
- debug
96
- minitest (~> 5.21)
97
- minitest-hooks
98
- minitest-slow_test
99
- rake
100
- stackprof
101
- steep!
102
-
103
- BUNDLED WITH
104
- 2.3.8
data/Gemfile.steep DELETED
File without changes
@@ -1,3 +0,0 @@
1
- source "https://rubygems.org"
2
-
3
- gem 'steep', "~> 1.7.0.dev", require: false
@@ -1,77 +0,0 @@
1
- GEM
2
- remote: https://rubygems.org/
3
- specs:
4
- abbrev (0.1.2)
5
- activesupport (7.1.3.2)
6
- base64
7
- bigdecimal
8
- concurrent-ruby (~> 1.0, >= 1.0.2)
9
- connection_pool (>= 2.2.5)
10
- drb
11
- i18n (>= 1.6, < 2)
12
- minitest (>= 5.1)
13
- mutex_m
14
- tzinfo (~> 2.0)
15
- ast (2.4.2)
16
- base64 (0.2.0)
17
- bigdecimal (3.1.8)
18
- concurrent-ruby (1.2.3)
19
- connection_pool (2.4.1)
20
- csv (3.3.0)
21
- drb (2.2.1)
22
- ffi (1.16.3)
23
- fileutils (1.7.2)
24
- i18n (1.14.5)
25
- concurrent-ruby (~> 1.0)
26
- json (2.7.2)
27
- language_server-protocol (3.17.0.3)
28
- listen (3.9.0)
29
- rb-fsevent (~> 0.10, >= 0.10.3)
30
- rb-inotify (~> 0.9, >= 0.9.10)
31
- logger (1.6.0)
32
- minitest (5.22.3)
33
- mutex_m (0.2.0)
34
- parser (3.3.1.0)
35
- ast (~> 2.4.1)
36
- racc
37
- racc (1.7.3)
38
- rainbow (3.1.1)
39
- rb-fsevent (0.11.2)
40
- rb-inotify (0.10.1)
41
- ffi (~> 1.0)
42
- rbs (3.4.4)
43
- abbrev
44
- securerandom (0.3.1)
45
- steep (1.7.0.dev.3)
46
- activesupport (>= 5.1)
47
- concurrent-ruby (>= 1.1.10)
48
- csv (>= 3.0.9)
49
- fileutils (>= 1.1.0)
50
- json (>= 2.1.0)
51
- language_server-protocol (>= 3.15, < 4.0)
52
- listen (~> 3.0)
53
- logger (>= 1.3.0)
54
- parser (>= 3.1)
55
- rainbow (>= 2.2.2, < 4.0)
56
- rbs (>= 3.1.0)
57
- securerandom (>= 0.1)
58
- strscan (>= 1.0.0)
59
- terminal-table (>= 2, < 4)
60
- strscan (3.1.0)
61
- terminal-table (3.0.2)
62
- unicode-display_width (>= 1.1.1, < 3)
63
- tzinfo (2.0.6)
64
- concurrent-ruby (~> 1.0)
65
- unicode-display_width (2.5.0)
66
-
67
- PLATFORMS
68
- arm64-darwin-21
69
- arm64-darwin-22
70
- arm64-darwin-23
71
- x86_64-linux
72
-
73
- DEPENDENCIES
74
- steep (~> 1.7.0.dev)
75
-
76
- BUNDLED WITH
77
- 2.3.15
@@ -1,108 +0,0 @@
1
- ---
2
- path: ".gem_rbs_collection"
3
- gems:
4
- - name: activesupport
5
- version: '7.0'
6
- source:
7
- type: git
8
- name: ruby/gem_rbs_collection
9
- revision: c42c09528dd99252db98f0744181a6de54ec2f55
10
- remote: https://github.com/ruby/gem_rbs_collection.git
11
- repo_dir: gems
12
- - name: base64
13
- version: '0'
14
- source:
15
- type: stdlib
16
- - name: bigdecimal
17
- version: '0'
18
- source:
19
- type: stdlib
20
- - name: concurrent-ruby
21
- version: '1.1'
22
- source:
23
- type: git
24
- name: ruby/gem_rbs_collection
25
- revision: c42c09528dd99252db98f0744181a6de54ec2f55
26
- remote: https://github.com/ruby/gem_rbs_collection.git
27
- repo_dir: gems
28
- - name: csv
29
- version: '0'
30
- source:
31
- type: stdlib
32
- - name: date
33
- version: '0'
34
- source:
35
- type: stdlib
36
- - name: fileutils
37
- version: '0'
38
- source:
39
- type: stdlib
40
- - name: forwardable
41
- version: '0'
42
- source:
43
- type: stdlib
44
- - name: i18n
45
- version: '1.10'
46
- source:
47
- type: git
48
- name: ruby/gem_rbs_collection
49
- revision: c42c09528dd99252db98f0744181a6de54ec2f55
50
- remote: https://github.com/ruby/gem_rbs_collection.git
51
- repo_dir: gems
52
- - name: json
53
- version: '0'
54
- source:
55
- type: stdlib
56
- - name: listen
57
- version: '3.2'
58
- source:
59
- type: git
60
- name: ruby/gem_rbs_collection
61
- revision: c42c09528dd99252db98f0744181a6de54ec2f55
62
- remote: https://github.com/ruby/gem_rbs_collection.git
63
- repo_dir: gems
64
- - name: logger
65
- version: '0'
66
- source:
67
- type: stdlib
68
- - name: minitest
69
- version: '0'
70
- source:
71
- type: stdlib
72
- - name: monitor
73
- version: '0'
74
- source:
75
- type: stdlib
76
- - name: mutex_m
77
- version: '0'
78
- source:
79
- type: stdlib
80
- - name: pathname
81
- version: '0'
82
- source:
83
- type: stdlib
84
- - name: rainbow
85
- version: '3.0'
86
- source:
87
- type: git
88
- name: ruby/gem_rbs_collection
89
- revision: c42c09528dd99252db98f0744181a6de54ec2f55
90
- remote: https://github.com/ruby/gem_rbs_collection.git
91
- repo_dir: gems
92
- - name: securerandom
93
- version: '0'
94
- source:
95
- type: stdlib
96
- - name: singleton
97
- version: '0'
98
- source:
99
- type: stdlib
100
- - name: strscan
101
- version: '0'
102
- source:
103
- type: stdlib
104
- - name: time
105
- version: '0'
106
- source:
107
- type: stdlib
108
- gemfile_lock_path: gemfile_steep/Gemfile.lock
@@ -1,23 +0,0 @@
1
- # Download sources
2
- sources:
3
- - name: ruby/gem_rbs_collection
4
- remote: https://github.com/ruby/gem_rbs_collection.git
5
- revision: c42c09528dd99252db98f0744181a6de54ec2f55
6
- repo_dir: gems
7
-
8
- # A directory to install the downloaded RBSs
9
- path: .gem_rbs_collection
10
-
11
- gems:
12
- - name: with_steep_types
13
- ignore: true
14
- - name: activesupport
15
- - name: rainbow
16
- - name: listen
17
- - name: json
18
- - name: logger
19
- - name: fileutils
20
- - name: strscan
21
- - name: csv
22
- - name: pathname
23
- - name: securerandom
@@ -1,3 +0,0 @@
1
- module Bundler
2
- def self.default_gemfile: () -> Pathname
3
- end
@@ -1,39 +0,0 @@
1
- module Concurrent
2
- # Number of physical processor cores on the current system. For performance
3
- # reasons the calculated value will be memoized on the first call.
4
- #
5
- # On Windows the Win32 API will be queried for the `NumberOfCores from
6
- # Win32_Processor`. This will return the total number "of cores for the
7
- # current instance of the processor." On Unix-like operating systems either
8
- # the `hwprefs` or `sysctl` utility will be called in a subshell and the
9
- # returned value will be used. In the rare case where none of these methods
10
- # work or an exception is raised the function will simply return 1.
11
- #
12
- # @return [Integer] number physical processor cores on the current system
13
- #
14
- # @see https://github.com/grosser/parallel/blob/4fc8b89d08c7091fe0419ca8fba1ec3ce5a8d185/lib/parallel.rb
15
- #
16
- # @see http://msdn.microsoft.com/en-us/library/aa394373(v=vs.85).aspx
17
- # @see http://www.unix.com/man-page/osx/1/HWPREFS/
18
- # @see http://linux.die.net/man/8/sysctl
19
- def self.physical_processor_count: () -> Integer
20
-
21
- # Number of processors seen by the OS and used for process scheduling. For
22
- # performance reasons the calculated value will be memoized on the first
23
- # call.
24
- #
25
- # When running under JRuby the Java runtime call
26
- # `java.lang.Runtime.getRuntime.availableProcessors` will be used. According
27
- # to the Java documentation this "value may change during a particular
28
- # invocation of the virtual machine... [applications] should therefore
29
- # occasionally poll this property." Subsequently the result will NOT be
30
- # memoized under JRuby.
31
- #
32
- # Otherwise Ruby's Etc.nprocessors will be used.
33
- #
34
- # @return [Integer] number of processors seen by the OS or Java runtime
35
- #
36
- # @see http://docs.oracle.com/javase/6/docs/api/java/lang/Runtime.html#availableProcessors()
37
- #
38
- def self.processor_count: () -> Integer
39
- end
@@ -1,4 +0,0 @@
1
- class Exception
2
- def initialize: (String?) -> void
3
- | ...
4
- end