rbs 3.0.4 → 3.1.1
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 +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
|
}
|