rbs 4.1.0.pre.2-java

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (574) hide show
  1. checksums.yaml +7 -0
  2. data/.clang-format +75 -0
  3. data/.clangd +2 -0
  4. data/.github/dependabot.yml +24 -0
  5. data/.github/workflows/bundle-update.yml +63 -0
  6. data/.github/workflows/c-check.yml +61 -0
  7. data/.github/workflows/comments.yml +37 -0
  8. data/.github/workflows/dependabot.yml +30 -0
  9. data/.github/workflows/jruby.yml +67 -0
  10. data/.github/workflows/milestone.yml +83 -0
  11. data/.github/workflows/ruby.yml +158 -0
  12. data/.github/workflows/rust.yml +184 -0
  13. data/.github/workflows/truffleruby.yml +54 -0
  14. data/.github/workflows/typecheck.yml +39 -0
  15. data/.github/workflows/wasm.yml +53 -0
  16. data/.github/workflows/windows.yml +49 -0
  17. data/.gitignore +38 -0
  18. data/.rubocop.yml +72 -0
  19. data/BSDL +22 -0
  20. data/CHANGELOG.md +2292 -0
  21. data/COPYING +56 -0
  22. data/README.md +240 -0
  23. data/Rakefile +869 -0
  24. data/Steepfile +53 -0
  25. data/config.yml +913 -0
  26. data/core/array.rbs +4142 -0
  27. data/core/basic_object.rbs +376 -0
  28. data/core/binding.rbs +148 -0
  29. data/core/builtin.rbs +278 -0
  30. data/core/class.rbs +223 -0
  31. data/core/comparable.rbs +192 -0
  32. data/core/complex.rbs +812 -0
  33. data/core/constants.rbs +96 -0
  34. data/core/data.rbs +415 -0
  35. data/core/dir.rbs +993 -0
  36. data/core/encoding.rbs +1368 -0
  37. data/core/enumerable.rbs +2506 -0
  38. data/core/enumerator/arithmetic_sequence.rbs +70 -0
  39. data/core/enumerator/product.rbs +92 -0
  40. data/core/enumerator.rbs +705 -0
  41. data/core/env.rbs +6 -0
  42. data/core/errno.rbs +682 -0
  43. data/core/errors.rbs +789 -0
  44. data/core/exception.rbs +485 -0
  45. data/core/false_class.rbs +82 -0
  46. data/core/fiber.rbs +570 -0
  47. data/core/fiber_error.rbs +11 -0
  48. data/core/file.rbs +2045 -0
  49. data/core/file_constants.rbs +463 -0
  50. data/core/file_stat.rbs +534 -0
  51. data/core/file_test.rbs +331 -0
  52. data/core/float.rbs +1316 -0
  53. data/core/gc.rbs +788 -0
  54. data/core/global_variables.rbs +184 -0
  55. data/core/hash.rbs +2183 -0
  56. data/core/integer.rbs +1374 -0
  57. data/core/io/buffer.rbs +995 -0
  58. data/core/io/wait.rbs +48 -0
  59. data/core/io.rbs +3472 -0
  60. data/core/kernel.rbs +3172 -0
  61. data/core/marshal.rbs +207 -0
  62. data/core/match_data.rbs +637 -0
  63. data/core/math.rbs +770 -0
  64. data/core/method.rbs +422 -0
  65. data/core/module.rbs +1856 -0
  66. data/core/nil_class.rbs +210 -0
  67. data/core/numeric.rbs +832 -0
  68. data/core/object.rbs +108 -0
  69. data/core/object_space/weak_key_map.rbs +166 -0
  70. data/core/object_space.rbs +197 -0
  71. data/core/pathname.rbs +1322 -0
  72. data/core/proc.rbs +905 -0
  73. data/core/process.rbs +2316 -0
  74. data/core/ractor.rbs +924 -0
  75. data/core/random.rbs +255 -0
  76. data/core/range.rbs +1209 -0
  77. data/core/rational.rbs +502 -0
  78. data/core/rb_config.rbs +88 -0
  79. data/core/rbs/ops.rbs +154 -0
  80. data/core/rbs/unnamed/argf.rbs +1236 -0
  81. data/core/rbs/unnamed/env_class.rbs +1214 -0
  82. data/core/rbs/unnamed/main_class.rbs +123 -0
  83. data/core/rbs/unnamed/random.rbs +186 -0
  84. data/core/refinement.rbs +59 -0
  85. data/core/regexp.rbs +1974 -0
  86. data/core/ruby.rbs +53 -0
  87. data/core/ruby_vm.rbs +809 -0
  88. data/core/rubygems/basic_specification.rbs +6 -0
  89. data/core/rubygems/config_file.rbs +38 -0
  90. data/core/rubygems/dependency_installer.rbs +6 -0
  91. data/core/rubygems/errors.rbs +109 -0
  92. data/core/rubygems/installer.rbs +15 -0
  93. data/core/rubygems/path_support.rbs +6 -0
  94. data/core/rubygems/platform.rbs +7 -0
  95. data/core/rubygems/request_set.rbs +49 -0
  96. data/core/rubygems/requirement.rbs +148 -0
  97. data/core/rubygems/rubygems.rbs +1105 -0
  98. data/core/rubygems/source_list.rbs +15 -0
  99. data/core/rubygems/specification.rbs +23 -0
  100. data/core/rubygems/stream_ui.rbs +5 -0
  101. data/core/rubygems/uninstaller.rbs +10 -0
  102. data/core/rubygems/version.rbs +293 -0
  103. data/core/set.rbs +751 -0
  104. data/core/signal.rbs +110 -0
  105. data/core/string.rbs +5532 -0
  106. data/core/struct.rbs +668 -0
  107. data/core/symbol.rbs +482 -0
  108. data/core/thread.rbs +1826 -0
  109. data/core/thread_group.rbs +79 -0
  110. data/core/time.rbs +1793 -0
  111. data/core/trace_point.rbs +483 -0
  112. data/core/true_class.rbs +98 -0
  113. data/core/unbound_method.rbs +337 -0
  114. data/core/warning.rbs +87 -0
  115. data/docs/CONTRIBUTING.md +107 -0
  116. data/docs/aliases.md +79 -0
  117. data/docs/architecture.md +110 -0
  118. data/docs/collection.md +192 -0
  119. data/docs/config.md +171 -0
  120. data/docs/data_and_struct.md +86 -0
  121. data/docs/encoding.md +56 -0
  122. data/docs/gem.md +56 -0
  123. data/docs/inline.md +634 -0
  124. data/docs/rbs_by_example.md +309 -0
  125. data/docs/repo.md +125 -0
  126. data/docs/rust.md +96 -0
  127. data/docs/sigs.md +167 -0
  128. data/docs/stdlib.md +147 -0
  129. data/docs/syntax.md +940 -0
  130. data/docs/tools.md +17 -0
  131. data/docs/type_fingerprint.md +21 -0
  132. data/docs/wasm_serialization.md +80 -0
  133. data/exe/rbs +7 -0
  134. data/ext/rbs_extension/ast_translation.c +1855 -0
  135. data/ext/rbs_extension/ast_translation.h +41 -0
  136. data/ext/rbs_extension/class_constants.c +187 -0
  137. data/ext/rbs_extension/class_constants.h +104 -0
  138. data/ext/rbs_extension/compat.h +10 -0
  139. data/ext/rbs_extension/extconf.rb +40 -0
  140. data/ext/rbs_extension/legacy_location.c +294 -0
  141. data/ext/rbs_extension/legacy_location.h +82 -0
  142. data/ext/rbs_extension/main.c +613 -0
  143. data/ext/rbs_extension/rbs_extension.h +16 -0
  144. data/ext/rbs_extension/rbs_string_bridging.c +9 -0
  145. data/ext/rbs_extension/rbs_string_bridging.h +24 -0
  146. data/goodcheck.yml +91 -0
  147. data/include/rbs/ast.h +1047 -0
  148. data/include/rbs/defines.h +99 -0
  149. data/include/rbs/lexer.h +207 -0
  150. data/include/rbs/location.h +40 -0
  151. data/include/rbs/parser.h +153 -0
  152. data/include/rbs/serialize.h +39 -0
  153. data/include/rbs/string.h +47 -0
  154. data/include/rbs/util/rbs_allocator.h +59 -0
  155. data/include/rbs/util/rbs_assert.h +20 -0
  156. data/include/rbs/util/rbs_buffer.h +83 -0
  157. data/include/rbs/util/rbs_constant_pool.h +155 -0
  158. data/include/rbs/util/rbs_encoding.h +282 -0
  159. data/include/rbs/util/rbs_unescape.h +24 -0
  160. data/include/rbs.h +14 -0
  161. data/lib/rbs/ancestor_graph.rb +92 -0
  162. data/lib/rbs/annotate/annotations.rb +199 -0
  163. data/lib/rbs/annotate/formatter.rb +82 -0
  164. data/lib/rbs/annotate/rdoc_annotator.rb +398 -0
  165. data/lib/rbs/annotate/rdoc_source.rb +131 -0
  166. data/lib/rbs/annotate.rb +8 -0
  167. data/lib/rbs/ast/annotation.rb +29 -0
  168. data/lib/rbs/ast/comment.rb +29 -0
  169. data/lib/rbs/ast/declarations.rb +472 -0
  170. data/lib/rbs/ast/directives.rb +49 -0
  171. data/lib/rbs/ast/members.rb +451 -0
  172. data/lib/rbs/ast/ruby/annotations.rb +451 -0
  173. data/lib/rbs/ast/ruby/comment_block.rb +247 -0
  174. data/lib/rbs/ast/ruby/declarations.rb +291 -0
  175. data/lib/rbs/ast/ruby/helpers/constant_helper.rb +28 -0
  176. data/lib/rbs/ast/ruby/helpers/location_helper.rb +15 -0
  177. data/lib/rbs/ast/ruby/members.rb +762 -0
  178. data/lib/rbs/ast/type_param.rb +235 -0
  179. data/lib/rbs/ast/visitor.rb +137 -0
  180. data/lib/rbs/buffer.rb +189 -0
  181. data/lib/rbs/builtin_names.rb +58 -0
  182. data/lib/rbs/cli/colored_io.rb +48 -0
  183. data/lib/rbs/cli/diff.rb +84 -0
  184. data/lib/rbs/cli/validate.rb +294 -0
  185. data/lib/rbs/cli.rb +1253 -0
  186. data/lib/rbs/collection/cleaner.rb +38 -0
  187. data/lib/rbs/collection/config/lockfile.rb +92 -0
  188. data/lib/rbs/collection/config/lockfile_generator.rb +269 -0
  189. data/lib/rbs/collection/config.rb +81 -0
  190. data/lib/rbs/collection/installer.rb +32 -0
  191. data/lib/rbs/collection/sources/base.rb +14 -0
  192. data/lib/rbs/collection/sources/git.rb +265 -0
  193. data/lib/rbs/collection/sources/local.rb +81 -0
  194. data/lib/rbs/collection/sources/rubygems.rb +48 -0
  195. data/lib/rbs/collection/sources/stdlib.rb +50 -0
  196. data/lib/rbs/collection/sources.rb +38 -0
  197. data/lib/rbs/collection.rb +16 -0
  198. data/lib/rbs/constant.rb +28 -0
  199. data/lib/rbs/definition.rb +415 -0
  200. data/lib/rbs/definition_builder/ancestor_builder.rb +678 -0
  201. data/lib/rbs/definition_builder/method_builder.rb +295 -0
  202. data/lib/rbs/definition_builder.rb +1054 -0
  203. data/lib/rbs/diff.rb +131 -0
  204. data/lib/rbs/environment/class_entry.rb +69 -0
  205. data/lib/rbs/environment/module_entry.rb +66 -0
  206. data/lib/rbs/environment/use_map.rb +77 -0
  207. data/lib/rbs/environment.rb +1028 -0
  208. data/lib/rbs/environment_loader.rb +167 -0
  209. data/lib/rbs/environment_walker.rb +155 -0
  210. data/lib/rbs/errors.rb +634 -0
  211. data/lib/rbs/factory.rb +18 -0
  212. data/lib/rbs/file_finder.rb +28 -0
  213. data/lib/rbs/inline_parser/comment_association.rb +117 -0
  214. data/lib/rbs/inline_parser.rb +568 -0
  215. data/lib/rbs/location_aux.rb +170 -0
  216. data/lib/rbs/locator.rb +247 -0
  217. data/lib/rbs/method_type.rb +145 -0
  218. data/lib/rbs/namespace.rb +154 -0
  219. data/lib/rbs/parser/lex_result.rb +15 -0
  220. data/lib/rbs/parser/token.rb +23 -0
  221. data/lib/rbs/parser_aux.rb +142 -0
  222. data/lib/rbs/prototype/helpers.rb +197 -0
  223. data/lib/rbs/prototype/node_usage.rb +99 -0
  224. data/lib/rbs/prototype/rb.rb +816 -0
  225. data/lib/rbs/prototype/rbi.rb +625 -0
  226. data/lib/rbs/prototype/runtime/helpers.rb +59 -0
  227. data/lib/rbs/prototype/runtime/reflection.rb +19 -0
  228. data/lib/rbs/prototype/runtime/value_object_generator.rb +279 -0
  229. data/lib/rbs/prototype/runtime.rb +680 -0
  230. data/lib/rbs/repository.rb +127 -0
  231. data/lib/rbs/resolver/constant_resolver.rb +219 -0
  232. data/lib/rbs/resolver/type_name_resolver.rb +167 -0
  233. data/lib/rbs/rewriter.rb +70 -0
  234. data/lib/rbs/sorter.rb +198 -0
  235. data/lib/rbs/source.rb +99 -0
  236. data/lib/rbs/substitution.rb +83 -0
  237. data/lib/rbs/subtractor.rb +204 -0
  238. data/lib/rbs/test/errors.rb +80 -0
  239. data/lib/rbs/test/guaranteed.rb +30 -0
  240. data/lib/rbs/test/hook.rb +212 -0
  241. data/lib/rbs/test/observer.rb +19 -0
  242. data/lib/rbs/test/setup.rb +84 -0
  243. data/lib/rbs/test/setup_helper.rb +50 -0
  244. data/lib/rbs/test/tester.rb +167 -0
  245. data/lib/rbs/test/type_check.rb +457 -0
  246. data/lib/rbs/test.rb +112 -0
  247. data/lib/rbs/type_alias_dependency.rb +100 -0
  248. data/lib/rbs/type_alias_regularity.rb +126 -0
  249. data/lib/rbs/type_name.rb +122 -0
  250. data/lib/rbs/types.rb +1604 -0
  251. data/lib/rbs/unit_test/convertibles.rb +177 -0
  252. data/lib/rbs/unit_test/spy.rb +138 -0
  253. data/lib/rbs/unit_test/type_assertions.rb +383 -0
  254. data/lib/rbs/unit_test/with_aliases.rb +145 -0
  255. data/lib/rbs/unit_test.rb +6 -0
  256. data/lib/rbs/validator.rb +186 -0
  257. data/lib/rbs/variance_calculator.rb +189 -0
  258. data/lib/rbs/vendorer.rb +71 -0
  259. data/lib/rbs/version.rb +5 -0
  260. data/lib/rbs/wasm/deserializer.rb +213 -0
  261. data/lib/rbs/wasm/jars/asm-analysis.jar +0 -0
  262. data/lib/rbs/wasm/jars/asm-commons.jar +0 -0
  263. data/lib/rbs/wasm/jars/asm-tree.jar +0 -0
  264. data/lib/rbs/wasm/jars/asm-util.jar +0 -0
  265. data/lib/rbs/wasm/jars/asm.jar +0 -0
  266. data/lib/rbs/wasm/jars/compiler.jar +0 -0
  267. data/lib/rbs/wasm/jars/log.jar +0 -0
  268. data/lib/rbs/wasm/jars/runtime.jar +0 -0
  269. data/lib/rbs/wasm/jars/wasi.jar +0 -0
  270. data/lib/rbs/wasm/jars/wasm.jar +0 -0
  271. data/lib/rbs/wasm/location.rb +61 -0
  272. data/lib/rbs/wasm/parser.rb +137 -0
  273. data/lib/rbs/wasm/rbs_parser.wasm +0 -0
  274. data/lib/rbs/wasm/runtime.rb +217 -0
  275. data/lib/rbs/wasm/serialization_schema.rb +110 -0
  276. data/lib/rbs/writer.rb +424 -0
  277. data/lib/rbs.rb +117 -0
  278. data/lib/rdoc/discover.rb +20 -0
  279. data/lib/rdoc_plugin/parser.rb +163 -0
  280. data/rbs.gemspec +68 -0
  281. data/schema/annotation.json +14 -0
  282. data/schema/comment.json +26 -0
  283. data/schema/decls.json +326 -0
  284. data/schema/function.json +87 -0
  285. data/schema/location.json +56 -0
  286. data/schema/members.json +266 -0
  287. data/schema/methodType.json +50 -0
  288. data/schema/typeParam.json +52 -0
  289. data/schema/types.json +317 -0
  290. data/sig/ancestor_builder.rbs +163 -0
  291. data/sig/ancestor_graph.rbs +60 -0
  292. data/sig/annotate/annotations.rbs +102 -0
  293. data/sig/annotate/formatter.rbs +24 -0
  294. data/sig/annotate/rdoc_annotater.rbs +85 -0
  295. data/sig/annotate/rdoc_source.rbs +32 -0
  296. data/sig/annotation.rbs +27 -0
  297. data/sig/ast/ruby/annotations.rbs +470 -0
  298. data/sig/ast/ruby/comment_block.rbs +127 -0
  299. data/sig/ast/ruby/declarations.rbs +158 -0
  300. data/sig/ast/ruby/helpers/constant_helper.rbs +11 -0
  301. data/sig/ast/ruby/helpers/location_helper.rbs +15 -0
  302. data/sig/ast/ruby/members.rbs +198 -0
  303. data/sig/buffer.rbs +108 -0
  304. data/sig/builtin_names.rbs +44 -0
  305. data/sig/cli/colored_io.rbs +15 -0
  306. data/sig/cli/diff.rbs +15 -0
  307. data/sig/cli/validate.rbs +47 -0
  308. data/sig/cli.rbs +89 -0
  309. data/sig/collection/cleaner.rbs +13 -0
  310. data/sig/collection/config/lockfile.rbs +74 -0
  311. data/sig/collection/config/lockfile_generator.rbs +68 -0
  312. data/sig/collection/config.rbs +46 -0
  313. data/sig/collection/installer.rbs +17 -0
  314. data/sig/collection/sources.rbs +214 -0
  315. data/sig/collection.rbs +4 -0
  316. data/sig/comment.rbs +26 -0
  317. data/sig/constant.rbs +21 -0
  318. data/sig/declarations.rbs +274 -0
  319. data/sig/definition.rbs +232 -0
  320. data/sig/definition_builder.rbs +181 -0
  321. data/sig/diff.rbs +28 -0
  322. data/sig/directives.rbs +77 -0
  323. data/sig/environment/class_entry.rbs +50 -0
  324. data/sig/environment/module_entry.rbs +50 -0
  325. data/sig/environment.rbs +286 -0
  326. data/sig/environment_loader.rbs +111 -0
  327. data/sig/environment_walker.rbs +65 -0
  328. data/sig/errors.rbs +408 -0
  329. data/sig/factory.rbs +5 -0
  330. data/sig/file_finder.rbs +28 -0
  331. data/sig/inline_parser/comment_association.rbs +71 -0
  332. data/sig/inline_parser.rbs +126 -0
  333. data/sig/location.rbs +135 -0
  334. data/sig/locator.rbs +56 -0
  335. data/sig/manifest.yaml +5 -0
  336. data/sig/members.rbs +258 -0
  337. data/sig/method_builder.rbs +89 -0
  338. data/sig/method_types.rbs +58 -0
  339. data/sig/namespace.rbs +161 -0
  340. data/sig/parser.rbs +164 -0
  341. data/sig/prototype/helpers.rbs +29 -0
  342. data/sig/prototype/node_usage.rbs +20 -0
  343. data/sig/prototype/rb.rbs +96 -0
  344. data/sig/prototype/rbi.rbs +75 -0
  345. data/sig/prototype/runtime.rbs +182 -0
  346. data/sig/rbs.rbs +21 -0
  347. data/sig/rdoc/rbs.rbs +67 -0
  348. data/sig/repository.rbs +85 -0
  349. data/sig/resolver/constant_resolver.rbs +92 -0
  350. data/sig/resolver/context.rbs +34 -0
  351. data/sig/resolver/type_name_resolver.rbs +61 -0
  352. data/sig/rewriter.rbs +45 -0
  353. data/sig/shims/bundler.rbs +38 -0
  354. data/sig/shims/enumerable.rbs +5 -0
  355. data/sig/shims/rubygems.rbs +19 -0
  356. data/sig/sorter.rbs +41 -0
  357. data/sig/source.rbs +48 -0
  358. data/sig/substitution.rbs +48 -0
  359. data/sig/subtractor.rbs +37 -0
  360. data/sig/test/errors.rbs +52 -0
  361. data/sig/test/guranteed.rbs +9 -0
  362. data/sig/test/type_check.rbs +19 -0
  363. data/sig/test.rbs +82 -0
  364. data/sig/type_alias_dependency.rbs +53 -0
  365. data/sig/type_alias_regularity.rbs +98 -0
  366. data/sig/type_param.rbs +115 -0
  367. data/sig/typename.rbs +89 -0
  368. data/sig/types.rbs +578 -0
  369. data/sig/unit_test/convertibles.rbs +154 -0
  370. data/sig/unit_test/spy.rbs +22 -0
  371. data/sig/unit_test/type_assertions.rbs +211 -0
  372. data/sig/unit_test/with_aliases.rbs +136 -0
  373. data/sig/use_map.rbs +35 -0
  374. data/sig/util.rbs +9 -0
  375. data/sig/validator.rbs +63 -0
  376. data/sig/variance_calculator.rbs +87 -0
  377. data/sig/vendorer.rbs +51 -0
  378. data/sig/version.rbs +3 -0
  379. data/sig/visitor.rbs +47 -0
  380. data/sig/wasm/deserializer.rbs +66 -0
  381. data/sig/wasm/serialization_schema.rbs +13 -0
  382. data/sig/writer.rbs +127 -0
  383. data/src/ast.c +1628 -0
  384. data/src/lexer.c +3217 -0
  385. data/src/lexer.re +155 -0
  386. data/src/lexstate.c +217 -0
  387. data/src/location.c +31 -0
  388. data/src/parser.c +4255 -0
  389. data/src/serialize.c +958 -0
  390. data/src/string.c +41 -0
  391. data/src/util/rbs_allocator.c +162 -0
  392. data/src/util/rbs_assert.c +19 -0
  393. data/src/util/rbs_buffer.c +54 -0
  394. data/src/util/rbs_constant_pool.c +268 -0
  395. data/src/util/rbs_encoding.c +21308 -0
  396. data/src/util/rbs_unescape.c +167 -0
  397. data/stdlib/abbrev/0/abbrev.rbs +66 -0
  398. data/stdlib/abbrev/0/array.rbs +26 -0
  399. data/stdlib/base64/0/base64.rbs +355 -0
  400. data/stdlib/benchmark/0/benchmark.rbs +452 -0
  401. data/stdlib/bigdecimal/0/big_decimal.rbs +1647 -0
  402. data/stdlib/bigdecimal-math/0/big_math.rbs +280 -0
  403. data/stdlib/bigdecimal-math/0/manifest.yaml +2 -0
  404. data/stdlib/cgi/0/core.rbs +911 -0
  405. data/stdlib/cgi/0/manifest.yaml +4 -0
  406. data/stdlib/cgi-escape/0/escape.rbs +171 -0
  407. data/stdlib/coverage/0/coverage.rbs +266 -0
  408. data/stdlib/csv/0/csv.rbs +3776 -0
  409. data/stdlib/csv/0/manifest.yaml +3 -0
  410. data/stdlib/date/0/date.rbs +1598 -0
  411. data/stdlib/date/0/date_time.rbs +617 -0
  412. data/stdlib/date/0/time.rbs +26 -0
  413. data/stdlib/dbm/0/dbm.rbs +421 -0
  414. data/stdlib/delegate/0/delegator.rbs +187 -0
  415. data/stdlib/delegate/0/kernel.rbs +47 -0
  416. data/stdlib/delegate/0/simple_delegator.rbs +96 -0
  417. data/stdlib/did_you_mean/0/did_you_mean.rbs +344 -0
  418. data/stdlib/digest/0/digest.rbs +687 -0
  419. data/stdlib/erb/0/erb.rbs +933 -0
  420. data/stdlib/etc/0/etc.rbs +884 -0
  421. data/stdlib/fileutils/0/fileutils.rbs +1753 -0
  422. data/stdlib/find/0/find.rbs +49 -0
  423. data/stdlib/forwardable/0/forwardable.rbs +271 -0
  424. data/stdlib/io-console/0/io-console.rbs +414 -0
  425. data/stdlib/ipaddr/0/ipaddr.rbs +436 -0
  426. data/stdlib/json/0/json.rbs +1963 -0
  427. data/stdlib/kconv/0/kconv.rbs +166 -0
  428. data/stdlib/logger/0/formatter.rbs +45 -0
  429. data/stdlib/logger/0/log_device.rbs +100 -0
  430. data/stdlib/logger/0/logger.rbs +796 -0
  431. data/stdlib/logger/0/manifest.yaml +2 -0
  432. data/stdlib/logger/0/period.rbs +17 -0
  433. data/stdlib/logger/0/severity.rbs +34 -0
  434. data/stdlib/minitest/0/kernel.rbs +42 -0
  435. data/stdlib/minitest/0/minitest/abstract_reporter.rbs +52 -0
  436. data/stdlib/minitest/0/minitest/assertion.rbs +17 -0
  437. data/stdlib/minitest/0/minitest/assertions.rbs +590 -0
  438. data/stdlib/minitest/0/minitest/backtrace_filter.rbs +23 -0
  439. data/stdlib/minitest/0/minitest/bench_spec.rbs +102 -0
  440. data/stdlib/minitest/0/minitest/benchmark.rbs +259 -0
  441. data/stdlib/minitest/0/minitest/composite_reporter.rbs +25 -0
  442. data/stdlib/minitest/0/minitest/compress.rbs +13 -0
  443. data/stdlib/minitest/0/minitest/error_on_warning.rbs +3 -0
  444. data/stdlib/minitest/0/minitest/expectation.rbs +2 -0
  445. data/stdlib/minitest/0/minitest/expectations.rbs +21 -0
  446. data/stdlib/minitest/0/minitest/guard.rbs +64 -0
  447. data/stdlib/minitest/0/minitest/mock.rbs +64 -0
  448. data/stdlib/minitest/0/minitest/parallel/executor.rbs +46 -0
  449. data/stdlib/minitest/0/minitest/parallel/test/class_methods.rbs +5 -0
  450. data/stdlib/minitest/0/minitest/parallel/test.rbs +3 -0
  451. data/stdlib/minitest/0/minitest/parallel.rbs +2 -0
  452. data/stdlib/minitest/0/minitest/pride_io.rbs +62 -0
  453. data/stdlib/minitest/0/minitest/pride_lol.rbs +19 -0
  454. data/stdlib/minitest/0/minitest/progress_reporter.rbs +11 -0
  455. data/stdlib/minitest/0/minitest/reportable.rbs +53 -0
  456. data/stdlib/minitest/0/minitest/reporter.rbs +5 -0
  457. data/stdlib/minitest/0/minitest/result.rbs +28 -0
  458. data/stdlib/minitest/0/minitest/runnable.rbs +163 -0
  459. data/stdlib/minitest/0/minitest/skip.rbs +6 -0
  460. data/stdlib/minitest/0/minitest/spec/dsl/instance_methods.rbs +48 -0
  461. data/stdlib/minitest/0/minitest/spec/dsl.rbs +129 -0
  462. data/stdlib/minitest/0/minitest/spec.rbs +11 -0
  463. data/stdlib/minitest/0/minitest/statistics_reporter.rbs +81 -0
  464. data/stdlib/minitest/0/minitest/summary_reporter.rbs +18 -0
  465. data/stdlib/minitest/0/minitest/test/lifecycle_hooks.rbs +92 -0
  466. data/stdlib/minitest/0/minitest/test.rbs +69 -0
  467. data/stdlib/minitest/0/minitest/unexpected_error.rbs +12 -0
  468. data/stdlib/minitest/0/minitest/unexpected_warning.rbs +6 -0
  469. data/stdlib/minitest/0/minitest/unit/test_case.rbs +3 -0
  470. data/stdlib/minitest/0/minitest/unit.rbs +4 -0
  471. data/stdlib/minitest/0/minitest.rbs +115 -0
  472. data/stdlib/monitor/0/monitor.rbs +363 -0
  473. data/stdlib/mutex_m/0/mutex_m.rbs +104 -0
  474. data/stdlib/net-http/0/manifest.yaml +3 -0
  475. data/stdlib/net-http/0/net-http.rbs +5580 -0
  476. data/stdlib/net-protocol/0/manifest.yaml +2 -0
  477. data/stdlib/net-protocol/0/net-protocol.rbs +56 -0
  478. data/stdlib/net-smtp/0/manifest.yaml +2 -0
  479. data/stdlib/net-smtp/0/net-smtp.rbs +55 -0
  480. data/stdlib/nkf/0/nkf.rbs +402 -0
  481. data/stdlib/objspace/0/objspace.rbs +470 -0
  482. data/stdlib/observable/0/observable.rbs +217 -0
  483. data/stdlib/open-uri/0/manifest.yaml +4 -0
  484. data/stdlib/open-uri/0/open-uri.rbs +433 -0
  485. data/stdlib/open3/0/open3.rbs +606 -0
  486. data/stdlib/openssl/0/manifest.yaml +3 -0
  487. data/stdlib/openssl/0/openssl.rbs +12231 -0
  488. data/stdlib/optparse/0/optparse.rbs +1734 -0
  489. data/stdlib/pathname/0/pathname.rbs +36 -0
  490. data/stdlib/pp/0/manifest.yaml +2 -0
  491. data/stdlib/pp/0/pp.rbs +301 -0
  492. data/stdlib/prettyprint/0/prettyprint.rbs +383 -0
  493. data/stdlib/pstore/0/pstore.rbs +608 -0
  494. data/stdlib/psych/0/core_ext.rbs +12 -0
  495. data/stdlib/psych/0/dbm.rbs +237 -0
  496. data/stdlib/psych/0/manifest.yaml +3 -0
  497. data/stdlib/psych/0/psych.rbs +455 -0
  498. data/stdlib/psych/0/store.rbs +57 -0
  499. data/stdlib/pty/0/pty.rbs +240 -0
  500. data/stdlib/random-formatter/0/random-formatter.rbs +277 -0
  501. data/stdlib/rdoc/0/code_object.rbs +52 -0
  502. data/stdlib/rdoc/0/comment.rbs +61 -0
  503. data/stdlib/rdoc/0/context.rbs +153 -0
  504. data/stdlib/rdoc/0/markup.rbs +117 -0
  505. data/stdlib/rdoc/0/options.rbs +76 -0
  506. data/stdlib/rdoc/0/parser.rbs +56 -0
  507. data/stdlib/rdoc/0/rdoc.rbs +393 -0
  508. data/stdlib/rdoc/0/ri.rbs +17 -0
  509. data/stdlib/rdoc/0/store.rbs +48 -0
  510. data/stdlib/rdoc/0/top_level.rbs +97 -0
  511. data/stdlib/resolv/0/manifest.yaml +3 -0
  512. data/stdlib/resolv/0/resolv.rbs +1787 -0
  513. data/stdlib/ripper/0/ripper.rbs +1654 -0
  514. data/stdlib/securerandom/0/manifest.yaml +2 -0
  515. data/stdlib/securerandom/0/securerandom.rbs +49 -0
  516. data/stdlib/shellwords/0/shellwords.rbs +229 -0
  517. data/stdlib/singleton/0/singleton.rbs +134 -0
  518. data/stdlib/socket/0/addrinfo.rbs +666 -0
  519. data/stdlib/socket/0/basic_socket.rbs +590 -0
  520. data/stdlib/socket/0/constants.rbs +2295 -0
  521. data/stdlib/socket/0/ip_socket.rbs +94 -0
  522. data/stdlib/socket/0/socket.rbs +4170 -0
  523. data/stdlib/socket/0/socket_error.rbs +5 -0
  524. data/stdlib/socket/0/tcp_server.rbs +192 -0
  525. data/stdlib/socket/0/tcp_socket.rbs +87 -0
  526. data/stdlib/socket/0/udp_socket.rbs +133 -0
  527. data/stdlib/socket/0/unix_server.rbs +169 -0
  528. data/stdlib/socket/0/unix_socket.rbs +172 -0
  529. data/stdlib/stringio/0/stringio.rbs +1681 -0
  530. data/stdlib/strscan/0/string_scanner.rbs +1648 -0
  531. data/stdlib/tempfile/0/tempfile.rbs +483 -0
  532. data/stdlib/time/0/time.rbs +434 -0
  533. data/stdlib/timeout/0/timeout.rbs +137 -0
  534. data/stdlib/tmpdir/0/tmpdir.rbs +69 -0
  535. data/stdlib/tsort/0/cyclic.rbs +8 -0
  536. data/stdlib/tsort/0/interfaces.rbs +20 -0
  537. data/stdlib/tsort/0/tsort.rbs +410 -0
  538. data/stdlib/uri/0/common.rbs +621 -0
  539. data/stdlib/uri/0/file.rbs +118 -0
  540. data/stdlib/uri/0/ftp.rbs +13 -0
  541. data/stdlib/uri/0/generic.rbs +1116 -0
  542. data/stdlib/uri/0/http.rbs +104 -0
  543. data/stdlib/uri/0/https.rbs +14 -0
  544. data/stdlib/uri/0/ldap.rbs +230 -0
  545. data/stdlib/uri/0/ldaps.rbs +14 -0
  546. data/stdlib/uri/0/mailto.rbs +92 -0
  547. data/stdlib/uri/0/rfc2396_parser.rbs +189 -0
  548. data/stdlib/uri/0/rfc3986_parser.rbs +2 -0
  549. data/stdlib/uri/0/ws.rbs +13 -0
  550. data/stdlib/uri/0/wss.rbs +9 -0
  551. data/stdlib/yaml/0/manifest.yaml +2 -0
  552. data/stdlib/yaml/0/yaml.rbs +1 -0
  553. data/stdlib/zlib/0/buf_error.rbs +10 -0
  554. data/stdlib/zlib/0/data_error.rbs +10 -0
  555. data/stdlib/zlib/0/deflate.rbs +211 -0
  556. data/stdlib/zlib/0/error.rbs +20 -0
  557. data/stdlib/zlib/0/gzip_file/crc_error.rbs +12 -0
  558. data/stdlib/zlib/0/gzip_file/error.rbs +23 -0
  559. data/stdlib/zlib/0/gzip_file/length_error.rbs +12 -0
  560. data/stdlib/zlib/0/gzip_file/no_footer.rbs +11 -0
  561. data/stdlib/zlib/0/gzip_file.rbs +156 -0
  562. data/stdlib/zlib/0/gzip_reader.rbs +293 -0
  563. data/stdlib/zlib/0/gzip_writer.rbs +168 -0
  564. data/stdlib/zlib/0/inflate.rbs +180 -0
  565. data/stdlib/zlib/0/mem_error.rbs +10 -0
  566. data/stdlib/zlib/0/need_dict.rbs +13 -0
  567. data/stdlib/zlib/0/stream_end.rbs +11 -0
  568. data/stdlib/zlib/0/stream_error.rbs +11 -0
  569. data/stdlib/zlib/0/version_error.rbs +11 -0
  570. data/stdlib/zlib/0/zlib.rbs +449 -0
  571. data/stdlib/zlib/0/zstream.rbs +201 -0
  572. data/wasm/README.md +59 -0
  573. data/wasm/rbs_wasm.c +411 -0
  574. metadata +660 -0
