mangrove 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. checksums.yaml +7 -0
  2. data/.rubocop.yml +42 -0
  3. data/LICENSE +21 -0
  4. data/README.md +54 -0
  5. data/Rakefile +14 -0
  6. data/lib/mangrove/control_flow/control_signal.rb +16 -0
  7. data/lib/mangrove/control_flow/rewriter.rb +152 -0
  8. data/lib/mangrove/control_flow.rb +84 -0
  9. data/lib/mangrove/interfaces.rb +8 -0
  10. data/lib/mangrove/mangrove.rb +35 -0
  11. data/lib/mangrove/option/control_signal.rb +33 -0
  12. data/lib/mangrove/option.rb +134 -0
  13. data/lib/mangrove/result/control_signal.rb +33 -0
  14. data/lib/mangrove/result.rb +167 -0
  15. data/lib/mangrove/version.rb +6 -0
  16. data/lib/mangrove.rb +8 -0
  17. data/sig/mangrove.rbs +4 -0
  18. data/sorbet/config +4 -0
  19. data/sorbet/rbi/annotations/rainbow.rbi +269 -0
  20. data/sorbet/rbi/gems/ast@2.4.2.rbi +584 -0
  21. data/sorbet/rbi/gems/base64@0.1.1.rbi +172 -0
  22. data/sorbet/rbi/gems/diff-lcs@1.5.0.rbi +1083 -0
  23. data/sorbet/rbi/gems/erubi@1.12.0.rbi +145 -0
  24. data/sorbet/rbi/gems/json@2.6.3.rbi +1533 -0
  25. data/sorbet/rbi/gems/language_server-protocol@3.17.0.3.rbi +14237 -0
  26. data/sorbet/rbi/gems/method_source@1.0.0.rbi +272 -0
  27. data/sorbet/rbi/gems/netrc@0.11.0.rbi +158 -0
  28. data/sorbet/rbi/gems/ordinare@0.4.0.rbi +77 -0
  29. data/sorbet/rbi/gems/parallel@1.23.0.rbi +273 -0
  30. data/sorbet/rbi/gems/parser@3.2.2.3.rbi +7253 -0
  31. data/sorbet/rbi/gems/prettier_print@1.2.1.rbi +951 -0
  32. data/sorbet/rbi/gems/racc@1.7.1.rbi +161 -0
  33. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +402 -0
  34. data/sorbet/rbi/gems/rake@13.0.6.rbi +3024 -0
  35. data/sorbet/rbi/gems/rbi@0.0.17.rbi +2972 -0
  36. data/sorbet/rbi/gems/regexp_parser@2.8.1.rbi +3749 -0
  37. data/sorbet/rbi/gems/rexml@3.2.6.rbi +4781 -0
  38. data/sorbet/rbi/gems/rspec-core@3.12.2.rbi +10805 -0
  39. data/sorbet/rbi/gems/rspec-expectations@3.12.3.rbi +8100 -0
  40. data/sorbet/rbi/gems/rspec-mocks@3.12.6.rbi +5310 -0
  41. data/sorbet/rbi/gems/rspec-sorbet@1.9.2.rbi +163 -0
  42. data/sorbet/rbi/gems/rspec-support@3.12.1.rbi +1609 -0
  43. data/sorbet/rbi/gems/rspec@3.12.0.rbi +82 -0
  44. data/sorbet/rbi/gems/ruboclean@0.4.0.rbi +189 -0
  45. data/sorbet/rbi/gems/rubocop-ast@1.29.0.rbi +6985 -0
  46. data/sorbet/rbi/gems/rubocop@1.56.0.rbi +56491 -0
  47. data/sorbet/rbi/gems/ruby-lsp@0.8.0.rbi +11 -0
  48. data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +1317 -0
  49. data/sorbet/rbi/gems/spoom@1.2.3.rbi +3203 -0
  50. data/sorbet/rbi/gems/syntax_tree@6.1.1.rbi +22855 -0
  51. data/sorbet/rbi/gems/tapioca@0.11.8.rbi +3349 -0
  52. data/sorbet/rbi/gems/thor@1.2.2.rbi +3965 -0
  53. data/sorbet/rbi/gems/unicode-display_width@2.4.2.rbi +65 -0
  54. data/sorbet/rbi/gems/unparser@0.6.8.rbi +4525 -0
  55. data/sorbet/rbi/gems/yard-sorbet@0.8.1.rbi +428 -0
  56. data/sorbet/rbi/gems/yard@0.9.34.rbi +18219 -0
  57. data/sorbet/rbi/shims/gems/rspec-core.rbi +12 -0
  58. data/sorbet/rbi/shims/gems/rspec-expectations.rbi +8 -0
  59. data/sorbet/rbi/shims/mangrove/option.rbi +15 -0
  60. data/sorbet/rbi/shims/mangrove/result.rbi +15 -0
  61. data/sorbet/tapioca/config.yml +13 -0
  62. data/sorbet/tapioca/require.rb +4 -0
  63. metadata +161 -0
