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.
Files changed (484) hide show
  1. checksums.yaml +7 -0
  2. data/.github/dependabot.yml +22 -0
  3. data/.github/workflows/comments.yml +35 -0
  4. data/.github/workflows/dependabot.yml +30 -0
  5. data/.github/workflows/ruby.yml +82 -0
  6. data/.github/workflows/typecheck.yml +38 -0
  7. data/.github/workflows/windows.yml +43 -0
  8. data/.gitignore +23 -0
  9. data/.rubocop.yml +68 -0
  10. data/BSDL +22 -0
  11. data/CHANGELOG.md +1868 -0
  12. data/COPYING +56 -0
  13. data/README.md +203 -0
  14. data/Rakefile +417 -0
  15. data/Steepfile +44 -0
  16. data/config.yml +313 -0
  17. data/core/array.rbs +4062 -0
  18. data/core/basic_object.rbs +375 -0
  19. data/core/binding.rbs +150 -0
  20. data/core/builtin.rbs +277 -0
  21. data/core/class.rbs +220 -0
  22. data/core/comparable.rbs +171 -0
  23. data/core/complex.rbs +786 -0
  24. data/core/constants.rbs +96 -0
  25. data/core/data.rbs +415 -0
  26. data/core/dir.rbs +981 -0
  27. data/core/encoding.rbs +1371 -0
  28. data/core/enumerable.rbs +2405 -0
  29. data/core/enumerator/product.rbs +92 -0
  30. data/core/enumerator.rbs +630 -0
  31. data/core/env.rbs +6 -0
  32. data/core/errno.rbs +673 -0
  33. data/core/errors.rbs +760 -0
  34. data/core/exception.rbs +485 -0
  35. data/core/false_class.rbs +82 -0
  36. data/core/fiber.rbs +550 -0
  37. data/core/fiber_error.rbs +11 -0
  38. data/core/file.rbs +2936 -0
  39. data/core/file_test.rbs +331 -0
  40. data/core/float.rbs +1151 -0
  41. data/core/gc.rbs +644 -0
  42. data/core/global_variables.rbs +184 -0
  43. data/core/hash.rbs +1861 -0
  44. data/core/integer.rbs +1413 -0
  45. data/core/io/buffer.rbs +984 -0
  46. data/core/io/wait.rbs +70 -0
  47. data/core/io.rbs +3406 -0
  48. data/core/kernel.rbs +3096 -0
  49. data/core/marshal.rbs +207 -0
  50. data/core/match_data.rbs +635 -0
  51. data/core/math.rbs +729 -0
  52. data/core/method.rbs +386 -0
  53. data/core/module.rbs +1704 -0
  54. data/core/nil_class.rbs +209 -0
  55. data/core/numeric.rbs +818 -0
  56. data/core/object.rbs +110 -0
  57. data/core/object_space/weak_key_map.rbs +166 -0
  58. data/core/object_space.rbs +190 -0
  59. data/core/proc.rbs +868 -0
  60. data/core/process.rbs +2296 -0
  61. data/core/ractor.rbs +1068 -0
  62. data/core/random.rbs +237 -0
  63. data/core/range.rbs +1107 -0
  64. data/core/rational.rbs +531 -0
  65. data/core/rb_config.rbs +88 -0
  66. data/core/rbs/unnamed/argf.rbs +1229 -0
  67. data/core/rbs/unnamed/env_class.rbs +1209 -0
  68. data/core/rbs/unnamed/random.rbs +293 -0
  69. data/core/refinement.rbs +59 -0
  70. data/core/regexp.rbs +1930 -0
  71. data/core/ruby_vm.rbs +765 -0
  72. data/core/rubygems/basic_specification.rbs +6 -0
  73. data/core/rubygems/config_file.rbs +38 -0
  74. data/core/rubygems/dependency_installer.rbs +6 -0
  75. data/core/rubygems/errors.rbs +176 -0
  76. data/core/rubygems/installer.rbs +15 -0
  77. data/core/rubygems/path_support.rbs +6 -0
  78. data/core/rubygems/platform.rbs +7 -0
  79. data/core/rubygems/request_set.rbs +49 -0
  80. data/core/rubygems/requirement.rbs +148 -0
  81. data/core/rubygems/rubygems.rbs +1171 -0
  82. data/core/rubygems/source_list.rbs +15 -0
  83. data/core/rubygems/specification.rbs +23 -0
  84. data/core/rubygems/stream_ui.rbs +5 -0
  85. data/core/rubygems/uninstaller.rbs +10 -0
  86. data/core/rubygems/version.rbs +294 -0
  87. data/core/set.rbs +621 -0
  88. data/core/signal.rbs +100 -0
  89. data/core/string.rbs +3583 -0
  90. data/core/struct.rbs +667 -0
  91. data/core/symbol.rbs +475 -0
  92. data/core/thread.rbs +1765 -0
  93. data/core/thread_group.rbs +79 -0
  94. data/core/time.rbs +1762 -0
  95. data/core/trace_point.rbs +477 -0
  96. data/core/true_class.rbs +98 -0
  97. data/core/unbound_method.rbs +329 -0
  98. data/core/warning.rbs +87 -0
  99. data/docs/CONTRIBUTING.md +106 -0
  100. data/docs/architecture.md +110 -0
  101. data/docs/collection.md +192 -0
  102. data/docs/data_and_struct.md +86 -0
  103. data/docs/gem.md +57 -0
  104. data/docs/rbs_by_example.md +309 -0
  105. data/docs/repo.md +125 -0
  106. data/docs/sigs.md +167 -0
  107. data/docs/stdlib.md +147 -0
  108. data/docs/syntax.md +910 -0
  109. data/docs/tools.md +17 -0
  110. data/exe/rbs +7 -0
  111. data/ext/rbs_extension/extconf.rb +15 -0
  112. data/ext/rbs_extension/lexer.c +2728 -0
  113. data/ext/rbs_extension/lexer.h +179 -0
  114. data/ext/rbs_extension/lexer.re +147 -0
  115. data/ext/rbs_extension/lexstate.c +175 -0
  116. data/ext/rbs_extension/location.c +325 -0
  117. data/ext/rbs_extension/location.h +85 -0
  118. data/ext/rbs_extension/main.c +33 -0
  119. data/ext/rbs_extension/parser.c +2973 -0
  120. data/ext/rbs_extension/parser.h +18 -0
  121. data/ext/rbs_extension/parserstate.c +397 -0
  122. data/ext/rbs_extension/parserstate.h +163 -0
  123. data/ext/rbs_extension/rbs_extension.h +31 -0
  124. data/ext/rbs_extension/unescape.c +32 -0
  125. data/goodcheck.yml +91 -0
  126. data/include/rbs/constants.h +82 -0
  127. data/include/rbs/ruby_objs.h +72 -0
  128. data/include/rbs/util/rbs_constant_pool.h +219 -0
  129. data/include/rbs.h +7 -0
  130. data/lib/rbs/ancestor_graph.rb +92 -0
  131. data/lib/rbs/annotate/annotations.rb +199 -0
  132. data/lib/rbs/annotate/formatter.rb +92 -0
  133. data/lib/rbs/annotate/rdoc_annotator.rb +400 -0
  134. data/lib/rbs/annotate/rdoc_source.rb +131 -0
  135. data/lib/rbs/annotate.rb +8 -0
  136. data/lib/rbs/ast/annotation.rb +29 -0
  137. data/lib/rbs/ast/comment.rb +29 -0
  138. data/lib/rbs/ast/declarations.rb +467 -0
  139. data/lib/rbs/ast/directives.rb +49 -0
  140. data/lib/rbs/ast/members.rb +451 -0
  141. data/lib/rbs/ast/type_param.rb +225 -0
  142. data/lib/rbs/ast/visitor.rb +137 -0
  143. data/lib/rbs/buffer.rb +67 -0
  144. data/lib/rbs/builtin_names.rb +58 -0
  145. data/lib/rbs/cli/colored_io.rb +48 -0
  146. data/lib/rbs/cli/diff.rb +83 -0
  147. data/lib/rbs/cli/validate.rb +357 -0
  148. data/lib/rbs/cli.rb +1223 -0
  149. data/lib/rbs/collection/cleaner.rb +38 -0
  150. data/lib/rbs/collection/config/lockfile.rb +92 -0
  151. data/lib/rbs/collection/config/lockfile_generator.rb +218 -0
  152. data/lib/rbs/collection/config.rb +81 -0
  153. data/lib/rbs/collection/installer.rb +32 -0
  154. data/lib/rbs/collection/sources/base.rb +14 -0
  155. data/lib/rbs/collection/sources/git.rb +258 -0
  156. data/lib/rbs/collection/sources/local.rb +81 -0
  157. data/lib/rbs/collection/sources/rubygems.rb +48 -0
  158. data/lib/rbs/collection/sources/stdlib.rb +50 -0
  159. data/lib/rbs/collection/sources.rb +38 -0
  160. data/lib/rbs/collection.rb +16 -0
  161. data/lib/rbs/constant.rb +28 -0
  162. data/lib/rbs/definition.rb +401 -0
  163. data/lib/rbs/definition_builder/ancestor_builder.rb +620 -0
  164. data/lib/rbs/definition_builder/method_builder.rb +254 -0
  165. data/lib/rbs/definition_builder.rb +845 -0
  166. data/lib/rbs/diff.rb +125 -0
  167. data/lib/rbs/environment/use_map.rb +77 -0
  168. data/lib/rbs/environment.rb +829 -0
  169. data/lib/rbs/environment_loader.rb +173 -0
  170. data/lib/rbs/environment_walker.rb +155 -0
  171. data/lib/rbs/errors.rb +645 -0
  172. data/lib/rbs/factory.rb +18 -0
  173. data/lib/rbs/file_finder.rb +28 -0
  174. data/lib/rbs/location_aux.rb +138 -0
  175. data/lib/rbs/locator.rb +243 -0
  176. data/lib/rbs/method_type.rb +143 -0
  177. data/lib/rbs/namespace.rb +125 -0
  178. data/lib/rbs/parser/lex_result.rb +15 -0
  179. data/lib/rbs/parser/token.rb +23 -0
  180. data/lib/rbs/parser_aux.rb +114 -0
  181. data/lib/rbs/prototype/helpers.rb +140 -0
  182. data/lib/rbs/prototype/node_usage.rb +99 -0
  183. data/lib/rbs/prototype/rb.rb +840 -0
  184. data/lib/rbs/prototype/rbi.rb +641 -0
  185. data/lib/rbs/prototype/runtime/helpers.rb +59 -0
  186. data/lib/rbs/prototype/runtime/reflection.rb +19 -0
  187. data/lib/rbs/prototype/runtime/value_object_generator.rb +279 -0
  188. data/lib/rbs/prototype/runtime.rb +667 -0
  189. data/lib/rbs/repository.rb +127 -0
  190. data/lib/rbs/resolver/constant_resolver.rb +219 -0
  191. data/lib/rbs/resolver/type_name_resolver.rb +91 -0
  192. data/lib/rbs/sorter.rb +198 -0
  193. data/lib/rbs/substitution.rb +83 -0
  194. data/lib/rbs/subtractor.rb +201 -0
  195. data/lib/rbs/test/errors.rb +80 -0
  196. data/lib/rbs/test/guaranteed.rb +30 -0
  197. data/lib/rbs/test/hook.rb +212 -0
  198. data/lib/rbs/test/observer.rb +19 -0
  199. data/lib/rbs/test/setup.rb +84 -0
  200. data/lib/rbs/test/setup_helper.rb +50 -0
  201. data/lib/rbs/test/tester.rb +167 -0
  202. data/lib/rbs/test/type_check.rb +435 -0
  203. data/lib/rbs/test.rb +112 -0
  204. data/lib/rbs/type_alias_dependency.rb +100 -0
  205. data/lib/rbs/type_alias_regularity.rb +126 -0
  206. data/lib/rbs/type_name.rb +109 -0
  207. data/lib/rbs/types.rb +1596 -0
  208. data/lib/rbs/unit_test/convertibles.rb +176 -0
  209. data/lib/rbs/unit_test/spy.rb +138 -0
  210. data/lib/rbs/unit_test/type_assertions.rb +347 -0
  211. data/lib/rbs/unit_test/with_aliases.rb +143 -0
  212. data/lib/rbs/unit_test.rb +6 -0
  213. data/lib/rbs/validator.rb +186 -0
  214. data/lib/rbs/variance_calculator.rb +189 -0
  215. data/lib/rbs/vendorer.rb +71 -0
  216. data/lib/rbs/version.rb +5 -0
  217. data/lib/rbs/writer.rb +424 -0
  218. data/lib/rbs.rb +94 -0
  219. data/lib/rdoc/discover.rb +20 -0
  220. data/lib/rdoc_plugin/parser.rb +163 -0
  221. data/rbs-relaxed.gemspec +48 -0
  222. data/schema/annotation.json +14 -0
  223. data/schema/comment.json +26 -0
  224. data/schema/decls.json +326 -0
  225. data/schema/function.json +87 -0
  226. data/schema/location.json +56 -0
  227. data/schema/members.json +266 -0
  228. data/schema/methodType.json +50 -0
  229. data/schema/typeParam.json +36 -0
  230. data/schema/types.json +317 -0
  231. data/sig/ancestor_builder.rbs +163 -0
  232. data/sig/ancestor_graph.rbs +60 -0
  233. data/sig/annotate/annotations.rbs +102 -0
  234. data/sig/annotate/formatter.rbs +24 -0
  235. data/sig/annotate/rdoc_annotater.rbs +82 -0
  236. data/sig/annotate/rdoc_source.rbs +30 -0
  237. data/sig/annotation.rbs +27 -0
  238. data/sig/buffer.rbs +32 -0
  239. data/sig/builtin_names.rbs +44 -0
  240. data/sig/cli/colored_io.rbs +15 -0
  241. data/sig/cli/diff.rbs +21 -0
  242. data/sig/cli/validate.rbs +43 -0
  243. data/sig/cli.rbs +87 -0
  244. data/sig/collection/cleaner.rbs +13 -0
  245. data/sig/collection/config/lockfile.rbs +74 -0
  246. data/sig/collection/config/lockfile_generator.rbs +66 -0
  247. data/sig/collection/config.rbs +46 -0
  248. data/sig/collection/installer.rbs +17 -0
  249. data/sig/collection/sources.rbs +214 -0
  250. data/sig/collection.rbs +4 -0
  251. data/sig/comment.rbs +26 -0
  252. data/sig/constant.rbs +21 -0
  253. data/sig/declarations.rbs +267 -0
  254. data/sig/definition.rbs +173 -0
  255. data/sig/definition_builder.rbs +165 -0
  256. data/sig/diff.rbs +28 -0
  257. data/sig/directives.rbs +77 -0
  258. data/sig/environment.rbs +279 -0
  259. data/sig/environment_loader.rbs +111 -0
  260. data/sig/environment_walker.rbs +65 -0
  261. data/sig/errors.rbs +405 -0
  262. data/sig/factory.rbs +5 -0
  263. data/sig/file_finder.rbs +28 -0
  264. data/sig/location.rbs +110 -0
  265. data/sig/locator.rbs +58 -0
  266. data/sig/manifest.yaml +7 -0
  267. data/sig/members.rbs +258 -0
  268. data/sig/method_builder.rbs +84 -0
  269. data/sig/method_types.rbs +58 -0
  270. data/sig/namespace.rbs +146 -0
  271. data/sig/parser.rbs +100 -0
  272. data/sig/prototype/helpers.rbs +27 -0
  273. data/sig/prototype/node_usage.rbs +20 -0
  274. data/sig/prototype/rb.rbs +96 -0
  275. data/sig/prototype/rbi.rbs +75 -0
  276. data/sig/prototype/runtime.rbs +182 -0
  277. data/sig/rbs.rbs +21 -0
  278. data/sig/rdoc/rbs.rbs +67 -0
  279. data/sig/repository.rbs +85 -0
  280. data/sig/resolver/constant_resolver.rbs +92 -0
  281. data/sig/resolver/context.rbs +34 -0
  282. data/sig/resolver/type_name_resolver.rbs +35 -0
  283. data/sig/shims/bundler.rbs +38 -0
  284. data/sig/shims/enumerable.rbs +5 -0
  285. data/sig/shims/rubygems.rbs +19 -0
  286. data/sig/sorter.rbs +41 -0
  287. data/sig/substitution.rbs +48 -0
  288. data/sig/subtractor.rbs +37 -0
  289. data/sig/test/errors.rbs +52 -0
  290. data/sig/test/guranteed.rbs +9 -0
  291. data/sig/test/type_check.rbs +19 -0
  292. data/sig/test.rbs +82 -0
  293. data/sig/type_alias_dependency.rbs +53 -0
  294. data/sig/type_alias_regularity.rbs +98 -0
  295. data/sig/type_param.rbs +110 -0
  296. data/sig/typename.rbs +79 -0
  297. data/sig/types.rbs +579 -0
  298. data/sig/unit_test/convertibles.rbs +154 -0
  299. data/sig/unit_test/spy.rbs +30 -0
  300. data/sig/unit_test/type_assertions.rbs +196 -0
  301. data/sig/unit_test/with_aliases.rbs +136 -0
  302. data/sig/use_map.rbs +35 -0
  303. data/sig/util.rbs +9 -0
  304. data/sig/validator.rbs +63 -0
  305. data/sig/variance_calculator.rbs +87 -0
  306. data/sig/vendorer.rbs +51 -0
  307. data/sig/version.rbs +3 -0
  308. data/sig/visitor.rbs +47 -0
  309. data/sig/writer.rbs +127 -0
  310. data/src/constants.c +153 -0
  311. data/src/ruby_objs.c +795 -0
  312. data/src/util/rbs_constant_pool.c +342 -0
  313. data/stdlib/abbrev/0/abbrev.rbs +66 -0
  314. data/stdlib/abbrev/0/array.rbs +26 -0
  315. data/stdlib/base64/0/base64.rbs +355 -0
  316. data/stdlib/benchmark/0/benchmark.rbs +452 -0
  317. data/stdlib/bigdecimal/0/big_decimal.rbs +1629 -0
  318. data/stdlib/bigdecimal-math/0/big_math.rbs +119 -0
  319. data/stdlib/bigdecimal-math/0/manifest.yaml +2 -0
  320. data/stdlib/cgi/0/core.rbs +1285 -0
  321. data/stdlib/cgi/0/manifest.yaml +3 -0
  322. data/stdlib/coverage/0/coverage.rbs +263 -0
  323. data/stdlib/csv/0/csv.rbs +3776 -0
  324. data/stdlib/csv/0/manifest.yaml +3 -0
  325. data/stdlib/date/0/date.rbs +1585 -0
  326. data/stdlib/date/0/date_time.rbs +616 -0
  327. data/stdlib/date/0/time.rbs +26 -0
  328. data/stdlib/dbm/0/dbm.rbs +421 -0
  329. data/stdlib/delegate/0/delegator.rbs +184 -0
  330. data/stdlib/delegate/0/kernel.rbs +47 -0
  331. data/stdlib/delegate/0/simple_delegator.rbs +96 -0
  332. data/stdlib/did_you_mean/0/did_you_mean.rbs +343 -0
  333. data/stdlib/digest/0/digest.rbs +577 -0
  334. data/stdlib/erb/0/erb.rbs +532 -0
  335. data/stdlib/etc/0/etc.rbs +865 -0
  336. data/stdlib/fileutils/0/fileutils.rbs +1734 -0
  337. data/stdlib/find/0/find.rbs +49 -0
  338. data/stdlib/forwardable/0/forwardable.rbs +268 -0
  339. data/stdlib/io-console/0/io-console.rbs +414 -0
  340. data/stdlib/ipaddr/0/ipaddr.rbs +428 -0
  341. data/stdlib/json/0/json.rbs +1916 -0
  342. data/stdlib/kconv/0/kconv.rbs +166 -0
  343. data/stdlib/logger/0/formatter.rbs +45 -0
  344. data/stdlib/logger/0/log_device.rbs +100 -0
  345. data/stdlib/logger/0/logger.rbs +796 -0
  346. data/stdlib/logger/0/manifest.yaml +2 -0
  347. data/stdlib/logger/0/period.rbs +17 -0
  348. data/stdlib/logger/0/severity.rbs +34 -0
  349. data/stdlib/minitest/0/kernel.rbs +42 -0
  350. data/stdlib/minitest/0/minitest/abstract_reporter.rbs +52 -0
  351. data/stdlib/minitest/0/minitest/assertion.rbs +17 -0
  352. data/stdlib/minitest/0/minitest/assertions.rbs +590 -0
  353. data/stdlib/minitest/0/minitest/backtrace_filter.rbs +23 -0
  354. data/stdlib/minitest/0/minitest/bench_spec.rbs +102 -0
  355. data/stdlib/minitest/0/minitest/benchmark.rbs +259 -0
  356. data/stdlib/minitest/0/minitest/composite_reporter.rbs +25 -0
  357. data/stdlib/minitest/0/minitest/compress.rbs +13 -0
  358. data/stdlib/minitest/0/minitest/error_on_warning.rbs +3 -0
  359. data/stdlib/minitest/0/minitest/expectation.rbs +2 -0
  360. data/stdlib/minitest/0/minitest/expectations.rbs +21 -0
  361. data/stdlib/minitest/0/minitest/guard.rbs +64 -0
  362. data/stdlib/minitest/0/minitest/mock.rbs +64 -0
  363. data/stdlib/minitest/0/minitest/parallel/executor.rbs +46 -0
  364. data/stdlib/minitest/0/minitest/parallel/test/class_methods.rbs +5 -0
  365. data/stdlib/minitest/0/minitest/parallel/test.rbs +3 -0
  366. data/stdlib/minitest/0/minitest/parallel.rbs +2 -0
  367. data/stdlib/minitest/0/minitest/pride_io.rbs +62 -0
  368. data/stdlib/minitest/0/minitest/pride_lol.rbs +19 -0
  369. data/stdlib/minitest/0/minitest/progress_reporter.rbs +11 -0
  370. data/stdlib/minitest/0/minitest/reportable.rbs +53 -0
  371. data/stdlib/minitest/0/minitest/reporter.rbs +5 -0
  372. data/stdlib/minitest/0/minitest/result.rbs +28 -0
  373. data/stdlib/minitest/0/minitest/runnable.rbs +163 -0
  374. data/stdlib/minitest/0/minitest/skip.rbs +6 -0
  375. data/stdlib/minitest/0/minitest/spec/dsl/instance_methods.rbs +48 -0
  376. data/stdlib/minitest/0/minitest/spec/dsl.rbs +129 -0
  377. data/stdlib/minitest/0/minitest/spec.rbs +11 -0
  378. data/stdlib/minitest/0/minitest/statistics_reporter.rbs +81 -0
  379. data/stdlib/minitest/0/minitest/summary_reporter.rbs +18 -0
  380. data/stdlib/minitest/0/minitest/test/lifecycle_hooks.rbs +92 -0
  381. data/stdlib/minitest/0/minitest/test.rbs +69 -0
  382. data/stdlib/minitest/0/minitest/unexpected_error.rbs +12 -0
  383. data/stdlib/minitest/0/minitest/unexpected_warning.rbs +6 -0
  384. data/stdlib/minitest/0/minitest/unit/test_case.rbs +3 -0
  385. data/stdlib/minitest/0/minitest/unit.rbs +4 -0
  386. data/stdlib/minitest/0/minitest.rbs +115 -0
  387. data/stdlib/monitor/0/monitor.rbs +363 -0
  388. data/stdlib/mutex_m/0/mutex_m.rbs +104 -0
  389. data/stdlib/net-http/0/manifest.yaml +3 -0
  390. data/stdlib/net-http/0/net-http.rbs +5552 -0
  391. data/stdlib/net-protocol/0/manifest.yaml +2 -0
  392. data/stdlib/net-protocol/0/net-protocol.rbs +56 -0
  393. data/stdlib/net-smtp/0/manifest.yaml +2 -0
  394. data/stdlib/net-smtp/0/net-smtp.rbs +55 -0
  395. data/stdlib/nkf/0/nkf.rbs +402 -0
  396. data/stdlib/objspace/0/objspace.rbs +487 -0
  397. data/stdlib/observable/0/observable.rbs +217 -0
  398. data/stdlib/open-uri/0/manifest.yaml +4 -0
  399. data/stdlib/open-uri/0/open-uri.rbs +393 -0
  400. data/stdlib/open3/0/open3.rbs +147 -0
  401. data/stdlib/openssl/0/manifest.yaml +3 -0
  402. data/stdlib/openssl/0/openssl.rbs +12113 -0
  403. data/stdlib/optparse/0/optparse.rbs +1725 -0
  404. data/stdlib/pathname/0/pathname.rbs +1406 -0
  405. data/stdlib/pp/0/manifest.yaml +2 -0
  406. data/stdlib/pp/0/pp.rbs +300 -0
  407. data/stdlib/prettyprint/0/prettyprint.rbs +383 -0
  408. data/stdlib/pstore/0/pstore.rbs +603 -0
  409. data/stdlib/psych/0/core_ext.rbs +12 -0
  410. data/stdlib/psych/0/dbm.rbs +237 -0
  411. data/stdlib/psych/0/manifest.yaml +3 -0
  412. data/stdlib/psych/0/psych.rbs +402 -0
  413. data/stdlib/psych/0/store.rbs +59 -0
  414. data/stdlib/pty/0/pty.rbs +237 -0
  415. data/stdlib/rdoc/0/code_object.rbs +51 -0
  416. data/stdlib/rdoc/0/comment.rbs +59 -0
  417. data/stdlib/rdoc/0/context.rbs +153 -0
  418. data/stdlib/rdoc/0/markup.rbs +117 -0
  419. data/stdlib/rdoc/0/parser.rbs +56 -0
  420. data/stdlib/rdoc/0/rdoc.rbs +391 -0
  421. data/stdlib/rdoc/0/ri.rbs +17 -0
  422. data/stdlib/rdoc/0/store.rbs +48 -0
  423. data/stdlib/rdoc/0/top_level.rbs +97 -0
  424. data/stdlib/resolv/0/manifest.yaml +3 -0
  425. data/stdlib/resolv/0/resolv.rbs +1830 -0
  426. data/stdlib/ripper/0/ripper.rbs +1648 -0
  427. data/stdlib/securerandom/0/securerandom.rbs +62 -0
  428. data/stdlib/shellwords/0/shellwords.rbs +229 -0
  429. data/stdlib/singleton/0/singleton.rbs +131 -0
  430. data/stdlib/socket/0/addrinfo.rbs +666 -0
  431. data/stdlib/socket/0/basic_socket.rbs +590 -0
  432. data/stdlib/socket/0/constants.rbs +2295 -0
  433. data/stdlib/socket/0/ip_socket.rbs +92 -0
  434. data/stdlib/socket/0/socket.rbs +4157 -0
  435. data/stdlib/socket/0/socket_error.rbs +5 -0
  436. data/stdlib/socket/0/tcp_server.rbs +192 -0
  437. data/stdlib/socket/0/tcp_socket.rbs +79 -0
  438. data/stdlib/socket/0/udp_socket.rbs +133 -0
  439. data/stdlib/socket/0/unix_server.rbs +169 -0
  440. data/stdlib/socket/0/unix_socket.rbs +172 -0
  441. data/stdlib/stringio/0/stringio.rbs +567 -0
  442. data/stdlib/strscan/0/string_scanner.rbs +1627 -0
  443. data/stdlib/tempfile/0/tempfile.rbs +479 -0
  444. data/stdlib/time/0/time.rbs +432 -0
  445. data/stdlib/timeout/0/timeout.rbs +81 -0
  446. data/stdlib/tmpdir/0/tmpdir.rbs +69 -0
  447. data/stdlib/tsort/0/cyclic.rbs +5 -0
  448. data/stdlib/tsort/0/interfaces.rbs +20 -0
  449. data/stdlib/tsort/0/tsort.rbs +409 -0
  450. data/stdlib/uri/0/common.rbs +582 -0
  451. data/stdlib/uri/0/file.rbs +118 -0
  452. data/stdlib/uri/0/ftp.rbs +13 -0
  453. data/stdlib/uri/0/generic.rbs +1108 -0
  454. data/stdlib/uri/0/http.rbs +104 -0
  455. data/stdlib/uri/0/https.rbs +14 -0
  456. data/stdlib/uri/0/ldap.rbs +230 -0
  457. data/stdlib/uri/0/ldaps.rbs +14 -0
  458. data/stdlib/uri/0/mailto.rbs +92 -0
  459. data/stdlib/uri/0/rfc2396_parser.rbs +189 -0
  460. data/stdlib/uri/0/rfc3986_parser.rbs +2 -0
  461. data/stdlib/uri/0/ws.rbs +13 -0
  462. data/stdlib/uri/0/wss.rbs +9 -0
  463. data/stdlib/yaml/0/manifest.yaml +2 -0
  464. data/stdlib/yaml/0/yaml.rbs +1 -0
  465. data/stdlib/zlib/0/buf_error.rbs +10 -0
  466. data/stdlib/zlib/0/data_error.rbs +10 -0
  467. data/stdlib/zlib/0/deflate.rbs +210 -0
  468. data/stdlib/zlib/0/error.rbs +20 -0
  469. data/stdlib/zlib/0/gzip_file/crc_error.rbs +12 -0
  470. data/stdlib/zlib/0/gzip_file/error.rbs +23 -0
  471. data/stdlib/zlib/0/gzip_file/length_error.rbs +12 -0
  472. data/stdlib/zlib/0/gzip_file/no_footer.rbs +11 -0
  473. data/stdlib/zlib/0/gzip_file.rbs +156 -0
  474. data/stdlib/zlib/0/gzip_reader.rbs +293 -0
  475. data/stdlib/zlib/0/gzip_writer.rbs +166 -0
  476. data/stdlib/zlib/0/inflate.rbs +180 -0
  477. data/stdlib/zlib/0/mem_error.rbs +10 -0
  478. data/stdlib/zlib/0/need_dict.rbs +13 -0
  479. data/stdlib/zlib/0/stream_end.rbs +11 -0
  480. data/stdlib/zlib/0/stream_error.rbs +11 -0
  481. data/stdlib/zlib/0/version_error.rbs +11 -0
  482. data/stdlib/zlib/0/zlib.rbs +449 -0
  483. data/stdlib/zlib/0/zstream.rbs +200 -0
  484. metadata +532 -0
