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.
Files changed (574) hide show
  1. checksums.yaml +7 -0
  2. data/.clang-format +75 -0
  3. data/.clangd +2 -0
  4. data/.github/dependabot.yml +24 -0
  5. data/.github/workflows/bundle-update.yml +63 -0
  6. data/.github/workflows/c-check.yml +61 -0
  7. data/.github/workflows/comments.yml +37 -0
  8. data/.github/workflows/dependabot.yml +30 -0
  9. data/.github/workflows/jruby.yml +67 -0
  10. data/.github/workflows/milestone.yml +83 -0
  11. data/.github/workflows/ruby.yml +158 -0
  12. data/.github/workflows/rust.yml +184 -0
  13. data/.github/workflows/truffleruby.yml +54 -0
  14. data/.github/workflows/typecheck.yml +39 -0
  15. data/.github/workflows/wasm.yml +53 -0
  16. data/.github/workflows/windows.yml +49 -0
  17. data/.gitignore +38 -0
  18. data/.rubocop.yml +72 -0
  19. data/BSDL +22 -0
  20. data/CHANGELOG.md +2292 -0
  21. data/COPYING +56 -0
  22. data/README.md +240 -0
  23. data/Rakefile +869 -0
  24. data/Steepfile +53 -0
  25. data/config.yml +913 -0
  26. data/core/array.rbs +4142 -0
  27. data/core/basic_object.rbs +376 -0
  28. data/core/binding.rbs +148 -0
  29. data/core/builtin.rbs +278 -0
  30. data/core/class.rbs +223 -0
  31. data/core/comparable.rbs +192 -0
  32. data/core/complex.rbs +812 -0
  33. data/core/constants.rbs +96 -0
  34. data/core/data.rbs +415 -0
  35. data/core/dir.rbs +993 -0
  36. data/core/encoding.rbs +1368 -0
  37. data/core/enumerable.rbs +2506 -0
  38. data/core/enumerator/arithmetic_sequence.rbs +70 -0
  39. data/core/enumerator/product.rbs +92 -0
  40. data/core/enumerator.rbs +705 -0
  41. data/core/env.rbs +6 -0
  42. data/core/errno.rbs +682 -0
  43. data/core/errors.rbs +789 -0
  44. data/core/exception.rbs +485 -0
  45. data/core/false_class.rbs +82 -0
  46. data/core/fiber.rbs +570 -0
  47. data/core/fiber_error.rbs +11 -0
  48. data/core/file.rbs +2045 -0
  49. data/core/file_constants.rbs +463 -0
  50. data/core/file_stat.rbs +534 -0
  51. data/core/file_test.rbs +331 -0
  52. data/core/float.rbs +1316 -0
  53. data/core/gc.rbs +788 -0
  54. data/core/global_variables.rbs +184 -0
  55. data/core/hash.rbs +2183 -0
  56. data/core/integer.rbs +1374 -0
  57. data/core/io/buffer.rbs +995 -0
  58. data/core/io/wait.rbs +48 -0
  59. data/core/io.rbs +3472 -0
  60. data/core/kernel.rbs +3172 -0
  61. data/core/marshal.rbs +207 -0
  62. data/core/match_data.rbs +637 -0
  63. data/core/math.rbs +770 -0
  64. data/core/method.rbs +422 -0
  65. data/core/module.rbs +1856 -0
  66. data/core/nil_class.rbs +210 -0
  67. data/core/numeric.rbs +832 -0
  68. data/core/object.rbs +108 -0
  69. data/core/object_space/weak_key_map.rbs +166 -0
  70. data/core/object_space.rbs +197 -0
  71. data/core/pathname.rbs +1322 -0
  72. data/core/proc.rbs +905 -0
  73. data/core/process.rbs +2316 -0
  74. data/core/ractor.rbs +924 -0
  75. data/core/random.rbs +255 -0
  76. data/core/range.rbs +1209 -0
  77. data/core/rational.rbs +502 -0
  78. data/core/rb_config.rbs +88 -0
  79. data/core/rbs/ops.rbs +154 -0
  80. data/core/rbs/unnamed/argf.rbs +1236 -0
  81. data/core/rbs/unnamed/env_class.rbs +1214 -0
  82. data/core/rbs/unnamed/main_class.rbs +123 -0
  83. data/core/rbs/unnamed/random.rbs +186 -0
  84. data/core/refinement.rbs +59 -0
  85. data/core/regexp.rbs +1974 -0
  86. data/core/ruby.rbs +53 -0
  87. data/core/ruby_vm.rbs +809 -0
  88. data/core/rubygems/basic_specification.rbs +6 -0
  89. data/core/rubygems/config_file.rbs +38 -0
  90. data/core/rubygems/dependency_installer.rbs +6 -0
  91. data/core/rubygems/errors.rbs +109 -0
  92. data/core/rubygems/installer.rbs +15 -0
  93. data/core/rubygems/path_support.rbs +6 -0
  94. data/core/rubygems/platform.rbs +7 -0
  95. data/core/rubygems/request_set.rbs +49 -0
  96. data/core/rubygems/requirement.rbs +148 -0
  97. data/core/rubygems/rubygems.rbs +1105 -0
  98. data/core/rubygems/source_list.rbs +15 -0
  99. data/core/rubygems/specification.rbs +23 -0
  100. data/core/rubygems/stream_ui.rbs +5 -0
  101. data/core/rubygems/uninstaller.rbs +10 -0
  102. data/core/rubygems/version.rbs +293 -0
  103. data/core/set.rbs +751 -0
  104. data/core/signal.rbs +110 -0
  105. data/core/string.rbs +5532 -0
  106. data/core/struct.rbs +668 -0
  107. data/core/symbol.rbs +482 -0
  108. data/core/thread.rbs +1826 -0
  109. data/core/thread_group.rbs +79 -0
  110. data/core/time.rbs +1793 -0
  111. data/core/trace_point.rbs +483 -0
  112. data/core/true_class.rbs +98 -0
  113. data/core/unbound_method.rbs +337 -0
  114. data/core/warning.rbs +87 -0
  115. data/docs/CONTRIBUTING.md +107 -0
  116. data/docs/aliases.md +79 -0
  117. data/docs/architecture.md +110 -0
  118. data/docs/collection.md +192 -0
  119. data/docs/config.md +171 -0
  120. data/docs/data_and_struct.md +86 -0
  121. data/docs/encoding.md +56 -0
  122. data/docs/gem.md +56 -0
  123. data/docs/inline.md +634 -0
  124. data/docs/rbs_by_example.md +309 -0
  125. data/docs/repo.md +125 -0
  126. data/docs/rust.md +96 -0
  127. data/docs/sigs.md +167 -0
  128. data/docs/stdlib.md +147 -0
  129. data/docs/syntax.md +940 -0
  130. data/docs/tools.md +17 -0
  131. data/docs/type_fingerprint.md +21 -0
  132. data/docs/wasm_serialization.md +80 -0
  133. data/exe/rbs +7 -0
  134. data/ext/rbs_extension/ast_translation.c +1855 -0
  135. data/ext/rbs_extension/ast_translation.h +41 -0
  136. data/ext/rbs_extension/class_constants.c +187 -0
  137. data/ext/rbs_extension/class_constants.h +104 -0
  138. data/ext/rbs_extension/compat.h +10 -0
  139. data/ext/rbs_extension/extconf.rb +40 -0
  140. data/ext/rbs_extension/legacy_location.c +294 -0
  141. data/ext/rbs_extension/legacy_location.h +82 -0
  142. data/ext/rbs_extension/main.c +613 -0
  143. data/ext/rbs_extension/rbs_extension.h +16 -0
  144. data/ext/rbs_extension/rbs_string_bridging.c +9 -0
  145. data/ext/rbs_extension/rbs_string_bridging.h +24 -0
  146. data/goodcheck.yml +91 -0
  147. data/include/rbs/ast.h +1047 -0
  148. data/include/rbs/defines.h +99 -0
  149. data/include/rbs/lexer.h +207 -0
  150. data/include/rbs/location.h +40 -0
  151. data/include/rbs/parser.h +153 -0
  152. data/include/rbs/serialize.h +39 -0
  153. data/include/rbs/string.h +47 -0
  154. data/include/rbs/util/rbs_allocator.h +59 -0
  155. data/include/rbs/util/rbs_assert.h +20 -0
  156. data/include/rbs/util/rbs_buffer.h +83 -0
  157. data/include/rbs/util/rbs_constant_pool.h +155 -0
  158. data/include/rbs/util/rbs_encoding.h +282 -0
  159. data/include/rbs/util/rbs_unescape.h +24 -0
  160. data/include/rbs.h +14 -0
  161. data/lib/rbs/ancestor_graph.rb +92 -0
  162. data/lib/rbs/annotate/annotations.rb +199 -0
  163. data/lib/rbs/annotate/formatter.rb +82 -0
  164. data/lib/rbs/annotate/rdoc_annotator.rb +398 -0
  165. data/lib/rbs/annotate/rdoc_source.rb +131 -0
  166. data/lib/rbs/annotate.rb +8 -0
  167. data/lib/rbs/ast/annotation.rb +29 -0
  168. data/lib/rbs/ast/comment.rb +29 -0
  169. data/lib/rbs/ast/declarations.rb +472 -0
  170. data/lib/rbs/ast/directives.rb +49 -0
  171. data/lib/rbs/ast/members.rb +451 -0
  172. data/lib/rbs/ast/ruby/annotations.rb +451 -0
  173. data/lib/rbs/ast/ruby/comment_block.rb +247 -0
  174. data/lib/rbs/ast/ruby/declarations.rb +291 -0
  175. data/lib/rbs/ast/ruby/helpers/constant_helper.rb +28 -0
  176. data/lib/rbs/ast/ruby/helpers/location_helper.rb +15 -0
  177. data/lib/rbs/ast/ruby/members.rb +762 -0
  178. data/lib/rbs/ast/type_param.rb +235 -0
  179. data/lib/rbs/ast/visitor.rb +137 -0
  180. data/lib/rbs/buffer.rb +189 -0
  181. data/lib/rbs/builtin_names.rb +58 -0
  182. data/lib/rbs/cli/colored_io.rb +48 -0
  183. data/lib/rbs/cli/diff.rb +84 -0
  184. data/lib/rbs/cli/validate.rb +294 -0
  185. data/lib/rbs/cli.rb +1253 -0
  186. data/lib/rbs/collection/cleaner.rb +38 -0
  187. data/lib/rbs/collection/config/lockfile.rb +92 -0
  188. data/lib/rbs/collection/config/lockfile_generator.rb +269 -0
  189. data/lib/rbs/collection/config.rb +81 -0
  190. data/lib/rbs/collection/installer.rb +32 -0
  191. data/lib/rbs/collection/sources/base.rb +14 -0
  192. data/lib/rbs/collection/sources/git.rb +265 -0
  193. data/lib/rbs/collection/sources/local.rb +81 -0
  194. data/lib/rbs/collection/sources/rubygems.rb +48 -0
  195. data/lib/rbs/collection/sources/stdlib.rb +50 -0
  196. data/lib/rbs/collection/sources.rb +38 -0
  197. data/lib/rbs/collection.rb +16 -0
  198. data/lib/rbs/constant.rb +28 -0
  199. data/lib/rbs/definition.rb +415 -0
  200. data/lib/rbs/definition_builder/ancestor_builder.rb +678 -0
  201. data/lib/rbs/definition_builder/method_builder.rb +295 -0
  202. data/lib/rbs/definition_builder.rb +1054 -0
  203. data/lib/rbs/diff.rb +131 -0
  204. data/lib/rbs/environment/class_entry.rb +69 -0
  205. data/lib/rbs/environment/module_entry.rb +66 -0
  206. data/lib/rbs/environment/use_map.rb +77 -0
  207. data/lib/rbs/environment.rb +1028 -0
  208. data/lib/rbs/environment_loader.rb +167 -0
  209. data/lib/rbs/environment_walker.rb +155 -0
  210. data/lib/rbs/errors.rb +634 -0
  211. data/lib/rbs/factory.rb +18 -0
  212. data/lib/rbs/file_finder.rb +28 -0
  213. data/lib/rbs/inline_parser/comment_association.rb +117 -0
  214. data/lib/rbs/inline_parser.rb +568 -0
  215. data/lib/rbs/location_aux.rb +170 -0
  216. data/lib/rbs/locator.rb +247 -0
  217. data/lib/rbs/method_type.rb +145 -0
  218. data/lib/rbs/namespace.rb +154 -0
  219. data/lib/rbs/parser/lex_result.rb +15 -0
  220. data/lib/rbs/parser/token.rb +23 -0
  221. data/lib/rbs/parser_aux.rb +142 -0
  222. data/lib/rbs/prototype/helpers.rb +197 -0
  223. data/lib/rbs/prototype/node_usage.rb +99 -0
  224. data/lib/rbs/prototype/rb.rb +816 -0
  225. data/lib/rbs/prototype/rbi.rb +625 -0
  226. data/lib/rbs/prototype/runtime/helpers.rb +59 -0
  227. data/lib/rbs/prototype/runtime/reflection.rb +19 -0
  228. data/lib/rbs/prototype/runtime/value_object_generator.rb +279 -0
  229. data/lib/rbs/prototype/runtime.rb +680 -0
  230. data/lib/rbs/repository.rb +127 -0
  231. data/lib/rbs/resolver/constant_resolver.rb +219 -0
  232. data/lib/rbs/resolver/type_name_resolver.rb +167 -0
  233. data/lib/rbs/rewriter.rb +70 -0
  234. data/lib/rbs/sorter.rb +198 -0
  235. data/lib/rbs/source.rb +99 -0
  236. data/lib/rbs/substitution.rb +83 -0
  237. data/lib/rbs/subtractor.rb +204 -0
  238. data/lib/rbs/test/errors.rb +80 -0
  239. data/lib/rbs/test/guaranteed.rb +30 -0
  240. data/lib/rbs/test/hook.rb +212 -0
  241. data/lib/rbs/test/observer.rb +19 -0
  242. data/lib/rbs/test/setup.rb +84 -0
  243. data/lib/rbs/test/setup_helper.rb +50 -0
  244. data/lib/rbs/test/tester.rb +167 -0
  245. data/lib/rbs/test/type_check.rb +457 -0
  246. data/lib/rbs/test.rb +112 -0
  247. data/lib/rbs/type_alias_dependency.rb +100 -0
  248. data/lib/rbs/type_alias_regularity.rb +126 -0
  249. data/lib/rbs/type_name.rb +122 -0
  250. data/lib/rbs/types.rb +1604 -0
  251. data/lib/rbs/unit_test/convertibles.rb +177 -0
  252. data/lib/rbs/unit_test/spy.rb +138 -0
  253. data/lib/rbs/unit_test/type_assertions.rb +383 -0
  254. data/lib/rbs/unit_test/with_aliases.rb +145 -0
  255. data/lib/rbs/unit_test.rb +6 -0
  256. data/lib/rbs/validator.rb +186 -0
  257. data/lib/rbs/variance_calculator.rb +189 -0
  258. data/lib/rbs/vendorer.rb +71 -0
  259. data/lib/rbs/version.rb +5 -0
  260. data/lib/rbs/wasm/deserializer.rb +213 -0
  261. data/lib/rbs/wasm/jars/asm-analysis.jar +0 -0
  262. data/lib/rbs/wasm/jars/asm-commons.jar +0 -0
  263. data/lib/rbs/wasm/jars/asm-tree.jar +0 -0
  264. data/lib/rbs/wasm/jars/asm-util.jar +0 -0
  265. data/lib/rbs/wasm/jars/asm.jar +0 -0
  266. data/lib/rbs/wasm/jars/compiler.jar +0 -0
  267. data/lib/rbs/wasm/jars/log.jar +0 -0
  268. data/lib/rbs/wasm/jars/runtime.jar +0 -0
  269. data/lib/rbs/wasm/jars/wasi.jar +0 -0
  270. data/lib/rbs/wasm/jars/wasm.jar +0 -0
  271. data/lib/rbs/wasm/location.rb +61 -0
  272. data/lib/rbs/wasm/parser.rb +137 -0
  273. data/lib/rbs/wasm/rbs_parser.wasm +0 -0
  274. data/lib/rbs/wasm/runtime.rb +217 -0
  275. data/lib/rbs/wasm/serialization_schema.rb +110 -0
  276. data/lib/rbs/writer.rb +424 -0
  277. data/lib/rbs.rb +117 -0
  278. data/lib/rdoc/discover.rb +20 -0
  279. data/lib/rdoc_plugin/parser.rb +163 -0
  280. data/rbs.gemspec +68 -0
  281. data/schema/annotation.json +14 -0
  282. data/schema/comment.json +26 -0
  283. data/schema/decls.json +326 -0
  284. data/schema/function.json +87 -0
  285. data/schema/location.json +56 -0
  286. data/schema/members.json +266 -0
  287. data/schema/methodType.json +50 -0
  288. data/schema/typeParam.json +52 -0
  289. data/schema/types.json +317 -0
  290. data/sig/ancestor_builder.rbs +163 -0
  291. data/sig/ancestor_graph.rbs +60 -0
  292. data/sig/annotate/annotations.rbs +102 -0
  293. data/sig/annotate/formatter.rbs +24 -0
  294. data/sig/annotate/rdoc_annotater.rbs +85 -0
  295. data/sig/annotate/rdoc_source.rbs +32 -0
  296. data/sig/annotation.rbs +27 -0
  297. data/sig/ast/ruby/annotations.rbs +470 -0
  298. data/sig/ast/ruby/comment_block.rbs +127 -0
  299. data/sig/ast/ruby/declarations.rbs +158 -0
  300. data/sig/ast/ruby/helpers/constant_helper.rbs +11 -0
  301. data/sig/ast/ruby/helpers/location_helper.rbs +15 -0
  302. data/sig/ast/ruby/members.rbs +198 -0
  303. data/sig/buffer.rbs +108 -0
  304. data/sig/builtin_names.rbs +44 -0
  305. data/sig/cli/colored_io.rbs +15 -0
  306. data/sig/cli/diff.rbs +15 -0
  307. data/sig/cli/validate.rbs +47 -0
  308. data/sig/cli.rbs +89 -0
  309. data/sig/collection/cleaner.rbs +13 -0
  310. data/sig/collection/config/lockfile.rbs +74 -0
  311. data/sig/collection/config/lockfile_generator.rbs +68 -0
  312. data/sig/collection/config.rbs +46 -0
  313. data/sig/collection/installer.rbs +17 -0
  314. data/sig/collection/sources.rbs +214 -0
  315. data/sig/collection.rbs +4 -0
  316. data/sig/comment.rbs +26 -0
  317. data/sig/constant.rbs +21 -0
  318. data/sig/declarations.rbs +274 -0
  319. data/sig/definition.rbs +232 -0
  320. data/sig/definition_builder.rbs +181 -0
  321. data/sig/diff.rbs +28 -0
  322. data/sig/directives.rbs +77 -0
  323. data/sig/environment/class_entry.rbs +50 -0
  324. data/sig/environment/module_entry.rbs +50 -0
  325. data/sig/environment.rbs +286 -0
  326. data/sig/environment_loader.rbs +111 -0
  327. data/sig/environment_walker.rbs +65 -0
  328. data/sig/errors.rbs +408 -0
  329. data/sig/factory.rbs +5 -0
  330. data/sig/file_finder.rbs +28 -0
  331. data/sig/inline_parser/comment_association.rbs +71 -0
  332. data/sig/inline_parser.rbs +126 -0
  333. data/sig/location.rbs +135 -0
  334. data/sig/locator.rbs +56 -0
  335. data/sig/manifest.yaml +5 -0
  336. data/sig/members.rbs +258 -0
  337. data/sig/method_builder.rbs +89 -0
  338. data/sig/method_types.rbs +58 -0
  339. data/sig/namespace.rbs +161 -0
  340. data/sig/parser.rbs +164 -0
  341. data/sig/prototype/helpers.rbs +29 -0
  342. data/sig/prototype/node_usage.rbs +20 -0
  343. data/sig/prototype/rb.rbs +96 -0
  344. data/sig/prototype/rbi.rbs +75 -0
  345. data/sig/prototype/runtime.rbs +182 -0
  346. data/sig/rbs.rbs +21 -0
  347. data/sig/rdoc/rbs.rbs +67 -0
  348. data/sig/repository.rbs +85 -0
  349. data/sig/resolver/constant_resolver.rbs +92 -0
  350. data/sig/resolver/context.rbs +34 -0
  351. data/sig/resolver/type_name_resolver.rbs +61 -0
  352. data/sig/rewriter.rbs +45 -0
  353. data/sig/shims/bundler.rbs +38 -0
  354. data/sig/shims/enumerable.rbs +5 -0
  355. data/sig/shims/rubygems.rbs +19 -0
  356. data/sig/sorter.rbs +41 -0
  357. data/sig/source.rbs +48 -0
  358. data/sig/substitution.rbs +48 -0
  359. data/sig/subtractor.rbs +37 -0
  360. data/sig/test/errors.rbs +52 -0
  361. data/sig/test/guranteed.rbs +9 -0
  362. data/sig/test/type_check.rbs +19 -0
  363. data/sig/test.rbs +82 -0
  364. data/sig/type_alias_dependency.rbs +53 -0
  365. data/sig/type_alias_regularity.rbs +98 -0
  366. data/sig/type_param.rbs +115 -0
  367. data/sig/typename.rbs +89 -0
  368. data/sig/types.rbs +578 -0
  369. data/sig/unit_test/convertibles.rbs +154 -0
  370. data/sig/unit_test/spy.rbs +22 -0
  371. data/sig/unit_test/type_assertions.rbs +211 -0
  372. data/sig/unit_test/with_aliases.rbs +136 -0
  373. data/sig/use_map.rbs +35 -0
  374. data/sig/util.rbs +9 -0
  375. data/sig/validator.rbs +63 -0
  376. data/sig/variance_calculator.rbs +87 -0
  377. data/sig/vendorer.rbs +51 -0
  378. data/sig/version.rbs +3 -0
  379. data/sig/visitor.rbs +47 -0
  380. data/sig/wasm/deserializer.rbs +66 -0
  381. data/sig/wasm/serialization_schema.rbs +13 -0
  382. data/sig/writer.rbs +127 -0
  383. data/src/ast.c +1628 -0
  384. data/src/lexer.c +3217 -0
  385. data/src/lexer.re +155 -0
  386. data/src/lexstate.c +217 -0
  387. data/src/location.c +31 -0
  388. data/src/parser.c +4255 -0
  389. data/src/serialize.c +958 -0
  390. data/src/string.c +41 -0
  391. data/src/util/rbs_allocator.c +162 -0
  392. data/src/util/rbs_assert.c +19 -0
  393. data/src/util/rbs_buffer.c +54 -0
  394. data/src/util/rbs_constant_pool.c +268 -0
  395. data/src/util/rbs_encoding.c +21308 -0
  396. data/src/util/rbs_unescape.c +167 -0
  397. data/stdlib/abbrev/0/abbrev.rbs +66 -0
  398. data/stdlib/abbrev/0/array.rbs +26 -0
  399. data/stdlib/base64/0/base64.rbs +355 -0
  400. data/stdlib/benchmark/0/benchmark.rbs +452 -0
  401. data/stdlib/bigdecimal/0/big_decimal.rbs +1647 -0
  402. data/stdlib/bigdecimal-math/0/big_math.rbs +280 -0
  403. data/stdlib/bigdecimal-math/0/manifest.yaml +2 -0
  404. data/stdlib/cgi/0/core.rbs +911 -0
  405. data/stdlib/cgi/0/manifest.yaml +4 -0
  406. data/stdlib/cgi-escape/0/escape.rbs +171 -0
  407. data/stdlib/coverage/0/coverage.rbs +266 -0
  408. data/stdlib/csv/0/csv.rbs +3776 -0
  409. data/stdlib/csv/0/manifest.yaml +3 -0
  410. data/stdlib/date/0/date.rbs +1598 -0
  411. data/stdlib/date/0/date_time.rbs +617 -0
  412. data/stdlib/date/0/time.rbs +26 -0
  413. data/stdlib/dbm/0/dbm.rbs +421 -0
  414. data/stdlib/delegate/0/delegator.rbs +187 -0
  415. data/stdlib/delegate/0/kernel.rbs +47 -0
  416. data/stdlib/delegate/0/simple_delegator.rbs +96 -0
  417. data/stdlib/did_you_mean/0/did_you_mean.rbs +344 -0
  418. data/stdlib/digest/0/digest.rbs +687 -0
  419. data/stdlib/erb/0/erb.rbs +933 -0
  420. data/stdlib/etc/0/etc.rbs +884 -0
  421. data/stdlib/fileutils/0/fileutils.rbs +1753 -0
  422. data/stdlib/find/0/find.rbs +49 -0
  423. data/stdlib/forwardable/0/forwardable.rbs +271 -0
  424. data/stdlib/io-console/0/io-console.rbs +414 -0
  425. data/stdlib/ipaddr/0/ipaddr.rbs +436 -0
  426. data/stdlib/json/0/json.rbs +1963 -0
  427. data/stdlib/kconv/0/kconv.rbs +166 -0
  428. data/stdlib/logger/0/formatter.rbs +45 -0
  429. data/stdlib/logger/0/log_device.rbs +100 -0
  430. data/stdlib/logger/0/logger.rbs +796 -0
  431. data/stdlib/logger/0/manifest.yaml +2 -0
  432. data/stdlib/logger/0/period.rbs +17 -0
  433. data/stdlib/logger/0/severity.rbs +34 -0
  434. data/stdlib/minitest/0/kernel.rbs +42 -0
  435. data/stdlib/minitest/0/minitest/abstract_reporter.rbs +52 -0
  436. data/stdlib/minitest/0/minitest/assertion.rbs +17 -0
  437. data/stdlib/minitest/0/minitest/assertions.rbs +590 -0
  438. data/stdlib/minitest/0/minitest/backtrace_filter.rbs +23 -0
  439. data/stdlib/minitest/0/minitest/bench_spec.rbs +102 -0
  440. data/stdlib/minitest/0/minitest/benchmark.rbs +259 -0
  441. data/stdlib/minitest/0/minitest/composite_reporter.rbs +25 -0
  442. data/stdlib/minitest/0/minitest/compress.rbs +13 -0
  443. data/stdlib/minitest/0/minitest/error_on_warning.rbs +3 -0
  444. data/stdlib/minitest/0/minitest/expectation.rbs +2 -0
  445. data/stdlib/minitest/0/minitest/expectations.rbs +21 -0
  446. data/stdlib/minitest/0/minitest/guard.rbs +64 -0
  447. data/stdlib/minitest/0/minitest/mock.rbs +64 -0
  448. data/stdlib/minitest/0/minitest/parallel/executor.rbs +46 -0
  449. data/stdlib/minitest/0/minitest/parallel/test/class_methods.rbs +5 -0
  450. data/stdlib/minitest/0/minitest/parallel/test.rbs +3 -0
  451. data/stdlib/minitest/0/minitest/parallel.rbs +2 -0
  452. data/stdlib/minitest/0/minitest/pride_io.rbs +62 -0
  453. data/stdlib/minitest/0/minitest/pride_lol.rbs +19 -0
  454. data/stdlib/minitest/0/minitest/progress_reporter.rbs +11 -0
  455. data/stdlib/minitest/0/minitest/reportable.rbs +53 -0
  456. data/stdlib/minitest/0/minitest/reporter.rbs +5 -0
  457. data/stdlib/minitest/0/minitest/result.rbs +28 -0
  458. data/stdlib/minitest/0/minitest/runnable.rbs +163 -0
  459. data/stdlib/minitest/0/minitest/skip.rbs +6 -0
  460. data/stdlib/minitest/0/minitest/spec/dsl/instance_methods.rbs +48 -0
  461. data/stdlib/minitest/0/minitest/spec/dsl.rbs +129 -0
  462. data/stdlib/minitest/0/minitest/spec.rbs +11 -0
  463. data/stdlib/minitest/0/minitest/statistics_reporter.rbs +81 -0
  464. data/stdlib/minitest/0/minitest/summary_reporter.rbs +18 -0
  465. data/stdlib/minitest/0/minitest/test/lifecycle_hooks.rbs +92 -0
  466. data/stdlib/minitest/0/minitest/test.rbs +69 -0
  467. data/stdlib/minitest/0/minitest/unexpected_error.rbs +12 -0
  468. data/stdlib/minitest/0/minitest/unexpected_warning.rbs +6 -0
  469. data/stdlib/minitest/0/minitest/unit/test_case.rbs +3 -0
  470. data/stdlib/minitest/0/minitest/unit.rbs +4 -0
  471. data/stdlib/minitest/0/minitest.rbs +115 -0
  472. data/stdlib/monitor/0/monitor.rbs +363 -0
  473. data/stdlib/mutex_m/0/mutex_m.rbs +104 -0
  474. data/stdlib/net-http/0/manifest.yaml +3 -0
  475. data/stdlib/net-http/0/net-http.rbs +5580 -0
  476. data/stdlib/net-protocol/0/manifest.yaml +2 -0
  477. data/stdlib/net-protocol/0/net-protocol.rbs +56 -0
  478. data/stdlib/net-smtp/0/manifest.yaml +2 -0
  479. data/stdlib/net-smtp/0/net-smtp.rbs +55 -0
  480. data/stdlib/nkf/0/nkf.rbs +402 -0
  481. data/stdlib/objspace/0/objspace.rbs +470 -0
  482. data/stdlib/observable/0/observable.rbs +217 -0
  483. data/stdlib/open-uri/0/manifest.yaml +4 -0
  484. data/stdlib/open-uri/0/open-uri.rbs +433 -0
  485. data/stdlib/open3/0/open3.rbs +606 -0
  486. data/stdlib/openssl/0/manifest.yaml +3 -0
  487. data/stdlib/openssl/0/openssl.rbs +12231 -0
  488. data/stdlib/optparse/0/optparse.rbs +1734 -0
  489. data/stdlib/pathname/0/pathname.rbs +36 -0
  490. data/stdlib/pp/0/manifest.yaml +2 -0
  491. data/stdlib/pp/0/pp.rbs +301 -0
  492. data/stdlib/prettyprint/0/prettyprint.rbs +383 -0
  493. data/stdlib/pstore/0/pstore.rbs +608 -0
  494. data/stdlib/psych/0/core_ext.rbs +12 -0
  495. data/stdlib/psych/0/dbm.rbs +237 -0
  496. data/stdlib/psych/0/manifest.yaml +3 -0
  497. data/stdlib/psych/0/psych.rbs +455 -0
  498. data/stdlib/psych/0/store.rbs +57 -0
  499. data/stdlib/pty/0/pty.rbs +240 -0
  500. data/stdlib/random-formatter/0/random-formatter.rbs +277 -0
  501. data/stdlib/rdoc/0/code_object.rbs +52 -0
  502. data/stdlib/rdoc/0/comment.rbs +61 -0
  503. data/stdlib/rdoc/0/context.rbs +153 -0
  504. data/stdlib/rdoc/0/markup.rbs +117 -0
  505. data/stdlib/rdoc/0/options.rbs +76 -0
  506. data/stdlib/rdoc/0/parser.rbs +56 -0
  507. data/stdlib/rdoc/0/rdoc.rbs +393 -0
  508. data/stdlib/rdoc/0/ri.rbs +17 -0
  509. data/stdlib/rdoc/0/store.rbs +48 -0
  510. data/stdlib/rdoc/0/top_level.rbs +97 -0
  511. data/stdlib/resolv/0/manifest.yaml +3 -0
  512. data/stdlib/resolv/0/resolv.rbs +1787 -0
  513. data/stdlib/ripper/0/ripper.rbs +1654 -0
  514. data/stdlib/securerandom/0/manifest.yaml +2 -0
  515. data/stdlib/securerandom/0/securerandom.rbs +49 -0
  516. data/stdlib/shellwords/0/shellwords.rbs +229 -0
  517. data/stdlib/singleton/0/singleton.rbs +134 -0
  518. data/stdlib/socket/0/addrinfo.rbs +666 -0
  519. data/stdlib/socket/0/basic_socket.rbs +590 -0
  520. data/stdlib/socket/0/constants.rbs +2295 -0
  521. data/stdlib/socket/0/ip_socket.rbs +94 -0
  522. data/stdlib/socket/0/socket.rbs +4170 -0
  523. data/stdlib/socket/0/socket_error.rbs +5 -0
  524. data/stdlib/socket/0/tcp_server.rbs +192 -0
  525. data/stdlib/socket/0/tcp_socket.rbs +87 -0
  526. data/stdlib/socket/0/udp_socket.rbs +133 -0
  527. data/stdlib/socket/0/unix_server.rbs +169 -0
  528. data/stdlib/socket/0/unix_socket.rbs +172 -0
  529. data/stdlib/stringio/0/stringio.rbs +1681 -0
  530. data/stdlib/strscan/0/string_scanner.rbs +1648 -0
  531. data/stdlib/tempfile/0/tempfile.rbs +483 -0
  532. data/stdlib/time/0/time.rbs +434 -0
  533. data/stdlib/timeout/0/timeout.rbs +137 -0
  534. data/stdlib/tmpdir/0/tmpdir.rbs +69 -0
  535. data/stdlib/tsort/0/cyclic.rbs +8 -0
  536. data/stdlib/tsort/0/interfaces.rbs +20 -0
  537. data/stdlib/tsort/0/tsort.rbs +410 -0
  538. data/stdlib/uri/0/common.rbs +621 -0
  539. data/stdlib/uri/0/file.rbs +118 -0
  540. data/stdlib/uri/0/ftp.rbs +13 -0
  541. data/stdlib/uri/0/generic.rbs +1116 -0
  542. data/stdlib/uri/0/http.rbs +104 -0
  543. data/stdlib/uri/0/https.rbs +14 -0
  544. data/stdlib/uri/0/ldap.rbs +230 -0
  545. data/stdlib/uri/0/ldaps.rbs +14 -0
  546. data/stdlib/uri/0/mailto.rbs +92 -0
  547. data/stdlib/uri/0/rfc2396_parser.rbs +189 -0
  548. data/stdlib/uri/0/rfc3986_parser.rbs +2 -0
  549. data/stdlib/uri/0/ws.rbs +13 -0
  550. data/stdlib/uri/0/wss.rbs +9 -0
  551. data/stdlib/yaml/0/manifest.yaml +2 -0
  552. data/stdlib/yaml/0/yaml.rbs +1 -0
  553. data/stdlib/zlib/0/buf_error.rbs +10 -0
  554. data/stdlib/zlib/0/data_error.rbs +10 -0
  555. data/stdlib/zlib/0/deflate.rbs +211 -0
  556. data/stdlib/zlib/0/error.rbs +20 -0
  557. data/stdlib/zlib/0/gzip_file/crc_error.rbs +12 -0
  558. data/stdlib/zlib/0/gzip_file/error.rbs +23 -0
  559. data/stdlib/zlib/0/gzip_file/length_error.rbs +12 -0
  560. data/stdlib/zlib/0/gzip_file/no_footer.rbs +11 -0
  561. data/stdlib/zlib/0/gzip_file.rbs +156 -0
  562. data/stdlib/zlib/0/gzip_reader.rbs +293 -0
  563. data/stdlib/zlib/0/gzip_writer.rbs +168 -0
  564. data/stdlib/zlib/0/inflate.rbs +180 -0
  565. data/stdlib/zlib/0/mem_error.rbs +10 -0
  566. data/stdlib/zlib/0/need_dict.rbs +13 -0
  567. data/stdlib/zlib/0/stream_end.rbs +11 -0
  568. data/stdlib/zlib/0/stream_error.rbs +11 -0
  569. data/stdlib/zlib/0/version_error.rbs +11 -0
  570. data/stdlib/zlib/0/zlib.rbs +449 -0
  571. data/stdlib/zlib/0/zstream.rbs +201 -0
  572. data/wasm/README.md +59 -0
  573. data/wasm/rbs_wasm.c +411 -0
  574. metadata +660 -0