@@ -0,0 +1,4 @@
1
+ dependencies:
2
+ - name: tempfile
3
+ - name: stringio
4
+ - name: cgi-escape
@@ -0,0 +1,171 @@
1
+ # <!-- rdoc-file=lib/cgi/escape.rb -->
2
+ # Since Ruby 4.0, CGI is a small holder for various escaping methods, included
3
+ # from CGI::Escape
4
+ #
5
+ # require 'cgi/escape'
6
+ #
7
+ # CGI.escape("Ruby programming language")
8
+ # #=> "Ruby+programming+language"
9
+ # CGI.escapeURIComponent("Ruby programming language")
10
+ # #=> "Ruby%20programming%20language"
11
+ #
12
+ # See CGI::Escape module for methods list and their description.
13
+ #
14
+ class CGI
15
+ include Escape
16
+
17
+ extend Escape
18
+
19
+ # <!-- rdoc-file=lib/cgi/escape.rb -->
20
+ # Web-related escape/unescape functionality.
21
+ #
22
+ module Escape
23
+ # <!--
24
+ # rdoc-file=lib/cgi/escape.rb
25
+ # - escape(string)
26
+ # -->
27
+ # URL-encode a string into application/x-www-form-urlencoded. Space characters
28
+ # (<code>" "</code>) are encoded with plus signs (<code>"+"</code>)
29
+ # url_encoded_string = CGI.escape("'Stop!' said Fred")
30
+ # # => "%27Stop%21%27+said+Fred"
31
+ #
32
+ def escape: (string str) -> String
33
+
34
+ # <!--
35
+ # rdoc-file=lib/cgi/escape.rb
36
+ # - escapeElement(string, *elements)
37
+ # -->
38
+ # Escape only the tags of certain HTML elements in `string`.
39
+ #
40
+ # Takes an element or elements or array of elements. Each element is specified
41
+ # by the name of the element, without angle brackets. This matches both the
42
+ # start and the end tag of that element. The attribute list of the open tag will
43
+ # also be escaped (for instance, the double-quotes surrounding attribute
44
+ # values).
45
+ #
46
+ # print CGI.escapeElement('<BR><A HREF="url"></A>', "A", "IMG")
47
+ # # "<BR>&lt;A HREF=&quot;url&quot;&gt;&lt;/A&gt"
48
+ #
49
+ # print CGI.escapeElement('<BR><A HREF="url"></A>', ["A", "IMG"])
50
+ # # "<BR>&lt;A HREF=&quot;url&quot;&gt;&lt;/A&gt"
51
+ #
52
+ def escapeElement: (string string, *String | Array[String] elements) -> String
53
+
54
+ # <!--
55
+ # rdoc-file=lib/cgi/escape.rb
56
+ # - escapeHTML(string)
57
+ # -->
58
+ # Escape special characters in HTML, namely <code>'&\"<></code>
59
+ # CGI.escapeHTML('Usage: foo "bar" <baz>')
60
+ # # => "Usage: foo &quot;bar&quot; &lt;baz&gt;"
61
+ #
62
+ def escapeHTML: (string str) -> String
63
+
64
+ # <!--
65
+ # rdoc-file=lib/cgi/escape.rb
66
+ # - escapeURIComponent(string)
67
+ # -->
68
+ # URL-encode a string following RFC 3986 Space characters (<code>" "</code>) are
69
+ # encoded with (<code>"%20"</code>)
70
+ # url_encoded_string = CGI.escapeURIComponent("'Stop!' said Fred")
71
+ # # => "%27Stop%21%27%20said%20Fred"
72
+ #
73
+ def escapeURIComponent: (string) -> String
74
+
75
+ # <!--
76
+ # rdoc-file=lib/cgi/escape.rb
77
+ # - escape_element(string, *elements)
78
+ # -->
79
+ #
80
+ alias escape_element escapeElement
81
+
82
+ # <!--
83
+ # rdoc-file=lib/cgi/escape.rb
84
+ # - escape_html(string)
85
+ # -->
86
+ #
87
+ alias escape_html escapeHTML
88
+
89
+ # <!--
90
+ # rdoc-file=lib/cgi/escape.rb
91
+ # - escape_uri_component(string)
92
+ # -->
93
+ #
94
+ alias escape_uri_component escapeURIComponent
95
+
96
+ # <!--
97
+ # rdoc-file=lib/cgi/escape.rb
98
+ # - h(string)
99
+ # -->
100
+ #
101
+ alias h escapeHTML
102
+
103
+ # <!--
104
+ # rdoc-file=lib/cgi/escape.rb
105
+ # - unescape(string, encoding = @@accept_charset)
106
+ # -->
107
+ # URL-decode an application/x-www-form-urlencoded string with
108
+ # encoding(optional).
109
+ # string = CGI.unescape("%27Stop%21%27+said+Fred")
110
+ # # => "'Stop!' said Fred"
111
+ #
112
+ def unescape: (string str, ?encoding encoding) -> String
113
+
114
+ # <!--
115
+ # rdoc-file=lib/cgi/escape.rb
116
+ # - unescapeElement(string, *elements)
117
+ # -->
118
+ # Undo escaping such as that done by CGI.escapeElement
119
+ #
120
+ # print CGI.unescapeElement(
121
+ # CGI.escapeHTML('<BR><A HREF="url"></A>'), "A", "IMG")
122
+ # # "&lt;BR&gt;<A HREF="url"></A>"
123
+ #
124
+ # print CGI.unescapeElement(
125
+ # CGI.escapeHTML('<BR><A HREF="url"></A>'), ["A", "IMG"])
126
+ # # "&lt;BR&gt;<A HREF="url"></A>"
127
+ #
128
+ def unescapeElement: (string string, *String | Array[String] elements) -> String
129
+
130
+ # <!--
131
+ # rdoc-file=lib/cgi/escape.rb
132
+ # - unescapeHTML(string)
133
+ # -->
134
+ # Unescape a string that has been HTML-escaped
135
+ # CGI.unescapeHTML("Usage: foo &quot;bar&quot; &lt;baz&gt;")
136
+ # # => "Usage: foo \"bar\" <baz>"
137
+ #
138
+ def unescapeHTML: (string str) -> String
139
+
140
+ # <!--
141
+ # rdoc-file=lib/cgi/escape.rb
142
+ # - unescapeURIComponent(string, encoding = @@accept_charset)
143
+ # -->
144
+ # URL-decode a string following RFC 3986 with encoding(optional).
145
+ # string = CGI.unescapeURIComponent("%27Stop%21%27+said%20Fred")
146
+ # # => "'Stop!'+said Fred"
147
+ #
148
+ def unescapeURIComponent: (string) -> String
149
+
150
+ # <!--
151
+ # rdoc-file=lib/cgi/escape.rb
152
+ # - unescape_element(string, *elements)
153
+ # -->
154
+ #
155
+ alias unescape_element unescapeElement
156
+
157
+ # <!--
158
+ # rdoc-file=lib/cgi/escape.rb
159
+ # - unescape_html(string)
160
+ # -->
161
+ #
162
+ alias unescape_html unescapeHTML
163
+
164
+ # <!--
165
+ # rdoc-file=lib/cgi/escape.rb
166
+ # - unescape_uri_component(string, encoding = @@accept_charset)
167
+ # -->
168
+ #
169
+ alias unescape_uri_component unescapeURIComponent
170
+ end
171
+ end
@@ -0,0 +1,266 @@
1
+ # <!-- rdoc-file=ext/coverage/coverage.c -->
2
+ # Coverage provides coverage measurement feature for Ruby. This feature is
3
+ # experimental, so these APIs may be changed in future.
4
+ #
5
+ # Caveat: Currently, only process-global coverage measurement is supported. You
6
+ # cannot measure per-thread coverage.
7
+ #
8
+ # # Usage
9
+ #
10
+ # 1. require "coverage"
11
+ # 2. do Coverage.start
12
+ # 3. require or load Ruby source file
13
+ # 4. Coverage.result will return a hash that contains filename as key and
14
+ # coverage array as value. A coverage array gives, for each line, the number
15
+ # of line execution by the interpreter. A `nil` value means coverage is
16
+ # disabled for this line (lines like `else` and `end`).
17
+ #
18
+ # # Examples
19
+ #
20
+ # [foo.rb]
21
+ # s = 0
22
+ # 10.times do |x|
23
+ # s += x
24
+ # end
25
+ #
26
+ # if s == 45
27
+ # p :ok
28
+ # else
29
+ # p :ng
30
+ # end
31
+ # [EOF]
32
+ #
33
+ # require "coverage"
34
+ # Coverage.start
35
+ # require "foo.rb"
36
+ # p Coverage.result #=> {"foo.rb"=>[1, 1, 10, nil, nil, 1, 1, nil, 0, nil]}
37
+ #
38
+ # ## Lines Coverage
39
+ #
40
+ # If a coverage mode is not explicitly specified when starting coverage, lines
41
+ # coverage is what will run. It reports the number of line executions for each
42
+ # line.
43
+ #
44
+ # require "coverage"
45
+ # Coverage.start(lines: true)
46
+ # require "foo.rb"
47
+ # p Coverage.result #=> {"foo.rb"=>{:lines=>[1, 1, 10, nil, nil, 1, 1, nil, 0, nil]}}
48
+ #
49
+ # The value of the lines coverage result is an array containing how many times
50
+ # each line was executed. Order in this array is important. For example, the
51
+ # first item in this array, at index 0, reports how many times line 1 of this
52
+ # file was executed while coverage was run (which, in this example, is one
53
+ # time).
54
+ #
55
+ # A `nil` value means coverage is disabled for this line (lines like `else` and
56
+ # `end`).
57
+ #
58
+ # ## Oneshot Lines Coverage
59
+ #
60
+ # Oneshot lines coverage tracks and reports on the executed lines while coverage
61
+ # is running. It will not report how many times a line was executed, only that
62
+ # it was executed.
63
+ #
64
+ # require "coverage"
65
+ # Coverage.start(oneshot_lines: true)
66
+ # require "foo.rb"
67
+ # p Coverage.result #=> {"foo.rb"=>{:oneshot_lines=>[1, 2, 3, 6, 7]}}
68
+ #
69
+ # The value of the oneshot lines coverage result is an array containing the line
70
+ # numbers that were executed.
71
+ #
72
+ # ## Branches Coverage
73
+ #
74
+ # Branches coverage reports how many times each branch within each conditional
75
+ # was executed.
76
+ #
77
+ # require "coverage"
78
+ # Coverage.start(branches: true)
79
+ # require "foo.rb"
80
+ # p Coverage.result #=> {"foo.rb"=>{:branches=>{[:if, 0, 6, 0, 10, 3]=>{[:then, 1, 7, 2, 7, 7]=>1, [:else, 2, 9, 2, 9, 7]=>0}}}}
81
+ #
82
+ # Each entry within the branches hash is a conditional, the value of which is
83
+ # another hash where each entry is a branch in that conditional. The values are
84
+ # the number of times the method was executed, and the keys are identifying
85
+ # information about the branch.
86
+ #
87
+ # The information that makes up each key identifying branches or conditionals is
88
+ # the following, from left to right:
89
+ #
90
+ # 1. A label for the type of branch or conditional.
91
+ # 2. A unique identifier.
92
+ # 3. The starting line number it appears on in the file.
93
+ # 4. The starting column number it appears on in the file.
94
+ # 5. The ending line number it appears on in the file.
95
+ # 6. The ending column number it appears on in the file.
96
+ #
97
+ # ## Methods Coverage
98
+ #
99
+ # Methods coverage reports how many times each method was executed.
100
+ #
101
+ # [foo_method.rb]
102
+ # class Greeter
103
+ # def greet
104
+ # "welcome!"
105
+ # end
106
+ # end
107
+ #
108
+ # def hello
109
+ # "Hi"
110
+ # end
111
+ #
112
+ # hello()
113
+ # Greeter.new.greet()
114
+ # [EOF]
115
+ #
116
+ # require "coverage"
117
+ # Coverage.start(methods: true)
118
+ # require "foo_method.rb"
119
+ # p Coverage.result #=> {"foo_method.rb"=>{:methods=>{[Object, :hello, 7, 0, 9, 3]=>1, [Greeter, :greet, 2, 2, 4, 5]=>1}}}
120
+ #
121
+ # Each entry within the methods hash represents a method. The values in this
122
+ # hash are the number of times the method was executed, and the keys are
123
+ # identifying information about the method.
124
+ #
125
+ # The information that makes up each key identifying a method is the following,
126
+ # from left to right:
127
+ #
128
+ # 1. The class.
129
+ # 2. The method name.
130
+ # 3. The starting line number the method appears on in the file.
131
+ # 4. The starting column number the method appears on in the file.
132
+ # 5. The ending line number the method appears on in the file.
133
+ # 6. The ending column number the method appears on in the file.
134
+ #
135
+ # ## All Coverage Modes
136
+ #
137
+ # You can also run all modes of coverage simultaneously with this shortcut. Note
138
+ # that running all coverage modes does not run both lines and oneshot lines.
139
+ # Those modes cannot be run simultaneously. Lines coverage is run in this case,
140
+ # because you can still use it to determine whether or not a line was executed.
141
+ #
142
+ # require "coverage"
143
+ # Coverage.start(:all)
144
+ # require "foo.rb"
145
+ # p Coverage.result #=> {"foo.rb"=>{:lines=>[1, 1, 10, nil, nil, 1, 1, nil, 0, nil], :branches=>{[:if, 0, 6, 0, 10, 3]=>{[:then, 1, 7, 2, 7, 7]=>1, [:else, 2, 9, 2, 9, 7]=>0}}, :methods=>{}}}
146
+ #
147
+ module Coverage
148
+ # <!--
149
+ # rdoc-file=ext/coverage/lib/coverage.rb
150
+ # - line_stub(file) -> array
151
+ # -->
152
+ # A simple helper function that creates the "stub" of line coverage from a given
153
+ # source code.
154
+ #
155
+ def self.line_stub: (String) -> Array[Integer?]
156
+
157
+ # <!--
158
+ # rdoc-file=ext/coverage/coverage.c
159
+ # - Coverage.peek_result => hash
160
+ # -->
161
+ # Returns a hash that contains filename as key and coverage array as value. This
162
+ # is the same as <code>Coverage.result(stop: false, clear: false)</code>.
163
+ #
164
+ # {
165
+ # "file.rb" => [1, 2, nil],
166
+ # ...
167
+ # }
168
+ #
169
+ def self.peek_result: () -> Hash[String, untyped]
170
+
171
+ # <!--
172
+ # rdoc-file=ext/coverage/coverage.c
173
+ # - Coverage.result(stop: true, clear: true) => hash
174
+ # -->
175
+ # Returns a hash that contains filename as key and coverage array as value. If
176
+ # `clear` is true, it clears the counters to zero. If `stop` is true, it
177
+ # disables coverage measurement.
178
+ #
179
+ def self.result: (?stop: boolish, ?clear: boolish) -> Hash[String, untyped]
180
+
181
+ # <!--
182
+ # rdoc-file=ext/coverage/coverage.c
183
+ # - Coverage.running? => bool
184
+ # -->
185
+ # Returns true if coverage stats are currently being collected (after
186
+ # Coverage.start call, but before Coverage.result call)
187
+ #
188
+ def self.running?: () -> bool
189
+
190
+ # <!--
191
+ # rdoc-file=ext/coverage/coverage.c
192
+ # - Coverage.setup => nil
193
+ # - Coverage.setup(:all) => nil
194
+ # - Coverage.setup(lines: bool, branches: bool, methods: bool, eval: bool) => nil
195
+ # - Coverage.setup(oneshot_lines: true) => nil
196
+ # -->
197
+ # Set up the coverage measurement.
198
+ #
199
+ # Note that this method does not start the measurement itself. Use
200
+ # Coverage.resume to start the measurement.
201
+ #
202
+ # You may want to use Coverage.start to setup and then start the measurement.
203
+ #
204
+ def self.setup: (?lines: bool, ?branches: bool, ?methods: bool, ?eval: bool) -> nil
205
+ | (oneshot_lines: bool, ?branches: bool, ?methods: bool, ?eval: bool) -> nil
206
+ | (:all) -> nil
207
+
208
+ # <!--
209
+ # rdoc-file=ext/coverage/coverage.c
210
+ # - Coverage.start => nil
211
+ # - Coverage.start(:all) => nil
212
+ # - Coverage.start(lines: bool, branches: bool, methods: bool, eval: bool) => nil
213
+ # - Coverage.start(oneshot_lines: true) => nil
214
+ # -->
215
+ # Enables the coverage measurement. See the documentation of Coverage class in
216
+ # detail. This is equivalent to Coverage.setup and Coverage.resume.
217
+ #
218
+ alias self.start self.setup
219
+
220
+ # <!--
221
+ # rdoc-file=ext/coverage/coverage.c
222
+ # - Coverage.state => :idle, :suspended, :running
223
+ # -->
224
+ # Returns the state of the coverage measurement.
225
+ #
226
+ def self.state: () -> (:idle | :suspended | :running)
227
+
228
+ # <!--
229
+ # rdoc-file=ext/coverage/coverage.c
230
+ # - Coverage.resume => nil
231
+ # -->
232
+ # Start/resume the coverage measurement.
233
+ #
234
+ # Caveat: Currently, only process-global coverage measurement is supported. You
235
+ # cannot measure per-thread coverage. If your process has multiple thread, using
236
+ # Coverage.resume/suspend to capture code coverage executed from only a limited
237
+ # code block, may yield misleading results.
238
+ #
239
+ def self.resume: () -> nil
240
+
241
+ # <!--
242
+ # rdoc-file=ext/coverage/coverage.c
243
+ # - Coverage.supported?(mode) -> true or false
244
+ # -->
245
+ # Returns true if coverage measurement is supported for the given mode.
246
+ #
247
+ # The mode should be one of the following symbols: <code>:lines</code>,
248
+ # <code>:oneshot_lines</code>, <code>:branches</code>, <code>:methods</code>,
249
+ # <code>:eval</code>.
250
+ #
251
+ # Example:
252
+ #
253
+ # Coverage.supported?(:lines) #=> true
254
+ # Coverage.supported?(:all) #=> false
255
+ #
256
+ def self.supported?: (Symbol) -> bool
257
+
258
+ # <!--
259
+ # rdoc-file=ext/coverage/coverage.c
260
+ # - Coverage.suspend => nil
261
+ # -->
262
+ # Suspend the coverage measurement. You can use Coverage.resume to restart the
263
+ # measurement.
264
+ #
265
+ def self.suspend: () -> nil
266
+ end