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
@@ -0,0 +1,163 @@
|
|
1
|
+
module RBS
|
2
|
+
class DefinitionBuilder
|
3
|
+
# AncestorBuilder calculates the ancestors of a class or module.
|
4
|
+
#
|
5
|
+
class AncestorBuilder
|
6
|
+
# OneAncestors represents a list of _direct_ ancestors of a type name
|
7
|
+
#
|
8
|
+
# _Direct_ ancestors is defined as follows:
|
9
|
+
#
|
10
|
+
# * Super class is a direct ancestor
|
11
|
+
# * Self type constraints are direct ancestors
|
12
|
+
# * Mixin modules are direct ancestors
|
13
|
+
# * Mixin interfaces are direct ancestors
|
14
|
+
#
|
15
|
+
# The optional attributes are defined by the type of the ancestors object, one of the following five groups:
|
16
|
+
#
|
17
|
+
# 1. Instance of a class -- with super_class, included_modules, included_interfaces, and prepended_modules
|
18
|
+
# 2. Instance of a module -- with self_types, included_modules, included_interfaces, and prepended_modules
|
19
|
+
# 3. Singleton of a class or module -- with super_class, extended_modules, and extended_interfaces
|
20
|
+
# 4. Interface -- with included_interfaces
|
21
|
+
#
|
22
|
+
class OneAncestors
|
23
|
+
attr_reader type_name: TypeName
|
24
|
+
attr_reader params: Array[Symbol]?
|
25
|
+
|
26
|
+
# Returns super_class ancestor if specified
|
27
|
+
#
|
28
|
+
# * Always `nil` if this is not a class.
|
29
|
+
#
|
30
|
+
attr_reader super_class: Definition::Ancestor::t?
|
31
|
+
|
32
|
+
# Returns list of _self type constraints_ of a module
|
33
|
+
#
|
34
|
+
# * Returns `nil` if it is not a module instance.
|
35
|
+
#
|
36
|
+
attr_reader self_types: Array[Definition::Ancestor::Instance]?
|
37
|
+
|
38
|
+
# Returns the list of included modules
|
39
|
+
#
|
40
|
+
# * Returns `nil` if it is an interface or it is a singleton.
|
41
|
+
#
|
42
|
+
attr_reader included_modules: Array[Definition::Ancestor::Instance]?
|
43
|
+
|
44
|
+
# Returns the list of included interfaces
|
45
|
+
#
|
46
|
+
# * Returns `nil` it it is a singleton.
|
47
|
+
#
|
48
|
+
attr_reader included_interfaces: Array[Definition::Ancestor::Instance]?
|
49
|
+
|
50
|
+
# Returns the list of prepended modules
|
51
|
+
#
|
52
|
+
# * Returns `nil` if it is an interface or it is a singleton.
|
53
|
+
#
|
54
|
+
attr_reader prepended_modules: Array[Definition::Ancestor::Instance]?
|
55
|
+
|
56
|
+
# Returns the list of extended modules
|
57
|
+
#
|
58
|
+
# * Returns `nil` if it is an interface or it is an instance.
|
59
|
+
#
|
60
|
+
attr_reader extended_modules: Array[Definition::Ancestor::Instance]?
|
61
|
+
|
62
|
+
# Returns the list of extended interfaces
|
63
|
+
#
|
64
|
+
# * Returns `nil` if it is an interface or it is an instance.
|
65
|
+
#
|
66
|
+
attr_reader extended_interfaces: Array[Definition::Ancestor::Instance]?
|
67
|
+
|
68
|
+
def initialize: (type_name: TypeName,
|
69
|
+
params: Array[Symbol]?,
|
70
|
+
super_class: Definition::Ancestor::t?,
|
71
|
+
self_types: Array[Definition::Ancestor::Instance]?,
|
72
|
+
included_modules: Array[Definition::Ancestor::Instance]?,
|
73
|
+
included_interfaces: Array[Definition::Ancestor::Instance]?,
|
74
|
+
prepended_modules: Array[Definition::Ancestor::Instance]?,
|
75
|
+
extended_modules: Array[Definition::Ancestor::Instance]?,
|
76
|
+
extended_interfaces: Array[Definition::Ancestor::Instance]?) -> void
|
77
|
+
|
78
|
+
def each_ancestor: { (Definition::Ancestor::t) -> void } -> void
|
79
|
+
| -> Enumerator[Definition::Ancestor::t, void]
|
80
|
+
|
81
|
+
# Returns a OneAncestors object for class instance
|
82
|
+
def self.class_instance: (type_name: TypeName, params: Array[Symbol], super_class: Definition::Ancestor::t?) -> instance
|
83
|
+
|
84
|
+
# Returns a OneAncestors object for module instance
|
85
|
+
def self.module_instance: (type_name: TypeName, params: Array[Symbol]) -> instance
|
86
|
+
|
87
|
+
# Returns a OneAncestors object for class/module singleton
|
88
|
+
def self.singleton: (type_name: TypeName, super_class: Definition::Ancestor::t) -> instance
|
89
|
+
|
90
|
+
# Returns a OneAncestors object for interface
|
91
|
+
def self.interface: (type_name: TypeName, params: Array[Symbol]) -> instance
|
92
|
+
|
93
|
+
def each_included_module: () { (Definition::Ancestor::Instance) -> void } -> void
|
94
|
+
| () -> Enumerator[Definition::Ancestor::Instance, void]
|
95
|
+
|
96
|
+
def each_included_interface: () { (Definition::Ancestor::Instance) -> void } -> void
|
97
|
+
| () -> Enumerator[Definition::Ancestor::Instance, void]
|
98
|
+
|
99
|
+
def each_prepended_module: () { (Definition::Ancestor::Instance) -> void } -> void
|
100
|
+
| () -> Enumerator[Definition::Ancestor::Instance, void]
|
101
|
+
|
102
|
+
def each_extended_module: () { (Definition::Ancestor::Instance) -> void } -> void
|
103
|
+
| () -> Enumerator[Definition::Ancestor::Instance, void]
|
104
|
+
|
105
|
+
def each_extended_interface: () { (Definition::Ancestor::Instance) -> void } -> void
|
106
|
+
| () -> Enumerator[Definition::Ancestor::Instance, void]
|
107
|
+
|
108
|
+
def each_self_type: () { (Definition::Ancestor::Instance) -> void } -> void
|
109
|
+
| () -> Enumerator[Definition::Ancestor::Instance, void]
|
110
|
+
end
|
111
|
+
|
112
|
+
attr_reader env: Environment
|
113
|
+
|
114
|
+
attr_reader one_instance_ancestors_cache: Hash[TypeName, OneAncestors]
|
115
|
+
attr_reader instance_ancestors_cache: Hash[TypeName, Definition::InstanceAncestors]
|
116
|
+
|
117
|
+
attr_reader one_singleton_ancestors_cache: Hash[TypeName, OneAncestors]
|
118
|
+
attr_reader singleton_ancestors_cache: Hash[TypeName, Definition::SingletonAncestors]
|
119
|
+
|
120
|
+
attr_reader one_interface_ancestors_cache: Hash[TypeName, OneAncestors]
|
121
|
+
attr_reader interface_ancestors_cache: Hash[TypeName, Definition::InstanceAncestors]
|
122
|
+
|
123
|
+
def initialize: (env: Environment) -> void
|
124
|
+
|
125
|
+
def instance_ancestors: (TypeName, ?building_ancestors: Array[Definition::Ancestor::t]) -> Definition::InstanceAncestors
|
126
|
+
|
127
|
+
def singleton_ancestors: (TypeName, ?building_ancestors: Array[Definition::Ancestor::t]) -> Definition::SingletonAncestors
|
128
|
+
|
129
|
+
def interface_ancestors: (TypeName, ?building_ancestors: Array[Definition::Ancestor::t]) -> Definition::InstanceAncestors
|
130
|
+
|
131
|
+
def one_instance_ancestors: (TypeName) -> OneAncestors
|
132
|
+
|
133
|
+
def one_singleton_ancestors: (TypeName) -> OneAncestors
|
134
|
+
|
135
|
+
def one_interface_ancestors: (TypeName) -> OneAncestors
|
136
|
+
|
137
|
+
private
|
138
|
+
|
139
|
+
def validate_super_class!: (TypeName, Environment::ClassEntry) -> void
|
140
|
+
|
141
|
+
def mixin_ancestors: (Environment::ClassEntry | Environment::ModuleEntry,
|
142
|
+
TypeName,
|
143
|
+
included_modules: Array[Definition::Ancestor::Instance]?,
|
144
|
+
included_interfaces: Array[Definition::Ancestor::Instance]?,
|
145
|
+
prepended_modules: Array[Definition::Ancestor::Instance]?,
|
146
|
+
extended_modules: Array[Definition::Ancestor::Instance]?,
|
147
|
+
extended_interfaces: Array[Definition::Ancestor::Instance]?) -> void
|
148
|
+
|
149
|
+
def mixin_ancestors0: (AST::Declarations::Class | AST::Declarations::Module | AST::Declarations::Interface,
|
150
|
+
TypeName,
|
151
|
+
align_params: Substitution?,
|
152
|
+
included_modules: Array[Definition::Ancestor::Instance]?,
|
153
|
+
included_interfaces: Array[Definition::Ancestor::Instance]?,
|
154
|
+
prepended_modules: Array[Definition::Ancestor::Instance]?,
|
155
|
+
extended_modules: Array[Definition::Ancestor::Instance]?,
|
156
|
+
extended_interfaces: Array[Definition::Ancestor::Instance]?) -> void
|
157
|
+
|
158
|
+
# Fill `#source` of instance ancestor if `ancestor.name == name` and its `source` is `nil`
|
159
|
+
#
|
160
|
+
def fill_ancestor_source: (Definition::Ancestor::t, name: TypeName, source: Definition::Ancestor::Instance::source) -> Definition::Ancestor::t
|
161
|
+
end
|
162
|
+
end
|
163
|
+
end
|
@@ -0,0 +1,60 @@
|
|
1
|
+
module RBS
|
2
|
+
# AncestorGraph is a utility class that helps iterating through ancestors and descendants of a class/module
|
3
|
+
#
|
4
|
+
# ```ruby
|
5
|
+
# graph = AncestorGraph.new(env: env, ancestor_builder: ancestor_builder)
|
6
|
+
#
|
7
|
+
# graph.each_parent(AncestorGraph::InstanceNode.new(type_name: TypeName.parse("::Object")))
|
8
|
+
# graph.each_ancestor(AncestorGraph::InstanceNode.new(type_name: TypeName.parse("::Object")))
|
9
|
+
#
|
10
|
+
# graph.each_child(AncestorGraph::InstanceNode.new(type_name: TypeName.parse("::Object")))
|
11
|
+
# graph.each_descendant(AncestorGraph::InstanceNode.new(type_name: TypeName.parse("::Object")))
|
12
|
+
# ```
|
13
|
+
#
|
14
|
+
# Note that the class works for class/module declarations.
|
15
|
+
# All of the *alias* classes/modules are ignored.
|
16
|
+
#
|
17
|
+
# * Alias classes/modules doesn't count as a parent nor child
|
18
|
+
# * Passing alias classes/modules to the method doesn't yield anything
|
19
|
+
#
|
20
|
+
class AncestorGraph
|
21
|
+
class InstanceNode
|
22
|
+
attr_reader type_name: TypeName
|
23
|
+
def initialize: (type_name: TypeName) -> void
|
24
|
+
end
|
25
|
+
|
26
|
+
class SingletonNode
|
27
|
+
attr_reader type_name: TypeName
|
28
|
+
def initialize: (type_name: TypeName) -> void
|
29
|
+
end
|
30
|
+
|
31
|
+
type node = InstanceNode | SingletonNode
|
32
|
+
|
33
|
+
attr_reader env: Environment
|
34
|
+
attr_reader ancestor_builder: DefinitionBuilder::AncestorBuilder
|
35
|
+
attr_reader parents: Hash[node, Set[node]]
|
36
|
+
attr_reader children: Hash[node, Set[node]]
|
37
|
+
|
38
|
+
def initialize: (env: Environment, ?ancestor_builder: DefinitionBuilder::AncestorBuilder) -> void
|
39
|
+
|
40
|
+
def each_parent: (node) { (node) -> void } -> void
|
41
|
+
| (node) -> Enumerator[node, void]
|
42
|
+
|
43
|
+
def each_ancestor: (node, ?yielded: Set[node]) { (node) -> void } -> void
|
44
|
+
| (node) -> Enumerator[node, void]
|
45
|
+
|
46
|
+
def each_child: (node) { (node) -> void } -> void
|
47
|
+
| (node) -> Enumerator[node, void]
|
48
|
+
|
49
|
+
def each_descendant: (node, ?yielded: Set[node]) { (node) -> void } -> void
|
50
|
+
| (node) -> Enumerator[node, void]
|
51
|
+
|
52
|
+
private
|
53
|
+
|
54
|
+
def build: () -> void
|
55
|
+
|
56
|
+
def build_ancestors: (node, DefinitionBuilder::AncestorBuilder::OneAncestors) -> void
|
57
|
+
|
58
|
+
def register: (parent: node, child: node) -> void
|
59
|
+
end
|
60
|
+
end
|
@@ -0,0 +1,102 @@
|
|
1
|
+
module RBS
|
2
|
+
module Annotate
|
3
|
+
class Annotations
|
4
|
+
type t = Skip | Source | Copy
|
5
|
+
|
6
|
+
def self.parse: (AST::Annotation) -> t?
|
7
|
+
|
8
|
+
attr_reader items: Array[t]
|
9
|
+
|
10
|
+
def initialize: (Array[t]) -> void
|
11
|
+
|
12
|
+
def skip?: () -> bool
|
13
|
+
|
14
|
+
def skip_all?: () -> bool
|
15
|
+
|
16
|
+
def test_path: (String path) -> bool
|
17
|
+
|
18
|
+
def test_path_string: (String pattern, String path) -> bool
|
19
|
+
|
20
|
+
def copy_annotation: -> Copy?
|
21
|
+
|
22
|
+
# Skip annotation allows skipping generating annotation of a subject.
|
23
|
+
#
|
24
|
+
# %a{annotate:rdoc:skip}
|
25
|
+
# %a{annotate:rdoc:skip:all}
|
26
|
+
#
|
27
|
+
class Skip
|
28
|
+
attr_reader annotation: AST::Annotation
|
29
|
+
|
30
|
+
attr_reader skip_children: bool
|
31
|
+
|
32
|
+
def initialize: (annotation: AST::Annotation, skip_children: bool) -> void
|
33
|
+
|
34
|
+
def hash: () -> Integer
|
35
|
+
|
36
|
+
def ==: (untyped) -> bool
|
37
|
+
|
38
|
+
alias eql? ==
|
39
|
+
end
|
40
|
+
|
41
|
+
# Source annotation allows where the documents are copied from.
|
42
|
+
#
|
43
|
+
# It allows specifying two directions: the source to read from, and the source to skip.
|
44
|
+
#
|
45
|
+
# %a{annotate:rdoc:source:from=ext/pathname}
|
46
|
+
# %a{annotate:rdoc:source:skip=ext/pathname/doc}
|
47
|
+
#
|
48
|
+
# When you want to specify several paths, repeat writing the Source annotation.
|
49
|
+
#
|
50
|
+
class Source
|
51
|
+
attr_reader annotation: AST::Annotation
|
52
|
+
|
53
|
+
attr_reader include_source: String?
|
54
|
+
attr_reader skip_source: String?
|
55
|
+
|
56
|
+
def initialize: (annotation: AST::Annotation, include: String) -> void
|
57
|
+
| (annotation: AST::Annotation, skip: String) -> void
|
58
|
+
|
59
|
+
def hash: () -> Integer
|
60
|
+
|
61
|
+
def ==: (untyped) -> bool
|
62
|
+
|
63
|
+
alias eql? ==
|
64
|
+
end
|
65
|
+
|
66
|
+
# Copy annotation allows copying the doc from another subject.
|
67
|
+
# This helps working with incorrect RDoc annotations.
|
68
|
+
#
|
69
|
+
# %a{annotate:rdoc:copy:Bar#baz}
|
70
|
+
# %a{annotate:rdoc:copy:Bar.baz}
|
71
|
+
# %a{annotate:rdoc:copy:Bar::Baz}
|
72
|
+
#
|
73
|
+
class Copy
|
74
|
+
attr_reader annotation: AST::Annotation
|
75
|
+
|
76
|
+
attr_reader source: String
|
77
|
+
|
78
|
+
def initialize: (annotation: AST::Annotation, source: String) -> void
|
79
|
+
|
80
|
+
# Returns a tuple of:
|
81
|
+
#
|
82
|
+
# - Type name
|
83
|
+
# - A pair of:
|
84
|
+
# - Boolean which holds if it is singleton
|
85
|
+
# - Name of method
|
86
|
+
def partition: () -> [TypeName, [bool, Symbol]?]
|
87
|
+
|
88
|
+
def type_name: () -> TypeName
|
89
|
+
|
90
|
+
def method_name: () -> Symbol?
|
91
|
+
|
92
|
+
def singleton?: () -> bool
|
93
|
+
|
94
|
+
def hash: () -> Integer
|
95
|
+
|
96
|
+
def ==: (untyped) -> bool
|
97
|
+
|
98
|
+
alias eql? ==
|
99
|
+
end
|
100
|
+
end
|
101
|
+
end
|
102
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
module RBS
|
2
|
+
module Annotate
|
3
|
+
class Formatter
|
4
|
+
attr_reader buffer: String
|
5
|
+
|
6
|
+
@pending_separator: String?
|
7
|
+
|
8
|
+
def initialize: () -> void
|
9
|
+
|
10
|
+
def <<: (String | RDoc::Markup::Document | nil) -> self
|
11
|
+
|
12
|
+
def margin: (?separator: String) -> self
|
13
|
+
|
14
|
+
def empty?: () -> bool
|
15
|
+
|
16
|
+
def format: (newline_at_end: bool) -> String
|
17
|
+
|
18
|
+
def self.translate: (RDoc::Markup::Document) -> String?
|
19
|
+
|
20
|
+
def self.each_part: (RDoc::Markup::Document | RDoc::Comment | String) { (RDoc::Markup::Document) -> void } -> void
|
21
|
+
| (RDoc::Markup::Document | RDoc::Comment | String) -> Enumerator[RDoc::Markup::Document, void]
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,82 @@
|
|
1
|
+
module RBS
|
2
|
+
module Annotate
|
3
|
+
class RDocAnnotator
|
4
|
+
attr_reader source: RDocSource
|
5
|
+
|
6
|
+
attr_accessor include_arg_lists: bool
|
7
|
+
attr_accessor include_filename: bool
|
8
|
+
|
9
|
+
def initialize: (source: RDocSource) -> void
|
10
|
+
|
11
|
+
def annotate_file: (Pathname, preserve: bool) -> void
|
12
|
+
|
13
|
+
def annotate_decls: (Array[AST::Declarations::t], ?outer: Array[Namespace]) -> void
|
14
|
+
|
15
|
+
interface _PathTester
|
16
|
+
def test_path: (String) -> bool
|
17
|
+
end
|
18
|
+
|
19
|
+
interface _WithRDocComment
|
20
|
+
def comment: () -> (RDoc::Markup::Document | RDoc::Comment | String)
|
21
|
+
end
|
22
|
+
|
23
|
+
def each_part: (Array[Object & _WithRDocComment], tester: _PathTester) { ([RDoc::Markup::Document, Object & _WithRDocComment]) -> void } -> void
|
24
|
+
| (Array[Object & _WithRDocComment], tester: _PathTester) -> Enumerator[[RDoc::Markup::Document, Object & _WithRDocComment], void]
|
25
|
+
|
26
|
+
def join_docs: (Array[String?], ?separator: String) -> String?
|
27
|
+
|
28
|
+
def doc_for_class: (TypeName, tester: _PathTester) -> String?
|
29
|
+
|
30
|
+
# Returns the formatted document of given method.
|
31
|
+
#
|
32
|
+
# Expands attribute documents, or alias documents if needed.
|
33
|
+
#
|
34
|
+
def doc_for_method: (TypeName, instance_method: Symbol, tester: _PathTester) -> String?
|
35
|
+
| (TypeName, singleton_method: Symbol, tester: _PathTester) -> String?
|
36
|
+
|
37
|
+
|
38
|
+
def doc_for_method0: (TypeName, instance_method: Symbol, tester: _PathTester) -> String?
|
39
|
+
| (TypeName, singleton_method: Symbol, tester: _PathTester) -> String?
|
40
|
+
|
41
|
+
# Having `require: nil` means any attribute is okay.
|
42
|
+
# Having `require: "R"` means _read attr_ is required.
|
43
|
+
# Having `require: "W"` means write attr_ is required.
|
44
|
+
#
|
45
|
+
def doc_for_attribute: (TypeName, Symbol, singleton: bool, ?require: nil | "R" | "W", tester: _PathTester) -> String?
|
46
|
+
|
47
|
+
def doc_for_alias: (TypeName, name: Symbol, singleton: bool, tester: _PathTester) -> String?
|
48
|
+
|
49
|
+
def doc_for_constant: (TypeName, tester: _PathTester) -> String?
|
50
|
+
|
51
|
+
def resolve_doc_source: (Annotations::Copy?, tester: _PathTester) { () -> String? } -> String?
|
52
|
+
|
53
|
+
def annotate_class: (AST::Declarations::Class | AST::Declarations::Module, outer: Array[Namespace]) -> void
|
54
|
+
|
55
|
+
def annotate_constant: (AST::Declarations::Constant, outer: Array[Namespace]) -> void
|
56
|
+
|
57
|
+
def annotate_method: (TypeName, AST::Members::MethodDefinition) -> void
|
58
|
+
|
59
|
+
def annotate_alias: (TypeName, AST::Members::Alias) -> void
|
60
|
+
|
61
|
+
def annotate_attribute: (TypeName, AST::Members::AttrReader | AST::Members::AttrWriter | AST::Members::AttrAccessor) -> void
|
62
|
+
|
63
|
+
def annotations: (_Annotated) -> Annotations
|
64
|
+
|
65
|
+
interface _Annotated
|
66
|
+
def annotations: -> Array[AST::Annotation]
|
67
|
+
end
|
68
|
+
|
69
|
+
# - If a string is given as `comment`, the content is attached to the object as a comment.
|
70
|
+
# - If empty string is given as `comment`, it deletes the original comment.
|
71
|
+
# - If `nil` is given as `comment`, it keeps the original comment.
|
72
|
+
#
|
73
|
+
def replace_comment: (Object & _Commented, String? comment) -> void
|
74
|
+
|
75
|
+
interface _Commented
|
76
|
+
def comment: () -> AST::Comment?
|
77
|
+
end
|
78
|
+
|
79
|
+
def resolve_name: (TypeName, outer: Array[Namespace]) -> TypeName
|
80
|
+
end
|
81
|
+
end
|
82
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
module RBS
|
2
|
+
module Annotate
|
3
|
+
class RDocSource
|
4
|
+
attr_accessor with_system_dir: bool
|
5
|
+
attr_accessor with_gems_dir: bool
|
6
|
+
attr_accessor with_site_dir: bool
|
7
|
+
attr_accessor with_home_dir: bool
|
8
|
+
|
9
|
+
attr_reader extra_dirs: Array[Pathname]
|
10
|
+
|
11
|
+
attr_reader stores: Array[RDoc::Store]
|
12
|
+
|
13
|
+
def initialize: () -> void
|
14
|
+
|
15
|
+
def load: () -> void
|
16
|
+
|
17
|
+
# Extract documents from `CodeObject`s
|
18
|
+
def docs: () { () -> Array[RDoc::CodeObject]? } -> Array[RDoc::Markup::Document]?
|
19
|
+
|
20
|
+
def find_class: (TypeName) -> Array[RDoc::ClassModule]?
|
21
|
+
|
22
|
+
def find_const: (TypeName) -> Array[RDoc::Constant]?
|
23
|
+
|
24
|
+
def find_method: (TypeName, instance_method: Symbol) -> Array[RDoc::AnyMethod]?
|
25
|
+
| (TypeName, singleton_method: Symbol) -> Array[RDoc::AnyMethod]?
|
26
|
+
|
27
|
+
def find_attribute: (TypeName, Symbol, singleton: bool) -> Array[RDoc::Attr]?
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
data/sig/annotation.rbs
ADDED
@@ -0,0 +1,27 @@
|
|
1
|
+
module RBS
|
2
|
+
module AST
|
3
|
+
# RBS allows writing annotations of declarations and members.
|
4
|
+
#
|
5
|
+
# ```rbs
|
6
|
+
# %a{annotation_here}
|
7
|
+
# class Hello
|
8
|
+
# %a{rbs:test:skip}
|
9
|
+
# def foo: () -> void
|
10
|
+
# end
|
11
|
+
# ```
|
12
|
+
class Annotation
|
13
|
+
attr_reader string: String
|
14
|
+
attr_reader location: Location[untyped, untyped]?
|
15
|
+
|
16
|
+
def initialize: (string: String, location: Location[untyped, untyped]?) -> void
|
17
|
+
|
18
|
+
def ==: (untyped other) -> bool
|
19
|
+
|
20
|
+
alias eql? ==
|
21
|
+
|
22
|
+
def hash: () -> Integer
|
23
|
+
|
24
|
+
include _ToJson
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
data/sig/buffer.rbs
ADDED
@@ -0,0 +1,32 @@
|
|
1
|
+
module RBS
|
2
|
+
class Buffer
|
3
|
+
# Location in a buffer.
|
4
|
+
# A pair of line number (1 origin) and column number (0 origin).
|
5
|
+
#
|
6
|
+
type loc = [Integer, Integer]
|
7
|
+
|
8
|
+
# Name to identify Buffer.
|
9
|
+
attr_reader name: untyped
|
10
|
+
|
11
|
+
# The content of the buffer.
|
12
|
+
attr_reader content: String
|
13
|
+
|
14
|
+
@lines: Array[String]
|
15
|
+
|
16
|
+
@ranges: Array[Range[Integer]]
|
17
|
+
|
18
|
+
def initialize: (name: untyped name, content: String content) -> void
|
19
|
+
|
20
|
+
def lines: () -> Array[String]
|
21
|
+
|
22
|
+
def ranges: () -> Array[Range[Integer]]
|
23
|
+
|
24
|
+
# Translate position to location.
|
25
|
+
def pos_to_loc: (Integer pos) -> loc
|
26
|
+
|
27
|
+
# Translate location to position.
|
28
|
+
def loc_to_pos: (loc loc) -> Integer
|
29
|
+
|
30
|
+
def last_position: () -> Integer
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,44 @@
|
|
1
|
+
module RBS
|
2
|
+
module BuiltinNames
|
3
|
+
class Name
|
4
|
+
attr_reader name: TypeName
|
5
|
+
|
6
|
+
@singleton_type: Types::t?
|
7
|
+
|
8
|
+
def initialize: (name: TypeName) -> void
|
9
|
+
|
10
|
+
def to_s: () -> String
|
11
|
+
|
12
|
+
def instance_type: (*Types::t) -> Types::ClassInstance
|
13
|
+
|
14
|
+
def instance_type?: (Types::t) -> bool
|
15
|
+
|
16
|
+
def singleton_type: () -> Types::ClassSingleton
|
17
|
+
|
18
|
+
def singleton_type?: (Types::t) -> bool
|
19
|
+
|
20
|
+
def self.define: (Symbol, ?namespace: Namespace) -> instance
|
21
|
+
end
|
22
|
+
|
23
|
+
BasicObject: Name
|
24
|
+
Object: Name
|
25
|
+
Kernel: Name
|
26
|
+
String: Name
|
27
|
+
Comparable: Name
|
28
|
+
Enumerable: Name
|
29
|
+
Class: Name
|
30
|
+
Module: Name
|
31
|
+
Array: Name
|
32
|
+
Hash: Name
|
33
|
+
Range: Name
|
34
|
+
Enumerator: Name
|
35
|
+
Set: Name
|
36
|
+
Symbol: Name
|
37
|
+
Integer: Name
|
38
|
+
Float: Name
|
39
|
+
Regexp: Name
|
40
|
+
TrueClass: Name
|
41
|
+
FalseClass: Name
|
42
|
+
Numeric: Name
|
43
|
+
end
|
44
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module RBS
|
2
|
+
class CLI
|
3
|
+
class ColoredIO
|
4
|
+
attr_reader stdout: CLI::_IO
|
5
|
+
def initialize: (stdout: CLI::_IO) -> void
|
6
|
+
def puts_green: (String) -> void
|
7
|
+
def puts_red: (String) -> void
|
8
|
+
def puts: (?String) -> void
|
9
|
+
|
10
|
+
private def can_display_colors?: () -> bool
|
11
|
+
private def are_colors_supported?: () -> bool
|
12
|
+
private def are_colors_disabled?: () -> bool
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
data/sig/cli/diff.rbs
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
module RBS
|
2
|
+
class CLI
|
3
|
+
class Diff
|
4
|
+
@format: String
|
5
|
+
@stdout: _IO
|
6
|
+
@stderr: _IO
|
7
|
+
@diff: RBS::Diff
|
8
|
+
|
9
|
+
def initialize: (
|
10
|
+
argv: Array[String],
|
11
|
+
library_options: RBS::CLI::LibraryOptions,
|
12
|
+
?stdout: _IO,
|
13
|
+
?stderr: _IO,
|
14
|
+
) -> void
|
15
|
+
|
16
|
+
def run: () -> void
|
17
|
+
def run_diff: () -> void
|
18
|
+
def run_markdown: () -> void
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
module RBS
|
2
|
+
class CLI
|
3
|
+
class Validate
|
4
|
+
class Errors
|
5
|
+
@limit: Integer?
|
6
|
+
@exit_error: boolish
|
7
|
+
@has_syntax_error: bool
|
8
|
+
@errors: Array[BaseError]
|
9
|
+
|
10
|
+
def initialize: (limit: Integer?, exit_error: boolish) -> void
|
11
|
+
|
12
|
+
def add: (BaseError) -> void
|
13
|
+
|
14
|
+
def finish: () -> void
|
15
|
+
|
16
|
+
private
|
17
|
+
|
18
|
+
def build_message: (BaseError) -> String
|
19
|
+
end
|
20
|
+
|
21
|
+
@env: Environment
|
22
|
+
@builder: RBS::DefinitionBuilder
|
23
|
+
@validator: RBS::Validator
|
24
|
+
@errors: Errors
|
25
|
+
|
26
|
+
def initialize: (args: Array[String], options: LibraryOptions) -> void
|
27
|
+
|
28
|
+
def run: () -> void
|
29
|
+
|
30
|
+
private
|
31
|
+
|
32
|
+
def validate_class_module_definition: () -> void
|
33
|
+
def validate_class_module_alias_definition: () -> void
|
34
|
+
def validate_interface: () -> void
|
35
|
+
def validate_constant: () -> void
|
36
|
+
def validate_global: () -> void
|
37
|
+
def validate_type_alias: () -> void
|
38
|
+
def no_self_type_validator: (::RBS::Types::t | ::RBS::MethodType type) -> void
|
39
|
+
def no_classish_type_validator: (::RBS::Types::t | ::RBS::MethodType type) -> void
|
40
|
+
def void_type_context_validator: (::RBS::Types::t | ::RBS::MethodType type, ?bool allowed_here) -> void
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|