rbs 0.13.1 → 0.14.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/.github/workflows/ruby.yml +1 -1
- data/.gitignore +0 -1
- data/CHANGELOG.md +7 -2
- data/Gemfile +3 -0
- data/README.md +8 -2
- data/Steepfile +1 -0
- data/bin/annotate-with-rdoc +1 -1
- data/bin/setup +0 -2
- data/docs/CONTRIBUTING.md +1 -0
- data/goodcheck.yml +22 -5
- data/lib/rbs/ast/comment.rb +1 -1
- data/lib/rbs/definition_builder.rb +4 -5
- data/lib/rbs/environment.rb +1 -1
- data/lib/rbs/namespace.rb +1 -1
- data/lib/rbs/parser.rb +3146 -0
- data/lib/rbs/parser.y +7 -2
- data/lib/rbs/test/setup_helper.rb +4 -4
- data/lib/rbs/test/type_check.rb +2 -2
- data/lib/rbs/type_name.rb +1 -1
- data/lib/rbs/variance_calculator.rb +1 -1
- data/lib/rbs/version.rb +1 -1
- data/lib/rbs/writer.rb +1 -1
- data/sig/constant.rbs +2 -2
- data/sig/constant_table.rbs +10 -10
- data/sig/declarations.rbs +1 -1
- data/sig/definition.rbs +1 -1
- data/sig/namespace.rbs +3 -3
- data/sig/parser.rbs +25 -0
- data/sig/substitution.rbs +3 -3
- data/sig/typename.rbs +1 -1
- data/sig/types.rbs +1 -1
- data/sig/writer.rbs +15 -15
- data/stdlib/benchmark/benchmark.rbs +2 -2
- data/stdlib/builtin/basic_object.rbs +54 -54
- data/stdlib/builtin/binding.rbs +42 -42
- data/stdlib/builtin/class.rbs +33 -33
- data/stdlib/builtin/complex.rbs +90 -90
- data/stdlib/builtin/encoding.rbs +33 -33
- data/stdlib/builtin/enumerable.rbs +32 -32
- data/stdlib/builtin/enumerator.rbs +35 -35
- data/stdlib/builtin/errors.rbs +1 -1
- data/stdlib/builtin/exception.rbs +50 -50
- data/stdlib/builtin/false_class.rbs +6 -6
- data/stdlib/builtin/fiber.rbs +14 -14
- data/stdlib/builtin/fiber_error.rbs +1 -1
- data/stdlib/builtin/float.rbs +161 -161
- data/stdlib/builtin/gc.rbs +1 -1
- data/stdlib/builtin/io.rbs +83 -83
- data/stdlib/builtin/kernel.rbs +69 -69
- data/stdlib/builtin/match_data.rbs +1 -1
- data/stdlib/builtin/method.rbs +19 -19
- data/stdlib/builtin/nil_class.rbs +20 -20
- data/stdlib/builtin/numeric.rbs +101 -101
- data/stdlib/builtin/object.rbs +172 -172
- data/stdlib/builtin/proc.rbs +91 -91
- data/stdlib/builtin/range.rbs +2 -4
- data/stdlib/builtin/rational.rbs +83 -83
- data/stdlib/builtin/signal.rbs +7 -7
- data/stdlib/builtin/string.rbs +4 -4
- data/stdlib/builtin/string_io.rbs +1 -1
- data/stdlib/builtin/thread.rbs +185 -185
- data/stdlib/builtin/thread_group.rbs +2 -2
- data/stdlib/builtin/true_class.rbs +9 -9
- data/stdlib/builtin/warning.rbs +1 -1
- data/stdlib/date/date.rbs +2 -2
- data/stdlib/find/find.rbs +10 -10
- data/stdlib/pathname/pathname.rbs +1 -1
- data/stdlib/tmpdir/tmpdir.rbs +12 -12
- metadata +3 -2
@@ -1,11 +1,11 @@
|
|
1
1
|
# [ThreadGroup](ThreadGroup) provides a means of
|
2
2
|
# keeping track of a number of threads as a group.
|
3
|
-
#
|
3
|
+
#
|
4
4
|
# A given [Thread](https://ruby-doc.org/core-2.6.3/Thread.html) object can
|
5
5
|
# only belong to one [ThreadGroup](ThreadGroup) at a
|
6
6
|
# time; adding a thread to a new group will remove it from any previous
|
7
7
|
# group.
|
8
|
-
#
|
8
|
+
#
|
9
9
|
# Newly created threads belong to the same group as the thread from which
|
10
10
|
# they were created.
|
11
11
|
class ThreadGroup < Object
|
@@ -1,14 +1,14 @@
|
|
1
1
|
# The global value `true` is the only instance of class TrueClass and represents
|
2
2
|
# a logically true value in boolean expressions. The class provides operators
|
3
3
|
# allowing `true` to be used in logical expressions.
|
4
|
-
#
|
4
|
+
#
|
5
5
|
class TrueClass
|
6
6
|
public
|
7
7
|
|
8
8
|
def !: () -> bool
|
9
9
|
|
10
10
|
# And---Returns `false` if *obj* is `nil` or `false`, `true` otherwise.
|
11
|
-
#
|
11
|
+
#
|
12
12
|
def &: (nil) -> false
|
13
13
|
| (false) -> false
|
14
14
|
| (untyped obj) -> bool
|
@@ -16,12 +16,12 @@ class TrueClass
|
|
16
16
|
# Case Equality -- For class Object, effectively the same as calling `#==`, but
|
17
17
|
# typically overridden by descendants to provide meaningful semantics in `case`
|
18
18
|
# statements.
|
19
|
-
#
|
19
|
+
#
|
20
20
|
def ===: (true) -> true
|
21
21
|
| (untyped obj) -> bool
|
22
22
|
|
23
23
|
# Exclusive Or---Returns `true` if *obj* is `nil` or `false`, `false` otherwise.
|
24
|
-
#
|
24
|
+
#
|
25
25
|
def ^: (nil) -> true
|
26
26
|
| (false) -> true
|
27
27
|
| (untyped obj) -> bool
|
@@ -29,18 +29,18 @@ class TrueClass
|
|
29
29
|
alias inspect to_s
|
30
30
|
|
31
31
|
# The string representation of `true` is "true".
|
32
|
-
#
|
32
|
+
#
|
33
33
|
def to_s: () -> "true"
|
34
34
|
|
35
35
|
# Or---Returns `true`. As *obj* is an argument to a method call, it is always
|
36
36
|
# evaluated; there is no short-circuit evaluation in this case.
|
37
|
-
#
|
37
|
+
#
|
38
38
|
# true | puts("or")
|
39
39
|
# true || puts("logical or")
|
40
|
-
#
|
40
|
+
#
|
41
41
|
# *produces:*
|
42
|
-
#
|
42
|
+
#
|
43
43
|
# or
|
44
|
-
#
|
44
|
+
#
|
45
45
|
def |: (bool obj) -> bool
|
46
46
|
end
|
data/stdlib/builtin/warning.rbs
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
# module extends itself, making `Warning.warn` available.
|
4
4
|
# [\#warn](Warning#method-i-warn) is called for all
|
5
5
|
# warnings issued by Ruby. By default, warnings are printed to $stderr.
|
6
|
-
#
|
6
|
+
#
|
7
7
|
# By overriding [\#warn](Warning#method-i-warn), you
|
8
8
|
# can change how warnings are handled by Ruby, either filtering some
|
9
9
|
# warnings, and/or outputting warnings somewhere other than $stderr. When
|
data/stdlib/date/date.rbs
CHANGED
@@ -318,7 +318,7 @@ class Date
|
|
318
318
|
#
|
319
319
|
def self.ordinal: (?Integer year, ?Integer yday, ?Integer start) -> Date
|
320
320
|
|
321
|
-
# Parses the given representation of date and time, and creates a date object.
|
321
|
+
# Parses the given representation of date and time, and creates a date object.
|
322
322
|
# This method does not function as a validator.
|
323
323
|
#
|
324
324
|
# If the optional second argument is true and the detected year is in the range
|
@@ -448,7 +448,7 @@ class Date
|
|
448
448
|
#
|
449
449
|
def +: (Integer | Rational other) -> Date
|
450
450
|
|
451
|
-
# Returns the difference between the two dates if the other is a date object.
|
451
|
+
# Returns the difference between the two dates if the other is a date object.
|
452
452
|
# If the other is a numeric value, returns a date object pointing `other` days
|
453
453
|
# before self. If the other is a fractional number, assumes its precision is at
|
454
454
|
# most nanosecond.
|
data/stdlib/find/find.rbs
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
# The `Find` module supports the top-down traversal of a set of file paths.
|
2
|
-
#
|
2
|
+
#
|
3
3
|
# For example, to total the size of all files under your home directory,
|
4
4
|
# ignoring anything in a "dot" directory (e.g. $HOME/.ssh):
|
5
|
-
#
|
5
|
+
#
|
6
6
|
# require 'find'
|
7
|
-
#
|
7
|
+
#
|
8
8
|
# total_size = 0
|
9
|
-
#
|
9
|
+
#
|
10
10
|
# Find.find(ENV["HOME"]) do |path|
|
11
11
|
# if FileTest.directory?(path)
|
12
12
|
# if File.basename(path).start_with?('.')
|
@@ -18,23 +18,23 @@
|
|
18
18
|
# total_size += FileTest.size(path)
|
19
19
|
# end
|
20
20
|
# end
|
21
|
-
#
|
21
|
+
#
|
22
22
|
module Find
|
23
23
|
# Calls the associated block with the name of every file and directory listed as
|
24
24
|
# arguments, then recursively on their subdirectories, and so on.
|
25
|
-
#
|
25
|
+
#
|
26
26
|
# Returns an enumerator if no block is given.
|
27
|
-
#
|
27
|
+
#
|
28
28
|
# See the `Find` module documentation for an example.
|
29
|
-
#
|
29
|
+
#
|
30
30
|
def self?.find: (*String | _ToPath paths, ?ignore_error: bool) -> Enumerator[String, nil]
|
31
31
|
| (*String | _ToPath paths, ?ignore_error: bool) { (String arg0) -> void } -> nil
|
32
32
|
|
33
33
|
# Skips the current file or directory, restarting the loop with the next entry.
|
34
34
|
# If the current file is a directory, that directory will not be recursively
|
35
35
|
# entered. Meaningful only within the block associated with Find::find.
|
36
|
-
#
|
36
|
+
#
|
37
37
|
# See the `Find` module documentation for an example.
|
38
|
-
#
|
38
|
+
#
|
39
39
|
def self?.prune: () -> void
|
40
40
|
end
|
data/stdlib/tmpdir/tmpdir.rbs
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
class Dir
|
2
2
|
# Returns the operating system's temporary file path.
|
3
|
-
#
|
3
|
+
#
|
4
4
|
def self.tmpdir: () -> String
|
5
5
|
|
6
6
|
# Dir.mktmpdir creates a temporary directory.
|
7
|
-
#
|
7
|
+
#
|
8
8
|
# The directory is created with 0700 permission. Application should not change
|
9
9
|
# the permission to make the temporary directory accessible from other users.
|
10
|
-
#
|
10
|
+
#
|
11
11
|
# The prefix and suffix of the name of the directory is specified by the
|
12
12
|
# optional first argument, *prefix_suffix*.
|
13
13
|
# * If it is not specified or nil, "d" is used as the prefix and no suffix is
|
@@ -15,30 +15,30 @@ class Dir
|
|
15
15
|
# * If it is a string, it is used as the prefix and no suffix is used.
|
16
16
|
# * If it is an array, first element is used as the prefix and second element
|
17
17
|
# is used as a suffix.
|
18
|
-
#
|
19
|
-
#
|
18
|
+
#
|
19
|
+
#
|
20
20
|
# Dir.mktmpdir {|dir| dir is ".../d..." }
|
21
21
|
# Dir.mktmpdir("foo") {|dir| dir is ".../foo..." }
|
22
22
|
# Dir.mktmpdir(["foo", "bar"]) {|dir| dir is ".../foo...bar" }
|
23
|
-
#
|
23
|
+
#
|
24
24
|
# The directory is created under Dir.tmpdir or the optional second argument
|
25
25
|
# *tmpdir* if non-nil value is given.
|
26
|
-
#
|
26
|
+
#
|
27
27
|
# Dir.mktmpdir {|dir| dir is "#{Dir.tmpdir}/d..." }
|
28
28
|
# Dir.mktmpdir(nil, "/var/tmp") {|dir| dir is "/var/tmp/d..." }
|
29
|
-
#
|
29
|
+
#
|
30
30
|
# If a block is given, it is yielded with the path of the directory. The
|
31
31
|
# directory and its contents are removed using FileUtils.remove_entry before
|
32
32
|
# Dir.mktmpdir returns. The value of the block is returned.
|
33
|
-
#
|
33
|
+
#
|
34
34
|
# Dir.mktmpdir {|dir|
|
35
35
|
# # use the directory...
|
36
36
|
# open("#{dir}/foo", "w") { ... }
|
37
37
|
# }
|
38
|
-
#
|
38
|
+
#
|
39
39
|
# If a block is not given, The path of the directory is returned. In this case,
|
40
40
|
# Dir.mktmpdir doesn't remove the directory.
|
41
|
-
#
|
41
|
+
#
|
42
42
|
# dir = Dir.mktmpdir
|
43
43
|
# begin
|
44
44
|
# # use the directory...
|
@@ -47,7 +47,7 @@ class Dir
|
|
47
47
|
# # remove the directory.
|
48
48
|
# FileUtils.remove_entry dir
|
49
49
|
# end
|
50
|
-
#
|
50
|
+
#
|
51
51
|
def self.mktmpdir: (?(String | [ String, String ] | nil), ?String?, ?max_try: Integer?) -> String
|
52
52
|
| [X] (?(String | [ String, String ] | nil), ?String?, ?max_try: Integer?) { (String) -> X } -> X
|
53
53
|
end
|
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: 0.
|
4
|
+
version: 0.14.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: 2020-10-
|
11
|
+
date: 2020-10-17 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.
|
@@ -112,6 +112,7 @@ files:
|
|
112
112
|
- sig/members.rbs
|
113
113
|
- sig/method_types.rbs
|
114
114
|
- sig/namespace.rbs
|
115
|
+
- sig/parser.rbs
|
115
116
|
- sig/polyfill.rbs
|
116
117
|
- sig/rbs.rbs
|
117
118
|
- sig/substitution.rbs
|