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
@@ -0,0 +1,96 @@
1
+ # <!-- rdoc-file=lib/delegate.rb -->
2
+ # A concrete implementation of Delegator, this class provides the means to
3
+ # delegate all supported method calls to the object passed into the constructor
4
+ # and even to change the object being delegated to at a later time with
5
+ # #__setobj__.
6
+ #
7
+ # class User
8
+ # def born_on
9
+ # Date.new(1989, 9, 10)
10
+ # end
11
+ # end
12
+ #
13
+ # require 'delegate'
14
+ #
15
+ # class UserDecorator < SimpleDelegator
16
+ # def birth_year
17
+ # born_on.year
18
+ # end
19
+ # end
20
+ #
21
+ # decorated_user = UserDecorator.new(User.new)
22
+ # decorated_user.birth_year #=> 1989
23
+ # decorated_user.__getobj__ #=> #<User: ...>
24
+ #
25
+ # A SimpleDelegator instance can take advantage of the fact that SimpleDelegator
26
+ # is a subclass of `Delegator` to call `super` to have methods called on the
27
+ # object being delegated to.
28
+ #
29
+ # class SuperArray < SimpleDelegator
30
+ # def [](*args)
31
+ # super + 1
32
+ # end
33
+ # end
34
+ #
35
+ # SuperArray.new([1])[0] #=> 2
36
+ #
37
+ # Here's a simple example that takes advantage of the fact that
38
+ # SimpleDelegator's delegation object can be changed at any time.
39
+ #
40
+ # class Stats
41
+ # def initialize
42
+ # @source = SimpleDelegator.new([])
43
+ # end
44
+ #
45
+ # def stats(records)
46
+ # @source.__setobj__(records)
47
+ #
48
+ # "Elements: #{@source.size}\n" +
49
+ # " Non-Nil: #{@source.compact.size}\n" +
50
+ # " Unique: #{@source.uniq.size}\n"
51
+ # end
52
+ # end
53
+ #
54
+ # s = Stats.new
55
+ # puts s.stats(%w{James Edward Gray II})
56
+ # puts
57
+ # puts s.stats([1, 2, 3, nil, 4, 5, 1, 2])
58
+ #
59
+ # Prints:
60
+ #
61
+ # Elements: 4
62
+ # Non-Nil: 4
63
+ # Unique: 4
64
+ #
65
+ # Elements: 8
66
+ # Non-Nil: 7
67
+ # Unique: 6
68
+ #
69
+ class SimpleDelegator < Delegator
70
+ # <!--
71
+ # rdoc-file=lib/delegate.rb
72
+ # - __getobj__() { || ... }
73
+ # -->
74
+ # Returns the current object method calls are being delegated to.
75
+ #
76
+ def __getobj__: () -> untyped
77
+
78
+ # <!--
79
+ # rdoc-file=lib/delegate.rb
80
+ # - __setobj__(obj)
81
+ # -->
82
+ # Changes the delegate object to *obj*.
83
+ #
84
+ # It's important to note that this does **not** cause SimpleDelegator's methods
85
+ # to change. Because of this, you probably only want to change delegation to
86
+ # objects of the same type as the original delegate.
87
+ #
88
+ # Here's an example of changing the delegation object.
89
+ #
90
+ # names = SimpleDelegator.new(%w{James Edward Gray II})
91
+ # puts names[1] # => Edward
92
+ # names.__setobj__(%w{Gavin Sinclair})
93
+ # puts names[1] # => Sinclair
94
+ #
95
+ def __setobj__: (untyped obj) -> untyped
96
+ end
@@ -0,0 +1,343 @@
1
+ # <!-- rdoc-file=lib/did_you_mean.rb -->
2
+ # The `DidYouMean` gem adds functionality to suggest possible method/class names
3
+ # upon errors such as `NameError` and `NoMethodError`. In Ruby 2.3 or later, it
4
+ # is automatically activated during startup.
5
+ #
6
+ # @example
7
+ #
8
+ # methosd
9
+ # # => NameError: undefined local variable or method `methosd' for main:Object
10
+ # # Did you mean? methods
11
+ # # method
12
+ #
13
+ # OBject
14
+ # # => NameError: uninitialized constant OBject
15
+ # # Did you mean? Object
16
+ #
17
+ # @full_name = "Yuki Nishijima"
18
+ # first_name, last_name = full_name.split(" ")
19
+ # # => NameError: undefined local variable or method `full_name' for main:Object
20
+ # # Did you mean? @full_name
21
+ #
22
+ # @@full_name = "Yuki Nishijima"
23
+ # @@full_anme
24
+ # # => NameError: uninitialized class variable @@full_anme in Object
25
+ # # Did you mean? @@full_name
26
+ #
27
+ # full_name = "Yuki Nishijima"
28
+ # full_name.starts_with?("Y")
29
+ # # => NoMethodError: undefined method `starts_with?' for "Yuki Nishijima":String
30
+ # # Did you mean? start_with?
31
+ #
32
+ # hash = {foo: 1, bar: 2, baz: 3}
33
+ # hash.fetch(:fooo)
34
+ # # => KeyError: key not found: :fooo
35
+ # # Did you mean? :foo
36
+ #
37
+ # ## Disabling `did_you_mean`
38
+ #
39
+ # Occasionally, you may want to disable the `did_you_mean` gem for e.g.
40
+ # debugging issues in the error object itself. You can disable it entirely by
41
+ # specifying `--disable-did_you_mean` option to the `ruby` command:
42
+ #
43
+ # $ ruby --disable-did_you_mean -e "1.zeor?"
44
+ # -e:1:in `<main>': undefined method `zeor?' for 1:Integer (NameError)
45
+ #
46
+ # When you do not have direct access to the `ruby` command (e.g. +rails
47
+ # console+, `irb`), you could applyoptions using the `RUBYOPT` environment
48
+ # variable:
49
+ #
50
+ # $ RUBYOPT='--disable-did_you_mean' irb
51
+ # irb:0> 1.zeor?
52
+ # # => NoMethodError (undefined method `zeor?' for 1:Integer)
53
+ #
54
+ # ## Getting the original error message
55
+ #
56
+ # Sometimes, you do not want to disable the gem entirely, but need to get the
57
+ # original error message without suggestions (e.g. testing). In this case, you
58
+ # could use the `#original_message` method on the error object:
59
+ #
60
+ # no_method_error = begin
61
+ # 1.zeor?
62
+ # rescue NoMethodError => error
63
+ # error
64
+ # end
65
+ #
66
+ # no_method_error.message
67
+ # # => NoMethodError (undefined method `zeor?' for 1:Integer)
68
+ # # Did you mean? zero?
69
+ #
70
+ # no_method_error.original_message
71
+ # # => NoMethodError (undefined method `zeor?' for 1:Integer)
72
+ #
73
+ module DidYouMean
74
+ NameErrorCheckers: Object
75
+
76
+ VERSION: String
77
+
78
+ class ClassNameChecker
79
+ class ClassName < ::String
80
+ end
81
+ end
82
+
83
+ module Correctable
84
+ SKIP_TO_S_FOR_SUPER_LOOKUP: true
85
+
86
+ # <!--
87
+ # rdoc-file=lib/did_you_mean/core_ext/name_error.rb
88
+ # - corrections()
89
+ # -->
90
+ #
91
+ def corrections: () -> Array[String]
92
+ end
93
+
94
+ # <!-- rdoc-file=lib/did_you_mean/formatter.rb -->
95
+ # The `DidYouMean::Formatter` is the basic, default formatter for the gem. The
96
+ # formatter responds to the `message_for` method and it returns a human readable
97
+ # string.
98
+ #
99
+ class Formatter
100
+ # <!--
101
+ # rdoc-file=lib/did_you_mean/formatter.rb
102
+ # - message_for(corrections)
103
+ # -->
104
+ # Returns a human readable string that contains `corrections`. This formatter is
105
+ # designed to be less verbose to not take too much screen space while being
106
+ # helpful enough to the user.
107
+ #
108
+ # @example
109
+ #
110
+ # formatter = DidYouMean::Formatter.new
111
+ #
112
+ # # displays suggestions in two lines with the leading empty line
113
+ # puts formatter.message_for(["methods", "method"])
114
+ #
115
+ # Did you mean? methods
116
+ # method
117
+ # # => nil
118
+ #
119
+ # # displays an empty line
120
+ # puts formatter.message_for([])
121
+ #
122
+ # # => nil
123
+ #
124
+ def self.message_for: (Array[String] corrections) -> String
125
+ end
126
+
127
+ module JaroWinkler
128
+ WEIGHT: Float
129
+
130
+ THRESHOLD: Float
131
+
132
+ # <!--
133
+ # rdoc-file=lib/did_you_mean/jaro_winkler.rb
134
+ # - distance(str1, str2)
135
+ # -->
136
+ #
137
+ def self?.distance: (String, String) -> Integer
138
+ end
139
+
140
+ module Jaro
141
+ # <!--
142
+ # rdoc-file=lib/did_you_mean/jaro_winkler.rb
143
+ # - distance(str1, str2)
144
+ # -->
145
+ #
146
+ def self?.distance: (String, String) -> Integer
147
+ end
148
+
149
+ class KeyErrorChecker
150
+ # <!--
151
+ # rdoc-file=lib/did_you_mean/spell_checkers/key_error_checker.rb
152
+ # - new(key_error)
153
+ # -->
154
+ #
155
+ def initialize: (KeyError[_ToS, Hash[_ToS, untyped]]) -> void
156
+
157
+ # <!--
158
+ # rdoc-file=lib/did_you_mean/spell_checkers/key_error_checker.rb
159
+ # - corrections()
160
+ # -->
161
+ #
162
+ def corrections: () -> Array[String]
163
+ end
164
+
165
+ module Levenshtein
166
+ def self?.distance: (String, String) -> Integer?
167
+ end
168
+
169
+ class MethodNameChecker
170
+ NAMES_TO_EXCLUDE: Hash[untyped, Array[Symbol]]
171
+
172
+ # <!-- rdoc-file=lib/did_you_mean/spell_checkers/method_name_checker.rb -->
173
+ # `MethodNameChecker::RB_RESERVED_WORDS` is the list of reserved words in Ruby
174
+ # that take an argument. Unlike `VariableNameChecker::RB_RESERVED_WORDS`, these
175
+ # reserved words require an argument, and a `NoMethodError` is raised due to the
176
+ # presence of the argument.
177
+ #
178
+ # The `MethodNameChecker` will use this list to suggest a reversed word if a
179
+ # `NoMethodError` is raised and found closest matches.
180
+ #
181
+ # Also see `VariableNameChecker::RB_RESERVED_WORDS`.
182
+ #
183
+ RB_RESERVED_WORDS: Array[Symbol]
184
+
185
+ # <!--
186
+ # rdoc-file=lib/did_you_mean/spell_checkers/method_name_checker.rb
187
+ # - new(exception)
188
+ # -->
189
+ #
190
+ def initialize: (NoMethodError[untyped] exception) -> void
191
+
192
+ # <!--
193
+ # rdoc-file=lib/did_you_mean/spell_checkers/method_name_checker.rb
194
+ # - corrections()
195
+ # -->
196
+ #
197
+ def corrections: () -> Array[Symbol]
198
+ end
199
+
200
+ class NullChecker
201
+ # <!--
202
+ # rdoc-file=lib/did_you_mean/spell_checkers/null_checker.rb
203
+ # - new(*)
204
+ # -->
205
+ #
206
+ def initialize: (*untyped) -> void
207
+
208
+ # <!--
209
+ # rdoc-file=lib/did_you_mean/spell_checkers/null_checker.rb
210
+ # - corrections()
211
+ # -->
212
+ #
213
+ def corrections: () -> Array[untyped]
214
+ end
215
+
216
+ class PatternKeyNameChecker
217
+ # <!--
218
+ # rdoc-file=lib/did_you_mean/spell_checkers/pattern_key_name_checker.rb
219
+ # - new(no_matching_pattern_key_error)
220
+ # -->
221
+ #
222
+ def initialize: (untyped) -> void
223
+
224
+ # <!--
225
+ # rdoc-file=lib/did_you_mean/spell_checkers/pattern_key_name_checker.rb
226
+ # - corrections()
227
+ # -->
228
+ #
229
+ def corrections: () -> Array[String]
230
+ end
231
+
232
+ class RequirePathChecker
233
+ INITIAL_LOAD_PATH: Array[String]
234
+ ENV_SPECIFIC_EXT: String
235
+
236
+ # <!--
237
+ # rdoc-file=lib/did_you_mean/spell_checkers/require_path_checker.rb
238
+ # - requireables()
239
+ # -->
240
+ #
241
+ def self.requireables: () -> Array[String]
242
+
243
+ # <!--
244
+ # rdoc-file=lib/did_you_mean/spell_checkers/require_path_checker.rb
245
+ # - new(exception)
246
+ # -->
247
+ #
248
+ def initialize: (untyped exception) -> void
249
+
250
+ # <!--
251
+ # rdoc-file=lib/did_you_mean/spell_checkers/require_path_checker.rb
252
+ # - corrections()
253
+ # -->
254
+ #
255
+ def corrections: () -> Array[String]
256
+ end
257
+
258
+ class SpellChecker
259
+ # <!--
260
+ # rdoc-file=lib/did_you_mean/spell_checker.rb
261
+ # - new(dictionary:)
262
+ # -->
263
+ #
264
+ def initialize: (dictionary: Array[interned]) -> void
265
+
266
+ # <!--
267
+ # rdoc-file=lib/did_you_mean/spell_checker.rb
268
+ # - correct(input)
269
+ # -->
270
+ #
271
+ def correct: (interned input) -> Array[String]
272
+ end
273
+
274
+ # <!-- rdoc-file=lib/did_you_mean/tree_spell_checker.rb -->
275
+ # spell checker for a dictionary that has a tree structure, see
276
+ # doc/tree_spell_checker_api.md
277
+ #
278
+ class TreeSpellChecker
279
+ # <!--
280
+ # rdoc-file=lib/did_you_mean/tree_spell_checker.rb
281
+ # - new(dictionary:, separator: '/', augment: nil)
282
+ # -->
283
+ #
284
+ def initialize: (dictionary: Array[String], ?separator: String, ?augment: bool?) -> void
285
+
286
+ # <!--
287
+ # rdoc-file=lib/did_you_mean/tree_spell_checker.rb
288
+ # - correct(input)
289
+ # -->
290
+ #
291
+ def correct: (String input) -> Array[String]
292
+ end
293
+
294
+ class VariableNameChecker
295
+ NAMES_TO_EXCLUDE: Hash[String, Array[Symbol]]
296
+
297
+ # <!-- rdoc-file=lib/did_you_mean/spell_checkers/name_error_checkers/variable_name_checker.rb -->
298
+ # `VariableNameChecker::RB_RESERVED_WORDS` is the list of all reserved words in
299
+ # Ruby. They could be declared like methods are, and a typo would cause Ruby to
300
+ # raise a `NameError` because of the way they are declared.
301
+ #
302
+ # The `:VariableNameChecker` will use this list to suggest a reversed word if a
303
+ # `NameError` is raised and found closest matches, excluding:
304
+ #
305
+ # * +do+
306
+ # * +if+
307
+ # * +in+
308
+ # * +or+
309
+ #
310
+ # Also see `MethodNameChecker::RB_RESERVED_WORDS`.
311
+ #
312
+ RB_RESERVED_WORDS: Array[Symbol]
313
+
314
+ # <!--
315
+ # rdoc-file=lib/did_you_mean/spell_checkers/name_error_checkers/variable_name_checker.rb
316
+ # - new(exception)
317
+ # -->
318
+ #
319
+ def initialize: (NameError[untyped]) -> void
320
+
321
+ # <!--
322
+ # rdoc-file=lib/did_you_mean/spell_checkers/name_error_checkers/variable_name_checker.rb
323
+ # - corrections()
324
+ # -->
325
+ #
326
+ def corrections: () -> Array[Symbol]
327
+ end
328
+ end
329
+
330
+ %a{annotate:rdoc:skip}
331
+ class NameError[T]
332
+ prepend DidYouMean::Correctable
333
+ end
334
+
335
+ %a{annotate:rdoc:skip}
336
+ class KeyError[K, R]
337
+ prepend DidYouMean::Correctable
338
+ end
339
+
340
+ %a{annotate:rdoc:skip}
341
+ class LoadError
342
+ prepend DidYouMean::Correctable
343
+ end