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/sig/environment.rbs
ADDED
@@ -0,0 +1,279 @@
|
|
1
|
+
module RBS
|
2
|
+
class Environment
|
3
|
+
type module_decl = AST::Declarations::Class | AST::Declarations::Module
|
4
|
+
|
5
|
+
interface _ModuleOrClass
|
6
|
+
def name: () -> TypeName
|
7
|
+
|
8
|
+
def type_params: () -> Array[AST::TypeParam]
|
9
|
+
end
|
10
|
+
|
11
|
+
interface _NamedDecl
|
12
|
+
def name: () -> TypeName
|
13
|
+
end
|
14
|
+
|
15
|
+
module ContextUtil
|
16
|
+
def calculate_context: (Array[_NamedDecl]) -> Resolver::context
|
17
|
+
end
|
18
|
+
|
19
|
+
# Name of object, it's (multiple) declarations with the outer module declarations
|
20
|
+
#
|
21
|
+
class MultiEntry[M < _ModuleOrClass]
|
22
|
+
class D[M < _ModuleOrClass]
|
23
|
+
attr_reader decl: M
|
24
|
+
attr_reader outer: Array[module_decl]
|
25
|
+
|
26
|
+
def initialize: (decl: M, outer: Array[module_decl]) -> void
|
27
|
+
|
28
|
+
include ContextUtil
|
29
|
+
|
30
|
+
@context: Resolver::context
|
31
|
+
|
32
|
+
def context: () -> Resolver::context
|
33
|
+
end
|
34
|
+
|
35
|
+
attr_reader name: TypeName
|
36
|
+
attr_reader decls: Array[D[M]]
|
37
|
+
|
38
|
+
@primary: D[M]?
|
39
|
+
|
40
|
+
def initialize: (name: TypeName) -> void
|
41
|
+
|
42
|
+
def insert: (decl: M, outer: Array[module_decl]) -> void
|
43
|
+
|
44
|
+
def validate_type_params: () -> void
|
45
|
+
|
46
|
+
def compatible_params?: (Array[AST::TypeParam], Array[AST::TypeParam]) -> boolish
|
47
|
+
|
48
|
+
def type_params: () -> Array[AST::TypeParam]
|
49
|
+
|
50
|
+
def primary: () -> D[M]
|
51
|
+
end
|
52
|
+
|
53
|
+
class ModuleEntry < MultiEntry[AST::Declarations::Module]
|
54
|
+
def self_types: () -> Array[AST::Declarations::Module::Self]
|
55
|
+
end
|
56
|
+
|
57
|
+
class ClassEntry < MultiEntry[AST::Declarations::Class]
|
58
|
+
end
|
59
|
+
|
60
|
+
# Name of object, it's (single) declaration, and the outer module declarations
|
61
|
+
#
|
62
|
+
class SingleEntry[N, D]
|
63
|
+
attr_reader name: N
|
64
|
+
attr_reader decl: D
|
65
|
+
attr_reader outer: Array[module_decl]
|
66
|
+
|
67
|
+
def initialize: (name: N, decl: D, outer: Array[module_decl]) -> void
|
68
|
+
|
69
|
+
include ContextUtil
|
70
|
+
|
71
|
+
@context: Resolver::context
|
72
|
+
|
73
|
+
def context: () -> Resolver::context
|
74
|
+
end
|
75
|
+
|
76
|
+
class ModuleAliasEntry < SingleEntry[TypeName, AST::Declarations::ModuleAlias]
|
77
|
+
end
|
78
|
+
|
79
|
+
class ClassAliasEntry < SingleEntry[TypeName, AST::Declarations::ClassAlias]
|
80
|
+
end
|
81
|
+
|
82
|
+
class InterfaceEntry < SingleEntry[TypeName, AST::Declarations::Interface]
|
83
|
+
end
|
84
|
+
|
85
|
+
class TypeAliasEntry < SingleEntry[TypeName, AST::Declarations::TypeAlias]
|
86
|
+
end
|
87
|
+
|
88
|
+
class ConstantEntry < SingleEntry[TypeName, AST::Declarations::Constant]
|
89
|
+
end
|
90
|
+
|
91
|
+
class GlobalEntry < SingleEntry[Symbol, AST::Declarations::Global]
|
92
|
+
end
|
93
|
+
|
94
|
+
# Top level declarations
|
95
|
+
attr_reader declarations: Array[AST::Declarations::t]
|
96
|
+
|
97
|
+
# Class declarations
|
98
|
+
attr_reader class_decls: Hash[TypeName, ModuleEntry | ClassEntry]
|
99
|
+
|
100
|
+
attr_reader class_alias_decls: Hash[TypeName, ModuleAliasEntry | ClassAliasEntry]
|
101
|
+
|
102
|
+
# Interface declarations
|
103
|
+
attr_reader interface_decls: Hash[TypeName, InterfaceEntry]
|
104
|
+
|
105
|
+
# Type alias declarations
|
106
|
+
attr_reader type_alias_decls: Hash[TypeName, TypeAliasEntry]
|
107
|
+
|
108
|
+
# Constant declarations
|
109
|
+
attr_reader constant_decls: Hash[TypeName, ConstantEntry]
|
110
|
+
|
111
|
+
# Global declarations
|
112
|
+
attr_reader global_decls: Hash[Symbol, GlobalEntry]
|
113
|
+
|
114
|
+
# A hash from Buffer to it's contents
|
115
|
+
#
|
116
|
+
attr_reader signatures: Hash[Buffer, [Array[AST::Directives::t], Array[AST::Declarations::t]]]
|
117
|
+
|
118
|
+
def initialize: () -> void
|
119
|
+
|
120
|
+
def initialize_copy: (Environment) -> void
|
121
|
+
|
122
|
+
# Construct an environment from EnvironmentLoader
|
123
|
+
#
|
124
|
+
def self.from_loader: (EnvironmentLoader) -> Environment
|
125
|
+
|
126
|
+
def add_signature: (buffer: Buffer, directives: Array[AST::Directives::t], decls: Array[AST::Declarations::t]) -> void
|
127
|
+
|
128
|
+
# Insert a toplevel declaration into the environment
|
129
|
+
#
|
130
|
+
def <<: (AST::Declarations::t decl) -> self
|
131
|
+
|
132
|
+
# Insert a declaration into the environment
|
133
|
+
#
|
134
|
+
private def insert_decl: (AST::Declarations::t, outer: Array[module_decl], namespace: Namespace) -> void
|
135
|
+
|
136
|
+
# Resolve all type names in the environment to absolute type names.
|
137
|
+
# Relative type name will be left if absolute type name cannot be found.
|
138
|
+
#
|
139
|
+
# When `only` is given, it skips other _top-level_ declarations not included in the collection.
|
140
|
+
# This helps running resolution faster in the case of _partial updates_.
|
141
|
+
#
|
142
|
+
def resolve_type_names: (?only: Set[AST::Declarations::t]?) -> Environment
|
143
|
+
|
144
|
+
def resolve_signature: (Resolver::TypeNameResolver, UseMap::Table, Array[AST::Directives::t], Array[AST::Declarations::t], ?only: Set[AST::Declarations::t]?) -> [Array[AST::Directives::t], Array[AST::Declarations::t]]
|
145
|
+
|
146
|
+
def inspect: () -> String
|
147
|
+
|
148
|
+
def buffers: () -> Array[Buffer]
|
149
|
+
|
150
|
+
# Remove declarations and directives that are loaded from `buffers`
|
151
|
+
#
|
152
|
+
def unload: (Set[Buffer] buffers) -> Environment
|
153
|
+
|
154
|
+
# Returns true if an interface with the type name is defined
|
155
|
+
#
|
156
|
+
def interface_name?: (TypeName) -> bool
|
157
|
+
|
158
|
+
# Returns true if a type alias with the type name is defined
|
159
|
+
#
|
160
|
+
def type_alias_name?: (TypeName) -> bool
|
161
|
+
|
162
|
+
# Returns true if a module or class with the type name is defined
|
163
|
+
#
|
164
|
+
def module_name?: (TypeName) -> bool
|
165
|
+
|
166
|
+
# Returns true if the type name is defined
|
167
|
+
#
|
168
|
+
def type_name?: (TypeName) -> bool
|
169
|
+
|
170
|
+
# Returns if a constant of the name is defined
|
171
|
+
#
|
172
|
+
def constant_name?: (TypeName) -> bool
|
173
|
+
|
174
|
+
# Returns true if the type name is defined by constant declaration
|
175
|
+
#
|
176
|
+
def constant_decl?: (TypeName) -> bool
|
177
|
+
|
178
|
+
# Returns true if the type name is defined by class declaration
|
179
|
+
#
|
180
|
+
def class_decl?: (TypeName) -> bool
|
181
|
+
|
182
|
+
# Returns true if the type name is defined by module declaration
|
183
|
+
#
|
184
|
+
def module_decl?: (TypeName) -> bool
|
185
|
+
|
186
|
+
# Returns true if the type name is a module alias
|
187
|
+
#
|
188
|
+
def module_alias?: (TypeName) -> bool
|
189
|
+
|
190
|
+
# Returns true if the type name is a class alias
|
191
|
+
def class_alias?: (TypeName) -> bool
|
192
|
+
|
193
|
+
def class_entry: (TypeName) -> (ClassEntry | ClassAliasEntry | nil)
|
194
|
+
|
195
|
+
# Returns ClassEntry if the class definition is found, normalized in case of alias
|
196
|
+
#
|
197
|
+
def normalized_class_entry: (TypeName) -> ClassEntry?
|
198
|
+
|
199
|
+
def module_entry: (TypeName) -> (ModuleEntry | ModuleAliasEntry | nil)
|
200
|
+
|
201
|
+
# Returns ModuleEntry if the module definition is found, normalized in case of alias
|
202
|
+
#
|
203
|
+
def normalized_module_entry: (TypeName) -> ModuleEntry?
|
204
|
+
|
205
|
+
def constant_entry: (TypeName) -> (ClassEntry | ClassAliasEntry | ModuleEntry | ModuleAliasEntry | ConstantEntry | nil)
|
206
|
+
|
207
|
+
def module_class_entry: (TypeName) -> (ClassEntry | ClassAliasEntry | ModuleEntry | ModuleAliasEntry | nil)
|
208
|
+
|
209
|
+
def normalized_module_class_entry: (TypeName) -> (ClassEntry | ModuleEntry | nil)
|
210
|
+
|
211
|
+
@normalize_module_name_cache: Hash[TypeName, TypeName | false | nil]
|
212
|
+
|
213
|
+
# Returns the original module name that is defined with `module` declaration
|
214
|
+
#
|
215
|
+
# * Calls `#absolute!` for relative module names
|
216
|
+
# * Returns `nil` if the rhs name cannot be found
|
217
|
+
# * Returns `false` if the name is cyclic
|
218
|
+
#
|
219
|
+
def normalize_module_name?: (TypeName) -> (TypeName | nil | false)
|
220
|
+
|
221
|
+
# Returns the original module name that is defined with `module` declaration
|
222
|
+
#
|
223
|
+
# * Raises an error if given type name is not module
|
224
|
+
# * Calls `#absolute!` for relative module names
|
225
|
+
# * Returns the name itself if the name cannot be normalized to a class/module
|
226
|
+
#
|
227
|
+
def normalize_module_name: (TypeName) -> TypeName
|
228
|
+
|
229
|
+
# Returns a normalized module/class name or a type name with a normalized namespace
|
230
|
+
#
|
231
|
+
# * Calls `#absolute!` for relative module names
|
232
|
+
# * Returns `nil` if the typename cannot be found
|
233
|
+
# * Returns `false` if the name is cyclic
|
234
|
+
#
|
235
|
+
def normalize_type_name?: (TypeName) -> (TypeName | nil | false)
|
236
|
+
|
237
|
+
# Normalize the type name or raises an error
|
238
|
+
#
|
239
|
+
def normalize_type_name!: (TypeName) -> TypeName
|
240
|
+
|
241
|
+
# Returns a normalized module/class name or a type name with a normalized namespace
|
242
|
+
#
|
243
|
+
# * Calls `#absolute!` for relative module names
|
244
|
+
# * Returns the typename itself if the name cannot be normalized
|
245
|
+
#
|
246
|
+
def normalize_type_name: (TypeName) -> TypeName
|
247
|
+
|
248
|
+
# Returns `true` if given type name is normalized
|
249
|
+
#
|
250
|
+
def normalized_type_name?: (TypeName) -> bool
|
251
|
+
|
252
|
+
# Returns the given type name if it's normalized, or raises
|
253
|
+
#
|
254
|
+
def normalized_type_name!: (TypeName) -> TypeName
|
255
|
+
|
256
|
+
# Runs generics type params validation over each class definitions
|
257
|
+
def validate_type_params: () -> void
|
258
|
+
|
259
|
+
private
|
260
|
+
|
261
|
+
# Returns a context for inside given decls
|
262
|
+
#
|
263
|
+
def resolver_context: (*module_decl) -> Resolver::context
|
264
|
+
|
265
|
+
def append_context: (Resolver::context, module_decl) -> Resolver::context
|
266
|
+
|
267
|
+
def resolve_declaration: (Resolver::TypeNameResolver resolver, UseMap map, AST::Declarations::t decl, outer: Array[module_decl], prefix: Namespace) -> AST::Declarations::t
|
268
|
+
|
269
|
+
def resolve_member: (Resolver::TypeNameResolver, UseMap map, AST::Members::t, context: Resolver::context) -> AST::Members::t
|
270
|
+
|
271
|
+
def resolve_method_type: (Resolver::TypeNameResolver, UseMap map, RBS::MethodType, context: Resolver::context) -> RBS::MethodType
|
272
|
+
|
273
|
+
def resolve_type_params: (Resolver::TypeNameResolver resolver, UseMap map, Array[AST::TypeParam], context: Resolver::context) -> Array[AST::TypeParam]
|
274
|
+
|
275
|
+
def absolute_type: (Resolver::TypeNameResolver, UseMap map, Types::t, context: Resolver::context) -> Types::t
|
276
|
+
|
277
|
+
def absolute_type_name: (Resolver::TypeNameResolver, UseMap map, TypeName, context: Resolver::context) -> TypeName
|
278
|
+
end
|
279
|
+
end
|
@@ -0,0 +1,111 @@
|
|
1
|
+
module RBS
|
2
|
+
# EnvironmentLoader is an object to load RBS files from filesystem.
|
3
|
+
#
|
4
|
+
# Set up your configuration through repository and `#add` method.
|
5
|
+
#
|
6
|
+
# ```ruby
|
7
|
+
# # Set up the repository to load library RBSs from.
|
8
|
+
# repo = RBS::Repository.default
|
9
|
+
# repo.add(Pathname("vendor/rbs/gem-rbs"))
|
10
|
+
# repo.add(Pathname("vendor/rbs/internal-rbs"))
|
11
|
+
#
|
12
|
+
# loader = RBS::EnvironmentLoader.new(repository: repo)
|
13
|
+
#
|
14
|
+
# # Add libraries to load RBS files.
|
15
|
+
# loader.add(library: "minitest")
|
16
|
+
# loader.add(library: "rbs", version: "1.0.0")
|
17
|
+
#
|
18
|
+
# # Add dirs to load RBS files from.
|
19
|
+
# loader.add(path: Pathname("sig"))
|
20
|
+
#
|
21
|
+
# # Load RBSs into an environment.
|
22
|
+
# environment = RBS::Environment.new()
|
23
|
+
# loader.load(env: environment)
|
24
|
+
# ```
|
25
|
+
#
|
26
|
+
class EnvironmentLoader
|
27
|
+
class UnknownLibraryError < StandardError
|
28
|
+
attr_reader library: Library
|
29
|
+
|
30
|
+
def initialize: (lib: Library) -> void
|
31
|
+
end
|
32
|
+
|
33
|
+
class Library
|
34
|
+
attr_reader name: String
|
35
|
+
attr_reader version: String?
|
36
|
+
|
37
|
+
def initialize: (name: String, version: String?) -> void
|
38
|
+
end
|
39
|
+
|
40
|
+
include FileFinder
|
41
|
+
|
42
|
+
DEFAULT_CORE_ROOT: Pathname
|
43
|
+
|
44
|
+
attr_reader core_root: Pathname?
|
45
|
+
attr_reader repository: Repository
|
46
|
+
|
47
|
+
attr_reader libs: Set[Library]
|
48
|
+
attr_reader dirs: Array[Pathname]
|
49
|
+
|
50
|
+
# The source where the RBS comes from.
|
51
|
+
#
|
52
|
+
# `:core` means it is part of core library.
|
53
|
+
# `Library` means it is from library.
|
54
|
+
# `Pathname` means it is loaded from a directory.
|
55
|
+
#
|
56
|
+
type source = :core
|
57
|
+
| Library
|
58
|
+
| Pathname
|
59
|
+
|
60
|
+
# Accepts two optional keyword arguments.
|
61
|
+
#
|
62
|
+
# `core_root` is the path to the directory with RBSs for core classes.
|
63
|
+
# The default value is the core library included in RBS gem. (EnvironmentLoader::DEFAULT_CORE_ROOT)
|
64
|
+
# Passing `nil` means it skips loading core class definitions.
|
65
|
+
#
|
66
|
+
# `repository` is the repository for library classes.
|
67
|
+
# The default value is repository only with stdlib classes. (Repository.new)
|
68
|
+
#
|
69
|
+
def initialize: (?core_root: Pathname?, ?repository: Repository) -> void
|
70
|
+
|
71
|
+
# Add a path or library to load RBSs from.
|
72
|
+
#
|
73
|
+
# `path` can be a file or a directory.
|
74
|
+
# All `.rbs` files from the given directory will be loaded.
|
75
|
+
# Specifying a file will load the file regardless the extension of the file is.
|
76
|
+
#
|
77
|
+
# `library` can be a name of a gem.
|
78
|
+
# Specifying `nil` to `version` will load any version available.
|
79
|
+
# It first tries to load RBS files from gem with specified version.
|
80
|
+
# If RBS files cannot be found in the gem, it tries to load RBSs from repository.
|
81
|
+
#
|
82
|
+
def add: (path: Pathname) -> void
|
83
|
+
| (library: String, version: String?, ?resolve_dependencies: boolish) -> void
|
84
|
+
|
85
|
+
def resolve_dependencies: (library: String, version: String?) -> void
|
86
|
+
|
87
|
+
# Add repository path and libraries via rbs_collection.lock.yaml.
|
88
|
+
def add_collection: (Collection::Config::Lockfile lockfile) -> void
|
89
|
+
|
90
|
+
# This is helper function to test if RBS for a library is available or not.
|
91
|
+
#
|
92
|
+
def has_library?: (library: String, version: String?) -> bool
|
93
|
+
|
94
|
+
# Add all declarations to environment.
|
95
|
+
#
|
96
|
+
# Raises `UnknownLibraryError` if RBS cannot be loaded from a library.
|
97
|
+
#
|
98
|
+
# Returns an array of tuples of the declaration, path to the file, and the source.
|
99
|
+
#
|
100
|
+
def load: (env: Environment) -> Array[[AST::Declarations::t, Pathname, source]]
|
101
|
+
|
102
|
+
# Returns a pair of spec and path for a gem with RBS.
|
103
|
+
# Returns nil if the gem is not installed, or the gem doesn't provide RBS.
|
104
|
+
#
|
105
|
+
def self.gem_sig_path: (String name, String? version) -> [Gem::Specification, Pathname]?
|
106
|
+
|
107
|
+
def each_signature: () { (source, Pathname, Buffer, Array[AST::Declarations::t], Array[AST::Directives::t]) -> void } -> void
|
108
|
+
|
109
|
+
def each_dir: { (source, Pathname) -> void } -> void
|
110
|
+
end
|
111
|
+
end
|
@@ -0,0 +1,65 @@
|
|
1
|
+
module RBS
|
2
|
+
# EnvironmentWalker provides topological sort of class/module definitions.
|
3
|
+
#
|
4
|
+
# If a method, attribute, or ancestor in a class definition have a reference to another class, it is dependency.
|
5
|
+
#
|
6
|
+
# ```rb
|
7
|
+
# walker = EnvironmentWalker.new(env: env)
|
8
|
+
#
|
9
|
+
# walker.each_strongly_connected_component do |scc|
|
10
|
+
# # Yields an array of strongly connected components.
|
11
|
+
# end
|
12
|
+
# ```
|
13
|
+
#
|
14
|
+
# The `#only_ancestors!` method limits the dependency only to ancestors.
|
15
|
+
# Only super classes and included modules are dependencies with the option.
|
16
|
+
# This is useful to calculate the dependencies of class hierarchy.
|
17
|
+
#
|
18
|
+
# ```rb
|
19
|
+
# walker = EnvironmentWalker.new(env: env).only_ancestors!
|
20
|
+
#
|
21
|
+
# walker.each_strongly_connected_component do |scc|
|
22
|
+
# # Yields an array of strongly connected components.
|
23
|
+
# end
|
24
|
+
# ```
|
25
|
+
#
|
26
|
+
class EnvironmentWalker
|
27
|
+
class InstanceNode
|
28
|
+
attr_reader type_name: TypeName
|
29
|
+
def initialize: (type_name: TypeName) -> void
|
30
|
+
end
|
31
|
+
|
32
|
+
class SingletonNode
|
33
|
+
attr_reader type_name: TypeName
|
34
|
+
def initialize: (type_name: TypeName) -> void
|
35
|
+
end
|
36
|
+
|
37
|
+
class TypeNameNode
|
38
|
+
attr_reader type_name: TypeName
|
39
|
+
def initialize: (type_name: TypeName) -> void
|
40
|
+
end
|
41
|
+
|
42
|
+
attr_reader env: Environment
|
43
|
+
attr_reader only_ancestors: bool
|
44
|
+
attr_reader builder: DefinitionBuilder
|
45
|
+
|
46
|
+
def initialize: (env: Environment) -> void
|
47
|
+
|
48
|
+
def only_ancestors!: (?bool only) -> self
|
49
|
+
|
50
|
+
def only_ancestors?: () -> bool
|
51
|
+
|
52
|
+
type node = InstanceNode | SingletonNode | TypeNameNode
|
53
|
+
include TSort[node]
|
54
|
+
|
55
|
+
def tsort_each_node: () { (node) -> void } -> void
|
56
|
+
|
57
|
+
def tsort_each_child: (node) { (node) -> void } -> void
|
58
|
+
|
59
|
+
private
|
60
|
+
|
61
|
+
def each_type_name: (Types::t) { (TypeName) -> void } -> void
|
62
|
+
|
63
|
+
def each_type_node: (Types::t) { (node) -> void } -> void
|
64
|
+
end
|
65
|
+
end
|