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,1654 @@
1
+ # <!-- rdoc-file=ext/ripper/lib/ripper.rb -->
2
+ # Ripper is a Ruby script parser.
3
+ #
4
+ # You can get information from the parser with event-based style. Information
5
+ # such as abstract syntax trees or simple lexical analysis of the Ruby program.
6
+ #
7
+ # ## Usage
8
+ #
9
+ # Ripper provides an easy interface for parsing your program into a symbolic
10
+ # expression tree (or S-expression).
11
+ #
12
+ # Understanding the output of the parser may come as a challenge, it's
13
+ # recommended you use PP to format the output for legibility.
14
+ #
15
+ # require 'ripper'
16
+ # require 'pp'
17
+ #
18
+ # pp Ripper.sexp('def hello(world) "Hello, #{world}!"; end')
19
+ # #=> [:program,
20
+ # [[:def,
21
+ # [:@ident, "hello", [1, 4]],
22
+ # [:paren,
23
+ # [:params, [[:@ident, "world", [1, 10]]], nil, nil, nil, nil, nil, nil]],
24
+ # [:bodystmt,
25
+ # [[:string_literal,
26
+ # [:string_content,
27
+ # [:@tstring_content, "Hello, ", [1, 18]],
28
+ # [:string_embexpr, [[:var_ref, [:@ident, "world", [1, 27]]]]],
29
+ # [:@tstring_content, "!", [1, 33]]]]],
30
+ # nil,
31
+ # nil,
32
+ # nil]]]]
33
+ #
34
+ # You can see in the example above, the expression starts with
35
+ # <code>:program</code>.
36
+ #
37
+ # From here, a method definition at <code>:def</code>, followed by the method's
38
+ # identifier <code>:@ident</code>. After the method's identifier comes the
39
+ # parentheses <code>:paren</code> and the method parameters under
40
+ # <code>:params</code>.
41
+ #
42
+ # Next is the method body, starting at <code>:bodystmt</code> (`stmt` meaning
43
+ # statement), which contains the full definition of the method.
44
+ #
45
+ # In our case, we're simply returning a String, so next we have the
46
+ # <code>:string_literal</code> expression.
47
+ #
48
+ # Within our <code>:string_literal</code> you'll notice two
49
+ # <code>@tstring_content</code>, this is the literal part for <code>Hello,
50
+ # </code> and <code>!</code>. Between the two <code>@tstring_content</code>
51
+ # statements is a <code>:string_embexpr</code>, where *embexpr* is an embedded
52
+ # expression. Our expression consists of a local variable, or `var_ref`, with
53
+ # the identifier (<code>@ident</code>) of `world`.
54
+ #
55
+ # ## Resources
56
+ #
57
+ # * [Ruby
58
+ # Inside](http://www.rubyinside.com/using-ripper-to-see-how-ruby-is-parsing-
59
+ # your-code-5270.html)
60
+ #
61
+ # ## Requirements
62
+ #
63
+ # * ruby 1.9 (support CVS HEAD only)
64
+ # * bison 1.28 or later (Other yaccs do not work)
65
+ #
66
+ # ## License
67
+ #
68
+ # Ruby License.
69
+ #
70
+ # * Minero Aoki
71
+ # * aamine@loveruby.net
72
+ # * http://i.loveruby.net
73
+ #
74
+ class Ripper
75
+ # <!-- rdoc-file=ext/ripper/lib/ripper/core.rb -->
76
+ # This array contains name of all ripper events.
77
+ #
78
+ EVENTS: Array[Symbol]
79
+
80
+ EXPR_ARG: Integer
81
+
82
+ EXPR_ARG_ANY: Integer
83
+
84
+ EXPR_BEG: Integer
85
+
86
+ EXPR_BEG_ANY: Integer
87
+
88
+ EXPR_CLASS: Integer
89
+
90
+ EXPR_CMDARG: Integer
91
+
92
+ EXPR_DOT: Integer
93
+
94
+ EXPR_END: Integer
95
+
96
+ EXPR_ENDARG: Integer
97
+
98
+ EXPR_ENDFN: Integer
99
+
100
+ EXPR_END_ANY: Integer
101
+
102
+ EXPR_FITEM: Integer
103
+
104
+ EXPR_FNAME: Integer
105
+
106
+ EXPR_LABEL: Integer
107
+
108
+ EXPR_LABELED: Integer
109
+
110
+ EXPR_MID: Integer
111
+
112
+ EXPR_NONE: Integer
113
+
114
+ EXPR_VALUE: Integer
115
+
116
+ # <!-- rdoc-file=ext/ripper/lib/ripper/core.rb -->
117
+ # This array contains name of parser events.
118
+ #
119
+ PARSER_EVENTS: Array[Symbol]
120
+
121
+ PARSER_EVENT_TABLE: Hash[Symbol, Integer]
122
+
123
+ # <!-- rdoc-file=ext/ripper/lib/ripper/core.rb -->
124
+ # This array contains name of scanner events.
125
+ #
126
+ SCANNER_EVENTS: Array[Symbol]
127
+
128
+ SCANNER_EVENT_TABLE: Hash[Symbol, Integer]
129
+
130
+ # <!-- rdoc-file=parse.c -->
131
+ # version of Ripper
132
+ #
133
+ Version: String
134
+
135
+ # <!-- rdoc-file=ext/ripper/lib/ripper/filter.rb -->
136
+ # This class handles only scanner events, which are dispatched in the 'right'
137
+ # order (same with input).
138
+ #
139
+ class Filter
140
+ private
141
+
142
+ # <!--
143
+ # rdoc-file=ext/ripper/lib/ripper/filter.rb
144
+ # - new(src, filename = '-', lineno = 1)
145
+ # -->
146
+ # Creates a new Ripper::Filter instance, passes parameters `src`, `filename`,
147
+ # and `lineno` to Ripper::Lexer.new
148
+ #
149
+ # The lexer is for internal use only.
150
+ #
151
+ def initialize: (File | _Gets | String src, ?String filename, ?Integer lineno) -> void
152
+
153
+ public
154
+
155
+ # <!--
156
+ # rdoc-file=ext/ripper/lib/ripper/filter.rb
157
+ # - column()
158
+ # -->
159
+ # The column number of the current token. This value starts from 0. This method
160
+ # is valid only in event handlers.
161
+ #
162
+ def column: () -> Integer?
163
+
164
+ # <!--
165
+ # rdoc-file=ext/ripper/lib/ripper/filter.rb
166
+ # - filename()
167
+ # -->
168
+ # The file name of the input.
169
+ #
170
+ def filename: () -> String
171
+
172
+ # <!--
173
+ # rdoc-file=ext/ripper/lib/ripper/filter.rb
174
+ # - lineno()
175
+ # -->
176
+ # The line number of the current token. This value starts from 1. This method is
177
+ # valid only in event handlers.
178
+ #
179
+ def lineno: () -> Integer?
180
+
181
+ # <!--
182
+ # rdoc-file=ext/ripper/lib/ripper/filter.rb
183
+ # - parse(init = nil)
184
+ # -->
185
+ # Starts the parser. `init` is a data accumulator and is passed to the next
186
+ # event handler (as of Enumerable#inject).
187
+ #
188
+ def parse: (?untyped init) -> untyped
189
+
190
+ # <!--
191
+ # rdoc-file=ext/ripper/lib/ripper/filter.rb
192
+ # - state()
193
+ # -->
194
+ # The scanner's state of the current token. This value is the bitwise OR of zero
195
+ # or more of the <code>Ripper::EXPR_*</code> constants.
196
+ #
197
+ def state: () -> Ripper::Lexer::State
198
+
199
+ private
200
+
201
+ # <!--
202
+ # rdoc-file=ext/ripper/lib/ripper/filter.rb
203
+ # - on_default(event, token, data)
204
+ # -->
205
+ # This method is called when some event handler is undefined. `event` is
206
+ # :on_XXX, `token` is the scanned token, and `data` is a data accumulator.
207
+ #
208
+ # The return value of this method is passed to the next event handler (as of
209
+ # Enumerable#inject).
210
+ #
211
+ def on_default: (untyped event, untyped token, untyped data) -> untyped
212
+ end
213
+
214
+ class Lexer < Ripper
215
+ class Elem
216
+ attr_accessor event: Symbol
217
+
218
+ attr_accessor message: String?
219
+ attr_accessor pos: [ Integer, Integer ]
220
+
221
+ attr_accessor state: Ripper::Lexer::State
222
+ attr_accessor tok: String
223
+
224
+ private
225
+
226
+ # <!--
227
+ # rdoc-file=ext/ripper/lib/ripper/lexer.rb
228
+ # - new(pos, event, tok, state, message = nil)
229
+ # -->
230
+ #
231
+ def initialize: ([ Integer, Integer ] pos, Symbol event, String tok, Integer | Ripper::Lexer::State state, ?String? message) -> void
232
+
233
+ public
234
+
235
+ # <!--
236
+ # rdoc-file=ext/ripper/lib/ripper/lexer.rb
237
+ # - [](index)
238
+ # -->
239
+ #
240
+ def []: (0 | :pos) -> [ Integer, Integer ]
241
+ | (1 | :event) -> Symbol
242
+ | (2 | :tok) -> String
243
+ | (3 | :state) -> Ripper::Lexer::State
244
+ | (4 | :message) -> String?
245
+ | (Integer | Symbol) -> untyped
246
+ | (untyped) -> nil
247
+
248
+ # <!--
249
+ # rdoc-file=ext/ripper/lib/ripper/lexer.rb
250
+ # - to_a()
251
+ # -->
252
+ #
253
+ def to_a: () -> ( [ [ Integer, Integer ], Symbol, String, Ripper::Lexer::State, String ]
254
+ | [ [ Integer, Integer ], Symbol, String, Ripper::Lexer::State ] )
255
+ end
256
+
257
+ class State
258
+ attr_reader to_int: Integer
259
+ attr_reader to_s: String
260
+
261
+ private
262
+
263
+ # <!--
264
+ # rdoc-file=ext/ripper/lib/ripper/lexer.rb
265
+ # - new(i)
266
+ # -->
267
+ #
268
+ def initialize: (Integer | State i) -> void
269
+
270
+ public
271
+
272
+ # <!--
273
+ # rdoc-file=ext/ripper/lib/ripper/lexer.rb
274
+ # - &(i)
275
+ # -->
276
+ #
277
+ def &: (Integer i) -> State
278
+
279
+ # <!--
280
+ # rdoc-file=ext/ripper/lib/ripper/lexer.rb
281
+ # - ==(i)
282
+ # -->
283
+ #
284
+ def ==: (Integer | State i) -> bool
285
+
286
+ # <!--
287
+ # rdoc-file=ext/ripper/lib/ripper/lexer.rb
288
+ # - [](index)
289
+ # -->
290
+ #
291
+ def []: (0 | :to_int index) -> (Integer | State)
292
+ | (1 | :to_s index) -> String
293
+ | (untyped) -> nil
294
+
295
+ # <!--
296
+ # rdoc-file=ext/ripper/lib/ripper/lexer.rb
297
+ # - allbits?(i)
298
+ # -->
299
+ #
300
+ def allbits?: (int i) -> bool
301
+
302
+ # <!--
303
+ # rdoc-file=ext/ripper/lib/ripper/lexer.rb
304
+ # - anybits?(i)
305
+ # -->
306
+ #
307
+ def anybits?: (int i) -> bool
308
+
309
+ # <!--
310
+ # rdoc-file=ext/ripper/lib/ripper/lexer.rb
311
+ # - nobits?(i)
312
+ # -->
313
+ #
314
+ def nobits?: (int i) -> bool
315
+
316
+ alias to_i to_int
317
+
318
+ # <!--
319
+ # rdoc-file=ext/ripper/lib/ripper/lexer.rb
320
+ # - |(i)
321
+ # -->
322
+ #
323
+ def |: (Integer i) -> State
324
+ end
325
+ attr_reader errors: Array[Lexer::Elem]
326
+
327
+ alias compile_error on_error1
328
+ def lex: (?raise_errors: boolish) -> Array[[ [ Integer, Integer ], Symbol, String, Lexer::State ]]
329
+
330
+ alias on_CHAR _push_token
331
+
332
+ alias on___end__ _push_token
333
+
334
+ alias on_alias_error on_error2
335
+
336
+ alias on_assign_error on_error2
337
+
338
+ alias on_backref _push_token
339
+
340
+ alias on_backtick _push_token
341
+
342
+ alias on_class_name_error on_error2
343
+
344
+ alias on_comma _push_token
345
+
346
+ alias on_comment _push_token
347
+
348
+ alias on_const _push_token
349
+
350
+ alias on_cvar _push_token
351
+
352
+ alias on_embdoc _push_token
353
+
354
+ alias on_embdoc_beg _push_token
355
+
356
+ alias on_embdoc_end _push_token
357
+
358
+ alias on_embexpr_beg _push_token
359
+
360
+ alias on_embexpr_end _push_token
361
+
362
+ alias on_embvar _push_token
363
+
364
+ alias on_float _push_token
365
+
366
+ alias on_gvar _push_token
367
+
368
+ alias on_ident _push_token
369
+
370
+ alias on_ignored_nl _push_token
371
+
372
+ alias on_ignored_sp _push_token
373
+
374
+ alias on_imaginary _push_token
375
+
376
+ alias on_int _push_token
377
+
378
+ alias on_ivar _push_token
379
+
380
+ alias on_kw _push_token
381
+
382
+ alias on_label _push_token
383
+
384
+ alias on_label_end _push_token
385
+
386
+ alias on_lbrace _push_token
387
+
388
+ alias on_lbracket _push_token
389
+
390
+ alias on_lparen _push_token
391
+
392
+ alias on_nl _push_token
393
+
394
+ alias on_op _push_token
395
+
396
+ alias on_param_error on_error2
397
+
398
+ alias on_parse_error on_error1
399
+
400
+ alias on_period _push_token
401
+
402
+ alias on_qsymbols_beg _push_token
403
+
404
+ alias on_qwords_beg _push_token
405
+
406
+ alias on_rational _push_token
407
+
408
+ alias on_rbrace _push_token
409
+
410
+ alias on_rbracket _push_token
411
+
412
+ alias on_regexp_beg _push_token
413
+
414
+ alias on_regexp_end _push_token
415
+
416
+ alias on_rparen _push_token
417
+
418
+ alias on_semicolon _push_token
419
+
420
+ alias on_sp _push_token
421
+
422
+ alias on_symbeg _push_token
423
+
424
+ alias on_symbols_beg _push_token
425
+
426
+ alias on_tlambda _push_token
427
+
428
+ alias on_tlambeg _push_token
429
+
430
+ alias on_tstring_beg _push_token
431
+
432
+ alias on_tstring_content _push_token
433
+
434
+ alias on_tstring_end _push_token
435
+
436
+ alias on_words_beg _push_token
437
+
438
+ alias on_words_sep _push_token
439
+ def parse: (?raise_errors: boolish) -> Array[Lexer::Elem]
440
+
441
+ def scan: (?raise_errors: boolish) -> Array[Lexer::Elem]
442
+
443
+ def tokenize: (?raise_errors: boolish) -> Array[String]
444
+
445
+ private
446
+
447
+ def _push_token: (untyped tok) -> Lexer::Elem
448
+
449
+ def on_error1: (untyped mesg) -> Array[Lexer::Elem]
450
+
451
+ def on_error2: (untyped mesg, untyped elem) -> Array[Lexer::Elem]
452
+
453
+ def on_heredoc_beg: (untyped tok) -> untyped
454
+
455
+ def on_heredoc_dedent: (untyped v, untyped w) -> untyped
456
+
457
+ def on_heredoc_end: (untyped tok) -> untyped
458
+ end
459
+
460
+ class SexpBuilder < Ripper
461
+ attr_reader error: untyped
462
+
463
+ alias compile_error on_error
464
+ def on_BEGIN: (*untyped args) -> untyped
465
+
466
+ def on_CHAR: (untyped tok) -> untyped
467
+
468
+ def on_END: (*untyped args) -> untyped
469
+
470
+ def on___end__: (untyped tok) -> untyped
471
+
472
+ def on_alias: (*untyped args) -> untyped
473
+
474
+ def on_alias_error: (*untyped args) -> untyped
475
+
476
+ def on_aref: (*untyped args) -> untyped
477
+
478
+ def on_aref_field: (*untyped args) -> untyped
479
+
480
+ def on_arg_ambiguous: (*untyped args) -> untyped
481
+
482
+ def on_arg_paren: (*untyped args) -> untyped
483
+
484
+ def on_args_add: (*untyped args) -> untyped
485
+
486
+ def on_args_add_block: (*untyped args) -> untyped
487
+
488
+ def on_args_add_star: (*untyped args) -> untyped
489
+
490
+ def on_args_forward: (*untyped args) -> untyped
491
+
492
+ def on_args_new: (*untyped args) -> untyped
493
+
494
+ def on_array: (*untyped args) -> untyped
495
+
496
+ def on_aryptn: (*untyped args) -> untyped
497
+
498
+ def on_assign: (*untyped args) -> untyped
499
+
500
+ def on_assign_error: (*untyped args) -> untyped
501
+
502
+ def on_assoc_new: (*untyped args) -> untyped
503
+
504
+ def on_assoc_splat: (*untyped args) -> untyped
505
+
506
+ def on_assoclist_from_args: (*untyped args) -> untyped
507
+
508
+ def on_backref: (untyped tok) -> untyped
509
+
510
+ def on_backtick: (untyped tok) -> untyped
511
+
512
+ def on_bare_assoc_hash: (*untyped args) -> untyped
513
+
514
+ def on_begin: (*untyped args) -> untyped
515
+
516
+ def on_binary: (*untyped args) -> untyped
517
+
518
+ def on_block_var: (*untyped args) -> untyped
519
+
520
+ def on_blockarg: (*untyped args) -> untyped
521
+
522
+ def on_bodystmt: (*untyped args) -> untyped
523
+
524
+ def on_brace_block: (*untyped args) -> untyped
525
+
526
+ def on_break: (*untyped args) -> untyped
527
+
528
+ def on_call: (*untyped args) -> untyped
529
+
530
+ def on_case: (*untyped args) -> untyped
531
+
532
+ def on_class: (*untyped args) -> untyped
533
+
534
+ def on_class_name_error: (*untyped args) -> untyped
535
+
536
+ def on_comma: (untyped tok) -> untyped
537
+
538
+ def on_command: (*untyped args) -> untyped
539
+
540
+ def on_command_call: (*untyped args) -> untyped
541
+
542
+ def on_comment: (untyped tok) -> untyped
543
+
544
+ def on_const: (untyped tok) -> untyped
545
+
546
+ def on_const_path_field: (*untyped args) -> untyped
547
+
548
+ def on_const_path_ref: (*untyped args) -> untyped
549
+
550
+ def on_const_ref: (*untyped args) -> untyped
551
+
552
+ def on_cvar: (untyped tok) -> untyped
553
+
554
+ def on_def: (*untyped args) -> untyped
555
+
556
+ def on_defined: (*untyped args) -> untyped
557
+
558
+ def on_defs: (*untyped args) -> untyped
559
+
560
+ def on_do_block: (*untyped args) -> untyped
561
+
562
+ def on_dot2: (*untyped args) -> untyped
563
+
564
+ def on_dot3: (*untyped args) -> untyped
565
+
566
+ def on_dyna_symbol: (*untyped args) -> untyped
567
+
568
+ def on_else: (*untyped args) -> untyped
569
+
570
+ def on_elsif: (*untyped args) -> untyped
571
+
572
+ def on_embdoc: (untyped tok) -> untyped
573
+
574
+ def on_embdoc_beg: (untyped tok) -> untyped
575
+
576
+ def on_embdoc_end: (untyped tok) -> untyped
577
+
578
+ def on_embexpr_beg: (untyped tok) -> untyped
579
+
580
+ def on_embexpr_end: (untyped tok) -> untyped
581
+
582
+ def on_embvar: (untyped tok) -> untyped
583
+
584
+ def on_ensure: (*untyped args) -> untyped
585
+
586
+ def on_excessed_comma: (*untyped args) -> untyped
587
+
588
+ def on_fcall: (*untyped args) -> untyped
589
+
590
+ def on_field: (*untyped args) -> untyped
591
+
592
+ def on_float: (untyped tok) -> untyped
593
+
594
+ def on_fndptn: (*untyped args) -> untyped
595
+
596
+ def on_for: (*untyped args) -> untyped
597
+
598
+ def on_gvar: (untyped tok) -> untyped
599
+
600
+ def on_hash: (*untyped args) -> untyped
601
+
602
+ def on_heredoc_beg: (untyped tok) -> untyped
603
+
604
+ def on_heredoc_end: (untyped tok) -> untyped
605
+
606
+ def on_hshptn: (*untyped args) -> untyped
607
+
608
+ def on_ident: (untyped tok) -> untyped
609
+
610
+ def on_if: (*untyped args) -> untyped
611
+
612
+ def on_if_mod: (*untyped args) -> untyped
613
+
614
+ def on_ifop: (*untyped args) -> untyped
615
+
616
+ def on_ignored_nl: (untyped tok) -> untyped
617
+
618
+ def on_ignored_sp: (untyped tok) -> untyped
619
+
620
+ def on_imaginary: (untyped tok) -> untyped
621
+
622
+ def on_in: (*untyped args) -> untyped
623
+
624
+ def on_int: (untyped tok) -> untyped
625
+
626
+ def on_ivar: (untyped tok) -> untyped
627
+
628
+ def on_kw: (untyped tok) -> untyped
629
+
630
+ def on_kwrest_param: (*untyped args) -> untyped
631
+
632
+ def on_label: (untyped tok) -> untyped
633
+
634
+ def on_label_end: (untyped tok) -> untyped
635
+
636
+ def on_lambda: (*untyped args) -> untyped
637
+
638
+ def on_lbrace: (untyped tok) -> untyped
639
+
640
+ def on_lbracket: (untyped tok) -> untyped
641
+
642
+ def on_lparen: (untyped tok) -> untyped
643
+
644
+ def on_magic_comment: (*untyped args) -> untyped
645
+
646
+ def on_massign: (*untyped args) -> untyped
647
+
648
+ def on_method_add_arg: (*untyped args) -> untyped
649
+
650
+ def on_method_add_block: (*untyped args) -> untyped
651
+
652
+ def on_mlhs_add: (*untyped args) -> untyped
653
+
654
+ def on_mlhs_add_post: (*untyped args) -> untyped
655
+
656
+ def on_mlhs_add_star: (*untyped args) -> untyped
657
+
658
+ def on_mlhs_new: (*untyped args) -> untyped
659
+
660
+ def on_mlhs_paren: (*untyped args) -> untyped
661
+
662
+ def on_module: (*untyped args) -> untyped
663
+
664
+ def on_mrhs_add: (*untyped args) -> untyped
665
+
666
+ def on_mrhs_add_star: (*untyped args) -> untyped
667
+
668
+ def on_mrhs_new: (*untyped args) -> untyped
669
+
670
+ def on_mrhs_new_from_args: (*untyped args) -> untyped
671
+
672
+ def on_next: (*untyped args) -> untyped
673
+
674
+ def on_nl: (untyped tok) -> untyped
675
+
676
+ def on_nokw_param: (*untyped args) -> untyped
677
+
678
+ def on_op: (untyped tok) -> untyped
679
+
680
+ def on_opassign: (*untyped args) -> untyped
681
+
682
+ def on_operator_ambiguous: (*untyped args) -> untyped
683
+
684
+ def on_param_error: (*untyped args) -> untyped
685
+
686
+ def on_params: (*untyped args) -> untyped
687
+
688
+ def on_paren: (*untyped args) -> untyped
689
+
690
+ alias on_parse_error on_error
691
+ def on_period: (untyped tok) -> untyped
692
+
693
+ def on_program: (*untyped args) -> untyped
694
+
695
+ def on_qsymbols_add: (*untyped args) -> untyped
696
+
697
+ def on_qsymbols_beg: (untyped tok) -> untyped
698
+
699
+ def on_qsymbols_new: (*untyped args) -> untyped
700
+
701
+ def on_qwords_add: (*untyped args) -> untyped
702
+
703
+ def on_qwords_beg: (untyped tok) -> untyped
704
+
705
+ def on_qwords_new: (*untyped args) -> untyped
706
+
707
+ def on_rational: (untyped tok) -> untyped
708
+
709
+ def on_rbrace: (untyped tok) -> untyped
710
+
711
+ def on_rbracket: (untyped tok) -> untyped
712
+
713
+ def on_redo: (*untyped args) -> untyped
714
+
715
+ def on_regexp_add: (*untyped args) -> untyped
716
+
717
+ def on_regexp_beg: (untyped tok) -> untyped
718
+
719
+ def on_regexp_end: (untyped tok) -> untyped
720
+
721
+ def on_regexp_literal: (*untyped args) -> untyped
722
+
723
+ def on_regexp_new: (*untyped args) -> untyped
724
+
725
+ def on_rescue: (*untyped args) -> untyped
726
+
727
+ def on_rescue_mod: (*untyped args) -> untyped
728
+
729
+ def on_rest_param: (*untyped args) -> untyped
730
+
731
+ def on_retry: (*untyped args) -> untyped
732
+
733
+ def on_return: (*untyped args) -> untyped
734
+
735
+ def on_return0: (*untyped args) -> untyped
736
+
737
+ def on_rparen: (untyped tok) -> untyped
738
+
739
+ def on_sclass: (*untyped args) -> untyped
740
+
741
+ def on_semicolon: (untyped tok) -> untyped
742
+
743
+ def on_sp: (untyped tok) -> untyped
744
+
745
+ def on_stmts_add: (*untyped args) -> untyped
746
+
747
+ def on_stmts_new: (*untyped args) -> untyped
748
+
749
+ def on_string_add: (*untyped args) -> untyped
750
+
751
+ def on_string_concat: (*untyped args) -> untyped
752
+
753
+ def on_string_content: (*untyped args) -> untyped
754
+
755
+ def on_string_dvar: (*untyped args) -> untyped
756
+
757
+ def on_string_embexpr: (*untyped args) -> untyped
758
+
759
+ def on_string_literal: (*untyped args) -> untyped
760
+
761
+ def on_super: (*untyped args) -> untyped
762
+
763
+ def on_symbeg: (untyped tok) -> untyped
764
+
765
+ def on_symbol: (*untyped args) -> untyped
766
+
767
+ def on_symbol_literal: (*untyped args) -> untyped
768
+
769
+ def on_symbols_add: (*untyped args) -> untyped
770
+
771
+ def on_symbols_beg: (untyped tok) -> untyped
772
+
773
+ def on_symbols_new: (*untyped args) -> untyped
774
+
775
+ def on_tlambda: (untyped tok) -> untyped
776
+
777
+ def on_tlambeg: (untyped tok) -> untyped
778
+
779
+ def on_top_const_field: (*untyped args) -> untyped
780
+
781
+ def on_top_const_ref: (*untyped args) -> untyped
782
+
783
+ def on_tstring_beg: (untyped tok) -> untyped
784
+
785
+ def on_tstring_content: (untyped tok) -> untyped
786
+
787
+ def on_tstring_end: (untyped tok) -> untyped
788
+
789
+ def on_unary: (*untyped args) -> untyped
790
+
791
+ def on_undef: (*untyped args) -> untyped
792
+
793
+ def on_unless: (*untyped args) -> untyped
794
+
795
+ def on_unless_mod: (*untyped args) -> untyped
796
+
797
+ def on_until: (*untyped args) -> untyped
798
+
799
+ def on_until_mod: (*untyped args) -> untyped
800
+
801
+ def on_var_alias: (*untyped args) -> untyped
802
+
803
+ def on_var_field: (*untyped args) -> untyped
804
+
805
+ def on_var_ref: (*untyped args) -> untyped
806
+
807
+ def on_vcall: (*untyped args) -> untyped
808
+
809
+ def on_void_stmt: (*untyped args) -> untyped
810
+
811
+ def on_when: (*untyped args) -> untyped
812
+
813
+ def on_while: (*untyped args) -> untyped
814
+
815
+ def on_while_mod: (*untyped args) -> untyped
816
+
817
+ def on_word_add: (*untyped args) -> untyped
818
+
819
+ def on_word_new: (*untyped args) -> untyped
820
+
821
+ def on_words_add: (*untyped args) -> untyped
822
+
823
+ def on_words_beg: (untyped tok) -> untyped
824
+
825
+ def on_words_new: (*untyped args) -> untyped
826
+
827
+ def on_words_sep: (untyped tok) -> untyped
828
+
829
+ def on_xstring_add: (*untyped args) -> untyped
830
+
831
+ def on_xstring_literal: (*untyped args) -> untyped
832
+
833
+ def on_xstring_new: (*untyped args) -> untyped
834
+
835
+ def on_yield: (*untyped args) -> untyped
836
+
837
+ def on_yield0: (*untyped args) -> untyped
838
+
839
+ def on_zsuper: (*untyped args) -> untyped
840
+
841
+ private
842
+
843
+ def dedent_element: (untyped e, untyped width) -> untyped
844
+
845
+ def on_error: (untyped mesg) -> untyped
846
+
847
+ def on_heredoc_dedent: (untyped val, untyped width) -> untyped
848
+ end
849
+
850
+ class SexpBuilderPP < Ripper::SexpBuilder
851
+ alias on_args_add _dispatch_event_push
852
+
853
+ alias on_args_new _dispatch_event_new
854
+
855
+ alias on_mlhs_add _dispatch_event_push
856
+
857
+ alias on_mlhs_new _dispatch_event_new
858
+
859
+ alias on_mrhs_add _dispatch_event_push
860
+
861
+ alias on_mrhs_new _dispatch_event_new
862
+
863
+ alias on_qsymbols_add _dispatch_event_push
864
+
865
+ alias on_qsymbols_new _dispatch_event_new
866
+
867
+ alias on_qwords_add _dispatch_event_push
868
+
869
+ alias on_qwords_new _dispatch_event_new
870
+
871
+ alias on_regexp_add _dispatch_event_push
872
+
873
+ alias on_regexp_new _dispatch_event_new
874
+
875
+ alias on_stmts_add _dispatch_event_push
876
+
877
+ alias on_stmts_new _dispatch_event_new
878
+
879
+ alias on_string_add _dispatch_event_push
880
+
881
+ alias on_symbols_add _dispatch_event_push
882
+
883
+ alias on_symbols_new _dispatch_event_new
884
+
885
+ alias on_word_add _dispatch_event_push
886
+
887
+ alias on_word_new _dispatch_event_new
888
+
889
+ alias on_words_add _dispatch_event_push
890
+
891
+ alias on_words_new _dispatch_event_new
892
+
893
+ alias on_xstring_add _dispatch_event_push
894
+
895
+ alias on_xstring_new _dispatch_event_new
896
+
897
+ private
898
+
899
+ def _dispatch_event_new: () -> untyped
900
+
901
+ def _dispatch_event_push: (untyped list, untyped item) -> untyped
902
+
903
+ def on_heredoc_dedent: (untyped val, untyped width) -> untyped
904
+
905
+ def on_mlhs_add_post: (untyped list, untyped post) -> untyped
906
+
907
+ def on_mlhs_add_star: (untyped list, untyped star) -> untyped
908
+
909
+ def on_mlhs_paren: (untyped list) -> untyped
910
+ end
911
+
912
+ class TokenPattern
913
+ MAP: Hash[String, String]
914
+
915
+ class CompileError < Error
916
+ end
917
+
918
+ class Error < StandardError
919
+ end
920
+
921
+ class MatchData
922
+ private
923
+
924
+ def initialize: (untyped tokens, untyped match) -> void
925
+
926
+ public
927
+
928
+ def string: (?untyped n) -> untyped
929
+
930
+ private
931
+
932
+ def match: (?untyped n) -> untyped
933
+ end
934
+
935
+ class MatchError < Error
936
+ end
937
+ alias self.compile self.new
938
+
939
+ private
940
+
941
+ def initialize: (untyped pattern) -> void
942
+
943
+ public
944
+
945
+ def match: (untyped str) -> untyped
946
+
947
+ def match_list: (untyped tokens) -> untyped
948
+
949
+ private
950
+
951
+ def compile: (untyped pattern) -> untyped
952
+
953
+ def map_token: (untyped tok) -> untyped
954
+
955
+ def map_tokens: (untyped tokens) -> untyped
956
+ end
957
+
958
+ interface _Gets
959
+ def gets: (?String sep, ?Integer limit) -> String?
960
+ end
961
+
962
+ # <!--
963
+ # rdoc-file=parse.c
964
+ # - Ripper.dedent_string(input, width) -> Integer
965
+ # -->
966
+ # USE OF RIPPER LIBRARY ONLY.
967
+ #
968
+ # Strips up to `width` leading whitespaces from `input`, and returns the
969
+ # stripped column width.
970
+ #
971
+ def self.dedent_string: (String input, int width) -> Integer
972
+
973
+ # <!--
974
+ # rdoc-file=ext/ripper/lib/ripper/lexer.rb
975
+ # - lex(src, filename = '-', lineno = 1, **kw)
976
+ # -->
977
+ # Tokenizes the Ruby program and returns an array of an array, which is
978
+ # formatted like <code>[[lineno, column], type, token, state]</code>. The
979
+ # `filename` argument is mostly ignored. By default, this method does not handle
980
+ # syntax errors in `src`, use the `raise_errors` keyword to raise a SyntaxError
981
+ # for an error in `src`.
982
+ #
983
+ # require 'ripper'
984
+ # require 'pp'
985
+ #
986
+ # pp Ripper.lex("def m(a) nil end")
987
+ # #=> [[[1, 0], :on_kw, "def", FNAME ],
988
+ # [[1, 3], :on_sp, " ", FNAME ],
989
+ # [[1, 4], :on_ident, "m", ENDFN ],
990
+ # [[1, 5], :on_lparen, "(", BEG|LABEL],
991
+ # [[1, 6], :on_ident, "a", ARG ],
992
+ # [[1, 7], :on_rparen, ")", ENDFN ],
993
+ # [[1, 8], :on_sp, " ", BEG ],
994
+ # [[1, 9], :on_kw, "nil", END ],
995
+ # [[1, 12], :on_sp, " ", END ],
996
+ # [[1, 13], :on_kw, "end", END ]]
997
+ #
998
+ def self.lex: (String src, ?String filename, ?Integer lineno, ?raise_errors: boolish) -> Array[[ [ Integer, Integer ], Symbol, String, Lexer::State ]]
999
+
1000
+ # <!--
1001
+ # rdoc-file=parse.c
1002
+ # - Ripper.lex_state_name(integer) -> string
1003
+ # -->
1004
+ # Returns a string representation of lex_state.
1005
+ #
1006
+ def self.lex_state_name: (int) -> String
1007
+
1008
+ # <!--
1009
+ # rdoc-file=ext/ripper/lib/ripper/core.rb
1010
+ # - parse(src, filename = '(ripper)', lineno = 1)
1011
+ # -->
1012
+ # Parses the given Ruby program read from `src`. `src` must be a String or an IO
1013
+ # or a object with a #gets method.
1014
+ #
1015
+ def self.parse: (File | _Gets | String src, ?String filename, ?Integer lineno) -> nil
1016
+
1017
+ # <!--
1018
+ # rdoc-file=ext/ripper/lib/ripper/sexp.rb
1019
+ # - sexp(src, filename = '-', lineno = 1, raise_errors: false)
1020
+ # -->
1021
+ # EXPERIMENTAL
1022
+ # : Parses `src` and create S-exp tree. Returns more readable tree rather than
1023
+ # Ripper.sexp_raw. This method is mainly for developer use. The `filename`
1024
+ # argument is mostly ignored. By default, this method does not handle syntax
1025
+ # errors in `src`, returning `nil` in such cases. Use the `raise_errors`
1026
+ # keyword to raise a SyntaxError for an error in `src`.
1027
+ #
1028
+ # require 'ripper'
1029
+ # require 'pp'
1030
+ #
1031
+ # pp Ripper.sexp("def m(a) nil end")
1032
+ # #=> [:program,
1033
+ # [[:def,
1034
+ # [:@ident, "m", [1, 4]],
1035
+ # [:paren, [:params, [[:@ident, "a", [1, 6]]], nil, nil, nil, nil, nil, nil]],
1036
+ # [:bodystmt, [[:var_ref, [:@kw, "nil", [1, 9]]]], nil, nil, nil]]]]
1037
+ #
1038
+ def self.sexp: (File | _Gets | String src, ?String filename, ?Integer lineno, ?raise_errors: boolish) -> Array[untyped]
1039
+
1040
+ # <!--
1041
+ # rdoc-file=ext/ripper/lib/ripper/sexp.rb
1042
+ # - sexp_raw(src, filename = '-', lineno = 1, raise_errors: false)
1043
+ # -->
1044
+ # EXPERIMENTAL
1045
+ # : Parses `src` and create S-exp tree. This method is mainly for developer
1046
+ # use. The `filename` argument is mostly ignored. By default, this method
1047
+ # does not handle syntax errors in `src`, returning `nil` in such cases. Use
1048
+ # the `raise_errors` keyword to raise a SyntaxError for an error in `src`.
1049
+ #
1050
+ # require 'ripper'
1051
+ # require 'pp'
1052
+ #
1053
+ # pp Ripper.sexp_raw("def m(a) nil end")
1054
+ # #=> [:program,
1055
+ # [:stmts_add,
1056
+ # [:stmts_new],
1057
+ # [:def,
1058
+ # [:@ident, "m", [1, 4]],
1059
+ # [:paren, [:params, [[:@ident, "a", [1, 6]]], nil, nil, nil]],
1060
+ # [:bodystmt,
1061
+ # [:stmts_add, [:stmts_new], [:var_ref, [:@kw, "nil", [1, 9]]]],
1062
+ # nil,
1063
+ # nil,
1064
+ # nil]]]]
1065
+ #
1066
+ def self.sexp_raw: (File | _Gets | String src, ?String filename, ?Integer lineno, ?raise_errors: boolish) -> Array[untyped]
1067
+
1068
+ # <!--
1069
+ # rdoc-file=ext/ripper/lib/ripper/lexer.rb
1070
+ # - slice(src, pattern, n = 0)
1071
+ # -->
1072
+ # EXPERIMENTAL
1073
+ # : Parses `src` and return a string which was matched to `pattern`. `pattern`
1074
+ # should be described as Regexp.
1075
+ #
1076
+ # require 'ripper'
1077
+ #
1078
+ # p Ripper.slice('def m(a) nil end', 'ident') #=> "m"
1079
+ # p Ripper.slice('def m(a) nil end', '[ident lparen rparen]+') #=> "m(a)"
1080
+ # p Ripper.slice("<<EOS\nstring\nEOS",
1081
+ # 'heredoc_beg nl $(tstring_content*) heredoc_end', 1)
1082
+ # #=> "string\n"
1083
+ #
1084
+ def self.slice: (String src, String pattern, ?Integer n) -> String?
1085
+
1086
+ def self.token_match: (String src, String pattern) -> Ripper::TokenPattern::MatchData?
1087
+
1088
+ # <!--
1089
+ # rdoc-file=ext/ripper/lib/ripper/lexer.rb
1090
+ # - tokenize(src, filename = '-', lineno = 1, **kw)
1091
+ # -->
1092
+ # Tokenizes the Ruby program and returns an array of strings. The `filename` and
1093
+ # `lineno` arguments are mostly ignored, since the return value is just the
1094
+ # tokenized input. By default, this method does not handle syntax errors in
1095
+ # `src`, use the `raise_errors` keyword to raise a SyntaxError for an error in
1096
+ # `src`.
1097
+ #
1098
+ # p Ripper.tokenize("def m(a) nil end")
1099
+ # # => ["def", " ", "m", "(", "a", ")", " ", "nil", " ", "end"]
1100
+ #
1101
+ def self.tokenize: (File | _Gets | String src, ?String filename, ?Integer lineno, ?raise_errors: boolish) -> Array[String]
1102
+
1103
+ private
1104
+
1105
+ # <!--
1106
+ # rdoc-file=parse.c
1107
+ # - Ripper.new(src, filename="(ripper)", lineno=1) -> ripper
1108
+ # -->
1109
+ # Create a new Ripper object. *src* must be a String, an IO, or an Object which
1110
+ # has #gets method.
1111
+ #
1112
+ # This method does not starts parsing. See also Ripper#parse and Ripper.parse.
1113
+ #
1114
+ def initialize: (File | _Gets | String src, ?String filename, ?Integer lineno) -> void
1115
+
1116
+ public
1117
+
1118
+ # <!--
1119
+ # rdoc-file=parse.c
1120
+ # - ripper.column -> Integer
1121
+ # -->
1122
+ # Return column number of current parsing line. This number starts from 0.
1123
+ #
1124
+ def column: () -> Integer?
1125
+
1126
+ # <!--
1127
+ # rdoc-file=parse.c
1128
+ # - ripper.debug_output -> obj
1129
+ # -->
1130
+ # Get debug output.
1131
+ #
1132
+ def debug_output: () -> untyped
1133
+
1134
+ # <!--
1135
+ # rdoc-file=parse.c
1136
+ # - ripper.debug_output = obj
1137
+ # -->
1138
+ # Set debug output.
1139
+ #
1140
+ def debug_output=: (untyped) -> untyped
1141
+
1142
+ # <!--
1143
+ # rdoc-file=parse.c
1144
+ # - ripper.encoding -> encoding
1145
+ # -->
1146
+ # Return encoding of the source.
1147
+ #
1148
+ def encoding: () -> Encoding
1149
+
1150
+ # <!--
1151
+ # rdoc-file=parse.c
1152
+ # - ripper.end_seen? -> Boolean
1153
+ # -->
1154
+ # Return true if parsed source ended by +_*END*_+.
1155
+ #
1156
+ def end_seen?: () -> bool
1157
+
1158
+ # <!--
1159
+ # rdoc-file=parse.c
1160
+ # - ripper.error? -> Boolean
1161
+ # -->
1162
+ # Return true if parsed source has errors.
1163
+ #
1164
+ def error?: () -> bool
1165
+
1166
+ # <!--
1167
+ # rdoc-file=parse.c
1168
+ # - ripper.filename -> String
1169
+ # -->
1170
+ # Return current parsing filename.
1171
+ #
1172
+ def filename: () -> String
1173
+
1174
+ # <!--
1175
+ # rdoc-file=parse.c
1176
+ # - ripper.lineno -> Integer
1177
+ # -->
1178
+ # Return line number of current parsing line. This number starts from 1.
1179
+ #
1180
+ def lineno: () -> Integer?
1181
+
1182
+ alias on_BEGIN _dispatch_1
1183
+
1184
+ alias on_CHAR _dispatch_1
1185
+
1186
+ alias on_END _dispatch_1
1187
+
1188
+ alias on___end__ _dispatch_1
1189
+
1190
+ alias on_alias _dispatch_2
1191
+
1192
+ alias on_alias_error _dispatch_2
1193
+
1194
+ alias on_aref _dispatch_2
1195
+
1196
+ alias on_aref_field _dispatch_2
1197
+
1198
+ alias on_arg_ambiguous _dispatch_1
1199
+
1200
+ alias on_arg_paren _dispatch_1
1201
+
1202
+ alias on_args_add _dispatch_2
1203
+
1204
+ alias on_args_add_block _dispatch_2
1205
+
1206
+ alias on_args_add_star _dispatch_2
1207
+
1208
+ alias on_args_forward _dispatch_0
1209
+
1210
+ alias on_args_new _dispatch_0
1211
+
1212
+ alias on_array _dispatch_1
1213
+
1214
+ alias on_aryptn _dispatch_4
1215
+
1216
+ alias on_assign _dispatch_2
1217
+
1218
+ alias on_assign_error _dispatch_2
1219
+
1220
+ alias on_assoc_new _dispatch_2
1221
+
1222
+ alias on_assoc_splat _dispatch_1
1223
+
1224
+ alias on_assoclist_from_args _dispatch_1
1225
+
1226
+ alias on_backref _dispatch_1
1227
+
1228
+ alias on_backtick _dispatch_1
1229
+
1230
+ alias on_bare_assoc_hash _dispatch_1
1231
+
1232
+ alias on_begin _dispatch_1
1233
+
1234
+ alias on_binary _dispatch_3
1235
+
1236
+ alias on_block_var _dispatch_2
1237
+
1238
+ alias on_blockarg _dispatch_1
1239
+
1240
+ alias on_bodystmt _dispatch_4
1241
+
1242
+ alias on_brace_block _dispatch_2
1243
+
1244
+ alias on_break _dispatch_1
1245
+
1246
+ alias on_call _dispatch_3
1247
+
1248
+ alias on_case _dispatch_2
1249
+
1250
+ alias on_class _dispatch_3
1251
+
1252
+ alias on_class_name_error _dispatch_2
1253
+
1254
+ alias on_comma _dispatch_1
1255
+
1256
+ alias on_command _dispatch_2
1257
+
1258
+ alias on_command_call _dispatch_4
1259
+
1260
+ alias on_comment _dispatch_1
1261
+
1262
+ alias on_const _dispatch_1
1263
+
1264
+ alias on_const_path_field _dispatch_2
1265
+
1266
+ alias on_const_path_ref _dispatch_2
1267
+
1268
+ alias on_const_ref _dispatch_1
1269
+
1270
+ alias on_cvar _dispatch_1
1271
+
1272
+ alias on_def _dispatch_3
1273
+
1274
+ alias on_defined _dispatch_1
1275
+
1276
+ alias on_defs _dispatch_5
1277
+
1278
+ alias on_do_block _dispatch_2
1279
+
1280
+ alias on_dot2 _dispatch_2
1281
+
1282
+ alias on_dot3 _dispatch_2
1283
+
1284
+ alias on_dyna_symbol _dispatch_1
1285
+
1286
+ alias on_else _dispatch_1
1287
+
1288
+ alias on_elsif _dispatch_3
1289
+
1290
+ alias on_embdoc _dispatch_1
1291
+
1292
+ alias on_embdoc_beg _dispatch_1
1293
+
1294
+ alias on_embdoc_end _dispatch_1
1295
+
1296
+ alias on_embexpr_beg _dispatch_1
1297
+
1298
+ alias on_embexpr_end _dispatch_1
1299
+
1300
+ alias on_embvar _dispatch_1
1301
+
1302
+ alias on_ensure _dispatch_1
1303
+
1304
+ alias on_excessed_comma _dispatch_0
1305
+
1306
+ alias on_fcall _dispatch_1
1307
+
1308
+ alias on_field _dispatch_3
1309
+
1310
+ alias on_float _dispatch_1
1311
+
1312
+ alias on_fndptn _dispatch_4
1313
+
1314
+ alias on_for _dispatch_3
1315
+
1316
+ alias on_gvar _dispatch_1
1317
+
1318
+ alias on_hash _dispatch_1
1319
+
1320
+ alias on_heredoc_beg _dispatch_1
1321
+
1322
+ alias on_heredoc_dedent _dispatch_2
1323
+
1324
+ alias on_heredoc_end _dispatch_1
1325
+
1326
+ alias on_hshptn _dispatch_3
1327
+
1328
+ alias on_ident _dispatch_1
1329
+
1330
+ alias on_if _dispatch_3
1331
+
1332
+ alias on_if_mod _dispatch_2
1333
+
1334
+ alias on_ifop _dispatch_3
1335
+
1336
+ alias on_ignored_nl _dispatch_1
1337
+
1338
+ alias on_imaginary _dispatch_1
1339
+
1340
+ alias on_in _dispatch_3
1341
+
1342
+ alias on_int _dispatch_1
1343
+
1344
+ alias on_ivar _dispatch_1
1345
+
1346
+ alias on_kw _dispatch_1
1347
+
1348
+ alias on_kwrest_param _dispatch_1
1349
+
1350
+ alias on_label _dispatch_1
1351
+
1352
+ alias on_label_end _dispatch_1
1353
+
1354
+ alias on_lambda _dispatch_2
1355
+
1356
+ alias on_lbrace _dispatch_1
1357
+
1358
+ alias on_lbracket _dispatch_1
1359
+
1360
+ alias on_lparen _dispatch_1
1361
+
1362
+ alias on_magic_comment _dispatch_2
1363
+
1364
+ alias on_massign _dispatch_2
1365
+
1366
+ alias on_method_add_arg _dispatch_2
1367
+
1368
+ alias on_method_add_block _dispatch_2
1369
+
1370
+ alias on_mlhs_add _dispatch_2
1371
+
1372
+ alias on_mlhs_add_post _dispatch_2
1373
+
1374
+ alias on_mlhs_add_star _dispatch_2
1375
+
1376
+ alias on_mlhs_new _dispatch_0
1377
+
1378
+ alias on_mlhs_paren _dispatch_1
1379
+
1380
+ alias on_module _dispatch_2
1381
+
1382
+ alias on_mrhs_add _dispatch_2
1383
+
1384
+ alias on_mrhs_add_star _dispatch_2
1385
+
1386
+ alias on_mrhs_new _dispatch_0
1387
+
1388
+ alias on_mrhs_new_from_args _dispatch_1
1389
+
1390
+ alias on_next _dispatch_1
1391
+
1392
+ alias on_nl _dispatch_1
1393
+
1394
+ alias on_nokw_param _dispatch_1
1395
+
1396
+ alias on_op _dispatch_1
1397
+
1398
+ alias on_opassign _dispatch_3
1399
+
1400
+ alias on_operator_ambiguous _dispatch_2
1401
+
1402
+ alias on_param_error _dispatch_2
1403
+
1404
+ alias on_params _dispatch_7
1405
+
1406
+ alias on_paren _dispatch_1
1407
+
1408
+ alias on_parse_error _dispatch_1
1409
+
1410
+ alias on_period _dispatch_1
1411
+
1412
+ alias on_program _dispatch_1
1413
+
1414
+ alias on_qsymbols_add _dispatch_2
1415
+
1416
+ alias on_qsymbols_beg _dispatch_1
1417
+
1418
+ alias on_qsymbols_new _dispatch_0
1419
+
1420
+ alias on_qwords_add _dispatch_2
1421
+
1422
+ alias on_qwords_beg _dispatch_1
1423
+
1424
+ alias on_qwords_new _dispatch_0
1425
+
1426
+ alias on_rational _dispatch_1
1427
+
1428
+ alias on_rbrace _dispatch_1
1429
+
1430
+ alias on_rbracket _dispatch_1
1431
+
1432
+ alias on_redo _dispatch_0
1433
+
1434
+ alias on_regexp_add _dispatch_2
1435
+
1436
+ alias on_regexp_beg _dispatch_1
1437
+
1438
+ alias on_regexp_end _dispatch_1
1439
+
1440
+ alias on_regexp_literal _dispatch_2
1441
+
1442
+ alias on_regexp_new _dispatch_0
1443
+
1444
+ alias on_rescue _dispatch_4
1445
+
1446
+ alias on_rescue_mod _dispatch_2
1447
+
1448
+ alias on_rest_param _dispatch_1
1449
+
1450
+ alias on_retry _dispatch_0
1451
+
1452
+ alias on_return _dispatch_1
1453
+
1454
+ alias on_return0 _dispatch_0
1455
+
1456
+ alias on_rparen _dispatch_1
1457
+
1458
+ alias on_sclass _dispatch_2
1459
+
1460
+ alias on_semicolon _dispatch_1
1461
+
1462
+ alias on_sp _dispatch_1
1463
+
1464
+ alias on_stmts_add _dispatch_2
1465
+
1466
+ alias on_stmts_new _dispatch_0
1467
+
1468
+ alias on_string_add _dispatch_2
1469
+
1470
+ alias on_string_concat _dispatch_2
1471
+
1472
+ alias on_string_content _dispatch_0
1473
+
1474
+ alias on_string_dvar _dispatch_1
1475
+
1476
+ alias on_string_embexpr _dispatch_1
1477
+
1478
+ alias on_string_literal _dispatch_1
1479
+
1480
+ alias on_super _dispatch_1
1481
+
1482
+ alias on_symbeg _dispatch_1
1483
+
1484
+ alias on_symbol _dispatch_1
1485
+
1486
+ alias on_symbol_literal _dispatch_1
1487
+
1488
+ alias on_symbols_add _dispatch_2
1489
+
1490
+ alias on_symbols_beg _dispatch_1
1491
+
1492
+ alias on_symbols_new _dispatch_0
1493
+
1494
+ alias on_tlambda _dispatch_1
1495
+
1496
+ alias on_tlambeg _dispatch_1
1497
+
1498
+ alias on_top_const_field _dispatch_1
1499
+
1500
+ alias on_top_const_ref _dispatch_1
1501
+
1502
+ alias on_tstring_beg _dispatch_1
1503
+
1504
+ alias on_tstring_content _dispatch_1
1505
+
1506
+ alias on_tstring_end _dispatch_1
1507
+
1508
+ alias on_unary _dispatch_2
1509
+
1510
+ alias on_undef _dispatch_1
1511
+
1512
+ alias on_unless _dispatch_3
1513
+
1514
+ alias on_unless_mod _dispatch_2
1515
+
1516
+ alias on_until _dispatch_2
1517
+
1518
+ alias on_until_mod _dispatch_2
1519
+
1520
+ alias on_var_alias _dispatch_2
1521
+
1522
+ alias on_var_field _dispatch_1
1523
+
1524
+ alias on_var_ref _dispatch_1
1525
+
1526
+ alias on_vcall _dispatch_1
1527
+
1528
+ alias on_void_stmt _dispatch_0
1529
+
1530
+ alias on_when _dispatch_3
1531
+
1532
+ alias on_while _dispatch_2
1533
+
1534
+ alias on_while_mod _dispatch_2
1535
+
1536
+ alias on_word_add _dispatch_2
1537
+
1538
+ alias on_word_new _dispatch_0
1539
+
1540
+ alias on_words_add _dispatch_2
1541
+
1542
+ alias on_words_beg _dispatch_1
1543
+
1544
+ alias on_words_new _dispatch_0
1545
+
1546
+ alias on_words_sep _dispatch_1
1547
+
1548
+ alias on_xstring_add _dispatch_2
1549
+
1550
+ alias on_xstring_literal _dispatch_1
1551
+
1552
+ alias on_xstring_new _dispatch_0
1553
+
1554
+ alias on_yield _dispatch_1
1555
+
1556
+ alias on_yield0 _dispatch_0
1557
+
1558
+ alias on_zsuper _dispatch_0
1559
+
1560
+ # <!--
1561
+ # rdoc-file=parse.c
1562
+ # - ripper.parse
1563
+ # -->
1564
+ # Start parsing and returns the value of the root action.
1565
+ #
1566
+ def parse: () -> nil
1567
+
1568
+ # <!--
1569
+ # rdoc-file=parse.c
1570
+ # - ripper.state -> Integer
1571
+ # -->
1572
+ # Return scanner state of current token.
1573
+ #
1574
+ def state: () -> Integer?
1575
+
1576
+ # <!--
1577
+ # rdoc-file=parse.c
1578
+ # - ripper.token -> String
1579
+ # -->
1580
+ # Return the current token string.
1581
+ #
1582
+ def token: () -> String?
1583
+
1584
+ # <!--
1585
+ # rdoc-file=parse.c
1586
+ # - ripper.yydebug -> true or false
1587
+ # -->
1588
+ # Get yydebug.
1589
+ #
1590
+ def yydebug: () -> bool
1591
+
1592
+ # <!--
1593
+ # rdoc-file=parse.c
1594
+ # - ripper.yydebug = flag
1595
+ # -->
1596
+ # Set yydebug.
1597
+ #
1598
+ def yydebug=: (bool) -> bool
1599
+
1600
+ private
1601
+
1602
+ def _dispatch_0: () -> void
1603
+
1604
+ def _dispatch_1: (untyped a) -> void
1605
+
1606
+ def _dispatch_2: (untyped a, untyped b) -> void
1607
+
1608
+ def _dispatch_3: (untyped a, untyped b, untyped c) -> void
1609
+
1610
+ def _dispatch_4: (untyped a, untyped b, untyped c, untyped d) -> void
1611
+
1612
+ def _dispatch_5: (untyped a, untyped b, untyped c, untyped d, untyped e) -> void
1613
+
1614
+ def _dispatch_6: (untyped a, untyped b, untyped c, untyped d, untyped e, untyped f) -> void
1615
+
1616
+ def _dispatch_7: (untyped a, untyped b, untyped c, untyped d, untyped e, untyped f, untyped g) -> void
1617
+
1618
+ # <!--
1619
+ # rdoc-file=ext/ripper/lib/ripper/core.rb
1620
+ # - compile_error(msg)
1621
+ # -->
1622
+ # This method is called when the parser found syntax error.
1623
+ #
1624
+ def compile_error: (untyped msg) -> untyped
1625
+
1626
+ # <!--
1627
+ # rdoc-file=parse.c
1628
+ # - Ripper.dedent_string(input, width) -> Integer
1629
+ # -->
1630
+ # USE OF RIPPER LIBRARY ONLY.
1631
+ #
1632
+ # Strips up to `width` leading whitespaces from `input`, and returns the
1633
+ # stripped column width.
1634
+ #
1635
+ def dedent_string: (String input, Integer width) -> Integer
1636
+
1637
+ # <!--
1638
+ # rdoc-file=ext/ripper/lib/ripper/core.rb
1639
+ # - warn(fmt, *args)
1640
+ # -->
1641
+ # This method is called when weak warning is produced by the parser. `fmt` and
1642
+ # `args` is printf style.
1643
+ #
1644
+ def warn: (untyped fmt, *untyped args) -> untyped
1645
+
1646
+ # <!--
1647
+ # rdoc-file=ext/ripper/lib/ripper/core.rb
1648
+ # - warning(fmt, *args)
1649
+ # -->
1650
+ # This method is called when strong warning is produced by the parser. `fmt` and
1651
+ # `args` is printf style.
1652
+ #
1653
+ def warning: (untyped fmt, *untyped args) -> untyped
1654
+ end