rbs-relaxed 3.9.0.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 +7 -0
- data/.github/dependabot.yml +22 -0
- data/.github/workflows/comments.yml +35 -0
- data/.github/workflows/dependabot.yml +30 -0
- data/.github/workflows/ruby.yml +82 -0
- data/.github/workflows/typecheck.yml +38 -0
- data/.github/workflows/windows.yml +43 -0
- data/.gitignore +23 -0
- data/.rubocop.yml +68 -0
- data/BSDL +22 -0
- data/CHANGELOG.md +1868 -0
- data/COPYING +56 -0
- data/README.md +203 -0
- data/Rakefile +417 -0
- data/Steepfile +44 -0
- data/config.yml +313 -0
- data/core/array.rbs +4062 -0
- data/core/basic_object.rbs +375 -0
- data/core/binding.rbs +150 -0
- data/core/builtin.rbs +277 -0
- data/core/class.rbs +220 -0
- data/core/comparable.rbs +171 -0
- data/core/complex.rbs +786 -0
- data/core/constants.rbs +96 -0
- data/core/data.rbs +415 -0
- data/core/dir.rbs +981 -0
- data/core/encoding.rbs +1371 -0
- data/core/enumerable.rbs +2405 -0
- data/core/enumerator/product.rbs +92 -0
- data/core/enumerator.rbs +630 -0
- data/core/env.rbs +6 -0
- data/core/errno.rbs +673 -0
- data/core/errors.rbs +760 -0
- data/core/exception.rbs +485 -0
- data/core/false_class.rbs +82 -0
- data/core/fiber.rbs +550 -0
- data/core/fiber_error.rbs +11 -0
- data/core/file.rbs +2936 -0
- data/core/file_test.rbs +331 -0
- data/core/float.rbs +1151 -0
- data/core/gc.rbs +644 -0
- data/core/global_variables.rbs +184 -0
- data/core/hash.rbs +1861 -0
- data/core/integer.rbs +1413 -0
- data/core/io/buffer.rbs +984 -0
- data/core/io/wait.rbs +70 -0
- data/core/io.rbs +3406 -0
- data/core/kernel.rbs +3096 -0
- data/core/marshal.rbs +207 -0
- data/core/match_data.rbs +635 -0
- data/core/math.rbs +729 -0
- data/core/method.rbs +386 -0
- data/core/module.rbs +1704 -0
- data/core/nil_class.rbs +209 -0
- data/core/numeric.rbs +818 -0
- data/core/object.rbs +110 -0
- data/core/object_space/weak_key_map.rbs +166 -0
- data/core/object_space.rbs +190 -0
- data/core/proc.rbs +868 -0
- data/core/process.rbs +2296 -0
- data/core/ractor.rbs +1068 -0
- data/core/random.rbs +237 -0
- data/core/range.rbs +1107 -0
- data/core/rational.rbs +531 -0
- data/core/rb_config.rbs +88 -0
- data/core/rbs/unnamed/argf.rbs +1229 -0
- data/core/rbs/unnamed/env_class.rbs +1209 -0
- data/core/rbs/unnamed/random.rbs +293 -0
- data/core/refinement.rbs +59 -0
- data/core/regexp.rbs +1930 -0
- data/core/ruby_vm.rbs +765 -0
- data/core/rubygems/basic_specification.rbs +6 -0
- data/core/rubygems/config_file.rbs +38 -0
- data/core/rubygems/dependency_installer.rbs +6 -0
- data/core/rubygems/errors.rbs +176 -0
- data/core/rubygems/installer.rbs +15 -0
- data/core/rubygems/path_support.rbs +6 -0
- data/core/rubygems/platform.rbs +7 -0
- data/core/rubygems/request_set.rbs +49 -0
- data/core/rubygems/requirement.rbs +148 -0
- data/core/rubygems/rubygems.rbs +1171 -0
- data/core/rubygems/source_list.rbs +15 -0
- data/core/rubygems/specification.rbs +23 -0
- data/core/rubygems/stream_ui.rbs +5 -0
- data/core/rubygems/uninstaller.rbs +10 -0
- data/core/rubygems/version.rbs +294 -0
- data/core/set.rbs +621 -0
- data/core/signal.rbs +100 -0
- data/core/string.rbs +3583 -0
- data/core/struct.rbs +667 -0
- data/core/symbol.rbs +475 -0
- data/core/thread.rbs +1765 -0
- data/core/thread_group.rbs +79 -0
- data/core/time.rbs +1762 -0
- data/core/trace_point.rbs +477 -0
- data/core/true_class.rbs +98 -0
- data/core/unbound_method.rbs +329 -0
- data/core/warning.rbs +87 -0
- data/docs/CONTRIBUTING.md +106 -0
- data/docs/architecture.md +110 -0
- data/docs/collection.md +192 -0
- data/docs/data_and_struct.md +86 -0
- data/docs/gem.md +57 -0
- data/docs/rbs_by_example.md +309 -0
- data/docs/repo.md +125 -0
- data/docs/sigs.md +167 -0
- data/docs/stdlib.md +147 -0
- data/docs/syntax.md +910 -0
- data/docs/tools.md +17 -0
- data/exe/rbs +7 -0
- data/ext/rbs_extension/extconf.rb +15 -0
- data/ext/rbs_extension/lexer.c +2728 -0
- data/ext/rbs_extension/lexer.h +179 -0
- data/ext/rbs_extension/lexer.re +147 -0
- data/ext/rbs_extension/lexstate.c +175 -0
- data/ext/rbs_extension/location.c +325 -0
- data/ext/rbs_extension/location.h +85 -0
- data/ext/rbs_extension/main.c +33 -0
- data/ext/rbs_extension/parser.c +2973 -0
- data/ext/rbs_extension/parser.h +18 -0
- data/ext/rbs_extension/parserstate.c +397 -0
- data/ext/rbs_extension/parserstate.h +163 -0
- data/ext/rbs_extension/rbs_extension.h +31 -0
- data/ext/rbs_extension/unescape.c +32 -0
- data/goodcheck.yml +91 -0
- data/include/rbs/constants.h +82 -0
- data/include/rbs/ruby_objs.h +72 -0
- data/include/rbs/util/rbs_constant_pool.h +219 -0
- data/include/rbs.h +7 -0
- data/lib/rbs/ancestor_graph.rb +92 -0
- data/lib/rbs/annotate/annotations.rb +199 -0
- data/lib/rbs/annotate/formatter.rb +92 -0
- data/lib/rbs/annotate/rdoc_annotator.rb +400 -0
- data/lib/rbs/annotate/rdoc_source.rb +131 -0
- data/lib/rbs/annotate.rb +8 -0
- data/lib/rbs/ast/annotation.rb +29 -0
- data/lib/rbs/ast/comment.rb +29 -0
- data/lib/rbs/ast/declarations.rb +467 -0
- data/lib/rbs/ast/directives.rb +49 -0
- data/lib/rbs/ast/members.rb +451 -0
- data/lib/rbs/ast/type_param.rb +225 -0
- data/lib/rbs/ast/visitor.rb +137 -0
- data/lib/rbs/buffer.rb +67 -0
- data/lib/rbs/builtin_names.rb +58 -0
- data/lib/rbs/cli/colored_io.rb +48 -0
- data/lib/rbs/cli/diff.rb +83 -0
- data/lib/rbs/cli/validate.rb +357 -0
- data/lib/rbs/cli.rb +1223 -0
- data/lib/rbs/collection/cleaner.rb +38 -0
- data/lib/rbs/collection/config/lockfile.rb +92 -0
- data/lib/rbs/collection/config/lockfile_generator.rb +218 -0
- data/lib/rbs/collection/config.rb +81 -0
- data/lib/rbs/collection/installer.rb +32 -0
- data/lib/rbs/collection/sources/base.rb +14 -0
- data/lib/rbs/collection/sources/git.rb +258 -0
- data/lib/rbs/collection/sources/local.rb +81 -0
- data/lib/rbs/collection/sources/rubygems.rb +48 -0
- data/lib/rbs/collection/sources/stdlib.rb +50 -0
- data/lib/rbs/collection/sources.rb +38 -0
- data/lib/rbs/collection.rb +16 -0
- data/lib/rbs/constant.rb +28 -0
- data/lib/rbs/definition.rb +401 -0
- data/lib/rbs/definition_builder/ancestor_builder.rb +620 -0
- data/lib/rbs/definition_builder/method_builder.rb +254 -0
- data/lib/rbs/definition_builder.rb +845 -0
- data/lib/rbs/diff.rb +125 -0
- data/lib/rbs/environment/use_map.rb +77 -0
- data/lib/rbs/environment.rb +829 -0
- data/lib/rbs/environment_loader.rb +173 -0
- data/lib/rbs/environment_walker.rb +155 -0
- data/lib/rbs/errors.rb +645 -0
- data/lib/rbs/factory.rb +18 -0
- data/lib/rbs/file_finder.rb +28 -0
- data/lib/rbs/location_aux.rb +138 -0
- data/lib/rbs/locator.rb +243 -0
- data/lib/rbs/method_type.rb +143 -0
- data/lib/rbs/namespace.rb +125 -0
- data/lib/rbs/parser/lex_result.rb +15 -0
- data/lib/rbs/parser/token.rb +23 -0
- data/lib/rbs/parser_aux.rb +114 -0
- data/lib/rbs/prototype/helpers.rb +140 -0
- data/lib/rbs/prototype/node_usage.rb +99 -0
- data/lib/rbs/prototype/rb.rb +840 -0
- data/lib/rbs/prototype/rbi.rb +641 -0
- data/lib/rbs/prototype/runtime/helpers.rb +59 -0
- data/lib/rbs/prototype/runtime/reflection.rb +19 -0
- data/lib/rbs/prototype/runtime/value_object_generator.rb +279 -0
- data/lib/rbs/prototype/runtime.rb +667 -0
- data/lib/rbs/repository.rb +127 -0
- data/lib/rbs/resolver/constant_resolver.rb +219 -0
- data/lib/rbs/resolver/type_name_resolver.rb +91 -0
- data/lib/rbs/sorter.rb +198 -0
- data/lib/rbs/substitution.rb +83 -0
- data/lib/rbs/subtractor.rb +201 -0
- data/lib/rbs/test/errors.rb +80 -0
- data/lib/rbs/test/guaranteed.rb +30 -0
- data/lib/rbs/test/hook.rb +212 -0
- data/lib/rbs/test/observer.rb +19 -0
- data/lib/rbs/test/setup.rb +84 -0
- data/lib/rbs/test/setup_helper.rb +50 -0
- data/lib/rbs/test/tester.rb +167 -0
- data/lib/rbs/test/type_check.rb +435 -0
- data/lib/rbs/test.rb +112 -0
- data/lib/rbs/type_alias_dependency.rb +100 -0
- data/lib/rbs/type_alias_regularity.rb +126 -0
- data/lib/rbs/type_name.rb +109 -0
- data/lib/rbs/types.rb +1596 -0
- data/lib/rbs/unit_test/convertibles.rb +176 -0
- data/lib/rbs/unit_test/spy.rb +138 -0
- data/lib/rbs/unit_test/type_assertions.rb +347 -0
- data/lib/rbs/unit_test/with_aliases.rb +143 -0
- data/lib/rbs/unit_test.rb +6 -0
- data/lib/rbs/validator.rb +186 -0
- data/lib/rbs/variance_calculator.rb +189 -0
- data/lib/rbs/vendorer.rb +71 -0
- data/lib/rbs/version.rb +5 -0
- data/lib/rbs/writer.rb +424 -0
- data/lib/rbs.rb +94 -0
- data/lib/rdoc/discover.rb +20 -0
- data/lib/rdoc_plugin/parser.rb +163 -0
- data/rbs-relaxed.gemspec +48 -0
- data/schema/annotation.json +14 -0
- data/schema/comment.json +26 -0
- data/schema/decls.json +326 -0
- data/schema/function.json +87 -0
- data/schema/location.json +56 -0
- data/schema/members.json +266 -0
- data/schema/methodType.json +50 -0
- data/schema/typeParam.json +36 -0
- data/schema/types.json +317 -0
- data/sig/ancestor_builder.rbs +163 -0
- data/sig/ancestor_graph.rbs +60 -0
- data/sig/annotate/annotations.rbs +102 -0
- data/sig/annotate/formatter.rbs +24 -0
- data/sig/annotate/rdoc_annotater.rbs +82 -0
- data/sig/annotate/rdoc_source.rbs +30 -0
- data/sig/annotation.rbs +27 -0
- data/sig/buffer.rbs +32 -0
- data/sig/builtin_names.rbs +44 -0
- data/sig/cli/colored_io.rbs +15 -0
- data/sig/cli/diff.rbs +21 -0
- data/sig/cli/validate.rbs +43 -0
- data/sig/cli.rbs +87 -0
- data/sig/collection/cleaner.rbs +13 -0
- data/sig/collection/config/lockfile.rbs +74 -0
- data/sig/collection/config/lockfile_generator.rbs +66 -0
- data/sig/collection/config.rbs +46 -0
- data/sig/collection/installer.rbs +17 -0
- data/sig/collection/sources.rbs +214 -0
- data/sig/collection.rbs +4 -0
- data/sig/comment.rbs +26 -0
- data/sig/constant.rbs +21 -0
- data/sig/declarations.rbs +267 -0
- data/sig/definition.rbs +173 -0
- data/sig/definition_builder.rbs +165 -0
- data/sig/diff.rbs +28 -0
- data/sig/directives.rbs +77 -0
- data/sig/environment.rbs +279 -0
- data/sig/environment_loader.rbs +111 -0
- data/sig/environment_walker.rbs +65 -0
- data/sig/errors.rbs +405 -0
- data/sig/factory.rbs +5 -0
- data/sig/file_finder.rbs +28 -0
- data/sig/location.rbs +110 -0
- data/sig/locator.rbs +58 -0
- data/sig/manifest.yaml +7 -0
- data/sig/members.rbs +258 -0
- data/sig/method_builder.rbs +84 -0
- data/sig/method_types.rbs +58 -0
- data/sig/namespace.rbs +146 -0
- data/sig/parser.rbs +100 -0
- data/sig/prototype/helpers.rbs +27 -0
- data/sig/prototype/node_usage.rbs +20 -0
- data/sig/prototype/rb.rbs +96 -0
- data/sig/prototype/rbi.rbs +75 -0
- data/sig/prototype/runtime.rbs +182 -0
- data/sig/rbs.rbs +21 -0
- data/sig/rdoc/rbs.rbs +67 -0
- data/sig/repository.rbs +85 -0
- data/sig/resolver/constant_resolver.rbs +92 -0
- data/sig/resolver/context.rbs +34 -0
- data/sig/resolver/type_name_resolver.rbs +35 -0
- data/sig/shims/bundler.rbs +38 -0
- data/sig/shims/enumerable.rbs +5 -0
- data/sig/shims/rubygems.rbs +19 -0
- data/sig/sorter.rbs +41 -0
- data/sig/substitution.rbs +48 -0
- data/sig/subtractor.rbs +37 -0
- data/sig/test/errors.rbs +52 -0
- data/sig/test/guranteed.rbs +9 -0
- data/sig/test/type_check.rbs +19 -0
- data/sig/test.rbs +82 -0
- data/sig/type_alias_dependency.rbs +53 -0
- data/sig/type_alias_regularity.rbs +98 -0
- data/sig/type_param.rbs +110 -0
- data/sig/typename.rbs +79 -0
- data/sig/types.rbs +579 -0
- data/sig/unit_test/convertibles.rbs +154 -0
- data/sig/unit_test/spy.rbs +30 -0
- data/sig/unit_test/type_assertions.rbs +196 -0
- data/sig/unit_test/with_aliases.rbs +136 -0
- data/sig/use_map.rbs +35 -0
- data/sig/util.rbs +9 -0
- data/sig/validator.rbs +63 -0
- data/sig/variance_calculator.rbs +87 -0
- data/sig/vendorer.rbs +51 -0
- data/sig/version.rbs +3 -0
- data/sig/visitor.rbs +47 -0
- data/sig/writer.rbs +127 -0
- data/src/constants.c +153 -0
- data/src/ruby_objs.c +795 -0
- data/src/util/rbs_constant_pool.c +342 -0
- data/stdlib/abbrev/0/abbrev.rbs +66 -0
- data/stdlib/abbrev/0/array.rbs +26 -0
- data/stdlib/base64/0/base64.rbs +355 -0
- data/stdlib/benchmark/0/benchmark.rbs +452 -0
- data/stdlib/bigdecimal/0/big_decimal.rbs +1629 -0
- data/stdlib/bigdecimal-math/0/big_math.rbs +119 -0
- data/stdlib/bigdecimal-math/0/manifest.yaml +2 -0
- data/stdlib/cgi/0/core.rbs +1285 -0
- data/stdlib/cgi/0/manifest.yaml +3 -0
- data/stdlib/coverage/0/coverage.rbs +263 -0
- data/stdlib/csv/0/csv.rbs +3776 -0
- data/stdlib/csv/0/manifest.yaml +3 -0
- data/stdlib/date/0/date.rbs +1585 -0
- data/stdlib/date/0/date_time.rbs +616 -0
- data/stdlib/date/0/time.rbs +26 -0
- data/stdlib/dbm/0/dbm.rbs +421 -0
- data/stdlib/delegate/0/delegator.rbs +184 -0
- data/stdlib/delegate/0/kernel.rbs +47 -0
- data/stdlib/delegate/0/simple_delegator.rbs +96 -0
- data/stdlib/did_you_mean/0/did_you_mean.rbs +343 -0
- data/stdlib/digest/0/digest.rbs +577 -0
- data/stdlib/erb/0/erb.rbs +532 -0
- data/stdlib/etc/0/etc.rbs +865 -0
- data/stdlib/fileutils/0/fileutils.rbs +1734 -0
- data/stdlib/find/0/find.rbs +49 -0
- data/stdlib/forwardable/0/forwardable.rbs +268 -0
- data/stdlib/io-console/0/io-console.rbs +414 -0
- data/stdlib/ipaddr/0/ipaddr.rbs +428 -0
- data/stdlib/json/0/json.rbs +1916 -0
- data/stdlib/kconv/0/kconv.rbs +166 -0
- data/stdlib/logger/0/formatter.rbs +45 -0
- data/stdlib/logger/0/log_device.rbs +100 -0
- data/stdlib/logger/0/logger.rbs +796 -0
- data/stdlib/logger/0/manifest.yaml +2 -0
- data/stdlib/logger/0/period.rbs +17 -0
- data/stdlib/logger/0/severity.rbs +34 -0
- data/stdlib/minitest/0/kernel.rbs +42 -0
- data/stdlib/minitest/0/minitest/abstract_reporter.rbs +52 -0
- data/stdlib/minitest/0/minitest/assertion.rbs +17 -0
- data/stdlib/minitest/0/minitest/assertions.rbs +590 -0
- data/stdlib/minitest/0/minitest/backtrace_filter.rbs +23 -0
- data/stdlib/minitest/0/minitest/bench_spec.rbs +102 -0
- data/stdlib/minitest/0/minitest/benchmark.rbs +259 -0
- data/stdlib/minitest/0/minitest/composite_reporter.rbs +25 -0
- data/stdlib/minitest/0/minitest/compress.rbs +13 -0
- data/stdlib/minitest/0/minitest/error_on_warning.rbs +3 -0
- data/stdlib/minitest/0/minitest/expectation.rbs +2 -0
- data/stdlib/minitest/0/minitest/expectations.rbs +21 -0
- data/stdlib/minitest/0/minitest/guard.rbs +64 -0
- data/stdlib/minitest/0/minitest/mock.rbs +64 -0
- data/stdlib/minitest/0/minitest/parallel/executor.rbs +46 -0
- data/stdlib/minitest/0/minitest/parallel/test/class_methods.rbs +5 -0
- data/stdlib/minitest/0/minitest/parallel/test.rbs +3 -0
- data/stdlib/minitest/0/minitest/parallel.rbs +2 -0
- data/stdlib/minitest/0/minitest/pride_io.rbs +62 -0
- data/stdlib/minitest/0/minitest/pride_lol.rbs +19 -0
- data/stdlib/minitest/0/minitest/progress_reporter.rbs +11 -0
- data/stdlib/minitest/0/minitest/reportable.rbs +53 -0
- data/stdlib/minitest/0/minitest/reporter.rbs +5 -0
- data/stdlib/minitest/0/minitest/result.rbs +28 -0
- data/stdlib/minitest/0/minitest/runnable.rbs +163 -0
- data/stdlib/minitest/0/minitest/skip.rbs +6 -0
- data/stdlib/minitest/0/minitest/spec/dsl/instance_methods.rbs +48 -0
- data/stdlib/minitest/0/minitest/spec/dsl.rbs +129 -0
- data/stdlib/minitest/0/minitest/spec.rbs +11 -0
- data/stdlib/minitest/0/minitest/statistics_reporter.rbs +81 -0
- data/stdlib/minitest/0/minitest/summary_reporter.rbs +18 -0
- data/stdlib/minitest/0/minitest/test/lifecycle_hooks.rbs +92 -0
- data/stdlib/minitest/0/minitest/test.rbs +69 -0
- data/stdlib/minitest/0/minitest/unexpected_error.rbs +12 -0
- data/stdlib/minitest/0/minitest/unexpected_warning.rbs +6 -0
- data/stdlib/minitest/0/minitest/unit/test_case.rbs +3 -0
- data/stdlib/minitest/0/minitest/unit.rbs +4 -0
- data/stdlib/minitest/0/minitest.rbs +115 -0
- data/stdlib/monitor/0/monitor.rbs +363 -0
- data/stdlib/mutex_m/0/mutex_m.rbs +104 -0
- data/stdlib/net-http/0/manifest.yaml +3 -0
- data/stdlib/net-http/0/net-http.rbs +5552 -0
- data/stdlib/net-protocol/0/manifest.yaml +2 -0
- data/stdlib/net-protocol/0/net-protocol.rbs +56 -0
- data/stdlib/net-smtp/0/manifest.yaml +2 -0
- data/stdlib/net-smtp/0/net-smtp.rbs +55 -0
- data/stdlib/nkf/0/nkf.rbs +402 -0
- data/stdlib/objspace/0/objspace.rbs +487 -0
- data/stdlib/observable/0/observable.rbs +217 -0
- data/stdlib/open-uri/0/manifest.yaml +4 -0
- data/stdlib/open-uri/0/open-uri.rbs +393 -0
- data/stdlib/open3/0/open3.rbs +147 -0
- data/stdlib/openssl/0/manifest.yaml +3 -0
- data/stdlib/openssl/0/openssl.rbs +12113 -0
- data/stdlib/optparse/0/optparse.rbs +1725 -0
- data/stdlib/pathname/0/pathname.rbs +1406 -0
- data/stdlib/pp/0/manifest.yaml +2 -0
- data/stdlib/pp/0/pp.rbs +300 -0
- data/stdlib/prettyprint/0/prettyprint.rbs +383 -0
- data/stdlib/pstore/0/pstore.rbs +603 -0
- data/stdlib/psych/0/core_ext.rbs +12 -0
- data/stdlib/psych/0/dbm.rbs +237 -0
- data/stdlib/psych/0/manifest.yaml +3 -0
- data/stdlib/psych/0/psych.rbs +402 -0
- data/stdlib/psych/0/store.rbs +59 -0
- data/stdlib/pty/0/pty.rbs +237 -0
- data/stdlib/rdoc/0/code_object.rbs +51 -0
- data/stdlib/rdoc/0/comment.rbs +59 -0
- data/stdlib/rdoc/0/context.rbs +153 -0
- data/stdlib/rdoc/0/markup.rbs +117 -0
- data/stdlib/rdoc/0/parser.rbs +56 -0
- data/stdlib/rdoc/0/rdoc.rbs +391 -0
- data/stdlib/rdoc/0/ri.rbs +17 -0
- data/stdlib/rdoc/0/store.rbs +48 -0
- data/stdlib/rdoc/0/top_level.rbs +97 -0
- data/stdlib/resolv/0/manifest.yaml +3 -0
- data/stdlib/resolv/0/resolv.rbs +1830 -0
- data/stdlib/ripper/0/ripper.rbs +1648 -0
- data/stdlib/securerandom/0/securerandom.rbs +62 -0
- data/stdlib/shellwords/0/shellwords.rbs +229 -0
- data/stdlib/singleton/0/singleton.rbs +131 -0
- data/stdlib/socket/0/addrinfo.rbs +666 -0
- data/stdlib/socket/0/basic_socket.rbs +590 -0
- data/stdlib/socket/0/constants.rbs +2295 -0
- data/stdlib/socket/0/ip_socket.rbs +92 -0
- data/stdlib/socket/0/socket.rbs +4157 -0
- data/stdlib/socket/0/socket_error.rbs +5 -0
- data/stdlib/socket/0/tcp_server.rbs +192 -0
- data/stdlib/socket/0/tcp_socket.rbs +79 -0
- data/stdlib/socket/0/udp_socket.rbs +133 -0
- data/stdlib/socket/0/unix_server.rbs +169 -0
- data/stdlib/socket/0/unix_socket.rbs +172 -0
- data/stdlib/stringio/0/stringio.rbs +567 -0
- data/stdlib/strscan/0/string_scanner.rbs +1627 -0
- data/stdlib/tempfile/0/tempfile.rbs +479 -0
- data/stdlib/time/0/time.rbs +432 -0
- data/stdlib/timeout/0/timeout.rbs +81 -0
- data/stdlib/tmpdir/0/tmpdir.rbs +69 -0
- data/stdlib/tsort/0/cyclic.rbs +5 -0
- data/stdlib/tsort/0/interfaces.rbs +20 -0
- data/stdlib/tsort/0/tsort.rbs +409 -0
- data/stdlib/uri/0/common.rbs +582 -0
- data/stdlib/uri/0/file.rbs +118 -0
- data/stdlib/uri/0/ftp.rbs +13 -0
- data/stdlib/uri/0/generic.rbs +1108 -0
- data/stdlib/uri/0/http.rbs +104 -0
- data/stdlib/uri/0/https.rbs +14 -0
- data/stdlib/uri/0/ldap.rbs +230 -0
- data/stdlib/uri/0/ldaps.rbs +14 -0
- data/stdlib/uri/0/mailto.rbs +92 -0
- data/stdlib/uri/0/rfc2396_parser.rbs +189 -0
- data/stdlib/uri/0/rfc3986_parser.rbs +2 -0
- data/stdlib/uri/0/ws.rbs +13 -0
- data/stdlib/uri/0/wss.rbs +9 -0
- data/stdlib/yaml/0/manifest.yaml +2 -0
- data/stdlib/yaml/0/yaml.rbs +1 -0
- data/stdlib/zlib/0/buf_error.rbs +10 -0
- data/stdlib/zlib/0/data_error.rbs +10 -0
- data/stdlib/zlib/0/deflate.rbs +210 -0
- data/stdlib/zlib/0/error.rbs +20 -0
- data/stdlib/zlib/0/gzip_file/crc_error.rbs +12 -0
- data/stdlib/zlib/0/gzip_file/error.rbs +23 -0
- data/stdlib/zlib/0/gzip_file/length_error.rbs +12 -0
- data/stdlib/zlib/0/gzip_file/no_footer.rbs +11 -0
- data/stdlib/zlib/0/gzip_file.rbs +156 -0
- data/stdlib/zlib/0/gzip_reader.rbs +293 -0
- data/stdlib/zlib/0/gzip_writer.rbs +166 -0
- data/stdlib/zlib/0/inflate.rbs +180 -0
- data/stdlib/zlib/0/mem_error.rbs +10 -0
- data/stdlib/zlib/0/need_dict.rbs +13 -0
- data/stdlib/zlib/0/stream_end.rbs +11 -0
- data/stdlib/zlib/0/stream_error.rbs +11 -0
- data/stdlib/zlib/0/version_error.rbs +11 -0
- data/stdlib/zlib/0/zlib.rbs +449 -0
- data/stdlib/zlib/0/zstream.rbs +200 -0
- metadata +532 -0
data/core/method.rbs
ADDED
@@ -0,0 +1,386 @@
|
|
1
|
+
# <!-- rdoc-file=proc.c -->
|
2
|
+
# Method objects are created by Object#method, and are associated with a
|
3
|
+
# particular object (not just with a class). They may be used to invoke the
|
4
|
+
# method within the object, and as a block associated with an iterator. They
|
5
|
+
# may also be unbound from one object (creating an UnboundMethod) and bound to
|
6
|
+
# another.
|
7
|
+
#
|
8
|
+
# class Thing
|
9
|
+
# def square(n)
|
10
|
+
# n*n
|
11
|
+
# end
|
12
|
+
# end
|
13
|
+
# thing = Thing.new
|
14
|
+
# meth = thing.method(:square)
|
15
|
+
#
|
16
|
+
# meth.call(9) #=> 81
|
17
|
+
# [ 1, 2, 3 ].collect(&meth) #=> [1, 4, 9]
|
18
|
+
#
|
19
|
+
# [ 1, 2, 3 ].each(&method(:puts)) #=> prints 1, 2, 3
|
20
|
+
#
|
21
|
+
# require 'date'
|
22
|
+
# %w[2017-03-01 2017-03-02].collect(&Date.method(:parse))
|
23
|
+
# #=> [#<Date: 2017-03-01 ((2457814j,0s,0n),+0s,2299161j)>, #<Date: 2017-03-02 ((2457815j,0s,0n),+0s,2299161j)>]
|
24
|
+
#
|
25
|
+
class Method
|
26
|
+
# The return type from `#parameters` methods (such as those defined on `Method`, `Proc`, and `UnboundMethod`).
|
27
|
+
type param_types = Array[[:req | :opt | :rest | :keyreq | :key | :keyrest | :block, Symbol] | [:rest | :keyrest | :nokey]]
|
28
|
+
|
29
|
+
# <!--
|
30
|
+
# rdoc-file=proc.c
|
31
|
+
# - meth.eql?(other_meth) -> true or false
|
32
|
+
# - meth == other_meth -> true or false
|
33
|
+
# -->
|
34
|
+
# Two method objects are equal if they are bound to the same object and refer to
|
35
|
+
# the same method definition and the classes defining the methods are the same
|
36
|
+
# class or module.
|
37
|
+
#
|
38
|
+
def ==: (untyped other) -> bool
|
39
|
+
|
40
|
+
# <!-- rdoc-file=proc.c -->
|
41
|
+
# Two method objects are equal if they are bound to the same object and refer to
|
42
|
+
# the same method definition and the classes defining the methods are the same
|
43
|
+
# class or module.
|
44
|
+
#
|
45
|
+
alias eql? ==
|
46
|
+
|
47
|
+
# <!--
|
48
|
+
# rdoc-file=proc.c
|
49
|
+
# - meth.hash -> integer
|
50
|
+
# -->
|
51
|
+
# Returns a hash value corresponding to the method object.
|
52
|
+
#
|
53
|
+
# See also Object#hash.
|
54
|
+
#
|
55
|
+
def hash: () -> Integer
|
56
|
+
|
57
|
+
def dup: () -> instance
|
58
|
+
|
59
|
+
# <!--
|
60
|
+
# rdoc-file=proc.c
|
61
|
+
# - meth.to_s -> string
|
62
|
+
# - meth.inspect -> string
|
63
|
+
# -->
|
64
|
+
# Returns a human-readable description of the underlying method.
|
65
|
+
#
|
66
|
+
# "cat".method(:count).inspect #=> "#<Method: String#count(*)>"
|
67
|
+
# (1..3).method(:map).inspect #=> "#<Method: Range(Enumerable)#map()>"
|
68
|
+
#
|
69
|
+
# In the latter case, the method description includes the "owner" of the
|
70
|
+
# original method (`Enumerable` module, which is included into `Range`).
|
71
|
+
#
|
72
|
+
# `inspect` also provides, when possible, method argument names (call sequence)
|
73
|
+
# and source location.
|
74
|
+
#
|
75
|
+
# require 'net/http'
|
76
|
+
# Net::HTTP.method(:get).inspect
|
77
|
+
# #=> "#<Method: Net::HTTP.get(uri_or_host, path=..., port=...) <skip>/lib/ruby/2.7.0/net/http.rb:457>"
|
78
|
+
#
|
79
|
+
# `...` in argument definition means argument is optional (has some default
|
80
|
+
# value).
|
81
|
+
#
|
82
|
+
# For methods defined in C (language core and extensions), location and argument
|
83
|
+
# names can't be extracted, and only generic information is provided in form of
|
84
|
+
# `*` (any number of arguments) or `_` (some positional argument).
|
85
|
+
#
|
86
|
+
# "cat".method(:count).inspect #=> "#<Method: String#count(*)>"
|
87
|
+
# "cat".method(:+).inspect #=> "#<Method: String#+(_)>""
|
88
|
+
#
|
89
|
+
def inspect: () -> String
|
90
|
+
|
91
|
+
# <!-- rdoc-file=proc.c -->
|
92
|
+
# Returns a human-readable description of the underlying method.
|
93
|
+
#
|
94
|
+
# "cat".method(:count).inspect #=> "#<Method: String#count(*)>"
|
95
|
+
# (1..3).method(:map).inspect #=> "#<Method: Range(Enumerable)#map()>"
|
96
|
+
#
|
97
|
+
# In the latter case, the method description includes the "owner" of the
|
98
|
+
# original method (`Enumerable` module, which is included into `Range`).
|
99
|
+
#
|
100
|
+
# `inspect` also provides, when possible, method argument names (call sequence)
|
101
|
+
# and source location.
|
102
|
+
#
|
103
|
+
# require 'net/http'
|
104
|
+
# Net::HTTP.method(:get).inspect
|
105
|
+
# #=> "#<Method: Net::HTTP.get(uri_or_host, path=..., port=...) <skip>/lib/ruby/2.7.0/net/http.rb:457>"
|
106
|
+
#
|
107
|
+
# `...` in argument definition means argument is optional (has some default
|
108
|
+
# value).
|
109
|
+
#
|
110
|
+
# For methods defined in C (language core and extensions), location and argument
|
111
|
+
# names can't be extracted, and only generic information is provided in form of
|
112
|
+
# `*` (any number of arguments) or `_` (some positional argument).
|
113
|
+
#
|
114
|
+
# "cat".method(:count).inspect #=> "#<Method: String#count(*)>"
|
115
|
+
# "cat".method(:+).inspect #=> "#<Method: String#+(_)>""
|
116
|
+
#
|
117
|
+
alias to_s inspect
|
118
|
+
|
119
|
+
# <!--
|
120
|
+
# rdoc-file=proc.c
|
121
|
+
# - meth.to_proc -> proc
|
122
|
+
# -->
|
123
|
+
# Returns a Proc object corresponding to this method.
|
124
|
+
#
|
125
|
+
def to_proc: () -> Proc
|
126
|
+
|
127
|
+
# <!--
|
128
|
+
# rdoc-file=proc.c
|
129
|
+
# - meth.call(args, ...) -> obj
|
130
|
+
# -->
|
131
|
+
# Invokes the *meth* with the specified arguments, returning the method's return
|
132
|
+
# value.
|
133
|
+
#
|
134
|
+
# m = 12.method("+")
|
135
|
+
# m.call(3) #=> 15
|
136
|
+
# m.call(20) #=> 32
|
137
|
+
#
|
138
|
+
def call: (?) -> untyped
|
139
|
+
|
140
|
+
# <!--
|
141
|
+
# rdoc-file=proc.c
|
142
|
+
# - meth << g -> a_proc
|
143
|
+
# -->
|
144
|
+
# Returns a proc that is the composition of this method and the given *g*. The
|
145
|
+
# returned proc takes a variable number of arguments, calls *g* with them then
|
146
|
+
# calls this method with the result.
|
147
|
+
#
|
148
|
+
# def f(x)
|
149
|
+
# x * x
|
150
|
+
# end
|
151
|
+
#
|
152
|
+
# f = self.method(:f)
|
153
|
+
# g = proc {|x| x + x }
|
154
|
+
# p (f << g).call(2) #=> 16
|
155
|
+
#
|
156
|
+
def <<: (Proc::_Callable g) -> Proc
|
157
|
+
|
158
|
+
# <!-- rdoc-file=proc.c -->
|
159
|
+
# Invokes the *meth* with the specified arguments, returning the method's return
|
160
|
+
# value.
|
161
|
+
#
|
162
|
+
# m = 12.method("+")
|
163
|
+
# m.call(3) #=> 15
|
164
|
+
# m.call(20) #=> 32
|
165
|
+
#
|
166
|
+
alias === call
|
167
|
+
|
168
|
+
# <!--
|
169
|
+
# rdoc-file=proc.c
|
170
|
+
# - meth >> g -> a_proc
|
171
|
+
# -->
|
172
|
+
# Returns a proc that is the composition of this method and the given *g*. The
|
173
|
+
# returned proc takes a variable number of arguments, calls this method with
|
174
|
+
# them then calls *g* with the result.
|
175
|
+
#
|
176
|
+
# def f(x)
|
177
|
+
# x * x
|
178
|
+
# end
|
179
|
+
#
|
180
|
+
# f = self.method(:f)
|
181
|
+
# g = proc {|x| x + x }
|
182
|
+
# p (f >> g).call(2) #=> 8
|
183
|
+
#
|
184
|
+
def >>: (Proc::_Callable g) -> Proc
|
185
|
+
|
186
|
+
# <!-- rdoc-file=proc.c -->
|
187
|
+
# Invokes the *meth* with the specified arguments, returning the method's return
|
188
|
+
# value.
|
189
|
+
#
|
190
|
+
# m = 12.method("+")
|
191
|
+
# m.call(3) #=> 15
|
192
|
+
# m.call(20) #=> 32
|
193
|
+
#
|
194
|
+
alias [] call
|
195
|
+
|
196
|
+
# <!--
|
197
|
+
# rdoc-file=proc.c
|
198
|
+
# - meth.arity -> integer
|
199
|
+
# -->
|
200
|
+
# Returns an indication of the number of arguments accepted by a method. Returns
|
201
|
+
# a nonnegative integer for methods that take a fixed number of arguments. For
|
202
|
+
# Ruby methods that take a variable number of arguments, returns -n-1, where n
|
203
|
+
# is the number of required arguments. Keyword arguments will be considered as a
|
204
|
+
# single additional argument, that argument being mandatory if any keyword
|
205
|
+
# argument is mandatory. For methods written in C, returns -1 if the call takes
|
206
|
+
# a variable number of arguments.
|
207
|
+
#
|
208
|
+
# class C
|
209
|
+
# def one; end
|
210
|
+
# def two(a); end
|
211
|
+
# def three(*a); end
|
212
|
+
# def four(a, b); end
|
213
|
+
# def five(a, b, *c); end
|
214
|
+
# def six(a, b, *c, &d); end
|
215
|
+
# def seven(a, b, x:0); end
|
216
|
+
# def eight(x:, y:); end
|
217
|
+
# def nine(x:, y:, **z); end
|
218
|
+
# def ten(*a, x:, y:); end
|
219
|
+
# end
|
220
|
+
# c = C.new
|
221
|
+
# c.method(:one).arity #=> 0
|
222
|
+
# c.method(:two).arity #=> 1
|
223
|
+
# c.method(:three).arity #=> -1
|
224
|
+
# c.method(:four).arity #=> 2
|
225
|
+
# c.method(:five).arity #=> -3
|
226
|
+
# c.method(:six).arity #=> -3
|
227
|
+
# c.method(:seven).arity #=> -3
|
228
|
+
# c.method(:eight).arity #=> 1
|
229
|
+
# c.method(:nine).arity #=> 1
|
230
|
+
# c.method(:ten).arity #=> -2
|
231
|
+
#
|
232
|
+
# "cat".method(:size).arity #=> 0
|
233
|
+
# "cat".method(:replace).arity #=> 1
|
234
|
+
# "cat".method(:squeeze).arity #=> -1
|
235
|
+
# "cat".method(:count).arity #=> -1
|
236
|
+
#
|
237
|
+
def arity: () -> Integer
|
238
|
+
|
239
|
+
# <!--
|
240
|
+
# rdoc-file=proc.c
|
241
|
+
# - method.clone -> new_method
|
242
|
+
# -->
|
243
|
+
# Returns a clone of this method.
|
244
|
+
#
|
245
|
+
# class A
|
246
|
+
# def foo
|
247
|
+
# return "bar"
|
248
|
+
# end
|
249
|
+
# end
|
250
|
+
#
|
251
|
+
# m = A.new.method(:foo)
|
252
|
+
# m.call # => "bar"
|
253
|
+
# n = m.clone.call # => "bar"
|
254
|
+
#
|
255
|
+
def clone: () -> instance
|
256
|
+
|
257
|
+
# <!--
|
258
|
+
# rdoc-file=proc.c
|
259
|
+
# - meth.curry -> proc
|
260
|
+
# - meth.curry(arity) -> proc
|
261
|
+
# -->
|
262
|
+
# Returns a curried proc based on the method. When the proc is called with a
|
263
|
+
# number of arguments that is lower than the method's arity, then another
|
264
|
+
# curried proc is returned. Only when enough arguments have been supplied to
|
265
|
+
# satisfy the method signature, will the method actually be called.
|
266
|
+
#
|
267
|
+
# The optional *arity* argument should be supplied when currying methods with
|
268
|
+
# variable arguments to determine how many arguments are needed before the
|
269
|
+
# method is called.
|
270
|
+
#
|
271
|
+
# def foo(a,b,c)
|
272
|
+
# [a, b, c]
|
273
|
+
# end
|
274
|
+
#
|
275
|
+
# proc = self.method(:foo).curry
|
276
|
+
# proc2 = proc.call(1, 2) #=> #<Proc>
|
277
|
+
# proc2.call(3) #=> [1,2,3]
|
278
|
+
#
|
279
|
+
# def vararg(*args)
|
280
|
+
# args
|
281
|
+
# end
|
282
|
+
#
|
283
|
+
# proc = self.method(:vararg).curry(4)
|
284
|
+
# proc2 = proc.call(:x) #=> #<Proc>
|
285
|
+
# proc3 = proc2.call(:y, :z) #=> #<Proc>
|
286
|
+
# proc3.call(:a) #=> [:x, :y, :z, :a]
|
287
|
+
#
|
288
|
+
def curry: (?int? arity) -> Proc
|
289
|
+
|
290
|
+
# <!--
|
291
|
+
# rdoc-file=proc.c
|
292
|
+
# - meth.name -> symbol
|
293
|
+
# -->
|
294
|
+
# Returns the name of the method.
|
295
|
+
#
|
296
|
+
def name: () -> Symbol
|
297
|
+
|
298
|
+
# <!--
|
299
|
+
# rdoc-file=proc.c
|
300
|
+
# - meth.original_name -> symbol
|
301
|
+
# -->
|
302
|
+
# Returns the original name of the method.
|
303
|
+
#
|
304
|
+
# class C
|
305
|
+
# def foo; end
|
306
|
+
# alias bar foo
|
307
|
+
# end
|
308
|
+
# C.instance_method(:bar).original_name # => :foo
|
309
|
+
#
|
310
|
+
def original_name: () -> Symbol
|
311
|
+
|
312
|
+
# <!--
|
313
|
+
# rdoc-file=proc.c
|
314
|
+
# - meth.owner -> class_or_module
|
315
|
+
# -->
|
316
|
+
# Returns the class or module on which this method is defined. In other words,
|
317
|
+
#
|
318
|
+
# meth.owner.instance_methods(false).include?(meth.name) # => true
|
319
|
+
#
|
320
|
+
# holds as long as the method is not removed/undefined/replaced, (with
|
321
|
+
# private_instance_methods instead of instance_methods if the method is
|
322
|
+
# private).
|
323
|
+
#
|
324
|
+
# See also Method#receiver.
|
325
|
+
#
|
326
|
+
# (1..3).method(:map).owner #=> Enumerable
|
327
|
+
#
|
328
|
+
def owner: () -> (Class | Module)
|
329
|
+
|
330
|
+
# <!--
|
331
|
+
# rdoc-file=proc.c
|
332
|
+
# - meth.parameters -> array
|
333
|
+
# -->
|
334
|
+
# Returns the parameter information of this method.
|
335
|
+
#
|
336
|
+
# def foo(bar); end
|
337
|
+
# method(:foo).parameters #=> [[:req, :bar]]
|
338
|
+
#
|
339
|
+
# def foo(bar, baz, bat, &blk); end
|
340
|
+
# method(:foo).parameters #=> [[:req, :bar], [:req, :baz], [:req, :bat], [:block, :blk]]
|
341
|
+
#
|
342
|
+
# def foo(bar, *args); end
|
343
|
+
# method(:foo).parameters #=> [[:req, :bar], [:rest, :args]]
|
344
|
+
#
|
345
|
+
# def foo(bar, baz, *args, &blk); end
|
346
|
+
# method(:foo).parameters #=> [[:req, :bar], [:req, :baz], [:rest, :args], [:block, :blk]]
|
347
|
+
#
|
348
|
+
def parameters: () -> param_types
|
349
|
+
|
350
|
+
# <!--
|
351
|
+
# rdoc-file=proc.c
|
352
|
+
# - meth.receiver -> object
|
353
|
+
# -->
|
354
|
+
# Returns the bound receiver of the method object.
|
355
|
+
#
|
356
|
+
# (1..3).method(:map).receiver # => 1..3
|
357
|
+
#
|
358
|
+
def receiver: () -> untyped
|
359
|
+
|
360
|
+
# <!--
|
361
|
+
# rdoc-file=proc.c
|
362
|
+
# - meth.source_location -> [String, Integer]
|
363
|
+
# -->
|
364
|
+
# Returns the Ruby source filename and line number containing this method or nil
|
365
|
+
# if this method was not defined in Ruby (i.e. native).
|
366
|
+
#
|
367
|
+
def source_location: () -> [String, Integer]?
|
368
|
+
|
369
|
+
# <!--
|
370
|
+
# rdoc-file=proc.c
|
371
|
+
# - meth.super_method -> method
|
372
|
+
# -->
|
373
|
+
# Returns a Method of superclass which would be called when super is used or nil
|
374
|
+
# if there is no method on superclass.
|
375
|
+
#
|
376
|
+
def super_method: () -> Method?
|
377
|
+
|
378
|
+
# <!--
|
379
|
+
# rdoc-file=proc.c
|
380
|
+
# - meth.unbind -> unbound_method
|
381
|
+
# -->
|
382
|
+
# Dissociates *meth* from its current receiver. The resulting UnboundMethod can
|
383
|
+
# subsequently be bound to a new object of the same class (see UnboundMethod).
|
384
|
+
#
|
385
|
+
def unbind: () -> UnboundMethod
|
386
|
+
end
|