rbs 3.0.4 → 3.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +56 -0
- data/Gemfile +1 -1
- data/Gemfile.lock +23 -21
- data/Steepfile +1 -1
- data/core/file.rbs +104 -0
- data/core/gc.rbs +0 -7
- data/core/io/buffer.rbs +1 -3
- data/core/module.rbs +4 -4
- data/core/object.rbs +2 -2
- data/core/process.rbs +3 -0
- data/core/rubygems/rubygems.rbs +0 -9
- data/core/string.rbs +4 -2
- data/ext/rbs_extension/parser.c +15 -11
- data/lib/rbs/cli.rb +107 -13
- data/lib/rbs/collection/config/lockfile_generator.rb +38 -32
- data/lib/rbs/definition_builder.rb +6 -9
- data/lib/rbs/environment.rb +2 -2
- data/lib/rbs/environment_loader.rb +3 -23
- data/lib/rbs/errors.rb +59 -2
- data/lib/rbs/file_finder.rb +31 -0
- data/lib/rbs/parser_aux.rb +4 -4
- data/lib/rbs/prototype/rb.rb +2 -1
- data/lib/rbs/subtractor.rb +184 -0
- data/lib/rbs/vendorer.rb +3 -3
- data/lib/rbs/version.rb +1 -1
- data/lib/rbs/writer.rb +12 -0
- data/lib/rbs.rb +2 -0
- data/lib/rdoc/discover.rb +1 -1
- data/sig/cli.rbs +2 -0
- data/sig/collection/config/lockfile_generator.rbs +3 -1
- data/sig/environment_loader.rbs +17 -15
- data/sig/file_finder.rbs +6 -0
- data/sig/manifest.yaml +1 -0
- data/sig/parser.rbs +26 -8
- data/sig/repository.rbs +7 -5
- data/sig/shims/bundler.rbs +2 -0
- data/sig/shims/rubygems.rbs +4 -0
- data/sig/subtractor.rbs +33 -0
- data/sig/types.rbs +10 -6
- metadata +7 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 38298f073fa4b8e071ba2f38a13640e4143a4a64981e16535a214364ce99a536
|
4
|
+
data.tar.gz: 0a818cb58aac7767500da1bd57b4a06d193232a1c8b0fa88537c372af542b180
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cf52478cb1f82d103499796eae6e946925b79faca65cf7c52665ebb9966fcf3d8f2a344bf7806dffe7abe8d8e8f5b49e01c0e4bb58bb54fb870104582a84d2e6
|
7
|
+
data.tar.gz: f63f19cff5e7246dc3d9e6fe6c1ed46256eae0f83f6c939d50bda1adb5ff78de8e71c4f9864c6059da338485046ad7b936b8b65d1d838610eebb4bf902013bad
|
data/CHANGELOG.md
CHANGED
@@ -2,6 +2,62 @@
|
|
2
2
|
|
3
3
|
## master
|
4
4
|
|
5
|
+
## 3.1.1 (2023-07-18)
|
6
|
+
|
7
|
+
### Signature updates
|
8
|
+
|
9
|
+
* Removed `GC.verify_transient_heap_internal_consistency` ([#1374](https://github.com/ruby/rbs/pull/1374))
|
10
|
+
|
11
|
+
### Library changes
|
12
|
+
|
13
|
+
* Relax rdoc version requirement in RDoc plugin ([#1333](https://github.com/ruby/rbs/pull/1333))
|
14
|
+
|
15
|
+
#### rbs collection
|
16
|
+
|
17
|
+
* Spec may be missing when rbs_collection.yaml declares dependency ([#1378](https://github.com/ruby/rbs/pull/1378))
|
18
|
+
|
19
|
+
### Miscellaneous
|
20
|
+
|
21
|
+
* Handle connection error with Resolv_test.rb ([#1356](https://github.com/ruby/rbs/pull/1356))
|
22
|
+
* Fix broken CI ([#1353](https://github.com/ruby/rbs/pull/1353))
|
23
|
+
|
24
|
+
## 3.1.0 (2023-04-26)
|
25
|
+
|
26
|
+
### Signature updates
|
27
|
+
|
28
|
+
* `Module#attr_*` methods ([#1300](https://github.com/ruby/rbs/pull/1300))
|
29
|
+
* `Object#define_singleton_method` ([#1299](https://github.com/ruby/rbs/pull/1299))
|
30
|
+
* `String#scan` ([#1297](https://github.com/ruby/rbs/pull/1297))
|
31
|
+
* Removed `Gem.datadir` ([#1273](https://github.com/ruby/rbs/pull/1273))
|
32
|
+
|
33
|
+
### Language updates
|
34
|
+
|
35
|
+
### Library changes
|
36
|
+
|
37
|
+
* Use fenced code block instead of indented one in .rbs files ([#1312](https://github.com/ruby/rbs/pull/1312))
|
38
|
+
* Fix single use clause `:type_name` location ([#1307](https://github.com/ruby/rbs/pull/1307))
|
39
|
+
* Fix `InvalidOverloadMethodError` on overloading extended method ([#1294](https://github.com/ruby/rbs/pull/1294))
|
40
|
+
* Fix super class of `NoTypeFoundError` from `BaseError` to `DefinitionError` ([#1290](https://github.com/ruby/rbs/pull/1290))
|
41
|
+
* Support `#detailed_message` for `NonregularTypeAliasError`, `CyclicTypeParameterBound`, `InconsistentClassModuleAliasError` and `CyclicClassAliasDefinitionError` ([#1289](https://github.com/ruby/rbs/pull/1289))
|
42
|
+
* Implement `rbs subtract` command ([#1287](https://github.com/ruby/rbs/pull/1287))
|
43
|
+
* Support `#detailed_message` for `InvalidVarianceAnnotationError`, `RecursiveAliasDefinitionError`, `MixinClassError` and `RecursiveTypeAliasError` ([#1285](https://github.com/ruby/rbs/pull/1285))
|
44
|
+
* Support `#detailed_message` for `NoTypeError`, `InheritModuleError`, `NoSelfTypeFoundError` and `NoMixinFoundError` ([#1280](https://github.com/ruby/rbs/pull/1280))
|
45
|
+
* Validate duplicate type aliases ([#1279](https://github.com/ruby/rbs/pull/1279))
|
46
|
+
* Add `-e`, `--type`, and `--method-type` options to `rbs parse` ([#1252](https://github.com/ruby/rbs/pull/1252))
|
47
|
+
|
48
|
+
#### rbs prototype
|
49
|
+
|
50
|
+
* Convert `include` in `class << self` to `extend` by `prototype rb` ([#1255](https://github.com/ruby/rbs/pull/1255))
|
51
|
+
|
52
|
+
#### rbs collection
|
53
|
+
|
54
|
+
* Skip loading `#gemspec` gems via RBS collection ([#1319](https://github.com/ruby/rbs/pull/1319))
|
55
|
+
|
56
|
+
### Miscellaneous
|
57
|
+
|
58
|
+
* Run `bundle install` automatically in `bin/steep` ([#1308](https://github.com/ruby/rbs/pull/1308))
|
59
|
+
* Fix warnings ([#1314](https://github.com/ruby/rbs/pull/1314))
|
60
|
+
|
5
61
|
## 3.0.4 (2023-03-13)
|
6
62
|
|
7
63
|
### Library changes
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
rbs (3.
|
4
|
+
rbs (3.1.1)
|
5
5
|
|
6
6
|
PATH
|
7
7
|
remote: test/assets/test-gem
|
@@ -11,13 +11,13 @@ PATH
|
|
11
11
|
GEM
|
12
12
|
remote: https://rubygems.org/
|
13
13
|
specs:
|
14
|
-
addressable (2.8.
|
15
|
-
public_suffix (>= 2.0.2, <
|
14
|
+
addressable (2.8.4)
|
15
|
+
public_suffix (>= 2.0.2, < 6.0)
|
16
16
|
ast (2.4.2)
|
17
17
|
dbm (1.1.0)
|
18
18
|
debase (0.2.5.beta2)
|
19
19
|
debase-ruby_core_source (>= 0.10.12)
|
20
|
-
debase-ruby_core_source (3.2.
|
20
|
+
debase-ruby_core_source (3.2.1)
|
21
21
|
diff-lcs (1.5.0)
|
22
22
|
digest (3.1.1)
|
23
23
|
forwardable (1.3.2)
|
@@ -27,27 +27,29 @@ GEM
|
|
27
27
|
rainbow (>= 3.0, < 4.0)
|
28
28
|
strong_json (>= 1.1, < 2.2)
|
29
29
|
json (2.6.3)
|
30
|
-
json-schema (
|
30
|
+
json-schema (4.0.0)
|
31
31
|
addressable (>= 2.8)
|
32
32
|
marcel (1.0.2)
|
33
|
-
minitest (5.
|
34
|
-
parallel (1.
|
35
|
-
parser (3.2.
|
33
|
+
minitest (5.18.0)
|
34
|
+
parallel (1.23.0)
|
35
|
+
parser (3.2.2.3)
|
36
36
|
ast (~> 2.4.1)
|
37
|
-
|
37
|
+
racc
|
38
|
+
power_assert (2.0.3)
|
38
39
|
prime (0.1.2)
|
39
40
|
forwardable
|
40
41
|
singleton
|
41
42
|
psych (4.0.6)
|
42
43
|
stringio
|
43
|
-
public_suffix (
|
44
|
+
public_suffix (5.0.1)
|
45
|
+
racc (1.7.1)
|
44
46
|
rainbow (3.1.1)
|
45
47
|
rake (13.0.6)
|
46
|
-
rake-compiler (1.2.
|
48
|
+
rake-compiler (1.2.2)
|
47
49
|
rake
|
48
50
|
rdoc (6.4.0)
|
49
51
|
psych (>= 4.0.0)
|
50
|
-
regexp_parser (2.
|
52
|
+
regexp_parser (2.8.1)
|
51
53
|
rexml (3.2.5)
|
52
54
|
rspec (3.12.0)
|
53
55
|
rspec-core (~> 3.12.0)
|
@@ -62,29 +64,29 @@ GEM
|
|
62
64
|
diff-lcs (>= 1.2.0, < 2.0)
|
63
65
|
rspec-support (~> 3.12.0)
|
64
66
|
rspec-support (3.12.0)
|
65
|
-
rubocop (1.
|
67
|
+
rubocop (1.52.1)
|
66
68
|
json (~> 2.3)
|
67
69
|
parallel (~> 1.10)
|
68
|
-
parser (>= 3.2.
|
70
|
+
parser (>= 3.2.2.3)
|
69
71
|
rainbow (>= 2.2.2, < 4.0)
|
70
72
|
regexp_parser (>= 1.8, < 3.0)
|
71
73
|
rexml (>= 3.2.5, < 4.0)
|
72
|
-
rubocop-ast (>= 1.
|
74
|
+
rubocop-ast (>= 1.28.0, < 2.0)
|
73
75
|
ruby-progressbar (~> 1.7)
|
74
76
|
unicode-display_width (>= 2.4.0, < 3.0)
|
75
|
-
rubocop-ast (1.
|
77
|
+
rubocop-ast (1.29.0)
|
76
78
|
parser (>= 3.2.1.0)
|
77
79
|
rubocop-rubycw (0.1.6)
|
78
80
|
rubocop (~> 1.0)
|
79
81
|
ruby-debug-ide (0.7.3)
|
80
82
|
rake (>= 0.8.1)
|
81
|
-
ruby-progressbar (1.
|
83
|
+
ruby-progressbar (1.13.0)
|
82
84
|
singleton (0.1.1)
|
83
|
-
stackprof (0.2.
|
84
|
-
stringio (3.0.
|
85
|
+
stackprof (0.2.25)
|
86
|
+
stringio (3.0.7)
|
85
87
|
strong_json (2.1.2)
|
86
88
|
tempfile (0.1.3)
|
87
|
-
test-unit (3.5.
|
89
|
+
test-unit (3.5.9)
|
88
90
|
power_assert
|
89
91
|
unicode-display_width (2.4.2)
|
90
92
|
|
@@ -105,7 +107,7 @@ DEPENDENCIES
|
|
105
107
|
rake-compiler
|
106
108
|
rbs!
|
107
109
|
rbs-amber!
|
108
|
-
rdoc (
|
110
|
+
rdoc (~> 6.4.0)
|
109
111
|
rspec
|
110
112
|
rubocop
|
111
113
|
rubocop-rubycw
|
data/Steepfile
CHANGED
@@ -9,7 +9,7 @@ target :lib do
|
|
9
9
|
"lib/rbs/test.rb"
|
10
10
|
)
|
11
11
|
|
12
|
-
library "set", "pathname", "json", "logger", "monitor", "tsort", "uri", 'dbm', 'pstore', 'singleton', 'shellwords', 'fileutils', 'find', 'digest'
|
12
|
+
library "set", "pathname", "json", "logger", "monitor", "tsort", "uri", 'dbm', 'pstore', 'singleton', 'shellwords', 'fileutils', 'find', 'digest', 'abbrev'
|
13
13
|
signature 'stdlib/yaml/0'
|
14
14
|
signature "stdlib/strscan/0/"
|
15
15
|
signature "stdlib/optparse/0/"
|
data/core/file.rbs
CHANGED
@@ -1971,67 +1971,171 @@ File::SEPARATOR: String
|
|
1971
1971
|
#
|
1972
1972
|
File::Separator: String
|
1973
1973
|
|
1974
|
+
# <!-- rdoc-file=file.c -->
|
1975
|
+
# File::Constants provides file-related constants. All possible file constants
|
1976
|
+
# are listed in the documentation but they may not all be present on your
|
1977
|
+
# platform.
|
1978
|
+
#
|
1979
|
+
# If the underlying platform doesn't define a constant the corresponding Ruby
|
1980
|
+
# constant is not defined.
|
1981
|
+
#
|
1982
|
+
# Your platform documentations (e.g. man open(2)) may describe more detailed
|
1983
|
+
# information.
|
1984
|
+
#
|
1974
1985
|
module File::Constants
|
1975
1986
|
end
|
1976
1987
|
|
1988
|
+
# <!-- rdoc-file=file.c -->
|
1989
|
+
# append on each write
|
1990
|
+
#
|
1977
1991
|
File::Constants::APPEND: Integer
|
1978
1992
|
|
1993
|
+
# <!-- rdoc-file=file.c -->
|
1994
|
+
# disable line code conversion
|
1995
|
+
#
|
1979
1996
|
File::Constants::BINARY: Integer
|
1980
1997
|
|
1998
|
+
# <!-- rdoc-file=file.c -->
|
1999
|
+
# create file if it does not exist
|
2000
|
+
#
|
1981
2001
|
File::Constants::CREAT: Integer
|
1982
2002
|
|
2003
|
+
# <!-- rdoc-file=file.c -->
|
2004
|
+
# Try to minimize cache effects of the I/O to and from this file.
|
2005
|
+
#
|
1983
2006
|
File::Constants::DIRECT: Integer
|
1984
2007
|
|
2008
|
+
# <!-- rdoc-file=file.c -->
|
2009
|
+
# any write operation perform synchronously except some meta data
|
2010
|
+
#
|
1985
2011
|
File::Constants::DSYNC: Integer
|
1986
2012
|
|
2013
|
+
# <!-- rdoc-file=file.c -->
|
2014
|
+
# error if CREAT and the file exists
|
2015
|
+
#
|
1987
2016
|
File::Constants::EXCL: Integer
|
1988
2017
|
|
2018
|
+
# <!-- rdoc-file=dir.c -->
|
2019
|
+
# Makes File.fnmatch patterns case insensitive (but not Dir.glob patterns).
|
2020
|
+
#
|
1989
2021
|
File::Constants::FNM_CASEFOLD: Integer
|
1990
2022
|
|
2023
|
+
# <!-- rdoc-file=dir.c -->
|
2024
|
+
# The '*' wildcard matches filenames starting with "." in File.fnmatch and
|
2025
|
+
# Dir.glob patterns
|
2026
|
+
#
|
1991
2027
|
File::Constants::FNM_DOTMATCH: Integer
|
1992
2028
|
|
2029
|
+
# <!-- rdoc-file=dir.c -->
|
2030
|
+
# Allows file globbing through "{a,b}" in File.fnmatch patterns.
|
2031
|
+
#
|
1993
2032
|
File::Constants::FNM_EXTGLOB: Integer
|
1994
2033
|
|
2034
|
+
# <!-- rdoc-file=dir.c -->
|
2035
|
+
# Disables escapes in File.fnmatch and Dir.glob patterns
|
2036
|
+
#
|
1995
2037
|
File::Constants::FNM_NOESCAPE: Integer
|
1996
2038
|
|
2039
|
+
# <!-- rdoc-file=dir.c -->
|
2040
|
+
# Wildcards in File.fnmatch and Dir.glob patterns do not match directory
|
2041
|
+
# separators
|
2042
|
+
#
|
1997
2043
|
File::Constants::FNM_PATHNAME: Integer
|
1998
2044
|
|
2045
|
+
# <!-- rdoc-file=dir.c -->
|
2046
|
+
# Makes patterns to match short names if existing. Valid only on Microsoft
|
2047
|
+
# Windows.
|
2048
|
+
#
|
1999
2049
|
File::Constants::FNM_SHORTNAME: Integer
|
2000
2050
|
|
2051
|
+
# <!-- rdoc-file=dir.c -->
|
2052
|
+
# System default case insensitiveness, equals to FNM_CASEFOLD or 0.
|
2053
|
+
#
|
2001
2054
|
File::Constants::FNM_SYSCASE: Integer
|
2002
2055
|
|
2056
|
+
# <!-- rdoc-file=file.c -->
|
2057
|
+
# exclusive lock. see File#flock
|
2058
|
+
#
|
2003
2059
|
File::Constants::LOCK_EX: Integer
|
2004
2060
|
|
2061
|
+
# <!-- rdoc-file=file.c -->
|
2062
|
+
# non-blocking lock. used with LOCK_SH or LOCK_EX. see File#flock
|
2063
|
+
#
|
2005
2064
|
File::Constants::LOCK_NB: Integer
|
2006
2065
|
|
2066
|
+
# <!-- rdoc-file=file.c -->
|
2067
|
+
# shared lock. see File#flock
|
2068
|
+
#
|
2007
2069
|
File::Constants::LOCK_SH: Integer
|
2008
2070
|
|
2071
|
+
# <!-- rdoc-file=file.c -->
|
2072
|
+
# unlock. see File#flock
|
2073
|
+
#
|
2009
2074
|
File::Constants::LOCK_UN: Integer
|
2010
2075
|
|
2076
|
+
# <!-- rdoc-file=file.c -->
|
2077
|
+
# do not change atime
|
2078
|
+
#
|
2011
2079
|
File::Constants::NOATIME: Integer
|
2012
2080
|
|
2081
|
+
# <!-- rdoc-file=file.c -->
|
2082
|
+
# not to make opened IO the controlling terminal device
|
2083
|
+
#
|
2013
2084
|
File::Constants::NOCTTY: Integer
|
2014
2085
|
|
2086
|
+
# <!-- rdoc-file=file.c -->
|
2087
|
+
# do not follow symlinks
|
2088
|
+
#
|
2015
2089
|
File::Constants::NOFOLLOW: Integer
|
2016
2090
|
|
2091
|
+
# <!-- rdoc-file=file.c -->
|
2092
|
+
# do not block on open or for data to become available
|
2093
|
+
#
|
2017
2094
|
File::Constants::NONBLOCK: Integer
|
2018
2095
|
|
2096
|
+
# <!-- rdoc-file=file.c -->
|
2097
|
+
# Name of the null device
|
2098
|
+
#
|
2019
2099
|
File::Constants::NULL: String
|
2020
2100
|
|
2101
|
+
# <!-- rdoc-file=file.c -->
|
2102
|
+
# open for reading only
|
2103
|
+
#
|
2021
2104
|
File::Constants::RDONLY: Integer
|
2022
2105
|
|
2106
|
+
# <!-- rdoc-file=file.c -->
|
2107
|
+
# open for reading and writing
|
2108
|
+
#
|
2023
2109
|
File::Constants::RDWR: Integer
|
2024
2110
|
|
2111
|
+
# <!-- rdoc-file=file.c -->
|
2112
|
+
# any read operation perform synchronously. used with SYNC or DSYNC.
|
2113
|
+
#
|
2025
2114
|
File::Constants::RSYNC: Integer
|
2026
2115
|
|
2116
|
+
# <!-- rdoc-file=file.c -->
|
2117
|
+
# can delete opened file
|
2118
|
+
#
|
2027
2119
|
File::Constants::SHARE_DELETE: Integer
|
2028
2120
|
|
2121
|
+
# <!-- rdoc-file=file.c -->
|
2122
|
+
# any write operation perform synchronously
|
2123
|
+
#
|
2029
2124
|
File::Constants::SYNC: Integer
|
2030
2125
|
|
2126
|
+
# <!-- rdoc-file=file.c -->
|
2127
|
+
# Create an unnamed temporary file
|
2128
|
+
#
|
2031
2129
|
File::Constants::TMPFILE: Integer
|
2032
2130
|
|
2131
|
+
# <!-- rdoc-file=file.c -->
|
2132
|
+
# truncate size to 0
|
2133
|
+
#
|
2033
2134
|
File::Constants::TRUNC: Integer
|
2034
2135
|
|
2136
|
+
# <!-- rdoc-file=file.c -->
|
2137
|
+
# open for writing only
|
2138
|
+
#
|
2035
2139
|
File::Constants::WRONLY: Integer
|
2036
2140
|
|
2037
2141
|
# <!-- rdoc-file=file.c -->
|
data/core/gc.rbs
CHANGED
@@ -234,13 +234,6 @@ module GC
|
|
234
234
|
#
|
235
235
|
def self.verify_internal_consistency: () -> nil
|
236
236
|
|
237
|
-
# <!--
|
238
|
-
# rdoc-file=gc.c
|
239
|
-
# - verify_transient_heap_internal_consistency()
|
240
|
-
# -->
|
241
|
-
#
|
242
|
-
def self.verify_transient_heap_internal_consistency: () -> nil
|
243
|
-
|
244
237
|
# <!--
|
245
238
|
# rdoc-file=gc.rb
|
246
239
|
# - GC.latest_gc_info -> hash
|
data/core/io/buffer.rbs
CHANGED
@@ -541,13 +541,11 @@ class IO
|
|
541
541
|
|
542
542
|
# <!--
|
543
543
|
# rdoc-file=io_buffer.c
|
544
|
-
# - read(io,
|
544
|
+
# - read(io, length, [offset]) -> read length or -errno
|
545
545
|
# -->
|
546
546
|
# Read at most `length` bytes from `io` into the buffer, starting at `offset`.
|
547
547
|
# If an error occurs, return `-errno`.
|
548
548
|
#
|
549
|
-
# If `length` is not given, read until the end of the buffer.
|
550
|
-
#
|
551
549
|
# If `offset` is not given, read from the beginning of the buffer.
|
552
550
|
#
|
553
551
|
# If `length` is 0, read nothing.
|
data/core/module.rbs
CHANGED
@@ -284,7 +284,7 @@ class Module < Object
|
|
284
284
|
# end
|
285
285
|
# Mod.instance_methods.sort #=> [:one, :one=, :two, :two=]
|
286
286
|
#
|
287
|
-
def attr_accessor: (*
|
287
|
+
def attr_accessor: (*Object::name arg0) -> Array[Symbol]
|
288
288
|
|
289
289
|
# <!--
|
290
290
|
# rdoc-file=object.c
|
@@ -298,7 +298,7 @@ class Module < Object
|
|
298
298
|
# in turn. String arguments are converted to symbols. Returns an array of
|
299
299
|
# defined method names as symbols.
|
300
300
|
#
|
301
|
-
def attr_reader: (*
|
301
|
+
def attr_reader: (*Object::name arg0) -> Array[Symbol]
|
302
302
|
|
303
303
|
# <!--
|
304
304
|
# rdoc-file=object.c
|
@@ -309,7 +309,7 @@ class Module < Object
|
|
309
309
|
# *symbol*`.id2name`. String arguments are converted to symbols. Returns an
|
310
310
|
# array of defined method names as symbols.
|
311
311
|
#
|
312
|
-
def attr_writer: (*
|
312
|
+
def attr_writer: (*Object::name arg0) -> Array[Symbol]
|
313
313
|
|
314
314
|
# <!--
|
315
315
|
# rdoc-file=load.c
|
@@ -1629,5 +1629,5 @@ class Module < Object
|
|
1629
1629
|
# `attr_reader(name)` but deprecated. Returns an array of defined method names
|
1630
1630
|
# as symbols.
|
1631
1631
|
#
|
1632
|
-
def attr: (*
|
1632
|
+
def attr: (*Object::name arg0) -> Array[Symbol]
|
1633
1633
|
end
|
data/core/object.rbs
CHANGED
@@ -205,8 +205,8 @@ class Object < BasicObject
|
|
205
205
|
# chris.define_singleton_method(:greet) {|greeting| "#{greeting}, I'm Chris!" }
|
206
206
|
# chris.greet("Hi") #=> "Hi, I'm Chris!"
|
207
207
|
#
|
208
|
-
def define_singleton_method: (
|
209
|
-
| (
|
208
|
+
def define_singleton_method: (name, Method | UnboundMethod) -> Symbol
|
209
|
+
| (name) { (*untyped) -> untyped } -> Symbol
|
210
210
|
|
211
211
|
# <!--
|
212
212
|
# rdoc-file=io.c
|
data/core/process.rbs
CHANGED
data/core/rubygems/rubygems.rbs
CHANGED
@@ -261,15 +261,6 @@ module Gem
|
|
261
261
|
#
|
262
262
|
def self.data_home: () -> String
|
263
263
|
|
264
|
-
# <!--
|
265
|
-
# rdoc-file=lib/rubygems.rb
|
266
|
-
# - datadir(gem_name)
|
267
|
-
# -->
|
268
|
-
# The path to the data directory specified by the gem name. If the package is
|
269
|
-
# not available as a gem, return nil.
|
270
|
-
#
|
271
|
-
def self.datadir: (String gem_name) -> String?
|
272
|
-
|
273
264
|
# <!--
|
274
265
|
# rdoc-file=lib/rubygems/defaults.rb
|
275
266
|
# - default_bindir()
|
data/core/string.rbs
CHANGED
@@ -2600,8 +2600,10 @@ class String
|
|
2600
2600
|
# <<cruel>> <<world>>
|
2601
2601
|
# rceu lowlr
|
2602
2602
|
#
|
2603
|
-
def scan: (Regexp
|
2604
|
-
| (Regexp
|
2603
|
+
def scan: (Regexp pattern) -> Array[String | Array[String]]
|
2604
|
+
| (Regexp pattern) { (String | Array[String]) -> void } -> self
|
2605
|
+
| (string pattern) -> Array[String]
|
2606
|
+
| (string pattern) { (String) -> void } -> self
|
2605
2607
|
|
2606
2608
|
# <!--
|
2607
2609
|
# rdoc-file=string.c
|
data/ext/rbs_extension/parser.c
CHANGED
@@ -2649,13 +2649,9 @@ void parse_use_clauses(parserstate *state, VALUE clauses) {
|
|
2649
2649
|
|
2650
2650
|
VALUE location = rbs_new_location(state->buffer, clause_range);
|
2651
2651
|
rbs_loc *loc = rbs_check_location(location);
|
2652
|
-
rbs_loc_add_required_child(loc, rb_intern("type_name"),
|
2653
|
-
|
2654
|
-
|
2655
|
-
}
|
2656
|
-
if (!null_range_p(new_name_range)) {
|
2657
|
-
rbs_loc_add_optional_child(loc, rb_intern("new_name"), new_name_range);
|
2658
|
-
}
|
2652
|
+
rbs_loc_add_required_child(loc, rb_intern("type_name"), type_name_range);
|
2653
|
+
rbs_loc_add_optional_child(loc, rb_intern("keyword"), keyword_range);
|
2654
|
+
rbs_loc_add_optional_child(loc, rb_intern("new_name"), new_name_range);
|
2659
2655
|
|
2660
2656
|
rb_ary_push(clauses, rbs_ast_directives_use_single_clause(type_name, new_name, location));
|
2661
2657
|
|
@@ -2739,7 +2735,7 @@ VALUE parse_signature(parserstate *state) {
|
|
2739
2735
|
}
|
2740
2736
|
|
2741
2737
|
static VALUE
|
2742
|
-
rbsparser_parse_type(VALUE self, VALUE buffer, VALUE start_pos, VALUE end_pos, VALUE variables)
|
2738
|
+
rbsparser_parse_type(VALUE self, VALUE buffer, VALUE start_pos, VALUE end_pos, VALUE variables, VALUE require_eof)
|
2743
2739
|
{
|
2744
2740
|
parserstate *parser = alloc_parser(buffer, FIX2INT(start_pos), FIX2INT(end_pos), variables);
|
2745
2741
|
|
@@ -2749,13 +2745,17 @@ rbsparser_parse_type(VALUE self, VALUE buffer, VALUE start_pos, VALUE end_pos, V
|
|
2749
2745
|
|
2750
2746
|
VALUE type = parse_type(parser);
|
2751
2747
|
|
2748
|
+
if (RB_TEST(require_eof)) {
|
2749
|
+
parser_advance_assert(parser, pEOF);
|
2750
|
+
}
|
2751
|
+
|
2752
2752
|
free_parser(parser);
|
2753
2753
|
|
2754
2754
|
return type;
|
2755
2755
|
}
|
2756
2756
|
|
2757
2757
|
static VALUE
|
2758
|
-
rbsparser_parse_method_type(VALUE self, VALUE buffer, VALUE start_pos, VALUE end_pos, VALUE variables)
|
2758
|
+
rbsparser_parse_method_type(VALUE self, VALUE buffer, VALUE start_pos, VALUE end_pos, VALUE variables, VALUE require_eof)
|
2759
2759
|
{
|
2760
2760
|
parserstate *parser = alloc_parser(buffer, FIX2INT(start_pos), FIX2INT(end_pos), variables);
|
2761
2761
|
|
@@ -2765,6 +2765,10 @@ rbsparser_parse_method_type(VALUE self, VALUE buffer, VALUE start_pos, VALUE end
|
|
2765
2765
|
|
2766
2766
|
VALUE method_type = parse_method_type(parser);
|
2767
2767
|
|
2768
|
+
if (RB_TEST(require_eof)) {
|
2769
|
+
parser_advance_assert(parser, pEOF);
|
2770
|
+
}
|
2771
|
+
|
2768
2772
|
free_parser(parser);
|
2769
2773
|
|
2770
2774
|
return method_type;
|
@@ -2782,7 +2786,7 @@ rbsparser_parse_signature(VALUE self, VALUE buffer, VALUE end_pos)
|
|
2782
2786
|
|
2783
2787
|
void rbs__init_parser(void) {
|
2784
2788
|
RBS_Parser = rb_define_class_under(RBS, "Parser", rb_cObject);
|
2785
|
-
rb_define_singleton_method(RBS_Parser, "_parse_type", rbsparser_parse_type,
|
2786
|
-
rb_define_singleton_method(RBS_Parser, "_parse_method_type", rbsparser_parse_method_type,
|
2789
|
+
rb_define_singleton_method(RBS_Parser, "_parse_type", rbsparser_parse_type, 5);
|
2790
|
+
rb_define_singleton_method(RBS_Parser, "_parse_method_type", rbsparser_parse_method_type, 5);
|
2787
2791
|
rb_define_singleton_method(RBS_Parser, "_parse_signature", rbsparser_parse_signature, 2);
|
2788
2792
|
}
|