rbs 1.8.0 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +82 -4
- data/docs/collection.md +23 -1
- data/docs/syntax.md +94 -41
- data/ext/rbs_extension/constants.c +2 -6
- data/ext/rbs_extension/constants.h +1 -2
- data/ext/rbs_extension/parser.c +212 -178
- data/ext/rbs_extension/parserstate.c +6 -2
- data/ext/rbs_extension/parserstate.h +10 -0
- data/ext/rbs_extension/ruby_objs.c +9 -11
- data/ext/rbs_extension/ruby_objs.h +1 -2
- data/lib/rbs/ast/declarations.rb +0 -97
- data/lib/rbs/ast/type_param.rb +134 -0
- data/lib/rbs/cli.rb +32 -4
- data/lib/rbs/collection/config/lockfile_generator.rb +26 -18
- data/lib/rbs/collection/sources/git.rb +18 -7
- data/lib/rbs/collection/sources/rubygems.rb +7 -0
- data/lib/rbs/collection/sources/stdlib.rb +6 -0
- data/lib/rbs/definition.rb +9 -0
- data/lib/rbs/definition_builder.rb +49 -14
- data/lib/rbs/environment.rb +32 -9
- data/lib/rbs/environment_loader.rb +0 -2
- data/lib/rbs/errors.rb +20 -7
- data/lib/rbs/location_aux.rb +2 -0
- data/lib/rbs/method_type.rb +29 -6
- data/lib/rbs/prototype/rb.rb +3 -3
- data/lib/rbs/prototype/rbi.rb +8 -6
- data/lib/rbs/prototype/runtime.rb +4 -4
- data/lib/rbs/types.rb +89 -0
- data/lib/rbs/validator.rb +62 -11
- data/lib/rbs/variance_calculator.rb +9 -8
- data/lib/rbs/version.rb +1 -1
- data/lib/rbs/writer.rb +1 -13
- data/lib/rbs.rb +1 -0
- data/schema/decls.json +16 -55
- data/schema/methodType.json +1 -1
- data/schema/typeParam.json +36 -0
- data/sig/collection/collections.rbs +11 -2
- data/sig/collection/config.rbs +2 -2
- data/sig/declarations.rbs +8 -58
- data/sig/definition.rbs +11 -1
- data/sig/definition_builder.rbs +8 -1
- data/sig/environment.rbs +7 -1
- data/sig/errors.rbs +19 -4
- data/sig/location.rbs +3 -1
- data/sig/locator.rbs +1 -1
- data/sig/method_types.rbs +25 -4
- data/sig/type_param.rbs +74 -0
- data/sig/types.rbs +27 -1
- data/sig/validator.rbs +31 -2
- data/sig/variance_calculator.rbs +1 -1
- data/sig/writer.rbs +1 -1
- data/stdlib/bigdecimal-math/0/manifest.yaml +2 -0
- data/stdlib/csv/0/manifest.yaml +2 -0
- data/stdlib/logger/0/manifest.yaml +2 -0
- data/stdlib/net-http/0/manifest.yaml +2 -0
- data/stdlib/openssl/0/manifest.yaml +2 -0
- data/stdlib/prime/0/manifest.yaml +2 -0
- data/stdlib/resolv/0/manifest.yaml +3 -0
- data/stdlib/uri/0/common.rbs +10 -5
- data/stdlib/uri/0/ftp.rbs +10 -0
- data/stdlib/uri/0/generic.rbs +34 -34
- data/stdlib/uri/0/mailto.rbs +5 -0
- data/stdlib/uri/0/ws.rbs +10 -0
- data/stdlib/uri/0/wss.rbs +7 -0
- data/stdlib/yaml/0/manifest.yaml +3 -0
- metadata +17 -2
data/stdlib/uri/0/generic.rbs
CHANGED
@@ -193,14 +193,14 @@ module URI
|
|
193
193
|
#
|
194
194
|
# Creates a new URI::Generic instance from ``generic'' components without check.
|
195
195
|
#
|
196
|
-
def initialize: (String scheme, String userinfo, String host, Integer port,
|
196
|
+
def initialize: (String? scheme, String? userinfo, String? host, (String | Integer)? port, nil registry, String? path, String? opaque, String? query, String? fragment, ?untyped parser, ?boolish arg_check) -> void
|
197
197
|
|
198
198
|
#
|
199
199
|
# Returns the scheme component of the URI.
|
200
200
|
#
|
201
201
|
# URI("http://foo/bar/baz").scheme #=> "http"
|
202
202
|
#
|
203
|
-
attr_reader scheme: String
|
203
|
+
attr_reader scheme: String?
|
204
204
|
|
205
205
|
# Returns the host component of the URI.
|
206
206
|
#
|
@@ -222,14 +222,14 @@ module URI
|
|
222
222
|
# URI("http://[::1]/bar/baz").host #=> "[::1]"
|
223
223
|
# URI("http://[::1]/bar/baz").hostname #=> "::1"
|
224
224
|
#
|
225
|
-
attr_reader host: String
|
225
|
+
attr_reader host: String?
|
226
226
|
|
227
227
|
# Returns the port component of the URI.
|
228
228
|
#
|
229
229
|
# URI("http://foo/bar/baz").port #=> 80
|
230
230
|
# URI("http://foo:8080/bar/baz").port #=> 8080
|
231
231
|
#
|
232
|
-
attr_reader port: Integer
|
232
|
+
attr_reader port: Integer?
|
233
233
|
|
234
234
|
def registry: () -> nil
|
235
235
|
|
@@ -237,13 +237,13 @@ module URI
|
|
237
237
|
#
|
238
238
|
# URI("http://foo/bar/baz").path #=> "/bar/baz"
|
239
239
|
#
|
240
|
-
attr_reader path: String
|
240
|
+
attr_reader path: String?
|
241
241
|
|
242
242
|
# Returns the query component of the URI.
|
243
243
|
#
|
244
244
|
# URI("http://foo/bar/baz?search=FooBar").query #=> "search=FooBar"
|
245
245
|
#
|
246
|
-
attr_reader query: String
|
246
|
+
attr_reader query: String?
|
247
247
|
|
248
248
|
# Returns the opaque part of the URI.
|
249
249
|
#
|
@@ -280,13 +280,13 @@ module URI
|
|
280
280
|
#
|
281
281
|
# Checks the scheme +v+ component against the URI::Parser Regexp for :SCHEME.
|
282
282
|
#
|
283
|
-
def check_scheme: (String v) -> true
|
283
|
+
def check_scheme: (String? v) -> true
|
284
284
|
|
285
285
|
# Protected setter for the scheme component +v+.
|
286
286
|
#
|
287
287
|
# See also URI::Generic.scheme=.
|
288
288
|
#
|
289
|
-
def set_scheme: (String v) -> String
|
289
|
+
def set_scheme: (String? v) -> String?
|
290
290
|
|
291
291
|
#
|
292
292
|
# == Args
|
@@ -309,7 +309,7 @@ module URI
|
|
309
309
|
# uri.scheme = "https"
|
310
310
|
# uri.to_s #=> "https://my.example.com"
|
311
311
|
#
|
312
|
-
def scheme=: (String v) -> String
|
312
|
+
def scheme=: (String? v) -> String?
|
313
313
|
|
314
314
|
#
|
315
315
|
# Checks the +user+ and +password+.
|
@@ -338,12 +338,12 @@ module URI
|
|
338
338
|
# Can not have a registry or opaque component defined,
|
339
339
|
# with a user component defined.
|
340
340
|
#
|
341
|
-
def check_password: (String v, ?String user) -> (String | true)
|
341
|
+
def check_password: (String? v, ?String user) -> (String? | true)
|
342
342
|
|
343
343
|
#
|
344
344
|
# Sets userinfo, argument is string like 'name:pass'.
|
345
345
|
#
|
346
|
-
def userinfo=: (String? userinfo) ->
|
346
|
+
def userinfo=: (String? userinfo) -> String?
|
347
347
|
|
348
348
|
#
|
349
349
|
# == Args
|
@@ -366,7 +366,7 @@ module URI
|
|
366
366
|
# uri.user = "sam"
|
367
367
|
# uri.to_s #=> "http://sam:V3ry_S3nsit1ve@my.example.com"
|
368
368
|
#
|
369
|
-
def user=: (String user) -> String
|
369
|
+
def user=: (String? user) -> String?
|
370
370
|
|
371
371
|
#
|
372
372
|
# == Args
|
@@ -389,26 +389,26 @@ module URI
|
|
389
389
|
# uri.password = "V3ry_S3nsit1ve"
|
390
390
|
# uri.to_s #=> "http://john:V3ry_S3nsit1ve@my.example.com"
|
391
391
|
#
|
392
|
-
def password=: (String password) -> String
|
392
|
+
def password=: (String? password) -> String?
|
393
393
|
|
394
394
|
# Protected setter for the +user+ component, and +password+ if available
|
395
395
|
# (with validation).
|
396
396
|
#
|
397
397
|
# See also URI::Generic.userinfo=.
|
398
398
|
#
|
399
|
-
def set_userinfo: (String user, ?String? password) ->
|
399
|
+
def set_userinfo: (String? user, ?String? password) -> [String?, String?]
|
400
400
|
|
401
401
|
# Protected setter for the user component +v+.
|
402
402
|
#
|
403
403
|
# See also URI::Generic.user=.
|
404
404
|
#
|
405
|
-
def set_user: (String v) -> String
|
405
|
+
def set_user: (String? v) -> String?
|
406
406
|
|
407
407
|
# Protected setter for the password component +v+.
|
408
408
|
#
|
409
409
|
# See also URI::Generic.password=.
|
410
410
|
#
|
411
|
-
def set_password: (String v) -> String
|
411
|
+
def set_password: (String? v) -> String?
|
412
412
|
|
413
413
|
# Returns the userinfo +ui+ as <code>[user, password]</code>
|
414
414
|
# if properly formatted as 'user:password'.
|
@@ -421,10 +421,10 @@ module URI
|
|
421
421
|
def userinfo: () -> String?
|
422
422
|
|
423
423
|
# Returns the user component.
|
424
|
-
def user: () -> String
|
424
|
+
def user: () -> String?
|
425
425
|
|
426
426
|
# Returns the password component.
|
427
|
-
def password: () -> String
|
427
|
+
def password: () -> String?
|
428
428
|
|
429
429
|
#
|
430
430
|
# Checks the host +v+ component for RFC2396 compliance
|
@@ -433,13 +433,13 @@ module URI
|
|
433
433
|
# Can not have a registry or opaque component defined,
|
434
434
|
# with a host component defined.
|
435
435
|
#
|
436
|
-
def check_host: (String v) ->
|
436
|
+
def check_host: (String? v) -> true?
|
437
437
|
|
438
438
|
# Protected setter for the host component +v+.
|
439
439
|
#
|
440
440
|
# See also URI::Generic.host=.
|
441
441
|
#
|
442
|
-
def set_host: (String v) -> String
|
442
|
+
def set_host: (String? v) -> String?
|
443
443
|
|
444
444
|
#
|
445
445
|
# == Args
|
@@ -462,7 +462,7 @@ module URI
|
|
462
462
|
# uri.host = "foo.com"
|
463
463
|
# uri.to_s #=> "http://foo.com"
|
464
464
|
#
|
465
|
-
def host=: (String v) -> String
|
465
|
+
def host=: (String? v) -> String?
|
466
466
|
|
467
467
|
# Extract the host part of the URI and unwrap brackets for IPv6 addresses.
|
468
468
|
#
|
@@ -473,7 +473,7 @@ module URI
|
|
473
473
|
# uri.hostname #=> "::1"
|
474
474
|
# uri.host #=> "[::1]"
|
475
475
|
#
|
476
|
-
def hostname: () -> String
|
476
|
+
def hostname: () -> String?
|
477
477
|
|
478
478
|
# Sets the host part of the URI as the argument with brackets for IPv6 addresses.
|
479
479
|
#
|
@@ -487,7 +487,7 @@ module URI
|
|
487
487
|
# If the argument seems to be an IPv6 address,
|
488
488
|
# it is wrapped with brackets.
|
489
489
|
#
|
490
|
-
def hostname=: (String v) -> String
|
490
|
+
def hostname=: (String? v) -> String?
|
491
491
|
|
492
492
|
#
|
493
493
|
# Checks the port +v+ component for RFC2396 compliance
|
@@ -496,13 +496,13 @@ module URI
|
|
496
496
|
# Can not have a registry or opaque component defined,
|
497
497
|
# with a port component defined.
|
498
498
|
#
|
499
|
-
def check_port: (Integer v) ->
|
499
|
+
def check_port: ((String | Integer)? v) -> true?
|
500
500
|
|
501
501
|
# Protected setter for the port component +v+.
|
502
502
|
#
|
503
503
|
# See also URI::Generic.port=.
|
504
504
|
#
|
505
|
-
def set_port: (Integer v) -> Integer
|
505
|
+
def set_port: ((String | Integer)? v) -> (String | Integer)?
|
506
506
|
|
507
507
|
#
|
508
508
|
# == Args
|
@@ -525,7 +525,7 @@ module URI
|
|
525
525
|
# uri.port = 8080
|
526
526
|
# uri.to_s #=> "http://my.example.com:8080"
|
527
527
|
#
|
528
|
-
def port=: (Integer v) -> Integer
|
528
|
+
def port=: ((String | Integer)? v) -> (String | Integer)?
|
529
529
|
|
530
530
|
def check_registry: (String v) -> nil
|
531
531
|
|
@@ -541,13 +541,13 @@ module URI
|
|
541
541
|
# Can not have a opaque component defined,
|
542
542
|
# with a path component defined.
|
543
543
|
#
|
544
|
-
def check_path: (String v) -> true
|
544
|
+
def check_path: (String? v) -> true
|
545
545
|
|
546
546
|
# Protected setter for the path component +v+.
|
547
547
|
#
|
548
548
|
# See also URI::Generic.path=.
|
549
549
|
#
|
550
|
-
def set_path: (String v) -> String
|
550
|
+
def set_path: (String? v) -> String?
|
551
551
|
|
552
552
|
#
|
553
553
|
# == Args
|
@@ -570,7 +570,7 @@ module URI
|
|
570
570
|
# uri.path = "/faq/"
|
571
571
|
# uri.to_s #=> "http://my.example.com/faq/"
|
572
572
|
#
|
573
|
-
def path=: (String v) -> String
|
573
|
+
def path=: (String? v) -> String?
|
574
574
|
|
575
575
|
#
|
576
576
|
# == Args
|
@@ -590,7 +590,7 @@ module URI
|
|
590
590
|
# uri.query = "id=1"
|
591
591
|
# uri.to_s #=> "http://my.example.com/?id=1"
|
592
592
|
#
|
593
|
-
def query=: (String v) -> String
|
593
|
+
def query=: (String? v) -> String?
|
594
594
|
|
595
595
|
#
|
596
596
|
# Checks the opaque +v+ component for RFC2396 compliance and
|
@@ -599,13 +599,13 @@ module URI
|
|
599
599
|
# Can not have a host, port, user, or path component defined,
|
600
600
|
# with an opaque component defined.
|
601
601
|
#
|
602
|
-
def check_opaque: (String v) ->
|
602
|
+
def check_opaque: (String? v) -> true?
|
603
603
|
|
604
604
|
# Protected setter for the opaque component +v+.
|
605
605
|
#
|
606
606
|
# See also URI::Generic.opaque=.
|
607
607
|
#
|
608
|
-
def set_opaque: (String v) -> String
|
608
|
+
def set_opaque: (String? v) -> String?
|
609
609
|
|
610
610
|
#
|
611
611
|
# == Args
|
@@ -620,7 +620,7 @@ module URI
|
|
620
620
|
#
|
621
621
|
# See also URI::Generic.check_opaque.
|
622
622
|
#
|
623
|
-
def opaque=: (String v) -> String
|
623
|
+
def opaque=: (String? v) -> String?
|
624
624
|
|
625
625
|
#
|
626
626
|
# Checks the fragment +v+ component against the URI::Parser Regexp for :FRAGMENT.
|
@@ -644,7 +644,7 @@ module URI
|
|
644
644
|
# uri.fragment = "time=1305212086"
|
645
645
|
# uri.to_s #=> "http://my.example.com/?id=25#time=1305212086"
|
646
646
|
#
|
647
|
-
def fragment=: (String v) -> String
|
647
|
+
def fragment=: (String? v) -> String?
|
648
648
|
|
649
649
|
#
|
650
650
|
# Returns true if URI is hierarchical.
|
data/stdlib/uri/0/ws.rbs
ADDED
@@ -0,0 +1,10 @@
|
|
1
|
+
module URI
|
2
|
+
# The syntax of WS URIs is defined in RFC6455 section 3.
|
3
|
+
#
|
4
|
+
# Note that the Ruby URI library allows WS URLs containing usernames and
|
5
|
+
# passwords. This is not legal as per the RFC, but used to be
|
6
|
+
# supported in Internet Explorer 5 and 6, before the MS04-004 security
|
7
|
+
# update. See <URL:http://support.microsoft.com/kb/834489>.
|
8
|
+
class WS < Generic
|
9
|
+
end
|
10
|
+
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:
|
4
|
+
version: 2.0.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: 2021-12-
|
11
|
+
date: 2021-12-24 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.
|
@@ -124,6 +124,7 @@ files:
|
|
124
124
|
- lib/rbs/ast/comment.rb
|
125
125
|
- lib/rbs/ast/declarations.rb
|
126
126
|
- lib/rbs/ast/members.rb
|
127
|
+
- lib/rbs/ast/type_param.rb
|
127
128
|
- lib/rbs/buffer.rb
|
128
129
|
- lib/rbs/builtin_names.rb
|
129
130
|
- lib/rbs/char_scanner.rb
|
@@ -191,6 +192,7 @@ files:
|
|
191
192
|
- schema/location.json
|
192
193
|
- schema/members.json
|
193
194
|
- schema/methodType.json
|
195
|
+
- schema/typeParam.json
|
194
196
|
- schema/types.json
|
195
197
|
- sig/ancestor_builder.rbs
|
196
198
|
- sig/ancestor_graph.rbs
|
@@ -228,6 +230,7 @@ files:
|
|
228
230
|
- sig/type_alias_dependency.rbs
|
229
231
|
- sig/type_alias_regularity.rbs
|
230
232
|
- sig/type_name_resolver.rbs
|
233
|
+
- sig/type_param.rbs
|
231
234
|
- sig/typename.rbs
|
232
235
|
- sig/types.rbs
|
233
236
|
- sig/util.rbs
|
@@ -240,10 +243,12 @@ files:
|
|
240
243
|
- stdlib/base64/0/base64.rbs
|
241
244
|
- stdlib/benchmark/0/benchmark.rbs
|
242
245
|
- stdlib/bigdecimal-math/0/big_math.rbs
|
246
|
+
- stdlib/bigdecimal-math/0/manifest.yaml
|
243
247
|
- stdlib/bigdecimal/0/big_decimal.rbs
|
244
248
|
- stdlib/cgi/0/core.rbs
|
245
249
|
- stdlib/coverage/0/coverage.rbs
|
246
250
|
- stdlib/csv/0/csv.rbs
|
251
|
+
- stdlib/csv/0/manifest.yaml
|
247
252
|
- stdlib/date/0/date.rbs
|
248
253
|
- stdlib/date/0/date_time.rbs
|
249
254
|
- stdlib/dbm/0/dbm.rbs
|
@@ -259,20 +264,25 @@ files:
|
|
259
264
|
- stdlib/logger/0/formatter.rbs
|
260
265
|
- stdlib/logger/0/log_device.rbs
|
261
266
|
- stdlib/logger/0/logger.rbs
|
267
|
+
- stdlib/logger/0/manifest.yaml
|
262
268
|
- stdlib/logger/0/period.rbs
|
263
269
|
- stdlib/logger/0/severity.rbs
|
264
270
|
- stdlib/monitor/0/monitor.rbs
|
265
271
|
- stdlib/mutex_m/0/mutex_m.rbs
|
272
|
+
- stdlib/net-http/0/manifest.yaml
|
266
273
|
- stdlib/net-http/0/net-http.rbs
|
267
274
|
- stdlib/objspace/0/objspace.rbs
|
275
|
+
- stdlib/openssl/0/manifest.yaml
|
268
276
|
- stdlib/openssl/0/openssl.rbs
|
269
277
|
- stdlib/optparse/0/optparse.rbs
|
270
278
|
- stdlib/pathname/0/pathname.rbs
|
271
279
|
- stdlib/prettyprint/0/prettyprint.rbs
|
272
280
|
- stdlib/prime/0/integer-extension.rbs
|
281
|
+
- stdlib/prime/0/manifest.yaml
|
273
282
|
- stdlib/prime/0/prime.rbs
|
274
283
|
- stdlib/pstore/0/pstore.rbs
|
275
284
|
- stdlib/pty/0/pty.rbs
|
285
|
+
- stdlib/resolv/0/manifest.yaml
|
276
286
|
- stdlib/resolv/0/resolv.rbs
|
277
287
|
- stdlib/rubygems/0/basic_specification.rbs
|
278
288
|
- stdlib/rubygems/0/config_file.rbs
|
@@ -311,14 +321,19 @@ files:
|
|
311
321
|
- stdlib/tsort/0/tsort.rbs
|
312
322
|
- stdlib/uri/0/common.rbs
|
313
323
|
- stdlib/uri/0/file.rbs
|
324
|
+
- stdlib/uri/0/ftp.rbs
|
314
325
|
- stdlib/uri/0/generic.rbs
|
315
326
|
- stdlib/uri/0/http.rbs
|
316
327
|
- stdlib/uri/0/https.rbs
|
317
328
|
- stdlib/uri/0/ldap.rbs
|
318
329
|
- stdlib/uri/0/ldaps.rbs
|
330
|
+
- stdlib/uri/0/mailto.rbs
|
319
331
|
- stdlib/uri/0/rfc2396_parser.rbs
|
320
332
|
- stdlib/uri/0/rfc3986_parser.rbs
|
333
|
+
- stdlib/uri/0/ws.rbs
|
334
|
+
- stdlib/uri/0/wss.rbs
|
321
335
|
- stdlib/yaml/0/dbm.rbs
|
336
|
+
- stdlib/yaml/0/manifest.yaml
|
322
337
|
- stdlib/yaml/0/store.rbs
|
323
338
|
- stdlib/zlib/0/zlib.rbs
|
324
339
|
- steep/Gemfile
|