@@ -0,0 +1,4525 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `unparser` gem.
5
+ # Please instead update this file by running `bin/tapioca gem unparser`.
6
+
7
+ # Library namespace
8
+ #
9
+ # source://unparser//lib/unparser/equalizer.rb#3
10
+ module Unparser
11
+ class << self
12
+ # Construct a parser buffer from string
13
+ #
14
+ # @param source [String]
15
+ # @return [Parser::Source::Buffer]
16
+ #
17
+ # source://unparser//lib/unparser.rb#147
18
+ def buffer(source, identification = T.unsafe(nil)); end
19
+
20
+ # Parse string into AST
21
+ #
22
+ # @param source [String]
23
+ # @return [Parser::AST::Node, nil]
24
+ #
25
+ # source://unparser//lib/unparser.rb#105
26
+ def parse(source); end
27
+
28
+ # Parse string into either syntax error or AST
29
+ #
30
+ # @param source [String]
31
+ # @return [Either<Parser::SyntaxError, (Parser::ASTNode, nil)>]
32
+ #
33
+ # source://unparser//lib/unparser.rb#114
34
+ def parse_either(source); end
35
+
36
+ # Parse string into AST, with comments
37
+ #
38
+ # @param source [String]
39
+ # @return [Parser::AST::Node]
40
+ #
41
+ # source://unparser//lib/unparser.rb#125
42
+ def parse_with_comments(source); end
43
+
44
+ # Parser instance that produces AST unparser understands
45
+ #
46
+ # @api private
47
+ # @return [Parser::Base]
48
+ #
49
+ # source://unparser//lib/unparser.rb#134
50
+ def parser; end
51
+
52
+ # Unparse an AST (and, optionally, comments) into a string
53
+ #
54
+ # @api public
55
+ # @param node [Parser::AST::Node, nil]
56
+ # @param comment_array [Array]
57
+ # @raise InvalidNodeError
58
+ # if the node passed is invalid
59
+ # @return [String]
60
+ #
61
+ # source://unparser//lib/unparser.rb#60
62
+ def unparse(node, comment_array = T.unsafe(nil)); end
63
+
64
+ # Unparse capturing errors
65
+ #
66
+ # This is mostly useful for writing testing tools against unparser.
67
+ #
68
+ # @param node [Parser::AST::Node, nil]
69
+ # @return [Either<Exception, String>]
70
+ #
71
+ # source://unparser//lib/unparser.rb#96
72
+ def unparse_either(node); end
73
+
74
+ # Unparse with validation
75
+ #
76
+ # @param node [Parser::AST::Node, nil]
77
+ # @param comment_array [Array]
78
+ # @return [Either<Validation,String>]
79
+ #
80
+ # source://unparser//lib/unparser.rb#78
81
+ def unparse_validate(node, comment_array = T.unsafe(nil)); end
82
+ end
83
+ end
84
+
85
+ # Namespace for AST processing tools
86
+ #
87
+ # source://unparser//lib/unparser/ast.rb#5
88
+ module Unparser::AST
89
+ class << self
90
+ # Return local variables that get assigned in scope
91
+ #
92
+ # @api private
93
+ # @param node [Parser::AST::Node]
94
+ # @return [Set<Symbol>]
95
+ #
96
+ # source://unparser//lib/unparser/ast.rb#57
97
+ def local_variable_assignments(node); end
98
+
99
+ # Return local variables read
100
+ #
101
+ # @api private
102
+ # @param node [Parser::AST::Node]
103
+ # @return [Set<Symbol>]
104
+ #
105
+ # source://unparser//lib/unparser/ast.rb#72
106
+ def local_variable_reads(node); end
107
+
108
+ # Test for local variable inherited scope reset
109
+ #
110
+ # @api private
111
+ # @param node [Parser::AST::Node]
112
+ # @return [Boolean]
113
+ #
114
+ # source://unparser//lib/unparser/ast.rb#33
115
+ def not_close_scope?(node); end
116
+
117
+ # Test for local variable scope reset
118
+ #
119
+ # @api private
120
+ # @param node [Parser::AST::Node]
121
+ # @return [Boolean]
122
+ #
123
+ # source://unparser//lib/unparser/ast.rb#45
124
+ def not_reset_scope?(node); end
125
+ end
126
+ end
127
+
128
+ # Nodes that assign a local variable
129
+ #
130
+ # source://unparser//lib/unparser/ast.rb#14
131
+ Unparser::AST::ASSIGN_NODES = T.let(T.unsafe(nil), Set)
132
+
133
+ # source://unparser//lib/unparser/ast.rb#11
134
+ Unparser::AST::CLOSE_NODES = T.let(T.unsafe(nil), Array)
135
+
136
+ # AST enumerator
137
+ #
138
+ # source://unparser//lib/unparser/ast.rb#80
139
+ class Unparser::AST::Enumerator
140
+ include ::Enumerable
141
+ include ::Unparser::Equalizer::Methods
142
+ include ::Unparser::Adamantium
143
+ include ::Unparser::Adamantium::InstanceMethods
144
+ extend ::Unparser::Adamantium::ModuleMethods
145
+ extend ::Unparser::Adamantium::ClassMethods
146
+
147
+ # Return each node
148
+ #
149
+ # @api private
150
+ # @return [Enumerator<Parser::AST::Node>] if no block given
151
+ # @return [self] otherwise
152
+ #
153
+ # source://unparser//lib/unparser/ast.rb#106
154
+ def each(&block); end
155
+
156
+ # Return nodes selected by type
157
+ #
158
+ # @api private
159
+ # @param type [Symbol]
160
+ # @return [Enumerable<Parser::AST::Node>]
161
+ #
162
+ # source://unparser//lib/unparser/ast.rb#130
163
+ def type(type); end
164
+
165
+ # Return nodes selected by types
166
+ #
167
+ # @api private
168
+ # @param types [Enumerable<Symbol>]
169
+ # @return [Enumerable<Parser::AST::Node>]
170
+ #
171
+ # source://unparser//lib/unparser/ast.rb#118
172
+ def types(types); end
173
+
174
+ class << self
175
+ # Return new instance
176
+ #
177
+ # @api private
178
+ # @param node [Parser::AST::Node]
179
+ # @param controller [#call(node)]
180
+ # @return [Enumerator]
181
+ #
182
+ # source://unparser//lib/unparser/ast.rb#92
183
+ def new(node, controller = T.unsafe(nil)); end
184
+
185
+ private
186
+
187
+ # Return frozne set of objects
188
+ #
189
+ # @api private
190
+ # @param enumerable [Enumerable]
191
+ # @return [Set]
192
+ #
193
+ # source://unparser//lib/unparser/ast.rb#142
194
+ def set(enumerable); end
195
+
196
+ # Return nodes of type
197
+ #
198
+ # @api private
199
+ # @param node [Parser::AST::Node]
200
+ # @param type [Symbol]
201
+ # @return [Enumerable<Parser::AST::Node]] Enumerable<Parser::AST::Node]
202
+ #
203
+ # source://unparser//lib/unparser/ast.rb#156
204
+ def type(node, type); end
205
+ end
206
+ end
207
+
208
+ # source://unparser//lib/unparser/ast.rb#6
209
+ Unparser::AST::FIRST_CHILD = T.let(T.unsafe(nil), Proc)
210
+
211
+ # source://unparser//lib/unparser/ast.rb#10
212
+ Unparser::AST::INHERIT_NODES = T.let(T.unsafe(nil), Array)
213
+
214
+ # Calculated local variable scope for a given node
215
+ #
216
+ # source://unparser//lib/unparser/ast/local_variable_scope.rb#7
217
+ class Unparser::AST::LocalVariableScope
218
+ include ::Unparser::Equalizer::Methods
219
+ include ::Unparser::Adamantium
220
+ include ::Unparser::Adamantium::InstanceMethods
221
+ include ::Enumerable
222
+ extend ::Unparser::Adamantium::ModuleMethods
223
+ extend ::Unparser::Adamantium::ClassMethods
224
+
225
+ # Initialize object
226
+ #
227
+ # @api private
228
+ # @param node [Parser::AST::Node]
229
+ # @return [undefined]
230
+ #
231
+ # source://unparser//lib/unparser/ast/local_variable_scope.rb#18
232
+ def initialize(node); end
233
+
234
+ # Test if local variable was first at given assignment
235
+ #
236
+ # @api private
237
+ # @param node [Parser::AST::Node]
238
+ # @return [Boolean]
239
+ #
240
+ # source://unparser//lib/unparser/ast/local_variable_scope.rb#35
241
+ def first_assignment?(node); end
242
+
243
+ # Test if local variables where first assigned in body and read by conditional
244
+ #
245
+ # @api private
246
+ # @param body [Parser::AST::Node]
247
+ # @param condition [Parser::AST::Node]
248
+ # @return [Boolean]
249
+ #
250
+ # source://unparser//lib/unparser/ast/local_variable_scope.rb#64
251
+ def first_assignment_in?(left, right); end
252
+
253
+ # Test if local variable is defined for given node
254
+ #
255
+ # @api private
256
+ # @param node [Parser::AST::Node]
257
+ # @param name [Symbol]
258
+ # @return [Boolean]
259
+ #
260
+ # source://unparser//lib/unparser/ast/local_variable_scope.rb#51
261
+ def local_variable_defined_for_node?(node, name); end
262
+
263
+ private
264
+
265
+ # source://unparser//lib/unparser/ast/local_variable_scope.rb#76
266
+ def match(needle); end
267
+ end
268
+
269
+ # Local variable scope enumerator
270
+ #
271
+ # source://unparser//lib/unparser/ast/local_variable_scope.rb#85
272
+ class Unparser::AST::LocalVariableScopeEnumerator
273
+ include ::Enumerable
274
+
275
+ # Initialize object
276
+ #
277
+ # @api private
278
+ # @return [undefined]
279
+ #
280
+ # source://unparser//lib/unparser/ast/local_variable_scope.rb#94
281
+ def initialize; end
282
+
283
+ # Enumerate local variable scope scope
284
+ #
285
+ # @api private
286
+ # @return [self] if block given
287
+ # @return [Enumerator<Array<Symbol>>] ]
288
+ # otherwise
289
+ #
290
+ # source://unparser//lib/unparser/ast/local_variable_scope.rb#121
291
+ def each(node, &block); end
292
+
293
+ private
294
+
295
+ # source://unparser//lib/unparser/ast/local_variable_scope.rb#127
296
+ def current; end
297
+
298
+ # source://unparser//lib/unparser/ast/local_variable_scope.rb#156
299
+ def define(name); end
300
+
301
+ # source://unparser//lib/unparser/ast/local_variable_scope.rb#141
302
+ def enter(node); end
303
+
304
+ # source://unparser//lib/unparser/ast/local_variable_scope.rb#152
305
+ def leave(node); end
306
+
307
+ # source://unparser//lib/unparser/ast/local_variable_scope.rb#168
308
+ def pop; end
309
+
310
+ # source://unparser//lib/unparser/ast/local_variable_scope.rb#164
311
+ def push_inherit; end
312
+
313
+ # source://unparser//lib/unparser/ast/local_variable_scope.rb#160
314
+ def push_reset; end
315
+
316
+ # @yield [node, current.dup, before]
317
+ #
318
+ # source://unparser//lib/unparser/ast/local_variable_scope.rb#131
319
+ def visit(node, &block); end
320
+
321
+ class << self
322
+ # Enumerate each node with its local variable scope
323
+ #
324
+ # @api private
325
+ # @param node [Parser::AST::Node]
326
+ # @return [self]
327
+ #
328
+ # source://unparser//lib/unparser/ast/local_variable_scope.rb#106
329
+ def each(node, &block); end
330
+ end
331
+ end
332
+
333
+ # source://unparser//lib/unparser/ast.rb#9
334
+ Unparser::AST::RESET_NODES = T.let(T.unsafe(nil), Array)
335
+
336
+ # source://unparser//lib/unparser/ast.rb#7
337
+ Unparser::AST::TAUTOLOGY = T.let(T.unsafe(nil), Proc)
338
+
339
+ # Controlled AST walker walking the AST in deeth first search with pre order
340
+ #
341
+ # source://unparser//lib/unparser/ast.rb#164
342
+ class Unparser::AST::Walker
343
+ include ::Unparser::Equalizer::Methods
344
+
345
+ # Call walker with node
346
+ #
347
+ # @api private
348
+ # @param node [Parser::AST::Node]
349
+ # @return [undefined]
350
+ #
351
+ # source://unparser//lib/unparser/ast.rb#188
352
+ def call(node); end
353
+
354
+ class << self
355
+ # Call ast walker
356
+ #
357
+ # @api private
358
+ # @param node [Parser::AST::Node]
359
+ # @return [self]
360
+ #
361
+ # source://unparser//lib/unparser/ast.rb#175
362
+ def call(node, controller = T.unsafe(nil), &block); end
363
+ end
364
+ end
365
+
366
+ # Module to allow class and methods to be abstract
367
+ #
368
+ # Original code before vendoring and reduction from: https://github.com/dkubb/abstract_type.
369
+ #
370
+ # source://unparser//lib/unparser/abstract_type.rb#7
371
+ module Unparser::AbstractType
372
+ mixes_in_class_methods ::Unparser::AbstractType::AbstractMethodDeclarations
373
+
374
+ class << self
375
+ private
376
+
377
+ # Define the new method on the abstract type
378
+ #
379
+ # Ensures that the instance cannot be of the abstract type
380
+ # and must be a descendant.
381
+ #
382
+ # @api private
383
+ # @param abstract_class [Class]
384
+ # @return [undefined]
385
+ #
386
+ # source://unparser//lib/unparser/abstract_type.rb#35
387
+ def create_new_method(abstract_class); end
388
+
389
+ # Hook called when module is included
390
+ #
391
+ # @api private
392
+ # @param descendant [Module] the module or class including AbstractType
393
+ # @return [undefined]
394
+ #
395
+ # source://unparser//lib/unparser/abstract_type.rb#17
396
+ def included(descendant); end
397
+ end
398
+ end
399
+
400
+ # source://unparser//lib/unparser/abstract_type.rb#47
401
+ module Unparser::AbstractType::AbstractMethodDeclarations
402
+ # Create abstract instance methods
403
+ #
404
+ # @api public
405
+ # @example
406
+ # class Foo
407
+ # include AbstractType
408
+ #
409
+ # # Create an abstract instance method
410
+ # abstract_method :some_method
411
+ # end
412
+ # @param names [Array<#to_s>]
413
+ # @return [self]
414
+ #
415
+ # source://unparser//lib/unparser/abstract_type.rb#64
416
+ def abstract_method(*names); end
417
+
418
+ # Create abstract singleton methods
419
+ #
420
+ # @api private
421
+ # @example
422
+ # class Foo
423
+ # include AbstractType
424
+ #
425
+ # # Create an abstract instance method
426
+ # abstract_singleton_method :some_method
427
+ # end
428
+ # @param names [Array<#to_s>]
429
+ # @return [self]
430
+ #
431
+ # source://unparser//lib/unparser/abstract_type.rb#84
432
+ def abstract_singleton_method(*names); end
433
+
434
+ private
435
+
436
+ # Create abstract instance method
437
+ #
438
+ # @api private
439
+ # @param name [#to_s] the name of the method to create
440
+ # @return [undefined]
441
+ #
442
+ # source://unparser//lib/unparser/abstract_type.rb#113
443
+ def create_abstract_instance_method(name); end
444
+
445
+ # Create abstract singleton method
446
+ #
447
+ # @api private
448
+ # @param name [#to_s] the name of the method to create
449
+ # @return [undefined]
450
+ #
451
+ # source://unparser//lib/unparser/abstract_type.rb#99
452
+ def create_abstract_singleton_method(name); end
453
+ end
454
+
455
+ # Allows objects to be made immutable
456
+ #
457
+ # Original code before vendoring and reduction from: https://github.com/dkubb/adamantium.
458
+ #
459
+ # source://unparser//lib/unparser/adamantium.rb#7
460
+ module Unparser::Adamantium
461
+ include ::Unparser::Adamantium::InstanceMethods
462
+
463
+ mixes_in_class_methods ::Unparser::Adamantium::ModuleMethods
464
+ mixes_in_class_methods ::Unparser::Adamantium::ClassMethods
465
+
466
+ class << self
467
+ private
468
+
469
+ # ModuleMethods
470
+ #
471
+ # source://unparser//lib/unparser/adamantium.rb#141
472
+ def included(descendant); end
473
+ end
474
+ end
475
+
476
+ # Methods mixed in to adamantium classes
477
+ #
478
+ # source://unparser//lib/unparser/adamantium.rb#70
479
+ module Unparser::Adamantium::ClassMethods
480
+ # Instantiate a new frozen object
481
+ #
482
+ # @api public
483
+ # @return [Object]
484
+ #
485
+ # source://unparser//lib/unparser/adamantium.rb#77
486
+ def new(*_arg0); end
487
+ end
488
+
489
+ # source://unparser//lib/unparser/adamantium.rb#8
490
+ module Unparser::Adamantium::InstanceMethods
491
+ # A noop #dup for immutable objects
492
+ #
493
+ # @api public
494
+ # @return [self]
495
+ #
496
+ # source://unparser//lib/unparser/adamantium.rb#14
497
+ def dup; end
498
+
499
+ # Freeze the object
500
+ #
501
+ # @api public
502
+ # @return [Object]
503
+ #
504
+ # source://unparser//lib/unparser/adamantium.rb#23
505
+ def freeze; end
506
+
507
+ private
508
+
509
+ # source://unparser//lib/unparser/adamantium.rb#30
510
+ def memoized_method_cache; end
511
+ end
512
+
513
+ # Storage for memoized methods
514
+ #
515
+ # source://unparser//lib/unparser/adamantium.rb#37
516
+ class Unparser::Adamantium::Memory
517
+ # Initialize the memory storage for memoized methods
518
+ #
519
+ # @api private
520
+ # @return [undefined]
521
+ #
522
+ # source://unparser//lib/unparser/adamantium.rb#44
523
+ def initialize(values); end
524
+
525
+ # Fetch the value from memory, or evaluate if it does not exist
526
+ #
527
+ # @api public
528
+ # @param name [Symbol]
529
+ # @yieldreturn [Object] the value to memoize
530
+ #
531
+ # source://unparser//lib/unparser/adamantium.rb#58
532
+ def fetch(name); end
533
+ end
534
+
535
+ # Build the memoized method
536
+ #
537
+ # source://unparser//lib/unparser/adamantium/method_builder.rb#6
538
+ class Unparser::Adamantium::MethodBuilder
539
+ # Initialize an object to build a memoized method
540
+ #
541
+ # @api private
542
+ # @param descendant [Module]
543
+ # @param method_name [Symbol]
544
+ # @return [undefined]
545
+ #
546
+ # source://unparser//lib/unparser/adamantium/method_builder.rb#47
547
+ def initialize(descendant, method_name); end
548
+
549
+ # Build a new memoized method
550
+ #
551
+ # @api public
552
+ # @example
553
+ # method_builder.call # => creates new method
554
+ # @return [UnboundMethod]
555
+ #
556
+ # source://unparser//lib/unparser/adamantium/method_builder.rb#63
557
+ def call; end
558
+
559
+ private
560
+
561
+ # source://unparser//lib/unparser/adamantium/method_builder.rb#72
562
+ def assert_arity(arity); end
563
+
564
+ # source://unparser//lib/unparser/adamantium/method_builder.rb#83
565
+ def create_memoized_method; end
566
+
567
+ # source://unparser//lib/unparser/adamantium/method_builder.rb#78
568
+ def remove_original_method; end
569
+
570
+ # source://unparser//lib/unparser/adamantium/method_builder.rb#97
571
+ def set_method_visibility; end
572
+
573
+ # source://unparser//lib/unparser/adamantium/method_builder.rb#101
574
+ def visibility; end
575
+ end
576
+
577
+ # Raised when a block is passed to a memoized method
578
+ #
579
+ # source://unparser//lib/unparser/adamantium/method_builder.rb#25
580
+ class Unparser::Adamantium::MethodBuilder::BlockNotAllowedError < ::ArgumentError
581
+ # Initialize a block not allowed exception
582
+ #
583
+ # @api private
584
+ # @param descendant [Module]
585
+ # @param method [Symbol]
586
+ # @return [BlockNotAllowedError] a new instance of BlockNotAllowedError
587
+ #
588
+ # source://unparser//lib/unparser/adamantium/method_builder.rb#33
589
+ def initialize(descendant, method); end
590
+ end
591
+
592
+ # Raised when the method arity is invalid
593
+ #
594
+ # source://unparser//lib/unparser/adamantium/method_builder.rb#9
595
+ class Unparser::Adamantium::MethodBuilder::InvalidArityError < ::ArgumentError
596
+ # Initialize an invalid arity exception
597
+ #
598
+ # @api private
599
+ # @param descendant [Module]
600
+ # @param method [Symbol]
601
+ # @param arity [Integer]
602
+ # @return [InvalidArityError] a new instance of InvalidArityError
603
+ #
604
+ # source://unparser//lib/unparser/adamantium/method_builder.rb#18
605
+ def initialize(descendant, method, arity); end
606
+ end
607
+
608
+ # Methods mixed in to adamantium modules
609
+ #
610
+ # source://unparser//lib/unparser/adamantium.rb#84
611
+ module Unparser::Adamantium::ModuleMethods
612
+ # Memoize a list of methods
613
+ #
614
+ # @api public
615
+ # @param methods [Array<#to_s>] a list of methods to memoize
616
+ # @return [self]
617
+ #
618
+ # source://unparser//lib/unparser/adamantium.rb#94
619
+ def memoize(*methods); end
620
+
621
+ # Test if method is memoized
622
+ #
623
+ # @param name [Symbol]
624
+ # @return [Bool]
625
+ #
626
+ # source://unparser//lib/unparser/adamantium.rb#104
627
+ def memoized?(method_name); end
628
+
629
+ # Return unmemoized instance method
630
+ #
631
+ # @api public
632
+ # @param name [Symbol]
633
+ # @raise [NameError] raised if the method is unknown
634
+ # @return [UnboundMethod] the memoized method
635
+ #
636
+ # source://unparser//lib/unparser/adamantium.rb#119
637
+ def unmemoized_instance_method(method_name); end
638
+
639
+ private
640
+
641
+ # source://unparser//lib/unparser/adamantium.rb#127
642
+ def memoize_method(method_name); end
643
+
644
+ # source://unparser//lib/unparser/adamantium.rb#135
645
+ def memoized_methods; end
646
+ end
647
+
648
+ # Original code before vendoring and reduction from: https://github.com/mbj/anima.
649
+ #
650
+ # source://unparser//lib/unparser/anima.rb#5
651
+ class Unparser::Anima < ::Module
652
+ include ::Unparser::Equalizer::Methods
653
+ include ::Unparser::Adamantium
654
+ include ::Unparser::Adamantium::InstanceMethods
655
+ extend ::Unparser::Adamantium::ModuleMethods
656
+ extend ::Unparser::Adamantium::ClassMethods
657
+
658
+ # Initialize object
659
+ #
660
+ #
661
+ # @return [undefined]
662
+ #
663
+ # source://unparser//lib/unparser/anima.rb#18
664
+ def initialize(*names); end
665
+
666
+ # Return new anima with attributes added
667
+ #
668
+ # @example
669
+ # anima = Anima.new(:foo)
670
+ # anima.add(:bar) # equals Anima.new(:foo, :bar)
671
+ # @return [Anima]
672
+ #
673
+ # source://unparser//lib/unparser/anima.rb#31
674
+ def add(*names); end
675
+
676
+ # Return attribute names
677
+ #
678
+ # @return [Enumerable<Symbol>]
679
+ #
680
+ # source://unparser//lib/unparser/adamantium/method_builder.rb#87
681
+ def attribute_names(&block); end
682
+
683
+ # Return names
684
+ #
685
+ # @return [AttributeSet]
686
+ #
687
+ # source://unparser//lib/unparser/anima.rb#11
688
+ def attributes; end
689
+
690
+ # Return attributes hash for instance
691
+ #
692
+ # @param object [Object]
693
+ # @return [Hash]
694
+ #
695
+ # source://unparser//lib/unparser/anima.rb#52
696
+ def attributes_hash(object); end
697
+
698
+ # Initialize instance
699
+ #
700
+ # @param object [Object]
701
+ # @param attribute_hash [Hash]
702
+ # @return [self]
703
+ #
704
+ # source://unparser//lib/unparser/anima.rb#73
705
+ def initialize_instance(object, attribute_hash); end
706
+
707
+ # Return new anima with attributes removed
708
+ #
709
+ # @example
710
+ # anima = Anima.new(:foo, :bar)
711
+ # anima.remove(:bar) # equals Anima.new(:foo)
712
+ # @return [Anima]
713
+ #
714
+ # source://unparser//lib/unparser/anima.rb#43
715
+ def remove(*names); end
716
+
717
+ private
718
+
719
+ # Fail unless keys in +attribute_hash+ matches #attribute_names
720
+ #
721
+ # @param klass [Class] the class being initialized
722
+ # @param attribute_hash [Hash] the attributes to initialize +object+ with
723
+ # @raise [Error]
724
+ # @return [undefined]
725
+ #
726
+ # source://unparser//lib/unparser/anima.rb#164
727
+ def assert_known_attributes(klass, attribute_hash); end
728
+
729
+ # Infect the instance with anima
730
+ #
731
+ # @param scope [Class, Module]
732
+ # @return [undefined]
733
+ #
734
+ # source://unparser//lib/unparser/anima.rb#137
735
+ def included(descendant); end
736
+
737
+ # Return new instance
738
+ #
739
+ # @param attributes [Enumerable<Symbol>]
740
+ # @return [Anima]
741
+ #
742
+ # source://unparser//lib/unparser/anima.rb#180
743
+ def new(attributes); end
744
+ end
745
+
746
+ # An attribute
747
+ #
748
+ # source://unparser//lib/unparser/anima/attribute.rb#6
749
+ class Unparser::Anima::Attribute
750
+ include ::Unparser::Equalizer::Methods
751
+ include ::Unparser::Adamantium
752
+ include ::Unparser::Adamantium::InstanceMethods
753
+ extend ::Unparser::Adamantium::ModuleMethods
754
+ extend ::Unparser::Adamantium::ClassMethods
755
+
756
+ # Initialize attribute
757
+ #
758
+ # @param name [Symbol]
759
+ # @return [Attribute] a new instance of Attribute
760
+ #
761
+ # source://unparser//lib/unparser/anima/attribute.rb#12
762
+ def initialize(name); end
763
+
764
+ # Get attribute value from object
765
+ #
766
+ # @param object [Object]
767
+ # @return [Object]
768
+ #
769
+ # source://unparser//lib/unparser/anima/attribute.rb#42
770
+ def get(object); end
771
+
772
+ # Return instance variable name
773
+ #
774
+ # @return [Symbol]
775
+ #
776
+ # source://unparser//lib/unparser/anima/attribute.rb#25
777
+ def instance_variable_name; end
778
+
779
+ # Load attribute
780
+ #
781
+ # @param object [Object]
782
+ # @param attributes [Hash]
783
+ # @return [self]
784
+ #
785
+ # source://unparser//lib/unparser/anima/attribute.rb#33
786
+ def load(object, attributes); end
787
+
788
+ # Return attribute name
789
+ #
790
+ # @return [Symbol]
791
+ #
792
+ # source://unparser//lib/unparser/anima/attribute.rb#20
793
+ def name; end
794
+
795
+ # Set attribute value in object
796
+ #
797
+ # @param object [Object]
798
+ # @param value [Object]
799
+ # @return [self]
800
+ #
801
+ # source://unparser//lib/unparser/anima/attribute.rb#52
802
+ def set(object, value); end
803
+ end
804
+
805
+ # Abstract base class for anima errors
806
+ #
807
+ # source://unparser//lib/unparser/anima/error.rb#6
808
+ class Unparser::Anima::Error < ::RuntimeError
809
+ # Initialize object
810
+ #
811
+ # @param klass [Class] the class being initialized
812
+ # @param missing [Enumerable<Symbol>]
813
+ # @param unknown [Enumerable<Symbol>]
814
+ # @return [undefined]
815
+ #
816
+ # source://unparser//lib/unparser/anima/error.rb#18
817
+ def initialize(klass, missing, unknown); end
818
+ end
819
+
820
+ # source://unparser//lib/unparser/anima/error.rb#7
821
+ Unparser::Anima::Error::FORMAT = T.let(T.unsafe(nil), String)
822
+
823
+ # Static instance methods for anima infected classes
824
+ #
825
+ # source://unparser//lib/unparser/anima.rb#82
826
+ module Unparser::Anima::InstanceMethods
827
+ # Initialize an anima infected object
828
+ #
829
+ #
830
+ # @param attributes [#to_h] a hash that matches anima defined attributes
831
+ # @return [undefined]
832
+ #
833
+ # source://unparser//lib/unparser/anima.rb#91
834
+ def initialize(attributes); end
835
+
836
+ # Return a hash representation of an anima infected object
837
+ #
838
+ # @api public
839
+ # @example
840
+ # anima.to_h # => { :foo => : bar }
841
+ # @return [Hash]
842
+ #
843
+ # source://unparser//lib/unparser/anima.rb#104
844
+ def to_h; end
845
+
846
+ # Return updated instance
847
+ #
848
+ # @api public
849
+ # @example
850
+ # klass = Class.new do
851
+ # include Anima.new(:foo, :bar)
852
+ # end
853
+ #
854
+ # foo = klass.new(:foo => 1, :bar => 2)
855
+ # updated = foo.with(:foo => 3)
856
+ # updated.foo # => 3
857
+ # updated.bar # => 2
858
+ # @param attributes [Hash]
859
+ # @return [Anima]
860
+ #
861
+ # source://unparser//lib/unparser/anima.rb#125
862
+ def with(attributes); end
863
+ end
864
+
865
+ # Buffer used to emit into
866
+ #
867
+ # source://unparser//lib/unparser/buffer.rb#6
868
+ class Unparser::Buffer
869
+ # Initialize object
870
+ #
871
+ # @api private
872
+ # @return [undefined]
873
+ #
874
+ # source://unparser//lib/unparser/buffer.rb#16
875
+ def initialize; end
876
+
877
+ # Append string
878
+ #
879
+ # @api private
880
+ # @param string [String]
881
+ # @return [self]
882
+ #
883
+ # source://unparser//lib/unparser/buffer.rb#29
884
+ def append(string); end
885
+
886
+ # Append a string without an indentation prefix
887
+ #
888
+ # @api private
889
+ # @param string [String]
890
+ # @return [self]
891
+ #
892
+ # source://unparser//lib/unparser/buffer.rb#45
893
+ def append_without_prefix(string); end
894
+
895
+ # Return content of buffer
896
+ #
897
+ # @api private
898
+ # @return [String]
899
+ #
900
+ # source://unparser//lib/unparser/buffer.rb#104
901
+ def content; end
902
+
903
+ # Test for a fresh line
904
+ #
905
+ # @api private
906
+ # @return [Boolean]
907
+ #
908
+ # source://unparser//lib/unparser/buffer.rb#94
909
+ def fresh_line?; end
910
+
911
+ # Increase indent
912
+ #
913
+ # @api private
914
+ # @return [self]
915
+ #
916
+ # source://unparser//lib/unparser/buffer.rb#55
917
+ def indent; end
918
+
919
+ # Write newline
920
+ #
921
+ # @api private
922
+ # @return [self]
923
+ #
924
+ # source://unparser//lib/unparser/buffer.rb#77
925
+ def nl; end
926
+
927
+ # source://unparser//lib/unparser/buffer.rb#81
928
+ def root_indent; end
929
+
930
+ # Decrease indent
931
+ #
932
+ # @api private
933
+ # @return [self]
934
+ #
935
+ # source://unparser//lib/unparser/buffer.rb#66
936
+ def unindent; end
937
+
938
+ # Write raw fragment to buffer
939
+ #
940
+ # Does not do indentation logic.
941
+ #
942
+ # @param fragment [String]
943
+ # @return [self]
944
+ #
945
+ # source://unparser//lib/unparser/buffer.rb#115
946
+ def write(fragment); end
947
+
948
+ private
949
+
950
+ # source://unparser//lib/unparser/buffer.rb#124
951
+ def prefix; end
952
+ end
953
+
954
+ # source://unparser//lib/unparser/buffer.rb#122
955
+ Unparser::Buffer::INDENT_SPACE = T.let(T.unsafe(nil), String)
956
+
957
+ # source://unparser//lib/unparser/buffer.rb#8
958
+ Unparser::Buffer::NL = T.let(T.unsafe(nil), String)
959
+
960
+ # Unparser specific AST builder defaulting to modern AST format
961
+ #
962
+ # source://unparser//lib/unparser.rb#23
963
+ class Unparser::Builder < ::Parser::Builders::Default
964
+ # @return [Builder] a new instance of Builder
965
+ #
966
+ # source://unparser//lib/unparser.rb#26
967
+ def initialize; end
968
+ end
969
+
970
+ # Unparser CLI implementation
971
+ #
972
+ # source://unparser//lib/unparser/cli.rb#5
973
+ class Unparser::CLI
974
+ # Initialize object
975
+ #
976
+ # @api private
977
+ # @param arguments [Array<String>]
978
+ # @return [undefined]
979
+ #
980
+ # source://unparser//lib/unparser/cli.rb#74
981
+ def initialize(arguments); end
982
+
983
+ # Add options
984
+ #
985
+ #
986
+ # @api private
987
+ # @param builder [OptionParser]
988
+ # @return [undefined]
989
+ #
990
+ # source://unparser//lib/unparser/cli.rb#102
991
+ def add_options(builder); end
992
+
993
+ # Return exit status
994
+ #
995
+ # @api private
996
+ # @return [Integer]
997
+ #
998
+ # source://unparser//lib/unparser/cli.rb#132
999
+ def exit_status; end
1000
+
1001
+ private
1002
+
1003
+ # source://unparser//lib/unparser/cli.rb#155
1004
+ def effective_targets; end
1005
+
1006
+ # source://unparser//lib/unparser/cli.rb#143
1007
+ def process_target(target); end
1008
+
1009
+ # source://unparser//lib/unparser/cli.rb#170
1010
+ def targets(file_name); end
1011
+
1012
+ class << self
1013
+ # Run CLI
1014
+ #
1015
+ # @api private
1016
+ # @param arguments [Array<String>]
1017
+ # @return [Integer] the exit status
1018
+ #
1019
+ # source://unparser//lib/unparser/cli.rb#63
1020
+ def run(*arguments); end
1021
+ end
1022
+ end
1023
+
1024
+ # source://unparser//lib/unparser/cli.rb#8
1025
+ Unparser::CLI::EXIT_FAILURE = T.let(T.unsafe(nil), Integer)
1026
+
1027
+ # source://unparser//lib/unparser/cli.rb#7
1028
+ Unparser::CLI::EXIT_SUCCESS = T.let(T.unsafe(nil), Integer)
1029
+
1030
+ # source://unparser//lib/unparser/cli.rb#10
1031
+ class Unparser::CLI::Target
1032
+ include ::Unparser::AbstractType
1033
+ extend ::Unparser::AbstractType::AbstractMethodDeclarations
1034
+
1035
+ class << self
1036
+ # source://unparser//lib/unparser/abstract_type.rb#36
1037
+ def new(*args, &block); end
1038
+ end
1039
+ end
1040
+
1041
+ # Path target
1042
+ #
1043
+ # source://unparser//lib/unparser/cli.rb#14
1044
+ class Unparser::CLI::Target::Path < ::Unparser::CLI::Target
1045
+ include ::Unparser::Equalizer::Methods
1046
+
1047
+ # Literal for this target
1048
+ #
1049
+ # @return [Validation]
1050
+ #
1051
+ # source://unparser//lib/unparser/cli.rb#27
1052
+ def literal_validation; end
1053
+
1054
+ # Validation for this target
1055
+ #
1056
+ # @return [Validation]
1057
+ #
1058
+ # source://unparser//lib/unparser/cli.rb#20
1059
+ def validation; end
1060
+ end
1061
+
1062
+ # String target
1063
+ #
1064
+ # source://unparser//lib/unparser/cli.rb#33
1065
+ class Unparser::CLI::Target::String
1066
+ include ::Unparser::Equalizer::Methods
1067
+
1068
+ # Literal for this target
1069
+ #
1070
+ # @return [Validation]
1071
+ #
1072
+ # source://unparser//lib/unparser/cli.rb#46
1073
+ def literal_validation; end
1074
+
1075
+ # Validation for this target
1076
+ #
1077
+ # @return [Validation]
1078
+ #
1079
+ # source://unparser//lib/unparser/cli.rb#39
1080
+ def validation; end
1081
+ end
1082
+
1083
+ # Class to colorize strings
1084
+ #
1085
+ # source://unparser//lib/unparser/color.rb#5
1086
+ class Unparser::Color
1087
+ include ::Unparser::Equalizer::Methods
1088
+ include ::Unparser::Adamantium
1089
+ include ::Unparser::Adamantium::InstanceMethods
1090
+ extend ::Unparser::Adamantium::ModuleMethods
1091
+ extend ::Unparser::Adamantium::ClassMethods
1092
+
1093
+ # Format text with color
1094
+ #
1095
+ # @param text [String]
1096
+ # @return [String]
1097
+ #
1098
+ # source://unparser//lib/unparser/color.rb#13
1099
+ def format(text); end
1100
+ end
1101
+
1102
+ # source://unparser//lib/unparser/color.rb#41
1103
+ Unparser::Color::GREEN = T.let(T.unsafe(nil), Unparser::Color)
1104
+
1105
+ # source://unparser//lib/unparser/color.rb#17
1106
+ Unparser::Color::NONE = T.let(T.unsafe(nil), T.untyped)
1107
+
1108
+ # source://unparser//lib/unparser/color.rb#40
1109
+ Unparser::Color::RED = T.let(T.unsafe(nil), Unparser::Color)
1110
+
1111
+ # Holds the comments that remain to be emitted
1112
+ #
1113
+ # source://unparser//lib/unparser/comments.rb#6
1114
+ class Unparser::Comments
1115
+ # Initialize object
1116
+ #
1117
+ # @api private
1118
+ # @param comments [Array]
1119
+ # @return [undefined]
1120
+ #
1121
+ # source://unparser//lib/unparser/comments.rb#30
1122
+ def initialize(comments); end
1123
+
1124
+ # Consume part or all of the node
1125
+ #
1126
+ # @api private
1127
+ # @param node [Parser::AST::Node]
1128
+ # @param source_part [Symbol]
1129
+ # @return [undefined]
1130
+ #
1131
+ # source://unparser//lib/unparser/comments.rb#44
1132
+ def consume(node, source_part = T.unsafe(nil)); end
1133
+
1134
+ # Proxy to singleton
1135
+ #
1136
+ # NOTICE:
1137
+ # Delegating to stateless helpers is a pattern I saw many times in our code.
1138
+ # Maybe we should make another helper module? include SingletonDelegator.new(:source_range) ?
1139
+ #
1140
+ # @api private
1141
+ # @return [undefined]
1142
+ #
1143
+ # source://unparser//lib/unparser/comments.rb#18
1144
+ def source_range(*arguments); end
1145
+
1146
+ # Take all remaining comments
1147
+ #
1148
+ # @api private
1149
+ # @return [Array]
1150
+ #
1151
+ # source://unparser//lib/unparser/comments.rb#68
1152
+ def take_all; end
1153
+
1154
+ # Take comments appear in the source before the specified part of the node
1155
+ #
1156
+ # @api private
1157
+ # @param node [Parser::AST::Node]
1158
+ # @param source_part [Symbol]
1159
+ # @return [Array]
1160
+ #
1161
+ # source://unparser//lib/unparser/comments.rb#81
1162
+ def take_before(node, source_part); end
1163
+
1164
+ # Take end-of-line comments
1165
+ #
1166
+ # @api private
1167
+ # @return [Array]
1168
+ #
1169
+ # source://unparser//lib/unparser/comments.rb#55
1170
+ def take_eol_comments; end
1171
+
1172
+ private
1173
+
1174
+ # source://unparser//lib/unparser/comments.rb#119
1175
+ def take_up_to_line(line); end
1176
+
1177
+ # source://unparser//lib/unparser/comments.rb#114
1178
+ def take_while; end
1179
+
1180
+ # source://unparser//lib/unparser/comments.rb#123
1181
+ def unshift_documents(comments); end
1182
+
1183
+ class << self
1184
+ # Return source location part
1185
+ #
1186
+ # FIXME: This method should not be needed. It does to much inline signalling.
1187
+ #
1188
+ # :reek:ManualDispatch
1189
+ #
1190
+ # @api private
1191
+ # @param node [Parser::AST::Node]
1192
+ # @param part [Symbol]
1193
+ # @return [Parser::Source::Range] if present
1194
+ # @return [nil] otherwise
1195
+ #
1196
+ # source://unparser//lib/unparser/comments.rb#107
1197
+ def source_range(node, part); end
1198
+ end
1199
+ end
1200
+
1201
+ # A mixin to define a composition
1202
+ #
1203
+ # Original code before vendoring and reduction from: https://github.com/mbj/concord.
1204
+ #
1205
+ # source://unparser//lib/unparser/concord.rb#7
1206
+ class Unparser::Concord < ::Module
1207
+ include ::Unparser::Equalizer::Methods
1208
+ include ::Unparser::Adamantium
1209
+ include ::Unparser::Adamantium::InstanceMethods
1210
+ extend ::Unparser::Adamantium::ModuleMethods
1211
+ extend ::Unparser::Adamantium::ClassMethods
1212
+
1213
+ # Initialize object
1214
+ #
1215
+ #
1216
+ # @api private
1217
+ # @return [undefined]
1218
+ #
1219
+ # source://unparser//lib/unparser/concord.rb#30
1220
+ def initialize(*names); end
1221
+
1222
+ # Return names
1223
+ #
1224
+ # @api private
1225
+ # @return [Enumerable<Symbol>]
1226
+ #
1227
+ # source://unparser//lib/unparser/concord.rb#19
1228
+ def names; end
1229
+
1230
+ private
1231
+
1232
+ # Define equalizer
1233
+ #
1234
+ # @api private
1235
+ # @return [undefined]
1236
+ #
1237
+ # source://unparser//lib/unparser/concord.rb#48
1238
+ def define_equalizer; end
1239
+
1240
+ # Define initialize method
1241
+ #
1242
+ # @api private
1243
+ # @return [undefined]
1244
+ #
1245
+ # source://unparser//lib/unparser/concord.rb#72
1246
+ def define_initialize; end
1247
+
1248
+ # Define readers
1249
+ #
1250
+ # @api private
1251
+ # @return [undefined]
1252
+ #
1253
+ # source://unparser//lib/unparser/concord.rb#58
1254
+ def define_readers; end
1255
+
1256
+ # Return instance variable names
1257
+ #
1258
+ # @api private
1259
+ # @return [String]
1260
+ #
1261
+ # source://unparser//lib/unparser/concord.rb#92
1262
+ def instance_variable_names; end
1263
+ end
1264
+
1265
+ # The maximum number of objects the hosting class is composed of
1266
+ #
1267
+ # source://unparser//lib/unparser/concord.rb#11
1268
+ Unparser::Concord::MAX_NR_OF_OBJECTS = T.let(T.unsafe(nil), Integer)
1269
+
1270
+ # Mixin for public attribute readers
1271
+ #
1272
+ # source://unparser//lib/unparser/concord.rb#97
1273
+ class Unparser::Concord::Public < ::Unparser::Concord
1274
+ # Hook called when module is included
1275
+ #
1276
+ # @api private
1277
+ # @param descendant [Class, Module]
1278
+ # @return [undefined]
1279
+ #
1280
+ # source://unparser//lib/unparser/concord.rb#107
1281
+ def included(descendant); end
1282
+ end
1283
+
1284
+ # All unparser constants maybe included in other libraries.
1285
+ #
1286
+ # source://unparser//lib/unparser/constants.rb#5
1287
+ module Unparser::Constants; end
1288
+
1289
+ # All binary operators of the ruby language
1290
+ #
1291
+ # source://unparser//lib/unparser/constants.rb#13
1292
+ Unparser::Constants::BINARY_OPERATORS = T.let(T.unsafe(nil), Set)
1293
+
1294
+ # source://unparser//lib/unparser/constants.rb#63
1295
+ Unparser::Constants::KEYWORDS = T.let(T.unsafe(nil), Set)
1296
+
1297
+ # source://unparser//lib/unparser/constants.rb#45
1298
+ Unparser::Constants::K_ALIAS = T.let(T.unsafe(nil), String)
1299
+
1300
+ # source://unparser//lib/unparser/constants.rb#44
1301
+ Unparser::Constants::K_AND = T.let(T.unsafe(nil), String)
1302
+
1303
+ # source://unparser//lib/unparser/constants.rb#23
1304
+ Unparser::Constants::K_BEGIN = T.let(T.unsafe(nil), String)
1305
+
1306
+ # source://unparser//lib/unparser/constants.rb#37
1307
+ Unparser::Constants::K_BREAK = T.let(T.unsafe(nil), String)
1308
+
1309
+ # source://unparser//lib/unparser/constants.rb#24
1310
+ Unparser::Constants::K_CASE = T.let(T.unsafe(nil), String)
1311
+
1312
+ # source://unparser//lib/unparser/constants.rb#25
1313
+ Unparser::Constants::K_CLASS = T.let(T.unsafe(nil), String)
1314
+
1315
+ # source://unparser//lib/unparser/constants.rb#21
1316
+ Unparser::Constants::K_DEF = T.let(T.unsafe(nil), String)
1317
+
1318
+ # source://unparser//lib/unparser/constants.rb#28
1319
+ Unparser::Constants::K_DEFINE = T.let(T.unsafe(nil), String)
1320
+
1321
+ # source://unparser//lib/unparser/constants.rb#33
1322
+ Unparser::Constants::K_DEFINED = T.let(T.unsafe(nil), String)
1323
+
1324
+ # Keywords
1325
+ #
1326
+ # source://unparser//lib/unparser/constants.rb#20
1327
+ Unparser::Constants::K_DO = T.let(T.unsafe(nil), String)
1328
+
1329
+ # source://unparser//lib/unparser/constants.rb#59
1330
+ Unparser::Constants::K_EEND = T.let(T.unsafe(nil), String)
1331
+
1332
+ # source://unparser//lib/unparser/constants.rb#46
1333
+ Unparser::Constants::K_ELSE = T.let(T.unsafe(nil), String)
1334
+
1335
+ # source://unparser//lib/unparser/constants.rb#47
1336
+ Unparser::Constants::K_ELSIF = T.let(T.unsafe(nil), String)
1337
+
1338
+ # source://unparser//lib/unparser/constants.rb#58
1339
+ Unparser::Constants::K_ENCODING = T.let(T.unsafe(nil), String)
1340
+
1341
+ # source://unparser//lib/unparser/constants.rb#22
1342
+ Unparser::Constants::K_END = T.let(T.unsafe(nil), String)
1343
+
1344
+ # source://unparser//lib/unparser/constants.rb#27
1345
+ Unparser::Constants::K_ENSURE = T.let(T.unsafe(nil), String)
1346
+
1347
+ # source://unparser//lib/unparser/constants.rb#41
1348
+ Unparser::Constants::K_FALSE = T.let(T.unsafe(nil), String)
1349
+
1350
+ # source://unparser//lib/unparser/constants.rb#60
1351
+ Unparser::Constants::K_FILE = T.let(T.unsafe(nil), String)
1352
+
1353
+ # source://unparser//lib/unparser/constants.rb#48
1354
+ Unparser::Constants::K_FOR = T.let(T.unsafe(nil), String)
1355
+
1356
+ # source://unparser//lib/unparser/constants.rb#43
1357
+ Unparser::Constants::K_IF = T.let(T.unsafe(nil), String)
1358
+
1359
+ # source://unparser//lib/unparser/constants.rb#51
1360
+ Unparser::Constants::K_IN = T.let(T.unsafe(nil), String)
1361
+
1362
+ # source://unparser//lib/unparser/constants.rb#29
1363
+ Unparser::Constants::K_MODULE = T.let(T.unsafe(nil), String)
1364
+
1365
+ # source://unparser//lib/unparser/constants.rb#40
1366
+ Unparser::Constants::K_NEXT = T.let(T.unsafe(nil), String)
1367
+
1368
+ # source://unparser//lib/unparser/constants.rb#49
1369
+ Unparser::Constants::K_NIL = T.let(T.unsafe(nil), String)
1370
+
1371
+ # source://unparser//lib/unparser/constants.rb#50
1372
+ Unparser::Constants::K_NOT = T.let(T.unsafe(nil), String)
1373
+
1374
+ # source://unparser//lib/unparser/constants.rb#52
1375
+ Unparser::Constants::K_OR = T.let(T.unsafe(nil), String)
1376
+
1377
+ # source://unparser//lib/unparser/constants.rb#35
1378
+ Unparser::Constants::K_POSTEXE = T.let(T.unsafe(nil), String)
1379
+
1380
+ # source://unparser//lib/unparser/constants.rb#34
1381
+ Unparser::Constants::K_PREEXE = T.let(T.unsafe(nil), String)
1382
+
1383
+ # source://unparser//lib/unparser/constants.rb#39
1384
+ Unparser::Constants::K_REDO = T.let(T.unsafe(nil), String)
1385
+
1386
+ # source://unparser//lib/unparser/constants.rb#30
1387
+ Unparser::Constants::K_RESCUE = T.let(T.unsafe(nil), String)
1388
+
1389
+ # source://unparser//lib/unparser/constants.rb#38
1390
+ Unparser::Constants::K_RETRY = T.let(T.unsafe(nil), String)
1391
+
1392
+ # source://unparser//lib/unparser/constants.rb#31
1393
+ Unparser::Constants::K_RETURN = T.let(T.unsafe(nil), String)
1394
+
1395
+ # source://unparser//lib/unparser/constants.rb#26
1396
+ Unparser::Constants::K_SELF = T.let(T.unsafe(nil), String)
1397
+
1398
+ # source://unparser//lib/unparser/constants.rb#36
1399
+ Unparser::Constants::K_SUPER = T.let(T.unsafe(nil), String)
1400
+
1401
+ # source://unparser//lib/unparser/constants.rb#61
1402
+ Unparser::Constants::K_THEN = T.let(T.unsafe(nil), String)
1403
+
1404
+ # source://unparser//lib/unparser/constants.rb#42
1405
+ Unparser::Constants::K_TRUE = T.let(T.unsafe(nil), String)
1406
+
1407
+ # source://unparser//lib/unparser/constants.rb#32
1408
+ Unparser::Constants::K_UNDEF = T.let(T.unsafe(nil), String)
1409
+
1410
+ # source://unparser//lib/unparser/constants.rb#53
1411
+ Unparser::Constants::K_UNLESS = T.let(T.unsafe(nil), String)
1412
+
1413
+ # source://unparser//lib/unparser/constants.rb#56
1414
+ Unparser::Constants::K_UNTIL = T.let(T.unsafe(nil), String)
1415
+
1416
+ # source://unparser//lib/unparser/constants.rb#54
1417
+ Unparser::Constants::K_WHEN = T.let(T.unsafe(nil), String)
1418
+
1419
+ # source://unparser//lib/unparser/constants.rb#55
1420
+ Unparser::Constants::K_WHILE = T.let(T.unsafe(nil), String)
1421
+
1422
+ # source://unparser//lib/unparser/constants.rb#57
1423
+ Unparser::Constants::K_YIELD = T.let(T.unsafe(nil), String)
1424
+
1425
+ # All unary operators of the ruby language
1426
+ #
1427
+ # source://unparser//lib/unparser/constants.rb#8
1428
+ Unparser::Constants::UNARY_OPERATORS = T.let(T.unsafe(nil), Set)
1429
+
1430
+ # DSL to help defining emitters
1431
+ #
1432
+ # source://unparser//lib/unparser/dsl.rb#5
1433
+ module Unparser::DSL
1434
+ private
1435
+
1436
+ # source://unparser//lib/unparser/dsl.rb#32
1437
+ def children(*names); end
1438
+
1439
+ # source://unparser//lib/unparser/dsl.rb#17
1440
+ def define_child(name, index); end
1441
+
1442
+ # source://unparser//lib/unparser/dsl.rb#24
1443
+ def define_group(name, range); end
1444
+
1445
+ # source://unparser//lib/unparser/dsl.rb#9
1446
+ def define_remaining_children(names); end
1447
+ end
1448
+
1449
+ # Class to create diffs from source code
1450
+ #
1451
+ # source://unparser//lib/unparser/diff.rb#5
1452
+ class Unparser::Diff
1453
+ include ::Unparser::Equalizer::Methods
1454
+ include ::Unparser::Adamantium
1455
+ include ::Unparser::Adamantium::InstanceMethods
1456
+ extend ::Unparser::Adamantium::ModuleMethods
1457
+ extend ::Unparser::Adamantium::ClassMethods
1458
+
1459
+ # Colorized unified source diff between old and new
1460
+ #
1461
+ # @return [String] if there is a diff
1462
+ # @return [nil] otherwise
1463
+ #
1464
+ # source://unparser//lib/unparser/adamantium/method_builder.rb#87
1465
+ def colorized_diff(&block); end
1466
+
1467
+ # Unified source diff between old and new
1468
+ #
1469
+ # @return [String] if there is exactly one diff
1470
+ # @return [nil] otherwise
1471
+ #
1472
+ # source://unparser//lib/unparser/adamantium/method_builder.rb#87
1473
+ def diff(&block); end
1474
+
1475
+ private
1476
+
1477
+ # source://unparser//lib/unparser/diff.rb#62
1478
+ def diffs; end
1479
+
1480
+ # source://unparser//lib/unparser/diff.rb#66
1481
+ def hunks; end
1482
+
1483
+ # source://unparser//lib/unparser/diff.rb#81
1484
+ def max_length; end
1485
+
1486
+ # source://unparser//lib/unparser/diff.rb#72
1487
+ def minimized_hunk; end
1488
+
1489
+ class << self
1490
+ # Build new object from source strings
1491
+ #
1492
+ # @param old [String]
1493
+ # @param new [String]
1494
+ # @return [Diff]
1495
+ #
1496
+ # source://unparser//lib/unparser/diff.rb#46
1497
+ def build(old, new); end
1498
+
1499
+ private
1500
+
1501
+ # source://unparser//lib/unparser/diff.rb#85
1502
+ def colorize_line(line); end
1503
+
1504
+ # Break up source into lines
1505
+ #
1506
+ # @param source [String]
1507
+ # @return [Array<String>]
1508
+ #
1509
+ # source://unparser//lib/unparser/diff.rb#55
1510
+ def lines(source); end
1511
+ end
1512
+ end
1513
+
1514
+ # source://unparser//lib/unparser/diff.rb#8
1515
+ Unparser::Diff::ADDITION = T.let(T.unsafe(nil), String)
1516
+
1517
+ # source://unparser//lib/unparser/diff.rb#9
1518
+ Unparser::Diff::DELETION = T.let(T.unsafe(nil), String)
1519
+
1520
+ # source://unparser//lib/unparser/diff.rb#10
1521
+ Unparser::Diff::NEWLINE = T.let(T.unsafe(nil), String)
1522
+
1523
+ # source://unparser//lib/unparser.rb#34
1524
+ Unparser::EMPTY_ARRAY = T.let(T.unsafe(nil), Array)
1525
+
1526
+ # source://unparser//lib/unparser.rb#33
1527
+ Unparser::EMPTY_STRING = T.let(T.unsafe(nil), String)
1528
+
1529
+ # RequireBLock
1530
+ #
1531
+ # source://unparser//lib/unparser/either.rb#21
1532
+ class Unparser::Either
1533
+ include ::Unparser::RequireBlock
1534
+ include ::Unparser::Equalizer::Methods
1535
+ include ::Unparser::Adamantium
1536
+ include ::Unparser::Adamantium::InstanceMethods
1537
+ extend ::Unparser::Adamantium::ModuleMethods
1538
+ extend ::Unparser::Adamantium::ClassMethods
1539
+
1540
+ # Test for left constructor
1541
+ #
1542
+ # @return [Boolean]
1543
+ #
1544
+ # source://unparser//lib/unparser/either.rb#42
1545
+ def left?; end
1546
+
1547
+ # Test for right constructor
1548
+ #
1549
+ # @return [Boolean]
1550
+ #
1551
+ # source://unparser//lib/unparser/either.rb#49
1552
+ def right?; end
1553
+
1554
+ class << self
1555
+ # Execute block and wrap error in left
1556
+ #
1557
+ # @param exception [Class<Exception>]
1558
+ # @return [Either<Exception, Object>]
1559
+ #
1560
+ # source://unparser//lib/unparser/either.rb#33
1561
+ def wrap_error(*exceptions); end
1562
+ end
1563
+ end
1564
+
1565
+ # source://unparser//lib/unparser/either.rb#53
1566
+ class Unparser::Either::Left < ::Unparser::Either
1567
+ # Evaluate applicative block
1568
+ #
1569
+ # @return [Either::Left<Object>]
1570
+ #
1571
+ # source://unparser//lib/unparser/either.rb#64
1572
+ def bind(&block); end
1573
+
1574
+ # Evaluate left side of branch
1575
+ #
1576
+ # @param left [#call]
1577
+ # @param _right [#call]
1578
+ #
1579
+ # source://unparser//lib/unparser/either.rb#98
1580
+ def either(left, _right); end
1581
+
1582
+ # Evaluate functor block
1583
+ #
1584
+ # @return [Either::Left<Object>]
1585
+ #
1586
+ # source://unparser//lib/unparser/either.rb#57
1587
+ def fmap(&block); end
1588
+
1589
+ # Unwrap value from left
1590
+ #
1591
+ # @return [Object]
1592
+ #
1593
+ # source://unparser//lib/unparser/either.rb#71
1594
+ def from_left; end
1595
+
1596
+ # Unwrap value from right
1597
+ #
1598
+ # @return [Object]
1599
+ #
1600
+ # source://unparser//lib/unparser/either.rb#79
1601
+ def from_right; end
1602
+
1603
+ # Map over left value
1604
+ #
1605
+ # @return [Either::Right<Object>]
1606
+ #
1607
+ # source://unparser//lib/unparser/either.rb#90
1608
+ def lmap; end
1609
+ end
1610
+
1611
+ # Left
1612
+ #
1613
+ # source://unparser//lib/unparser/either.rb#103
1614
+ class Unparser::Either::Right < ::Unparser::Either
1615
+ # Evaluate applicative block
1616
+ #
1617
+ # @return [Either<Object>]
1618
+ # @yield [value]
1619
+ #
1620
+ # source://unparser//lib/unparser/either.rb#114
1621
+ def bind; end
1622
+
1623
+ # Evaluate right side of branch
1624
+ #
1625
+ # @param _left [#call]
1626
+ # @param right [#call]
1627
+ #
1628
+ # source://unparser//lib/unparser/either.rb#148
1629
+ def either(_left, right); end
1630
+
1631
+ # Evaluate functor block
1632
+ #
1633
+ # @return [Either::Right<Object>]
1634
+ #
1635
+ # source://unparser//lib/unparser/either.rb#107
1636
+ def fmap; end
1637
+
1638
+ # Unwrap value from left
1639
+ #
1640
+ # @return [Object]
1641
+ #
1642
+ # source://unparser//lib/unparser/either.rb#122
1643
+ def from_left; end
1644
+
1645
+ # Unwrap value from right
1646
+ #
1647
+ # @return [Object]
1648
+ #
1649
+ # source://unparser//lib/unparser/either.rb#133
1650
+ def from_right; end
1651
+
1652
+ # Map over left value
1653
+ #
1654
+ # @return [Either::Right<Object>]
1655
+ #
1656
+ # source://unparser//lib/unparser/either.rb#140
1657
+ def lmap(&block); end
1658
+ end
1659
+
1660
+ # Emitter base class
1661
+ #
1662
+ # source://unparser//lib/unparser/emitter.rb#7
1663
+ class Unparser::Emitter
1664
+ include ::Unparser::NodeHelpers
1665
+ include ::Unparser::Generation
1666
+ include ::Unparser::Constants
1667
+ include ::Unparser::AbstractType
1668
+ include ::Unparser::Adamantium
1669
+ include ::Unparser::Adamantium::InstanceMethods
1670
+ include ::Unparser::Anima::InstanceMethods
1671
+ include ::Unparser::Equalizer::Methods
1672
+ extend ::Unparser::AbstractType::AbstractMethodDeclarations
1673
+ extend ::Unparser::Adamantium::ModuleMethods
1674
+ extend ::Unparser::Adamantium::ClassMethods
1675
+ extend ::Unparser::DSL
1676
+
1677
+ # source://unparser//lib/unparser/anima.rb#146
1678
+ def buffer; end
1679
+
1680
+ # source://unparser//lib/unparser/anima.rb#146
1681
+ def comments; end
1682
+
1683
+ # Dispatch node write as statement
1684
+ #
1685
+ # @api private
1686
+ # @return [undefined]
1687
+ #
1688
+ # source://unparser//lib/unparser/abstract_type.rb#114
1689
+ def dispatch(*_arg0); end
1690
+
1691
+ # source://unparser//lib/unparser/emitter.rb#59
1692
+ def emit_mlhs; end
1693
+
1694
+ # source://unparser//lib/unparser/anima.rb#146
1695
+ def local_variable_scope; end
1696
+
1697
+ # source://unparser//lib/unparser/anima.rb#146
1698
+ def node; end
1699
+
1700
+ # LocalVariableRoot
1701
+ #
1702
+ # source://unparser//lib/unparser/emitter.rb#38
1703
+ def node_type; end
1704
+
1705
+ class << self
1706
+ # source://unparser//lib/unparser/anima.rb#140
1707
+ def anima; end
1708
+
1709
+ # Return emitter
1710
+ #
1711
+ #
1712
+ # @api private
1713
+ # @return [Emitter]
1714
+ #
1715
+ # source://unparser//lib/unparser/emitter.rb#70
1716
+ def emitter(buffer:, comments:, node:, local_variable_scope:); end
1717
+
1718
+ # source://unparser//lib/unparser/abstract_type.rb#36
1719
+ def new(*args, &block); end
1720
+
1721
+ private
1722
+
1723
+ # Register emitter for type
1724
+ #
1725
+ # @api private
1726
+ # @param types [Symbol]
1727
+ # @return [undefined]
1728
+ #
1729
+ # source://unparser//lib/unparser/emitter.rb#50
1730
+ def handle(*types); end
1731
+ end
1732
+ end
1733
+
1734
+ # Emitter for alias nodes
1735
+ #
1736
+ # source://unparser//lib/unparser/emitter/alias.rb#6
1737
+ class Unparser::Emitter::Alias < ::Unparser::Emitter
1738
+ private
1739
+
1740
+ # source://unparser//lib/unparser/emitter/alias.rb#14
1741
+ def dispatch; end
1742
+
1743
+ # source://unparser//lib/unparser/dsl.rb#11
1744
+ def remaining_children; end
1745
+
1746
+ # source://unparser//lib/unparser/dsl.rb#18
1747
+ def source; end
1748
+
1749
+ # source://unparser//lib/unparser/dsl.rb#18
1750
+ def target; end
1751
+ end
1752
+
1753
+ # Arguments emitter
1754
+ #
1755
+ # source://unparser//lib/unparser/emitter/args.rb#6
1756
+ class Unparser::Emitter::Args < ::Unparser::Emitter
1757
+ # source://unparser//lib/unparser/emitter/args.rb#7
1758
+ def emit_block_arguments; end
1759
+
1760
+ # source://unparser//lib/unparser/emitter/args.rb#15
1761
+ def emit_def_arguments; end
1762
+
1763
+ # source://unparser//lib/unparser/emitter/args.rb#19
1764
+ def emit_lambda_arguments; end
1765
+
1766
+ private
1767
+
1768
+ # source://unparser//lib/unparser/emitter/args.rb#26
1769
+ def emit_shadowargs; end
1770
+
1771
+ # source://unparser//lib/unparser/adamantium/method_builder.rb#87
1772
+ def normal_arguments(&block); end
1773
+
1774
+ # source://unparser//lib/unparser/adamantium/method_builder.rb#87
1775
+ def shadowargs(&block); end
1776
+ end
1777
+
1778
+ # Argument emitter
1779
+ #
1780
+ # source://unparser//lib/unparser/emitter/argument.rb#84
1781
+ class Unparser::Emitter::Argument < ::Unparser::Emitter
1782
+ private
1783
+
1784
+ # source://unparser//lib/unparser/emitter/argument.rb#91
1785
+ def dispatch; end
1786
+
1787
+ # source://unparser//lib/unparser/dsl.rb#18
1788
+ def name; end
1789
+
1790
+ # source://unparser//lib/unparser/dsl.rb#11
1791
+ def remaining_children; end
1792
+ end
1793
+
1794
+ # Array literal emitter
1795
+ #
1796
+ # source://unparser//lib/unparser/emitter/array.rb#6
1797
+ class Unparser::Emitter::Array < ::Unparser::Emitter
1798
+ # source://unparser//lib/unparser/emitter/array.rb#9
1799
+ def emit_heredoc_reminders; end
1800
+
1801
+ private
1802
+
1803
+ # source://unparser//lib/unparser/emitter/array.rb#15
1804
+ def dispatch; end
1805
+
1806
+ # source://unparser//lib/unparser/adamantium/method_builder.rb#87
1807
+ def emitters(&block); end
1808
+ end
1809
+
1810
+ # Emitter for array patterns
1811
+ #
1812
+ # source://unparser//lib/unparser/emitter/array_pattern.rb#6
1813
+ class Unparser::Emitter::ArrayPattern < ::Unparser::Emitter
1814
+ private
1815
+
1816
+ # source://unparser//lib/unparser/emitter/array_pattern.rb#13
1817
+ def dispatch; end
1818
+
1819
+ # source://unparser//lib/unparser/emitter/array_pattern.rb#20
1820
+ def emit_member(node); end
1821
+ end
1822
+
1823
+ # Base class for assignment emitters
1824
+ #
1825
+ # source://unparser//lib/unparser/emitter/assignment.rb#7
1826
+ class Unparser::Emitter::Assignment < ::Unparser::Emitter
1827
+ # source://unparser//lib/unparser/emitter/assignment.rb#14
1828
+ def emit_heredoc_reminders; end
1829
+
1830
+ # source://unparser//lib/unparser/abstract_type.rb#114
1831
+ def emit_left(*_arg0); end
1832
+
1833
+ # source://unparser//lib/unparser/emitter/assignment.rb#10
1834
+ def symbol_name; end
1835
+
1836
+ private
1837
+
1838
+ # source://unparser//lib/unparser/emitter/assignment.rb#22
1839
+ def dispatch; end
1840
+
1841
+ # source://unparser//lib/unparser/emitter/assignment.rb#27
1842
+ def emit_right; end
1843
+ end
1844
+
1845
+ # source://unparser//lib/unparser/emitter/assignment.rb#8
1846
+ Unparser::Emitter::Assignment::BINARY_OPERATOR = T.let(T.unsafe(nil), Array)
1847
+
1848
+ # Constant assignment emitter
1849
+ #
1850
+ # source://unparser//lib/unparser/emitter/assignment.rb#57
1851
+ class Unparser::Emitter::Assignment::Constant < ::Unparser::Emitter::Assignment
1852
+ private
1853
+
1854
+ # source://unparser//lib/unparser/dsl.rb#18
1855
+ def base; end
1856
+
1857
+ # source://unparser//lib/unparser/emitter/assignment.rb#65
1858
+ def emit_left; end
1859
+
1860
+ # source://unparser//lib/unparser/dsl.rb#18
1861
+ def name; end
1862
+
1863
+ # source://unparser//lib/unparser/dsl.rb#11
1864
+ def remaining_children; end
1865
+
1866
+ # source://unparser//lib/unparser/dsl.rb#18
1867
+ def right; end
1868
+ end
1869
+
1870
+ # Variable assignment emitter
1871
+ #
1872
+ # source://unparser//lib/unparser/emitter/assignment.rb#42
1873
+ class Unparser::Emitter::Assignment::Variable < ::Unparser::Emitter::Assignment
1874
+ private
1875
+
1876
+ # source://unparser//lib/unparser/emitter/assignment.rb#50
1877
+ def emit_left; end
1878
+
1879
+ # source://unparser//lib/unparser/dsl.rb#18
1880
+ def name; end
1881
+
1882
+ # source://unparser//lib/unparser/dsl.rb#11
1883
+ def remaining_children; end
1884
+
1885
+ # source://unparser//lib/unparser/dsl.rb#18
1886
+ def right; end
1887
+ end
1888
+
1889
+ # Emitter for begin nodes
1890
+ #
1891
+ # source://unparser//lib/unparser/emitter/begin.rb#7
1892
+ class Unparser::Emitter::Begin < ::Unparser::Emitter
1893
+ # source://unparser//lib/unparser/emitter/begin.rb#11
1894
+ def emit_heredoc_reminders; end
1895
+
1896
+ private
1897
+
1898
+ # source://unparser//lib/unparser/dsl.rb#18
1899
+ def body; end
1900
+
1901
+ # source://unparser//lib/unparser/emitter/begin.rb#19
1902
+ def dispatch; end
1903
+
1904
+ # source://unparser//lib/unparser/dsl.rb#11
1905
+ def remaining_children; end
1906
+ end
1907
+
1908
+ # Non send binary operator / keyword emitter
1909
+ #
1910
+ # source://unparser//lib/unparser/emitter/binary.rb#6
1911
+ class Unparser::Emitter::Binary < ::Unparser::Emitter
1912
+ private
1913
+
1914
+ # source://unparser//lib/unparser/emitter/binary.rb#11
1915
+ def dispatch; end
1916
+
1917
+ # source://unparser//lib/unparser/adamantium/method_builder.rb#87
1918
+ def writer(&block); end
1919
+ end
1920
+
1921
+ # Base class for and and or op-assign
1922
+ #
1923
+ # source://unparser//lib/unparser/emitter/op_assign.rb#7
1924
+ class Unparser::Emitter::BinaryAssign < ::Unparser::Emitter
1925
+ # source://unparser//lib/unparser/emitter/op_assign.rb#17
1926
+ def emit_heredoc_reminders; end
1927
+
1928
+ private
1929
+
1930
+ # source://unparser//lib/unparser/emitter/op_assign.rb#24
1931
+ def dispatch; end
1932
+
1933
+ # source://unparser//lib/unparser/dsl.rb#18
1934
+ def expression; end
1935
+
1936
+ # source://unparser//lib/unparser/dsl.rb#11
1937
+ def remaining_children; end
1938
+
1939
+ # source://unparser//lib/unparser/dsl.rb#18
1940
+ def target; end
1941
+ end
1942
+
1943
+ # source://unparser//lib/unparser/emitter/op_assign.rb#10
1944
+ Unparser::Emitter::BinaryAssign::MAP = T.let(T.unsafe(nil), Hash)
1945
+
1946
+ # Block emitter
1947
+ #
1948
+ # source://unparser//lib/unparser/emitter/block.rb#7
1949
+ class Unparser::Emitter::Block < ::Unparser::Emitter
1950
+ private
1951
+
1952
+ # source://unparser//lib/unparser/dsl.rb#18
1953
+ def arguments; end
1954
+
1955
+ # source://unparser//lib/unparser/dsl.rb#18
1956
+ def body; end
1957
+
1958
+ # source://unparser//lib/unparser/emitter/block.rb#14
1959
+ def dispatch; end
1960
+
1961
+ # source://unparser//lib/unparser/emitter/block.rb#75
1962
+ def emit_block_arguments; end
1963
+
1964
+ # source://unparser//lib/unparser/emitter/block.rb#67
1965
+ def emit_lambda_arguments; end
1966
+
1967
+ # source://unparser//lib/unparser/emitter/block.rb#61
1968
+ def emit_send_target; end
1969
+
1970
+ # source://unparser//lib/unparser/emitter/block.rb#49
1971
+ def emit_target; end
1972
+
1973
+ # @return [Boolean]
1974
+ #
1975
+ # source://unparser//lib/unparser/emitter/block.rb#24
1976
+ def need_do?; end
1977
+
1978
+ # @return [Boolean]
1979
+ #
1980
+ # source://unparser//lib/unparser/emitter/block.rb#71
1981
+ def numblock?; end
1982
+
1983
+ # source://unparser//lib/unparser/dsl.rb#11
1984
+ def remaining_children; end
1985
+
1986
+ # source://unparser//lib/unparser/dsl.rb#18
1987
+ def target; end
1988
+
1989
+ # source://unparser//lib/unparser/adamantium/method_builder.rb#87
1990
+ def target_writer(&block); end
1991
+
1992
+ # source://unparser//lib/unparser/emitter/block.rb#36
1993
+ def write_close; end
1994
+
1995
+ # source://unparser//lib/unparser/emitter/block.rb#28
1996
+ def write_open; end
1997
+ end
1998
+
1999
+ # Block pass node emitter
2000
+ #
2001
+ # source://unparser//lib/unparser/emitter/argument.rb#123
2002
+ class Unparser::Emitter::BlockPass < ::Unparser::Emitter
2003
+ private
2004
+
2005
+ # source://unparser//lib/unparser/emitter/argument.rb#130
2006
+ def dispatch; end
2007
+
2008
+ # source://unparser//lib/unparser/dsl.rb#18
2009
+ def name; end
2010
+
2011
+ # source://unparser//lib/unparser/dsl.rb#11
2012
+ def remaining_children; end
2013
+ end
2014
+
2015
+ # Emitter for toplevel constant reference nodes
2016
+ #
2017
+ # source://unparser//lib/unparser/emitter/cbase.rb#6
2018
+ class Unparser::Emitter::CBase < ::Unparser::Emitter
2019
+ private
2020
+
2021
+ # Perform dispatch
2022
+ #
2023
+ # @api private
2024
+ # @return [undefined]
2025
+ #
2026
+ # source://unparser//lib/unparser/emitter/cbase.rb#17
2027
+ def dispatch; end
2028
+ end
2029
+
2030
+ # Emitter for case nodes
2031
+ #
2032
+ # source://unparser//lib/unparser/emitter/case.rb#6
2033
+ class Unparser::Emitter::Case < ::Unparser::Emitter
2034
+ private
2035
+
2036
+ # source://unparser//lib/unparser/dsl.rb#18
2037
+ def condition; end
2038
+
2039
+ # source://unparser//lib/unparser/emitter/case.rb#14
2040
+ def dispatch; end
2041
+
2042
+ # source://unparser//lib/unparser/emitter/case.rb#35
2043
+ def emit_condition; end
2044
+
2045
+ # source://unparser//lib/unparser/emitter/case.rb#22
2046
+ def emit_else; end
2047
+
2048
+ # source://unparser//lib/unparser/emitter/case.rb#30
2049
+ def emit_whens; end
2050
+
2051
+ # source://unparser//lib/unparser/dsl.rb#11
2052
+ def remaining_children; end
2053
+
2054
+ # source://unparser//lib/unparser/adamantium/method_builder.rb#87
2055
+ def whens(&block); end
2056
+ end
2057
+
2058
+ # Emitter for case guards
2059
+ #
2060
+ # source://unparser//lib/unparser/emitter/case_guard.rb#6
2061
+ class Unparser::Emitter::CaseGuard < ::Unparser::Emitter
2062
+ private
2063
+
2064
+ # source://unparser//lib/unparser/dsl.rb#18
2065
+ def condition; end
2066
+
2067
+ # source://unparser//lib/unparser/emitter/case_guard.rb#19
2068
+ def dispatch; end
2069
+
2070
+ # source://unparser//lib/unparser/dsl.rb#11
2071
+ def remaining_children; end
2072
+ end
2073
+
2074
+ # source://unparser//lib/unparser/emitter/case_guard.rb#10
2075
+ Unparser::Emitter::CaseGuard::MAP = T.let(T.unsafe(nil), Hash)
2076
+
2077
+ # Emitter for case matches
2078
+ #
2079
+ # source://unparser//lib/unparser/emitter/case_match.rb#6
2080
+ class Unparser::Emitter::CaseMatch < ::Unparser::Emitter
2081
+ private
2082
+
2083
+ # source://unparser//lib/unparser/emitter/case_match.rb#20
2084
+ def dispatch; end
2085
+
2086
+ # source://unparser//lib/unparser/emitter/case_match.rb#16
2087
+ def else_branch; end
2088
+
2089
+ # source://unparser//lib/unparser/emitter/case_match.rb#30
2090
+ def emit_else_branch; end
2091
+
2092
+ # source://unparser//lib/unparser/adamantium/method_builder.rb#87
2093
+ def patterns(&block); end
2094
+
2095
+ # source://unparser//lib/unparser/dsl.rb#11
2096
+ def remaining_children; end
2097
+
2098
+ # source://unparser//lib/unparser/dsl.rb#18
2099
+ def target; end
2100
+ end
2101
+
2102
+ # Emitter for class nodes
2103
+ #
2104
+ # source://unparser//lib/unparser/emitter/class.rb#6
2105
+ class Unparser::Emitter::Class < ::Unparser::Emitter
2106
+ include ::Unparser::Emitter::LocalVariableRoot
2107
+
2108
+ # source://unparser//lib/unparser/adamantium/method_builder.rb#87
2109
+ def local_variable_scope(&block); end
2110
+
2111
+ private
2112
+
2113
+ # source://unparser//lib/unparser/dsl.rb#18
2114
+ def body; end
2115
+
2116
+ # source://unparser//lib/unparser/emitter/class.rb#15
2117
+ def dispatch; end
2118
+
2119
+ # source://unparser//lib/unparser/emitter/class.rb#23
2120
+ def emit_superclass; end
2121
+
2122
+ # source://unparser//lib/unparser/dsl.rb#18
2123
+ def name; end
2124
+
2125
+ # source://unparser//lib/unparser/dsl.rb#11
2126
+ def remaining_children; end
2127
+
2128
+ # source://unparser//lib/unparser/dsl.rb#18
2129
+ def superclass; end
2130
+ end
2131
+
2132
+ # Emitter for constant access
2133
+ #
2134
+ # source://unparser//lib/unparser/emitter/variable.rb#21
2135
+ class Unparser::Emitter::Const < ::Unparser::Emitter
2136
+ private
2137
+
2138
+ # source://unparser//lib/unparser/emitter/variable.rb#28
2139
+ def dispatch; end
2140
+
2141
+ # source://unparser//lib/unparser/emitter/variable.rb#33
2142
+ def emit_scope; end
2143
+
2144
+ # source://unparser//lib/unparser/dsl.rb#18
2145
+ def name; end
2146
+
2147
+ # source://unparser//lib/unparser/dsl.rb#11
2148
+ def remaining_children; end
2149
+
2150
+ # source://unparser//lib/unparser/dsl.rb#18
2151
+ def scope; end
2152
+ end
2153
+
2154
+ # Emitter for const pattern node
2155
+ #
2156
+ # source://unparser//lib/unparser/emitter/const_pattern.rb#6
2157
+ class Unparser::Emitter::ConstPattern < ::Unparser::Emitter
2158
+ private
2159
+
2160
+ # source://unparser//lib/unparser/dsl.rb#18
2161
+ def const; end
2162
+
2163
+ # source://unparser//lib/unparser/emitter/const_pattern.rb#14
2164
+ def dispatch; end
2165
+
2166
+ # source://unparser//lib/unparser/dsl.rb#18
2167
+ def pattern; end
2168
+
2169
+ # source://unparser//lib/unparser/dsl.rb#11
2170
+ def remaining_children; end
2171
+ end
2172
+
2173
+ # Dynamic string emitter
2174
+ #
2175
+ # source://unparser//lib/unparser/emitter/dstr.rb#6
2176
+ class Unparser::Emitter::DStr < ::Unparser::Emitter
2177
+ # source://unparser//lib/unparser/emitter/dstr.rb#10
2178
+ def emit_heredoc_reminders; end
2179
+
2180
+ private
2181
+
2182
+ # source://unparser//lib/unparser/emitter/dstr.rb#16
2183
+ def dispatch; end
2184
+ end
2185
+
2186
+ # Dynamic symbol literal emitter
2187
+ #
2188
+ # source://unparser//lib/unparser/emitter/dsym.rb#6
2189
+ class Unparser::Emitter::DSym < ::Unparser::Emitter
2190
+ private
2191
+
2192
+ # source://unparser//lib/unparser/emitter/dsym.rb#11
2193
+ def dispatch; end
2194
+
2195
+ # source://unparser//lib/unparser/emitter/dsym.rb#34
2196
+ def emit_begin_child(component); end
2197
+
2198
+ # source://unparser//lib/unparser/emitter/dsym.rb#24
2199
+ def emit_str_child(value); end
2200
+ end
2201
+
2202
+ # Emitter for def node
2203
+ #
2204
+ # source://unparser//lib/unparser/emitter/def.rb#6
2205
+ class Unparser::Emitter::Def < ::Unparser::Emitter
2206
+ include ::Unparser::Emitter::LocalVariableRoot
2207
+
2208
+ # source://unparser//lib/unparser/adamantium/method_builder.rb#87
2209
+ def local_variable_scope(&block); end
2210
+
2211
+ private
2212
+
2213
+ # source://unparser//lib/unparser/abstract_type.rb#114
2214
+ def body(*_arg0); end
2215
+
2216
+ # source://unparser//lib/unparser/emitter/def.rb#17
2217
+ def dispatch; end
2218
+
2219
+ # source://unparser//lib/unparser/emitter/def.rb#25
2220
+ def emit_arguments; end
2221
+
2222
+ # source://unparser//lib/unparser/abstract_type.rb#114
2223
+ def emit_name(*_arg0); end
2224
+ end
2225
+
2226
+ # Instance def emitter
2227
+ #
2228
+ # source://unparser//lib/unparser/emitter/def.rb#34
2229
+ class Unparser::Emitter::Def::Instance < ::Unparser::Emitter::Def
2230
+ private
2231
+
2232
+ # source://unparser//lib/unparser/dsl.rb#18
2233
+ def arguments; end
2234
+
2235
+ # source://unparser//lib/unparser/dsl.rb#18
2236
+ def body; end
2237
+
2238
+ # source://unparser//lib/unparser/emitter/def.rb#41
2239
+ def emit_name; end
2240
+
2241
+ # source://unparser//lib/unparser/dsl.rb#18
2242
+ def name; end
2243
+
2244
+ # source://unparser//lib/unparser/dsl.rb#11
2245
+ def remaining_children; end
2246
+ end
2247
+
2248
+ # Emitter for defines on singleton
2249
+ #
2250
+ # source://unparser//lib/unparser/emitter/def.rb#48
2251
+ class Unparser::Emitter::Def::Singleton < ::Unparser::Emitter::Def
2252
+ private
2253
+
2254
+ # source://unparser//lib/unparser/dsl.rb#18
2255
+ def arguments; end
2256
+
2257
+ # source://unparser//lib/unparser/dsl.rb#18
2258
+ def body; end
2259
+
2260
+ # source://unparser//lib/unparser/emitter/def.rb#56
2261
+ def emit_name; end
2262
+
2263
+ # source://unparser//lib/unparser/dsl.rb#18
2264
+ def name; end
2265
+
2266
+ # source://unparser//lib/unparser/dsl.rb#11
2267
+ def remaining_children; end
2268
+
2269
+ # source://unparser//lib/unparser/dsl.rb#18
2270
+ def subject; end
2271
+
2272
+ # @return [Boolean]
2273
+ #
2274
+ # source://unparser//lib/unparser/emitter/def.rb#63
2275
+ def subject_without_parens?; end
2276
+ end
2277
+
2278
+ # Emitter for defined? nodes
2279
+ #
2280
+ # source://unparser//lib/unparser/emitter/defined.rb#6
2281
+ class Unparser::Emitter::Defined < ::Unparser::Emitter
2282
+ private
2283
+
2284
+ # source://unparser//lib/unparser/emitter/defined.rb#13
2285
+ def dispatch; end
2286
+
2287
+ # source://unparser//lib/unparser/dsl.rb#11
2288
+ def remaining_children; end
2289
+
2290
+ # source://unparser//lib/unparser/dsl.rb#18
2291
+ def subject; end
2292
+ end
2293
+
2294
+ # Emitter for in pattern nodes
2295
+ #
2296
+ # source://unparser//lib/unparser/emitter/find_pattern.rb#6
2297
+ class Unparser::Emitter::FindPattern < ::Unparser::Emitter
2298
+ private
2299
+
2300
+ # source://unparser//lib/unparser/emitter/find_pattern.rb#11
2301
+ def dispatch; end
2302
+ end
2303
+
2304
+ # Emitter for flip flops
2305
+ #
2306
+ # source://unparser//lib/unparser/emitter/flipflop.rb#6
2307
+ class Unparser::Emitter::FlipFlop < ::Unparser::Emitter
2308
+ # source://unparser//lib/unparser/emitter/flipflop.rb#17
2309
+ def symbol_name; end
2310
+
2311
+ private
2312
+
2313
+ # source://unparser//lib/unparser/emitter/flipflop.rb#27
2314
+ def dispatch; end
2315
+
2316
+ # source://unparser//lib/unparser/dsl.rb#18
2317
+ def left; end
2318
+
2319
+ # source://unparser//lib/unparser/dsl.rb#11
2320
+ def remaining_children; end
2321
+
2322
+ # source://unparser//lib/unparser/dsl.rb#18
2323
+ def right; end
2324
+ end
2325
+
2326
+ # source://unparser//lib/unparser/emitter/flipflop.rb#7
2327
+ Unparser::Emitter::FlipFlop::MAP = T.let(T.unsafe(nil), Hash)
2328
+
2329
+ # source://unparser//lib/unparser/emitter/flipflop.rb#12
2330
+ Unparser::Emitter::FlipFlop::SYMBOLS = T.let(T.unsafe(nil), Hash)
2331
+
2332
+ # Emiter for float literals
2333
+ #
2334
+ # source://unparser//lib/unparser/emitter/float.rb#6
2335
+ class Unparser::Emitter::Float < ::Unparser::Emitter
2336
+ private
2337
+
2338
+ # source://unparser//lib/unparser/emitter/float.rb#16
2339
+ def dispatch; end
2340
+
2341
+ # source://unparser//lib/unparser/dsl.rb#11
2342
+ def remaining_children; end
2343
+
2344
+ # source://unparser//lib/unparser/dsl.rb#18
2345
+ def value; end
2346
+ end
2347
+
2348
+ # source://unparser//lib/unparser/emitter/float.rb#11
2349
+ Unparser::Emitter::Float::INFINITY = T.let(T.unsafe(nil), Float)
2350
+
2351
+ # source://unparser//lib/unparser/emitter/float.rb#12
2352
+ Unparser::Emitter::Float::NEG_INFINITY = T.let(T.unsafe(nil), Float)
2353
+
2354
+ # Emitter control flow modifiers
2355
+ #
2356
+ # source://unparser//lib/unparser/emitter/flow_modifier.rb#6
2357
+ class Unparser::Emitter::FlowModifier < ::Unparser::Emitter
2358
+ # source://unparser//lib/unparser/emitter/flow_modifier.rb#17
2359
+ def emit_heredoc_reminders; end
2360
+
2361
+ private
2362
+
2363
+ # source://unparser//lib/unparser/emitter/flow_modifier.rb#25
2364
+ def dispatch; end
2365
+
2366
+ # source://unparser//lib/unparser/emitter/flow_modifier.rb#36
2367
+ def emit_arguments; end
2368
+ end
2369
+
2370
+ # source://unparser//lib/unparser/emitter/flow_modifier.rb#7
2371
+ Unparser::Emitter::FlowModifier::MAP = T.let(T.unsafe(nil), Hash)
2372
+
2373
+ # Emitter for for nodes
2374
+ #
2375
+ # source://unparser//lib/unparser/emitter/for.rb#6
2376
+ class Unparser::Emitter::For < ::Unparser::Emitter
2377
+ private
2378
+
2379
+ # source://unparser//lib/unparser/dsl.rb#18
2380
+ def assignment; end
2381
+
2382
+ # source://unparser//lib/unparser/dsl.rb#18
2383
+ def body; end
2384
+
2385
+ # source://unparser//lib/unparser/dsl.rb#18
2386
+ def condition; end
2387
+
2388
+ # source://unparser//lib/unparser/emitter/for.rb#13
2389
+ def dispatch; end
2390
+
2391
+ # source://unparser//lib/unparser/emitter/for.rb#20
2392
+ def emit_condition; end
2393
+
2394
+ # source://unparser//lib/unparser/dsl.rb#11
2395
+ def remaining_children; end
2396
+ end
2397
+
2398
+ # Emitter for forwarding arguments
2399
+ #
2400
+ # source://unparser//lib/unparser/emitter/argument.rb#6
2401
+ class Unparser::Emitter::ForwardArg < ::Unparser::Emitter
2402
+ private
2403
+
2404
+ # source://unparser//lib/unparser/emitter/argument.rb#20
2405
+ def dispatch; end
2406
+
2407
+ # source://unparser//lib/unparser/dsl.rb#18
2408
+ def name; end
2409
+
2410
+ # source://unparser//lib/unparser/dsl.rb#11
2411
+ def remaining_children; end
2412
+ end
2413
+
2414
+ # source://unparser//lib/unparser/emitter/argument.rb#7
2415
+ Unparser::Emitter::ForwardArg::MAP = T.let(T.unsafe(nil), Hash)
2416
+
2417
+ # Emitter for Hash literals
2418
+ #
2419
+ # source://unparser//lib/unparser/emitter/hash.rb#6
2420
+ class Unparser::Emitter::Hash < ::Unparser::Emitter
2421
+ # source://unparser//lib/unparser/emitter/hash.rb#9
2422
+ def emit_heredoc_reminders; end
2423
+
2424
+ private
2425
+
2426
+ # source://unparser//lib/unparser/emitter/hash.rb#15
2427
+ def dispatch; end
2428
+
2429
+ # source://unparser//lib/unparser/emitter/hash.rb#31
2430
+ def emit_hash_body; end
2431
+
2432
+ # source://unparser//lib/unparser/emitter/hash.rb#27
2433
+ def emit_heredoc_reminder_member(node); end
2434
+ end
2435
+
2436
+ # Emitter for hash patterns
2437
+ #
2438
+ # source://unparser//lib/unparser/emitter/hash_pattern.rb#6
2439
+ class Unparser::Emitter::HashPattern < ::Unparser::Emitter
2440
+ # source://unparser//lib/unparser/emitter/hash_pattern.rb#10
2441
+ def emit_const_pattern; end
2442
+
2443
+ private
2444
+
2445
+ # source://unparser//lib/unparser/emitter/hash_pattern.rb#18
2446
+ def dispatch; end
2447
+
2448
+ # source://unparser//lib/unparser/emitter/hash_pattern.rb#24
2449
+ def emit_hash_body; end
2450
+
2451
+ # source://unparser//lib/unparser/emitter/hash_pattern.rb#41
2452
+ def emit_match_var(node); end
2453
+
2454
+ # source://unparser//lib/unparser/emitter/hash_pattern.rb#28
2455
+ def emit_member(node); end
2456
+
2457
+ # source://unparser//lib/unparser/emitter/hash_pattern.rb#46
2458
+ def emit_pair(node); end
2459
+
2460
+ # source://unparser//lib/unparser/emitter/hash_pattern.rb#62
2461
+ def write_symbol_body(symbol); end
2462
+ end
2463
+
2464
+ # Base class for pre and postexe emitters
2465
+ #
2466
+ # source://unparser//lib/unparser/emitter/hookexe.rb#6
2467
+ class Unparser::Emitter::Hookexe < ::Unparser::Emitter
2468
+ private
2469
+
2470
+ # source://unparser//lib/unparser/dsl.rb#18
2471
+ def body; end
2472
+
2473
+ # source://unparser//lib/unparser/emitter/hookexe.rb#19
2474
+ def dispatch; end
2475
+
2476
+ # source://unparser//lib/unparser/dsl.rb#11
2477
+ def remaining_children; end
2478
+ end
2479
+
2480
+ # source://unparser//lib/unparser/emitter/hookexe.rb#8
2481
+ Unparser::Emitter::Hookexe::MAP = T.let(T.unsafe(nil), Hash)
2482
+
2483
+ # Emitter if nodes
2484
+ #
2485
+ # source://unparser//lib/unparser/emitter/if.rb#6
2486
+ class Unparser::Emitter::If < ::Unparser::Emitter
2487
+ # source://unparser//lib/unparser/emitter/if.rb#11
2488
+ def emit_ternary; end
2489
+
2490
+ private
2491
+
2492
+ # source://unparser//lib/unparser/dsl.rb#18
2493
+ def condition; end
2494
+
2495
+ # source://unparser//lib/unparser/emitter/if.rb#21
2496
+ def dispatch; end
2497
+
2498
+ # source://unparser//lib/unparser/dsl.rb#18
2499
+ def else_branch; end
2500
+
2501
+ # source://unparser//lib/unparser/emitter/if.rb#59
2502
+ def emit_condition; end
2503
+
2504
+ # source://unparser//lib/unparser/emitter/if.rb#71
2505
+ def emit_else_branch; end
2506
+
2507
+ # source://unparser//lib/unparser/emitter/if.rb#63
2508
+ def emit_if_branch; end
2509
+
2510
+ # source://unparser//lib/unparser/emitter/if.rb#43
2511
+ def emit_normal; end
2512
+
2513
+ # source://unparser//lib/unparser/emitter/if.rb#37
2514
+ def emit_postcondition; end
2515
+
2516
+ # source://unparser//lib/unparser/dsl.rb#18
2517
+ def if_branch; end
2518
+
2519
+ # source://unparser//lib/unparser/emitter/if.rb#55
2520
+ def keyword; end
2521
+
2522
+ # @return [Boolean]
2523
+ #
2524
+ # source://unparser//lib/unparser/emitter/if.rb#29
2525
+ def postcondition?; end
2526
+
2527
+ # source://unparser//lib/unparser/dsl.rb#11
2528
+ def remaining_children; end
2529
+
2530
+ # @return [Boolean]
2531
+ #
2532
+ # source://unparser//lib/unparser/emitter/if.rb#51
2533
+ def unless?; end
2534
+ end
2535
+
2536
+ # Emitter for in pattern nodes
2537
+ #
2538
+ # source://unparser//lib/unparser/emitter/in_match.rb#6
2539
+ class Unparser::Emitter::InMatch < ::Unparser::Emitter
2540
+ private
2541
+
2542
+ # source://unparser//lib/unparser/emitter/in_match.rb#14
2543
+ def dispatch; end
2544
+
2545
+ # source://unparser//lib/unparser/dsl.rb#18
2546
+ def pattern; end
2547
+
2548
+ # source://unparser//lib/unparser/dsl.rb#11
2549
+ def remaining_children; end
2550
+
2551
+ # source://unparser//lib/unparser/dsl.rb#18
2552
+ def target; end
2553
+ end
2554
+
2555
+ # Emitter for in pattern nodes
2556
+ #
2557
+ # source://unparser//lib/unparser/emitter/in_pattern.rb#6
2558
+ class Unparser::Emitter::InPattern < ::Unparser::Emitter
2559
+ private
2560
+
2561
+ # source://unparser//lib/unparser/dsl.rb#18
2562
+ def branch; end
2563
+
2564
+ # source://unparser//lib/unparser/emitter/in_pattern.rb#14
2565
+ def dispatch; end
2566
+
2567
+ # source://unparser//lib/unparser/dsl.rb#18
2568
+ def else_branch; end
2569
+
2570
+ # source://unparser//lib/unparser/dsl.rb#11
2571
+ def remaining_children; end
2572
+
2573
+ # source://unparser//lib/unparser/dsl.rb#18
2574
+ def target; end
2575
+
2576
+ # source://unparser//lib/unparser/dsl.rb#18
2577
+ def unless_guard; end
2578
+ end
2579
+
2580
+ # Emitter for send to index references
2581
+ #
2582
+ # source://unparser//lib/unparser/emitter/index.rb#6
2583
+ class Unparser::Emitter::Index < ::Unparser::Emitter
2584
+ private
2585
+
2586
+ # source://unparser//lib/unparser/emitter/index.rb#10
2587
+ def dispatch; end
2588
+
2589
+ # source://unparser//lib/unparser/emitter/index.rb#15
2590
+ def emit_receiver; end
2591
+ end
2592
+
2593
+ # Emitter for assign to index nodes
2594
+ #
2595
+ # source://unparser//lib/unparser/emitter/index.rb#34
2596
+ class Unparser::Emitter::Index::Assign < ::Unparser::Emitter::Index
2597
+ # source://unparser//lib/unparser/emitter/index.rb#47
2598
+ def dispatch; end
2599
+
2600
+ # source://unparser//lib/unparser/emitter/index.rb#43
2601
+ def emit_heredoc_reminders; end
2602
+
2603
+ # source://unparser//lib/unparser/emitter/index.rb#54
2604
+ def emit_mlhs; end
2605
+
2606
+ private
2607
+
2608
+ # source://unparser//lib/unparser/emitter/index.rb#61
2609
+ def emit_operation(indices); end
2610
+ end
2611
+
2612
+ # source://unparser//lib/unparser/emitter/index.rb#39
2613
+ Unparser::Emitter::Index::Assign::NO_VALUE_PARENT = T.let(T.unsafe(nil), Set)
2614
+
2615
+ # source://unparser//lib/unparser/emitter/index.rb#38
2616
+ Unparser::Emitter::Index::Assign::VALUE_RANGE = T.let(T.unsafe(nil), Range)
2617
+
2618
+ # source://unparser//lib/unparser/emitter/index.rb#19
2619
+ class Unparser::Emitter::Index::Reference < ::Unparser::Emitter::Index
2620
+ private
2621
+
2622
+ # source://unparser//lib/unparser/emitter/index.rb#26
2623
+ def emit_operation; end
2624
+
2625
+ # source://unparser//lib/unparser/adamantium/method_builder.rb#87
2626
+ def indices(&block); end
2627
+ end
2628
+
2629
+ # Emitter for explicit begins
2630
+ #
2631
+ # source://unparser//lib/unparser/emitter/kwbegin.rb#6
2632
+ class Unparser::Emitter::KWBegin < ::Unparser::Emitter
2633
+ private
2634
+
2635
+ # source://unparser//lib/unparser/emitter/kwbegin.rb#11
2636
+ def dispatch; end
2637
+
2638
+ # source://unparser//lib/unparser/emitter/kwbegin.rb#25
2639
+ def emit_multiple_body; end
2640
+ end
2641
+
2642
+ # Optional keyword argument emitter
2643
+ #
2644
+ # source://unparser//lib/unparser/emitter/argument.rb#41
2645
+ class Unparser::Emitter::KeywordOptional < ::Unparser::Emitter
2646
+ private
2647
+
2648
+ # source://unparser//lib/unparser/emitter/argument.rb#48
2649
+ def dispatch; end
2650
+
2651
+ # source://unparser//lib/unparser/dsl.rb#18
2652
+ def name; end
2653
+
2654
+ # source://unparser//lib/unparser/dsl.rb#11
2655
+ def remaining_children; end
2656
+
2657
+ # source://unparser//lib/unparser/dsl.rb#18
2658
+ def value; end
2659
+ end
2660
+
2661
+ # Emitter for splats
2662
+ #
2663
+ # source://unparser//lib/unparser/emitter/splat.rb#6
2664
+ class Unparser::Emitter::KwSplat < ::Unparser::Emitter
2665
+ private
2666
+
2667
+ # source://unparser//lib/unparser/emitter/splat.rb#13
2668
+ def dispatch; end
2669
+
2670
+ # source://unparser//lib/unparser/dsl.rb#11
2671
+ def remaining_children; end
2672
+
2673
+ # source://unparser//lib/unparser/dsl.rb#18
2674
+ def subject; end
2675
+ end
2676
+
2677
+ # Keyword argument emitter
2678
+ #
2679
+ # source://unparser//lib/unparser/emitter/argument.rb#56
2680
+ class Unparser::Emitter::Kwarg < ::Unparser::Emitter
2681
+ private
2682
+
2683
+ # source://unparser//lib/unparser/emitter/argument.rb#63
2684
+ def dispatch; end
2685
+
2686
+ # source://unparser//lib/unparser/dsl.rb#18
2687
+ def name; end
2688
+
2689
+ # source://unparser//lib/unparser/dsl.rb#11
2690
+ def remaining_children; end
2691
+ end
2692
+
2693
+ # source://unparser//lib/unparser/emitter/kwargs.rb#5
2694
+ class Unparser::Emitter::Kwargs < ::Unparser::Emitter
2695
+ # source://unparser//lib/unparser/emitter/kwargs.rb#8
2696
+ def dispatch; end
2697
+ end
2698
+
2699
+ # Emitter for lambda nodes
2700
+ #
2701
+ # source://unparser//lib/unparser/emitter/lambda.rb#6
2702
+ class Unparser::Emitter::Lambda < ::Unparser::Emitter
2703
+ private
2704
+
2705
+ # source://unparser//lib/unparser/emitter/lambda.rb#11
2706
+ def dispatch; end
2707
+ end
2708
+
2709
+ # source://unparser//lib/unparser/emitter.rb#20
2710
+ module Unparser::Emitter::LocalVariableRoot
2711
+ # Return local variable root
2712
+ #
2713
+ # @api private
2714
+ # @return [Parser::AST::Node]
2715
+ #
2716
+ # source://unparser//lib/unparser/emitter.rb#27
2717
+ def local_variable_scope; end
2718
+
2719
+ class << self
2720
+ # @private
2721
+ #
2722
+ # source://unparser//lib/unparser/emitter.rb#31
2723
+ def included(descendant); end
2724
+ end
2725
+ end
2726
+
2727
+ # Emitter for multiple assignment nodes
2728
+ #
2729
+ # source://unparser//lib/unparser/emitter/masgn.rb#6
2730
+ class Unparser::Emitter::MASGN < ::Unparser::Emitter
2731
+ private
2732
+
2733
+ # source://unparser//lib/unparser/emitter/masgn.rb#13
2734
+ def dispatch; end
2735
+
2736
+ # source://unparser//lib/unparser/dsl.rb#11
2737
+ def remaining_children; end
2738
+
2739
+ # source://unparser//lib/unparser/dsl.rb#18
2740
+ def source; end
2741
+
2742
+ # source://unparser//lib/unparser/dsl.rb#18
2743
+ def target; end
2744
+ end
2745
+
2746
+ # Emitter for multiple assignment left hand side
2747
+ #
2748
+ # source://unparser//lib/unparser/emitter/mlhs.rb#6
2749
+ class Unparser::Emitter::MLHS < ::Unparser::Emitter
2750
+ private
2751
+
2752
+ # source://unparser//lib/unparser/emitter/mlhs.rb#15
2753
+ def dispatch; end
2754
+
2755
+ # source://unparser//lib/unparser/emitter/mlhs.rb#31
2756
+ def emit_many; end
2757
+
2758
+ # source://unparser//lib/unparser/emitter/mlhs.rb#23
2759
+ def emit_one_child_mlhs; end
2760
+ end
2761
+
2762
+ # source://unparser//lib/unparser/emitter/mlhs.rb#9
2763
+ Unparser::Emitter::MLHS::NO_COMMA = T.let(T.unsafe(nil), Array)
2764
+
2765
+ # Base class for special match node emitters
2766
+ #
2767
+ # source://unparser//lib/unparser/emitter/match.rb#7
2768
+ class Unparser::Emitter::Match < ::Unparser::Emitter; end
2769
+
2770
+ # Emitter for match current line
2771
+ #
2772
+ # source://unparser//lib/unparser/emitter/match.rb#25
2773
+ class Unparser::Emitter::Match::CurrentLine < ::Unparser::Emitter::Match
2774
+ private
2775
+
2776
+ # source://unparser//lib/unparser/emitter/match.rb#32
2777
+ def dispatch; end
2778
+
2779
+ # source://unparser//lib/unparser/dsl.rb#18
2780
+ def regexp; end
2781
+
2782
+ # source://unparser//lib/unparser/dsl.rb#11
2783
+ def remaining_children; end
2784
+ end
2785
+
2786
+ # Emitter for match with local variable assignment
2787
+ #
2788
+ # source://unparser//lib/unparser/emitter/match.rb#9
2789
+ class Unparser::Emitter::Match::Lvasgn < ::Unparser::Emitter::Match
2790
+ private
2791
+
2792
+ # source://unparser//lib/unparser/emitter/match.rb#16
2793
+ def dispatch; end
2794
+
2795
+ # source://unparser//lib/unparser/dsl.rb#18
2796
+ def lvasgn; end
2797
+
2798
+ # source://unparser//lib/unparser/dsl.rb#18
2799
+ def regexp; end
2800
+
2801
+ # source://unparser//lib/unparser/dsl.rb#11
2802
+ def remaining_children; end
2803
+ end
2804
+
2805
+ # Emitter for in pattern nodes
2806
+ #
2807
+ # source://unparser//lib/unparser/emitter/match_alt.rb#6
2808
+ class Unparser::Emitter::MatchAlt < ::Unparser::Emitter
2809
+ private
2810
+
2811
+ # source://unparser//lib/unparser/emitter/match_alt.rb#14
2812
+ def dispatch; end
2813
+
2814
+ # source://unparser//lib/unparser/dsl.rb#18
2815
+ def left; end
2816
+
2817
+ # source://unparser//lib/unparser/dsl.rb#11
2818
+ def remaining_children; end
2819
+
2820
+ # source://unparser//lib/unparser/dsl.rb#18
2821
+ def right; end
2822
+ end
2823
+
2824
+ # Emitter for in pattern nodes
2825
+ #
2826
+ # source://unparser//lib/unparser/emitter/match_as.rb#6
2827
+ class Unparser::Emitter::MatchAs < ::Unparser::Emitter
2828
+ private
2829
+
2830
+ # source://unparser//lib/unparser/emitter/match_as.rb#14
2831
+ def dispatch; end
2832
+
2833
+ # source://unparser//lib/unparser/dsl.rb#18
2834
+ def left; end
2835
+
2836
+ # source://unparser//lib/unparser/dsl.rb#11
2837
+ def remaining_children; end
2838
+
2839
+ # source://unparser//lib/unparser/dsl.rb#18
2840
+ def right; end
2841
+ end
2842
+
2843
+ # Emitter for in pattern nodes
2844
+ #
2845
+ # source://unparser//lib/unparser/emitter/match_pattern.rb#6
2846
+ class Unparser::Emitter::MatchPattern < ::Unparser::Emitter
2847
+ private
2848
+
2849
+ # source://unparser//lib/unparser/emitter/match_pattern.rb#23
2850
+ def dispatch; end
2851
+
2852
+ # source://unparser//lib/unparser/dsl.rb#18
2853
+ def pattern; end
2854
+
2855
+ # source://unparser//lib/unparser/dsl.rb#11
2856
+ def remaining_children; end
2857
+
2858
+ # source://unparser//lib/unparser/dsl.rb#18
2859
+ def target; end
2860
+ end
2861
+
2862
+ # Modern ast format emits `match_pattern`
2863
+ # node on single line pre 3.0, but 3.0+ uses `match_pattern_p`
2864
+ #
2865
+ # source://unparser//lib/unparser/emitter/match_pattern.rb#14
2866
+ Unparser::Emitter::MatchPattern::SYMBOL = T.let(T.unsafe(nil), String)
2867
+
2868
+ # source://unparser//lib/unparser/emitter/match_pattern_p.rb#5
2869
+ class Unparser::Emitter::MatchPatternP < ::Unparser::Emitter
2870
+ private
2871
+
2872
+ # source://unparser//lib/unparser/emitter/match_pattern_p.rb#13
2873
+ def dispatch; end
2874
+
2875
+ # source://unparser//lib/unparser/dsl.rb#18
2876
+ def pattern; end
2877
+
2878
+ # source://unparser//lib/unparser/dsl.rb#11
2879
+ def remaining_children; end
2880
+
2881
+ # source://unparser//lib/unparser/dsl.rb#18
2882
+ def target; end
2883
+ end
2884
+
2885
+ # Emiter for match rest nodes
2886
+ #
2887
+ # source://unparser//lib/unparser/emitter/match_rest.rb#6
2888
+ class Unparser::Emitter::MatchRest < ::Unparser::Emitter
2889
+ # source://unparser//lib/unparser/emitter/match_rest.rb#11
2890
+ def dispatch; end
2891
+
2892
+ # source://unparser//lib/unparser/emitter/match_rest.rb#16
2893
+ def emit_array_pattern; end
2894
+
2895
+ # source://unparser//lib/unparser/emitter/match_rest.rb#21
2896
+ def emit_hash_pattern; end
2897
+
2898
+ private
2899
+
2900
+ # source://unparser//lib/unparser/emitter/match_rest.rb#28
2901
+ def emit_match_var; end
2902
+
2903
+ # source://unparser//lib/unparser/dsl.rb#18
2904
+ def match_var; end
2905
+
2906
+ # source://unparser//lib/unparser/dsl.rb#11
2907
+ def remaining_children; end
2908
+ end
2909
+
2910
+ # Emitter for in pattern nodes
2911
+ #
2912
+ # source://unparser//lib/unparser/emitter/match_var.rb#6
2913
+ class Unparser::Emitter::MatchVar < ::Unparser::Emitter
2914
+ private
2915
+
2916
+ # source://unparser//lib/unparser/emitter/match_var.rb#14
2917
+ def dispatch; end
2918
+
2919
+ # source://unparser//lib/unparser/dsl.rb#18
2920
+ def name; end
2921
+
2922
+ # source://unparser//lib/unparser/dsl.rb#11
2923
+ def remaining_children; end
2924
+ end
2925
+
2926
+ # Emitter for module nodes
2927
+ #
2928
+ # source://unparser//lib/unparser/emitter/module.rb#6
2929
+ class Unparser::Emitter::Module < ::Unparser::Emitter
2930
+ include ::Unparser::Emitter::LocalVariableRoot
2931
+
2932
+ # source://unparser//lib/unparser/adamantium/method_builder.rb#87
2933
+ def local_variable_scope(&block); end
2934
+
2935
+ private
2936
+
2937
+ # source://unparser//lib/unparser/dsl.rb#18
2938
+ def body; end
2939
+
2940
+ # source://unparser//lib/unparser/emitter/module.rb#15
2941
+ def dispatch; end
2942
+
2943
+ # source://unparser//lib/unparser/dsl.rb#18
2944
+ def name; end
2945
+
2946
+ # source://unparser//lib/unparser/dsl.rb#11
2947
+ def remaining_children; end
2948
+ end
2949
+
2950
+ # source://unparser//lib/unparser/emitter.rb#18
2951
+ Unparser::Emitter::NO_INDENT = T.let(T.unsafe(nil), Array)
2952
+
2953
+ # Emitter for nth_ref nodes (regexp captures)
2954
+ #
2955
+ # source://unparser//lib/unparser/emitter/variable.rb#42
2956
+ class Unparser::Emitter::NthRef < ::Unparser::Emitter
2957
+ private
2958
+
2959
+ # source://unparser//lib/unparser/emitter/variable.rb#50
2960
+ def dispatch; end
2961
+
2962
+ # source://unparser//lib/unparser/dsl.rb#18
2963
+ def name; end
2964
+
2965
+ # source://unparser//lib/unparser/dsl.rb#11
2966
+ def remaining_children; end
2967
+ end
2968
+
2969
+ # source://unparser//lib/unparser/emitter/variable.rb#43
2970
+ Unparser::Emitter::NthRef::PREFIX = T.let(T.unsafe(nil), String)
2971
+
2972
+ # Emitter for op assign
2973
+ #
2974
+ # source://unparser//lib/unparser/emitter/op_assign.rb#33
2975
+ class Unparser::Emitter::OpAssign < ::Unparser::Emitter
2976
+ private
2977
+
2978
+ # source://unparser//lib/unparser/emitter/op_assign.rb#40
2979
+ def dispatch; end
2980
+
2981
+ # source://unparser//lib/unparser/emitter/op_assign.rb#46
2982
+ def emit_operator; end
2983
+
2984
+ # source://unparser//lib/unparser/dsl.rb#18
2985
+ def operator; end
2986
+
2987
+ # source://unparser//lib/unparser/dsl.rb#11
2988
+ def remaining_children; end
2989
+
2990
+ # source://unparser//lib/unparser/dsl.rb#18
2991
+ def target; end
2992
+
2993
+ # source://unparser//lib/unparser/dsl.rb#18
2994
+ def value; end
2995
+ end
2996
+
2997
+ # Optional argument emitter
2998
+ #
2999
+ # source://unparser//lib/unparser/emitter/argument.rb#27
3000
+ class Unparser::Emitter::Optarg < ::Unparser::Emitter
3001
+ private
3002
+
3003
+ # source://unparser//lib/unparser/emitter/argument.rb#34
3004
+ def dispatch; end
3005
+
3006
+ # source://unparser//lib/unparser/dsl.rb#18
3007
+ def name; end
3008
+
3009
+ # source://unparser//lib/unparser/dsl.rb#11
3010
+ def remaining_children; end
3011
+
3012
+ # source://unparser//lib/unparser/dsl.rb#18
3013
+ def value; end
3014
+ end
3015
+
3016
+ # Emitter for key value pairs in hash literals or kwargs
3017
+ #
3018
+ # source://unparser//lib/unparser/emitter/pair.rb#6
3019
+ class Unparser::Emitter::Pair < ::Unparser::Emitter
3020
+ private
3021
+
3022
+ # @return [Boolean]
3023
+ #
3024
+ # source://unparser//lib/unparser/emitter/pair.rb#28
3025
+ def colon?(key); end
3026
+
3027
+ # source://unparser//lib/unparser/emitter/pair.rb#17
3028
+ def dispatch; end
3029
+
3030
+ # source://unparser//lib/unparser/dsl.rb#18
3031
+ def key; end
3032
+
3033
+ # source://unparser//lib/unparser/dsl.rb#11
3034
+ def remaining_children; end
3035
+
3036
+ # source://unparser//lib/unparser/dsl.rb#18
3037
+ def value; end
3038
+ end
3039
+
3040
+ # source://unparser//lib/unparser/emitter/pair.rb#7
3041
+ Unparser::Emitter::Pair::BAREWORD = T.let(T.unsafe(nil), Regexp)
3042
+
3043
+ # Emitter for pin nodes
3044
+ #
3045
+ # source://unparser//lib/unparser/emitter/pin.rb#6
3046
+ class Unparser::Emitter::Pin < ::Unparser::Emitter
3047
+ private
3048
+
3049
+ # source://unparser//lib/unparser/emitter/pin.rb#13
3050
+ def dispatch; end
3051
+
3052
+ # source://unparser//lib/unparser/dsl.rb#11
3053
+ def remaining_children; end
3054
+
3055
+ # source://unparser//lib/unparser/dsl.rb#18
3056
+ def target; end
3057
+ end
3058
+
3059
+ # Emitter for postconditions
3060
+ #
3061
+ # source://unparser//lib/unparser/emitter/repetition.rb#7
3062
+ class Unparser::Emitter::Post < ::Unparser::Emitter
3063
+ private
3064
+
3065
+ # source://unparser//lib/unparser/dsl.rb#18
3066
+ def body; end
3067
+
3068
+ # source://unparser//lib/unparser/dsl.rb#18
3069
+ def condition; end
3070
+
3071
+ # source://unparser//lib/unparser/emitter/repetition.rb#19
3072
+ def dispatch; end
3073
+
3074
+ # source://unparser//lib/unparser/dsl.rb#11
3075
+ def remaining_children; end
3076
+ end
3077
+
3078
+ # source://unparser//lib/unparser/emitter/repetition.rb#10
3079
+ Unparser::Emitter::Post::MAP = T.let(T.unsafe(nil), Hash)
3080
+
3081
+ # Base class for primitive emitters
3082
+ #
3083
+ # source://unparser//lib/unparser/emitter/primitive.rb#6
3084
+ class Unparser::Emitter::Primitive < ::Unparser::Emitter
3085
+ private
3086
+
3087
+ # source://unparser//lib/unparser/dsl.rb#11
3088
+ def remaining_children; end
3089
+
3090
+ # source://unparser//lib/unparser/dsl.rb#18
3091
+ def value; end
3092
+ end
3093
+
3094
+ # Emitter for complex literals
3095
+ #
3096
+ # source://unparser//lib/unparser/emitter/primitive.rb#24
3097
+ class Unparser::Emitter::Primitive::Complex < ::Unparser::Emitter::Primitive
3098
+ private
3099
+
3100
+ # source://unparser//lib/unparser/emitter/primitive.rb#39
3101
+ def dispatch; end
3102
+
3103
+ # source://unparser//lib/unparser/emitter/primitive.rb#44
3104
+ def emit_imaginary; end
3105
+
3106
+ # source://unparser//lib/unparser/emitter/primitive.rb#48
3107
+ def imaginary_node; end
3108
+ end
3109
+
3110
+ # source://unparser//lib/unparser/emitter/primitive.rb#30
3111
+ Unparser::Emitter::Primitive::Complex::MAP = T.let(T.unsafe(nil), Hash)
3112
+
3113
+ # source://unparser//lib/unparser/emitter/primitive.rb#28
3114
+ Unparser::Emitter::Primitive::Complex::RATIONAL_FORMAT = T.let(T.unsafe(nil), String)
3115
+
3116
+ # Emitter for primitives based on Object#inspect
3117
+ #
3118
+ # source://unparser//lib/unparser/emitter/primitive.rb#11
3119
+ class Unparser::Emitter::Primitive::Inspect < ::Unparser::Emitter::Primitive
3120
+ private
3121
+
3122
+ # source://unparser//lib/unparser/emitter/primitive.rb#17
3123
+ def dispatch; end
3124
+ end
3125
+
3126
+ # Emiter for numeric literals
3127
+ #
3128
+ # source://unparser//lib/unparser/emitter/primitive.rb#80
3129
+ class Unparser::Emitter::Primitive::Numeric < ::Unparser::Emitter::Primitive
3130
+ private
3131
+
3132
+ # source://unparser//lib/unparser/emitter/primitive.rb#86
3133
+ def dispatch; end
3134
+ end
3135
+
3136
+ # Emitter for rational literals
3137
+ #
3138
+ # source://unparser//lib/unparser/emitter/primitive.rb#56
3139
+ class Unparser::Emitter::Primitive::Rational < ::Unparser::Emitter::Primitive
3140
+ private
3141
+
3142
+ # source://unparser//lib/unparser/emitter/primitive.rb#65
3143
+ def dispatch; end
3144
+
3145
+ # source://unparser//lib/unparser/emitter/primitive.rb#73
3146
+ def write_rational(value); end
3147
+ end
3148
+
3149
+ # source://unparser//lib/unparser/emitter/primitive.rb#60
3150
+ Unparser::Emitter::Primitive::Rational::RATIONAL_FORMAT = T.let(T.unsafe(nil), String)
3151
+
3152
+ # Progarg emitter
3153
+ #
3154
+ # source://unparser//lib/unparser/emitter/argument.rb#98
3155
+ class Unparser::Emitter::Procarg < ::Unparser::Emitter
3156
+ private
3157
+
3158
+ # source://unparser//lib/unparser/emitter/argument.rb#105
3159
+ def dispatch; end
3160
+
3161
+ # @return [Boolean]
3162
+ #
3163
+ # source://unparser//lib/unparser/emitter/argument.rb#115
3164
+ def needs_parens?; end
3165
+ end
3166
+
3167
+ # source://unparser//lib/unparser/emitter/argument.rb#101
3168
+ Unparser::Emitter::Procarg::PARENS = T.let(T.unsafe(nil), Array)
3169
+
3170
+ # Registry for node emitters
3171
+ #
3172
+ # source://unparser//lib/unparser/emitter.rb#16
3173
+ Unparser::Emitter::REGISTRY = T.let(T.unsafe(nil), Hash)
3174
+
3175
+ # Range emitters
3176
+ #
3177
+ # source://unparser//lib/unparser/emitter/range.rb#6
3178
+ class Unparser::Emitter::Range < ::Unparser::Emitter
3179
+ # source://unparser//lib/unparser/emitter/range.rb#17
3180
+ def symbol_name; end
3181
+
3182
+ private
3183
+
3184
+ # source://unparser//lib/unparser/dsl.rb#18
3185
+ def begin_node; end
3186
+
3187
+ # source://unparser//lib/unparser/emitter/range.rb#27
3188
+ def dispatch; end
3189
+
3190
+ # source://unparser//lib/unparser/dsl.rb#18
3191
+ def end_node; end
3192
+
3193
+ # source://unparser//lib/unparser/dsl.rb#11
3194
+ def remaining_children; end
3195
+ end
3196
+
3197
+ # source://unparser//lib/unparser/emitter/range.rb#12
3198
+ Unparser::Emitter::Range::SYMBOLS = T.let(T.unsafe(nil), Hash)
3199
+
3200
+ # source://unparser//lib/unparser/emitter/range.rb#7
3201
+ Unparser::Emitter::Range::TOKENS = T.let(T.unsafe(nil), Hash)
3202
+
3203
+ # Emitter for regexp literals
3204
+ #
3205
+ # source://unparser//lib/unparser/emitter/regexp.rb#6
3206
+ class Unparser::Emitter::Regexp < ::Unparser::Emitter
3207
+ private
3208
+
3209
+ # source://unparser//lib/unparser/adamantium/method_builder.rb#87
3210
+ def body(&block); end
3211
+
3212
+ # source://unparser//lib/unparser/emitter/regexp.rb#13
3213
+ def dispatch; end
3214
+
3215
+ # source://unparser//lib/unparser/emitter/regexp.rb#24
3216
+ def emit_body(node); end
3217
+
3218
+ # source://unparser//lib/unparser/emitter/regexp.rb#20
3219
+ def emit_options; end
3220
+ end
3221
+
3222
+ # Emitter for while and until nodes
3223
+ #
3224
+ # source://unparser//lib/unparser/emitter/repetition.rb#27
3225
+ class Unparser::Emitter::Repetition < ::Unparser::Emitter
3226
+ private
3227
+
3228
+ # source://unparser//lib/unparser/dsl.rb#18
3229
+ def body; end
3230
+
3231
+ # source://unparser//lib/unparser/dsl.rb#18
3232
+ def condition; end
3233
+
3234
+ # source://unparser//lib/unparser/emitter/repetition.rb#39
3235
+ def dispatch; end
3236
+
3237
+ # source://unparser//lib/unparser/emitter/repetition.rb#51
3238
+ def emit_keyword; end
3239
+
3240
+ # source://unparser//lib/unparser/emitter/repetition.rb#55
3241
+ def emit_normal; end
3242
+
3243
+ # source://unparser//lib/unparser/emitter/repetition.rb#66
3244
+ def emit_postcontrol; end
3245
+
3246
+ # @return [Boolean]
3247
+ #
3248
+ # source://unparser//lib/unparser/emitter/repetition.rb#47
3249
+ def postcontrol?; end
3250
+
3251
+ # source://unparser//lib/unparser/dsl.rb#11
3252
+ def remaining_children; end
3253
+ end
3254
+
3255
+ # source://unparser//lib/unparser/emitter/repetition.rb#28
3256
+ Unparser::Emitter::Repetition::MAP = T.let(T.unsafe(nil), Hash)
3257
+
3258
+ # Emitter for rescue nodes
3259
+ #
3260
+ # source://unparser//lib/unparser/emitter/rescue.rb#6
3261
+ class Unparser::Emitter::Rescue < ::Unparser::Emitter
3262
+ private
3263
+
3264
+ # source://unparser//lib/unparser/emitter/rescue.rb#11
3265
+ def dispatch; end
3266
+ end
3267
+
3268
+ # Rest argument emitter
3269
+ #
3270
+ # source://unparser//lib/unparser/emitter/argument.rb#70
3271
+ class Unparser::Emitter::Restarg < ::Unparser::Emitter
3272
+ private
3273
+
3274
+ # source://unparser//lib/unparser/emitter/argument.rb#77
3275
+ def dispatch; end
3276
+
3277
+ # source://unparser//lib/unparser/dsl.rb#18
3278
+ def name; end
3279
+
3280
+ # source://unparser//lib/unparser/dsl.rb#11
3281
+ def remaining_children; end
3282
+ end
3283
+
3284
+ # Root emitter a special case
3285
+ #
3286
+ # source://unparser//lib/unparser/emitter/root.rb#6
3287
+ class Unparser::Emitter::Root < ::Unparser::Emitter
3288
+ include ::Unparser::Emitter::LocalVariableRoot
3289
+
3290
+ # source://unparser//lib/unparser/concord.rb#60
3291
+ def buffer; end
3292
+
3293
+ # source://unparser//lib/unparser/concord.rb#60
3294
+ def comments; end
3295
+
3296
+ # source://unparser//lib/unparser/emitter/root.rb#14
3297
+ def dispatch; end
3298
+
3299
+ # source://unparser//lib/unparser/adamantium/method_builder.rb#87
3300
+ def local_variable_scope(&block); end
3301
+
3302
+ # source://unparser//lib/unparser/concord.rb#60
3303
+ def node; end
3304
+ end
3305
+
3306
+ # source://unparser//lib/unparser/emitter/root.rb#10
3307
+ Unparser::Emitter::Root::END_NL = T.let(T.unsafe(nil), Array)
3308
+
3309
+ # Emitter for sclass nodes
3310
+ #
3311
+ # source://unparser//lib/unparser/emitter/class.rb#33
3312
+ class Unparser::Emitter::SClass < ::Unparser::Emitter
3313
+ private
3314
+
3315
+ # source://unparser//lib/unparser/dsl.rb#18
3316
+ def body; end
3317
+
3318
+ # source://unparser//lib/unparser/emitter/class.rb#40
3319
+ def dispatch; end
3320
+
3321
+ # source://unparser//lib/unparser/dsl.rb#18
3322
+ def object; end
3323
+
3324
+ # source://unparser//lib/unparser/dsl.rb#11
3325
+ def remaining_children; end
3326
+ end
3327
+
3328
+ # Emitter for send
3329
+ #
3330
+ # source://unparser//lib/unparser/emitter/send.rb#6
3331
+ class Unparser::Emitter::Send < ::Unparser::Emitter
3332
+ # source://unparser//lib/unparser/emitter/send.rb#13
3333
+ def emit_heredoc_reminders; end
3334
+
3335
+ # source://unparser//lib/unparser/emitter/send.rb#9
3336
+ def emit_mlhs; end
3337
+
3338
+ private
3339
+
3340
+ # source://unparser//lib/unparser/emitter/send.rb#19
3341
+ def dispatch; end
3342
+
3343
+ # source://unparser//lib/unparser/adamantium/method_builder.rb#87
3344
+ def writer(&block); end
3345
+ end
3346
+
3347
+ # Emitter for simple nodes that generate a single token
3348
+ #
3349
+ # source://unparser//lib/unparser/emitter/simple.rb#6
3350
+ class Unparser::Emitter::Simple < ::Unparser::Emitter
3351
+ private
3352
+
3353
+ # source://unparser//lib/unparser/emitter/simple.rb#28
3354
+ def dispatch; end
3355
+ end
3356
+
3357
+ # source://unparser//lib/unparser/emitter/simple.rb#7
3358
+ Unparser::Emitter::Simple::MAP = T.let(T.unsafe(nil), Hash)
3359
+
3360
+ # Emitter for splats
3361
+ #
3362
+ # source://unparser//lib/unparser/emitter/splat.rb#20
3363
+ class Unparser::Emitter::Splat < ::Unparser::Emitter
3364
+ # source://unparser//lib/unparser/emitter/splat.rb#25
3365
+ def emit_mlhs; end
3366
+
3367
+ private
3368
+
3369
+ # source://unparser//lib/unparser/emitter/splat.rb#32
3370
+ def dispatch; end
3371
+
3372
+ # source://unparser//lib/unparser/dsl.rb#11
3373
+ def remaining_children; end
3374
+
3375
+ # source://unparser//lib/unparser/dsl.rb#18
3376
+ def subject; end
3377
+
3378
+ # source://unparser//lib/unparser/adamantium/method_builder.rb#87
3379
+ def subject_emitter(&block); end
3380
+ end
3381
+
3382
+ # Emitter for super nodes
3383
+ #
3384
+ # source://unparser//lib/unparser/emitter/super.rb#7
3385
+ class Unparser::Emitter::Super < ::Unparser::Emitter
3386
+ private
3387
+
3388
+ # source://unparser//lib/unparser/emitter/super.rb#12
3389
+ def dispatch; end
3390
+ end
3391
+
3392
+ # Emitter for undef nodes
3393
+ #
3394
+ # source://unparser//lib/unparser/emitter/undef.rb#6
3395
+ class Unparser::Emitter::Undef < ::Unparser::Emitter
3396
+ private
3397
+
3398
+ # source://unparser//lib/unparser/emitter/undef.rb#11
3399
+ def dispatch; end
3400
+ end
3401
+
3402
+ # Emitter for various variable accesses
3403
+ #
3404
+ # source://unparser//lib/unparser/emitter/variable.rb#7
3405
+ class Unparser::Emitter::Variable < ::Unparser::Emitter
3406
+ private
3407
+
3408
+ # source://unparser//lib/unparser/emitter/variable.rb#14
3409
+ def dispatch; end
3410
+
3411
+ # source://unparser//lib/unparser/dsl.rb#18
3412
+ def name; end
3413
+
3414
+ # source://unparser//lib/unparser/dsl.rb#11
3415
+ def remaining_children; end
3416
+ end
3417
+
3418
+ # Emitter for when nodes
3419
+ #
3420
+ # source://unparser//lib/unparser/emitter/case.rb#44
3421
+ class Unparser::Emitter::When < ::Unparser::Emitter
3422
+ private
3423
+
3424
+ # source://unparser//lib/unparser/adamantium/method_builder.rb#87
3425
+ def captures(&block); end
3426
+
3427
+ # source://unparser//lib/unparser/emitter/case.rb#51
3428
+ def dispatch; end
3429
+
3430
+ # source://unparser//lib/unparser/emitter/case.rb#57
3431
+ def emit_captures; end
3432
+ end
3433
+
3434
+ # Dynamic execute string literal emitter
3435
+ #
3436
+ # source://unparser//lib/unparser/emitter/xstr.rb#6
3437
+ class Unparser::Emitter::XStr < ::Unparser::Emitter
3438
+ private
3439
+
3440
+ # source://unparser//lib/unparser/emitter/xstr.rb#12
3441
+ def dispatch; end
3442
+
3443
+ # source://unparser//lib/unparser/emitter/xstr.rb#65
3444
+ def emit_begin(component); end
3445
+
3446
+ # source://unparser//lib/unparser/emitter/xstr.rb#24
3447
+ def emit_heredoc; end
3448
+
3449
+ # source://unparser//lib/unparser/emitter/xstr.rb#51
3450
+ def emit_string(value); end
3451
+
3452
+ # source://unparser//lib/unparser/emitter/xstr.rb#39
3453
+ def emit_xstr; end
3454
+
3455
+ # source://unparser//lib/unparser/emitter/xstr.rb#55
3456
+ def escape_xstr(input); end
3457
+
3458
+ # @return [Boolean]
3459
+ #
3460
+ # source://unparser//lib/unparser/emitter/xstr.rb#20
3461
+ def heredoc?; end
3462
+ end
3463
+
3464
+ # Emitter for yield node
3465
+ #
3466
+ # source://unparser//lib/unparser/emitter/yield.rb#7
3467
+ class Unparser::Emitter::Yield < ::Unparser::Emitter
3468
+ private
3469
+
3470
+ # source://unparser//lib/unparser/emitter/yield.rb#12
3471
+ def dispatch; end
3472
+ end
3473
+
3474
+ # Define equality, equivalence and inspection methods
3475
+ #
3476
+ # Original code before vendoring and reduction from: https://github.com/dkubb/equalizer.
3477
+ #
3478
+ # source://unparser//lib/unparser/equalizer.rb#7
3479
+ class Unparser::Equalizer < ::Module
3480
+ # Initialize an Equalizer with the given keys
3481
+ #
3482
+ # Will use the keys with which it is initialized to define #cmp?,
3483
+ # #hash, and #inspect
3484
+ #
3485
+ #
3486
+ # @api private
3487
+ # @param keys [Array<Symbol>]
3488
+ # @return [undefined]
3489
+ #
3490
+ # source://unparser//lib/unparser/equalizer.rb#20
3491
+ def initialize(*keys); end
3492
+
3493
+ private
3494
+
3495
+ # source://unparser//lib/unparser/equalizer.rb#39
3496
+ def define_cmp_method; end
3497
+
3498
+ # source://unparser//lib/unparser/equalizer.rb#49
3499
+ def define_hash_method; end
3500
+
3501
+ # source://unparser//lib/unparser/equalizer.rb#56
3502
+ def define_inspect_method; end
3503
+
3504
+ # source://unparser//lib/unparser/equalizer.rb#33
3505
+ def define_methods; end
3506
+
3507
+ # source://unparser//lib/unparser/equalizer.rb#29
3508
+ def included(descendant); end
3509
+ end
3510
+
3511
+ # The comparison methods
3512
+ #
3513
+ # source://unparser//lib/unparser/equalizer.rb#66
3514
+ module Unparser::Equalizer::Methods
3515
+ # Compare the object with other object for equivalency
3516
+ #
3517
+ # @api public
3518
+ # @example
3519
+ # object == other # => true or false
3520
+ # @param other [Object] the other object to compare with
3521
+ # @return [Boolean]
3522
+ #
3523
+ # source://unparser//lib/unparser/equalizer.rb#93
3524
+ def ==(other); end
3525
+
3526
+ # Compare the object with other object for equality
3527
+ #
3528
+ # @api public
3529
+ # @example
3530
+ # object.eql?(other) # => true or false
3531
+ # @param other [Object] the other object to compare with
3532
+ # @return [Boolean]
3533
+ #
3534
+ # source://unparser//lib/unparser/equalizer.rb#78
3535
+ def eql?(other); end
3536
+ end
3537
+
3538
+ # source://unparser//lib/unparser/generation.rb#5
3539
+ module Unparser::Generation
3540
+ # source://unparser//lib/unparser/generation.rb#10
3541
+ def emit_heredoc_reminders; end
3542
+
3543
+ # source://unparser//lib/unparser/generation.rb#12
3544
+ def symbol_name; end
3545
+
3546
+ # source://unparser//lib/unparser/generation.rb#14
3547
+ def write_to_buffer; end
3548
+
3549
+ private
3550
+
3551
+ # source://unparser//lib/unparser/generation.rb#247
3552
+ def children; end
3553
+
3554
+ # source://unparser//lib/unparser/generation.rb#239
3555
+ def conditional_parentheses(flag, &block); end
3556
+
3557
+ # source://unparser//lib/unparser/generation.rb#21
3558
+ def delimited(nodes, delimiter = T.unsafe(nil), &block); end
3559
+
3560
+ # source://unparser//lib/unparser/generation.rb#123
3561
+ def emit_body(node, indent: T.unsafe(nil)); end
3562
+
3563
+ # source://unparser//lib/unparser/generation.rb#196
3564
+ def emit_body_ensure_rescue(node); end
3565
+
3566
+ # source://unparser//lib/unparser/generation.rb#145
3567
+ def emit_body_inner(node); end
3568
+
3569
+ # source://unparser//lib/unparser/generation.rb#158
3570
+ def emit_body_member(node); end
3571
+
3572
+ # source://unparser//lib/unparser/generation.rb#180
3573
+ def emit_body_rescue(node); end
3574
+
3575
+ # source://unparser//lib/unparser/generation.rb#77
3576
+ def emit_comments(comments); end
3577
+
3578
+ # source://unparser//lib/unparser/generation.rb#69
3579
+ def emit_comments_before(source_part = T.unsafe(nil)); end
3580
+
3581
+ # source://unparser//lib/unparser/generation.rb#166
3582
+ def emit_ensure(node); end
3583
+
3584
+ # source://unparser//lib/unparser/generation.rb#60
3585
+ def emit_eof_comments; end
3586
+
3587
+ # source://unparser//lib/unparser/generation.rb#54
3588
+ def emit_eol_comments; end
3589
+
3590
+ # source://unparser//lib/unparser/generation.rb#27
3591
+ def emit_join(nodes, emit_node, emit_delimiter); end
3592
+
3593
+ # source://unparser//lib/unparser/generation.rb#115
3594
+ def emit_optional_body(node, indent: T.unsafe(nil)); end
3595
+
3596
+ # source://unparser//lib/unparser/generation.rb#188
3597
+ def emit_optional_body_ensure_rescue(node); end
3598
+
3599
+ # source://unparser//lib/unparser/generation.rb#206
3600
+ def emit_rescue_postcontrol(node); end
3601
+
3602
+ # source://unparser//lib/unparser/generation.rb#212
3603
+ def emit_rescue_regular(node); end
3604
+
3605
+ # source://unparser//lib/unparser/generation.rb#220
3606
+ def emitter(node); end
3607
+
3608
+ # source://unparser//lib/unparser/generation.rb#235
3609
+ def first_child; end
3610
+
3611
+ # source://unparser//lib/unparser/generation.rb#106
3612
+ def indented; end
3613
+
3614
+ # source://unparser//lib/unparser/generation.rb#93
3615
+ def k_end; end
3616
+
3617
+ # source://unparser//lib/unparser/generation.rb#39
3618
+ def nl; end
3619
+
3620
+ # source://unparser//lib/unparser/generation.rb#100
3621
+ def parentheses(open = T.unsafe(nil), close = T.unsafe(nil)); end
3622
+
3623
+ # source://unparser//lib/unparser/generation.rb#224
3624
+ def visit(node); end
3625
+
3626
+ # source://unparser//lib/unparser/generation.rb#228
3627
+ def visit_deep(node); end
3628
+
3629
+ # source://unparser//lib/unparser/generation.rb#44
3630
+ def with_comments; end
3631
+
3632
+ # source://unparser//lib/unparser/generation.rb#89
3633
+ def write(*strings); end
3634
+
3635
+ # source://unparser//lib/unparser/generation.rb#216
3636
+ def writer_with(klass, node); end
3637
+
3638
+ # source://unparser//lib/unparser/generation.rb#50
3639
+ def ws; end
3640
+ end
3641
+
3642
+ # source://unparser//lib/unparser/generation.rb#6
3643
+ Unparser::Generation::EXTRA_NL = T.let(T.unsafe(nil), Array)
3644
+
3645
+ # Error raised when unparser encounters an invalid AST
3646
+ #
3647
+ # source://unparser//lib/unparser.rb#39
3648
+ class Unparser::InvalidNodeError < ::RuntimeError
3649
+ # @return [InvalidNodeError] a new instance of InvalidNodeError
3650
+ #
3651
+ # source://unparser//lib/unparser.rb#42
3652
+ def initialize(message, node); end
3653
+
3654
+ # Returns the value of attribute node.
3655
+ #
3656
+ # source://unparser//lib/unparser.rb#40
3657
+ def node; end
3658
+ end
3659
+
3660
+ # source://unparser//lib/unparser/node_details.rb#4
3661
+ module Unparser::NodeDetails
3662
+ include ::Unparser::NodeHelpers
3663
+ include ::Unparser::Constants
3664
+
3665
+ private
3666
+
3667
+ # source://unparser//lib/unparser/node_details.rb#17
3668
+ def children; end
3669
+
3670
+ class << self
3671
+ # @private
3672
+ #
3673
+ # source://unparser//lib/unparser/node_details.rb#7
3674
+ def included(descendant); end
3675
+ end
3676
+ end
3677
+
3678
+ # source://unparser//lib/unparser/node_details/send.rb#5
3679
+ class Unparser::NodeDetails::Send
3680
+ include ::Unparser::NodeHelpers
3681
+ include ::Unparser::Constants
3682
+ include ::Unparser::NodeDetails
3683
+ include ::Unparser::Equalizer::Methods
3684
+ include ::Unparser::Adamantium
3685
+ include ::Unparser::Adamantium::InstanceMethods
3686
+ extend ::Unparser::Adamantium::ModuleMethods
3687
+ extend ::Unparser::Adamantium::ClassMethods
3688
+ extend ::Unparser::DSL
3689
+
3690
+ # source://unparser//lib/unparser/adamantium/method_builder.rb#87
3691
+ def arguments(&block); end
3692
+
3693
+ # @return [Boolean]
3694
+ #
3695
+ # source://unparser//lib/unparser/node_details/send.rb#37
3696
+ def arguments?; end
3697
+
3698
+ # @return [Boolean]
3699
+ #
3700
+ # source://unparser//lib/unparser/adamantium/method_builder.rb#87
3701
+ def assignment?(&block); end
3702
+
3703
+ # @return [Boolean]
3704
+ #
3705
+ # source://unparser//lib/unparser/node_details/send.rb#33
3706
+ def assignment_operator?; end
3707
+
3708
+ # @return [Boolean]
3709
+ #
3710
+ # source://unparser//lib/unparser/node_details/send.rb#21
3711
+ def binary_syntax_allowed?; end
3712
+
3713
+ # source://unparser//lib/unparser/node_details/send.rb#41
3714
+ def non_assignment_selector; end
3715
+
3716
+ # source://unparser//lib/unparser/dsl.rb#18
3717
+ def receiver; end
3718
+
3719
+ # source://unparser//lib/unparser/dsl.rb#18
3720
+ def selector; end
3721
+
3722
+ # @return [Boolean]
3723
+ #
3724
+ # source://unparser//lib/unparser/node_details/send.rb#17
3725
+ def selector_binary_operator?; end
3726
+
3727
+ # @return [Boolean]
3728
+ #
3729
+ # source://unparser//lib/unparser/node_details/send.rb#29
3730
+ def selector_unary_operator?; end
3731
+
3732
+ # source://unparser//lib/unparser/adamantium/method_builder.rb#87
3733
+ def string_selector(&block); end
3734
+
3735
+ private
3736
+
3737
+ # source://unparser//lib/unparser/dsl.rb#11
3738
+ def remaining_children; end
3739
+ end
3740
+
3741
+ # source://unparser//lib/unparser/node_details/send.rb#8
3742
+ Unparser::NodeDetails::Send::ASSIGN_SUFFIX = T.let(T.unsafe(nil), String)
3743
+
3744
+ # source://unparser//lib/unparser/node_details/send.rb#9
3745
+ Unparser::NodeDetails::Send::NON_ASSIGN_RANGE = T.let(T.unsafe(nil), Range)
3746
+
3747
+ # source://unparser//lib/unparser/node_helpers.rb#4
3748
+ module Unparser::NodeHelpers
3749
+ # Helper for building nodes
3750
+ #
3751
+ # @api private
3752
+ # @param type [Symbol]
3753
+ # @param children [Array]
3754
+ # @return [Parser::AST::Node]
3755
+ #
3756
+ # source://unparser//lib/unparser/node_helpers.rb#26
3757
+ def n(type, children = T.unsafe(nil)); end
3758
+
3759
+ # @return [Boolean]
3760
+ #
3761
+ # source://unparser//lib/unparser/node_helpers.rb#30
3762
+ def n?(type, node); end
3763
+
3764
+ # Helper for building nodes
3765
+ #
3766
+ # @api private
3767
+ # @param type [Symbol]
3768
+ # @param children [Parser::AST::Node]
3769
+ # @return [Parser::AST::Node]
3770
+ #
3771
+ # source://unparser//lib/unparser/node_helpers.rb#14
3772
+ def s(type, *children); end
3773
+
3774
+ # source://unparser//lib/unparser/node_helpers.rb#71
3775
+ def unwrap_single_begin(node); end
3776
+
3777
+ private
3778
+
3779
+ # source://unparser//lib/unparser/node_helpers.rb#65
3780
+ def n_arg?(node); end
3781
+
3782
+ # source://unparser//lib/unparser/node_helpers.rb#65
3783
+ def n_args?(node); end
3784
+
3785
+ # source://unparser//lib/unparser/node_helpers.rb#65
3786
+ def n_array?(node); end
3787
+
3788
+ # source://unparser//lib/unparser/node_helpers.rb#65
3789
+ def n_array_pattern?(node); end
3790
+
3791
+ # source://unparser//lib/unparser/node_helpers.rb#65
3792
+ def n_begin?(node); end
3793
+
3794
+ # source://unparser//lib/unparser/node_helpers.rb#65
3795
+ def n_block?(node); end
3796
+
3797
+ # source://unparser//lib/unparser/node_helpers.rb#65
3798
+ def n_cbase?(node); end
3799
+
3800
+ # source://unparser//lib/unparser/node_helpers.rb#65
3801
+ def n_const?(node); end
3802
+
3803
+ # source://unparser//lib/unparser/node_helpers.rb#65
3804
+ def n_dstr?(node); end
3805
+
3806
+ # source://unparser//lib/unparser/node_helpers.rb#65
3807
+ def n_empty_else?(node); end
3808
+
3809
+ # source://unparser//lib/unparser/node_helpers.rb#65
3810
+ def n_ensure?(node); end
3811
+
3812
+ # source://unparser//lib/unparser/node_helpers.rb#65
3813
+ def n_hash?(node); end
3814
+
3815
+ # source://unparser//lib/unparser/node_helpers.rb#65
3816
+ def n_hash_pattern?(node); end
3817
+
3818
+ # source://unparser//lib/unparser/node_helpers.rb#65
3819
+ def n_if?(node); end
3820
+
3821
+ # source://unparser//lib/unparser/node_helpers.rb#65
3822
+ def n_in_pattern?(node); end
3823
+
3824
+ # source://unparser//lib/unparser/node_helpers.rb#65
3825
+ def n_int?(node); end
3826
+
3827
+ # source://unparser//lib/unparser/node_helpers.rb#65
3828
+ def n_kwarg?(node); end
3829
+
3830
+ # source://unparser//lib/unparser/node_helpers.rb#65
3831
+ def n_kwargs?(node); end
3832
+
3833
+ # source://unparser//lib/unparser/node_helpers.rb#65
3834
+ def n_kwsplat?(node); end
3835
+
3836
+ # source://unparser//lib/unparser/node_helpers.rb#65
3837
+ def n_lambda?(node); end
3838
+
3839
+ # source://unparser//lib/unparser/node_helpers.rb#65
3840
+ def n_match_rest?(node); end
3841
+
3842
+ # source://unparser//lib/unparser/node_helpers.rb#65
3843
+ def n_pair?(node); end
3844
+
3845
+ # source://unparser//lib/unparser/node_helpers.rb#65
3846
+ def n_rescue?(node); end
3847
+
3848
+ # source://unparser//lib/unparser/node_helpers.rb#65
3849
+ def n_send?(node); end
3850
+
3851
+ # source://unparser//lib/unparser/node_helpers.rb#65
3852
+ def n_shadowarg?(node); end
3853
+
3854
+ # source://unparser//lib/unparser/node_helpers.rb#65
3855
+ def n_splat?(node); end
3856
+
3857
+ # source://unparser//lib/unparser/node_helpers.rb#65
3858
+ def n_str?(node); end
3859
+
3860
+ # source://unparser//lib/unparser/node_helpers.rb#65
3861
+ def n_sym?(node); end
3862
+ end
3863
+
3864
+ # source://unparser//lib/unparser/either.rb#4
3865
+ module Unparser::RequireBlock
3866
+ private
3867
+
3868
+ # Raise error unless block is provided
3869
+ #
3870
+ # @raise [MissingBlockError] if no block is given
3871
+ # @return [self]
3872
+ #
3873
+ # source://unparser//lib/unparser/either.rb#14
3874
+ def require_block; end
3875
+ end
3876
+
3877
+ # source://unparser//lib/unparser/emitter.rb#4
3878
+ class Unparser::UnknownNodeError < ::ArgumentError; end
3879
+
3880
+ # Validation of unparser results
3881
+ #
3882
+ # source://unparser//lib/unparser/validation.rb#5
3883
+ class Unparser::Validation
3884
+ include ::Unparser::Anima::InstanceMethods
3885
+ include ::Unparser::Equalizer::Methods
3886
+ include ::Unparser::Adamantium
3887
+ include ::Unparser::Adamantium::InstanceMethods
3888
+ extend ::Unparser::Adamantium::ModuleMethods
3889
+ extend ::Unparser::Adamantium::ClassMethods
3890
+
3891
+ # source://unparser//lib/unparser/anima.rb#146
3892
+ def generated_node; end
3893
+
3894
+ # source://unparser//lib/unparser/anima.rb#146
3895
+ def generated_source; end
3896
+
3897
+ # source://unparser//lib/unparser/anima.rb#146
3898
+ def identification; end
3899
+
3900
+ # source://unparser//lib/unparser/anima.rb#146
3901
+ def original_node; end
3902
+
3903
+ # source://unparser//lib/unparser/anima.rb#146
3904
+ def original_source; end
3905
+
3906
+ # Return error report
3907
+ #
3908
+ # @api private
3909
+ # @return [String]
3910
+ #
3911
+ # source://unparser//lib/unparser/adamantium/method_builder.rb#87
3912
+ def report(&block); end
3913
+
3914
+ # Test if source could be unparsed successfully
3915
+ #
3916
+ #
3917
+ # @api private
3918
+ # @return [Boolean]
3919
+ #
3920
+ # source://unparser//lib/unparser/validation.rb#21
3921
+ def success?; end
3922
+
3923
+ private
3924
+
3925
+ # source://unparser//lib/unparser/validation.rb#108
3926
+ def make_report(label, attribute_name); end
3927
+
3928
+ # source://unparser//lib/unparser/validation.rb#120
3929
+ def node_diff_report; end
3930
+
3931
+ # source://unparser//lib/unparser/validation.rb#112
3932
+ def report_exception(exception); end
3933
+
3934
+ class << self
3935
+ # source://unparser//lib/unparser/anima.rb#140
3936
+ def anima; end
3937
+
3938
+ # Create validator from node
3939
+ #
3940
+ # @param original_node [Parser::AST::Node]
3941
+ # @return [Validator]
3942
+ #
3943
+ # source://unparser//lib/unparser/validation.rb#81
3944
+ def from_node(original_node); end
3945
+
3946
+ # Create validator from file
3947
+ #
3948
+ # @param path [Pathname]
3949
+ # @return [Validator]
3950
+ #
3951
+ # source://unparser//lib/unparser/validation.rb#102
3952
+ def from_path(path); end
3953
+
3954
+ # Create validator from string
3955
+ #
3956
+ # @param original_source [String]
3957
+ # @return [Validator]
3958
+ #
3959
+ # source://unparser//lib/unparser/validation.rb#55
3960
+ def from_string(original_source); end
3961
+
3962
+ private
3963
+
3964
+ # source://unparser//lib/unparser/validation.rb#135
3965
+ def const_unit(_value); end
3966
+ end
3967
+ end
3968
+
3969
+ # source://unparser//lib/unparser/validation.rb#138
3970
+ class Unparser::Validation::Literal < ::Unparser::Validation
3971
+ # source://unparser//lib/unparser/validation.rb#143
3972
+ def report; end
3973
+
3974
+ # @return [Boolean]
3975
+ #
3976
+ # source://unparser//lib/unparser/validation.rb#139
3977
+ def success?; end
3978
+
3979
+ private
3980
+
3981
+ # source://unparser//lib/unparser/validation.rb#158
3982
+ def source_diff_report; end
3983
+ end
3984
+
3985
+ # source://unparser//lib/unparser/writer.rb#4
3986
+ module Unparser::Writer
3987
+ include ::Unparser::NodeHelpers
3988
+ include ::Unparser::Generation
3989
+ include ::Unparser::Anima::InstanceMethods
3990
+ include ::Unparser::Equalizer::Methods
3991
+
3992
+ mixes_in_class_methods ::Unparser::DSL
3993
+
3994
+ class << self
3995
+ # @private
3996
+ #
3997
+ # source://unparser//lib/unparser/writer.rb#7
3998
+ def included(descendant); end
3999
+ end
4000
+ end
4001
+
4002
+ # source://unparser//lib/unparser/writer/binary.rb#5
4003
+ class Unparser::Writer::Binary
4004
+ include ::Unparser::Adamantium
4005
+ include ::Unparser::Adamantium::InstanceMethods
4006
+ include ::Unparser::NodeHelpers
4007
+ include ::Unparser::Generation
4008
+ include ::Unparser::Writer
4009
+ include ::Unparser::Anima::InstanceMethods
4010
+ include ::Unparser::Equalizer::Methods
4011
+ extend ::Unparser::Adamantium::ModuleMethods
4012
+ extend ::Unparser::Adamantium::ClassMethods
4013
+ extend ::Unparser::DSL
4014
+
4015
+ # source://unparser//lib/unparser/anima.rb#146
4016
+ def buffer; end
4017
+
4018
+ # source://unparser//lib/unparser/anima.rb#146
4019
+ def comments; end
4020
+
4021
+ # source://unparser//lib/unparser/writer/binary.rb#54
4022
+ def dispatch; end
4023
+
4024
+ # source://unparser//lib/unparser/writer/binary.rb#46
4025
+ def emit_operator; end
4026
+
4027
+ # source://unparser//lib/unparser/anima.rb#146
4028
+ def local_variable_scope; end
4029
+
4030
+ # source://unparser//lib/unparser/anima.rb#146
4031
+ def node; end
4032
+
4033
+ # source://unparser//lib/unparser/writer/binary.rb#50
4034
+ def symbol_name; end
4035
+
4036
+ private
4037
+
4038
+ # source://unparser//lib/unparser/writer/binary.rb#62
4039
+ def effective_symbol; end
4040
+
4041
+ # source://unparser//lib/unparser/writer/binary.rb#74
4042
+ def emit_with(map); end
4043
+
4044
+ # source://unparser//lib/unparser/writer/binary.rb#80
4045
+ def keyword_symbol; end
4046
+
4047
+ # source://unparser//lib/unparser/dsl.rb#18
4048
+ def left; end
4049
+
4050
+ # source://unparser//lib/unparser/adamantium/method_builder.rb#87
4051
+ def left_emitter(&block); end
4052
+
4053
+ # source://unparser//lib/unparser/writer/binary.rb#84
4054
+ def operator_symbol; end
4055
+
4056
+ # source://unparser//lib/unparser/dsl.rb#11
4057
+ def remaining_children; end
4058
+
4059
+ # source://unparser//lib/unparser/dsl.rb#18
4060
+ def right; end
4061
+
4062
+ # source://unparser//lib/unparser/adamantium/method_builder.rb#87
4063
+ def right_emitter(&block); end
4064
+
4065
+ class << self
4066
+ # source://unparser//lib/unparser/anima.rb#140
4067
+ def anima; end
4068
+ end
4069
+ end
4070
+
4071
+ # source://unparser//lib/unparser/writer/binary.rb#22
4072
+ Unparser::Writer::Binary::KEYWORD_SYMBOLS = T.let(T.unsafe(nil), Hash)
4073
+
4074
+ # source://unparser//lib/unparser/writer/binary.rb#16
4075
+ Unparser::Writer::Binary::KEYWORD_TOKENS = T.let(T.unsafe(nil), Hash)
4076
+
4077
+ # source://unparser//lib/unparser/writer/binary.rb#34
4078
+ Unparser::Writer::Binary::MAP = T.let(T.unsafe(nil), Hash)
4079
+
4080
+ # source://unparser//lib/unparser/writer/binary.rb#42
4081
+ Unparser::Writer::Binary::NEED_KEYWORD = T.let(T.unsafe(nil), Array)
4082
+
4083
+ # source://unparser//lib/unparser/writer/binary.rb#28
4084
+ Unparser::Writer::Binary::OPERATOR_SYMBOLS = T.let(T.unsafe(nil), Hash)
4085
+
4086
+ # source://unparser//lib/unparser/writer/binary.rb#10
4087
+ Unparser::Writer::Binary::OPERATOR_TOKENS = T.let(T.unsafe(nil), Hash)
4088
+
4089
+ # source://unparser//lib/unparser/writer/dynamic_string.rb#5
4090
+ class Unparser::Writer::DynamicString
4091
+ include ::Unparser::Adamantium
4092
+ include ::Unparser::Adamantium::InstanceMethods
4093
+ include ::Unparser::NodeHelpers
4094
+ include ::Unparser::Generation
4095
+ include ::Unparser::Writer
4096
+ include ::Unparser::Anima::InstanceMethods
4097
+ include ::Unparser::Equalizer::Methods
4098
+ extend ::Unparser::Adamantium::ModuleMethods
4099
+ extend ::Unparser::Adamantium::ClassMethods
4100
+ extend ::Unparser::DSL
4101
+
4102
+ # source://unparser//lib/unparser/anima.rb#146
4103
+ def buffer; end
4104
+
4105
+ # source://unparser//lib/unparser/anima.rb#146
4106
+ def comments; end
4107
+
4108
+ # source://unparser//lib/unparser/writer/dynamic_string.rb#32
4109
+ def dispatch; end
4110
+
4111
+ # source://unparser//lib/unparser/writer/dynamic_string.rb#25
4112
+ def emit_heredoc_reminder; end
4113
+
4114
+ # source://unparser//lib/unparser/anima.rb#146
4115
+ def local_variable_scope; end
4116
+
4117
+ # source://unparser//lib/unparser/anima.rb#146
4118
+ def node; end
4119
+
4120
+ private
4121
+
4122
+ # @return [Boolean]
4123
+ #
4124
+ # source://unparser//lib/unparser/writer/dynamic_string.rb#159
4125
+ def breakpoint?(child, current); end
4126
+
4127
+ # source://unparser//lib/unparser/writer/dynamic_string.rb#63
4128
+ def classify(node); end
4129
+
4130
+ # source://unparser//lib/unparser/writer/dynamic_string.rb#71
4131
+ def classify_str(node); end
4132
+
4133
+ # source://unparser//lib/unparser/writer/dynamic_string.rb#193
4134
+ def emit_body(children); end
4135
+
4136
+ # source://unparser//lib/unparser/writer/dynamic_string.rb#149
4137
+ def emit_dstr; end
4138
+
4139
+ # source://unparser//lib/unparser/writer/dynamic_string.rb#132
4140
+ def emit_dynamic(child); end
4141
+
4142
+ # source://unparser//lib/unparser/writer/dynamic_string.rb#145
4143
+ def emit_dynamic_component(node); end
4144
+
4145
+ # source://unparser//lib/unparser/writer/dynamic_string.rb#54
4146
+ def emit_heredoc_body; end
4147
+
4148
+ # source://unparser//lib/unparser/writer/dynamic_string.rb#59
4149
+ def emit_heredoc_footer; end
4150
+
4151
+ # source://unparser//lib/unparser/writer/dynamic_string.rb#50
4152
+ def emit_heredoc_header; end
4153
+
4154
+ # source://unparser//lib/unparser/writer/dynamic_string.rb#116
4155
+ def emit_normal_heredoc_body; end
4156
+
4157
+ # source://unparser//lib/unparser/writer/dynamic_string.rb#185
4158
+ def emit_segment(children, index); end
4159
+
4160
+ # source://unparser//lib/unparser/writer/dynamic_string.rb#128
4161
+ def escape_dynamic(string); end
4162
+
4163
+ # @return [Boolean]
4164
+ #
4165
+ # source://unparser//lib/unparser/writer/dynamic_string.rb#46
4166
+ def heredoc?; end
4167
+
4168
+ # source://unparser//lib/unparser/writer/dynamic_string.rb#42
4169
+ def heredoc_header; end
4170
+
4171
+ # @return [Boolean]
4172
+ #
4173
+ # source://unparser//lib/unparser/writer/dynamic_string.rb#95
4174
+ def heredoc_pattern?; end
4175
+
4176
+ # @return [Boolean]
4177
+ #
4178
+ # source://unparser//lib/unparser/writer/dynamic_string.rb#105
4179
+ def heredoc_pattern_2?; end
4180
+
4181
+ # @return [Boolean]
4182
+ #
4183
+ # source://unparser//lib/unparser/writer/dynamic_string.rb#99
4184
+ def heredoc_pattern_3?; end
4185
+
4186
+ # @return [Boolean]
4187
+ #
4188
+ # source://unparser//lib/unparser/writer/dynamic_string.rb#111
4189
+ def nl_last_child?; end
4190
+
4191
+ # source://unparser//lib/unparser/writer/dynamic_string.rb#169
4192
+ def segments; end
4193
+
4194
+ # @return [Boolean]
4195
+ #
4196
+ # source://unparser//lib/unparser/writer/dynamic_string.rb#87
4197
+ def str_empty?(node); end
4198
+
4199
+ # @return [Boolean]
4200
+ #
4201
+ # source://unparser//lib/unparser/writer/dynamic_string.rb#83
4202
+ def str_nl?(node); end
4203
+
4204
+ # @return [Boolean]
4205
+ #
4206
+ # source://unparser//lib/unparser/writer/dynamic_string.rb#91
4207
+ def str_ws?(node); end
4208
+
4209
+ class << self
4210
+ # source://unparser//lib/unparser/anima.rb#140
4211
+ def anima; end
4212
+ end
4213
+ end
4214
+
4215
+ # source://unparser//lib/unparser/writer/dynamic_string.rb#21
4216
+ Unparser::Writer::DynamicString::FLAT_INTERPOLATION = T.let(T.unsafe(nil), Set)
4217
+
4218
+ # source://unparser//lib/unparser/writer/dynamic_string.rb#8
4219
+ Unparser::Writer::DynamicString::PATTERNS_2 = T.let(T.unsafe(nil), Array)
4220
+
4221
+ # source://unparser//lib/unparser/writer/dynamic_string.rb#14
4222
+ Unparser::Writer::DynamicString::PATTERNS_3 = T.let(T.unsafe(nil), Array)
4223
+
4224
+ # Writer for rescue bodies
4225
+ #
4226
+ # source://unparser//lib/unparser/writer/resbody.rb#6
4227
+ class Unparser::Writer::Resbody
4228
+ include ::Unparser::NodeHelpers
4229
+ include ::Unparser::Generation
4230
+ include ::Unparser::Writer
4231
+ include ::Unparser::Anima::InstanceMethods
4232
+ include ::Unparser::Equalizer::Methods
4233
+ extend ::Unparser::DSL
4234
+
4235
+ # source://unparser//lib/unparser/anima.rb#146
4236
+ def buffer; end
4237
+
4238
+ # source://unparser//lib/unparser/anima.rb#146
4239
+ def comments; end
4240
+
4241
+ # source://unparser//lib/unparser/writer/resbody.rb#11
4242
+ def emit_postcontrol; end
4243
+
4244
+ # source://unparser//lib/unparser/writer/resbody.rb#16
4245
+ def emit_regular; end
4246
+
4247
+ # source://unparser//lib/unparser/anima.rb#146
4248
+ def local_variable_scope; end
4249
+
4250
+ # source://unparser//lib/unparser/anima.rb#146
4251
+ def node; end
4252
+
4253
+ private
4254
+
4255
+ # source://unparser//lib/unparser/dsl.rb#18
4256
+ def assignment; end
4257
+
4258
+ # source://unparser//lib/unparser/dsl.rb#18
4259
+ def body; end
4260
+
4261
+ # source://unparser//lib/unparser/writer/resbody.rb#32
4262
+ def emit_assignment; end
4263
+
4264
+ # source://unparser//lib/unparser/writer/resbody.rb#25
4265
+ def emit_exception; end
4266
+
4267
+ # source://unparser//lib/unparser/dsl.rb#18
4268
+ def exception; end
4269
+
4270
+ # source://unparser//lib/unparser/dsl.rb#11
4271
+ def remaining_children; end
4272
+
4273
+ class << self
4274
+ # source://unparser//lib/unparser/anima.rb#140
4275
+ def anima; end
4276
+ end
4277
+ end
4278
+
4279
+ # source://unparser//lib/unparser/writer/rescue.rb#5
4280
+ class Unparser::Writer::Rescue
4281
+ include ::Unparser::Adamantium
4282
+ include ::Unparser::Adamantium::InstanceMethods
4283
+ include ::Unparser::NodeHelpers
4284
+ include ::Unparser::Generation
4285
+ include ::Unparser::Writer
4286
+ include ::Unparser::Anima::InstanceMethods
4287
+ include ::Unparser::Equalizer::Methods
4288
+ extend ::Unparser::Adamantium::ModuleMethods
4289
+ extend ::Unparser::Adamantium::ClassMethods
4290
+ extend ::Unparser::DSL
4291
+
4292
+ # source://unparser//lib/unparser/anima.rb#146
4293
+ def buffer; end
4294
+
4295
+ # source://unparser//lib/unparser/anima.rb#146
4296
+ def comments; end
4297
+
4298
+ # source://unparser//lib/unparser/writer/rescue.rb#23
4299
+ def emit_heredoc_reminders; end
4300
+
4301
+ # source://unparser//lib/unparser/writer/rescue.rb#27
4302
+ def emit_postcontrol; end
4303
+
4304
+ # source://unparser//lib/unparser/writer/rescue.rb#12
4305
+ def emit_regular; end
4306
+
4307
+ # source://unparser//lib/unparser/anima.rb#146
4308
+ def local_variable_scope; end
4309
+
4310
+ # source://unparser//lib/unparser/anima.rb#146
4311
+ def node; end
4312
+
4313
+ private
4314
+
4315
+ # source://unparser//lib/unparser/dsl.rb#18
4316
+ def body; end
4317
+
4318
+ # source://unparser//lib/unparser/writer/rescue.rb#34
4319
+ def else_node; end
4320
+
4321
+ # source://unparser//lib/unparser/writer/rescue.rb#38
4322
+ def emit_rescue_body(node); end
4323
+
4324
+ # source://unparser//lib/unparser/dsl.rb#11
4325
+ def remaining_children; end
4326
+
4327
+ # source://unparser//lib/unparser/adamantium/method_builder.rb#87
4328
+ def rescue_bodies(&block); end
4329
+
4330
+ # source://unparser//lib/unparser/dsl.rb#18
4331
+ def rescue_body; end
4332
+
4333
+ class << self
4334
+ # source://unparser//lib/unparser/anima.rb#140
4335
+ def anima; end
4336
+ end
4337
+ end
4338
+
4339
+ # Writer for send
4340
+ #
4341
+ # source://unparser//lib/unparser/writer/send.rb#6
4342
+ class Unparser::Writer::Send
4343
+ include ::Unparser::NodeHelpers
4344
+ include ::Unparser::Generation
4345
+ include ::Unparser::Constants
4346
+ include ::Unparser::Adamantium
4347
+ include ::Unparser::Adamantium::InstanceMethods
4348
+ include ::Unparser::Writer
4349
+ include ::Unparser::Anima::InstanceMethods
4350
+ include ::Unparser::Equalizer::Methods
4351
+ extend ::Unparser::Adamantium::ModuleMethods
4352
+ extend ::Unparser::Adamantium::ClassMethods
4353
+ extend ::Unparser::DSL
4354
+
4355
+ # source://unparser//lib/unparser/anima.rb#146
4356
+ def buffer; end
4357
+
4358
+ # source://unparser//lib/unparser/anima.rb#146
4359
+ def comments; end
4360
+
4361
+ # source://unparser//lib/unparser/writer/send.rb#21
4362
+ def dispatch; end
4363
+
4364
+ # source://unparser//lib/unparser/writer/send.rb#33
4365
+ def emit_heredoc_reminders; end
4366
+
4367
+ # source://unparser//lib/unparser/writer/send.rb#25
4368
+ def emit_mlhs; end
4369
+
4370
+ # source://unparser//lib/unparser/writer/send.rb#29
4371
+ def emit_selector; end
4372
+
4373
+ # source://unparser//lib/unparser/anima.rb#146
4374
+ def local_variable_scope; end
4375
+
4376
+ # source://unparser//lib/unparser/anima.rb#146
4377
+ def node; end
4378
+
4379
+ private
4380
+
4381
+ # source://unparser//lib/unparser/writer/send.rb#73
4382
+ def arguments; end
4383
+
4384
+ # @return [Boolean]
4385
+ #
4386
+ # source://unparser//lib/unparser/writer/send.rb#85
4387
+ def avoid_clash?; end
4388
+
4389
+ # source://unparser//lib/unparser/adamantium/method_builder.rb#87
4390
+ def details(&block); end
4391
+
4392
+ # source://unparser//lib/unparser/adamantium/method_builder.rb#87
4393
+ def effective_writer(&block); end
4394
+
4395
+ # source://unparser//lib/unparser/writer/send.rb#45
4396
+ def effective_writer_class; end
4397
+
4398
+ # source://unparser//lib/unparser/writer/send.rb#65
4399
+ def emit_arguments; end
4400
+
4401
+ # source://unparser//lib/unparser/writer/send.rb#81
4402
+ def emit_heredoc_reminder(argument); end
4403
+
4404
+ # source://unparser//lib/unparser/writer/send.rb#77
4405
+ def emit_normal_arguments; end
4406
+
4407
+ # source://unparser//lib/unparser/writer/send.rb#61
4408
+ def emit_operator; end
4409
+
4410
+ # source://unparser//lib/unparser/writer/send.rb#106
4411
+ def emit_send_regular(node); end
4412
+
4413
+ # @return [Boolean]
4414
+ #
4415
+ # source://unparser//lib/unparser/writer/send.rb#89
4416
+ def local_variable_clash?; end
4417
+
4418
+ # @return [Boolean]
4419
+ #
4420
+ # source://unparser//lib/unparser/writer/send.rb#93
4421
+ def parses_as_constant?; end
4422
+
4423
+ # source://unparser//lib/unparser/dsl.rb#18
4424
+ def receiver; end
4425
+
4426
+ # source://unparser//lib/unparser/dsl.rb#11
4427
+ def remaining_children; end
4428
+
4429
+ # source://unparser//lib/unparser/dsl.rb#18
4430
+ def selector; end
4431
+
4432
+ # @return [Boolean]
4433
+ #
4434
+ # source://unparser//lib/unparser/writer/send.rb#57
4435
+ def write_as_attribute_assignment?; end
4436
+
4437
+ class << self
4438
+ # source://unparser//lib/unparser/anima.rb#140
4439
+ def anima; end
4440
+ end
4441
+ end
4442
+
4443
+ # Writer for send as attribute assignment
4444
+ #
4445
+ # source://unparser//lib/unparser/writer/send/attribute_assignment.rb#7
4446
+ class Unparser::Writer::Send::AttributeAssignment < ::Unparser::Writer::Send
4447
+ # source://unparser//lib/unparser/writer/send/attribute_assignment.rb#10
4448
+ def dispatch; end
4449
+
4450
+ # source://unparser//lib/unparser/writer/send/attribute_assignment.rb#22
4451
+ def emit_send_mlhs; end
4452
+
4453
+ private
4454
+
4455
+ # source://unparser//lib/unparser/writer/send/attribute_assignment.rb#34
4456
+ def emit_attribute; end
4457
+
4458
+ # source://unparser//lib/unparser/writer/send/attribute_assignment.rb#29
4459
+ def emit_receiver; end
4460
+
4461
+ # source://unparser//lib/unparser/dsl.rb#18
4462
+ def first_argument; end
4463
+
4464
+ # source://unparser//lib/unparser/dsl.rb#18
4465
+ def receiver; end
4466
+
4467
+ # source://unparser//lib/unparser/dsl.rb#11
4468
+ def remaining_children; end
4469
+
4470
+ # source://unparser//lib/unparser/dsl.rb#18
4471
+ def selector; end
4472
+ end
4473
+
4474
+ # Writer for binary sends
4475
+ #
4476
+ # source://unparser//lib/unparser/writer/send/binary.rb#7
4477
+ class Unparser::Writer::Send::Binary < ::Unparser::Writer::Send
4478
+ # source://unparser//lib/unparser/writer/send/binary.rb#8
4479
+ def dispatch; end
4480
+
4481
+ private
4482
+
4483
+ # source://unparser//lib/unparser/writer/send/binary.rb#16
4484
+ def emit_operator; end
4485
+
4486
+ # source://unparser//lib/unparser/writer/send/binary.rb#20
4487
+ def emit_right; end
4488
+ end
4489
+
4490
+ # source://unparser//lib/unparser/writer/send.rb#9
4491
+ Unparser::Writer::Send::INDEX_ASSIGN = T.let(T.unsafe(nil), Symbol)
4492
+
4493
+ # source://unparser//lib/unparser/writer/send.rb#10
4494
+ Unparser::Writer::Send::INDEX_REFERENCE = T.let(T.unsafe(nil), Symbol)
4495
+
4496
+ # source://unparser//lib/unparser/writer/send.rb#12
4497
+ Unparser::Writer::Send::OPERATORS = T.let(T.unsafe(nil), Hash)
4498
+
4499
+ # Writer for "regular" receiver.selector(arguments...) case
4500
+ #
4501
+ # source://unparser//lib/unparser/writer/send/regular.rb#7
4502
+ class Unparser::Writer::Send::Regular < ::Unparser::Writer::Send
4503
+ # source://unparser//lib/unparser/writer/send/regular.rb#8
4504
+ def dispatch; end
4505
+
4506
+ # source://unparser//lib/unparser/writer/send/regular.rb#18
4507
+ def emit_arguments_without_heredoc_body; end
4508
+
4509
+ # source://unparser//lib/unparser/writer/send/regular.rb#22
4510
+ def emit_receiver; end
4511
+
4512
+ # source://unparser//lib/unparser/writer/send/regular.rb#14
4513
+ def emit_send_mlhs; end
4514
+ end
4515
+
4516
+ # Writer for unary sends
4517
+ #
4518
+ # source://unparser//lib/unparser/writer/send/unary.rb#7
4519
+ class Unparser::Writer::Send::Unary < ::Unparser::Writer::Send
4520
+ # source://unparser//lib/unparser/writer/send/unary.rb#15
4521
+ def dispatch; end
4522
+ end
4523
+
4524
+ # source://unparser//lib/unparser/writer/send/unary.rb#8
4525
+ Unparser::Writer::Send::Unary::MAP = T.let(T.unsafe(nil), Hash)