rbs 2.8.4 → 3.8.1

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