data/core/symbol.rbs ADDED
@@ -0,0 +1,482 @@
1
+ # <!-- rdoc-file=string.c -->
2
+ # A `Symbol` object represents a named identifier inside the Ruby interpreter.
3
+ #
4
+ # You can create a `Symbol` object explicitly with:
5
+ #
6
+ # * A [symbol literal](rdoc-ref:syntax/literals.rdoc@Symbol+Literals).
7
+ #
8
+ # The same `Symbol` object will be created for a given name or string for the
9
+ # duration of a program's execution, regardless of the context or meaning of
10
+ # that name. Thus if `Fred` is a constant in one context, a method in another,
11
+ # and a class in a third, the `Symbol` <code>:Fred</code> will be the same
12
+ # object in all three contexts.
13
+ #
14
+ # module One
15
+ # class Fred
16
+ # end
17
+ # $f1 = :Fred
18
+ # end
19
+ # module Two
20
+ # Fred = 1
21
+ # $f2 = :Fred
22
+ # end
23
+ # def Fred()
24
+ # end
25
+ # $f3 = :Fred
26
+ # $f1.object_id #=> 2514190
27
+ # $f2.object_id #=> 2514190
28
+ # $f3.object_id #=> 2514190
29
+ #
30
+ # Constant, method, and variable names are returned as symbols:
31
+ #
32
+ # module One
33
+ # Two = 2
34
+ # def three; 3 end
35
+ # @four = 4
36
+ # @@five = 5
37
+ # $six = 6
38
+ # end
39
+ # seven = 7
40
+ #
41
+ # One.constants
42
+ # # => [:Two]
43
+ # One.instance_methods(true)
44
+ # # => [:three]
45
+ # One.instance_variables
46
+ # # => [:@four]
47
+ # One.class_variables
48
+ # # => [:@@five]
49
+ # global_variables.grep(/six/)
50
+ # # => [:$six]
51
+ # local_variables
52
+ # # => [:seven]
53
+ #
54
+ # A `Symbol` object differs from a String object in that a `Symbol` object
55
+ # represents an identifier, while a String object represents text or data.
56
+ #
57
+ # ## What's Here
58
+ #
59
+ # First, what's elsewhere. Class `Symbol`:
60
+ #
61
+ # * Inherits from [class Object](rdoc-ref:Object@What-27s+Here).
62
+ # * Includes [module Comparable](rdoc-ref:Comparable@What-27s+Here).
63
+ #
64
+ # Here, class `Symbol` provides methods that are useful for:
65
+ #
66
+ # * [Querying](rdoc-ref:Symbol@Methods+for+Querying)
67
+ # * [Comparing](rdoc-ref:Symbol@Methods+for+Comparing)
68
+ # * [Converting](rdoc-ref:Symbol@Methods+for+Converting)
69
+ #
70
+ # ### Methods for Querying
71
+ #
72
+ # * ::all_symbols: Returns an array of the symbols currently in Ruby's symbol
73
+ # table.
74
+ # * #=~: Returns the index of the first substring in symbol that matches a
75
+ # given Regexp or other object; returns `nil` if no match is found.
76
+ # * #[], #slice : Returns a substring of symbol determined by a given index,
77
+ # start/length, or range, or string.
78
+ # * #empty?: Returns `true` if <code>self.length</code> is zero; `false`
79
+ # otherwise.
80
+ # * #encoding: Returns the Encoding object that represents the encoding of
81
+ # symbol.
82
+ # * #end_with?: Returns `true` if symbol ends with any of the given strings.
83
+ # * #match: Returns a MatchData object if symbol matches a given Regexp; `nil`
84
+ # otherwise.
85
+ # * #match?: Returns `true` if symbol matches a given Regexp; `false`
86
+ # otherwise.
87
+ # * #length, #size: Returns the number of characters in symbol.
88
+ # * #start_with?: Returns `true` if symbol starts with any of the given
89
+ # strings.
90
+ #
91
+ # ### Methods for Comparing
92
+ #
93
+ # * #<=>: Returns -1, 0, or 1 as a given symbol is smaller than, equal to, or
94
+ # larger than symbol.
95
+ # * #==, #===: Returns `true` if a given symbol has the same content and
96
+ # encoding.
97
+ # * #casecmp: Ignoring case, returns -1, 0, or 1 as a given symbol is smaller
98
+ # than, equal to, or larger than symbol.
99
+ # * #casecmp?: Returns `true` if symbol is equal to a given symbol after
100
+ # Unicode case folding; `false` otherwise.
101
+ #
102
+ # ### Methods for Converting
103
+ #
104
+ # * #capitalize: Returns symbol with the first character upcased and all other
105
+ # characters downcased.
106
+ # * #downcase: Returns symbol with all characters downcased.
107
+ # * #inspect: Returns the string representation of `self` as a symbol literal.
108
+ # * #name: Returns the frozen string corresponding to symbol.
109
+ # * #succ, #next: Returns the symbol that is the successor to symbol.
110
+ # * #swapcase: Returns symbol with all upcase characters downcased and all
111
+ # downcase characters upcased.
112
+ # * #to_proc: Returns a Proc object which responds to the method named by
113
+ # symbol.
114
+ # * #to_s, #id2name: Returns the string corresponding to `self`.
115
+ # * #to_sym, #intern: Returns `self`.
116
+ # * #upcase: Returns symbol with all characters upcased.
117
+ #
118
+ class Symbol
119
+ include Comparable
120
+
121
+ # <!--
122
+ # rdoc-file=string.c
123
+ # - Symbol.all_symbols -> array_of_symbols
124
+ # -->
125
+ # Returns an array of all symbols currently in Ruby's symbol table:
126
+ #
127
+ # Symbol.all_symbols.size # => 9334
128
+ # Symbol.all_symbols.take(3) # => [:!, :"\"", :"#"]
129
+ #
130
+ def self.all_symbols: () -> Array[Symbol]
131
+
132
+ # <!--
133
+ # rdoc-file=string.c
134
+ # - self <=> other -> -1, 0, 1, or nil
135
+ # -->
136
+ # Compares `self` and `other`, using String#<=>.
137
+ #
138
+ # Returns:
139
+ #
140
+ # * <code>self.to_s <=> other.to_s</code>, if `other` is a symbol.
141
+ # * `nil`, otherwise.
142
+ #
143
+ # Examples:
144
+ #
145
+ # :bar <=> :foo # => -1
146
+ # :foo <=> :foo # => 0
147
+ # :foo <=> :bar # => 1
148
+ # :foo <=> 'bar' # => nil
149
+ #
150
+ # Class Symbol includes module Comparable, each of whose methods uses Symbol#<=>
151
+ # for comparison.
152
+ #
153
+ # Related: String#<=>.
154
+ #
155
+ def <=>: (Symbol object) -> (-1 | 0 | 1)
156
+ | (untyped) -> (-1 | 0 | 1)?
157
+
158
+ # <!--
159
+ # rdoc-file=string.c
160
+ # - symbol == object -> true or false
161
+ # -->
162
+ # Returns `true` if `object` is the same object as `self`, `false` otherwise.
163
+ #
164
+ def ==: (untyped object) -> bool
165
+
166
+ # <!-- rdoc-file=string.c -->
167
+ # Returns `true` if `object` is the same object as `self`, `false` otherwise.
168
+ #
169
+ alias === ==
170
+
171
+ # <!--
172
+ # rdoc-file=string.c
173
+ # - symbol =~ object -> integer or nil
174
+ # -->
175
+ # Equivalent to <code>symbol.to_s =~ object</code>, including possible updates
176
+ # to global variables; see String#=~.
177
+ #
178
+ def =~: (Regexp regex) -> Integer?
179
+ | [T] (String::_MatchAgainst[String, T] object) -> T
180
+
181
+ # <!--
182
+ # rdoc-file=string.c
183
+ # - symbol[index] -> string or nil
184
+ # - symbol[start, length] -> string or nil
185
+ # - symbol[range] -> string or nil
186
+ # - symbol[regexp, capture = 0] -> string or nil
187
+ # - symbol[substring] -> string or nil
188
+ # -->
189
+ # Equivalent to <code>symbol.to_s[]</code>; see String#[].
190
+ #
191
+ def []: (int start, ?int length) -> String?
192
+ | (range[int?] range) -> String?
193
+ | (Regexp regexp, ?MatchData::capture backref) -> String?
194
+ | (String substring) -> String?
195
+
196
+ # <!--
197
+ # rdoc-file=string.c
198
+ # - capitalize(mapping) -> symbol
199
+ # -->
200
+ # Equivalent to <code>sym.to_s.capitalize.to_sym</code>.
201
+ #
202
+ # See String#capitalize.
203
+ #
204
+ def capitalize: () -> Symbol
205
+ | (:ascii | :lithuanian | :turkic) -> Symbol
206
+ | (:lithuanian, :turkic) -> Symbol
207
+ | (:turkic, :lithuanian) -> Symbol
208
+
209
+ # <!--
210
+ # rdoc-file=string.c
211
+ # - casecmp(object) -> -1, 0, 1, or nil
212
+ # -->
213
+ # Like Symbol#<=>, but case-insensitive; equivalent to
214
+ # <code>self.to_s.casecmp(object.to_s)</code>:
215
+ #
216
+ # lower = :abc
217
+ # upper = :ABC
218
+ # upper.casecmp(lower) # => 0
219
+ # lower.casecmp(lower) # => 0
220
+ # lower.casecmp(upper) # => 0
221
+ #
222
+ # Returns nil if `self` and `object` have incompatible encodings, or if `object`
223
+ # is not a symbol:
224
+ #
225
+ # sym = 'äöü'.encode("ISO-8859-1").to_sym
226
+ # other_sym = 'ÄÖÜ'
227
+ # sym.casecmp(other_sym) # => nil
228
+ # :foo.casecmp(2) # => nil
229
+ #
230
+ # Unlike Symbol#casecmp?, case-insensitivity does not work for characters
231
+ # outside of 'A'..'Z' and 'a'..'z':
232
+ #
233
+ # lower = :äöü
234
+ # upper = :ÄÖÜ
235
+ # upper.casecmp(lower) # => -1
236
+ # lower.casecmp(lower) # => 0
237
+ # lower.casecmp(upper) # => 1
238
+ #
239
+ # Related: Symbol#casecmp?, String#casecmp.
240
+ #
241
+ def casecmp: (untyped object) -> (-1 | 0 | 1)?
242
+
243
+ # <!--
244
+ # rdoc-file=string.c
245
+ # - casecmp?(object) -> true, false, or nil
246
+ # -->
247
+ # Returns `true` if `self` and `object` are equal after Unicode case folding,
248
+ # otherwise `false`:
249
+ #
250
+ # lower = :abc
251
+ # upper = :ABC
252
+ # upper.casecmp?(lower) # => true
253
+ # lower.casecmp?(lower) # => true
254
+ # lower.casecmp?(upper) # => true
255
+ #
256
+ # Returns nil if `self` and `object` have incompatible encodings, or if `object`
257
+ # is not a symbol:
258
+ #
259
+ # sym = 'äöü'.encode("ISO-8859-1").to_sym
260
+ # other_sym = 'ÄÖÜ'
261
+ # sym.casecmp?(other_sym) # => nil
262
+ # :foo.casecmp?(2) # => nil
263
+ #
264
+ # Unlike Symbol#casecmp, works for characters outside of 'A'..'Z' and 'a'..'z':
265
+ #
266
+ # lower = :äöü
267
+ # upper = :ÄÖÜ
268
+ # upper.casecmp?(lower) # => true
269
+ # lower.casecmp?(lower) # => true
270
+ # lower.casecmp?(upper) # => true
271
+ #
272
+ # Related: Symbol#casecmp, String#casecmp?.
273
+ #
274
+ def casecmp?: (untyped object) -> bool?
275
+
276
+ # <!--
277
+ # rdoc-file=string.c
278
+ # - downcase(mapping) -> symbol
279
+ # -->
280
+ # Equivalent to <code>sym.to_s.downcase.to_sym</code>.
281
+ #
282
+ # See String#downcase.
283
+ #
284
+ # Related: Symbol#upcase.
285
+ #
286
+ def downcase: () -> Symbol
287
+ | (:ascii | :fold | :lithuanian | :turkic) -> Symbol
288
+ | (:lithuanian, :turkic) -> Symbol
289
+ | (:turkic, :lithuanian) -> Symbol
290
+
291
+ # <!--
292
+ # rdoc-file=string.c
293
+ # - empty? -> true or false
294
+ # -->
295
+ # Returns `true` if `self` is <code>:''</code>, `false` otherwise.
296
+ #
297
+ def empty?: () -> bool
298
+
299
+ # <!--
300
+ # rdoc-file=string.c
301
+ # - encoding -> encoding
302
+ # -->
303
+ # Equivalent to <code>self.to_s.encoding</code>; see String#encoding.
304
+ #
305
+ def encoding: () -> Encoding
306
+
307
+ # <!--
308
+ # rdoc-file=string.c
309
+ # - end_with?(*strings) -> true or false
310
+ # -->
311
+ # Equivalent to <code>self.to_s.end_with?</code>; see String#end_with?.
312
+ #
313
+ def end_with?: (*string suffixes) -> bool
314
+
315
+ # <!--
316
+ # rdoc-file=symbol.rb
317
+ # - id2name()
318
+ # -->
319
+ #
320
+ alias id2name to_s
321
+
322
+ # <!--
323
+ # rdoc-file=string.c
324
+ # - inspect -> string
325
+ # -->
326
+ # Returns a string representation of `self` (including the leading colon):
327
+ #
328
+ # :foo.inspect # => ":foo"
329
+ #
330
+ # Related: Symbol#to_s, Symbol#name.
331
+ #
332
+ def inspect: () -> String
333
+
334
+ # <!--
335
+ # rdoc-file=symbol.rb
336
+ # - intern()
337
+ # -->
338
+ #
339
+ alias intern to_sym
340
+
341
+ # <!--
342
+ # rdoc-file=string.c
343
+ # - length -> integer
344
+ # -->
345
+ # Equivalent to <code>self.to_s.length</code>; see String#length.
346
+ #
347
+ def length: () -> Integer
348
+
349
+ # <!--
350
+ # rdoc-file=string.c
351
+ # - match(pattern, offset = 0) -> matchdata or nil
352
+ # - match(pattern, offset = 0) {|matchdata| } -> object
353
+ # -->
354
+ # Equivalent to <code>self.to_s.match</code>, including possible updates to
355
+ # global variables; see String#match.
356
+ #
357
+ def match: (Regexp | string pattern, ?int offset) -> MatchData?
358
+ | [T] (Regexp | string pattern, ?int offset) { (MatchData matchdata) -> T } -> T?
359
+
360
+ # <!--
361
+ # rdoc-file=string.c
362
+ # - match?(pattern, offset) -> true or false
363
+ # -->
364
+ # Equivalent to <code>sym.to_s.match?</code>; see String#match.
365
+ #
366
+ def match?: (Regexp | string pattern, ?int offset) -> bool
367
+
368
+ # <!-- rdoc-file=string.c -->
369
+ # Equivalent to <code>self.to_s.succ.to_sym</code>:
370
+ #
371
+ # :foo.succ # => :fop
372
+ #
373
+ # Related: String#succ.
374
+ #
375
+ def next: () -> Symbol
376
+
377
+ # <!--
378
+ # rdoc-file=symbol.rb
379
+ # - name -> string
380
+ # -->
381
+ # Returns a frozen string representation of `self` (not including the leading
382
+ # colon):
383
+ #
384
+ # :foo.name # => "foo"
385
+ # :foo.name.frozen? # => true
386
+ #
387
+ # Related: Symbol#to_s, Symbol#inspect.
388
+ #
389
+ def name: () -> String
390
+
391
+ # <!-- rdoc-file=string.c -->
392
+ # Equivalent to <code>self.to_s.length</code>; see String#length.
393
+ #
394
+ alias size length
395
+
396
+ # <!-- rdoc-file=string.c -->
397
+ # Equivalent to <code>symbol.to_s[]</code>; see String#[].
398
+ #
399
+ alias slice []
400
+
401
+ # <!--
402
+ # rdoc-file=string.c
403
+ # - start_with?(*string_or_regexp) -> true or false
404
+ # -->
405
+ # Equivalent to <code>self.to_s.start_with?</code>; see String#start_with?.
406
+ #
407
+ def start_with?: (*Regexp | string prefixes) -> bool
408
+
409
+ # <!--
410
+ # rdoc-file=string.c
411
+ # - succ
412
+ # -->
413
+ # Equivalent to <code>self.to_s.succ.to_sym</code>:
414
+ #
415
+ # :foo.succ # => :fop
416
+ #
417
+ # Related: String#succ.
418
+ #
419
+ alias succ next
420
+
421
+ # <!--
422
+ # rdoc-file=string.c
423
+ # - swapcase(mapping) -> symbol
424
+ # -->
425
+ # Equivalent to <code>sym.to_s.swapcase.to_sym</code>.
426
+ #
427
+ # See String#swapcase.
428
+ #
429
+ def swapcase: () -> Symbol
430
+ | (:ascii | :lithuanian | :turkic) -> Symbol
431
+ | (:lithuanian, :turkic) -> Symbol
432
+ | (:turkic, :lithuanian) -> Symbol
433
+
434
+ # <!--
435
+ # rdoc-file=string.c
436
+ # - to_proc
437
+ # -->
438
+ # Returns a Proc object which calls the method with name of `self` on the first
439
+ # parameter and passes the remaining parameters to the method.
440
+ #
441
+ # proc = :to_s.to_proc # => #<Proc:0x000001afe0e48680(&:to_s) (lambda)>
442
+ # proc.call(1000) # => "1000"
443
+ # proc.call(1000, 16) # => "3e8"
444
+ # (1..3).collect(&:to_s) # => ["1", "2", "3"]
445
+ #
446
+ def to_proc: () -> Proc
447
+
448
+ # <!--
449
+ # rdoc-file=symbol.rb
450
+ # - to_s -> string
451
+ # -->
452
+ # Returns a string representation of `self` (not including the leading colon):
453
+ #
454
+ # :foo.to_s # => "foo"
455
+ #
456
+ # Related: Symbol#inspect, Symbol#name.
457
+ #
458
+ def to_s: () -> String
459
+
460
+ # <!--
461
+ # rdoc-file=symbol.rb
462
+ # - to_sym -> self
463
+ # -->
464
+ # Returns `self`.
465
+ #
466
+ # Related: String#to_sym.
467
+ #
468
+ def to_sym: () -> self
469
+
470
+ # <!--
471
+ # rdoc-file=string.c
472
+ # - upcase(mapping) -> symbol
473
+ # -->
474
+ # Equivalent to <code>sym.to_s.upcase.to_sym</code>.
475
+ #
476
+ # See String#upcase.
477
+ #
478
+ def upcase: () -> Symbol
479
+ | (:ascii | :lithuanian | :turkic) -> Symbol
480
+ | (:lithuanian, :turkic) -> Symbol
481
+ | (:turkic, :lithuanian) -> Symbol
482
+ end