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/method.rbs ADDED
@@ -0,0 +1,386 @@
1
+ # <!-- rdoc-file=proc.c -->
2
+ # Method objects are created by Object#method, and are associated with a
3
+ # particular object (not just with a class). They may be used to invoke the
4
+ # method within the object, and as a block associated with an iterator. They
5
+ # may also be unbound from one object (creating an UnboundMethod) and bound to
6
+ # another.
7
+ #
8
+ # class Thing
9
+ # def square(n)
10
+ # n*n
11
+ # end
12
+ # end
13
+ # thing = Thing.new
14
+ # meth = thing.method(:square)
15
+ #
16
+ # meth.call(9) #=> 81
17
+ # [ 1, 2, 3 ].collect(&meth) #=> [1, 4, 9]
18
+ #
19
+ # [ 1, 2, 3 ].each(&method(:puts)) #=> prints 1, 2, 3
20
+ #
21
+ # require 'date'
22
+ # %w[2017-03-01 2017-03-02].collect(&Date.method(:parse))
23
+ # #=> [#<Date: 2017-03-01 ((2457814j,0s,0n),+0s,2299161j)>, #<Date: 2017-03-02 ((2457815j,0s,0n),+0s,2299161j)>]
24
+ #
25
+ class Method
26
+ # The return type from `#parameters` methods (such as those defined on `Method`, `Proc`, and `UnboundMethod`).
27
+ type param_types = Array[[:req | :opt | :rest | :keyreq | :key | :keyrest | :block, Symbol] | [:rest | :keyrest | :nokey]]
28
+
29
+ # <!--
30
+ # rdoc-file=proc.c
31
+ # - meth.eql?(other_meth) -> true or false
32
+ # - meth == other_meth -> true or false
33
+ # -->
34
+ # Two method objects are equal if they are bound to the same object and refer to
35
+ # the same method definition and the classes defining the methods are the same
36
+ # class or module.
37
+ #
38
+ def ==: (untyped other) -> bool
39
+
40
+ # <!-- rdoc-file=proc.c -->
41
+ # Two method objects are equal if they are bound to the same object and refer to
42
+ # the same method definition and the classes defining the methods are the same
43
+ # class or module.
44
+ #
45
+ alias eql? ==
46
+
47
+ # <!--
48
+ # rdoc-file=proc.c
49
+ # - meth.hash -> integer
50
+ # -->
51
+ # Returns a hash value corresponding to the method object.
52
+ #
53
+ # See also Object#hash.
54
+ #
55
+ def hash: () -> Integer
56
+
57
+ def dup: () -> instance
58
+
59
+ # <!--
60
+ # rdoc-file=proc.c
61
+ # - meth.to_s -> string
62
+ # - meth.inspect -> string
63
+ # -->
64
+ # Returns a human-readable description of the underlying method.
65
+ #
66
+ # "cat".method(:count).inspect #=> "#<Method: String#count(*)>"
67
+ # (1..3).method(:map).inspect #=> "#<Method: Range(Enumerable)#map()>"
68
+ #
69
+ # In the latter case, the method description includes the "owner" of the
70
+ # original method (`Enumerable` module, which is included into `Range`).
71
+ #
72
+ # `inspect` also provides, when possible, method argument names (call sequence)
73
+ # and source location.
74
+ #
75
+ # require 'net/http'
76
+ # Net::HTTP.method(:get).inspect
77
+ # #=> "#<Method: Net::HTTP.get(uri_or_host, path=..., port=...) <skip>/lib/ruby/2.7.0/net/http.rb:457>"
78
+ #
79
+ # `...` in argument definition means argument is optional (has some default
80
+ # value).
81
+ #
82
+ # For methods defined in C (language core and extensions), location and argument
83
+ # names can't be extracted, and only generic information is provided in form of
84
+ # `*` (any number of arguments) or `_` (some positional argument).
85
+ #
86
+ # "cat".method(:count).inspect #=> "#<Method: String#count(*)>"
87
+ # "cat".method(:+).inspect #=> "#<Method: String#+(_)>""
88
+ #
89
+ def inspect: () -> String
90
+
91
+ # <!-- rdoc-file=proc.c -->
92
+ # Returns a human-readable description of the underlying method.
93
+ #
94
+ # "cat".method(:count).inspect #=> "#<Method: String#count(*)>"
95
+ # (1..3).method(:map).inspect #=> "#<Method: Range(Enumerable)#map()>"
96
+ #
97
+ # In the latter case, the method description includes the "owner" of the
98
+ # original method (`Enumerable` module, which is included into `Range`).
99
+ #
100
+ # `inspect` also provides, when possible, method argument names (call sequence)
101
+ # and source location.
102
+ #
103
+ # require 'net/http'
104
+ # Net::HTTP.method(:get).inspect
105
+ # #=> "#<Method: Net::HTTP.get(uri_or_host, path=..., port=...) <skip>/lib/ruby/2.7.0/net/http.rb:457>"
106
+ #
107
+ # `...` in argument definition means argument is optional (has some default
108
+ # value).
109
+ #
110
+ # For methods defined in C (language core and extensions), location and argument
111
+ # names can't be extracted, and only generic information is provided in form of
112
+ # `*` (any number of arguments) or `_` (some positional argument).
113
+ #
114
+ # "cat".method(:count).inspect #=> "#<Method: String#count(*)>"
115
+ # "cat".method(:+).inspect #=> "#<Method: String#+(_)>""
116
+ #
117
+ alias to_s inspect
118
+
119
+ # <!--
120
+ # rdoc-file=proc.c
121
+ # - meth.to_proc -> proc
122
+ # -->
123
+ # Returns a Proc object corresponding to this method.
124
+ #
125
+ def to_proc: () -> Proc
126
+
127
+ # <!--
128
+ # rdoc-file=proc.c
129
+ # - meth.call(args, ...) -> obj
130
+ # -->
131
+ # Invokes the *meth* with the specified arguments, returning the method's return
132
+ # value.
133
+ #
134
+ # m = 12.method("+")
135
+ # m.call(3) #=> 15
136
+ # m.call(20) #=> 32
137
+ #
138
+ def call: (?) -> untyped
139
+
140
+ # <!--
141
+ # rdoc-file=proc.c
142
+ # - meth << g -> a_proc
143
+ # -->
144
+ # Returns a proc that is the composition of this method and the given *g*. The
145
+ # returned proc takes a variable number of arguments, calls *g* with them then
146
+ # calls this method with the result.
147
+ #
148
+ # def f(x)
149
+ # x * x
150
+ # end
151
+ #
152
+ # f = self.method(:f)
153
+ # g = proc {|x| x + x }
154
+ # p (f << g).call(2) #=> 16
155
+ #
156
+ def <<: (Proc::_Callable g) -> Proc
157
+
158
+ # <!-- rdoc-file=proc.c -->
159
+ # Invokes the *meth* with the specified arguments, returning the method's return
160
+ # value.
161
+ #
162
+ # m = 12.method("+")
163
+ # m.call(3) #=> 15
164
+ # m.call(20) #=> 32
165
+ #
166
+ alias === call
167
+
168
+ # <!--
169
+ # rdoc-file=proc.c
170
+ # - meth >> g -> a_proc
171
+ # -->
172
+ # Returns a proc that is the composition of this method and the given *g*. The
173
+ # returned proc takes a variable number of arguments, calls this method with
174
+ # them then calls *g* with the result.
175
+ #
176
+ # def f(x)
177
+ # x * x
178
+ # end
179
+ #
180
+ # f = self.method(:f)
181
+ # g = proc {|x| x + x }
182
+ # p (f >> g).call(2) #=> 8
183
+ #
184
+ def >>: (Proc::_Callable g) -> Proc
185
+
186
+ # <!-- rdoc-file=proc.c -->
187
+ # Invokes the *meth* with the specified arguments, returning the method's return
188
+ # value.
189
+ #
190
+ # m = 12.method("+")
191
+ # m.call(3) #=> 15
192
+ # m.call(20) #=> 32
193
+ #
194
+ alias [] call
195
+
196
+ # <!--
197
+ # rdoc-file=proc.c
198
+ # - meth.arity -> integer
199
+ # -->
200
+ # Returns an indication of the number of arguments accepted by a method. Returns
201
+ # a nonnegative integer for methods that take a fixed number of arguments. For
202
+ # Ruby methods that take a variable number of arguments, returns -n-1, where n
203
+ # is the number of required arguments. Keyword arguments will be considered as a
204
+ # single additional argument, that argument being mandatory if any keyword
205
+ # argument is mandatory. For methods written in C, returns -1 if the call takes
206
+ # a variable number of arguments.
207
+ #
208
+ # class C
209
+ # def one; end
210
+ # def two(a); end
211
+ # def three(*a); end
212
+ # def four(a, b); end
213
+ # def five(a, b, *c); end
214
+ # def six(a, b, *c, &d); end
215
+ # def seven(a, b, x:0); end
216
+ # def eight(x:, y:); end
217
+ # def nine(x:, y:, **z); end
218
+ # def ten(*a, x:, y:); end
219
+ # end
220
+ # c = C.new
221
+ # c.method(:one).arity #=> 0
222
+ # c.method(:two).arity #=> 1
223
+ # c.method(:three).arity #=> -1
224
+ # c.method(:four).arity #=> 2
225
+ # c.method(:five).arity #=> -3
226
+ # c.method(:six).arity #=> -3
227
+ # c.method(:seven).arity #=> -3
228
+ # c.method(:eight).arity #=> 1
229
+ # c.method(:nine).arity #=> 1
230
+ # c.method(:ten).arity #=> -2
231
+ #
232
+ # "cat".method(:size).arity #=> 0
233
+ # "cat".method(:replace).arity #=> 1
234
+ # "cat".method(:squeeze).arity #=> -1
235
+ # "cat".method(:count).arity #=> -1
236
+ #
237
+ def arity: () -> Integer
238
+
239
+ # <!--
240
+ # rdoc-file=proc.c
241
+ # - method.clone -> new_method
242
+ # -->
243
+ # Returns a clone of this method.
244
+ #
245
+ # class A
246
+ # def foo
247
+ # return "bar"
248
+ # end
249
+ # end
250
+ #
251
+ # m = A.new.method(:foo)
252
+ # m.call # => "bar"
253
+ # n = m.clone.call # => "bar"
254
+ #
255
+ def clone: () -> instance
256
+
257
+ # <!--
258
+ # rdoc-file=proc.c
259
+ # - meth.curry -> proc
260
+ # - meth.curry(arity) -> proc
261
+ # -->
262
+ # Returns a curried proc based on the method. When the proc is called with a
263
+ # number of arguments that is lower than the method's arity, then another
264
+ # curried proc is returned. Only when enough arguments have been supplied to
265
+ # satisfy the method signature, will the method actually be called.
266
+ #
267
+ # The optional *arity* argument should be supplied when currying methods with
268
+ # variable arguments to determine how many arguments are needed before the
269
+ # method is called.
270
+ #
271
+ # def foo(a,b,c)
272
+ # [a, b, c]
273
+ # end
274
+ #
275
+ # proc = self.method(:foo).curry
276
+ # proc2 = proc.call(1, 2) #=> #<Proc>
277
+ # proc2.call(3) #=> [1,2,3]
278
+ #
279
+ # def vararg(*args)
280
+ # args
281
+ # end
282
+ #
283
+ # proc = self.method(:vararg).curry(4)
284
+ # proc2 = proc.call(:x) #=> #<Proc>
285
+ # proc3 = proc2.call(:y, :z) #=> #<Proc>
286
+ # proc3.call(:a) #=> [:x, :y, :z, :a]
287
+ #
288
+ def curry: (?int? arity) -> Proc
289
+
290
+ # <!--
291
+ # rdoc-file=proc.c
292
+ # - meth.name -> symbol
293
+ # -->
294
+ # Returns the name of the method.
295
+ #
296
+ def name: () -> Symbol
297
+
298
+ # <!--
299
+ # rdoc-file=proc.c
300
+ # - meth.original_name -> symbol
301
+ # -->
302
+ # Returns the original name of the method.
303
+ #
304
+ # class C
305
+ # def foo; end
306
+ # alias bar foo
307
+ # end
308
+ # C.instance_method(:bar).original_name # => :foo
309
+ #
310
+ def original_name: () -> Symbol
311
+
312
+ # <!--
313
+ # rdoc-file=proc.c
314
+ # - meth.owner -> class_or_module
315
+ # -->
316
+ # Returns the class or module on which this method is defined. In other words,
317
+ #
318
+ # meth.owner.instance_methods(false).include?(meth.name) # => true
319
+ #
320
+ # holds as long as the method is not removed/undefined/replaced, (with
321
+ # private_instance_methods instead of instance_methods if the method is
322
+ # private).
323
+ #
324
+ # See also Method#receiver.
325
+ #
326
+ # (1..3).method(:map).owner #=> Enumerable
327
+ #
328
+ def owner: () -> (Class | Module)
329
+
330
+ # <!--
331
+ # rdoc-file=proc.c
332
+ # - meth.parameters -> array
333
+ # -->
334
+ # Returns the parameter information of this method.
335
+ #
336
+ # def foo(bar); end
337
+ # method(:foo).parameters #=> [[:req, :bar]]
338
+ #
339
+ # def foo(bar, baz, bat, &blk); end
340
+ # method(:foo).parameters #=> [[:req, :bar], [:req, :baz], [:req, :bat], [:block, :blk]]
341
+ #
342
+ # def foo(bar, *args); end
343
+ # method(:foo).parameters #=> [[:req, :bar], [:rest, :args]]
344
+ #
345
+ # def foo(bar, baz, *args, &blk); end
346
+ # method(:foo).parameters #=> [[:req, :bar], [:req, :baz], [:rest, :args], [:block, :blk]]
347
+ #
348
+ def parameters: () -> param_types
349
+
350
+ # <!--
351
+ # rdoc-file=proc.c
352
+ # - meth.receiver -> object
353
+ # -->
354
+ # Returns the bound receiver of the method object.
355
+ #
356
+ # (1..3).method(:map).receiver # => 1..3
357
+ #
358
+ def receiver: () -> untyped
359
+
360
+ # <!--
361
+ # rdoc-file=proc.c
362
+ # - meth.source_location -> [String, Integer]
363
+ # -->
364
+ # Returns the Ruby source filename and line number containing this method or nil
365
+ # if this method was not defined in Ruby (i.e. native).
366
+ #
367
+ def source_location: () -> [String, Integer]?
368
+
369
+ # <!--
370
+ # rdoc-file=proc.c
371
+ # - meth.super_method -> method
372
+ # -->
373
+ # Returns a Method of superclass which would be called when super is used or nil
374
+ # if there is no method on superclass.
375
+ #
376
+ def super_method: () -> Method?
377
+
378
+ # <!--
379
+ # rdoc-file=proc.c
380
+ # - meth.unbind -> unbound_method
381
+ # -->
382
+ # Dissociates *meth* from its current receiver. The resulting UnboundMethod can
383
+ # subsequently be bound to a new object of the same class (see UnboundMethod).
384
+ #
385
+ def unbind: () -> UnboundMethod
386
+ end