rbs 3.0.0.dev.2 → 3.0.0.dev.3

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