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,483 @@
1
+ # <!-- rdoc-file=trace_point.rb -->
2
+ # A class that provides the functionality of Kernel#set_trace_func in a
3
+ # well-structured Object-Oriented API.
4
+ #
5
+ # ## Example
6
+ #
7
+ # Use TracePoint to gather information specifically for exceptions:
8
+ #
9
+ # trace = TracePoint.new(:raise) do |tp|
10
+ # p [tp.lineno, tp.event, tp.raised_exception]
11
+ # end
12
+ # #=> #<TracePoint:disabled>
13
+ #
14
+ # trace.enable #=> false
15
+ #
16
+ # 0 / 0
17
+ # #=> [5, :raise, #<ZeroDivisionError: divided by 0>]
18
+ #
19
+ # ## Events
20
+ #
21
+ # If you don't specify the types of events you want to listen for, TracePoint
22
+ # will include all available events.
23
+ #
24
+ # <strong>Note:</strong> Do not depend on the current event set, as this list is
25
+ # subject to change. Instead, it is recommended to specify the types of events
26
+ # you want to use.
27
+ #
28
+ # To filter what is traced, you can pass any number of the following as
29
+ # `events`:
30
+ #
31
+ # <code>:line</code>
32
+ # : Execute an expression or statement on a new line.
33
+ #
34
+ # <code>:class</code>
35
+ # : Start a class or module definition.
36
+ #
37
+ # <code>:end</code>
38
+ # : Finish a class or module definition.
39
+ #
40
+ # <code>:call</code>
41
+ # : Call a Ruby method.
42
+ #
43
+ # <code>:return</code>
44
+ # : Return from a Ruby method.
45
+ #
46
+ # <code>:c_call</code>
47
+ # : Call a C-language routine.
48
+ #
49
+ # <code>:c_return</code>
50
+ # : Return from a C-language routine.
51
+ #
52
+ # <code>:raise</code>
53
+ # : Raise an exception.
54
+ #
55
+ # <code>:rescue</code>
56
+ # : Rescue an exception.
57
+ #
58
+ # <code>:b_call</code>
59
+ # : Event hook at block entry.
60
+ #
61
+ # <code>:b_return</code>
62
+ # : Event hook at block ending.
63
+ #
64
+ # <code>:a_call</code>
65
+ # : Event hook at all calls (`call`, `b_call`, and `c_call`).
66
+ #
67
+ # <code>:a_return</code>
68
+ # : Event hook at all returns (`return`, `b_return`, and `c_return`).
69
+ #
70
+ # <code>:thread_begin</code>
71
+ # : Event hook at thread beginning.
72
+ #
73
+ # <code>:thread_end</code>
74
+ # : Event hook at thread ending.
75
+ #
76
+ # <code>:fiber_switch</code>
77
+ # : Event hook at fiber switch.
78
+ #
79
+ # <code>:script_compiled</code>
80
+ # : New Ruby code compiled (with `eval`, `load`, or `require`).
81
+ #
82
+ class TracePoint
83
+ # <!--
84
+ # rdoc-file=trace_point.rb
85
+ # - TracePoint.new(*events) { |tp| block } -> tp
86
+ # -->
87
+ # Returns a new TracePoint object, not enabled by default.
88
+ #
89
+ # To activate the TracePoint object, use TracePoint#enable:
90
+ #
91
+ # trace = TracePoint.new(:call) do |tp|
92
+ # p [tp.lineno, tp.defined_class, tp.method_id, tp.event]
93
+ # end
94
+ # #=> #<TracePoint:disabled>
95
+ #
96
+ # trace.enable #=> false
97
+ #
98
+ # puts "Hello, TracePoint!"
99
+ # # ...
100
+ # # [48, IRB::Notifier::AbstractNotifier, :printf, :call]
101
+ # # ...
102
+ #
103
+ # To deactivate the trace, use TracePoint#disable.
104
+ #
105
+ # trace.disable
106
+ #
107
+ # See TracePoint@Events for possible events and more information.
108
+ #
109
+ # A block must be given; otherwise, an ArgumentError is raised.
110
+ #
111
+ # If the trace method isn't supported for the given event(s) filter, a
112
+ # RuntimeError is raised.
113
+ #
114
+ # TracePoint.trace(:line) do |tp|
115
+ # p tp.raised_exception
116
+ # end
117
+ # #=> RuntimeError: 'raised_exception' not supported by this event
118
+ #
119
+ # If the trace method is called outside a block, a RuntimeError is raised.
120
+ #
121
+ # TracePoint.trace(:line) do |tp|
122
+ # $tp = tp
123
+ # end
124
+ # $tp.lineno #=> access from outside (RuntimeError)
125
+ #
126
+ # Access from other ractors, threads or fibers is forbidden. TracePoints are
127
+ # active per-ractor so if you enable a TracePoint in one ractor, other ractors
128
+ # will not be affected.
129
+ #
130
+ def self.new: (*_ToSym events) { (instance tp) -> void } -> instance
131
+
132
+ # <!--
133
+ # rdoc-file=trace_point.rb
134
+ # - TracePoint.allow_reentry { block }
135
+ # -->
136
+ # Generally, while a TracePoint callback is running, other registered callbacks
137
+ # are not called to avoid confusion from reentrance. This method allows
138
+ # reentrance within a given block. Use this method carefully to avoid infinite
139
+ # callback invocation.
140
+ #
141
+ # If called when reentrance is already allowed, it raises a RuntimeError.
142
+ #
143
+ # <strong>Example:</strong>
144
+ #
145
+ # # Without reentry
146
+ # # ---------------
147
+ #
148
+ # line_handler = TracePoint.new(:line) do |tp|
149
+ # next if tp.path != __FILE__ # Only works in this file
150
+ # puts "Line handler"
151
+ # binding.eval("class C; end")
152
+ # end.enable
153
+ #
154
+ # class_handler = TracePoint.new(:class) do |tp|
155
+ # puts "Class handler"
156
+ # end.enable
157
+ #
158
+ # class B
159
+ # end
160
+ #
161
+ # # This script will print "Class handler" only once: when inside the :line
162
+ # # handler, all other handlers are ignored.
163
+ #
164
+ # # With reentry
165
+ # # ------------
166
+ #
167
+ # line_handler = TracePoint.new(:line) do |tp|
168
+ # next if tp.path != __FILE__ # Only works in this file
169
+ # next if (__LINE__..__LINE__+3).cover?(tp.lineno) # Prevent infinite calls
170
+ # puts "Line handler"
171
+ # TracePoint.allow_reentry { binding.eval("class C; end") }
172
+ # end.enable
173
+ #
174
+ # class_handler = TracePoint.new(:class) do |tp|
175
+ # puts "Class handler"
176
+ # end.enable
177
+ #
178
+ # class B
179
+ # end
180
+ #
181
+ # # This will print "Class handler" twice: inside the allow_reentry block in the :line
182
+ # # handler, other handlers are enabled.
183
+ #
184
+ # Note that the example shows the principal effect of the method, but its
185
+ # practical usage is for debugging libraries that sometimes require other
186
+ # libraries' hooks to not be affected by the debugger being inside trace point
187
+ # handling. Precautions should be taken against infinite recursion in this case
188
+ # (note that we needed to filter out calls by itself from the :line handler,
189
+ # otherwise it would call itself infinitely).
190
+ #
191
+ def self.allow_reentry: [T] () { (nil) -> T } -> T
192
+
193
+ # <!--
194
+ # rdoc-file=trace_point.rb
195
+ # - TracePoint.stat -> obj
196
+ # -->
197
+ # Returns internal information of TracePoint.
198
+ #
199
+ # The contents of the returned value are implementation-specific and may change
200
+ # in the future.
201
+ #
202
+ # This method is only for debugging TracePoint itself.
203
+ #
204
+ def self.stat: () -> untyped
205
+
206
+ # <!--
207
+ # rdoc-file=trace_point.rb
208
+ # - TracePoint.trace(*events) { |tp| block } -> obj
209
+ # -->
210
+ # A convenience method for TracePoint.new that activates the trace
211
+ # automatically.
212
+ #
213
+ # trace = TracePoint.trace(:call) { |tp| [tp.lineno, tp.event] }
214
+ # #=> #<TracePoint:enabled>
215
+ #
216
+ # trace.enabled? #=> true
217
+ #
218
+ def self.trace: (*_ToSym events) { (instance tp) -> void } -> instance
219
+
220
+ # <!--
221
+ # rdoc-file=trace_point.rb
222
+ # - binding()
223
+ # -->
224
+ # Returns the generated binding object from the event.
225
+ #
226
+ # Note that for <code>:c_call</code> and <code>:c_return</code> events, the
227
+ # method returns `nil`, since C methods themselves do not have bindings.
228
+ #
229
+ def binding: () -> Binding?
230
+
231
+ # <!--
232
+ # rdoc-file=trace_point.rb
233
+ # - callee_id()
234
+ # -->
235
+ # Returns the called name of the method being called.
236
+ #
237
+ def callee_id: () -> Symbol?
238
+
239
+ # <!--
240
+ # rdoc-file=trace_point.rb
241
+ # - defined_class()
242
+ # -->
243
+ # Returns the class or module of the method being called.
244
+ #
245
+ # class C; def foo; end; end
246
+ # trace = TracePoint.new(:call) do |tp|
247
+ # p tp.defined_class #=> C
248
+ # end.enable do
249
+ # C.new.foo
250
+ # end
251
+ #
252
+ # If the method is defined by a module, then that module is returned.
253
+ #
254
+ # module M; def foo; end; end
255
+ # class C; include M; end
256
+ # trace = TracePoint.new(:call) do |tp|
257
+ # p tp.defined_class #=> M
258
+ # end.enable do
259
+ # C.new.foo
260
+ # end
261
+ #
262
+ # <strong>Note:</strong> #defined_class returns the singleton class.
263
+ #
264
+ # The 6th block parameter of Kernel#set_trace_func passes the original class
265
+ # attached by the singleton class.
266
+ #
267
+ # <strong>This is a difference between Kernel#set_trace_func and
268
+ # TracePoint.</strong>
269
+ #
270
+ # class C; def self.foo; end; end
271
+ # trace = TracePoint.new(:call) do |tp|
272
+ # p tp.defined_class #=> #<Class:C>
273
+ # end.enable do
274
+ # C.foo
275
+ # end
276
+ #
277
+ def defined_class: () -> (Class | Module)?
278
+
279
+ # <!--
280
+ # rdoc-file=trace_point.rb
281
+ # - trace.disable -> true or false
282
+ # - trace.disable { block } -> obj
283
+ # -->
284
+ # Deactivates the trace.
285
+ #
286
+ # Returns `true` if the trace was enabled. Returns `false` if the trace was
287
+ # disabled.
288
+ #
289
+ # trace.enabled? #=> true
290
+ # trace.disable #=> true (previous status)
291
+ # trace.enabled? #=> false
292
+ # trace.disable #=> false
293
+ #
294
+ # If a block is given, the trace will only be disabled within the scope of the
295
+ # block.
296
+ #
297
+ # trace.enabled? #=> true
298
+ #
299
+ # trace.disable do
300
+ # trace.enabled?
301
+ # # Only disabled for this block
302
+ # end
303
+ #
304
+ # trace.enabled? #=> true
305
+ #
306
+ # Note: You cannot access event hooks within the block.
307
+ #
308
+ # trace.disable { p tp.lineno }
309
+ # #=> RuntimeError: access from outside
310
+ #
311
+ def disable: () -> bool
312
+ | [T] () { () -> T } -> T
313
+
314
+ # <!--
315
+ # rdoc-file=trace_point.rb
316
+ # - trace.enable(target: nil, target_line: nil, target_thread: nil) -> true or false
317
+ # - trace.enable(target: nil, target_line: nil, target_thread: :default) { block } -> obj
318
+ # -->
319
+ # Activates the trace.
320
+ #
321
+ # Returns `true` if the trace was enabled. Returns `false` if the trace was
322
+ # disabled.
323
+ #
324
+ # trace.enabled? #=> false
325
+ # trace.enable #=> false (previous state)
326
+ # # trace is enabled
327
+ # trace.enabled? #=> true
328
+ # trace.enable #=> true (previous state)
329
+ # # trace is still enabled
330
+ #
331
+ # If a block is given, the trace will only be enabled during the block
332
+ # execution. If target and target_line are both nil, then target_thread will
333
+ # default to the current thread if a block is given.
334
+ #
335
+ # trace.enabled? #=> false
336
+ #
337
+ # trace.enable do
338
+ # trace.enabled?
339
+ # # Only enabled for this block and thread
340
+ # end
341
+ #
342
+ # trace.enabled? #=> false
343
+ #
344
+ # The `target`, `target_line`, and `target_thread` parameters are used to limit
345
+ # tracing to specified code objects. `target` should be a code object for which
346
+ # RubyVM::InstructionSequence.of will return an instruction sequence.
347
+ #
348
+ # t = TracePoint.new(:line) { |tp| p tp }
349
+ #
350
+ # def m1
351
+ # p 1
352
+ # end
353
+ #
354
+ # def m2
355
+ # p 2
356
+ # end
357
+ #
358
+ # t.enable(target: method(:m1))
359
+ #
360
+ # m1
361
+ # # Prints #<TracePoint:line test.rb:4 in `m1'>
362
+ # m2
363
+ # # Prints nothing
364
+ #
365
+ # Note: You cannot access event hooks within the `enable` block.
366
+ #
367
+ # trace.enable { p tp.lineno }
368
+ # #=> RuntimeError: access from outside
369
+ #
370
+ def enable: (?target: Method | UnboundMethod | RubyVM::InstructionSequence | Proc | nil, ?target_line: int?, ?target_thread: Thread | :default | nil) -> bool
371
+ | [T] (?target: Method | UnboundMethod | RubyVM::InstructionSequence | Proc | nil, ?target_line: int?, ?target_thread: Thread | :default | nil) { () -> T } -> T
372
+
373
+ # <!--
374
+ # rdoc-file=trace_point.rb
375
+ # - trace.enabled? -> true or false
376
+ # -->
377
+ # Returns the current status of the trace.
378
+ #
379
+ def enabled?: () -> bool
380
+
381
+ # <!--
382
+ # rdoc-file=trace_point.rb
383
+ # - event()
384
+ # -->
385
+ # Returns the type of event.
386
+ #
387
+ # See TracePoint@Events for more information.
388
+ #
389
+ def event: () -> ::Symbol
390
+
391
+ # <!--
392
+ # rdoc-file=trace_point.rb
393
+ # - trace.inspect -> string
394
+ # -->
395
+ # Returns a string containing a human-readable TracePoint status.
396
+ #
397
+ def inspect: () -> String
398
+
399
+ # <!--
400
+ # rdoc-file=trace_point.rb
401
+ # - lineno()
402
+ # -->
403
+ # Returns the line number of the event.
404
+ #
405
+ def lineno: () -> Integer
406
+
407
+ # <!--
408
+ # rdoc-file=trace_point.rb
409
+ # - method_id()
410
+ # -->
411
+ # Returns the name at the definition of the method being called.
412
+ #
413
+ def method_id: () -> Symbol?
414
+
415
+ # <!--
416
+ # rdoc-file=trace_point.rb
417
+ # - path()
418
+ # -->
419
+ # Returns the path of the file being executed.
420
+ #
421
+ def path: () -> String
422
+
423
+ # <!--
424
+ # rdoc-file=trace_point.rb
425
+ # - parameters()
426
+ # -->
427
+ # Returns the parameter definitions of the method or block that the current hook
428
+ # belongs to. The format is the same as for Method#parameters.
429
+ #
430
+ def parameters: () -> Method::param_types?
431
+
432
+ # <!--
433
+ # rdoc-file=trace_point.rb
434
+ # - raised_exception()
435
+ # -->
436
+ # Returns the exception raised on the <code>:raise</code> event or rescued on
437
+ # the <code>:rescue</code> event.
438
+ #
439
+ def raised_exception: () -> Exception
440
+
441
+ # <!--
442
+ # rdoc-file=trace_point.rb
443
+ # - return_value()
444
+ # -->
445
+ # Returns the return value from <code>:return</code>, <code>:c_return</code>,
446
+ # and <code>:b_return</code> events.
447
+ #
448
+ def return_value: () -> untyped
449
+
450
+ # <!--
451
+ # rdoc-file=trace_point.rb
452
+ # - self()
453
+ # -->
454
+ # Returns the trace object during the event.
455
+ #
456
+ # Similar to the following, but it returns the correct object (the method
457
+ # receiver) for <code>:c_call</code> and <code>:c_return</code> events:
458
+ #
459
+ # trace.binding.eval('self')
460
+ #
461
+ def self: () -> untyped
462
+
463
+ # <!--
464
+ # rdoc-file=trace_point.rb
465
+ # - eval_script()
466
+ # -->
467
+ # Returns the compiled source code (String) from eval methods on the
468
+ # <code>:script_compiled</code> event. If loaded from a file, it returns `nil`.
469
+ #
470
+ def eval_script: () -> String?
471
+
472
+ # <!--
473
+ # rdoc-file=trace_point.rb
474
+ # - instruction_sequence()
475
+ # -->
476
+ # Returns the compiled instruction sequence represented by a
477
+ # RubyVM::InstructionSequence instance on the <code>:script_compiled</code>
478
+ # event.
479
+ #
480
+ # Note that this method is CRuby-specific.
481
+ #
482
+ def instruction_sequence: () -> RubyVM::InstructionSequence
483
+ end
@@ -0,0 +1,98 @@
1
+ # <!-- rdoc-file=object.c -->
2
+ # The class of the singleton object `true`.
3
+ #
4
+ # Several of its methods act as operators:
5
+ #
6
+ # * #&
7
+ # * #|
8
+ # * #===
9
+ # * #^
10
+ #
11
+ # One other method:
12
+ #
13
+ # * #to_s and its alias #inspect.
14
+ #
15
+ class TrueClass
16
+ def !: () -> false
17
+
18
+ # <!--
19
+ # rdoc-file=object.c
20
+ # - true & object -> true or false
21
+ # -->
22
+ # Returns `false` if `object` is `false` or `nil`, `true` otherwise:
23
+ #
24
+ # true & Object.new # => true true & false # => false true & nil #
25
+ # => false
26
+ #
27
+ def &: (false | nil) -> false
28
+ | (untyped obj) -> bool
29
+
30
+ # <!--
31
+ # rdoc-file=object.c
32
+ # - true === other -> true or false
33
+ # - false === other -> true or false
34
+ # - nil === other -> true or false
35
+ # -->
36
+ # Returns `true` or `false`.
37
+ #
38
+ # Like Object#==, if `object` is an instance of Object (and not an instance of
39
+ # one of its many subclasses).
40
+ #
41
+ # This method is commonly overridden by those subclasses, to provide meaningful
42
+ # semantics in `case` statements.
43
+ #
44
+ def ===: (true) -> true
45
+ | (untyped obj) -> bool
46
+
47
+ # <!--
48
+ # rdoc-file=object.c
49
+ # - true ^ object -> !object
50
+ # -->
51
+ # Returns `true` if `object` is `false` or `nil`, `false` otherwise:
52
+ #
53
+ # true ^ Object.new # => false
54
+ # true ^ false # => true
55
+ # true ^ nil # => true
56
+ #
57
+ def ^: (false | nil) -> true
58
+ | (untyped obj) -> bool
59
+
60
+ # <!-- rdoc-file=object.c -->
61
+ # Returns string <code>'true'</code>:
62
+ #
63
+ # true.to_s # => "true"
64
+ #
65
+ # TrueClass#inspect is an alias for TrueClass#to_s.
66
+ #
67
+ alias inspect to_s
68
+
69
+ # <!--
70
+ # rdoc-file=object.c
71
+ # - true.to_s -> 'true'
72
+ # -->
73
+ # Returns string <code>'true'</code>:
74
+ #
75
+ # true.to_s # => "true"
76
+ #
77
+ # TrueClass#inspect is an alias for TrueClass#to_s.
78
+ #
79
+ def to_s: () -> "true"
80
+
81
+ # <!--
82
+ # rdoc-file=object.c
83
+ # - true | object -> true
84
+ # -->
85
+ # Returns `true`:
86
+ #
87
+ # true | Object.new # => true
88
+ # true | false # => true
89
+ # true | nil # => true
90
+ #
91
+ # Argument `object` is evaluated. This is different from `true` with the
92
+ # short-circuit operator, whose operand is evaluated only if necessary:
93
+ #
94
+ # true | raise # => Raises RuntimeError.
95
+ # true || raise # => true
96
+ #
97
+ def |: (untyped obj) -> true
98
+ end