rbs 3.9.4 → 4.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/.clang-format +75 -0
- data/.clangd +2 -0
- data/.dockerignore +37 -0
- data/.github/dependabot.yml +16 -14
- data/.github/workflows/bundle-update.yml +63 -0
- data/.github/workflows/c-check.yml +66 -0
- data/.github/workflows/comments.yml +5 -3
- data/.github/workflows/dependabot.yml +2 -2
- data/.github/workflows/jruby.yml +79 -0
- data/.github/workflows/release-gems.yml +164 -0
- data/.github/workflows/ruby.yml +84 -30
- data/.github/workflows/rust.yml +186 -0
- data/.github/workflows/truffleruby.yml +54 -0
- data/.github/workflows/typecheck.yml +5 -2
- data/.github/workflows/wasm.yml +55 -0
- data/.github/workflows/windows.yml +9 -3
- data/.gitignore +16 -0
- data/.rubocop.yml +2 -2
- data/CHANGELOG.md +430 -0
- data/Dockerfile.jruby +53 -0
- data/README.md +41 -4
- data/Rakefile +777 -60
- data/Steepfile +11 -0
- data/config.yml +660 -62
- data/core/array.rbs +541 -398
- data/core/basic_object.rbs +9 -8
- data/core/binding.rbs +0 -2
- data/core/builtin.rbs +9 -8
- data/core/class.rbs +11 -8
- data/core/comparable.rbs +55 -34
- data/core/complex.rbs +104 -78
- data/core/dir.rbs +61 -49
- data/core/encoding.rbs +12 -15
- data/core/enumerable.rbs +297 -196
- data/core/enumerator/arithmetic_sequence.rbs +70 -0
- data/core/enumerator/product.rbs +5 -5
- data/core/enumerator.rbs +91 -28
- data/core/errno.rbs +11 -2
- data/core/errors.rbs +58 -29
- data/core/exception.rbs +13 -13
- data/core/fiber.rbs +74 -54
- data/core/file.rbs +260 -1151
- data/core/file_constants.rbs +463 -0
- data/core/file_stat.rbs +534 -0
- data/core/file_test.rbs +3 -3
- data/core/float.rbs +257 -116
- data/core/gc.rbs +425 -281
- data/core/hash.rbs +1151 -829
- data/core/integer.rbs +156 -195
- data/core/io/buffer.rbs +53 -42
- data/core/io/wait.rbs +13 -35
- data/core/io.rbs +220 -154
- data/core/kernel.rbs +239 -163
- data/core/marshal.rbs +4 -4
- data/core/match_data.rbs +16 -14
- data/core/math.rbs +107 -66
- data/core/method.rbs +69 -33
- data/core/module.rbs +302 -150
- data/core/nil_class.rbs +7 -6
- data/core/numeric.rbs +77 -63
- data/core/object.rbs +9 -11
- data/core/object_space/weak_key_map.rbs +7 -7
- data/core/object_space.rbs +30 -23
- data/core/pathname.rbs +1312 -0
- data/core/proc.rbs +95 -58
- data/core/process.rbs +222 -202
- data/core/ractor.rbs +364 -518
- data/core/random.rbs +21 -3
- data/core/range.rbs +181 -79
- data/core/rational.rbs +60 -89
- data/core/rbs/ops.rbs +154 -0
- data/core/rbs/unnamed/argf.rbs +63 -56
- data/core/rbs/unnamed/env_class.rbs +19 -14
- data/core/rbs/unnamed/main_class.rbs +123 -0
- data/core/rbs/unnamed/random.rbs +11 -118
- data/core/regexp.rbs +258 -214
- data/core/ruby.rbs +53 -0
- data/core/ruby_vm.rbs +78 -34
- data/core/rubygems/config_file.rbs +5 -5
- data/core/rubygems/errors.rbs +6 -70
- data/core/rubygems/requirement.rbs +5 -15
- data/core/rubygems/rubygems.rbs +18 -81
- data/core/rubygems/specification.rbs +8 -0
- data/core/rubygems/version.rbs +2 -163
- data/core/set.rbs +493 -363
- data/core/signal.rbs +26 -16
- data/core/string.rbs +3234 -1285
- data/core/struct.rbs +43 -42
- data/core/symbol.rbs +41 -34
- data/core/thread.rbs +139 -83
- data/core/time.rbs +81 -50
- data/core/trace_point.rbs +41 -35
- data/core/true_class.rbs +2 -2
- data/core/unbound_method.rbs +24 -16
- data/core/warning.rbs +7 -7
- data/docs/CONTRIBUTING.md +2 -1
- data/docs/aliases.md +79 -0
- data/docs/collection.md +3 -3
- data/docs/config.md +171 -0
- data/docs/encoding.md +56 -0
- data/docs/gem.md +0 -1
- data/docs/inline.md +634 -0
- data/docs/rbs_by_example.md +20 -20
- data/docs/release.md +151 -0
- data/docs/rust.md +96 -0
- data/docs/sigs.md +3 -3
- data/docs/syntax.md +48 -18
- data/docs/type_fingerprint.md +21 -0
- data/docs/wasm_serialization.md +80 -0
- data/exe/rbs +1 -1
- data/ext/rbs_extension/ast_translation.c +1855 -0
- data/ext/rbs_extension/ast_translation.h +41 -0
- data/ext/rbs_extension/class_constants.c +187 -0
- data/{include/rbs/constants.h → ext/rbs_extension/class_constants.h} +23 -1
- data/ext/rbs_extension/compat.h +10 -0
- data/ext/rbs_extension/extconf.rb +26 -1
- data/ext/rbs_extension/legacy_location.c +299 -0
- data/ext/rbs_extension/legacy_location.h +82 -0
- data/ext/rbs_extension/main.c +603 -23
- data/ext/rbs_extension/rbs_extension.h +6 -21
- data/ext/rbs_extension/rbs_string_bridging.c +9 -0
- data/ext/rbs_extension/rbs_string_bridging.h +24 -0
- data/include/rbs/ast.h +1047 -0
- data/include/rbs/defines.h +99 -0
- data/include/rbs/lexer.h +207 -0
- data/include/rbs/location.h +40 -0
- data/include/rbs/parser.h +153 -0
- data/include/rbs/serialize.h +39 -0
- data/include/rbs/string.h +47 -0
- data/include/rbs/util/rbs_allocator.h +59 -0
- data/include/rbs/util/rbs_assert.h +20 -0
- data/include/rbs/util/rbs_buffer.h +83 -0
- data/include/rbs/util/rbs_constant_pool.h +6 -70
- data/include/rbs/util/rbs_encoding.h +282 -0
- data/include/rbs/util/rbs_unescape.h +24 -0
- data/include/rbs.h +9 -2
- data/lib/rbs/annotate/formatter.rb +3 -13
- data/lib/rbs/annotate/rdoc_annotator.rb +30 -32
- data/lib/rbs/annotate/rdoc_source.rb +1 -1
- data/lib/rbs/ast/annotation.rb +1 -1
- data/lib/rbs/ast/comment.rb +1 -1
- data/lib/rbs/ast/declarations.rb +10 -10
- data/lib/rbs/ast/members.rb +14 -14
- data/lib/rbs/ast/ruby/annotations.rb +451 -0
- data/lib/rbs/ast/ruby/comment_block.rb +247 -0
- data/lib/rbs/ast/ruby/declarations.rb +291 -0
- data/lib/rbs/ast/ruby/helpers/constant_helper.rb +28 -0
- data/lib/rbs/ast/ruby/helpers/location_helper.rb +15 -0
- data/lib/rbs/ast/ruby/members.rb +762 -0
- data/lib/rbs/ast/type_param.rb +24 -4
- data/lib/rbs/buffer.rb +142 -20
- data/lib/rbs/cli/diff.rb +16 -15
- data/lib/rbs/cli/validate.rb +63 -126
- data/lib/rbs/cli.rb +59 -29
- data/lib/rbs/collection/config/lockfile_generator.rb +28 -3
- data/lib/rbs/collection/sources/git.rb +7 -0
- data/lib/rbs/definition.rb +6 -1
- data/lib/rbs/definition_builder/ancestor_builder.rb +121 -65
- data/lib/rbs/definition_builder/method_builder.rb +74 -33
- data/lib/rbs/definition_builder.rb +177 -20
- data/lib/rbs/diff.rb +7 -1
- data/lib/rbs/environment/class_entry.rb +69 -0
- data/lib/rbs/environment/module_entry.rb +66 -0
- data/lib/rbs/environment.rb +410 -215
- data/lib/rbs/environment_loader.rb +2 -8
- data/lib/rbs/errors.rb +31 -21
- data/lib/rbs/inline_parser/comment_association.rb +117 -0
- data/lib/rbs/inline_parser.rb +568 -0
- data/lib/rbs/location_aux.rb +36 -4
- data/lib/rbs/locator.rb +5 -1
- data/lib/rbs/method_type.rb +5 -3
- data/lib/rbs/namespace.rb +47 -18
- data/lib/rbs/parser_aux.rb +37 -7
- data/lib/rbs/prototype/helpers.rb +57 -0
- data/lib/rbs/prototype/rb.rb +3 -28
- data/lib/rbs/prototype/rbi.rb +196 -45
- data/lib/rbs/prototype/runtime.rb +12 -2
- data/lib/rbs/resolver/constant_resolver.rb +2 -2
- data/lib/rbs/resolver/type_name_resolver.rb +120 -44
- data/lib/rbs/rewriter.rb +70 -0
- data/lib/rbs/source.rb +99 -0
- data/lib/rbs/subtractor.rb +7 -4
- data/lib/rbs/test/type_check.rb +25 -3
- data/lib/rbs/type_name.rb +34 -21
- data/lib/rbs/types.rb +91 -79
- data/lib/rbs/unit_test/convertibles.rb +1 -0
- data/lib/rbs/unit_test/type_assertions.rb +44 -8
- data/lib/rbs/validator.rb +2 -2
- data/lib/rbs/version.rb +1 -1
- data/lib/rbs/wasm/deserializer.rb +213 -0
- data/lib/rbs/wasm/location.rb +61 -0
- data/lib/rbs/wasm/parser.rb +137 -0
- data/lib/rbs/wasm/runtime.rb +196 -0
- data/lib/rbs/wasm/serialization_schema.rb +110 -0
- data/lib/rbs.rb +25 -2
- data/lib/rbs_jars.rb +39 -0
- data/lib/rdoc/discover.rb +1 -1
- data/lib/rdoc_plugin/parser.rb +8 -3
- data/rbs.gemspec +37 -5
- data/schema/typeParam.json +17 -1
- data/sig/ancestor_builder.rbs +1 -1
- data/sig/annotate/formatter.rbs +2 -2
- data/sig/annotate/rdoc_annotater.rbs +13 -10
- data/sig/ast/ruby/annotations.rbs +470 -0
- data/sig/ast/ruby/comment_block.rbs +127 -0
- data/sig/ast/ruby/declarations.rbs +158 -0
- data/sig/ast/ruby/helpers/constant_helper.rbs +11 -0
- data/sig/ast/ruby/helpers/location_helper.rbs +15 -0
- data/sig/ast/ruby/members.rbs +198 -0
- data/sig/buffer.rbs +81 -5
- data/sig/cli/diff.rbs +5 -11
- data/sig/cli/validate.rbs +12 -8
- data/sig/cli.rbs +18 -18
- data/sig/collection/config/lockfile_generator.rbs +2 -0
- data/sig/definition.rbs +6 -0
- data/sig/definition_builder.rbs +3 -1
- data/sig/environment/class_entry.rbs +50 -0
- data/sig/environment/module_entry.rbs +50 -0
- data/sig/environment.rbs +94 -87
- data/sig/errors.rbs +26 -20
- data/sig/inline_parser/comment_association.rbs +71 -0
- data/sig/inline_parser.rbs +126 -0
- data/sig/location.rbs +32 -7
- data/sig/locator.rbs +0 -2
- data/sig/manifest.yaml +0 -2
- data/sig/method_builder.rbs +9 -4
- data/sig/namespace.rbs +20 -5
- data/sig/parser.rbs +77 -13
- data/sig/prototype/helpers.rbs +2 -0
- data/sig/prototype/rbi.rbs +33 -4
- data/sig/resolver/type_name_resolver.rbs +36 -10
- data/sig/rewriter.rbs +45 -0
- data/sig/source.rbs +48 -0
- data/sig/type_param.rbs +13 -8
- data/sig/typename.rbs +15 -5
- data/sig/types.rbs +10 -8
- data/sig/unit_test/spy.rbs +0 -8
- data/sig/unit_test/type_assertions.rbs +15 -0
- data/sig/wasm/deserializer.rbs +66 -0
- data/sig/wasm/serialization_schema.rbs +13 -0
- data/src/ast.c +1628 -0
- data/src/lexer.c +3221 -0
- data/src/lexer.re +155 -0
- data/src/lexstate.c +221 -0
- data/src/location.c +31 -0
- data/src/parser.c +4258 -0
- data/src/serialize.c +958 -0
- data/src/string.c +41 -0
- data/src/util/rbs_allocator.c +171 -0
- data/src/util/rbs_assert.c +19 -0
- data/src/util/rbs_buffer.c +54 -0
- data/src/util/rbs_constant_pool.c +18 -92
- data/src/util/rbs_encoding.c +21308 -0
- data/src/util/rbs_unescape.c +167 -0
- data/stdlib/abbrev/0/array.rbs +1 -1
- data/stdlib/bigdecimal/0/big_decimal.rbs +116 -98
- data/stdlib/bigdecimal-math/0/big_math.rbs +169 -8
- data/stdlib/cgi/0/core.rbs +9 -393
- data/stdlib/cgi/0/manifest.yaml +1 -0
- data/stdlib/cgi-escape/0/escape.rbs +171 -0
- data/stdlib/coverage/0/coverage.rbs +7 -4
- data/stdlib/csv/0/csv.rbs +5 -5
- data/stdlib/date/0/date.rbs +92 -79
- data/stdlib/date/0/date_time.rbs +25 -24
- data/stdlib/delegate/0/delegator.rbs +11 -7
- data/stdlib/did_you_mean/0/did_you_mean.rbs +17 -16
- data/stdlib/digest/0/digest.rbs +117 -1
- data/stdlib/erb/0/erb.rbs +748 -347
- data/stdlib/etc/0/etc.rbs +73 -54
- data/stdlib/fileutils/0/fileutils.rbs +179 -160
- data/stdlib/forwardable/0/forwardable.rbs +13 -10
- data/stdlib/io-console/0/io-console.rbs +2 -2
- data/stdlib/ipaddr/0/ipaddr.rbs +0 -5
- data/stdlib/json/0/json.rbs +232 -185
- data/stdlib/monitor/0/monitor.rbs +5 -5
- data/stdlib/net-http/0/net-http.rbs +162 -134
- data/stdlib/objspace/0/objspace.rbs +17 -34
- data/stdlib/open-uri/0/open-uri.rbs +48 -8
- data/stdlib/open3/0/open3.rbs +469 -10
- data/stdlib/openssl/0/openssl.rbs +521 -397
- data/stdlib/optparse/0/optparse.rbs +26 -17
- data/stdlib/pathname/0/pathname.rbs +11 -1381
- data/stdlib/pp/0/pp.rbs +9 -8
- data/stdlib/prettyprint/0/prettyprint.rbs +7 -7
- data/stdlib/pstore/0/pstore.rbs +35 -30
- data/stdlib/psych/0/psych.rbs +65 -12
- data/stdlib/psych/0/store.rbs +2 -4
- data/stdlib/pty/0/pty.rbs +9 -6
- data/stdlib/random-formatter/0/random-formatter.rbs +277 -0
- data/stdlib/rdoc/0/code_object.rbs +4 -3
- data/stdlib/rdoc/0/comment.rbs +2 -0
- data/stdlib/rdoc/0/options.rbs +76 -0
- data/stdlib/rdoc/0/parser.rbs +1 -1
- data/stdlib/rdoc/0/rdoc.rbs +7 -5
- data/stdlib/rdoc/0/store.rbs +2 -2
- data/stdlib/resolv/0/resolv.rbs +26 -69
- data/stdlib/ripper/0/ripper.rbs +25 -19
- data/stdlib/securerandom/0/manifest.yaml +2 -0
- data/stdlib/securerandom/0/securerandom.rbs +7 -20
- data/stdlib/shellwords/0/shellwords.rbs +3 -3
- data/stdlib/singleton/0/singleton.rbs +3 -0
- data/stdlib/socket/0/addrinfo.rbs +9 -9
- data/stdlib/socket/0/basic_socket.rbs +3 -3
- data/stdlib/socket/0/ip_socket.rbs +10 -8
- data/stdlib/socket/0/socket.rbs +23 -10
- data/stdlib/socket/0/tcp_server.rbs +1 -1
- data/stdlib/socket/0/tcp_socket.rbs +11 -3
- data/stdlib/socket/0/udp_socket.rbs +1 -1
- data/stdlib/socket/0/unix_server.rbs +1 -1
- data/stdlib/stringio/0/stringio.rbs +1209 -95
- data/stdlib/strscan/0/string_scanner.rbs +101 -80
- data/stdlib/tempfile/0/manifest.yaml +3 -0
- data/stdlib/tempfile/0/tempfile.rbs +25 -21
- data/stdlib/time/0/time.rbs +8 -6
- data/stdlib/timeout/0/timeout.rbs +58 -7
- data/stdlib/tsort/0/cyclic.rbs +4 -1
- data/stdlib/tsort/0/interfaces.rbs +8 -8
- data/stdlib/tsort/0/tsort.rbs +16 -15
- data/stdlib/uri/0/common.rbs +42 -20
- data/stdlib/uri/0/file.rbs +3 -3
- data/stdlib/uri/0/generic.rbs +21 -18
- data/stdlib/uri/0/http.rbs +2 -2
- data/stdlib/uri/0/ldap.rbs +2 -2
- data/stdlib/uri/0/mailto.rbs +3 -3
- data/stdlib/uri/0/rfc2396_parser.rbs +12 -12
- data/stdlib/zlib/0/deflate.rbs +4 -3
- data/stdlib/zlib/0/gzip_reader.rbs +8 -8
- data/stdlib/zlib/0/gzip_writer.rbs +14 -12
- data/stdlib/zlib/0/inflate.rbs +1 -1
- data/stdlib/zlib/0/need_dict.rbs +1 -1
- data/wasm/README.md +60 -0
- data/wasm/rbs_wasm.c +423 -0
- metadata +131 -19
- data/ext/rbs_extension/lexer.c +0 -2728
- data/ext/rbs_extension/lexer.h +0 -179
- data/ext/rbs_extension/lexer.re +0 -147
- data/ext/rbs_extension/lexstate.c +0 -175
- data/ext/rbs_extension/location.c +0 -325
- data/ext/rbs_extension/location.h +0 -85
- data/ext/rbs_extension/parser.c +0 -2982
- data/ext/rbs_extension/parser.h +0 -18
- data/ext/rbs_extension/parserstate.c +0 -411
- data/ext/rbs_extension/parserstate.h +0 -163
- data/ext/rbs_extension/unescape.c +0 -32
- data/include/rbs/ruby_objs.h +0 -72
- data/src/constants.c +0 -153
- data/src/ruby_objs.c +0 -799
data/core/ruby.rbs
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# <!-- rdoc-file=version.c -->
|
|
2
|
+
# The [Ruby](rdoc-ref:Ruby) module that contains portable information among
|
|
3
|
+
# implementations.
|
|
4
|
+
#
|
|
5
|
+
# The constants defined here are aliased in the toplevel with `RUBY_` prefix.
|
|
6
|
+
#
|
|
7
|
+
module Ruby
|
|
8
|
+
# <!-- rdoc-file=version.c -->
|
|
9
|
+
# The copyright string for ruby
|
|
10
|
+
#
|
|
11
|
+
COPYRIGHT: ::String
|
|
12
|
+
|
|
13
|
+
# <!-- rdoc-file=version.c -->
|
|
14
|
+
# The full ruby version string, like <code>ruby -v</code> prints
|
|
15
|
+
#
|
|
16
|
+
DESCRIPTION: ::String
|
|
17
|
+
|
|
18
|
+
# <!-- rdoc-file=version.c -->
|
|
19
|
+
# The engine or interpreter this ruby uses.
|
|
20
|
+
#
|
|
21
|
+
ENGINE: ::String
|
|
22
|
+
|
|
23
|
+
# <!-- rdoc-file=version.c -->
|
|
24
|
+
# The version of the engine or interpreter this ruby uses.
|
|
25
|
+
#
|
|
26
|
+
ENGINE_VERSION: ::String
|
|
27
|
+
|
|
28
|
+
# <!-- rdoc-file=version.c -->
|
|
29
|
+
# The patchlevel for this ruby. If this is a development build of ruby the
|
|
30
|
+
# patchlevel will be -1
|
|
31
|
+
#
|
|
32
|
+
PATCHLEVEL: ::Integer
|
|
33
|
+
|
|
34
|
+
# <!-- rdoc-file=version.c -->
|
|
35
|
+
# The platform for this ruby
|
|
36
|
+
#
|
|
37
|
+
PLATFORM: ::String
|
|
38
|
+
|
|
39
|
+
# <!-- rdoc-file=version.c -->
|
|
40
|
+
# The date this ruby was released
|
|
41
|
+
#
|
|
42
|
+
RELEASE_DATE: ::String
|
|
43
|
+
|
|
44
|
+
# <!-- rdoc-file=version.c -->
|
|
45
|
+
# The GIT commit hash for this ruby.
|
|
46
|
+
#
|
|
47
|
+
REVISION: ::String
|
|
48
|
+
|
|
49
|
+
# <!-- rdoc-file=version.c -->
|
|
50
|
+
# The running version of ruby
|
|
51
|
+
#
|
|
52
|
+
VERSION: ::String
|
|
53
|
+
end
|
data/core/ruby_vm.rbs
CHANGED
|
@@ -41,8 +41,8 @@ RubyVM::OPTS: Array[String]
|
|
|
41
41
|
# you want to learn how YARV works, but it also lets you control various
|
|
42
42
|
# settings for the Ruby iseq compiler.
|
|
43
43
|
#
|
|
44
|
-
# You can find the source for the VM instructions in
|
|
45
|
-
# source.
|
|
44
|
+
# You can find the source for the VM instructions in <code>insns.def</code> in
|
|
45
|
+
# the Ruby source.
|
|
46
46
|
#
|
|
47
47
|
# The instruction sequence results will almost certainly change as Ruby changes,
|
|
48
48
|
# so example output in this documentation may be different from what you see.
|
|
@@ -183,8 +183,8 @@ class RubyVM::InstructionSequence < Object
|
|
|
183
183
|
# -->
|
|
184
184
|
# Returns the label of this instruction sequence.
|
|
185
185
|
#
|
|
186
|
-
#
|
|
187
|
-
# string.
|
|
186
|
+
# <code><main></code> if it's at the top level, <code><compiled></code> if it
|
|
187
|
+
# was evaluated from a string.
|
|
188
188
|
#
|
|
189
189
|
# For example, using irb:
|
|
190
190
|
#
|
|
@@ -212,7 +212,7 @@ class RubyVM::InstructionSequence < Object
|
|
|
212
212
|
# -->
|
|
213
213
|
# Returns the path of this instruction sequence.
|
|
214
214
|
#
|
|
215
|
-
#
|
|
215
|
+
# <code><compiled></code> if the iseq was evaluated from a string.
|
|
216
216
|
#
|
|
217
217
|
# For example, using irb:
|
|
218
218
|
#
|
|
@@ -254,8 +254,8 @@ class RubyVM::InstructionSequence < Object
|
|
|
254
254
|
# the following data:
|
|
255
255
|
#
|
|
256
256
|
# magic
|
|
257
|
-
# : A string identifying the data format.
|
|
258
|
-
#
|
|
257
|
+
# : A string identifying the data format. <strong>Always
|
|
258
|
+
# <code>YARVInstructionSequence/SimpleDataFormat</code>.</strong>
|
|
259
259
|
#
|
|
260
260
|
#
|
|
261
261
|
# major_version
|
|
@@ -273,14 +273,14 @@ class RubyVM::InstructionSequence < Object
|
|
|
273
273
|
# misc
|
|
274
274
|
# : A hash containing:
|
|
275
275
|
#
|
|
276
|
-
#
|
|
276
|
+
# <code>:arg_size</code>
|
|
277
277
|
# : the total number of arguments taken by the method or the block (0 if
|
|
278
278
|
# *iseq* doesn't represent a method or block)
|
|
279
279
|
#
|
|
280
|
-
#
|
|
280
|
+
# <code>:local_size</code>
|
|
281
281
|
# : the number of local variables + 1
|
|
282
282
|
#
|
|
283
|
-
#
|
|
283
|
+
# <code>:stack_max</code>
|
|
284
284
|
# : used in calculating the stack depth at which a SystemStackError is
|
|
285
285
|
# thrown.
|
|
286
286
|
#
|
|
@@ -290,15 +290,15 @@ class RubyVM::InstructionSequence < Object
|
|
|
290
290
|
# : The name of the context (block, method, class, module, etc.) that this
|
|
291
291
|
# instruction sequence belongs to.
|
|
292
292
|
#
|
|
293
|
-
#
|
|
294
|
-
# string.
|
|
293
|
+
# <code><main></code> if it's at the top level, <code><compiled></code> if
|
|
294
|
+
# it was evaluated from a string.
|
|
295
295
|
#
|
|
296
296
|
#
|
|
297
297
|
# #path
|
|
298
298
|
# : The relative path to the Ruby file where the instruction sequence was
|
|
299
299
|
# loaded from.
|
|
300
300
|
#
|
|
301
|
-
#
|
|
301
|
+
# <code><compiled></code> if the iseq was evaluated from a string.
|
|
302
302
|
#
|
|
303
303
|
#
|
|
304
304
|
# #absolute_path
|
|
@@ -316,8 +316,9 @@ class RubyVM::InstructionSequence < Object
|
|
|
316
316
|
# type
|
|
317
317
|
# : The type of the instruction sequence.
|
|
318
318
|
#
|
|
319
|
-
# Valid values are
|
|
320
|
-
#
|
|
319
|
+
# Valid values are <code>:top</code>, <code>:method</code>,
|
|
320
|
+
# <code>:block</code>, <code>:class</code>, <code>:rescue</code>,
|
|
321
|
+
# <code>:ensure</code>, <code>:eval</code>, <code>:main</code>, and `plain`.
|
|
321
322
|
#
|
|
322
323
|
#
|
|
323
324
|
# locals
|
|
@@ -328,7 +329,7 @@ class RubyVM::InstructionSequence < Object
|
|
|
328
329
|
# params
|
|
329
330
|
# : An Hash object containing parameter information.
|
|
330
331
|
#
|
|
331
|
-
# More info about these values can be found in
|
|
332
|
+
# More info about these values can be found in <code>vm_core.h</code>.
|
|
332
333
|
#
|
|
333
334
|
#
|
|
334
335
|
# catch_table
|
|
@@ -370,6 +371,46 @@ class RubyVM::InstructionSequence < Object
|
|
|
370
371
|
# event_symbol] pair.
|
|
371
372
|
#
|
|
372
373
|
def trace_points: () -> Array[untyped]
|
|
374
|
+
|
|
375
|
+
# <!--
|
|
376
|
+
# rdoc-file=iseq.c
|
|
377
|
+
# - of(p1)
|
|
378
|
+
# -->
|
|
379
|
+
# Returns the instruction sequence containing the given proc or method.
|
|
380
|
+
#
|
|
381
|
+
# For example, using irb:
|
|
382
|
+
#
|
|
383
|
+
# # a proc
|
|
384
|
+
# > p = proc { num = 1 + 2 }
|
|
385
|
+
# > RubyVM::InstructionSequence.of(p)
|
|
386
|
+
# > #=> <RubyVM::InstructionSequence:block in irb_binding@(irb)>
|
|
387
|
+
#
|
|
388
|
+
# # for a method
|
|
389
|
+
# > def foo(bar); puts bar; end
|
|
390
|
+
# > RubyVM::InstructionSequence.of(method(:foo))
|
|
391
|
+
# > #=> <RubyVM::InstructionSequence:foo@(irb)>
|
|
392
|
+
#
|
|
393
|
+
# Using ::compile_file:
|
|
394
|
+
#
|
|
395
|
+
# # /tmp/iseq_of.rb
|
|
396
|
+
# def hello
|
|
397
|
+
# puts "hello, world"
|
|
398
|
+
# end
|
|
399
|
+
#
|
|
400
|
+
# $a_global_proc = proc { str = 'a' + 'b' }
|
|
401
|
+
#
|
|
402
|
+
# # in irb
|
|
403
|
+
# > require '/tmp/iseq_of.rb'
|
|
404
|
+
#
|
|
405
|
+
# # first the method hello
|
|
406
|
+
# > RubyVM::InstructionSequence.of(method(:hello))
|
|
407
|
+
# > #=> #<RubyVM::InstructionSequence:0x007fb73d7cb1d0>
|
|
408
|
+
#
|
|
409
|
+
# # then the global proc
|
|
410
|
+
# > RubyVM::InstructionSequence.of($a_global_proc)
|
|
411
|
+
# > #=> #<RubyVM::InstructionSequence:0x007fb73d7caf78>
|
|
412
|
+
#
|
|
413
|
+
def self.of: (Proc | Method | UnboundMethod body) -> RubyVM::InstructionSequence?
|
|
373
414
|
end
|
|
374
415
|
|
|
375
416
|
# <!-- rdoc-file=ast.rb -->
|
|
@@ -400,15 +441,16 @@ module RubyVM::AbstractSyntaxTree
|
|
|
400
441
|
# RubyVM::AbstractSyntaxTree.parse("x = 1 + 2")
|
|
401
442
|
# # => #<RubyVM::AbstractSyntaxTree::Node:SCOPE@1:0-1:9>
|
|
402
443
|
#
|
|
403
|
-
# If
|
|
404
|
-
# is associated with nodes and is available via Node#script_lines.
|
|
444
|
+
# If <code>keep_script_lines: true</code> option is provided, the text of the
|
|
445
|
+
# parsed source is associated with nodes and is available via Node#script_lines.
|
|
405
446
|
#
|
|
406
|
-
# If
|
|
447
|
+
# If <code>keep_tokens: true</code> option is provided, Node#tokens are
|
|
448
|
+
# populated.
|
|
407
449
|
#
|
|
408
450
|
# SyntaxError is raised if the given *string* is invalid syntax. To overwrite
|
|
409
|
-
# this behavior,
|
|
410
|
-
# parser will produce a tree where expressions with syntax errors
|
|
411
|
-
# represented by Node with
|
|
451
|
+
# this behavior, <code>error_tolerant: true</code> can be provided. In this
|
|
452
|
+
# case, the parser will produce a tree where expressions with syntax errors
|
|
453
|
+
# would be represented by Node with <code>type=:ERROR</code>.
|
|
412
454
|
#
|
|
413
455
|
# root = RubyVM::AbstractSyntaxTree.parse("x = 1; p(x; y=2")
|
|
414
456
|
# # <internal:ast>:33:in `parse': syntax error, unexpected ';', expecting ')' (SyntaxError)
|
|
@@ -443,7 +485,7 @@ module RubyVM::AbstractSyntaxTree
|
|
|
443
485
|
#
|
|
444
486
|
# See ::parse for explanation of keyword argument meaning and usage.
|
|
445
487
|
#
|
|
446
|
-
def self.parse_file: (
|
|
488
|
+
def self.parse_file: (path string, ?keep_script_lines: bool, ?error_tolerant: bool, ?keep_tokens: bool) -> Node
|
|
447
489
|
|
|
448
490
|
# <!--
|
|
449
491
|
# rdoc-file=ast.rb
|
|
@@ -661,7 +703,7 @@ module RubyVM::YJIT
|
|
|
661
703
|
# -->
|
|
662
704
|
# Marshal dumps exit locations to the given filename.
|
|
663
705
|
# Usage:
|
|
664
|
-
# If
|
|
706
|
+
# If <code>--yjit-exit-locations</code> is passed, a file named
|
|
665
707
|
# "yjit_exit_locations.dump" will automatically be generated.
|
|
666
708
|
# If you want to collect traces manually, call `dump_exit_locations`
|
|
667
709
|
# directly.
|
|
@@ -683,19 +725,21 @@ module RubyVM::YJIT
|
|
|
683
725
|
|
|
684
726
|
# <!--
|
|
685
727
|
# rdoc-file=yjit.rb
|
|
686
|
-
# - enable(stats: false, log: false)
|
|
728
|
+
# - enable(stats: false, log: false, mem_size: nil, call_threshold: nil)
|
|
687
729
|
# -->
|
|
688
730
|
# Enable YJIT compilation. `stats` option decides whether to enable YJIT stats
|
|
689
|
-
# or not. `
|
|
690
|
-
# whether to enable YJIT compilation logging or not.
|
|
731
|
+
# or not. `log` decides
|
|
732
|
+
# whether to enable YJIT compilation logging or not. Optional `mem_size` and
|
|
733
|
+
# `call_threshold` can be
|
|
734
|
+
# provided to override default configuration.
|
|
691
735
|
# * `stats`:
|
|
692
736
|
# * `false`: Don't enable stats.
|
|
693
737
|
# * `true`: Enable stats. Print stats at exit.
|
|
694
|
-
# *
|
|
738
|
+
# * <code>:quiet</code>: Enable stats. Do not print stats at exit.
|
|
695
739
|
# * `log`:
|
|
696
740
|
# * `false`: Don't enable the log.
|
|
697
741
|
# * `true`: Enable the log. Print log at exit.
|
|
698
|
-
# *
|
|
742
|
+
# * <code>:quiet</code>: Enable the log. Do not print log at exit.
|
|
699
743
|
#
|
|
700
744
|
def self.enable: (?stats: false | true | :quiet) -> void
|
|
701
745
|
|
|
@@ -727,7 +771,7 @@ module RubyVM::YJIT
|
|
|
727
771
|
# rdoc-file=yjit.rb
|
|
728
772
|
# - reset_stats!()
|
|
729
773
|
# -->
|
|
730
|
-
# Discard statistics collected for
|
|
774
|
+
# Discard statistics collected for <code>--yjit-stats</code>.
|
|
731
775
|
#
|
|
732
776
|
def self.reset_stats!: () -> void
|
|
733
777
|
|
|
@@ -735,8 +779,8 @@ module RubyVM::YJIT
|
|
|
735
779
|
# rdoc-file=yjit.rb
|
|
736
780
|
# - runtime_stats(key = nil)
|
|
737
781
|
# -->
|
|
738
|
-
# Return a hash for statistics generated for the
|
|
739
|
-
# option.
|
|
782
|
+
# Return a hash for statistics generated for the <code>--yjit-stats</code>
|
|
783
|
+
# command line option.
|
|
740
784
|
# Return `nil` when option is not passed or unavailable.
|
|
741
785
|
# If a symbol argument is provided, return only the value for the named stat.
|
|
742
786
|
# If any other type is provided, raises TypeError.
|
|
@@ -747,7 +791,7 @@ module RubyVM::YJIT
|
|
|
747
791
|
# rdoc-file=yjit.rb
|
|
748
792
|
# - stats_enabled?()
|
|
749
793
|
# -->
|
|
750
|
-
# Check if
|
|
794
|
+
# Check if <code>--yjit-stats</code> is used.
|
|
751
795
|
#
|
|
752
796
|
def self.stats_enabled?: () -> bool
|
|
753
797
|
|
|
@@ -756,7 +800,7 @@ module RubyVM::YJIT
|
|
|
756
800
|
# - stats_string()
|
|
757
801
|
# -->
|
|
758
802
|
# Format and print out counters as a String. This returns a non-empty
|
|
759
|
-
# content only when
|
|
803
|
+
# content only when <code>--yjit-stats</code> is enabled.
|
|
760
804
|
#
|
|
761
805
|
def self.stats_string: () -> String
|
|
762
806
|
end
|
|
@@ -10,20 +10,20 @@
|
|
|
10
10
|
# install: --no-rdoc --no-ri
|
|
11
11
|
# update: --no-rdoc --no-ri
|
|
12
12
|
#
|
|
13
|
-
# You can use
|
|
13
|
+
# You can use <code>gem:</code> to set default arguments for all commands.
|
|
14
14
|
#
|
|
15
15
|
# RubyGems options use symbol keys. Valid options are:
|
|
16
16
|
#
|
|
17
|
-
#
|
|
17
|
+
# <code>:backtrace</code>
|
|
18
18
|
# : See #backtrace
|
|
19
19
|
#
|
|
20
|
-
#
|
|
20
|
+
# <code>:sources</code>
|
|
21
21
|
# : Sets Gem::sources
|
|
22
22
|
#
|
|
23
|
-
#
|
|
23
|
+
# <code>:verbose</code>
|
|
24
24
|
# : See #verbose
|
|
25
25
|
#
|
|
26
|
-
#
|
|
26
|
+
# <code>:concurrent_downloads</code>
|
|
27
27
|
# : See #concurrent_downloads
|
|
28
28
|
#
|
|
29
29
|
#
|
data/core/rubygems/errors.rbs
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
#
|
|
5
5
|
# For user documentation, see:
|
|
6
6
|
#
|
|
7
|
-
# * `gem help` and
|
|
7
|
+
# * `gem help` and <code>gem help [command]</code>
|
|
8
8
|
# * [RubyGems User Guide](https://guides.rubygems.org/)
|
|
9
9
|
# * [Frequently Asked Questions](https://guides.rubygems.org/faqs)
|
|
10
10
|
#
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
# Further RubyGems documentation can be found at:
|
|
18
18
|
#
|
|
19
19
|
# * [RubyGems Guides](https://guides.rubygems.org)
|
|
20
|
-
# * [RubyGems API](https://
|
|
20
|
+
# * [RubyGems API](https://guides.rubygems.org/rubygems-org-api/) (also
|
|
21
21
|
# available from `gem server`)
|
|
22
22
|
#
|
|
23
23
|
# ## RubyGems Plugins
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
# ## Bugs
|
|
49
49
|
#
|
|
50
50
|
# You can submit bugs to the [RubyGems bug
|
|
51
|
-
# tracker](https://github.com/
|
|
51
|
+
# tracker](https://github.com/ruby/rubygems/issues) on GitHub
|
|
52
52
|
#
|
|
53
53
|
# ## Credits
|
|
54
54
|
#
|
|
@@ -83,79 +83,15 @@
|
|
|
83
83
|
#
|
|
84
84
|
# ## License
|
|
85
85
|
#
|
|
86
|
-
# See
|
|
87
|
-
# [LICENSE.txt](https://github.com/rubygems/rubygems/blob/master/LICENSE.txt)
|
|
86
|
+
# See [LICENSE.txt](https://github.com/ruby/rubygems/blob/master/LICENSE.txt)
|
|
88
87
|
# for permissions.
|
|
89
88
|
#
|
|
90
89
|
# Thanks!
|
|
91
90
|
#
|
|
92
91
|
# -The RubyGems Team
|
|
93
92
|
#
|
|
94
|
-
# <!-- rdoc-file=lib/rubygems/
|
|
95
|
-
#
|
|
96
|
-
#
|
|
97
|
-
# +deprecate(name, repl, year, month)+:
|
|
98
|
-
# Indicate something may be removed on/after a certain date.
|
|
99
|
-
#
|
|
100
|
-
# +rubygems_deprecate(name, replacement=:none)+:
|
|
101
|
-
# Indicate something will be removed in the next major RubyGems version,
|
|
102
|
-
# and (optionally) a replacement for it.
|
|
103
|
-
#
|
|
104
|
-
# `rubygems_deprecate_command`:
|
|
105
|
-
# Indicate a RubyGems command (in +lib/rubygems/commands/*.rb+) will be
|
|
106
|
-
# removed in the next RubyGems version.
|
|
107
|
-
#
|
|
108
|
-
# Also provides `skip_during` for temporarily turning off deprecation warnings.
|
|
109
|
-
# This is intended to be used in the test suite, so deprecation warnings don't
|
|
110
|
-
# cause test failures if you need to make sure stderr is otherwise empty.
|
|
111
|
-
#
|
|
112
|
-
# Example usage of `deprecate` and `rubygems_deprecate`:
|
|
113
|
-
#
|
|
114
|
-
# class Legacy
|
|
115
|
-
# def self.some_class_method
|
|
116
|
-
# # ...
|
|
117
|
-
# end
|
|
118
|
-
#
|
|
119
|
-
# def some_instance_method
|
|
120
|
-
# # ...
|
|
121
|
-
# end
|
|
122
|
-
#
|
|
123
|
-
# def some_old_method
|
|
124
|
-
# # ...
|
|
125
|
-
# end
|
|
126
|
-
#
|
|
127
|
-
# extend Gem::Deprecate
|
|
128
|
-
# deprecate :some_instance_method, "X.z", 2011, 4
|
|
129
|
-
# rubygems_deprecate :some_old_method, "Modern#some_new_method"
|
|
130
|
-
#
|
|
131
|
-
# class << self
|
|
132
|
-
# extend Gem::Deprecate
|
|
133
|
-
# deprecate :some_class_method, :none, 2011, 4
|
|
134
|
-
# end
|
|
135
|
-
# end
|
|
136
|
-
#
|
|
137
|
-
# Example usage of `rubygems_deprecate_command`:
|
|
138
|
-
#
|
|
139
|
-
# class Gem::Commands::QueryCommand < Gem::Command
|
|
140
|
-
# extend Gem::Deprecate
|
|
141
|
-
# rubygems_deprecate_command
|
|
142
|
-
#
|
|
143
|
-
# # ...
|
|
144
|
-
# end
|
|
145
|
-
#
|
|
146
|
-
# Example usage of `skip_during`:
|
|
147
|
-
#
|
|
148
|
-
# class TestSomething < Gem::Testcase
|
|
149
|
-
# def test_some_thing_with_deprecations
|
|
150
|
-
# Gem::Deprecate.skip_during do
|
|
151
|
-
# actual_stdout, actual_stderr = capture_output do
|
|
152
|
-
# Gem.something_deprecated
|
|
153
|
-
# end
|
|
154
|
-
# assert_empty actual_stdout
|
|
155
|
-
# assert_equal(expected, actual_stderr)
|
|
156
|
-
# end
|
|
157
|
-
# end
|
|
158
|
-
# end
|
|
93
|
+
# <!-- rdoc-file=lib/rubygems/version.rb -->
|
|
94
|
+
# Workaround for directly loading Gem::Version in some cases
|
|
159
95
|
#
|
|
160
96
|
module Gem
|
|
161
97
|
# <!-- rdoc-file=lib/rubygems/errors.rb -->
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
module Gem
|
|
3
3
|
# <!-- rdoc-file=lib/rubygems/requirement.rb -->
|
|
4
4
|
# A Requirement is a set of one or more version restrictions. It supports a few
|
|
5
|
-
# (
|
|
5
|
+
# (<code>=, !=, >, <, >=, <=, ~></code>) different restriction operators.
|
|
6
6
|
#
|
|
7
7
|
# See Gem::Version for a description on how versions and requirements work
|
|
8
8
|
# together in RubyGems.
|
|
@@ -60,11 +60,11 @@ module Gem
|
|
|
60
60
|
# rdoc-file=lib/rubygems/requirement.rb
|
|
61
61
|
# - parse(obj)
|
|
62
62
|
# -->
|
|
63
|
-
# Parse `obj`, returning an
|
|
64
|
-
# Gem::Version.
|
|
63
|
+
# Parse `obj`, returning an <code>[op, version]</code> pair. `obj` can be a
|
|
64
|
+
# String or a Gem::Version.
|
|
65
65
|
#
|
|
66
66
|
# If `obj` is a String, it can be either a full requirement specification, like
|
|
67
|
-
#
|
|
67
|
+
# <code>">= 1.2"</code>, or a simple version number, like <code>"1.2"</code>.
|
|
68
68
|
#
|
|
69
69
|
# parse("> 1.0") # => [">", Gem::Version.new("1.0")]
|
|
70
70
|
# parse("1.0") # => ["=", Gem::Version.new("1.0")]
|
|
@@ -78,7 +78,7 @@ module Gem
|
|
|
78
78
|
# -->
|
|
79
79
|
# Constructs a requirement from `requirements`. Requirements can be Strings,
|
|
80
80
|
# Gem::Versions, or Arrays of those. `nil` and duplicate requirements are
|
|
81
|
-
# ignored. An empty set of `requirements` is the same as
|
|
81
|
+
# ignored. An empty set of `requirements` is the same as <code>">= 0"</code>.
|
|
82
82
|
#
|
|
83
83
|
def initialize: (*String | Gem::Version requirements) -> void
|
|
84
84
|
|
|
@@ -123,18 +123,8 @@ module Gem
|
|
|
123
123
|
#
|
|
124
124
|
def satisfied_by?: (Gem::Version version) -> bool
|
|
125
125
|
|
|
126
|
-
# <!--
|
|
127
|
-
# rdoc-file=lib/rubygems/requirement.rb
|
|
128
|
-
# - ===(version)
|
|
129
|
-
# -->
|
|
130
|
-
#
|
|
131
126
|
alias === satisfied_by?
|
|
132
127
|
|
|
133
|
-
# <!--
|
|
134
|
-
# rdoc-file=lib/rubygems/requirement.rb
|
|
135
|
-
# - =~(version)
|
|
136
|
-
# -->
|
|
137
|
-
#
|
|
138
128
|
alias =~ satisfied_by?
|
|
139
129
|
|
|
140
130
|
# <!--
|
data/core/rubygems/rubygems.rbs
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
#
|
|
5
5
|
# For user documentation, see:
|
|
6
6
|
#
|
|
7
|
-
# * `gem help` and
|
|
7
|
+
# * `gem help` and <code>gem help [command]</code>
|
|
8
8
|
# * [RubyGems User Guide](https://guides.rubygems.org/)
|
|
9
9
|
# * [Frequently Asked Questions](https://guides.rubygems.org/faqs)
|
|
10
10
|
#
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
# Further RubyGems documentation can be found at:
|
|
18
18
|
#
|
|
19
19
|
# * [RubyGems Guides](https://guides.rubygems.org)
|
|
20
|
-
# * [RubyGems API](https://
|
|
20
|
+
# * [RubyGems API](https://guides.rubygems.org/rubygems-org-api/) (also
|
|
21
21
|
# available from `gem server`)
|
|
22
22
|
#
|
|
23
23
|
# ## RubyGems Plugins
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
# ## Bugs
|
|
49
49
|
#
|
|
50
50
|
# You can submit bugs to the [RubyGems bug
|
|
51
|
-
# tracker](https://github.com/
|
|
51
|
+
# tracker](https://github.com/ruby/rubygems/issues) on GitHub
|
|
52
52
|
#
|
|
53
53
|
# ## Credits
|
|
54
54
|
#
|
|
@@ -83,79 +83,15 @@
|
|
|
83
83
|
#
|
|
84
84
|
# ## License
|
|
85
85
|
#
|
|
86
|
-
# See
|
|
87
|
-
# [LICENSE.txt](https://github.com/rubygems/rubygems/blob/master/LICENSE.txt)
|
|
86
|
+
# See [LICENSE.txt](https://github.com/ruby/rubygems/blob/master/LICENSE.txt)
|
|
88
87
|
# for permissions.
|
|
89
88
|
#
|
|
90
89
|
# Thanks!
|
|
91
90
|
#
|
|
92
91
|
# -The RubyGems Team
|
|
93
92
|
#
|
|
94
|
-
# <!-- rdoc-file=lib/rubygems/
|
|
95
|
-
#
|
|
96
|
-
#
|
|
97
|
-
# +deprecate(name, repl, year, month)+:
|
|
98
|
-
# Indicate something may be removed on/after a certain date.
|
|
99
|
-
#
|
|
100
|
-
# +rubygems_deprecate(name, replacement=:none)+:
|
|
101
|
-
# Indicate something will be removed in the next major RubyGems version,
|
|
102
|
-
# and (optionally) a replacement for it.
|
|
103
|
-
#
|
|
104
|
-
# `rubygems_deprecate_command`:
|
|
105
|
-
# Indicate a RubyGems command (in +lib/rubygems/commands/*.rb+) will be
|
|
106
|
-
# removed in the next RubyGems version.
|
|
107
|
-
#
|
|
108
|
-
# Also provides `skip_during` for temporarily turning off deprecation warnings.
|
|
109
|
-
# This is intended to be used in the test suite, so deprecation warnings don't
|
|
110
|
-
# cause test failures if you need to make sure stderr is otherwise empty.
|
|
111
|
-
#
|
|
112
|
-
# Example usage of `deprecate` and `rubygems_deprecate`:
|
|
113
|
-
#
|
|
114
|
-
# class Legacy
|
|
115
|
-
# def self.some_class_method
|
|
116
|
-
# # ...
|
|
117
|
-
# end
|
|
118
|
-
#
|
|
119
|
-
# def some_instance_method
|
|
120
|
-
# # ...
|
|
121
|
-
# end
|
|
122
|
-
#
|
|
123
|
-
# def some_old_method
|
|
124
|
-
# # ...
|
|
125
|
-
# end
|
|
126
|
-
#
|
|
127
|
-
# extend Gem::Deprecate
|
|
128
|
-
# deprecate :some_instance_method, "X.z", 2011, 4
|
|
129
|
-
# rubygems_deprecate :some_old_method, "Modern#some_new_method"
|
|
130
|
-
#
|
|
131
|
-
# class << self
|
|
132
|
-
# extend Gem::Deprecate
|
|
133
|
-
# deprecate :some_class_method, :none, 2011, 4
|
|
134
|
-
# end
|
|
135
|
-
# end
|
|
136
|
-
#
|
|
137
|
-
# Example usage of `rubygems_deprecate_command`:
|
|
138
|
-
#
|
|
139
|
-
# class Gem::Commands::QueryCommand < Gem::Command
|
|
140
|
-
# extend Gem::Deprecate
|
|
141
|
-
# rubygems_deprecate_command
|
|
142
|
-
#
|
|
143
|
-
# # ...
|
|
144
|
-
# end
|
|
145
|
-
#
|
|
146
|
-
# Example usage of `skip_during`:
|
|
147
|
-
#
|
|
148
|
-
# class TestSomething < Gem::Testcase
|
|
149
|
-
# def test_some_thing_with_deprecations
|
|
150
|
-
# Gem::Deprecate.skip_during do
|
|
151
|
-
# actual_stdout, actual_stderr = capture_output do
|
|
152
|
-
# Gem.something_deprecated
|
|
153
|
-
# end
|
|
154
|
-
# assert_empty actual_stdout
|
|
155
|
-
# assert_equal(expected, actual_stderr)
|
|
156
|
-
# end
|
|
157
|
-
# end
|
|
158
|
-
# end
|
|
93
|
+
# <!-- rdoc-file=lib/rubygems/version.rb -->
|
|
94
|
+
# Workaround for directly loading Gem::Version in some cases
|
|
159
95
|
#
|
|
160
96
|
module Gem
|
|
161
97
|
interface _HashLike[K, V]
|
|
@@ -204,7 +140,7 @@ module Gem
|
|
|
204
140
|
|
|
205
141
|
VERSION: String
|
|
206
142
|
|
|
207
|
-
# <!-- rdoc-file=lib/rubygems.rb -->
|
|
143
|
+
# <!-- rdoc-file=lib/rubygems/win_platform.rb -->
|
|
208
144
|
# An Array of Regexps that match windows Ruby platforms.
|
|
209
145
|
#
|
|
210
146
|
WIN_PATTERNS: Array[Regexp]
|
|
@@ -219,7 +155,8 @@ module Gem
|
|
|
219
155
|
# - activated_gem_paths()
|
|
220
156
|
# -->
|
|
221
157
|
# The number of paths in the +$LOAD_PATH+ from activated gems. Used to
|
|
222
|
-
# prioritize
|
|
158
|
+
# prioritize <code>-I</code> and <code>ENV['RUBYLIB']</code> entries during
|
|
159
|
+
# `require`.
|
|
223
160
|
#
|
|
224
161
|
def self.activated_gem_paths: () -> Integer
|
|
225
162
|
|
|
@@ -251,7 +188,7 @@ module Gem
|
|
|
251
188
|
|
|
252
189
|
# <!--
|
|
253
190
|
# rdoc-file=lib/rubygems.rb
|
|
254
|
-
# - bindir(install_dir=Gem.dir)
|
|
191
|
+
# - bindir(install_dir = Gem.dir)
|
|
255
192
|
# -->
|
|
256
193
|
# The path where gem executables are to be installed.
|
|
257
194
|
#
|
|
@@ -509,7 +446,7 @@ module Gem
|
|
|
509
446
|
|
|
510
447
|
# <!--
|
|
511
448
|
# rdoc-file=lib/rubygems.rb
|
|
512
|
-
# - find_files(glob, check_load_path=true)
|
|
449
|
+
# - find_files(glob, check_load_path = true)
|
|
513
450
|
# -->
|
|
514
451
|
# Returns a list of paths matching `glob` that can be used by a gem to pick up
|
|
515
452
|
# features from other gems. For example:
|
|
@@ -526,7 +463,7 @@ module Gem
|
|
|
526
463
|
|
|
527
464
|
# <!--
|
|
528
465
|
# rdoc-file=lib/rubygems.rb
|
|
529
|
-
# - find_latest_files(glob, check_load_path=true)
|
|
466
|
+
# - find_latest_files(glob, check_load_path = true)
|
|
530
467
|
# -->
|
|
531
468
|
# Returns a list of paths matching `glob` from the latest gems that can be used
|
|
532
469
|
# by a gem to pick up features from other gems. For example:
|
|
@@ -551,7 +488,7 @@ module Gem
|
|
|
551
488
|
|
|
552
489
|
# <!--
|
|
553
490
|
# rdoc-file=lib/rubygems.rb
|
|
554
|
-
# - finish_resolve(request_set=Gem::RequestSet.new)
|
|
491
|
+
# - finish_resolve(request_set = Gem::RequestSet.new)
|
|
555
492
|
# -->
|
|
556
493
|
#
|
|
557
494
|
def self.finish_resolve: (?RequestSet request_set) -> void
|
|
@@ -566,7 +503,8 @@ module Gem
|
|
|
566
503
|
# rdoc-file=lib/rubygems.rb
|
|
567
504
|
# - host()
|
|
568
505
|
# -->
|
|
569
|
-
# Get the default RubyGems API host. This is normally
|
|
506
|
+
# Get the default RubyGems API host. This is normally
|
|
507
|
+
# <code>https://rubygems.org</code>.
|
|
570
508
|
#
|
|
571
509
|
def self.host: () -> String
|
|
572
510
|
|
|
@@ -804,7 +742,7 @@ module Gem
|
|
|
804
742
|
|
|
805
743
|
# <!--
|
|
806
744
|
# rdoc-file=lib/rubygems.rb
|
|
807
|
-
# - plugindir(install_dir=Gem.dir)
|
|
745
|
+
# - plugindir(install_dir = Gem.dir)
|
|
808
746
|
# -->
|
|
809
747
|
# The path were rubygems plugins are to be installed.
|
|
810
748
|
#
|
|
@@ -1009,8 +947,7 @@ module Gem
|
|
|
1009
947
|
# - source_date_epoch_string()
|
|
1010
948
|
# -->
|
|
1011
949
|
# If the SOURCE_DATE_EPOCH environment variable is set, returns it's value.
|
|
1012
|
-
# Otherwise, returns
|
|
1013
|
-
# called in the same format as SOURCE_DATE_EPOCH.
|
|
950
|
+
# Otherwise, returns DEFAULT_SOURCE_DATE_EPOCH as a string.
|
|
1014
951
|
#
|
|
1015
952
|
# NOTE(@duckinator): The implementation is a tad weird because we want to:
|
|
1016
953
|
# 1. Make builds reproducible by default, by having this function always
|
|
@@ -1154,7 +1091,7 @@ module Gem
|
|
|
1154
1091
|
def self.user_home: () -> String
|
|
1155
1092
|
|
|
1156
1093
|
# <!--
|
|
1157
|
-
# rdoc-file=lib/rubygems.rb
|
|
1094
|
+
# rdoc-file=lib/rubygems/win_platform.rb
|
|
1158
1095
|
# - win_platform?()
|
|
1159
1096
|
# -->
|
|
1160
1097
|
# Is this a windows platform?
|