rbs 2.6.0 → 2.7.0.pre.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +2 -0
- data/.rubocop.yml +5 -0
- data/CHANGELOG.md +48 -1
- data/Gemfile.lock +10 -9
- data/Rakefile +0 -5
- data/Steepfile +1 -0
- data/core/basic_object.rbs +2 -2
- data/core/fiber.rbs +304 -14
- data/core/float.rbs +2 -0
- data/core/io.rbs +95 -1
- data/core/kernel.rbs +1 -1
- data/core/module.rbs +1 -1
- data/core/regexp.rbs +1 -1
- data/core/string_io.rbs +1 -1
- data/core/warning.rbs +1 -1
- data/ext/rbs_extension/parser.c +36 -10
- data/ext/rbs_extension/ruby_objs.c +4 -2
- data/ext/rbs_extension/ruby_objs.h +2 -2
- data/lib/rbs/ancestor_graph.rb +2 -0
- data/lib/rbs/annotate/annotations.rb +2 -0
- data/lib/rbs/annotate/formatter.rb +4 -2
- data/lib/rbs/annotate/rdoc_annotator.rb +2 -0
- data/lib/rbs/annotate/rdoc_source.rb +2 -0
- data/lib/rbs/annotate.rb +2 -0
- data/lib/rbs/ast/annotation.rb +2 -0
- data/lib/rbs/ast/comment.rb +2 -0
- data/lib/rbs/ast/declarations.rb +2 -0
- data/lib/rbs/ast/members.rb +2 -0
- data/lib/rbs/ast/type_param.rb +3 -1
- data/lib/rbs/buffer.rb +2 -0
- data/lib/rbs/builtin_names.rb +2 -0
- data/lib/rbs/cli.rb +39 -2
- data/lib/rbs/collection/cleaner.rb +2 -0
- data/lib/rbs/collection/config/lockfile_generator.rb +8 -3
- data/lib/rbs/collection/config.rb +2 -0
- data/lib/rbs/collection/installer.rb +2 -0
- data/lib/rbs/collection/sources/base.rb +14 -0
- data/lib/rbs/collection/sources/git.rb +3 -0
- data/lib/rbs/collection/sources/rubygems.rb +3 -0
- data/lib/rbs/collection/sources/stdlib.rb +12 -7
- data/lib/rbs/collection/sources.rb +3 -0
- data/lib/rbs/collection.rb +2 -0
- data/lib/rbs/constant.rb +2 -0
- data/lib/rbs/constant_table.rb +5 -3
- data/lib/rbs/definition.rb +13 -1
- data/lib/rbs/definition_builder/ancestor_builder.rb +2 -0
- data/lib/rbs/definition_builder/method_builder.rb +2 -0
- data/lib/rbs/definition_builder.rb +75 -13
- data/lib/rbs/environment.rb +2 -0
- data/lib/rbs/environment_loader.rb +25 -5
- data/lib/rbs/environment_walker.rb +2 -0
- data/lib/rbs/errors.rb +3 -1
- data/lib/rbs/factory.rb +2 -0
- data/lib/rbs/location_aux.rb +3 -1
- data/lib/rbs/locator.rb +2 -0
- data/lib/rbs/method_type.rb +7 -5
- data/lib/rbs/namespace.rb +9 -5
- data/lib/rbs/parser_aux.rb +2 -0
- data/lib/rbs/parser_compat/lexer_error.rb +2 -0
- data/lib/rbs/parser_compat/located_value.rb +2 -0
- data/lib/rbs/parser_compat/semantics_error.rb +2 -0
- data/lib/rbs/parser_compat/syntax_error.rb +2 -0
- data/lib/rbs/prototype/helpers.rb +13 -8
- data/lib/rbs/prototype/rb.rb +2 -0
- data/lib/rbs/prototype/rbi.rb +11 -6
- data/lib/rbs/prototype/runtime.rb +13 -4
- data/lib/rbs/repository.rb +4 -4
- data/lib/rbs/resolver/constant_resolver.rb +2 -0
- data/lib/rbs/resolver/type_name_resolver.rb +2 -0
- data/lib/rbs/sorter.rb +168 -0
- data/lib/rbs/substitution.rb +2 -0
- data/lib/rbs/test/errors.rb +2 -0
- data/lib/rbs/test/hook.rb +2 -0
- data/lib/rbs/test/observer.rb +2 -0
- data/lib/rbs/test/setup.rb +2 -0
- data/lib/rbs/test/setup_helper.rb +2 -0
- data/lib/rbs/test/spy.rb +2 -0
- data/lib/rbs/test/tester.rb +2 -0
- data/lib/rbs/test/type_check.rb +2 -0
- data/lib/rbs/test.rb +2 -0
- data/lib/rbs/type_alias_dependency.rb +2 -0
- data/lib/rbs/type_alias_regularity.rb +2 -0
- data/lib/rbs/type_name.rb +2 -0
- data/lib/rbs/type_name_resolver.rb +4 -2
- data/lib/rbs/types.rb +68 -18
- data/lib/rbs/validator.rb +2 -0
- data/lib/rbs/variance_calculator.rb +2 -0
- data/lib/rbs/vendorer.rb +2 -0
- data/lib/rbs/version.rb +3 -1
- data/lib/rbs/writer.rb +3 -1
- data/lib/rbs.rb +4 -2
- data/lib/rdoc/discover.rb +20 -0
- data/lib/rdoc_plugin/parser.rb +163 -0
- data/schema/methodType.json +7 -1
- data/schema/types.json +13 -1
- data/sig/ancestor_builder.rbs +66 -7
- data/sig/annotation.rbs +7 -6
- data/sig/builtin_names.rbs +2 -0
- data/sig/cli.rbs +8 -0
- data/sig/collection/config.rbs +13 -4
- data/sig/collection/installer.rbs +2 -0
- data/sig/collection/sources.rbs +23 -4
- data/sig/definition.rbs +8 -0
- data/sig/definition_builder.rbs +64 -7
- data/sig/environment.rbs +4 -0
- data/sig/environment_loader.rbs +4 -2
- data/sig/location.rbs +8 -4
- data/sig/manifest.yaml +1 -0
- data/sig/members.rbs +1 -1
- data/sig/method_builder.rbs +10 -0
- data/sig/namespace.rbs +54 -31
- data/sig/prototype/rb.rbs +4 -0
- data/sig/rbs.rbs +8 -6
- data/sig/rdoc/rbs.rbs +63 -0
- data/sig/{polyfill.rbs → shims.rbs} +1 -31
- data/sig/sorter.rbs +23 -0
- data/sig/types.rbs +14 -2
- data/sig/vendorer.rbs +32 -25
- data/stdlib/bigdecimal/0/big_decimal.rbs +250 -0
- data/stdlib/erb/0/erb.rbs +107 -0
- data/stdlib/logger/0/logger.rbs +2 -2
- data/stdlib/rdoc/0/rdoc.rbs +758 -0
- data/steep/Gemfile.lock +8 -8
- metadata +12 -6
- data/stdlib/fiber/0/fiber.rbs +0 -99
data/steep/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
GEM
|
2
2
|
remote: https://rubygems.org/
|
3
3
|
specs:
|
4
|
-
activesupport (7.0.3)
|
4
|
+
activesupport (7.0.3.1)
|
5
5
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
6
6
|
i18n (>= 1.6, < 2)
|
7
7
|
minitest (>= 5.1)
|
@@ -9,13 +9,13 @@ GEM
|
|
9
9
|
ast (2.4.2)
|
10
10
|
concurrent-ruby (1.1.10)
|
11
11
|
ffi (1.15.5)
|
12
|
-
i18n (1.
|
12
|
+
i18n (1.12.0)
|
13
13
|
concurrent-ruby (~> 1.0)
|
14
14
|
language_server-protocol (3.16.0.3)
|
15
15
|
listen (3.7.1)
|
16
16
|
rb-fsevent (~> 0.10, >= 0.10.3)
|
17
17
|
rb-inotify (~> 0.9, >= 0.9.10)
|
18
|
-
minitest (5.
|
18
|
+
minitest (5.16.2)
|
19
19
|
parallel (1.22.1)
|
20
20
|
parser (3.1.2.0)
|
21
21
|
ast (~> 2.4.1)
|
@@ -23,21 +23,21 @@ GEM
|
|
23
23
|
rb-fsevent (0.11.1)
|
24
24
|
rb-inotify (0.10.1)
|
25
25
|
ffi (~> 1.0)
|
26
|
-
rbs (2.
|
27
|
-
steep (1.
|
26
|
+
rbs (2.6.0)
|
27
|
+
steep (1.1.1)
|
28
28
|
activesupport (>= 5.1)
|
29
29
|
language_server-protocol (>= 3.15, < 4.0)
|
30
30
|
listen (~> 3.0)
|
31
31
|
parallel (>= 1.0.0)
|
32
|
-
parser (>= 3.
|
32
|
+
parser (>= 3.1)
|
33
33
|
rainbow (>= 2.2.2, < 4.0)
|
34
34
|
rbs (>= 2.3.2)
|
35
35
|
terminal-table (>= 2, < 4)
|
36
36
|
terminal-table (3.0.2)
|
37
37
|
unicode-display_width (>= 1.1.1, < 3)
|
38
|
-
tzinfo (2.0.
|
38
|
+
tzinfo (2.0.5)
|
39
39
|
concurrent-ruby (~> 1.0)
|
40
|
-
unicode-display_width (2.
|
40
|
+
unicode-display_width (2.2.0)
|
41
41
|
|
42
42
|
PLATFORMS
|
43
43
|
ruby
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rbs
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.7.0.pre.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: 2022-
|
11
|
+
date: 2022-09-02 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: RBS is the language for type signatures for Ruby and standard library
|
14
14
|
definitions.
|
@@ -146,6 +146,7 @@ files:
|
|
146
146
|
- lib/rbs/collection/config/lockfile_generator.rb
|
147
147
|
- lib/rbs/collection/installer.rb
|
148
148
|
- lib/rbs/collection/sources.rb
|
149
|
+
- lib/rbs/collection/sources/base.rb
|
149
150
|
- lib/rbs/collection/sources/git.rb
|
150
151
|
- lib/rbs/collection/sources/rubygems.rb
|
151
152
|
- lib/rbs/collection/sources/stdlib.rb
|
@@ -176,6 +177,7 @@ files:
|
|
176
177
|
- lib/rbs/repository.rb
|
177
178
|
- lib/rbs/resolver/constant_resolver.rb
|
178
179
|
- lib/rbs/resolver/type_name_resolver.rb
|
180
|
+
- lib/rbs/sorter.rb
|
179
181
|
- lib/rbs/substitution.rb
|
180
182
|
- lib/rbs/test.rb
|
181
183
|
- lib/rbs/test/errors.rb
|
@@ -196,6 +198,8 @@ files:
|
|
196
198
|
- lib/rbs/vendorer.rb
|
197
199
|
- lib/rbs/version.rb
|
198
200
|
- lib/rbs/writer.rb
|
201
|
+
- lib/rdoc/discover.rb
|
202
|
+
- lib/rdoc_plugin/parser.rb
|
199
203
|
- rbs.gemspec
|
200
204
|
- schema/annotation.json
|
201
205
|
- schema/comment.json
|
@@ -240,19 +244,21 @@ files:
|
|
240
244
|
- sig/method_types.rbs
|
241
245
|
- sig/namespace.rbs
|
242
246
|
- sig/parser.rbs
|
243
|
-
- sig/polyfill.rbs
|
244
247
|
- sig/prototype/helpers.rbs
|
245
248
|
- sig/prototype/rb.rbs
|
246
249
|
- sig/prototype/rbi.rbs
|
247
250
|
- sig/rbs.rbs
|
251
|
+
- sig/rdoc/rbs.rbs
|
248
252
|
- sig/repository.rbs
|
249
253
|
- sig/resolver/constant_resolver.rbs
|
250
254
|
- sig/resolver/context.rbs
|
251
255
|
- sig/resolver/type_name_resolver.rbs
|
256
|
+
- sig/shims.rbs
|
252
257
|
- sig/shims/abstract_syntax_tree.rbs
|
253
258
|
- sig/shims/enumerable.rbs
|
254
259
|
- sig/shims/pp.rbs
|
255
260
|
- sig/shims/ripper.rbs
|
261
|
+
- sig/sorter.rbs
|
256
262
|
- sig/substitution.rbs
|
257
263
|
- sig/type_alias_dependency.rbs
|
258
264
|
- sig/type_alias_regularity.rbs
|
@@ -286,7 +292,6 @@ files:
|
|
286
292
|
- stdlib/digest/0/digest.rbs
|
287
293
|
- stdlib/erb/0/erb.rbs
|
288
294
|
- stdlib/etc/0/etc.rbs
|
289
|
-
- stdlib/fiber/0/fiber.rbs
|
290
295
|
- stdlib/fileutils/0/fileutils.rbs
|
291
296
|
- stdlib/find/0/find.rbs
|
292
297
|
- stdlib/forwardable/0/forwardable.rbs
|
@@ -351,6 +356,7 @@ files:
|
|
351
356
|
- stdlib/prime/0/prime.rbs
|
352
357
|
- stdlib/pstore/0/pstore.rbs
|
353
358
|
- stdlib/pty/0/pty.rbs
|
359
|
+
- stdlib/rdoc/0/rdoc.rbs
|
354
360
|
- stdlib/resolv/0/manifest.yaml
|
355
361
|
- stdlib/resolv/0/resolv.rbs
|
356
362
|
- stdlib/rubygems/0/basic_specification.rbs
|
@@ -427,9 +433,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
427
433
|
version: '2.6'
|
428
434
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
429
435
|
requirements:
|
430
|
-
- - "
|
436
|
+
- - ">"
|
431
437
|
- !ruby/object:Gem::Version
|
432
|
-
version:
|
438
|
+
version: 1.3.1
|
433
439
|
requirements: []
|
434
440
|
rubygems_version: 3.3.7
|
435
441
|
signing_key:
|
data/stdlib/fiber/0/fiber.rbs
DELETED
@@ -1,99 +0,0 @@
|
|
1
|
-
%a{annotate:rdoc:skip}
|
2
|
-
class Fiber
|
3
|
-
# <!--
|
4
|
-
# rdoc-file=cont.c
|
5
|
-
# - Fiber.current -> fiber
|
6
|
-
# -->
|
7
|
-
# Returns the current fiber. If you are not running in the context of a fiber
|
8
|
-
# this method will return the root fiber.
|
9
|
-
#
|
10
|
-
def self.current: () -> Fiber
|
11
|
-
|
12
|
-
public
|
13
|
-
|
14
|
-
# <!--
|
15
|
-
# rdoc-file=cont.c
|
16
|
-
# - fiber.alive? -> true or false
|
17
|
-
# -->
|
18
|
-
# Returns true if the fiber can still be resumed (or transferred to). After
|
19
|
-
# finishing execution of the fiber block this method will always return `false`.
|
20
|
-
#
|
21
|
-
def alive?: () -> bool
|
22
|
-
|
23
|
-
# <!--
|
24
|
-
# rdoc-file=cont.c
|
25
|
-
# - fiber.transfer(args, ...) -> obj
|
26
|
-
# -->
|
27
|
-
# Transfer control to another fiber, resuming it from where it last stopped or
|
28
|
-
# starting it if it was not resumed before. The calling fiber will be suspended
|
29
|
-
# much like in a call to Fiber.yield.
|
30
|
-
#
|
31
|
-
# The fiber which receives the transfer call treats it much like a resume call.
|
32
|
-
# Arguments passed to transfer are treated like those passed to resume.
|
33
|
-
#
|
34
|
-
# The two style of control passing to and from fiber (one is #resume and
|
35
|
-
# Fiber::yield, another is #transfer to and from fiber) can't be freely mixed.
|
36
|
-
#
|
37
|
-
# * If the Fiber's lifecycle had started with transfer, it will never be able
|
38
|
-
# to yield or be resumed control passing, only finish or transfer back. (It
|
39
|
-
# still can resume other fibers that are allowed to be resumed.)
|
40
|
-
# * If the Fiber's lifecycle had started with resume, it can yield or transfer
|
41
|
-
# to another Fiber, but can receive control back only the way compatible
|
42
|
-
# with the way it was given away: if it had transferred, it only can be
|
43
|
-
# transferred back, and if it had yielded, it only can be resumed back.
|
44
|
-
# After that, it again can transfer or yield.
|
45
|
-
#
|
46
|
-
#
|
47
|
-
# If those rules are broken FiberError is raised.
|
48
|
-
#
|
49
|
-
# For an individual Fiber design, yield/resume is easier to use (the Fiber just
|
50
|
-
# gives away control, it doesn't need to think about who the control is given
|
51
|
-
# to), while transfer is more flexible for complex cases, allowing to build
|
52
|
-
# arbitrary graphs of Fibers dependent on each other.
|
53
|
-
#
|
54
|
-
# Example:
|
55
|
-
#
|
56
|
-
# manager = nil # For local var to be visible inside worker block
|
57
|
-
#
|
58
|
-
# # This fiber would be started with transfer
|
59
|
-
# # It can't yield, and can't be resumed
|
60
|
-
# worker = Fiber.new { |work|
|
61
|
-
# puts "Worker: starts"
|
62
|
-
# puts "Worker: Performed #{work.inspect}, transferring back"
|
63
|
-
# # Fiber.yield # this would raise FiberError: attempt to yield on a not resumed fiber
|
64
|
-
# # manager.resume # this would raise FiberError: attempt to resume a resumed fiber (double resume)
|
65
|
-
# manager.transfer(work.capitalize)
|
66
|
-
# }
|
67
|
-
#
|
68
|
-
# # This fiber would be started with resume
|
69
|
-
# # It can yield or transfer, and can be transferred
|
70
|
-
# # back or resumed
|
71
|
-
# manager = Fiber.new {
|
72
|
-
# puts "Manager: starts"
|
73
|
-
# puts "Manager: transferring 'something' to worker"
|
74
|
-
# result = worker.transfer('something')
|
75
|
-
# puts "Manager: worker returned #{result.inspect}"
|
76
|
-
# # worker.resume # this would raise FiberError: attempt to resume a transferring fiber
|
77
|
-
# Fiber.yield # this is OK, the fiber transferred from and to, now it can yield
|
78
|
-
# puts "Manager: finished"
|
79
|
-
# }
|
80
|
-
#
|
81
|
-
# puts "Starting the manager"
|
82
|
-
# manager.resume
|
83
|
-
# puts "Resuming the manager"
|
84
|
-
# # manager.transfer # this would raise FiberError: attempt to transfer to a yielding fiber
|
85
|
-
# manager.resume
|
86
|
-
#
|
87
|
-
# *produces*
|
88
|
-
#
|
89
|
-
# Starting the manager
|
90
|
-
# Manager: starts
|
91
|
-
# Manager: transferring 'something' to worker
|
92
|
-
# Worker: starts
|
93
|
-
# Worker: Performed "something", transferring back
|
94
|
-
# Manager: worker returned "Something"
|
95
|
-
# Resuming the manager
|
96
|
-
# Manager: finished
|
97
|
-
#
|
98
|
-
def transfer: (*untyped) -> untyped
|
99
|
-
end
|