data/core/symbol.rbs ADDED
@@ -0,0 +1,475 @@
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` `:Fred` will be the same object in all
12
+ # 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 `self.length` is zero; `false` otherwise.
79
+ # * #encoding: Returns the Encoding object that represents the encoding of
80
+ # symbol.
81
+ # * #end_with?: Returns `true` if symbol ends with any of the given strings.
82
+ # * #match: Returns a MatchData object if symbol matches a given Regexp; `nil`
83
+ # otherwise.
84
+ # * #match?: Returns `true` if symbol matches a given Regexp; `false`
85
+ # otherwise.
86
+ # * #length, #size: Returns the number of characters in symbol.
87
+ # * #start_with?: Returns `true` if symbol starts with any of the given
88
+ # strings.
89
+ #
90
+ # ### Methods for Comparing
91
+ #
92
+ # * #<=>: Returns -1, 0, or 1 as a given symbol is smaller than, equal to, or
93
+ # larger than symbol.
94
+ # * #==, #===: Returns `true` if a given symbol has the same content and
95
+ # encoding.
96
+ # * #casecmp: Ignoring case, returns -1, 0, or 1 as a given symbol is smaller
97
+ # than, equal to, or larger than symbol.
98
+ # * #casecmp?: Returns `true` if symbol is equal to a given symbol after
99
+ # Unicode case folding; `false` otherwise.
100
+ #
101
+ # ### Methods for Converting
102
+ #
103
+ # * #capitalize: Returns symbol with the first character upcased and all other
104
+ # characters downcased.
105
+ # * #downcase: Returns symbol with all characters downcased.
106
+ # * #inspect: Returns the string representation of `self` as a symbol literal.
107
+ # * #name: Returns the frozen string corresponding to symbol.
108
+ # * #succ, #next: Returns the symbol that is the successor to symbol.
109
+ # * #swapcase: Returns symbol with all upcase characters downcased and all
110
+ # downcase characters upcased.
111
+ # * #to_proc: Returns a Proc object which responds to the method named by
112
+ # symbol.
113
+ # * #to_s, #id2name: Returns the string corresponding to `self`.
114
+ # * #to_sym, #intern: Returns `self`.
115
+ # * #upcase: Returns symbol with all characters upcased.
116
+ #
117
+ class Symbol
118
+ include Comparable
119
+
120
+ # <!--
121
+ # rdoc-file=string.c
122
+ # - Symbol.all_symbols -> array_of_symbols
123
+ # -->
124
+ # Returns an array of all symbols currently in Ruby's symbol table:
125
+ #
126
+ # Symbol.all_symbols.size # => 9334
127
+ # Symbol.all_symbols.take(3) # => [:!, :"\"", :"#"]
128
+ #
129
+ def self.all_symbols: () -> Array[Symbol]
130
+
131
+ # <!--
132
+ # rdoc-file=string.c
133
+ # - symbol <=> object -> -1, 0, +1, or nil
134
+ # -->
135
+ # If `object` is a symbol, returns the equivalent of `symbol.to_s <=>
136
+ # object.to_s`:
137
+ #
138
+ # :bar <=> :foo # => -1
139
+ # :foo <=> :foo # => 0
140
+ # :foo <=> :bar # => 1
141
+ #
142
+ # Otherwise, returns `nil`:
143
+ #
144
+ # :foo <=> 'bar' # => nil
145
+ #
146
+ # Related: String#<=>.
147
+ #
148
+ def <=>: (Symbol object) -> (-1 | 0 | 1)
149
+ | (untyped) -> (-1 | 0 | 1)?
150
+
151
+ # <!--
152
+ # rdoc-file=string.c
153
+ # - symbol == object -> true or false
154
+ # -->
155
+ # Returns `true` if `object` is the same object as `self`, `false` otherwise.
156
+ #
157
+ def ==: (untyped object) -> bool
158
+
159
+ # <!-- rdoc-file=string.c -->
160
+ # Returns `true` if `object` is the same object as `self`, `false` otherwise.
161
+ #
162
+ alias === ==
163
+
164
+ # <!--
165
+ # rdoc-file=string.c
166
+ # - symbol =~ object -> integer or nil
167
+ # -->
168
+ # Equivalent to `symbol.to_s =~ object`, including possible updates to global
169
+ # variables; see String#=~.
170
+ #
171
+ def =~: (Regexp regex) -> Integer?
172
+ | [T] (String::_MatchAgainst[String, T] object) -> T
173
+
174
+ # <!--
175
+ # rdoc-file=string.c
176
+ # - symbol[index] -> string or nil
177
+ # - symbol[start, length] -> string or nil
178
+ # - symbol[range] -> string or nil
179
+ # - symbol[regexp, capture = 0] -> string or nil
180
+ # - symbol[substring] -> string or nil
181
+ # -->
182
+ # Equivalent to `symbol.to_s[]`; see String#[].
183
+ #
184
+ def []: (int start, ?int length) -> String?
185
+ | (range[int?] range) -> String?
186
+ | (Regexp regexp, ?MatchData::capture backref) -> String?
187
+ | (String substring) -> String?
188
+
189
+ # <!--
190
+ # rdoc-file=string.c
191
+ # - capitalize(*options) -> symbol
192
+ # -->
193
+ # Equivalent to `sym.to_s.capitalize.to_sym`.
194
+ #
195
+ # See String#capitalize.
196
+ #
197
+ def capitalize: () -> Symbol
198
+ | (:ascii | :lithuanian | :turkic) -> Symbol
199
+ | (:lithuanian, :turkic) -> Symbol
200
+ | (:turkic, :lithuanian) -> Symbol
201
+
202
+ # <!--
203
+ # rdoc-file=string.c
204
+ # - casecmp(object) -> -1, 0, 1, or nil
205
+ # -->
206
+ # Like Symbol#<=>, but case-insensitive; equivalent to
207
+ # `self.to_s.casecmp(object.to_s)`:
208
+ #
209
+ # lower = :abc
210
+ # upper = :ABC
211
+ # upper.casecmp(lower) # => 0
212
+ # lower.casecmp(lower) # => 0
213
+ # lower.casecmp(upper) # => 0
214
+ #
215
+ # Returns nil if `self` and `object` have incompatible encodings, or if `object`
216
+ # is not a symbol:
217
+ #
218
+ # sym = 'äöü'.encode("ISO-8859-1").to_sym
219
+ # other_sym = 'ÄÖÜ'
220
+ # sym.casecmp(other_sym) # => nil
221
+ # :foo.casecmp(2) # => nil
222
+ #
223
+ # Unlike Symbol#casecmp?, case-insensitivity does not work for characters
224
+ # outside of 'A'..'Z' and 'a'..'z':
225
+ #
226
+ # lower = :äöü
227
+ # upper = :ÄÖÜ
228
+ # upper.casecmp(lower) # => -1
229
+ # lower.casecmp(lower) # => 0
230
+ # lower.casecmp(upper) # => 1
231
+ #
232
+ # Related: Symbol#casecmp?, String#casecmp.
233
+ #
234
+ def casecmp: (untyped object) -> (-1 | 0 | 1)?
235
+
236
+ # <!--
237
+ # rdoc-file=string.c
238
+ # - casecmp?(object) -> true, false, or nil
239
+ # -->
240
+ # Returns `true` if `self` and `object` are equal after Unicode case folding,
241
+ # otherwise `false`:
242
+ #
243
+ # lower = :abc
244
+ # upper = :ABC
245
+ # upper.casecmp?(lower) # => true
246
+ # lower.casecmp?(lower) # => true
247
+ # lower.casecmp?(upper) # => true
248
+ #
249
+ # Returns nil if `self` and `object` have incompatible encodings, or if `object`
250
+ # is not a symbol:
251
+ #
252
+ # sym = 'äöü'.encode("ISO-8859-1").to_sym
253
+ # other_sym = 'ÄÖÜ'
254
+ # sym.casecmp?(other_sym) # => nil
255
+ # :foo.casecmp?(2) # => nil
256
+ #
257
+ # Unlike Symbol#casecmp, works for characters outside of 'A'..'Z' and 'a'..'z':
258
+ #
259
+ # lower = :äöü
260
+ # upper = :ÄÖÜ
261
+ # upper.casecmp?(lower) # => true
262
+ # lower.casecmp?(lower) # => true
263
+ # lower.casecmp?(upper) # => true
264
+ #
265
+ # Related: Symbol#casecmp, String#casecmp?.
266
+ #
267
+ def casecmp?: (untyped object) -> bool?
268
+
269
+ # <!--
270
+ # rdoc-file=string.c
271
+ # - downcase(*options) -> symbol
272
+ # -->
273
+ # Equivalent to `sym.to_s.downcase.to_sym`.
274
+ #
275
+ # See String#downcase.
276
+ #
277
+ # Related: Symbol#upcase.
278
+ #
279
+ def downcase: () -> Symbol
280
+ | (:ascii | :fold | :lithuanian | :turkic) -> Symbol
281
+ | (:lithuanian, :turkic) -> Symbol
282
+ | (:turkic, :lithuanian) -> Symbol
283
+
284
+ # <!--
285
+ # rdoc-file=string.c
286
+ # - empty? -> true or false
287
+ # -->
288
+ # Returns `true` if `self` is `:''`, `false` otherwise.
289
+ #
290
+ def empty?: () -> bool
291
+
292
+ # <!--
293
+ # rdoc-file=string.c
294
+ # - encoding -> encoding
295
+ # -->
296
+ # Equivalent to `self.to_s.encoding`; see String#encoding.
297
+ #
298
+ def encoding: () -> Encoding
299
+
300
+ # <!--
301
+ # rdoc-file=string.c
302
+ # - end_with?(*strings) -> true or false
303
+ # -->
304
+ # Equivalent to `self.to_s.end_with?`; see String#end_with?.
305
+ #
306
+ def end_with?: (*string suffixes) -> bool
307
+
308
+ # <!--
309
+ # rdoc-file=symbol.rb
310
+ # - id2name()
311
+ # -->
312
+ #
313
+ alias id2name to_s
314
+
315
+ # <!--
316
+ # rdoc-file=string.c
317
+ # - inspect -> string
318
+ # -->
319
+ # Returns a string representation of `self` (including the leading colon):
320
+ #
321
+ # :foo.inspect # => ":foo"
322
+ #
323
+ # Related: Symbol#to_s, Symbol#name.
324
+ #
325
+ def inspect: () -> String
326
+
327
+ # <!--
328
+ # rdoc-file=symbol.rb
329
+ # - intern()
330
+ # -->
331
+ #
332
+ alias intern to_sym
333
+
334
+ # <!--
335
+ # rdoc-file=string.c
336
+ # - length -> integer
337
+ # -->
338
+ # Equivalent to `self.to_s.length`; see String#length.
339
+ #
340
+ def length: () -> Integer
341
+
342
+ # <!--
343
+ # rdoc-file=string.c
344
+ # - match(pattern, offset = 0) -> matchdata or nil
345
+ # - match(pattern, offset = 0) {|matchdata| } -> object
346
+ # -->
347
+ # Equivalent to `self.to_s.match`, including possible updates to global
348
+ # variables; see String#match.
349
+ #
350
+ def match: (Regexp | string pattern, ?int offset) -> MatchData?
351
+ | [T] (Regexp | string pattern, ?int offset) { (MatchData matchdata) -> T } -> T?
352
+
353
+ # <!--
354
+ # rdoc-file=string.c
355
+ # - match?(pattern, offset) -> true or false
356
+ # -->
357
+ # Equivalent to `sym.to_s.match?`; see String#match.
358
+ #
359
+ def match?: (Regexp | string pattern, ?int offset) -> bool
360
+
361
+ # <!-- rdoc-file=string.c -->
362
+ # Equivalent to `self.to_s.succ.to_sym`:
363
+ #
364
+ # :foo.succ # => :fop
365
+ #
366
+ # Related: String#succ.
367
+ #
368
+ def next: () -> Symbol
369
+
370
+ # <!--
371
+ # rdoc-file=symbol.rb
372
+ # - name -> string
373
+ # -->
374
+ # Returns a frozen string representation of `self` (not including the leading
375
+ # colon):
376
+ #
377
+ # :foo.name # => "foo"
378
+ # :foo.name.frozen? # => true
379
+ #
380
+ # Related: Symbol#to_s, Symbol#inspect.
381
+ #
382
+ def name: () -> String
383
+
384
+ # <!-- rdoc-file=string.c -->
385
+ # Equivalent to `self.to_s.length`; see String#length.
386
+ #
387
+ alias size length
388
+
389
+ # <!-- rdoc-file=string.c -->
390
+ # Equivalent to `symbol.to_s[]`; see String#[].
391
+ #
392
+ alias slice []
393
+
394
+ # <!--
395
+ # rdoc-file=string.c
396
+ # - start_with?(*string_or_regexp) -> true or false
397
+ # -->
398
+ # Equivalent to `self.to_s.start_with?`; see String#start_with?.
399
+ #
400
+ def start_with?: (*Regexp | string prefixes) -> bool
401
+
402
+ # <!--
403
+ # rdoc-file=string.c
404
+ # - succ
405
+ # -->
406
+ # Equivalent to `self.to_s.succ.to_sym`:
407
+ #
408
+ # :foo.succ # => :fop
409
+ #
410
+ # Related: String#succ.
411
+ #
412
+ alias succ next
413
+
414
+ # <!--
415
+ # rdoc-file=string.c
416
+ # - swapcase(*options) -> symbol
417
+ # -->
418
+ # Equivalent to `sym.to_s.swapcase.to_sym`.
419
+ #
420
+ # See String#swapcase.
421
+ #
422
+ def swapcase: () -> Symbol
423
+ | (:ascii | :lithuanian | :turkic) -> Symbol
424
+ | (:lithuanian, :turkic) -> Symbol
425
+ | (:turkic, :lithuanian) -> Symbol
426
+
427
+ # <!--
428
+ # rdoc-file=string.c
429
+ # - to_proc
430
+ # -->
431
+ # Returns a Proc object which calls the method with name of `self` on the first
432
+ # parameter and passes the remaining parameters to the method.
433
+ #
434
+ # proc = :to_s.to_proc # => #<Proc:0x000001afe0e48680(&:to_s) (lambda)>
435
+ # proc.call(1000) # => "1000"
436
+ # proc.call(1000, 16) # => "3e8"
437
+ # (1..3).collect(&:to_s) # => ["1", "2", "3"]
438
+ #
439
+ def to_proc: () -> Proc
440
+
441
+ # <!--
442
+ # rdoc-file=symbol.rb
443
+ # - to_s -> string
444
+ # -->
445
+ # Returns a string representation of `self` (not including the leading colon):
446
+ #
447
+ # :foo.to_s # => "foo"
448
+ #
449
+ # Related: Symbol#inspect, Symbol#name.
450
+ #
451
+ def to_s: () -> String
452
+
453
+ # <!--
454
+ # rdoc-file=symbol.rb
455
+ # - to_sym -> self
456
+ # -->
457
+ # Returns `self`.
458
+ #
459
+ # Related: String#to_sym.
460
+ #
461
+ def to_sym: () -> self
462
+
463
+ # <!--
464
+ # rdoc-file=string.c
465
+ # - upcase(*options) -> symbol
466
+ # -->
467
+ # Equivalent to `sym.to_s.upcase.to_sym`.
468
+ #
469
+ # See String#upcase.
470
+ #
471
+ def upcase: () -> Symbol
472
+ | (:ascii | :lithuanian | :turkic) -> Symbol
473
+ | (:lithuanian, :turkic) -> Symbol
474
+ | (:turkic, :lithuanian) -> Symbol
475
+ end