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/errors.rbs ADDED
@@ -0,0 +1,760 @@
1
+ # <!-- rdoc-file=error.c -->
2
+ # Raised when the arguments are wrong and there isn't a more specific Exception
3
+ # class.
4
+ #
5
+ # Ex: passing the wrong number of arguments
6
+ #
7
+ # [1, 2, 3].first(4, 5)
8
+ #
9
+ # *raises the exception:*
10
+ #
11
+ # ArgumentError: wrong number of arguments (given 2, expected 1)
12
+ #
13
+ # Ex: passing an argument that is not acceptable:
14
+ #
15
+ # [1, 2, 3].first(-4)
16
+ #
17
+ # *raises the exception:*
18
+ #
19
+ # ArgumentError: negative array size
20
+ #
21
+ class ArgumentError < StandardError
22
+ end
23
+
24
+ # <!-- rdoc-file=thread_sync.c -->
25
+ # The exception class which will be raised when pushing into a closed Queue.
26
+ # See Thread::Queue#close and Thread::SizedQueue#close.
27
+ #
28
+ class ClosedQueueError < StopIteration
29
+ end
30
+
31
+ # <!-- rdoc-file=error.c -->
32
+ # EncodingError is the base class for encoding errors.
33
+ #
34
+ class EncodingError < StandardError
35
+ end
36
+
37
+ # <!-- rdoc-file=io.c -->
38
+ # Raised by some IO operations when reaching the end of file. Many IO methods
39
+ # exist in two forms,
40
+ #
41
+ # one that returns `nil` when the end of file is reached, the other raises
42
+ # EOFError.
43
+ #
44
+ # EOFError is a subclass of IOError.
45
+ #
46
+ # file = File.open("/etc/hosts")
47
+ # file.read
48
+ # file.gets #=> nil
49
+ # file.readline #=> EOFError: end of file reached
50
+ # file.close
51
+ #
52
+ class EOFError < IOError
53
+ end
54
+
55
+ # <!-- rdoc-file=numeric.c -->
56
+ # Raised when attempting to convert special float values (in particular
57
+ # `Infinity` or `NaN`) to numerical classes which don't support them.
58
+ #
59
+ # Float::INFINITY.to_r #=> FloatDomainError: Infinity
60
+ #
61
+ class FloatDomainError < RangeError
62
+ end
63
+
64
+ # <!-- rdoc-file=error.c -->
65
+ # Raised when there is an attempt to modify a frozen object.
66
+ #
67
+ # [1, 2, 3].freeze << 4
68
+ #
69
+ # *raises the exception:*
70
+ #
71
+ # FrozenError: can't modify frozen Array
72
+ #
73
+ class FrozenError[T] < RuntimeError
74
+ # <!--
75
+ # rdoc-file=error.c
76
+ # - FrozenError.new(msg=nil, receiver: nil) -> frozen_error
77
+ # -->
78
+ # Construct a new FrozenError exception. If given the *receiver* parameter may
79
+ # subsequently be examined using the FrozenError#receiver method.
80
+ #
81
+ # a = [].freeze
82
+ # raise FrozenError.new("can't modify frozen array", receiver: a)
83
+ #
84
+ def initialize: (?string? msg, ?receiver: T?) -> void
85
+
86
+ # <!--
87
+ # rdoc-file=error.c
88
+ # - frozen_error.receiver -> object
89
+ # -->
90
+ # Return the receiver associated with this FrozenError exception.
91
+ #
92
+ def receiver: () -> T?
93
+ end
94
+
95
+ # <!-- rdoc-file=error.c -->
96
+ # Raised when the given index is invalid.
97
+ #
98
+ # a = [:foo, :bar]
99
+ # a.fetch(0) #=> :foo
100
+ # a[4] #=> nil
101
+ # a.fetch(4) #=> IndexError: index 4 outside of array bounds: -2...2
102
+ #
103
+ class IndexError < StandardError
104
+ end
105
+
106
+ # <!-- rdoc-file=error.c -->
107
+ # Raised when the interrupt signal is received, typically because the user has
108
+ # pressed Control-C (on most posix platforms). As such, it is a subclass of
109
+ # `SignalException`.
110
+ #
111
+ # begin
112
+ # puts "Press ctrl-C when you get bored"
113
+ # loop {}
114
+ # rescue Interrupt => e
115
+ # puts "Note: You will typically use Signal.trap instead."
116
+ # end
117
+ #
118
+ # *produces:*
119
+ #
120
+ # Press ctrl-C when you get bored
121
+ #
122
+ # *then waits until it is interrupted with Control-C and then prints:*
123
+ #
124
+ # Note: You will typically use Signal.trap instead.
125
+ #
126
+ class Interrupt < SignalException
127
+ def initialize: (?string) -> void
128
+ end
129
+
130
+ # <!-- rdoc-file=io.c -->
131
+ # Raised when an IO operation fails.
132
+ #
133
+ # File.open("/etc/hosts") {|f| f << "example"}
134
+ # #=> IOError: not opened for writing
135
+ #
136
+ # File.open("/etc/hosts") {|f| f.close; f.read }
137
+ # #=> IOError: closed stream
138
+ #
139
+ # Note that some IO failures raise `SystemCallError`s and these are not
140
+ # subclasses of IOError:
141
+ #
142
+ # File.open("does/not/exist")
143
+ # #=> Errno::ENOENT: No such file or directory - does/not/exist
144
+ #
145
+ class IOError < StandardError
146
+ end
147
+
148
+ # <!-- rdoc-file=error.c -->
149
+ # Raised when the specified key is not found. It is a subclass of IndexError.
150
+ #
151
+ # h = {"foo" => :bar}
152
+ # h.fetch("foo") #=> :bar
153
+ # h.fetch("baz") #=> KeyError: key not found: "baz"
154
+ #
155
+ class KeyError[K, R] < IndexError
156
+ # <!--
157
+ # rdoc-file=error.c
158
+ # - KeyError.new(message=nil, receiver: nil, key: nil) -> key_error
159
+ # -->
160
+ # Construct a new `KeyError` exception with the given message, receiver and key.
161
+ #
162
+ def initialize: (?string msg, ?receiver: R?, ?key: K?) -> void
163
+
164
+ # <!--
165
+ # rdoc-file=error.c
166
+ # - key_error.key -> object
167
+ # -->
168
+ # Return the key caused this KeyError exception.
169
+ #
170
+ def key: () -> K?
171
+
172
+ # <!--
173
+ # rdoc-file=error.c
174
+ # - key_error.receiver -> object
175
+ # -->
176
+ # Return the receiver associated with this KeyError exception.
177
+ #
178
+ def receiver: () -> R?
179
+ end
180
+
181
+ # <!-- rdoc-file=error.c -->
182
+ # Raised when a file required (a Ruby script, extension library, ...) fails to
183
+ # load.
184
+ #
185
+ # require 'this/file/does/not/exist'
186
+ #
187
+ # *raises the exception:*
188
+ #
189
+ # LoadError: no such file to load -- this/file/does/not/exist
190
+ #
191
+ # <!-- rdoc-file=lib/bundled_gems.rb -->
192
+ # for RubyGems without Bundler environment. If loading library is not part of
193
+ # the default gems and the bundled gems, warn it.
194
+ #
195
+ class LoadError < ScriptError
196
+ # <!-- rdoc-file=error.c -->
197
+ # the path that failed to load
198
+ #
199
+ def path: () -> String?
200
+ end
201
+
202
+ # <!-- rdoc-file=proc.c -->
203
+ # Raised when Ruby can't yield as requested.
204
+ #
205
+ # A typical scenario is attempting to yield when no block is given:
206
+ #
207
+ # def call_block
208
+ # yield 42
209
+ # end
210
+ # call_block
211
+ #
212
+ # *raises the exception:*
213
+ #
214
+ # LocalJumpError: no block given (yield)
215
+ #
216
+ # A more subtle example:
217
+ #
218
+ # def get_me_a_return
219
+ # Proc.new { return 42 }
220
+ # end
221
+ # get_me_a_return.call
222
+ #
223
+ # *raises the exception:*
224
+ #
225
+ # LocalJumpError: unexpected return
226
+ #
227
+ class LocalJumpError < StandardError
228
+ # <!--
229
+ # rdoc-file=proc.c
230
+ # - local_jump_error.exit_value -> obj
231
+ # -->
232
+ # Returns the exit value associated with this `LocalJumpError`.
233
+ #
234
+ def exit_value: () -> untyped
235
+
236
+ # <!--
237
+ # rdoc-file=proc.c
238
+ # - local_jump_error.reason -> symbol
239
+ # -->
240
+ # The reason this block was terminated: :break, :redo, :retry, :next, :return,
241
+ # or :noreason.
242
+ #
243
+ def reason: () -> Symbol
244
+ end
245
+
246
+ # <!-- rdoc-file=error.c -->
247
+ # Raised when a given name is invalid or undefined.
248
+ #
249
+ # puts foo
250
+ #
251
+ # *raises the exception:*
252
+ #
253
+ # NameError: undefined local variable or method `foo' for main:Object
254
+ #
255
+ # Since constant names must start with a capital:
256
+ #
257
+ # Integer.const_set :answer, 42
258
+ #
259
+ # *raises the exception:*
260
+ #
261
+ # NameError: wrong constant name answer
262
+ #
263
+ class NameError[T] < StandardError
264
+ # <!--
265
+ # rdoc-file=error.c
266
+ # - NameError.new(msg=nil, name=nil, receiver: nil) -> name_error
267
+ # -->
268
+ # Construct a new NameError exception. If given the *name* parameter may
269
+ # subsequently be examined using the NameError#name method. *receiver* parameter
270
+ # allows to pass object in context of which the error happened. Example:
271
+ #
272
+ # [1, 2, 3].method(:rject) # NameError with name "rject" and receiver: Array
273
+ # [1, 2, 3].singleton_method(:rject) # NameError with name "rject" and receiver: [1, 2, 3]
274
+ #
275
+ def initialize: (?string msg, ?String? name, ?receiver: T?) -> void
276
+
277
+ # <!--
278
+ # rdoc-file=error.c
279
+ # - name_error.local_variables -> array
280
+ # -->
281
+ # Return a list of the local variable names defined where this NameError
282
+ # exception was raised.
283
+ #
284
+ # Internal use only.
285
+ #
286
+ def local_variables: () -> ::Array[Symbol]
287
+
288
+ # <!--
289
+ # rdoc-file=error.c
290
+ # - name_error.name -> string or nil
291
+ # -->
292
+ # Return the name associated with this NameError exception.
293
+ #
294
+ def name: () -> String?
295
+
296
+ # <!--
297
+ # rdoc-file=error.c
298
+ # - name_error.receiver -> object
299
+ # -->
300
+ # Return the receiver associated with this NameError exception.
301
+ #
302
+ def receiver: () -> T?
303
+ end
304
+
305
+ class NoMatchingPatternError < StandardError
306
+ end
307
+
308
+ class NoMatchingPatternKeyError[M, K] < NoMatchingPatternError
309
+ # <!--
310
+ # rdoc-file=error.c
311
+ # - NoMatchingPatternKeyError.new(message=nil, matchee: nil, key: nil) -> no_matching_pattern_key_error
312
+ # -->
313
+ # Construct a new `NoMatchingPatternKeyError` exception with the given message,
314
+ # matchee and key.
315
+ #
316
+ def initialize: (?string message, matchee: M, key: K) -> void
317
+
318
+ # <!--
319
+ # rdoc-file=error.c
320
+ # - no_matching_pattern_key_error.matchee -> object
321
+ # -->
322
+ # Return the matchee associated with this NoMatchingPatternKeyError exception.
323
+ #
324
+ def matchee: () -> M
325
+
326
+ # <!--
327
+ # rdoc-file=error.c
328
+ # - no_matching_pattern_key_error.key -> object
329
+ # -->
330
+ # Return the key caused this NoMatchingPatternKeyError exception.
331
+ #
332
+ def key: () -> K
333
+ end
334
+
335
+ # <!-- rdoc-file=error.c -->
336
+ # Raised when memory allocation fails.
337
+ #
338
+ class NoMemoryError < Exception
339
+ end
340
+
341
+ # <!-- rdoc-file=error.c -->
342
+ # Raised when a method is called on a receiver which doesn't have it defined and
343
+ # also fails to respond with `method_missing`.
344
+ #
345
+ # "hello".to_ary
346
+ #
347
+ # *raises the exception:*
348
+ #
349
+ # NoMethodError: undefined method `to_ary' for an instance of String
350
+ #
351
+ class NoMethodError[T] < NameError[T]
352
+ # <!--
353
+ # rdoc-file=error.c
354
+ # - NoMethodError.new(msg=nil, name=nil, args=nil, private=false, receiver: nil) -> no_method_error
355
+ # -->
356
+ # Construct a NoMethodError exception for a method of the given name called with
357
+ # the given arguments. The name may be accessed using the `#name` method on the
358
+ # resulting object, and the arguments using the `#args` method.
359
+ #
360
+ # If *private* argument were passed, it designates method was attempted to call
361
+ # in private context, and can be accessed with `#private_call?` method.
362
+ #
363
+ # *receiver* argument stores an object whose method was called.
364
+ #
365
+ def initialize: (?string? msg, ?String? name, ?Array[untyped] args, ?boolish `private`, ?receiver: T?) -> void
366
+
367
+ # <!--
368
+ # rdoc-file=error.c
369
+ # - no_method_error.args -> obj
370
+ # -->
371
+ # Return the arguments passed in as the third parameter to the constructor.
372
+ #
373
+ def args: () -> Array[untyped]
374
+
375
+ # <!--
376
+ # rdoc-file=error.c
377
+ # - no_method_error.private_call? -> true or false
378
+ # -->
379
+ # Return true if the caused method was called as private.
380
+ #
381
+ def private_call?: () -> bool
382
+ end
383
+
384
+ # <!-- rdoc-file=error.c -->
385
+ # Raised when a feature is not implemented on the current platform. For example,
386
+ # methods depending on the `fsync` or `fork` system calls may raise this
387
+ # exception if the underlying operating system or Ruby runtime does not support
388
+ # them.
389
+ #
390
+ # Note that if `fork` raises a `NotImplementedError`, then `respond_to?(:fork)`
391
+ # returns `false`.
392
+ #
393
+ class NotImplementedError < ScriptError
394
+ end
395
+
396
+ # <!-- rdoc-file=error.c -->
397
+ # Raised when a given numerical value is out of range.
398
+ #
399
+ # [1, 2, 3].drop(1 << 100)
400
+ #
401
+ # *raises the exception:*
402
+ #
403
+ # RangeError: bignum too big to convert into `long'
404
+ #
405
+ class RangeError < StandardError
406
+ end
407
+
408
+ # <!-- rdoc-file=re.c -->
409
+ # Raised when given an invalid regexp expression.
410
+ #
411
+ # Regexp.new("?")
412
+ #
413
+ # *raises the exception:*
414
+ #
415
+ # RegexpError: target of repeat operator is not specified: /?/
416
+ #
417
+ class RegexpError < StandardError
418
+ end
419
+
420
+ # <!-- rdoc-file=error.c -->
421
+ # A generic error class raised when an invalid operation is attempted.
422
+ # Kernel#raise will raise a RuntimeError if no Exception class is specified.
423
+ #
424
+ # raise "ouch"
425
+ #
426
+ # *raises the exception:*
427
+ #
428
+ # RuntimeError: ouch
429
+ #
430
+ class RuntimeError < StandardError
431
+ end
432
+
433
+ # <!-- rdoc-file=error.c -->
434
+ # ScriptError is the superclass for errors raised when a script can not be
435
+ # executed because of a `LoadError`, `NotImplementedError` or a `SyntaxError`.
436
+ # Note these type of `ScriptErrors` are not `StandardError` and will not be
437
+ # rescued unless it is specified explicitly (or its ancestor `Exception`).
438
+ #
439
+ class ScriptError < Exception
440
+ end
441
+
442
+ # <!-- rdoc-file=error.c -->
443
+ # No longer used by internal code.
444
+ #
445
+ class SecurityError < Exception
446
+ end
447
+
448
+ # <!-- rdoc-file=error.c -->
449
+ # Raised when a signal is received.
450
+ #
451
+ # begin
452
+ # Process.kill('HUP',Process.pid)
453
+ # sleep # wait for receiver to handle signal sent by Process.kill
454
+ # rescue SignalException => e
455
+ # puts "received Exception #{e}"
456
+ # end
457
+ #
458
+ # *produces:*
459
+ #
460
+ # received Exception SIGHUP
461
+ #
462
+ class SignalException < Exception
463
+ # <!--
464
+ # rdoc-file=signal.c
465
+ # - SignalException.new(sig_name) -> signal_exception
466
+ # - SignalException.new(sig_number [, name]) -> signal_exception
467
+ # -->
468
+ # Construct a new SignalException object. `sig_name` should be a known signal
469
+ # name.
470
+ #
471
+ def initialize: (?string sig_name) -> void
472
+ | (int sig_number, ?string sig_name) -> void
473
+
474
+ def signm: () -> String
475
+
476
+ # <!--
477
+ # rdoc-file=signal.c
478
+ # - signal_exception.signo -> num
479
+ # -->
480
+ # Returns a signal number.
481
+ #
482
+ def signo: () -> Integer
483
+ end
484
+
485
+ # <!-- rdoc-file=error.c -->
486
+ # The most standard error types are subclasses of StandardError. A rescue clause
487
+ # without an explicit Exception class will rescue all StandardErrors (and only
488
+ # those).
489
+ #
490
+ # def foo
491
+ # raise "Oups"
492
+ # end
493
+ # foo rescue "Hello" #=> "Hello"
494
+ #
495
+ # On the other hand:
496
+ #
497
+ # require 'does/not/exist' rescue "Hi"
498
+ #
499
+ # *raises the exception:*
500
+ #
501
+ # LoadError: no such file to load -- does/not/exist
502
+ #
503
+ class StandardError < Exception
504
+ end
505
+
506
+ # <!-- rdoc-file=enumerator.c -->
507
+ # Raised to stop the iteration, in particular by Enumerator#next. It is rescued
508
+ # by Kernel#loop.
509
+ #
510
+ # loop do
511
+ # puts "Hello"
512
+ # raise StopIteration
513
+ # puts "World"
514
+ # end
515
+ # puts "Done!"
516
+ #
517
+ # *produces:*
518
+ #
519
+ # Hello
520
+ # Done!
521
+ #
522
+ class StopIteration < IndexError
523
+ # <!--
524
+ # rdoc-file=enumerator.c
525
+ # - result -> value
526
+ # -->
527
+ # Returns the return value of the iterator.
528
+ #
529
+ # o = Object.new
530
+ # def o.each
531
+ # yield 1
532
+ # yield 2
533
+ # yield 3
534
+ # 100
535
+ # end
536
+ #
537
+ # e = o.to_enum
538
+ #
539
+ # puts e.next #=> 1
540
+ # puts e.next #=> 2
541
+ # puts e.next #=> 3
542
+ #
543
+ # begin
544
+ # e.next
545
+ # rescue StopIteration => ex
546
+ # puts ex.result #=> 100
547
+ # end
548
+ #
549
+ def result: () -> untyped
550
+ end
551
+
552
+ # <!-- rdoc-file=error.c -->
553
+ # Raised when encountering Ruby code with an invalid syntax.
554
+ #
555
+ # eval("1+1=2")
556
+ #
557
+ # *raises the exception:*
558
+ #
559
+ # SyntaxError: (eval):1: syntax error, unexpected '=', expecting $end
560
+ #
561
+ class SyntaxError < ScriptError
562
+ # <!--
563
+ # rdoc-file=error.c
564
+ # - SyntaxError.new([msg]) -> syntax_error
565
+ # -->
566
+ # Construct a SyntaxError exception.
567
+ #
568
+ def initialize: (?string msg) -> void
569
+
570
+ # <!-- rdoc-file=error.c -->
571
+ # the path that failed to parse
572
+ #
573
+ def path: () -> String?
574
+ end
575
+
576
+ # <!-- rdoc-file=error.c -->
577
+ # SystemCallError is the base class for all low-level platform-dependent errors.
578
+ #
579
+ # The errors available on the current platform are subclasses of SystemCallError
580
+ # and are defined in the Errno module.
581
+ #
582
+ # File.open("does/not/exist")
583
+ #
584
+ # *raises the exception:*
585
+ #
586
+ # Errno::ENOENT: No such file or directory - does/not/exist
587
+ #
588
+ class SystemCallError < StandardError
589
+ # <!--
590
+ # rdoc-file=error.c
591
+ # - SystemCallError.new(msg, errno) -> system_call_error_subclass
592
+ # -->
593
+ # If *errno* corresponds to a known system error code, constructs the
594
+ # appropriate Errno class for that error, otherwise constructs a generic
595
+ # SystemCallError object. The error number is subsequently available via the
596
+ # #errno method.
597
+ #
598
+ def initialize: (string msg, Integer errno) -> void
599
+
600
+ # <!--
601
+ # rdoc-file=error.c
602
+ # - system_call_error === other -> true or false
603
+ # -->
604
+ # Return `true` if the receiver is a generic `SystemCallError`, or if the error
605
+ # numbers `self` and *other* are the same.
606
+ #
607
+ def self.===: (untyped other) -> bool
608
+
609
+ # <!--
610
+ # rdoc-file=error.c
611
+ # - system_call_error.errno -> integer
612
+ # -->
613
+ # Return this SystemCallError's error number.
614
+ #
615
+ def errno: () -> Integer
616
+ end
617
+
618
+ # <!-- rdoc-file=error.c -->
619
+ # Raised by `exit` to initiate the termination of the script.
620
+ #
621
+ class SystemExit < Exception
622
+ # <!--
623
+ # rdoc-file=error.c
624
+ # - SystemExit.new -> system_exit
625
+ # - SystemExit.new(status) -> system_exit
626
+ # - SystemExit.new(status, msg) -> system_exit
627
+ # - SystemExit.new(msg) -> system_exit
628
+ # -->
629
+ # Create a new `SystemExit` exception with the given status and message. Status
630
+ # is true, false, or an integer. If status is not given, true is used.
631
+ #
632
+ def initialize: () -> void
633
+ | (string msg) -> void
634
+ | (true | false | int status, ?string msg) -> void
635
+
636
+ # <!--
637
+ # rdoc-file=error.c
638
+ # - system_exit.status -> integer
639
+ # -->
640
+ # Return the status value associated with this system exit.
641
+ #
642
+ def status: () -> Integer
643
+
644
+ # <!--
645
+ # rdoc-file=error.c
646
+ # - system_exit.success? -> true or false
647
+ # -->
648
+ # Returns `true` if exiting successful, `false` if not.
649
+ #
650
+ def success?: () -> bool
651
+ end
652
+
653
+ # <!-- rdoc-file=proc.c -->
654
+ # Raised in case of a stack overflow.
655
+ #
656
+ # def me_myself_and_i
657
+ # me_myself_and_i
658
+ # end
659
+ # me_myself_and_i
660
+ #
661
+ # *raises the exception:*
662
+ #
663
+ # SystemStackError: stack level too deep
664
+ #
665
+ class SystemStackError < Exception
666
+ end
667
+
668
+ # <!-- rdoc-file=thread.c -->
669
+ # Raised when an invalid operation is attempted on a thread.
670
+ #
671
+ # For example, when no other thread has been started:
672
+ #
673
+ # Thread.stop
674
+ #
675
+ # This will raises the following exception:
676
+ #
677
+ # ThreadError: stopping only thread
678
+ # note: use sleep to stop forever
679
+ #
680
+ class ThreadError < StandardError
681
+ end
682
+
683
+ # <!-- rdoc-file=error.c -->
684
+ # Raised when encountering an object that is not of the expected type.
685
+ #
686
+ # [1, 2, 3].first("two")
687
+ #
688
+ # *raises the exception:*
689
+ #
690
+ # TypeError: no implicit conversion of String into Integer
691
+ #
692
+ class TypeError < StandardError
693
+ end
694
+
695
+ # <!-- rdoc-file=vm_eval.c -->
696
+ # Raised when `throw` is called with a *tag* which does not have corresponding
697
+ # `catch` block.
698
+ #
699
+ # throw "foo", "bar"
700
+ #
701
+ # *raises the exception:*
702
+ #
703
+ # UncaughtThrowError: uncaught throw "foo"
704
+ #
705
+ class UncaughtThrowError < ArgumentError
706
+ # <!--
707
+ # rdoc-file=vm_eval.c
708
+ # - new(*args)
709
+ # -->
710
+ # Document-class: UncaughtThrowError
711
+ #
712
+ # Raised when `throw` is called with a *tag* which does not have corresponding
713
+ # `catch` block.
714
+ #
715
+ # throw "foo", "bar"
716
+ #
717
+ # *raises the exception:*
718
+ #
719
+ # UncaughtThrowError: uncaught throw "foo"
720
+ #
721
+ def initialize: (untyped tag, untyped value) -> void
722
+
723
+ # <!--
724
+ # rdoc-file=vm_eval.c
725
+ # - uncaught_throw.tag -> obj
726
+ # -->
727
+ # Return the tag object which was called for.
728
+ #
729
+ def tag: () -> untyped
730
+
731
+ # <!--
732
+ # rdoc-file=vm_eval.c
733
+ # - uncaught_throw.to_s -> string
734
+ # -->
735
+ # Returns formatted message with the inspected tag.
736
+ #
737
+ def to_s: () -> String
738
+
739
+ # <!--
740
+ # rdoc-file=vm_eval.c
741
+ # - uncaught_throw.value -> obj
742
+ # -->
743
+ # Return the return value which was called for.
744
+ #
745
+ def value: () -> untyped
746
+ end
747
+
748
+ # <!-- rdoc-file=numeric.c -->
749
+ # Raised when attempting to divide an integer by 0.
750
+ #
751
+ # 42 / 0 #=> ZeroDivisionError: divided by 0
752
+ #
753
+ # Note that only division by an exact 0 will raise the exception:
754
+ #
755
+ # 42 / 0.0 #=> Float::INFINITY
756
+ # 42 / -0.0 #=> -Float::INFINITY
757
+ # 0 / 0.0 #=> NaN
758
+ #
759
+ class ZeroDivisionError < StandardError
760
+ end