rbs 4.1.0.pre.2-java
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/.clang-format +75 -0
- data/.clangd +2 -0
- data/.github/dependabot.yml +24 -0
- data/.github/workflows/bundle-update.yml +63 -0
- data/.github/workflows/c-check.yml +61 -0
- data/.github/workflows/comments.yml +37 -0
- data/.github/workflows/dependabot.yml +30 -0
- data/.github/workflows/jruby.yml +67 -0
- data/.github/workflows/milestone.yml +83 -0
- data/.github/workflows/ruby.yml +158 -0
- data/.github/workflows/rust.yml +184 -0
- data/.github/workflows/truffleruby.yml +54 -0
- data/.github/workflows/typecheck.yml +39 -0
- data/.github/workflows/wasm.yml +53 -0
- data/.github/workflows/windows.yml +49 -0
- data/.gitignore +38 -0
- data/.rubocop.yml +72 -0
- data/BSDL +22 -0
- data/CHANGELOG.md +2292 -0
- data/COPYING +56 -0
- data/README.md +240 -0
- data/Rakefile +869 -0
- data/Steepfile +53 -0
- data/config.yml +913 -0
- data/core/array.rbs +4142 -0
- data/core/basic_object.rbs +376 -0
- data/core/binding.rbs +148 -0
- data/core/builtin.rbs +278 -0
- data/core/class.rbs +223 -0
- data/core/comparable.rbs +192 -0
- data/core/complex.rbs +812 -0
- data/core/constants.rbs +96 -0
- data/core/data.rbs +415 -0
- data/core/dir.rbs +993 -0
- data/core/encoding.rbs +1368 -0
- data/core/enumerable.rbs +2506 -0
- data/core/enumerator/arithmetic_sequence.rbs +70 -0
- data/core/enumerator/product.rbs +92 -0
- data/core/enumerator.rbs +705 -0
- data/core/env.rbs +6 -0
- data/core/errno.rbs +682 -0
- data/core/errors.rbs +789 -0
- data/core/exception.rbs +485 -0
- data/core/false_class.rbs +82 -0
- data/core/fiber.rbs +570 -0
- data/core/fiber_error.rbs +11 -0
- data/core/file.rbs +2045 -0
- data/core/file_constants.rbs +463 -0
- data/core/file_stat.rbs +534 -0
- data/core/file_test.rbs +331 -0
- data/core/float.rbs +1316 -0
- data/core/gc.rbs +788 -0
- data/core/global_variables.rbs +184 -0
- data/core/hash.rbs +2183 -0
- data/core/integer.rbs +1374 -0
- data/core/io/buffer.rbs +995 -0
- data/core/io/wait.rbs +48 -0
- data/core/io.rbs +3472 -0
- data/core/kernel.rbs +3172 -0
- data/core/marshal.rbs +207 -0
- data/core/match_data.rbs +637 -0
- data/core/math.rbs +770 -0
- data/core/method.rbs +422 -0
- data/core/module.rbs +1856 -0
- data/core/nil_class.rbs +210 -0
- data/core/numeric.rbs +832 -0
- data/core/object.rbs +108 -0
- data/core/object_space/weak_key_map.rbs +166 -0
- data/core/object_space.rbs +197 -0
- data/core/pathname.rbs +1322 -0
- data/core/proc.rbs +905 -0
- data/core/process.rbs +2316 -0
- data/core/ractor.rbs +924 -0
- data/core/random.rbs +255 -0
- data/core/range.rbs +1209 -0
- data/core/rational.rbs +502 -0
- data/core/rb_config.rbs +88 -0
- data/core/rbs/ops.rbs +154 -0
- data/core/rbs/unnamed/argf.rbs +1236 -0
- data/core/rbs/unnamed/env_class.rbs +1214 -0
- data/core/rbs/unnamed/main_class.rbs +123 -0
- data/core/rbs/unnamed/random.rbs +186 -0
- data/core/refinement.rbs +59 -0
- data/core/regexp.rbs +1974 -0
- data/core/ruby.rbs +53 -0
- data/core/ruby_vm.rbs +809 -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 +109 -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 +1105 -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 +293 -0
- data/core/set.rbs +751 -0
- data/core/signal.rbs +110 -0
- data/core/string.rbs +5532 -0
- data/core/struct.rbs +668 -0
- data/core/symbol.rbs +482 -0
- data/core/thread.rbs +1826 -0
- data/core/thread_group.rbs +79 -0
- data/core/time.rbs +1793 -0
- data/core/trace_point.rbs +483 -0
- data/core/true_class.rbs +98 -0
- data/core/unbound_method.rbs +337 -0
- data/core/warning.rbs +87 -0
- data/docs/CONTRIBUTING.md +107 -0
- data/docs/aliases.md +79 -0
- data/docs/architecture.md +110 -0
- data/docs/collection.md +192 -0
- data/docs/config.md +171 -0
- data/docs/data_and_struct.md +86 -0
- data/docs/encoding.md +56 -0
- data/docs/gem.md +56 -0
- data/docs/inline.md +634 -0
- data/docs/rbs_by_example.md +309 -0
- data/docs/repo.md +125 -0
- data/docs/rust.md +96 -0
- data/docs/sigs.md +167 -0
- data/docs/stdlib.md +147 -0
- data/docs/syntax.md +940 -0
- data/docs/tools.md +17 -0
- data/docs/type_fingerprint.md +21 -0
- data/docs/wasm_serialization.md +80 -0
- data/exe/rbs +7 -0
- data/ext/rbs_extension/ast_translation.c +1855 -0
- data/ext/rbs_extension/ast_translation.h +41 -0
- data/ext/rbs_extension/class_constants.c +187 -0
- data/ext/rbs_extension/class_constants.h +104 -0
- data/ext/rbs_extension/compat.h +10 -0
- data/ext/rbs_extension/extconf.rb +40 -0
- data/ext/rbs_extension/legacy_location.c +294 -0
- data/ext/rbs_extension/legacy_location.h +82 -0
- data/ext/rbs_extension/main.c +613 -0
- data/ext/rbs_extension/rbs_extension.h +16 -0
- data/ext/rbs_extension/rbs_string_bridging.c +9 -0
- data/ext/rbs_extension/rbs_string_bridging.h +24 -0
- data/goodcheck.yml +91 -0
- data/include/rbs/ast.h +1047 -0
- data/include/rbs/defines.h +99 -0
- data/include/rbs/lexer.h +207 -0
- data/include/rbs/location.h +40 -0
- data/include/rbs/parser.h +153 -0
- data/include/rbs/serialize.h +39 -0
- data/include/rbs/string.h +47 -0
- data/include/rbs/util/rbs_allocator.h +59 -0
- data/include/rbs/util/rbs_assert.h +20 -0
- data/include/rbs/util/rbs_buffer.h +83 -0
- data/include/rbs/util/rbs_constant_pool.h +155 -0
- data/include/rbs/util/rbs_encoding.h +282 -0
- data/include/rbs/util/rbs_unescape.h +24 -0
- data/include/rbs.h +14 -0
- data/lib/rbs/ancestor_graph.rb +92 -0
- data/lib/rbs/annotate/annotations.rb +199 -0
- data/lib/rbs/annotate/formatter.rb +82 -0
- data/lib/rbs/annotate/rdoc_annotator.rb +398 -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 +472 -0
- data/lib/rbs/ast/directives.rb +49 -0
- data/lib/rbs/ast/members.rb +451 -0
- data/lib/rbs/ast/ruby/annotations.rb +451 -0
- data/lib/rbs/ast/ruby/comment_block.rb +247 -0
- data/lib/rbs/ast/ruby/declarations.rb +291 -0
- data/lib/rbs/ast/ruby/helpers/constant_helper.rb +28 -0
- data/lib/rbs/ast/ruby/helpers/location_helper.rb +15 -0
- data/lib/rbs/ast/ruby/members.rb +762 -0
- data/lib/rbs/ast/type_param.rb +235 -0
- data/lib/rbs/ast/visitor.rb +137 -0
- data/lib/rbs/buffer.rb +189 -0
- data/lib/rbs/builtin_names.rb +58 -0
- data/lib/rbs/cli/colored_io.rb +48 -0
- data/lib/rbs/cli/diff.rb +84 -0
- data/lib/rbs/cli/validate.rb +294 -0
- data/lib/rbs/cli.rb +1253 -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 +269 -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 +265 -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 +415 -0
- data/lib/rbs/definition_builder/ancestor_builder.rb +678 -0
- data/lib/rbs/definition_builder/method_builder.rb +295 -0
- data/lib/rbs/definition_builder.rb +1054 -0
- data/lib/rbs/diff.rb +131 -0
- data/lib/rbs/environment/class_entry.rb +69 -0
- data/lib/rbs/environment/module_entry.rb +66 -0
- data/lib/rbs/environment/use_map.rb +77 -0
- data/lib/rbs/environment.rb +1028 -0
- data/lib/rbs/environment_loader.rb +167 -0
- data/lib/rbs/environment_walker.rb +155 -0
- data/lib/rbs/errors.rb +634 -0
- data/lib/rbs/factory.rb +18 -0
- data/lib/rbs/file_finder.rb +28 -0
- data/lib/rbs/inline_parser/comment_association.rb +117 -0
- data/lib/rbs/inline_parser.rb +568 -0
- data/lib/rbs/location_aux.rb +170 -0
- data/lib/rbs/locator.rb +247 -0
- data/lib/rbs/method_type.rb +145 -0
- data/lib/rbs/namespace.rb +154 -0
- data/lib/rbs/parser/lex_result.rb +15 -0
- data/lib/rbs/parser/token.rb +23 -0
- data/lib/rbs/parser_aux.rb +142 -0
- data/lib/rbs/prototype/helpers.rb +197 -0
- data/lib/rbs/prototype/node_usage.rb +99 -0
- data/lib/rbs/prototype/rb.rb +816 -0
- data/lib/rbs/prototype/rbi.rb +625 -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 +680 -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 +167 -0
- data/lib/rbs/rewriter.rb +70 -0
- data/lib/rbs/sorter.rb +198 -0
- data/lib/rbs/source.rb +99 -0
- data/lib/rbs/substitution.rb +83 -0
- data/lib/rbs/subtractor.rb +204 -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 +457 -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 +122 -0
- data/lib/rbs/types.rb +1604 -0
- data/lib/rbs/unit_test/convertibles.rb +177 -0
- data/lib/rbs/unit_test/spy.rb +138 -0
- data/lib/rbs/unit_test/type_assertions.rb +383 -0
- data/lib/rbs/unit_test/with_aliases.rb +145 -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/wasm/deserializer.rb +213 -0
- data/lib/rbs/wasm/jars/asm-analysis.jar +0 -0
- data/lib/rbs/wasm/jars/asm-commons.jar +0 -0
- data/lib/rbs/wasm/jars/asm-tree.jar +0 -0
- data/lib/rbs/wasm/jars/asm-util.jar +0 -0
- data/lib/rbs/wasm/jars/asm.jar +0 -0
- data/lib/rbs/wasm/jars/compiler.jar +0 -0
- data/lib/rbs/wasm/jars/log.jar +0 -0
- data/lib/rbs/wasm/jars/runtime.jar +0 -0
- data/lib/rbs/wasm/jars/wasi.jar +0 -0
- data/lib/rbs/wasm/jars/wasm.jar +0 -0
- data/lib/rbs/wasm/location.rb +61 -0
- data/lib/rbs/wasm/parser.rb +137 -0
- data/lib/rbs/wasm/rbs_parser.wasm +0 -0
- data/lib/rbs/wasm/runtime.rb +217 -0
- data/lib/rbs/wasm/serialization_schema.rb +110 -0
- data/lib/rbs/writer.rb +424 -0
- data/lib/rbs.rb +117 -0
- data/lib/rdoc/discover.rb +20 -0
- data/lib/rdoc_plugin/parser.rb +163 -0
- data/rbs.gemspec +68 -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 +52 -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 +85 -0
- data/sig/annotate/rdoc_source.rbs +32 -0
- data/sig/annotation.rbs +27 -0
- data/sig/ast/ruby/annotations.rbs +470 -0
- data/sig/ast/ruby/comment_block.rbs +127 -0
- data/sig/ast/ruby/declarations.rbs +158 -0
- data/sig/ast/ruby/helpers/constant_helper.rbs +11 -0
- data/sig/ast/ruby/helpers/location_helper.rbs +15 -0
- data/sig/ast/ruby/members.rbs +198 -0
- data/sig/buffer.rbs +108 -0
- data/sig/builtin_names.rbs +44 -0
- data/sig/cli/colored_io.rbs +15 -0
- data/sig/cli/diff.rbs +15 -0
- data/sig/cli/validate.rbs +47 -0
- data/sig/cli.rbs +89 -0
- data/sig/collection/cleaner.rbs +13 -0
- data/sig/collection/config/lockfile.rbs +74 -0
- data/sig/collection/config/lockfile_generator.rbs +68 -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 +274 -0
- data/sig/definition.rbs +232 -0
- data/sig/definition_builder.rbs +181 -0
- data/sig/diff.rbs +28 -0
- data/sig/directives.rbs +77 -0
- data/sig/environment/class_entry.rbs +50 -0
- data/sig/environment/module_entry.rbs +50 -0
- data/sig/environment.rbs +286 -0
- data/sig/environment_loader.rbs +111 -0
- data/sig/environment_walker.rbs +65 -0
- data/sig/errors.rbs +408 -0
- data/sig/factory.rbs +5 -0
- data/sig/file_finder.rbs +28 -0
- data/sig/inline_parser/comment_association.rbs +71 -0
- data/sig/inline_parser.rbs +126 -0
- data/sig/location.rbs +135 -0
- data/sig/locator.rbs +56 -0
- data/sig/manifest.yaml +5 -0
- data/sig/members.rbs +258 -0
- data/sig/method_builder.rbs +89 -0
- data/sig/method_types.rbs +58 -0
- data/sig/namespace.rbs +161 -0
- data/sig/parser.rbs +164 -0
- data/sig/prototype/helpers.rbs +29 -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 +61 -0
- data/sig/rewriter.rbs +45 -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/source.rbs +48 -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 +115 -0
- data/sig/typename.rbs +89 -0
- data/sig/types.rbs +578 -0
- data/sig/unit_test/convertibles.rbs +154 -0
- data/sig/unit_test/spy.rbs +22 -0
- data/sig/unit_test/type_assertions.rbs +211 -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/wasm/deserializer.rbs +66 -0
- data/sig/wasm/serialization_schema.rbs +13 -0
- data/sig/writer.rbs +127 -0
- data/src/ast.c +1628 -0
- data/src/lexer.c +3217 -0
- data/src/lexer.re +155 -0
- data/src/lexstate.c +217 -0
- data/src/location.c +31 -0
- data/src/parser.c +4255 -0
- data/src/serialize.c +958 -0
- data/src/string.c +41 -0
- data/src/util/rbs_allocator.c +162 -0
- data/src/util/rbs_assert.c +19 -0
- data/src/util/rbs_buffer.c +54 -0
- data/src/util/rbs_constant_pool.c +268 -0
- data/src/util/rbs_encoding.c +21308 -0
- data/src/util/rbs_unescape.c +167 -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 +1647 -0
- data/stdlib/bigdecimal-math/0/big_math.rbs +280 -0
- data/stdlib/bigdecimal-math/0/manifest.yaml +2 -0
- data/stdlib/cgi/0/core.rbs +911 -0
- data/stdlib/cgi/0/manifest.yaml +4 -0
- data/stdlib/cgi-escape/0/escape.rbs +171 -0
- data/stdlib/coverage/0/coverage.rbs +266 -0
- data/stdlib/csv/0/csv.rbs +3776 -0
- data/stdlib/csv/0/manifest.yaml +3 -0
- data/stdlib/date/0/date.rbs +1598 -0
- data/stdlib/date/0/date_time.rbs +617 -0
- data/stdlib/date/0/time.rbs +26 -0
- data/stdlib/dbm/0/dbm.rbs +421 -0
- data/stdlib/delegate/0/delegator.rbs +187 -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 +344 -0
- data/stdlib/digest/0/digest.rbs +687 -0
- data/stdlib/erb/0/erb.rbs +933 -0
- data/stdlib/etc/0/etc.rbs +884 -0
- data/stdlib/fileutils/0/fileutils.rbs +1753 -0
- data/stdlib/find/0/find.rbs +49 -0
- data/stdlib/forwardable/0/forwardable.rbs +271 -0
- data/stdlib/io-console/0/io-console.rbs +414 -0
- data/stdlib/ipaddr/0/ipaddr.rbs +436 -0
- data/stdlib/json/0/json.rbs +1963 -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 +5580 -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 +470 -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 +433 -0
- data/stdlib/open3/0/open3.rbs +606 -0
- data/stdlib/openssl/0/manifest.yaml +3 -0
- data/stdlib/openssl/0/openssl.rbs +12231 -0
- data/stdlib/optparse/0/optparse.rbs +1734 -0
- data/stdlib/pathname/0/pathname.rbs +36 -0
- data/stdlib/pp/0/manifest.yaml +2 -0
- data/stdlib/pp/0/pp.rbs +301 -0
- data/stdlib/prettyprint/0/prettyprint.rbs +383 -0
- data/stdlib/pstore/0/pstore.rbs +608 -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 +455 -0
- data/stdlib/psych/0/store.rbs +57 -0
- data/stdlib/pty/0/pty.rbs +240 -0
- data/stdlib/random-formatter/0/random-formatter.rbs +277 -0
- data/stdlib/rdoc/0/code_object.rbs +52 -0
- data/stdlib/rdoc/0/comment.rbs +61 -0
- data/stdlib/rdoc/0/context.rbs +153 -0
- data/stdlib/rdoc/0/markup.rbs +117 -0
- data/stdlib/rdoc/0/options.rbs +76 -0
- data/stdlib/rdoc/0/parser.rbs +56 -0
- data/stdlib/rdoc/0/rdoc.rbs +393 -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 +1787 -0
- data/stdlib/ripper/0/ripper.rbs +1654 -0
- data/stdlib/securerandom/0/manifest.yaml +2 -0
- data/stdlib/securerandom/0/securerandom.rbs +49 -0
- data/stdlib/shellwords/0/shellwords.rbs +229 -0
- data/stdlib/singleton/0/singleton.rbs +134 -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 +94 -0
- data/stdlib/socket/0/socket.rbs +4170 -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 +87 -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 +1681 -0
- data/stdlib/strscan/0/string_scanner.rbs +1648 -0
- data/stdlib/tempfile/0/tempfile.rbs +483 -0
- data/stdlib/time/0/time.rbs +434 -0
- data/stdlib/timeout/0/timeout.rbs +137 -0
- data/stdlib/tmpdir/0/tmpdir.rbs +69 -0
- data/stdlib/tsort/0/cyclic.rbs +8 -0
- data/stdlib/tsort/0/interfaces.rbs +20 -0
- data/stdlib/tsort/0/tsort.rbs +410 -0
- data/stdlib/uri/0/common.rbs +621 -0
- data/stdlib/uri/0/file.rbs +118 -0
- data/stdlib/uri/0/ftp.rbs +13 -0
- data/stdlib/uri/0/generic.rbs +1116 -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 +211 -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 +168 -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 +201 -0
- data/wasm/README.md +59 -0
- data/wasm/rbs_wasm.c +411 -0
- metadata +660 -0
|
@@ -0,0 +1,85 @@
|
|
|
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) -> void
|
|
12
|
+
| %a{deprecated: it preserves the format by default} (Pathname, preserve: bool) -> void
|
|
13
|
+
|
|
14
|
+
def annotate_decls: (Array[AST::Declarations::t], Rewriter, ?outer: Array[Namespace]) -> void
|
|
15
|
+
|
|
16
|
+
interface _PathTester
|
|
17
|
+
def test_path: (String) -> bool
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
interface _WithRDocComment
|
|
21
|
+
def comment: () -> (RDoc::Comment | String)
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def each_part: (Array[Object & _WithRDocComment], tester: _PathTester) { ([RDoc::Markup::Document, Object & _WithRDocComment]) -> void } -> void
|
|
25
|
+
| (Array[Object & _WithRDocComment], tester: _PathTester) -> Enumerator[[RDoc::Markup::Document, Object & _WithRDocComment], void]
|
|
26
|
+
|
|
27
|
+
def join_docs: (Array[String?], ?separator: String) -> String?
|
|
28
|
+
|
|
29
|
+
def doc_for_class: (TypeName, tester: _PathTester) -> String?
|
|
30
|
+
|
|
31
|
+
# Returns the formatted document of given method.
|
|
32
|
+
#
|
|
33
|
+
# Expands attribute documents, or alias documents if needed.
|
|
34
|
+
#
|
|
35
|
+
def doc_for_method: (TypeName, instance_method: Symbol, tester: _PathTester) -> String?
|
|
36
|
+
| (TypeName, singleton_method: Symbol, tester: _PathTester) -> String?
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
def doc_for_method0: (TypeName, instance_method: Symbol, tester: _PathTester) -> String?
|
|
40
|
+
| (TypeName, singleton_method: Symbol, tester: _PathTester) -> String?
|
|
41
|
+
|
|
42
|
+
# Having `require: nil` means any attribute is okay.
|
|
43
|
+
# Having `require: "R"` means _read attr_ is required.
|
|
44
|
+
# Having `require: "W"` means write attr_ is required.
|
|
45
|
+
#
|
|
46
|
+
def doc_for_attribute: (TypeName, Symbol, singleton: bool, ?require: nil | "R" | "W", tester: _PathTester) -> String?
|
|
47
|
+
|
|
48
|
+
def doc_for_alias: (TypeName, name: Symbol, singleton: bool, tester: _PathTester) -> String?
|
|
49
|
+
|
|
50
|
+
def doc_for_constant: (TypeName, tester: _PathTester) -> String?
|
|
51
|
+
|
|
52
|
+
def resolve_doc_source: (Annotations::Copy?, tester: _PathTester) { () -> String? } -> String?
|
|
53
|
+
|
|
54
|
+
def annotate_class: (AST::Declarations::Class | AST::Declarations::Module, Rewriter, outer: Array[Namespace]) -> void
|
|
55
|
+
|
|
56
|
+
def annotate_constant: (AST::Declarations::Constant, Rewriter, outer: Array[Namespace]) -> void
|
|
57
|
+
|
|
58
|
+
def annotate_method: (TypeName, AST::Members::MethodDefinition, Rewriter) -> void
|
|
59
|
+
|
|
60
|
+
def annotate_alias: (TypeName, AST::Members::Alias, Rewriter) -> void
|
|
61
|
+
|
|
62
|
+
def annotate_attribute: (TypeName, AST::Members::AttrReader | AST::Members::AttrWriter | AST::Members::AttrAccessor, Rewriter) -> void
|
|
63
|
+
|
|
64
|
+
def annotations: (_Annotated) -> Annotations
|
|
65
|
+
|
|
66
|
+
interface _Annotated
|
|
67
|
+
def annotations: -> Array[AST::Annotation]
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
# - If a string is given as `comment`, the content is attached to the object as a comment.
|
|
71
|
+
# - If empty string is given as `comment`, it deletes the original comment.
|
|
72
|
+
# - If `nil` is given as `comment`, it keeps the original comment.
|
|
73
|
+
#
|
|
74
|
+
def replace_comment: (_Commented, String?, Rewriter) -> void
|
|
75
|
+
|
|
76
|
+
interface _Commented
|
|
77
|
+
%a{pure} def comment: () -> AST::Comment?
|
|
78
|
+
%a{pure} def location: () -> Location[untyped, untyped]?
|
|
79
|
+
def annotations: () -> Array[AST::Annotation]
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
def resolve_name: (TypeName, outer: Array[Namespace]) -> TypeName
|
|
83
|
+
end
|
|
84
|
+
end
|
|
85
|
+
end
|
|
@@ -0,0 +1,32 @@
|
|
|
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
|
+
|
|
29
|
+
def class_docs: (TypeName) -> Array[::RDoc::Markup::Document | ::RDoc::Comment | ::String]?
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
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
|
|
@@ -0,0 +1,470 @@
|
|
|
1
|
+
module RBS
|
|
2
|
+
module AST
|
|
3
|
+
module Ruby
|
|
4
|
+
module Annotations
|
|
5
|
+
type leading_annotation = ColonMethodTypeAnnotation
|
|
6
|
+
| MethodTypesAnnotation
|
|
7
|
+
| SkipAnnotation
|
|
8
|
+
| ReturnTypeAnnotation
|
|
9
|
+
| InstanceVariableAnnotation
|
|
10
|
+
| ModuleSelfAnnotation
|
|
11
|
+
| ParamTypeAnnotation
|
|
12
|
+
| SplatParamTypeAnnotation
|
|
13
|
+
| DoubleSplatParamTypeAnnotation
|
|
14
|
+
| BlockParamTypeAnnotation
|
|
15
|
+
|
|
16
|
+
type trailing_annotation = NodeTypeAssertion
|
|
17
|
+
| TypeApplicationAnnotation
|
|
18
|
+
| ClassAliasAnnotation
|
|
19
|
+
| ModuleAliasAnnotation
|
|
20
|
+
|
|
21
|
+
type t = leading_annotation | trailing_annotation
|
|
22
|
+
|
|
23
|
+
class Base
|
|
24
|
+
# Location that covers all of the annotation
|
|
25
|
+
#
|
|
26
|
+
attr_reader location: Location
|
|
27
|
+
|
|
28
|
+
# Location of `@rbs`, `@rbs!`, or `:` prefix
|
|
29
|
+
#
|
|
30
|
+
attr_reader prefix_location: Location
|
|
31
|
+
|
|
32
|
+
def initialize: (Location location, Location prefix_location) -> void
|
|
33
|
+
|
|
34
|
+
def buffer: () -> Buffer
|
|
35
|
+
|
|
36
|
+
# Returns the type fingerprint for this annotation
|
|
37
|
+
def type_fingerprint: () -> untyped
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
# `: TYPE` annotation attached to nodes
|
|
41
|
+
#
|
|
42
|
+
class NodeTypeAssertion < Base
|
|
43
|
+
attr_reader type: Types::t
|
|
44
|
+
|
|
45
|
+
def initialize: (location: Location, prefix_location: Location, type: Types::t) -> void
|
|
46
|
+
|
|
47
|
+
def map_type_name: () { (TypeName) -> TypeName } -> self
|
|
48
|
+
|
|
49
|
+
def type_fingerprint: () -> untyped
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
class AliasAnnotation < Base
|
|
53
|
+
attr_reader keyword_location: Location
|
|
54
|
+
|
|
55
|
+
attr_reader type_name_location: Location?
|
|
56
|
+
|
|
57
|
+
# The name of the module that will be the target of the alias
|
|
58
|
+
#
|
|
59
|
+
# - `nil` if the module/class name is unspecified
|
|
60
|
+
# - `TypeName` object if the module/class name is specified
|
|
61
|
+
#
|
|
62
|
+
attr_reader type_name: TypeName?
|
|
63
|
+
|
|
64
|
+
def initialize: (location: Location, prefix_location: Location, keyword_location: Location, type_name: TypeName?, type_name_location: Location?) -> void
|
|
65
|
+
|
|
66
|
+
def map_type_name: () { (TypeName) -> TypeName } -> self
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
# `: class-alias` annotation
|
|
70
|
+
#
|
|
71
|
+
# ```
|
|
72
|
+
# : class-alias Foo::Bar
|
|
73
|
+
# ^ -- prefix_location
|
|
74
|
+
# ^^^^^^^^^^^^ -- keyword_location
|
|
75
|
+
# ^^^^^^^^ -- type_name_location
|
|
76
|
+
# ```
|
|
77
|
+
#
|
|
78
|
+
class ClassAliasAnnotation < AliasAnnotation
|
|
79
|
+
def type_fingerprint: () -> untyped
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
# `: module-alias` annotation
|
|
83
|
+
#
|
|
84
|
+
# ```
|
|
85
|
+
# : module-alias Foo::Bar
|
|
86
|
+
# ^ -- prefix_location
|
|
87
|
+
# ^^^^^^^^^^^^ -- keyword_location
|
|
88
|
+
# ^^^^^^^^ -- type_name_location
|
|
89
|
+
# ```
|
|
90
|
+
#
|
|
91
|
+
class ModuleAliasAnnotation < AliasAnnotation
|
|
92
|
+
def type_fingerprint: () -> untyped
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
# `: METHOD-TYPE` annotation in leading comments
|
|
96
|
+
#
|
|
97
|
+
class ColonMethodTypeAnnotation < Base
|
|
98
|
+
attr_reader annotations: Array[AST::Annotation]
|
|
99
|
+
|
|
100
|
+
attr_reader method_type: MethodType
|
|
101
|
+
|
|
102
|
+
def initialize: (location: Location, prefix_location: Location, annotations: Array[AST::Annotation], method_type: MethodType) -> void
|
|
103
|
+
|
|
104
|
+
def map_type_name: () { (TypeName) -> TypeName } -> self
|
|
105
|
+
|
|
106
|
+
def type_fingerprint: () -> untyped
|
|
107
|
+
end
|
|
108
|
+
|
|
109
|
+
# `@rbs METHOD-TYPEs` annotation in leading comments
|
|
110
|
+
#
|
|
111
|
+
# ```
|
|
112
|
+
# @rbs () -> void | %a{foo} () -> String | ...
|
|
113
|
+
# ^^^^ -- prefix_location
|
|
114
|
+
# ^ -- vertical_bar_locations[0]
|
|
115
|
+
# ^ -- vertical_bar_locations[1]
|
|
116
|
+
# ^^^ -- dot3_location
|
|
117
|
+
# ```
|
|
118
|
+
class MethodTypesAnnotation < Base
|
|
119
|
+
class Overload = AST::Members::MethodDefinition::Overload
|
|
120
|
+
|
|
121
|
+
attr_reader overloads: Array[Overload]
|
|
122
|
+
|
|
123
|
+
attr_reader vertical_bar_locations: Array[Location]
|
|
124
|
+
|
|
125
|
+
attr_reader dot3_location: Location?
|
|
126
|
+
|
|
127
|
+
def initialize: (location: Location, prefix_location: Location, overloads: Array[Overload], vertical_bar_locations: Array[Location], dot3_location: Location?) -> void
|
|
128
|
+
|
|
129
|
+
def map_type_name: () { (TypeName) -> TypeName } -> self
|
|
130
|
+
|
|
131
|
+
def type_fingerprint: () -> untyped
|
|
132
|
+
end
|
|
133
|
+
|
|
134
|
+
# `@rbs skip -- comment` annotation in leading comments
|
|
135
|
+
#
|
|
136
|
+
class SkipAnnotation < Base
|
|
137
|
+
attr_reader skip_location: Location
|
|
138
|
+
attr_reader comment_location: Location?
|
|
139
|
+
|
|
140
|
+
def initialize: (location: Location, prefix_location: Location, skip_location: Location, comment_location: Location?) -> void
|
|
141
|
+
|
|
142
|
+
def type_fingerprint: () -> untyped
|
|
143
|
+
end
|
|
144
|
+
|
|
145
|
+
# `@rbs return: T -- comment` annotation in leading comments
|
|
146
|
+
#
|
|
147
|
+
# ```
|
|
148
|
+
# @rbs return: String -- Returns a string
|
|
149
|
+
# ^^^ -- prefix_location
|
|
150
|
+
# ^^^^^^ -- return_location
|
|
151
|
+
# ^ -- colon_location
|
|
152
|
+
# ^^^^^^^^^^^^^^^^^^^ -- comment
|
|
153
|
+
# ```
|
|
154
|
+
class ReturnTypeAnnotation < Base
|
|
155
|
+
attr_reader return_location: Location
|
|
156
|
+
|
|
157
|
+
attr_reader colon_location: Location
|
|
158
|
+
|
|
159
|
+
attr_reader return_type: Types::t
|
|
160
|
+
|
|
161
|
+
attr_reader comment_location: Location?
|
|
162
|
+
|
|
163
|
+
def initialize: (
|
|
164
|
+
location: Location,
|
|
165
|
+
prefix_location: Location,
|
|
166
|
+
return_location: Location,
|
|
167
|
+
colon_location: Location,
|
|
168
|
+
return_type: Types::t,
|
|
169
|
+
comment_location: Location?,
|
|
170
|
+
) -> void
|
|
171
|
+
|
|
172
|
+
def map_type_name: () { (TypeName) -> TypeName } -> self
|
|
173
|
+
|
|
174
|
+
def type_fingerprint: () -> untyped
|
|
175
|
+
end
|
|
176
|
+
|
|
177
|
+
# `[T1, T2, ...]` annotation in trailing comments
|
|
178
|
+
#
|
|
179
|
+
# ```
|
|
180
|
+
# #[String, Integer]
|
|
181
|
+
# ^ -- prefix_location
|
|
182
|
+
# ^ -- comma_locations[0]
|
|
183
|
+
# ^ -- close_bracket_location
|
|
184
|
+
# ```
|
|
185
|
+
#
|
|
186
|
+
class TypeApplicationAnnotation < Base
|
|
187
|
+
attr_reader type_args: Array[Types::t]
|
|
188
|
+
|
|
189
|
+
attr_reader close_bracket_location: Location
|
|
190
|
+
|
|
191
|
+
attr_reader comma_locations: Array[Location]
|
|
192
|
+
|
|
193
|
+
def initialize: (
|
|
194
|
+
location: Location,
|
|
195
|
+
prefix_location: Location,
|
|
196
|
+
type_args: Array[Types::t],
|
|
197
|
+
close_bracket_location: Location,
|
|
198
|
+
comma_locations: Array[Location],
|
|
199
|
+
) -> void
|
|
200
|
+
|
|
201
|
+
def map_type_name: () { (TypeName) -> TypeName } -> self
|
|
202
|
+
|
|
203
|
+
def type_fingerprint: () -> untyped
|
|
204
|
+
end
|
|
205
|
+
|
|
206
|
+
# `@rbs IVAR-NAME : TYPE` annotation in leading comments
|
|
207
|
+
#
|
|
208
|
+
# ```
|
|
209
|
+
# @rbs @foo : String -- comment
|
|
210
|
+
# ^^^^ -- prefix_location
|
|
211
|
+
# ^^^^ -- ivar_name_location
|
|
212
|
+
# ^ -- colon_location
|
|
213
|
+
# ^^^^^^^^^^ -- comment_location
|
|
214
|
+
# ```
|
|
215
|
+
class InstanceVariableAnnotation < Base
|
|
216
|
+
attr_reader ivar_name: Symbol
|
|
217
|
+
|
|
218
|
+
attr_reader ivar_name_location: Location
|
|
219
|
+
|
|
220
|
+
attr_reader colon_location: Location
|
|
221
|
+
|
|
222
|
+
attr_reader type: Types::t
|
|
223
|
+
|
|
224
|
+
attr_reader comment_location: Location?
|
|
225
|
+
|
|
226
|
+
def initialize: (
|
|
227
|
+
location: Location,
|
|
228
|
+
prefix_location: Location,
|
|
229
|
+
ivar_name: Symbol,
|
|
230
|
+
ivar_name_location: Location,
|
|
231
|
+
colon_location: Location,
|
|
232
|
+
type: Types::t,
|
|
233
|
+
comment_location: Location?,
|
|
234
|
+
) -> void
|
|
235
|
+
|
|
236
|
+
def map_type_name: () { (TypeName) -> TypeName } -> self
|
|
237
|
+
|
|
238
|
+
def type_fingerprint: () -> untyped
|
|
239
|
+
end
|
|
240
|
+
|
|
241
|
+
# `@rbs module-self: NAME[ARGS] -- comment` annotation in leading comments
|
|
242
|
+
#
|
|
243
|
+
# ```
|
|
244
|
+
# @rbs module-self: _Each[String, Integer] -- comment
|
|
245
|
+
# ^^^^ -- prefix_location
|
|
246
|
+
# ^^^^^^^^^^^ -- keyword_location
|
|
247
|
+
# ^ -- colon_location
|
|
248
|
+
# ^ -- open_bracket_location
|
|
249
|
+
# ^ -- args_comma_locations[0]
|
|
250
|
+
# ^ -- close_bracket_location
|
|
251
|
+
# ^^^^^^^^^^ -- comment_location
|
|
252
|
+
# ```
|
|
253
|
+
#
|
|
254
|
+
class ModuleSelfAnnotation < Base
|
|
255
|
+
attr_reader keyword_location: Location
|
|
256
|
+
|
|
257
|
+
attr_reader colon_location: Location
|
|
258
|
+
|
|
259
|
+
attr_reader name: TypeName
|
|
260
|
+
|
|
261
|
+
attr_reader args: Array[Types::t]
|
|
262
|
+
|
|
263
|
+
attr_reader open_bracket_location: Location?
|
|
264
|
+
|
|
265
|
+
attr_reader close_bracket_location: Location?
|
|
266
|
+
|
|
267
|
+
attr_reader args_comma_locations: Array[Location]
|
|
268
|
+
|
|
269
|
+
attr_reader comment_location: Location?
|
|
270
|
+
|
|
271
|
+
def initialize: (
|
|
272
|
+
location: Location,
|
|
273
|
+
prefix_location: Location,
|
|
274
|
+
keyword_location: Location,
|
|
275
|
+
colon_location: Location,
|
|
276
|
+
name: TypeName,
|
|
277
|
+
args: Array[Types::t],
|
|
278
|
+
open_bracket_location: Location?,
|
|
279
|
+
close_bracket_location: Location?,
|
|
280
|
+
args_comma_locations: Array[Location],
|
|
281
|
+
comment_location: Location?,
|
|
282
|
+
) -> void
|
|
283
|
+
|
|
284
|
+
def map_type_name: () { (TypeName) -> TypeName } -> self
|
|
285
|
+
|
|
286
|
+
def type_fingerprint: () -> untyped
|
|
287
|
+
end
|
|
288
|
+
|
|
289
|
+
class ParamTypeAnnotation < Base
|
|
290
|
+
attr_reader name_location: Location
|
|
291
|
+
|
|
292
|
+
attr_reader colon_location: Location
|
|
293
|
+
|
|
294
|
+
attr_reader param_type: Types::t
|
|
295
|
+
|
|
296
|
+
attr_reader comment_location: Location?
|
|
297
|
+
|
|
298
|
+
def initialize: (
|
|
299
|
+
location: Location,
|
|
300
|
+
prefix_location: Location,
|
|
301
|
+
name_location: Location,
|
|
302
|
+
colon_location: Location,
|
|
303
|
+
param_type: Types::t,
|
|
304
|
+
comment_location: Location?,
|
|
305
|
+
) -> void
|
|
306
|
+
|
|
307
|
+
def map_type_name: () { (TypeName) -> TypeName } -> self
|
|
308
|
+
|
|
309
|
+
def type_fingerprint: () -> untyped
|
|
310
|
+
|
|
311
|
+
%a{pure}
|
|
312
|
+
def name: () -> Symbol
|
|
313
|
+
end
|
|
314
|
+
|
|
315
|
+
# `@rbs *name: Type -- comment` annotation in leading comments
|
|
316
|
+
#
|
|
317
|
+
# ```
|
|
318
|
+
# @rbs *a: String -- comment
|
|
319
|
+
# ^^^^ -- prefix_location
|
|
320
|
+
# ^ -- star_location
|
|
321
|
+
# ^ -- name_location
|
|
322
|
+
# ^ -- colon_location
|
|
323
|
+
# ^^^^^^^^^^ -- comment_location
|
|
324
|
+
# ```
|
|
325
|
+
#
|
|
326
|
+
# ```
|
|
327
|
+
# @rbs *: String
|
|
328
|
+
# ^^^^ -- prefix_location
|
|
329
|
+
# ^ -- star_location
|
|
330
|
+
# ^ -- colon_location
|
|
331
|
+
# ```
|
|
332
|
+
#
|
|
333
|
+
class SplatParamTypeAnnotation < Base
|
|
334
|
+
attr_reader star_location: Location
|
|
335
|
+
|
|
336
|
+
attr_reader name_location: Location?
|
|
337
|
+
|
|
338
|
+
attr_reader colon_location: Location
|
|
339
|
+
|
|
340
|
+
attr_reader param_type: Types::t
|
|
341
|
+
|
|
342
|
+
attr_reader comment_location: Location?
|
|
343
|
+
|
|
344
|
+
def initialize: (
|
|
345
|
+
location: Location,
|
|
346
|
+
prefix_location: Location,
|
|
347
|
+
star_location: Location,
|
|
348
|
+
name_location: Location?,
|
|
349
|
+
colon_location: Location,
|
|
350
|
+
param_type: Types::t,
|
|
351
|
+
comment_location: Location?,
|
|
352
|
+
) -> void
|
|
353
|
+
|
|
354
|
+
def map_type_name: () { (TypeName) -> TypeName } -> self
|
|
355
|
+
|
|
356
|
+
def type_fingerprint: () -> untyped
|
|
357
|
+
|
|
358
|
+
%a{pure}
|
|
359
|
+
def name: () -> Symbol?
|
|
360
|
+
end
|
|
361
|
+
|
|
362
|
+
# `@rbs **name: Type -- comment` annotation in leading comments
|
|
363
|
+
#
|
|
364
|
+
# ```
|
|
365
|
+
# @rbs **b: bool -- comment
|
|
366
|
+
# ^^^^ -- prefix_location
|
|
367
|
+
# ^^ -- star2_location
|
|
368
|
+
# ^ -- name_location
|
|
369
|
+
# ^ -- colon_location
|
|
370
|
+
# ^^^^^^^^^^ -- comment_location
|
|
371
|
+
# ```
|
|
372
|
+
#
|
|
373
|
+
# ```
|
|
374
|
+
# @rbs **: bool
|
|
375
|
+
# ^^^^ -- prefix_location
|
|
376
|
+
# ^^ -- star2_location
|
|
377
|
+
# ^ -- colon_location
|
|
378
|
+
# ```
|
|
379
|
+
#
|
|
380
|
+
class DoubleSplatParamTypeAnnotation < Base
|
|
381
|
+
attr_reader star2_location: Location
|
|
382
|
+
|
|
383
|
+
attr_reader name_location: Location?
|
|
384
|
+
|
|
385
|
+
attr_reader colon_location: Location
|
|
386
|
+
|
|
387
|
+
attr_reader param_type: Types::t
|
|
388
|
+
|
|
389
|
+
attr_reader comment_location: Location?
|
|
390
|
+
|
|
391
|
+
def initialize: (
|
|
392
|
+
location: Location,
|
|
393
|
+
prefix_location: Location,
|
|
394
|
+
star2_location: Location,
|
|
395
|
+
name_location: Location?,
|
|
396
|
+
colon_location: Location,
|
|
397
|
+
param_type: Types::t,
|
|
398
|
+
comment_location: Location?,
|
|
399
|
+
) -> void
|
|
400
|
+
|
|
401
|
+
def map_type_name: () { (TypeName) -> TypeName } -> self
|
|
402
|
+
|
|
403
|
+
def type_fingerprint: () -> untyped
|
|
404
|
+
|
|
405
|
+
%a{pure}
|
|
406
|
+
def name: () -> Symbol?
|
|
407
|
+
end
|
|
408
|
+
|
|
409
|
+
# `@rbs &name: TYPE -- comment` annotation in leading comments
|
|
410
|
+
#
|
|
411
|
+
# ```
|
|
412
|
+
# @rbs &block: () -> void -- comment
|
|
413
|
+
# ^^^^ -- prefix_location
|
|
414
|
+
# ^ -- ampersand_location
|
|
415
|
+
# ^^^^^ -- name_location
|
|
416
|
+
# ^ -- colon_location
|
|
417
|
+
# ^^^^^^^^^^ -- type_location
|
|
418
|
+
# ^^^^^^^^^^ -- comment_location
|
|
419
|
+
# ```
|
|
420
|
+
#
|
|
421
|
+
# ```
|
|
422
|
+
# @rbs &: ? () -> void
|
|
423
|
+
# ^^^^ -- prefix_location
|
|
424
|
+
# ^ -- ampersand_location
|
|
425
|
+
# ^ -- colon_location
|
|
426
|
+
# ^ -- question_location
|
|
427
|
+
# ^^^^^^^^^^ -- type_location
|
|
428
|
+
# ```
|
|
429
|
+
#
|
|
430
|
+
class BlockParamTypeAnnotation < Base
|
|
431
|
+
attr_reader ampersand_location: Location
|
|
432
|
+
|
|
433
|
+
attr_reader name_location: Location?
|
|
434
|
+
|
|
435
|
+
attr_reader colon_location: Location
|
|
436
|
+
|
|
437
|
+
attr_reader type_location: Location
|
|
438
|
+
|
|
439
|
+
attr_reader type: Types::function
|
|
440
|
+
|
|
441
|
+
attr_reader question_location: Location?
|
|
442
|
+
|
|
443
|
+
attr_reader comment_location: Location?
|
|
444
|
+
|
|
445
|
+
def initialize: (
|
|
446
|
+
location: Location,
|
|
447
|
+
prefix_location: Location,
|
|
448
|
+
ampersand_location: Location,
|
|
449
|
+
name_location: Location?,
|
|
450
|
+
colon_location: Location,
|
|
451
|
+
question_location: Location?,
|
|
452
|
+
type_location: Location,
|
|
453
|
+
type: Types::function,
|
|
454
|
+
comment_location: Location?,
|
|
455
|
+
) -> void
|
|
456
|
+
|
|
457
|
+
def map_type_name: () { (TypeName) -> TypeName } -> self
|
|
458
|
+
|
|
459
|
+
def type_fingerprint: () -> untyped
|
|
460
|
+
|
|
461
|
+
%a{pure} def name: () -> Symbol?
|
|
462
|
+
|
|
463
|
+
def optional?: () -> bool
|
|
464
|
+
|
|
465
|
+
def required?: () -> bool
|
|
466
|
+
end
|
|
467
|
+
end
|
|
468
|
+
end
|
|
469
|
+
end
|
|
470
|
+
end
|