prism 0.24.0 → 0.26.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (125) hide show
  1. checksums.yaml +4 -4
  2. data/BSDmakefile +58 -0
  3. data/CHANGELOG.md +69 -1
  4. data/Makefile +22 -16
  5. data/README.md +45 -6
  6. data/config.yml +510 -4
  7. data/docs/build_system.md +31 -0
  8. data/docs/configuration.md +3 -0
  9. data/docs/cruby_compilation.md +1 -1
  10. data/docs/parser_translation.md +14 -9
  11. data/docs/releasing.md +7 -9
  12. data/docs/ripper_translation.md +50 -0
  13. data/docs/ruby_api.md +1 -0
  14. data/docs/serialization.md +26 -5
  15. data/ext/prism/api_node.c +911 -815
  16. data/ext/prism/api_pack.c +9 -0
  17. data/ext/prism/extconf.rb +34 -13
  18. data/ext/prism/extension.c +341 -68
  19. data/ext/prism/extension.h +5 -4
  20. data/include/prism/ast.h +213 -64
  21. data/include/prism/defines.h +106 -2
  22. data/include/prism/diagnostic.h +146 -72
  23. data/include/prism/encoding.h +22 -4
  24. data/include/prism/node.h +93 -0
  25. data/include/prism/options.h +82 -7
  26. data/include/prism/pack.h +11 -0
  27. data/include/prism/parser.h +203 -54
  28. data/include/prism/prettyprint.h +8 -0
  29. data/include/prism/static_literals.h +118 -0
  30. data/include/prism/util/pm_buffer.h +65 -2
  31. data/include/prism/util/pm_constant_pool.h +18 -1
  32. data/include/prism/util/pm_integer.h +119 -0
  33. data/include/prism/util/pm_list.h +1 -1
  34. data/include/prism/util/pm_newline_list.h +8 -0
  35. data/include/prism/util/pm_string.h +26 -2
  36. data/include/prism/version.h +2 -2
  37. data/include/prism.h +59 -1
  38. data/lib/prism/compiler.rb +8 -1
  39. data/lib/prism/debug.rb +46 -3
  40. data/lib/prism/desugar_compiler.rb +4 -2
  41. data/lib/prism/dispatcher.rb +29 -0
  42. data/lib/prism/dot_visitor.rb +87 -16
  43. data/lib/prism/dsl.rb +24 -12
  44. data/lib/prism/ffi.rb +77 -12
  45. data/lib/prism/lex_compat.rb +17 -15
  46. data/lib/prism/mutation_compiler.rb +11 -0
  47. data/lib/prism/node.rb +2112 -2499
  48. data/lib/prism/node_ext.rb +77 -29
  49. data/lib/prism/pack.rb +4 -0
  50. data/lib/prism/parse_result/comments.rb +34 -17
  51. data/lib/prism/parse_result/newlines.rb +3 -1
  52. data/lib/prism/parse_result.rb +83 -32
  53. data/lib/prism/pattern.rb +16 -4
  54. data/lib/prism/polyfill/string.rb +12 -0
  55. data/lib/prism/reflection.rb +421 -0
  56. data/lib/prism/serialize.rb +450 -102
  57. data/lib/prism/translation/parser/compiler.rb +189 -50
  58. data/lib/prism/translation/parser/lexer.rb +103 -22
  59. data/lib/prism/translation/parser/rubocop.rb +41 -13
  60. data/lib/prism/translation/parser.rb +119 -7
  61. data/lib/prism/translation/parser33.rb +1 -1
  62. data/lib/prism/translation/parser34.rb +1 -1
  63. data/lib/prism/translation/ripper/sexp.rb +125 -0
  64. data/lib/prism/translation/ripper/shim.rb +5 -0
  65. data/lib/prism/translation/ripper.rb +3212 -462
  66. data/lib/prism/translation/ruby_parser.rb +35 -18
  67. data/lib/prism/translation.rb +3 -1
  68. data/lib/prism/visitor.rb +10 -0
  69. data/lib/prism.rb +9 -18
  70. data/prism.gemspec +39 -6
  71. data/rbi/prism/compiler.rbi +14 -0
  72. data/rbi/prism/desugar_compiler.rbi +5 -0
  73. data/rbi/prism/mutation_compiler.rbi +5 -0
  74. data/rbi/prism/node.rbi +8674 -0
  75. data/rbi/prism/node_ext.rbi +102 -0
  76. data/rbi/prism/parse_result.rbi +307 -0
  77. data/rbi/prism/reflection.rbi +64 -0
  78. data/rbi/prism/translation/parser/compiler.rbi +13 -0
  79. data/rbi/prism/translation/parser.rbi +11 -0
  80. data/rbi/prism/translation/parser33.rbi +6 -0
  81. data/rbi/prism/translation/parser34.rbi +6 -0
  82. data/rbi/prism/translation/ripper/ripper_compiler.rbi +5 -0
  83. data/rbi/prism/translation/ripper.rbi +25 -0
  84. data/rbi/prism/translation/ruby_parser.rbi +11 -0
  85. data/rbi/prism/visitor.rbi +470 -0
  86. data/rbi/prism.rbi +38 -7748
  87. data/sig/prism/compiler.rbs +9 -0
  88. data/sig/prism/dispatcher.rbs +16 -0
  89. data/sig/prism/dot_visitor.rbs +6 -0
  90. data/sig/prism/dsl.rbs +462 -0
  91. data/sig/prism/mutation_compiler.rbs +158 -0
  92. data/sig/prism/node.rbs +3538 -0
  93. data/sig/prism/node_ext.rbs +78 -0
  94. data/sig/prism/pack.rbs +43 -0
  95. data/sig/prism/parse_result.rbs +128 -0
  96. data/sig/prism/pattern.rbs +13 -0
  97. data/sig/prism/reflection.rbs +56 -0
  98. data/sig/prism/serialize.rbs +7 -0
  99. data/sig/prism/visitor.rbs +168 -0
  100. data/sig/prism.rbs +188 -4767
  101. data/src/diagnostic.c +597 -230
  102. data/src/encoding.c +211 -108
  103. data/src/node.c +7526 -447
  104. data/src/options.c +66 -31
  105. data/src/pack.c +33 -17
  106. data/src/prettyprint.c +1294 -1385
  107. data/src/prism.c +4015 -1149
  108. data/src/regexp.c +17 -2
  109. data/src/serialize.c +47 -28
  110. data/src/static_literals.c +552 -0
  111. data/src/token_type.c +4 -3
  112. data/src/util/pm_buffer.c +147 -20
  113. data/src/util/pm_char.c +4 -4
  114. data/src/util/pm_constant_pool.c +35 -11
  115. data/src/util/pm_integer.c +635 -0
  116. data/src/util/pm_list.c +1 -1
  117. data/src/util/pm_newline_list.c +14 -5
  118. data/src/util/pm_string.c +134 -5
  119. data/src/util/pm_string_list.c +2 -2
  120. metadata +41 -8
  121. data/docs/ripper.md +0 -36
  122. data/include/prism/util/pm_state_stack.h +0 -42
  123. data/rbi/prism_static.rbi +0 -207
  124. data/sig/prism_static.rbs +0 -201
  125. data/src/util/pm_state_stack.c +0 -25
data/sig/prism.rbs CHANGED
@@ -3,4771 +3,192 @@
3
3
  # if you are looking to modify the template
4
4
 
5
5
  module Prism
6
- # Represents the use of the `alias` keyword to alias a global variable.
7
- #
8
- # alias $foo $bar
9
- # ^^^^^^^^^^^^^^^
10
- class AliasGlobalVariableNode < Node
11
- attr_reader new_name: Node
12
- attr_reader old_name: Node
13
- attr_reader keyword_loc: Location
14
-
15
- def initialize: (Node new_name, Node old_name, Location keyword_loc, Location location) -> void
16
- def accept: (Visitor visitor) -> void
17
- def set_newline_flag: (Array[bool] newline_marked) -> void
18
- def child_nodes: () -> Array[Node?]
19
- def deconstruct: () -> Array[Node?]
20
-
21
- def copy: (**untyped) -> AliasGlobalVariableNode
22
-
23
- def deconstruct_keys: (Array[Symbol] keys) -> { new_name: Node, old_name: Node, keyword_loc: Location, location: Location }
24
-
25
- def keyword: () -> String
26
-
27
- def inspect: (?NodeInspector inspector) -> String
28
- end
29
- # Represents the use of the `alias` keyword to alias a method.
30
- #
31
- # alias foo bar
32
- # ^^^^^^^^^^^^^
33
- class AliasMethodNode < Node
34
- attr_reader new_name: Node
35
- attr_reader old_name: Node
36
- attr_reader keyword_loc: Location
37
-
38
- def initialize: (Node new_name, Node old_name, Location keyword_loc, Location location) -> void
39
- def accept: (Visitor visitor) -> void
40
- def set_newline_flag: (Array[bool] newline_marked) -> void
41
- def child_nodes: () -> Array[Node?]
42
- def deconstruct: () -> Array[Node?]
43
-
44
- def copy: (**untyped) -> AliasMethodNode
45
-
46
- def deconstruct_keys: (Array[Symbol] keys) -> { new_name: Node, old_name: Node, keyword_loc: Location, location: Location }
47
-
48
- def keyword: () -> String
49
-
50
- def inspect: (?NodeInspector inspector) -> String
51
- end
52
- # Represents an alternation pattern in pattern matching.
53
- #
54
- # foo => bar | baz
55
- # ^^^^^^^^^
56
- class AlternationPatternNode < Node
57
- attr_reader left: Node
58
- attr_reader right: Node
59
- attr_reader operator_loc: Location
60
-
61
- def initialize: (Node left, Node right, Location operator_loc, Location location) -> void
62
- def accept: (Visitor visitor) -> void
63
- def set_newline_flag: (Array[bool] newline_marked) -> void
64
- def child_nodes: () -> Array[Node?]
65
- def deconstruct: () -> Array[Node?]
66
-
67
- def copy: (**untyped) -> AlternationPatternNode
68
-
69
- def deconstruct_keys: (Array[Symbol] keys) -> { left: Node, right: Node, operator_loc: Location, location: Location }
70
-
71
- def operator: () -> String
72
-
73
- def inspect: (?NodeInspector inspector) -> String
74
- end
75
- # Represents the use of the `&&` operator or the `and` keyword.
76
- #
77
- # left and right
78
- # ^^^^^^^^^^^^^^
79
- class AndNode < Node
80
- attr_reader left: Node
81
- attr_reader right: Node
82
- attr_reader operator_loc: Location
83
-
84
- def initialize: (Node left, Node right, Location operator_loc, Location location) -> void
85
- def accept: (Visitor visitor) -> void
86
- def set_newline_flag: (Array[bool] newline_marked) -> void
87
- def child_nodes: () -> Array[Node?]
88
- def deconstruct: () -> Array[Node?]
89
-
90
- def copy: (**untyped) -> AndNode
91
-
92
- def deconstruct_keys: (Array[Symbol] keys) -> { left: Node, right: Node, operator_loc: Location, location: Location }
93
-
94
- def operator: () -> String
95
-
96
- def inspect: (?NodeInspector inspector) -> String
97
- end
98
- # Represents a set of arguments to a method or a keyword.
99
- #
100
- # return foo, bar, baz
101
- # ^^^^^^^^^^^^^
102
- class ArgumentsNode < Node
103
- private attr_reader flags: Integer
104
- attr_reader arguments: Array[Node]
105
-
106
- def initialize: (Integer flags, Array[Node] arguments, Location location) -> void
107
- def accept: (Visitor visitor) -> void
108
- def set_newline_flag: (Array[bool] newline_marked) -> void
109
- def child_nodes: () -> Array[Node?]
110
- def deconstruct: () -> Array[Node?]
111
-
112
- def copy: (**untyped) -> ArgumentsNode
113
-
114
- def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, arguments: Array[Node], location: Location }
115
-
116
- def contains_keyword_splat?: () -> bool
117
-
118
- def inspect: (?NodeInspector inspector) -> String
119
- end
120
- # Represents an array literal. This can be a regular array using brackets or a special array using % like %w or %i.
121
- #
122
- # [1, 2, 3]
123
- # ^^^^^^^^^
124
- class ArrayNode < Node
125
- private attr_reader flags: Integer
126
- attr_reader elements: Array[Node]
127
- attr_reader opening_loc: Location?
128
- attr_reader closing_loc: Location?
129
-
130
- def initialize: (Integer flags, Array[Node] elements, Location? opening_loc, Location? closing_loc, Location location) -> void
131
- def accept: (Visitor visitor) -> void
132
- def set_newline_flag: (Array[bool] newline_marked) -> void
133
- def child_nodes: () -> Array[Node?]
134
- def deconstruct: () -> Array[Node?]
135
-
136
- def copy: (**untyped) -> ArrayNode
137
-
138
- def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, elements: Array[Node], opening_loc: Location?, closing_loc: Location?, location: Location }
139
-
140
- def contains_splat?: () -> bool
141
-
142
- def opening: () -> String?
143
-
144
- def closing: () -> String?
145
-
146
- def inspect: (?NodeInspector inspector) -> String
147
- end
148
- # Represents an array pattern in pattern matching.
149
- #
150
- # foo in 1, 2
151
- # ^^^^^^^^^^^
152
- #
153
- # foo in [1, 2]
154
- # ^^^^^^^^^^^^^
155
- #
156
- # foo in *1
157
- # ^^^^^^^^^
158
- #
159
- # foo in Bar[]
160
- # ^^^^^^^^^^^^
161
- #
162
- # foo in Bar[1, 2, 3]
163
- # ^^^^^^^^^^^^^^^^^^^
164
- class ArrayPatternNode < Node
165
- attr_reader constant: Node?
166
- attr_reader requireds: Array[Node]
167
- attr_reader rest: Node?
168
- attr_reader posts: Array[Node]
169
- attr_reader opening_loc: Location?
170
- attr_reader closing_loc: Location?
171
-
172
- def initialize: (Node? constant, Array[Node] requireds, Node? rest, Array[Node] posts, Location? opening_loc, Location? closing_loc, Location location) -> void
173
- def accept: (Visitor visitor) -> void
174
- def set_newline_flag: (Array[bool] newline_marked) -> void
175
- def child_nodes: () -> Array[Node?]
176
- def deconstruct: () -> Array[Node?]
177
-
178
- def copy: (**untyped) -> ArrayPatternNode
179
-
180
- def deconstruct_keys: (Array[Symbol] keys) -> { constant: Node?, requireds: Array[Node], rest: Node?, posts: Array[Node], opening_loc: Location?, closing_loc: Location?, location: Location }
181
-
182
- def opening: () -> String?
183
-
184
- def closing: () -> String?
185
-
186
- def inspect: (?NodeInspector inspector) -> String
187
- end
188
- # Represents a hash key/value pair.
189
- #
190
- # { a => b }
191
- # ^^^^^^
192
- class AssocNode < Node
193
- attr_reader key: Node
194
- attr_reader value: Node
195
- attr_reader operator_loc: Location?
196
-
197
- def initialize: (Node key, Node value, Location? operator_loc, Location location) -> void
198
- def accept: (Visitor visitor) -> void
199
- def set_newline_flag: (Array[bool] newline_marked) -> void
200
- def child_nodes: () -> Array[Node?]
201
- def deconstruct: () -> Array[Node?]
202
-
203
- def copy: (**untyped) -> AssocNode
204
-
205
- def deconstruct_keys: (Array[Symbol] keys) -> { key: Node, value: Node, operator_loc: Location?, location: Location }
206
-
207
- def operator: () -> String?
208
-
209
- def inspect: (?NodeInspector inspector) -> String
210
- end
211
- # Represents a splat in a hash literal.
212
- #
213
- # { **foo }
214
- # ^^^^^
215
- class AssocSplatNode < Node
216
- attr_reader value: Node?
217
- attr_reader operator_loc: Location
218
-
219
- def initialize: (Node? value, Location operator_loc, Location location) -> void
220
- def accept: (Visitor visitor) -> void
221
- def set_newline_flag: (Array[bool] newline_marked) -> void
222
- def child_nodes: () -> Array[Node?]
223
- def deconstruct: () -> Array[Node?]
224
-
225
- def copy: (**untyped) -> AssocSplatNode
226
-
227
- def deconstruct_keys: (Array[Symbol] keys) -> { value: Node?, operator_loc: Location, location: Location }
228
-
229
- def operator: () -> String
230
-
231
- def inspect: (?NodeInspector inspector) -> String
232
- end
233
- # Represents reading a reference to a field in the previous match.
234
- #
235
- # $'
236
- # ^^
237
- class BackReferenceReadNode < Node
238
- attr_reader name: Symbol
239
-
240
- def initialize: (Symbol name, Location location) -> void
241
- def accept: (Visitor visitor) -> void
242
- def set_newline_flag: (Array[bool] newline_marked) -> void
243
- def child_nodes: () -> Array[Node?]
244
- def deconstruct: () -> Array[Node?]
245
-
246
- def copy: (**untyped) -> BackReferenceReadNode
247
-
248
- def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, location: Location }
249
-
250
- def inspect: (?NodeInspector inspector) -> String
251
- end
252
- # Represents a begin statement.
253
- #
254
- # begin
255
- # foo
256
- # end
257
- # ^^^^^
258
- class BeginNode < Node
259
- attr_reader begin_keyword_loc: Location?
260
- attr_reader statements: StatementsNode?
261
- attr_reader rescue_clause: RescueNode?
262
- attr_reader else_clause: ElseNode?
263
- attr_reader ensure_clause: EnsureNode?
264
- attr_reader end_keyword_loc: Location?
265
-
266
- def initialize: (Location? begin_keyword_loc, StatementsNode? statements, RescueNode? rescue_clause, ElseNode? else_clause, EnsureNode? ensure_clause, Location? end_keyword_loc, Location location) -> void
267
- def accept: (Visitor visitor) -> void
268
- def set_newline_flag: (Array[bool] newline_marked) -> void
269
- def child_nodes: () -> Array[Node?]
270
- def deconstruct: () -> Array[Node?]
271
-
272
- def copy: (**untyped) -> BeginNode
273
-
274
- def deconstruct_keys: (Array[Symbol] keys) -> { begin_keyword_loc: Location?, statements: StatementsNode?, rescue_clause: RescueNode?, else_clause: ElseNode?, ensure_clause: EnsureNode?, end_keyword_loc: Location?, location: Location }
275
-
276
- def begin_keyword: () -> String?
277
-
278
- def end_keyword: () -> String?
279
-
280
- def inspect: (?NodeInspector inspector) -> String
281
- end
282
- # Represents block method arguments.
283
- #
284
- # bar(&args)
285
- # ^^^^^^^^^^
286
- class BlockArgumentNode < Node
287
- attr_reader expression: Node?
288
- attr_reader operator_loc: Location
289
-
290
- def initialize: (Node? expression, Location operator_loc, Location location) -> void
291
- def accept: (Visitor visitor) -> void
292
- def set_newline_flag: (Array[bool] newline_marked) -> void
293
- def child_nodes: () -> Array[Node?]
294
- def deconstruct: () -> Array[Node?]
295
-
296
- def copy: (**untyped) -> BlockArgumentNode
297
-
298
- def deconstruct_keys: (Array[Symbol] keys) -> { expression: Node?, operator_loc: Location, location: Location }
299
-
300
- def operator: () -> String
301
-
302
- def inspect: (?NodeInspector inspector) -> String
303
- end
304
- # Represents a block local variable.
305
- #
306
- # a { |; b| }
307
- # ^
308
- class BlockLocalVariableNode < Node
309
- private attr_reader flags: Integer
310
- attr_reader name: Symbol
311
-
312
- def initialize: (Integer flags, Symbol name, Location location) -> void
313
- def accept: (Visitor visitor) -> void
314
- def set_newline_flag: (Array[bool] newline_marked) -> void
315
- def child_nodes: () -> Array[Node?]
316
- def deconstruct: () -> Array[Node?]
317
-
318
- def copy: (**untyped) -> BlockLocalVariableNode
319
-
320
- def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, name: Symbol, location: Location }
321
-
322
- def repeated_parameter?: () -> bool
323
-
324
- def inspect: (?NodeInspector inspector) -> String
325
- end
326
- # Represents a block of ruby code.
327
- #
328
- # [1, 2, 3].each { |i| puts x }
329
- # ^^^^^^^^^^^^^^
330
- class BlockNode < Node
331
- attr_reader locals: Array[Symbol]
332
- attr_reader parameters: Node?
333
- attr_reader body: Node?
334
- attr_reader opening_loc: Location
335
- attr_reader closing_loc: Location
336
-
337
- def initialize: (Array[Symbol] locals, Node? parameters, Node? body, Location opening_loc, Location closing_loc, Location location) -> void
338
- def accept: (Visitor visitor) -> void
339
- def set_newline_flag: (Array[bool] newline_marked) -> void
340
- def child_nodes: () -> Array[Node?]
341
- def deconstruct: () -> Array[Node?]
342
-
343
- def copy: (**untyped) -> BlockNode
344
-
345
- def deconstruct_keys: (Array[Symbol] keys) -> { locals: Array[Symbol], parameters: Node?, body: Node?, opening_loc: Location, closing_loc: Location, location: Location }
346
-
347
- def opening: () -> String
348
-
349
- def closing: () -> String
350
-
351
- def inspect: (?NodeInspector inspector) -> String
352
- end
353
- # Represents a block parameter to a method, block, or lambda definition.
354
- #
355
- # def a(&b)
356
- # ^^
357
- # end
358
- class BlockParameterNode < Node
359
- private attr_reader flags: Integer
360
- attr_reader name: Symbol?
361
- attr_reader name_loc: Location?
362
- attr_reader operator_loc: Location
363
-
364
- def initialize: (Integer flags, Symbol? name, Location? name_loc, Location operator_loc, Location location) -> void
365
- def accept: (Visitor visitor) -> void
366
- def set_newline_flag: (Array[bool] newline_marked) -> void
367
- def child_nodes: () -> Array[Node?]
368
- def deconstruct: () -> Array[Node?]
369
-
370
- def copy: (**untyped) -> BlockParameterNode
371
-
372
- def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, name: Symbol?, name_loc: Location?, operator_loc: Location, location: Location }
373
-
374
- def repeated_parameter?: () -> bool
375
-
376
- def operator: () -> String
377
-
378
- def inspect: (?NodeInspector inspector) -> String
379
- end
380
- # Represents a block's parameters declaration.
381
- #
382
- # -> (a, b = 1; local) { }
383
- # ^^^^^^^^^^^^^^^^^
384
- #
385
- # foo do |a, b = 1; local|
386
- # ^^^^^^^^^^^^^^^^^
387
- # end
388
- class BlockParametersNode < Node
389
- attr_reader parameters: ParametersNode?
390
- attr_reader locals: Array[Node]
391
- attr_reader opening_loc: Location?
392
- attr_reader closing_loc: Location?
393
-
394
- def initialize: (ParametersNode? parameters, Array[Node] locals, Location? opening_loc, Location? closing_loc, Location location) -> void
395
- def accept: (Visitor visitor) -> void
396
- def set_newline_flag: (Array[bool] newline_marked) -> void
397
- def child_nodes: () -> Array[Node?]
398
- def deconstruct: () -> Array[Node?]
399
-
400
- def copy: (**untyped) -> BlockParametersNode
401
-
402
- def deconstruct_keys: (Array[Symbol] keys) -> { parameters: ParametersNode?, locals: Array[Node], opening_loc: Location?, closing_loc: Location?, location: Location }
403
-
404
- def opening: () -> String?
405
-
406
- def closing: () -> String?
407
-
408
- def inspect: (?NodeInspector inspector) -> String
409
- end
410
- # Represents the use of the `break` keyword.
411
- #
412
- # break foo
413
- # ^^^^^^^^^
414
- class BreakNode < Node
415
- attr_reader arguments: ArgumentsNode?
416
- attr_reader keyword_loc: Location
417
-
418
- def initialize: (ArgumentsNode? arguments, Location keyword_loc, Location location) -> void
419
- def accept: (Visitor visitor) -> void
420
- def set_newline_flag: (Array[bool] newline_marked) -> void
421
- def child_nodes: () -> Array[Node?]
422
- def deconstruct: () -> Array[Node?]
423
-
424
- def copy: (**untyped) -> BreakNode
425
-
426
- def deconstruct_keys: (Array[Symbol] keys) -> { arguments: ArgumentsNode?, keyword_loc: Location, location: Location }
427
-
428
- def keyword: () -> String
429
-
430
- def inspect: (?NodeInspector inspector) -> String
431
- end
432
- # Represents the use of the `&&=` operator on a call.
433
- #
434
- # foo.bar &&= value
435
- # ^^^^^^^^^^^^^^^^^
436
- class CallAndWriteNode < Node
437
- private attr_reader flags: Integer
438
- attr_reader receiver: Node?
439
- attr_reader call_operator_loc: Location?
440
- attr_reader message_loc: Location?
441
- attr_reader read_name: Symbol
442
- attr_reader write_name: Symbol
443
- attr_reader operator_loc: Location
444
- attr_reader value: Node
445
-
446
- def initialize: (Integer flags, Node? receiver, Location? call_operator_loc, Location? message_loc, Symbol read_name, Symbol write_name, Location operator_loc, Node value, Location location) -> void
447
- def accept: (Visitor visitor) -> void
448
- def set_newline_flag: (Array[bool] newline_marked) -> void
449
- def child_nodes: () -> Array[Node?]
450
- def deconstruct: () -> Array[Node?]
451
-
452
- def copy: (**untyped) -> CallAndWriteNode
453
-
454
- def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, receiver: Node?, call_operator_loc: Location?, message_loc: Location?, read_name: Symbol, write_name: Symbol, operator_loc: Location, value: Node, location: Location }
455
-
456
- def safe_navigation?: () -> bool
457
-
458
- def variable_call?: () -> bool
459
-
460
- def attribute_write?: () -> bool
461
-
462
- def ignore_visibility?: () -> bool
463
-
464
- def call_operator: () -> String?
465
-
466
- def message: () -> String?
467
-
468
- def operator: () -> String
469
-
470
- def inspect: (?NodeInspector inspector) -> String
471
- end
472
- # Represents a method call, in all of the various forms that can take.
473
- #
474
- # foo
475
- # ^^^
476
- #
477
- # foo()
478
- # ^^^^^
479
- #
480
- # +foo
481
- # ^^^^
482
- #
483
- # foo + bar
484
- # ^^^^^^^^^
485
- #
486
- # foo.bar
487
- # ^^^^^^^
488
- #
489
- # foo&.bar
490
- # ^^^^^^^^
491
- class CallNode < Node
492
- private attr_reader flags: Integer
493
- attr_reader receiver: Node?
494
- attr_reader call_operator_loc: Location?
495
- attr_reader name: Symbol
496
- attr_reader message_loc: Location?
497
- attr_reader opening_loc: Location?
498
- attr_reader arguments: ArgumentsNode?
499
- attr_reader closing_loc: Location?
500
- attr_reader block: Node?
501
-
502
- def initialize: (Integer flags, Node? receiver, Location? call_operator_loc, Symbol name, Location? message_loc, Location? opening_loc, ArgumentsNode? arguments, Location? closing_loc, Node? block, Location location) -> void
503
- def accept: (Visitor visitor) -> void
504
- def set_newline_flag: (Array[bool] newline_marked) -> void
505
- def child_nodes: () -> Array[Node?]
506
- def deconstruct: () -> Array[Node?]
507
-
508
- def copy: (**untyped) -> CallNode
509
-
510
- def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, receiver: Node?, call_operator_loc: Location?, name: Symbol, message_loc: Location?, opening_loc: Location?, arguments: ArgumentsNode?, closing_loc: Location?, block: Node?, location: Location }
511
-
512
- def safe_navigation?: () -> bool
513
-
514
- def variable_call?: () -> bool
515
-
516
- def attribute_write?: () -> bool
517
-
518
- def ignore_visibility?: () -> bool
519
-
520
- def call_operator: () -> String?
521
-
522
- def message: () -> String?
523
-
524
- def opening: () -> String?
525
-
526
- def closing: () -> String?
527
-
528
- def inspect: (?NodeInspector inspector) -> String
529
- end
530
- # Represents the use of an assignment operator on a call.
531
- #
532
- # foo.bar += baz
533
- # ^^^^^^^^^^^^^^
534
- class CallOperatorWriteNode < Node
535
- private attr_reader flags: Integer
536
- attr_reader receiver: Node?
537
- attr_reader call_operator_loc: Location?
538
- attr_reader message_loc: Location?
539
- attr_reader read_name: Symbol
540
- attr_reader write_name: Symbol
541
- attr_reader operator: Symbol
542
- attr_reader operator_loc: Location
543
- attr_reader value: Node
544
-
545
- def initialize: (Integer flags, Node? receiver, Location? call_operator_loc, Location? message_loc, Symbol read_name, Symbol write_name, Symbol operator, Location operator_loc, Node value, Location location) -> void
546
- def accept: (Visitor visitor) -> void
547
- def set_newline_flag: (Array[bool] newline_marked) -> void
548
- def child_nodes: () -> Array[Node?]
549
- def deconstruct: () -> Array[Node?]
550
-
551
- def copy: (**untyped) -> CallOperatorWriteNode
552
-
553
- def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, receiver: Node?, call_operator_loc: Location?, message_loc: Location?, read_name: Symbol, write_name: Symbol, operator: Symbol, operator_loc: Location, value: Node, location: Location }
554
-
555
- def safe_navigation?: () -> bool
556
-
557
- def variable_call?: () -> bool
558
-
559
- def attribute_write?: () -> bool
560
-
561
- def ignore_visibility?: () -> bool
562
-
563
- def call_operator: () -> String?
564
-
565
- def message: () -> String?
566
-
567
- def inspect: (?NodeInspector inspector) -> String
568
- end
569
- # Represents the use of the `||=` operator on a call.
570
- #
571
- # foo.bar ||= value
572
- # ^^^^^^^^^^^^^^^^^
573
- class CallOrWriteNode < Node
574
- private attr_reader flags: Integer
575
- attr_reader receiver: Node?
576
- attr_reader call_operator_loc: Location?
577
- attr_reader message_loc: Location?
578
- attr_reader read_name: Symbol
579
- attr_reader write_name: Symbol
580
- attr_reader operator_loc: Location
581
- attr_reader value: Node
582
-
583
- def initialize: (Integer flags, Node? receiver, Location? call_operator_loc, Location? message_loc, Symbol read_name, Symbol write_name, Location operator_loc, Node value, Location location) -> void
584
- def accept: (Visitor visitor) -> void
585
- def set_newline_flag: (Array[bool] newline_marked) -> void
586
- def child_nodes: () -> Array[Node?]
587
- def deconstruct: () -> Array[Node?]
588
-
589
- def copy: (**untyped) -> CallOrWriteNode
590
-
591
- def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, receiver: Node?, call_operator_loc: Location?, message_loc: Location?, read_name: Symbol, write_name: Symbol, operator_loc: Location, value: Node, location: Location }
592
-
593
- def safe_navigation?: () -> bool
594
-
595
- def variable_call?: () -> bool
596
-
597
- def attribute_write?: () -> bool
598
-
599
- def ignore_visibility?: () -> bool
600
-
601
- def call_operator: () -> String?
602
-
603
- def message: () -> String?
604
-
605
- def operator: () -> String
606
-
607
- def inspect: (?NodeInspector inspector) -> String
608
- end
609
- # Represents assigning to a method call.
610
- #
611
- # foo.bar, = 1
612
- # ^^^^^^^
613
- #
614
- # begin
615
- # rescue => foo.bar
616
- # ^^^^^^^
617
- # end
618
- #
619
- # for foo.bar in baz do end
620
- # ^^^^^^^
621
- class CallTargetNode < Node
622
- private attr_reader flags: Integer
623
- attr_reader receiver: Node
624
- attr_reader call_operator_loc: Location
625
- attr_reader name: Symbol
626
- attr_reader message_loc: Location
627
-
628
- def initialize: (Integer flags, Node receiver, Location call_operator_loc, Symbol name, Location message_loc, Location location) -> void
629
- def accept: (Visitor visitor) -> void
630
- def set_newline_flag: (Array[bool] newline_marked) -> void
631
- def child_nodes: () -> Array[Node?]
632
- def deconstruct: () -> Array[Node?]
633
-
634
- def copy: (**untyped) -> CallTargetNode
635
-
636
- def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, receiver: Node, call_operator_loc: Location, name: Symbol, message_loc: Location, location: Location }
637
-
638
- def safe_navigation?: () -> bool
639
-
640
- def variable_call?: () -> bool
641
-
642
- def attribute_write?: () -> bool
643
-
644
- def ignore_visibility?: () -> bool
645
-
646
- def call_operator: () -> String
647
-
648
- def message: () -> String
649
-
650
- def inspect: (?NodeInspector inspector) -> String
651
- end
652
- # Represents assigning to a local variable in pattern matching.
653
- #
654
- # foo => [bar => baz]
655
- # ^^^^^^^^^^^^
656
- class CapturePatternNode < Node
657
- attr_reader value: Node
658
- attr_reader target: Node
659
- attr_reader operator_loc: Location
660
-
661
- def initialize: (Node value, Node target, Location operator_loc, Location location) -> void
662
- def accept: (Visitor visitor) -> void
663
- def set_newline_flag: (Array[bool] newline_marked) -> void
664
- def child_nodes: () -> Array[Node?]
665
- def deconstruct: () -> Array[Node?]
666
-
667
- def copy: (**untyped) -> CapturePatternNode
668
-
669
- def deconstruct_keys: (Array[Symbol] keys) -> { value: Node, target: Node, operator_loc: Location, location: Location }
670
-
671
- def operator: () -> String
672
-
673
- def inspect: (?NodeInspector inspector) -> String
674
- end
675
- # Represents the use of a case statement for pattern matching.
676
- #
677
- # case true
678
- # in false
679
- # end
680
- # ^^^^^^^^^
681
- class CaseMatchNode < Node
682
- attr_reader predicate: Node?
683
- attr_reader conditions: Array[Node]
684
- attr_reader consequent: ElseNode?
685
- attr_reader case_keyword_loc: Location
686
- attr_reader end_keyword_loc: Location
687
-
688
- def initialize: (Node? predicate, Array[Node] conditions, ElseNode? consequent, Location case_keyword_loc, Location end_keyword_loc, Location location) -> void
689
- def accept: (Visitor visitor) -> void
690
- def set_newline_flag: (Array[bool] newline_marked) -> void
691
- def child_nodes: () -> Array[Node?]
692
- def deconstruct: () -> Array[Node?]
693
-
694
- def copy: (**untyped) -> CaseMatchNode
695
-
696
- def deconstruct_keys: (Array[Symbol] keys) -> { predicate: Node?, conditions: Array[Node], consequent: ElseNode?, case_keyword_loc: Location, end_keyword_loc: Location, location: Location }
697
-
698
- def case_keyword: () -> String
699
-
700
- def end_keyword: () -> String
701
-
702
- def inspect: (?NodeInspector inspector) -> String
703
- end
704
- # Represents the use of a case statement.
705
- #
706
- # case true
707
- # when false
708
- # end
709
- # ^^^^^^^^^^
710
- class CaseNode < Node
711
- attr_reader predicate: Node?
712
- attr_reader conditions: Array[Node]
713
- attr_reader consequent: ElseNode?
714
- attr_reader case_keyword_loc: Location
715
- attr_reader end_keyword_loc: Location
716
-
717
- def initialize: (Node? predicate, Array[Node] conditions, ElseNode? consequent, Location case_keyword_loc, Location end_keyword_loc, Location location) -> void
718
- def accept: (Visitor visitor) -> void
719
- def set_newline_flag: (Array[bool] newline_marked) -> void
720
- def child_nodes: () -> Array[Node?]
721
- def deconstruct: () -> Array[Node?]
722
-
723
- def copy: (**untyped) -> CaseNode
724
-
725
- def deconstruct_keys: (Array[Symbol] keys) -> { predicate: Node?, conditions: Array[Node], consequent: ElseNode?, case_keyword_loc: Location, end_keyword_loc: Location, location: Location }
726
-
727
- def case_keyword: () -> String
728
-
729
- def end_keyword: () -> String
730
-
731
- def inspect: (?NodeInspector inspector) -> String
732
- end
733
- # Represents a class declaration involving the `class` keyword.
734
- #
735
- # class Foo end
736
- # ^^^^^^^^^^^^^
737
- class ClassNode < Node
738
- attr_reader locals: Array[Symbol]
739
- attr_reader class_keyword_loc: Location
740
- attr_reader constant_path: Node
741
- attr_reader inheritance_operator_loc: Location?
742
- attr_reader superclass: Node?
743
- attr_reader body: Node?
744
- attr_reader end_keyword_loc: Location
745
- attr_reader name: Symbol
746
-
747
- def initialize: (Array[Symbol] locals, Location class_keyword_loc, Node constant_path, Location? inheritance_operator_loc, Node? superclass, Node? body, Location end_keyword_loc, Symbol name, Location location) -> void
748
- def accept: (Visitor visitor) -> void
749
- def set_newline_flag: (Array[bool] newline_marked) -> void
750
- def child_nodes: () -> Array[Node?]
751
- def deconstruct: () -> Array[Node?]
752
-
753
- def copy: (**untyped) -> ClassNode
754
-
755
- def deconstruct_keys: (Array[Symbol] keys) -> { locals: Array[Symbol], class_keyword_loc: Location, constant_path: Node, inheritance_operator_loc: Location?, superclass: Node?, body: Node?, end_keyword_loc: Location, name: Symbol, location: Location }
756
-
757
- def class_keyword: () -> String
758
-
759
- def inheritance_operator: () -> String?
760
-
761
- def end_keyword: () -> String
762
-
763
- def inspect: (?NodeInspector inspector) -> String
764
- end
765
- # Represents the use of the `&&=` operator for assignment to a class variable.
766
- #
767
- # @@target &&= value
768
- # ^^^^^^^^^^^^^^^^^^
769
- class ClassVariableAndWriteNode < Node
770
- attr_reader name: Symbol
771
- attr_reader name_loc: Location
772
- attr_reader operator_loc: Location
773
- attr_reader value: Node
774
-
775
- def initialize: (Symbol name, Location name_loc, Location operator_loc, Node value, Location location) -> void
776
- def accept: (Visitor visitor) -> void
777
- def set_newline_flag: (Array[bool] newline_marked) -> void
778
- def child_nodes: () -> Array[Node?]
779
- def deconstruct: () -> Array[Node?]
780
-
781
- def copy: (**untyped) -> ClassVariableAndWriteNode
782
-
783
- def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, name_loc: Location, operator_loc: Location, value: Node, location: Location }
784
-
785
- def operator: () -> String
786
-
787
- def inspect: (?NodeInspector inspector) -> String
788
- end
789
- # Represents assigning to a class variable using an operator that isn't `=`.
790
- #
791
- # @@target += value
792
- # ^^^^^^^^^^^^^^^^^
793
- class ClassVariableOperatorWriteNode < Node
794
- attr_reader name: Symbol
795
- attr_reader name_loc: Location
796
- attr_reader operator_loc: Location
797
- attr_reader value: Node
798
- attr_reader operator: Symbol
799
-
800
- def initialize: (Symbol name, Location name_loc, Location operator_loc, Node value, Symbol operator, Location location) -> void
801
- def accept: (Visitor visitor) -> void
802
- def set_newline_flag: (Array[bool] newline_marked) -> void
803
- def child_nodes: () -> Array[Node?]
804
- def deconstruct: () -> Array[Node?]
805
-
806
- def copy: (**untyped) -> ClassVariableOperatorWriteNode
807
-
808
- def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, name_loc: Location, operator_loc: Location, value: Node, operator: Symbol, location: Location }
809
-
810
- def inspect: (?NodeInspector inspector) -> String
811
- end
812
- # Represents the use of the `||=` operator for assignment to a class variable.
813
- #
814
- # @@target ||= value
815
- # ^^^^^^^^^^^^^^^^^^
816
- class ClassVariableOrWriteNode < Node
817
- attr_reader name: Symbol
818
- attr_reader name_loc: Location
819
- attr_reader operator_loc: Location
820
- attr_reader value: Node
821
-
822
- def initialize: (Symbol name, Location name_loc, Location operator_loc, Node value, Location location) -> void
823
- def accept: (Visitor visitor) -> void
824
- def set_newline_flag: (Array[bool] newline_marked) -> void
825
- def child_nodes: () -> Array[Node?]
826
- def deconstruct: () -> Array[Node?]
827
-
828
- def copy: (**untyped) -> ClassVariableOrWriteNode
829
-
830
- def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, name_loc: Location, operator_loc: Location, value: Node, location: Location }
831
-
832
- def operator: () -> String
833
-
834
- def inspect: (?NodeInspector inspector) -> String
835
- end
836
- # Represents referencing a class variable.
837
- #
838
- # @@foo
839
- # ^^^^^
840
- class ClassVariableReadNode < Node
841
- attr_reader name: Symbol
842
-
843
- def initialize: (Symbol name, Location location) -> void
844
- def accept: (Visitor visitor) -> void
845
- def set_newline_flag: (Array[bool] newline_marked) -> void
846
- def child_nodes: () -> Array[Node?]
847
- def deconstruct: () -> Array[Node?]
848
-
849
- def copy: (**untyped) -> ClassVariableReadNode
850
-
851
- def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, location: Location }
852
-
853
- def inspect: (?NodeInspector inspector) -> String
854
- end
855
- # Represents writing to a class variable in a context that doesn't have an explicit value.
856
- #
857
- # @@foo, @@bar = baz
858
- # ^^^^^ ^^^^^
859
- class ClassVariableTargetNode < Node
860
- attr_reader name: Symbol
861
-
862
- def initialize: (Symbol name, Location location) -> void
863
- def accept: (Visitor visitor) -> void
864
- def set_newline_flag: (Array[bool] newline_marked) -> void
865
- def child_nodes: () -> Array[Node?]
866
- def deconstruct: () -> Array[Node?]
867
-
868
- def copy: (**untyped) -> ClassVariableTargetNode
869
-
870
- def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, location: Location }
871
-
872
- def inspect: (?NodeInspector inspector) -> String
873
- end
874
- # Represents writing to a class variable.
875
- #
876
- # @@foo = 1
877
- # ^^^^^^^^^
878
- class ClassVariableWriteNode < Node
879
- attr_reader name: Symbol
880
- attr_reader name_loc: Location
881
- attr_reader value: Node
882
- attr_reader operator_loc: Location?
883
-
884
- def initialize: (Symbol name, Location name_loc, Node value, Location? operator_loc, Location location) -> void
885
- def accept: (Visitor visitor) -> void
886
- def set_newline_flag: (Array[bool] newline_marked) -> void
887
- def child_nodes: () -> Array[Node?]
888
- def deconstruct: () -> Array[Node?]
889
-
890
- def copy: (**untyped) -> ClassVariableWriteNode
891
-
892
- def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, name_loc: Location, value: Node, operator_loc: Location?, location: Location }
893
-
894
- def operator: () -> String?
895
-
896
- def inspect: (?NodeInspector inspector) -> String
897
- end
898
- # Represents the use of the `&&=` operator for assignment to a constant.
899
- #
900
- # Target &&= value
901
- # ^^^^^^^^^^^^^^^^
902
- class ConstantAndWriteNode < Node
903
- attr_reader name: Symbol
904
- attr_reader name_loc: Location
905
- attr_reader operator_loc: Location
906
- attr_reader value: Node
907
-
908
- def initialize: (Symbol name, Location name_loc, Location operator_loc, Node value, Location location) -> void
909
- def accept: (Visitor visitor) -> void
910
- def set_newline_flag: (Array[bool] newline_marked) -> void
911
- def child_nodes: () -> Array[Node?]
912
- def deconstruct: () -> Array[Node?]
913
-
914
- def copy: (**untyped) -> ConstantAndWriteNode
915
-
916
- def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, name_loc: Location, operator_loc: Location, value: Node, location: Location }
917
-
918
- def operator: () -> String
919
-
920
- def inspect: (?NodeInspector inspector) -> String
921
- end
922
- # Represents assigning to a constant using an operator that isn't `=`.
923
- #
924
- # Target += value
925
- # ^^^^^^^^^^^^^^^
926
- class ConstantOperatorWriteNode < Node
927
- attr_reader name: Symbol
928
- attr_reader name_loc: Location
929
- attr_reader operator_loc: Location
930
- attr_reader value: Node
931
- attr_reader operator: Symbol
932
-
933
- def initialize: (Symbol name, Location name_loc, Location operator_loc, Node value, Symbol operator, Location location) -> void
934
- def accept: (Visitor visitor) -> void
935
- def set_newline_flag: (Array[bool] newline_marked) -> void
936
- def child_nodes: () -> Array[Node?]
937
- def deconstruct: () -> Array[Node?]
938
-
939
- def copy: (**untyped) -> ConstantOperatorWriteNode
940
-
941
- def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, name_loc: Location, operator_loc: Location, value: Node, operator: Symbol, location: Location }
942
-
943
- def inspect: (?NodeInspector inspector) -> String
944
- end
945
- # Represents the use of the `||=` operator for assignment to a constant.
946
- #
947
- # Target ||= value
948
- # ^^^^^^^^^^^^^^^^
949
- class ConstantOrWriteNode < Node
950
- attr_reader name: Symbol
951
- attr_reader name_loc: Location
952
- attr_reader operator_loc: Location
953
- attr_reader value: Node
954
-
955
- def initialize: (Symbol name, Location name_loc, Location operator_loc, Node value, Location location) -> void
956
- def accept: (Visitor visitor) -> void
957
- def set_newline_flag: (Array[bool] newline_marked) -> void
958
- def child_nodes: () -> Array[Node?]
959
- def deconstruct: () -> Array[Node?]
960
-
961
- def copy: (**untyped) -> ConstantOrWriteNode
962
-
963
- def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, name_loc: Location, operator_loc: Location, value: Node, location: Location }
964
-
965
- def operator: () -> String
966
-
967
- def inspect: (?NodeInspector inspector) -> String
968
- end
969
- # Represents the use of the `&&=` operator for assignment to a constant path.
970
- #
971
- # Parent::Child &&= value
972
- # ^^^^^^^^^^^^^^^^^^^^^^^
973
- class ConstantPathAndWriteNode < Node
974
- attr_reader target: ConstantPathNode
975
- attr_reader operator_loc: Location
976
- attr_reader value: Node
977
-
978
- def initialize: (ConstantPathNode target, Location operator_loc, Node value, Location location) -> void
979
- def accept: (Visitor visitor) -> void
980
- def set_newline_flag: (Array[bool] newline_marked) -> void
981
- def child_nodes: () -> Array[Node?]
982
- def deconstruct: () -> Array[Node?]
983
-
984
- def copy: (**untyped) -> ConstantPathAndWriteNode
985
-
986
- def deconstruct_keys: (Array[Symbol] keys) -> { target: ConstantPathNode, operator_loc: Location, value: Node, location: Location }
987
-
988
- def operator: () -> String
989
-
990
- def inspect: (?NodeInspector inspector) -> String
991
- end
992
- # Represents accessing a constant through a path of `::` operators.
993
- #
994
- # Foo::Bar
995
- # ^^^^^^^^
996
- class ConstantPathNode < Node
997
- attr_reader parent: Node?
998
- attr_reader child: Node
999
- attr_reader delimiter_loc: Location
1000
-
1001
- def initialize: (Node? parent, Node child, Location delimiter_loc, Location location) -> void
1002
- def accept: (Visitor visitor) -> void
1003
- def set_newline_flag: (Array[bool] newline_marked) -> void
1004
- def child_nodes: () -> Array[Node?]
1005
- def deconstruct: () -> Array[Node?]
1006
-
1007
- def copy: (**untyped) -> ConstantPathNode
1008
-
1009
- def deconstruct_keys: (Array[Symbol] keys) -> { parent: Node?, child: Node, delimiter_loc: Location, location: Location }
1010
-
1011
- def delimiter: () -> String
1012
-
1013
- def inspect: (?NodeInspector inspector) -> String
1014
- end
1015
- # Represents assigning to a constant path using an operator that isn't `=`.
1016
- #
1017
- # Parent::Child += value
1018
- # ^^^^^^^^^^^^^^^^^^^^^^
1019
- class ConstantPathOperatorWriteNode < Node
1020
- attr_reader target: ConstantPathNode
1021
- attr_reader operator_loc: Location
1022
- attr_reader value: Node
1023
- attr_reader operator: Symbol
1024
-
1025
- def initialize: (ConstantPathNode target, Location operator_loc, Node value, Symbol operator, Location location) -> void
1026
- def accept: (Visitor visitor) -> void
1027
- def set_newline_flag: (Array[bool] newline_marked) -> void
1028
- def child_nodes: () -> Array[Node?]
1029
- def deconstruct: () -> Array[Node?]
1030
-
1031
- def copy: (**untyped) -> ConstantPathOperatorWriteNode
1032
-
1033
- def deconstruct_keys: (Array[Symbol] keys) -> { target: ConstantPathNode, operator_loc: Location, value: Node, operator: Symbol, location: Location }
1034
-
1035
- def inspect: (?NodeInspector inspector) -> String
1036
- end
1037
- # Represents the use of the `||=` operator for assignment to a constant path.
1038
- #
1039
- # Parent::Child ||= value
1040
- # ^^^^^^^^^^^^^^^^^^^^^^^
1041
- class ConstantPathOrWriteNode < Node
1042
- attr_reader target: ConstantPathNode
1043
- attr_reader operator_loc: Location
1044
- attr_reader value: Node
1045
-
1046
- def initialize: (ConstantPathNode target, Location operator_loc, Node value, Location location) -> void
1047
- def accept: (Visitor visitor) -> void
1048
- def set_newline_flag: (Array[bool] newline_marked) -> void
1049
- def child_nodes: () -> Array[Node?]
1050
- def deconstruct: () -> Array[Node?]
1051
-
1052
- def copy: (**untyped) -> ConstantPathOrWriteNode
1053
-
1054
- def deconstruct_keys: (Array[Symbol] keys) -> { target: ConstantPathNode, operator_loc: Location, value: Node, location: Location }
1055
-
1056
- def operator: () -> String
1057
-
1058
- def inspect: (?NodeInspector inspector) -> String
1059
- end
1060
- # Represents writing to a constant path in a context that doesn't have an explicit value.
1061
- #
1062
- # Foo::Foo, Bar::Bar = baz
1063
- # ^^^^^^^^ ^^^^^^^^
1064
- class ConstantPathTargetNode < Node
1065
- attr_reader parent: Node?
1066
- attr_reader child: Node
1067
- attr_reader delimiter_loc: Location
1068
-
1069
- def initialize: (Node? parent, Node child, Location delimiter_loc, Location location) -> void
1070
- def accept: (Visitor visitor) -> void
1071
- def set_newline_flag: (Array[bool] newline_marked) -> void
1072
- def child_nodes: () -> Array[Node?]
1073
- def deconstruct: () -> Array[Node?]
1074
-
1075
- def copy: (**untyped) -> ConstantPathTargetNode
1076
-
1077
- def deconstruct_keys: (Array[Symbol] keys) -> { parent: Node?, child: Node, delimiter_loc: Location, location: Location }
1078
-
1079
- def delimiter: () -> String
1080
-
1081
- def inspect: (?NodeInspector inspector) -> String
1082
- end
1083
- # Represents writing to a constant path.
1084
- #
1085
- # ::Foo = 1
1086
- # ^^^^^^^^^
1087
- #
1088
- # Foo::Bar = 1
1089
- # ^^^^^^^^^^^^
1090
- #
1091
- # ::Foo::Bar = 1
1092
- # ^^^^^^^^^^^^^^
1093
- class ConstantPathWriteNode < Node
1094
- attr_reader target: ConstantPathNode
1095
- attr_reader operator_loc: Location
1096
- attr_reader value: Node
1097
-
1098
- def initialize: (ConstantPathNode target, Location operator_loc, Node value, Location location) -> void
1099
- def accept: (Visitor visitor) -> void
1100
- def set_newline_flag: (Array[bool] newline_marked) -> void
1101
- def child_nodes: () -> Array[Node?]
1102
- def deconstruct: () -> Array[Node?]
1103
-
1104
- def copy: (**untyped) -> ConstantPathWriteNode
1105
-
1106
- def deconstruct_keys: (Array[Symbol] keys) -> { target: ConstantPathNode, operator_loc: Location, value: Node, location: Location }
1107
-
1108
- def operator: () -> String
1109
-
1110
- def inspect: (?NodeInspector inspector) -> String
1111
- end
1112
- # Represents referencing a constant.
1113
- #
1114
- # Foo
1115
- # ^^^
1116
- class ConstantReadNode < Node
1117
- attr_reader name: Symbol
1118
-
1119
- def initialize: (Symbol name, Location location) -> void
1120
- def accept: (Visitor visitor) -> void
1121
- def set_newline_flag: (Array[bool] newline_marked) -> void
1122
- def child_nodes: () -> Array[Node?]
1123
- def deconstruct: () -> Array[Node?]
1124
-
1125
- def copy: (**untyped) -> ConstantReadNode
1126
-
1127
- def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, location: Location }
1128
-
1129
- def inspect: (?NodeInspector inspector) -> String
1130
- end
1131
- # Represents writing to a constant in a context that doesn't have an explicit value.
1132
- #
1133
- # Foo, Bar = baz
1134
- # ^^^ ^^^
1135
- class ConstantTargetNode < Node
1136
- attr_reader name: Symbol
1137
-
1138
- def initialize: (Symbol name, Location location) -> void
1139
- def accept: (Visitor visitor) -> void
1140
- def set_newline_flag: (Array[bool] newline_marked) -> void
1141
- def child_nodes: () -> Array[Node?]
1142
- def deconstruct: () -> Array[Node?]
1143
-
1144
- def copy: (**untyped) -> ConstantTargetNode
1145
-
1146
- def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, location: Location }
1147
-
1148
- def inspect: (?NodeInspector inspector) -> String
1149
- end
1150
- # Represents writing to a constant.
1151
- #
1152
- # Foo = 1
1153
- # ^^^^^^^
1154
- class ConstantWriteNode < Node
1155
- attr_reader name: Symbol
1156
- attr_reader name_loc: Location
1157
- attr_reader value: Node
1158
- attr_reader operator_loc: Location
1159
-
1160
- def initialize: (Symbol name, Location name_loc, Node value, Location operator_loc, Location location) -> void
1161
- def accept: (Visitor visitor) -> void
1162
- def set_newline_flag: (Array[bool] newline_marked) -> void
1163
- def child_nodes: () -> Array[Node?]
1164
- def deconstruct: () -> Array[Node?]
1165
-
1166
- def copy: (**untyped) -> ConstantWriteNode
1167
-
1168
- def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, name_loc: Location, value: Node, operator_loc: Location, location: Location }
1169
-
1170
- def operator: () -> String
1171
-
1172
- def inspect: (?NodeInspector inspector) -> String
1173
- end
1174
- # Represents a method definition.
1175
- #
1176
- # def method
1177
- # end
1178
- # ^^^^^^^^^^
1179
- class DefNode < Node
1180
- attr_reader name: Symbol
1181
- attr_reader name_loc: Location
1182
- attr_reader receiver: Node?
1183
- attr_reader parameters: ParametersNode?
1184
- attr_reader body: Node?
1185
- attr_reader locals: Array[Symbol]
1186
- attr_reader def_keyword_loc: Location
1187
- attr_reader operator_loc: Location?
1188
- attr_reader lparen_loc: Location?
1189
- attr_reader rparen_loc: Location?
1190
- attr_reader equal_loc: Location?
1191
- attr_reader end_keyword_loc: Location?
1192
-
1193
- def initialize: (Symbol name, Location name_loc, Node? receiver, ParametersNode? parameters, Node? body, Array[Symbol] locals, Location def_keyword_loc, Location? operator_loc, Location? lparen_loc, Location? rparen_loc, Location? equal_loc, Location? end_keyword_loc, Location location) -> void
1194
- def accept: (Visitor visitor) -> void
1195
- def set_newline_flag: (Array[bool] newline_marked) -> void
1196
- def child_nodes: () -> Array[Node?]
1197
- def deconstruct: () -> Array[Node?]
1198
-
1199
- def copy: (**untyped) -> DefNode
1200
-
1201
- def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, name_loc: Location, receiver: Node?, parameters: ParametersNode?, body: Node?, locals: Array[Symbol], def_keyword_loc: Location, operator_loc: Location?, lparen_loc: Location?, rparen_loc: Location?, equal_loc: Location?, end_keyword_loc: Location?, location: Location }
1202
-
1203
- def def_keyword: () -> String
1204
-
1205
- def operator: () -> String?
1206
-
1207
- def lparen: () -> String?
1208
-
1209
- def rparen: () -> String?
1210
-
1211
- def equal: () -> String?
1212
-
1213
- def end_keyword: () -> String?
1214
-
1215
- def inspect: (?NodeInspector inspector) -> String
1216
- end
1217
- # Represents the use of the `defined?` keyword.
1218
- #
1219
- # defined?(a)
1220
- # ^^^^^^^^^^^
1221
- class DefinedNode < Node
1222
- attr_reader lparen_loc: Location?
1223
- attr_reader value: Node
1224
- attr_reader rparen_loc: Location?
1225
- attr_reader keyword_loc: Location
1226
-
1227
- def initialize: (Location? lparen_loc, Node value, Location? rparen_loc, Location keyword_loc, Location location) -> void
1228
- def accept: (Visitor visitor) -> void
1229
- def set_newline_flag: (Array[bool] newline_marked) -> void
1230
- def child_nodes: () -> Array[Node?]
1231
- def deconstruct: () -> Array[Node?]
1232
-
1233
- def copy: (**untyped) -> DefinedNode
1234
-
1235
- def deconstruct_keys: (Array[Symbol] keys) -> { lparen_loc: Location?, value: Node, rparen_loc: Location?, keyword_loc: Location, location: Location }
1236
-
1237
- def lparen: () -> String?
1238
-
1239
- def rparen: () -> String?
1240
-
1241
- def keyword: () -> String
1242
-
1243
- def inspect: (?NodeInspector inspector) -> String
1244
- end
1245
- # Represents an `else` clause in a `case`, `if`, or `unless` statement.
1246
- #
1247
- # if a then b else c end
1248
- # ^^^^^^^^^^
1249
- class ElseNode < Node
1250
- attr_reader else_keyword_loc: Location
1251
- attr_reader statements: StatementsNode?
1252
- attr_reader end_keyword_loc: Location?
1253
-
1254
- def initialize: (Location else_keyword_loc, StatementsNode? statements, Location? end_keyword_loc, Location location) -> void
1255
- def accept: (Visitor visitor) -> void
1256
- def set_newline_flag: (Array[bool] newline_marked) -> void
1257
- def child_nodes: () -> Array[Node?]
1258
- def deconstruct: () -> Array[Node?]
1259
-
1260
- def copy: (**untyped) -> ElseNode
1261
-
1262
- def deconstruct_keys: (Array[Symbol] keys) -> { else_keyword_loc: Location, statements: StatementsNode?, end_keyword_loc: Location?, location: Location }
1263
-
1264
- def else_keyword: () -> String
1265
-
1266
- def end_keyword: () -> String?
1267
-
1268
- def inspect: (?NodeInspector inspector) -> String
1269
- end
1270
- # Represents an interpolated set of statements.
1271
- #
1272
- # "foo #{bar}"
1273
- # ^^^^^^
1274
- class EmbeddedStatementsNode < Node
1275
- attr_reader opening_loc: Location
1276
- attr_reader statements: StatementsNode?
1277
- attr_reader closing_loc: Location
1278
-
1279
- def initialize: (Location opening_loc, StatementsNode? statements, Location closing_loc, Location location) -> void
1280
- def accept: (Visitor visitor) -> void
1281
- def set_newline_flag: (Array[bool] newline_marked) -> void
1282
- def child_nodes: () -> Array[Node?]
1283
- def deconstruct: () -> Array[Node?]
1284
-
1285
- def copy: (**untyped) -> EmbeddedStatementsNode
1286
-
1287
- def deconstruct_keys: (Array[Symbol] keys) -> { opening_loc: Location, statements: StatementsNode?, closing_loc: Location, location: Location }
1288
-
1289
- def opening: () -> String
1290
-
1291
- def closing: () -> String
1292
-
1293
- def inspect: (?NodeInspector inspector) -> String
1294
- end
1295
- # Represents an interpolated variable.
1296
- #
1297
- # "foo #@bar"
1298
- # ^^^^^
1299
- class EmbeddedVariableNode < Node
1300
- attr_reader operator_loc: Location
1301
- attr_reader variable: Node
1302
-
1303
- def initialize: (Location operator_loc, Node variable, Location location) -> void
1304
- def accept: (Visitor visitor) -> void
1305
- def set_newline_flag: (Array[bool] newline_marked) -> void
1306
- def child_nodes: () -> Array[Node?]
1307
- def deconstruct: () -> Array[Node?]
1308
-
1309
- def copy: (**untyped) -> EmbeddedVariableNode
1310
-
1311
- def deconstruct_keys: (Array[Symbol] keys) -> { operator_loc: Location, variable: Node, location: Location }
1312
-
1313
- def operator: () -> String
1314
-
1315
- def inspect: (?NodeInspector inspector) -> String
1316
- end
1317
- # Represents an `ensure` clause in a `begin` statement.
1318
- #
1319
- # begin
1320
- # foo
1321
- # ensure
1322
- # ^^^^^^
1323
- # bar
1324
- # end
1325
- class EnsureNode < Node
1326
- attr_reader ensure_keyword_loc: Location
1327
- attr_reader statements: StatementsNode?
1328
- attr_reader end_keyword_loc: Location
1329
-
1330
- def initialize: (Location ensure_keyword_loc, StatementsNode? statements, Location end_keyword_loc, Location location) -> void
1331
- def accept: (Visitor visitor) -> void
1332
- def set_newline_flag: (Array[bool] newline_marked) -> void
1333
- def child_nodes: () -> Array[Node?]
1334
- def deconstruct: () -> Array[Node?]
1335
-
1336
- def copy: (**untyped) -> EnsureNode
1337
-
1338
- def deconstruct_keys: (Array[Symbol] keys) -> { ensure_keyword_loc: Location, statements: StatementsNode?, end_keyword_loc: Location, location: Location }
1339
-
1340
- def ensure_keyword: () -> String
1341
-
1342
- def end_keyword: () -> String
1343
-
1344
- def inspect: (?NodeInspector inspector) -> String
1345
- end
1346
- # Represents the use of the literal `false` keyword.
1347
- #
1348
- # false
1349
- # ^^^^^
1350
- class FalseNode < Node
1351
-
1352
- def initialize: (Location location) -> void
1353
- def accept: (Visitor visitor) -> void
1354
- def set_newline_flag: (Array[bool] newline_marked) -> void
1355
- def child_nodes: () -> Array[Node?]
1356
- def deconstruct: () -> Array[Node?]
1357
-
1358
- def copy: (**untyped) -> FalseNode
1359
-
1360
- def deconstruct_keys: (Array[Symbol] keys) -> { location: Location }
1361
-
1362
- def inspect: (?NodeInspector inspector) -> String
1363
- end
1364
- # Represents a find pattern in pattern matching.
1365
- #
1366
- # foo in *bar, baz, *qux
1367
- # ^^^^^^^^^^^^^^^
1368
- #
1369
- # foo in [*bar, baz, *qux]
1370
- # ^^^^^^^^^^^^^^^^^
1371
- #
1372
- # foo in Foo(*bar, baz, *qux)
1373
- # ^^^^^^^^^^^^^^^^^^^^
1374
- class FindPatternNode < Node
1375
- attr_reader constant: Node?
1376
- attr_reader left: Node
1377
- attr_reader requireds: Array[Node]
1378
- attr_reader right: Node
1379
- attr_reader opening_loc: Location?
1380
- attr_reader closing_loc: Location?
1381
-
1382
- def initialize: (Node? constant, Node left, Array[Node] requireds, Node right, Location? opening_loc, Location? closing_loc, Location location) -> void
1383
- def accept: (Visitor visitor) -> void
1384
- def set_newline_flag: (Array[bool] newline_marked) -> void
1385
- def child_nodes: () -> Array[Node?]
1386
- def deconstruct: () -> Array[Node?]
1387
-
1388
- def copy: (**untyped) -> FindPatternNode
1389
-
1390
- def deconstruct_keys: (Array[Symbol] keys) -> { constant: Node?, left: Node, requireds: Array[Node], right: Node, opening_loc: Location?, closing_loc: Location?, location: Location }
1391
-
1392
- def opening: () -> String?
1393
-
1394
- def closing: () -> String?
1395
-
1396
- def inspect: (?NodeInspector inspector) -> String
1397
- end
1398
- # Represents the use of the `..` or `...` operators to create flip flops.
1399
- #
1400
- # baz if foo .. bar
1401
- # ^^^^^^^^^^
1402
- class FlipFlopNode < Node
1403
- private attr_reader flags: Integer
1404
- attr_reader left: Node?
1405
- attr_reader right: Node?
1406
- attr_reader operator_loc: Location
1407
-
1408
- def initialize: (Integer flags, Node? left, Node? right, Location operator_loc, Location location) -> void
1409
- def accept: (Visitor visitor) -> void
1410
- def set_newline_flag: (Array[bool] newline_marked) -> void
1411
- def child_nodes: () -> Array[Node?]
1412
- def deconstruct: () -> Array[Node?]
1413
-
1414
- def copy: (**untyped) -> FlipFlopNode
1415
-
1416
- def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, left: Node?, right: Node?, operator_loc: Location, location: Location }
1417
-
1418
- def exclude_end?: () -> bool
1419
-
1420
- def operator: () -> String
1421
-
1422
- def inspect: (?NodeInspector inspector) -> String
1423
- end
1424
- # Represents a floating point number literal.
1425
- #
1426
- # 1.0
1427
- # ^^^
1428
- class FloatNode < Node
1429
-
1430
- def initialize: (Location location) -> void
1431
- def accept: (Visitor visitor) -> void
1432
- def set_newline_flag: (Array[bool] newline_marked) -> void
1433
- def child_nodes: () -> Array[Node?]
1434
- def deconstruct: () -> Array[Node?]
1435
-
1436
- def copy: (**untyped) -> FloatNode
1437
-
1438
- def deconstruct_keys: (Array[Symbol] keys) -> { location: Location }
1439
-
1440
- def inspect: (?NodeInspector inspector) -> String
1441
- end
1442
- # Represents the use of the `for` keyword.
1443
- #
1444
- # for i in a end
1445
- # ^^^^^^^^^^^^^^
1446
- class ForNode < Node
1447
- attr_reader index: Node
1448
- attr_reader collection: Node
1449
- attr_reader statements: StatementsNode?
1450
- attr_reader for_keyword_loc: Location
1451
- attr_reader in_keyword_loc: Location
1452
- attr_reader do_keyword_loc: Location?
1453
- attr_reader end_keyword_loc: Location
1454
-
1455
- def initialize: (Node index, Node collection, StatementsNode? statements, Location for_keyword_loc, Location in_keyword_loc, Location? do_keyword_loc, Location end_keyword_loc, Location location) -> void
1456
- def accept: (Visitor visitor) -> void
1457
- def set_newline_flag: (Array[bool] newline_marked) -> void
1458
- def child_nodes: () -> Array[Node?]
1459
- def deconstruct: () -> Array[Node?]
1460
-
1461
- def copy: (**untyped) -> ForNode
1462
-
1463
- def deconstruct_keys: (Array[Symbol] keys) -> { index: Node, collection: Node, statements: StatementsNode?, for_keyword_loc: Location, in_keyword_loc: Location, do_keyword_loc: Location?, end_keyword_loc: Location, location: Location }
1464
-
1465
- def for_keyword: () -> String
1466
-
1467
- def in_keyword: () -> String
1468
-
1469
- def do_keyword: () -> String?
1470
-
1471
- def end_keyword: () -> String
1472
-
1473
- def inspect: (?NodeInspector inspector) -> String
1474
- end
1475
- # Represents forwarding all arguments to this method to another method.
1476
- #
1477
- # def foo(...)
1478
- # bar(...)
1479
- # ^^^
1480
- # end
1481
- class ForwardingArgumentsNode < Node
1482
-
1483
- def initialize: (Location location) -> void
1484
- def accept: (Visitor visitor) -> void
1485
- def set_newline_flag: (Array[bool] newline_marked) -> void
1486
- def child_nodes: () -> Array[Node?]
1487
- def deconstruct: () -> Array[Node?]
1488
-
1489
- def copy: (**untyped) -> ForwardingArgumentsNode
1490
-
1491
- def deconstruct_keys: (Array[Symbol] keys) -> { location: Location }
1492
-
1493
- def inspect: (?NodeInspector inspector) -> String
1494
- end
1495
- # Represents the use of the forwarding parameter in a method, block, or lambda declaration.
1496
- #
1497
- # def foo(...)
1498
- # ^^^
1499
- # end
1500
- class ForwardingParameterNode < Node
1501
-
1502
- def initialize: (Location location) -> void
1503
- def accept: (Visitor visitor) -> void
1504
- def set_newline_flag: (Array[bool] newline_marked) -> void
1505
- def child_nodes: () -> Array[Node?]
1506
- def deconstruct: () -> Array[Node?]
1507
-
1508
- def copy: (**untyped) -> ForwardingParameterNode
1509
-
1510
- def deconstruct_keys: (Array[Symbol] keys) -> { location: Location }
1511
-
1512
- def inspect: (?NodeInspector inspector) -> String
1513
- end
1514
- # Represents the use of the `super` keyword without parentheses or arguments.
1515
- #
1516
- # super
1517
- # ^^^^^
1518
- class ForwardingSuperNode < Node
1519
- attr_reader block: BlockNode?
1520
-
1521
- def initialize: (BlockNode? block, Location location) -> void
1522
- def accept: (Visitor visitor) -> void
1523
- def set_newline_flag: (Array[bool] newline_marked) -> void
1524
- def child_nodes: () -> Array[Node?]
1525
- def deconstruct: () -> Array[Node?]
1526
-
1527
- def copy: (**untyped) -> ForwardingSuperNode
1528
-
1529
- def deconstruct_keys: (Array[Symbol] keys) -> { block: BlockNode?, location: Location }
1530
-
1531
- def inspect: (?NodeInspector inspector) -> String
1532
- end
1533
- # Represents the use of the `&&=` operator for assignment to a global variable.
1534
- #
1535
- # $target &&= value
1536
- # ^^^^^^^^^^^^^^^^^
1537
- class GlobalVariableAndWriteNode < Node
1538
- attr_reader name: Symbol
1539
- attr_reader name_loc: Location
1540
- attr_reader operator_loc: Location
1541
- attr_reader value: Node
1542
-
1543
- def initialize: (Symbol name, Location name_loc, Location operator_loc, Node value, Location location) -> void
1544
- def accept: (Visitor visitor) -> void
1545
- def set_newline_flag: (Array[bool] newline_marked) -> void
1546
- def child_nodes: () -> Array[Node?]
1547
- def deconstruct: () -> Array[Node?]
1548
-
1549
- def copy: (**untyped) -> GlobalVariableAndWriteNode
1550
-
1551
- def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, name_loc: Location, operator_loc: Location, value: Node, location: Location }
1552
-
1553
- def operator: () -> String
1554
-
1555
- def inspect: (?NodeInspector inspector) -> String
1556
- end
1557
- # Represents assigning to a global variable using an operator that isn't `=`.
1558
- #
1559
- # $target += value
1560
- # ^^^^^^^^^^^^^^^^
1561
- class GlobalVariableOperatorWriteNode < Node
1562
- attr_reader name: Symbol
1563
- attr_reader name_loc: Location
1564
- attr_reader operator_loc: Location
1565
- attr_reader value: Node
1566
- attr_reader operator: Symbol
1567
-
1568
- def initialize: (Symbol name, Location name_loc, Location operator_loc, Node value, Symbol operator, Location location) -> void
1569
- def accept: (Visitor visitor) -> void
1570
- def set_newline_flag: (Array[bool] newline_marked) -> void
1571
- def child_nodes: () -> Array[Node?]
1572
- def deconstruct: () -> Array[Node?]
1573
-
1574
- def copy: (**untyped) -> GlobalVariableOperatorWriteNode
1575
-
1576
- def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, name_loc: Location, operator_loc: Location, value: Node, operator: Symbol, location: Location }
1577
-
1578
- def inspect: (?NodeInspector inspector) -> String
1579
- end
1580
- # Represents the use of the `||=` operator for assignment to a global variable.
1581
- #
1582
- # $target ||= value
1583
- # ^^^^^^^^^^^^^^^^^
1584
- class GlobalVariableOrWriteNode < Node
1585
- attr_reader name: Symbol
1586
- attr_reader name_loc: Location
1587
- attr_reader operator_loc: Location
1588
- attr_reader value: Node
1589
-
1590
- def initialize: (Symbol name, Location name_loc, Location operator_loc, Node value, Location location) -> void
1591
- def accept: (Visitor visitor) -> void
1592
- def set_newline_flag: (Array[bool] newline_marked) -> void
1593
- def child_nodes: () -> Array[Node?]
1594
- def deconstruct: () -> Array[Node?]
1595
-
1596
- def copy: (**untyped) -> GlobalVariableOrWriteNode
1597
-
1598
- def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, name_loc: Location, operator_loc: Location, value: Node, location: Location }
1599
-
1600
- def operator: () -> String
1601
-
1602
- def inspect: (?NodeInspector inspector) -> String
1603
- end
1604
- # Represents referencing a global variable.
1605
- #
1606
- # $foo
1607
- # ^^^^
1608
- class GlobalVariableReadNode < Node
1609
- attr_reader name: Symbol
1610
-
1611
- def initialize: (Symbol name, Location location) -> void
1612
- def accept: (Visitor visitor) -> void
1613
- def set_newline_flag: (Array[bool] newline_marked) -> void
1614
- def child_nodes: () -> Array[Node?]
1615
- def deconstruct: () -> Array[Node?]
1616
-
1617
- def copy: (**untyped) -> GlobalVariableReadNode
1618
-
1619
- def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, location: Location }
1620
-
1621
- def inspect: (?NodeInspector inspector) -> String
1622
- end
1623
- # Represents writing to a global variable in a context that doesn't have an explicit value.
1624
- #
1625
- # $foo, $bar = baz
1626
- # ^^^^ ^^^^
1627
- class GlobalVariableTargetNode < Node
1628
- attr_reader name: Symbol
1629
-
1630
- def initialize: (Symbol name, Location location) -> void
1631
- def accept: (Visitor visitor) -> void
1632
- def set_newline_flag: (Array[bool] newline_marked) -> void
1633
- def child_nodes: () -> Array[Node?]
1634
- def deconstruct: () -> Array[Node?]
1635
-
1636
- def copy: (**untyped) -> GlobalVariableTargetNode
1637
-
1638
- def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, location: Location }
1639
-
1640
- def inspect: (?NodeInspector inspector) -> String
1641
- end
1642
- # Represents writing to a global variable.
1643
- #
1644
- # $foo = 1
1645
- # ^^^^^^^^
1646
- class GlobalVariableWriteNode < Node
1647
- attr_reader name: Symbol
1648
- attr_reader name_loc: Location
1649
- attr_reader value: Node
1650
- attr_reader operator_loc: Location
1651
-
1652
- def initialize: (Symbol name, Location name_loc, Node value, Location operator_loc, Location location) -> void
1653
- def accept: (Visitor visitor) -> void
1654
- def set_newline_flag: (Array[bool] newline_marked) -> void
1655
- def child_nodes: () -> Array[Node?]
1656
- def deconstruct: () -> Array[Node?]
1657
-
1658
- def copy: (**untyped) -> GlobalVariableWriteNode
1659
-
1660
- def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, name_loc: Location, value: Node, operator_loc: Location, location: Location }
1661
-
1662
- def operator: () -> String
1663
-
1664
- def inspect: (?NodeInspector inspector) -> String
1665
- end
1666
- # Represents a hash literal.
1667
- #
1668
- # { a => b }
1669
- # ^^^^^^^^^^
1670
- class HashNode < Node
1671
- attr_reader opening_loc: Location
1672
- attr_reader elements: Array[Node]
1673
- attr_reader closing_loc: Location
1674
-
1675
- def initialize: (Location opening_loc, Array[Node] elements, Location closing_loc, Location location) -> void
1676
- def accept: (Visitor visitor) -> void
1677
- def set_newline_flag: (Array[bool] newline_marked) -> void
1678
- def child_nodes: () -> Array[Node?]
1679
- def deconstruct: () -> Array[Node?]
1680
-
1681
- def copy: (**untyped) -> HashNode
1682
-
1683
- def deconstruct_keys: (Array[Symbol] keys) -> { opening_loc: Location, elements: Array[Node], closing_loc: Location, location: Location }
1684
-
1685
- def opening: () -> String
1686
-
1687
- def closing: () -> String
1688
-
1689
- def inspect: (?NodeInspector inspector) -> String
1690
- end
1691
- # Represents a hash pattern in pattern matching.
1692
- #
1693
- # foo => { a: 1, b: 2 }
1694
- # ^^^^^^^^^^^^^^
1695
- #
1696
- # foo => { a: 1, b: 2, **c }
1697
- # ^^^^^^^^^^^^^^^^^^^
1698
- class HashPatternNode < Node
1699
- attr_reader constant: Node?
1700
- attr_reader elements: Array[Node]
1701
- attr_reader rest: Node?
1702
- attr_reader opening_loc: Location?
1703
- attr_reader closing_loc: Location?
1704
-
1705
- def initialize: (Node? constant, Array[Node] elements, Node? rest, Location? opening_loc, Location? closing_loc, Location location) -> void
1706
- def accept: (Visitor visitor) -> void
1707
- def set_newline_flag: (Array[bool] newline_marked) -> void
1708
- def child_nodes: () -> Array[Node?]
1709
- def deconstruct: () -> Array[Node?]
1710
-
1711
- def copy: (**untyped) -> HashPatternNode
1712
-
1713
- def deconstruct_keys: (Array[Symbol] keys) -> { constant: Node?, elements: Array[Node], rest: Node?, opening_loc: Location?, closing_loc: Location?, location: Location }
1714
-
1715
- def opening: () -> String?
1716
-
1717
- def closing: () -> String?
1718
-
1719
- def inspect: (?NodeInspector inspector) -> String
1720
- end
1721
- # Represents the use of the `if` keyword, either in the block form or the modifier form.
1722
- #
1723
- # bar if foo
1724
- # ^^^^^^^^^^
1725
- #
1726
- # if foo then bar end
1727
- # ^^^^^^^^^^^^^^^^^^^
1728
- class IfNode < Node
1729
- attr_reader if_keyword_loc: Location?
1730
- attr_reader predicate: Node
1731
- attr_reader then_keyword_loc: Location?
1732
- attr_reader statements: StatementsNode?
1733
- attr_reader consequent: Node?
1734
- attr_reader end_keyword_loc: Location?
1735
-
1736
- def initialize: (Location? if_keyword_loc, Node predicate, Location? then_keyword_loc, StatementsNode? statements, Node? consequent, Location? end_keyword_loc, Location location) -> void
1737
- def accept: (Visitor visitor) -> void
1738
- def set_newline_flag: (Array[bool] newline_marked) -> void
1739
- def child_nodes: () -> Array[Node?]
1740
- def deconstruct: () -> Array[Node?]
1741
-
1742
- def copy: (**untyped) -> IfNode
1743
-
1744
- def deconstruct_keys: (Array[Symbol] keys) -> { if_keyword_loc: Location?, predicate: Node, then_keyword_loc: Location?, statements: StatementsNode?, consequent: Node?, end_keyword_loc: Location?, location: Location }
1745
-
1746
- def if_keyword: () -> String?
1747
-
1748
- def then_keyword: () -> String?
1749
-
1750
- def end_keyword: () -> String?
1751
-
1752
- def inspect: (?NodeInspector inspector) -> String
1753
- end
1754
- # Represents an imaginary number literal.
1755
- #
1756
- # 1.0i
1757
- # ^^^^
1758
- class ImaginaryNode < Node
1759
- attr_reader numeric: Node
1760
-
1761
- def initialize: (Node numeric, Location location) -> void
1762
- def accept: (Visitor visitor) -> void
1763
- def set_newline_flag: (Array[bool] newline_marked) -> void
1764
- def child_nodes: () -> Array[Node?]
1765
- def deconstruct: () -> Array[Node?]
1766
-
1767
- def copy: (**untyped) -> ImaginaryNode
1768
-
1769
- def deconstruct_keys: (Array[Symbol] keys) -> { numeric: Node, location: Location }
1770
-
1771
- def inspect: (?NodeInspector inspector) -> String
1772
- end
1773
- # Represents a node that is implicitly being added to the tree but doesn't correspond directly to a node in the source.
1774
- #
1775
- # { foo: }
1776
- # ^^^^
1777
- #
1778
- # { Foo: }
1779
- # ^^^^
1780
- #
1781
- # foo in { bar: }
1782
- # ^^^^
1783
- class ImplicitNode < Node
1784
- attr_reader value: Node
1785
-
1786
- def initialize: (Node value, Location location) -> void
1787
- def accept: (Visitor visitor) -> void
1788
- def set_newline_flag: (Array[bool] newline_marked) -> void
1789
- def child_nodes: () -> Array[Node?]
1790
- def deconstruct: () -> Array[Node?]
1791
-
1792
- def copy: (**untyped) -> ImplicitNode
1793
-
1794
- def deconstruct_keys: (Array[Symbol] keys) -> { value: Node, location: Location }
1795
-
1796
- def inspect: (?NodeInspector inspector) -> String
1797
- end
1798
- # Represents using a trailing comma to indicate an implicit rest parameter.
1799
- #
1800
- # foo { |bar,| }
1801
- # ^
1802
- #
1803
- # foo in [bar,]
1804
- # ^
1805
- #
1806
- # for foo, in bar do end
1807
- # ^
1808
- #
1809
- # foo, = bar
1810
- # ^
1811
- class ImplicitRestNode < Node
1812
-
1813
- def initialize: (Location location) -> void
1814
- def accept: (Visitor visitor) -> void
1815
- def set_newline_flag: (Array[bool] newline_marked) -> void
1816
- def child_nodes: () -> Array[Node?]
1817
- def deconstruct: () -> Array[Node?]
1818
-
1819
- def copy: (**untyped) -> ImplicitRestNode
1820
-
1821
- def deconstruct_keys: (Array[Symbol] keys) -> { location: Location }
1822
-
1823
- def inspect: (?NodeInspector inspector) -> String
1824
- end
1825
- # Represents the use of the `in` keyword in a case statement.
1826
- #
1827
- # case a; in b then c end
1828
- # ^^^^^^^^^^^
1829
- class InNode < Node
1830
- attr_reader pattern: Node
1831
- attr_reader statements: StatementsNode?
1832
- attr_reader in_loc: Location
1833
- attr_reader then_loc: Location?
1834
-
1835
- def initialize: (Node pattern, StatementsNode? statements, Location in_loc, Location? then_loc, Location location) -> void
1836
- def accept: (Visitor visitor) -> void
1837
- def set_newline_flag: (Array[bool] newline_marked) -> void
1838
- def child_nodes: () -> Array[Node?]
1839
- def deconstruct: () -> Array[Node?]
1840
-
1841
- def copy: (**untyped) -> InNode
1842
-
1843
- def deconstruct_keys: (Array[Symbol] keys) -> { pattern: Node, statements: StatementsNode?, in_loc: Location, then_loc: Location?, location: Location }
1844
-
1845
- def in: () -> String
1846
-
1847
- def then: () -> String?
1848
-
1849
- def inspect: (?NodeInspector inspector) -> String
1850
- end
1851
- # Represents the use of the `&&=` operator on a call to the `[]` method.
1852
- #
1853
- # foo.bar[baz] &&= value
1854
- # ^^^^^^^^^^^^^^^^^^^^^^
1855
- class IndexAndWriteNode < Node
1856
- private attr_reader flags: Integer
1857
- attr_reader receiver: Node?
1858
- attr_reader call_operator_loc: Location?
1859
- attr_reader opening_loc: Location
1860
- attr_reader arguments: ArgumentsNode?
1861
- attr_reader closing_loc: Location
1862
- attr_reader block: Node?
1863
- attr_reader operator_loc: Location
1864
- attr_reader value: Node
1865
-
1866
- def initialize: (Integer flags, Node? receiver, Location? call_operator_loc, Location opening_loc, ArgumentsNode? arguments, Location closing_loc, Node? block, Location operator_loc, Node value, Location location) -> void
1867
- def accept: (Visitor visitor) -> void
1868
- def set_newline_flag: (Array[bool] newline_marked) -> void
1869
- def child_nodes: () -> Array[Node?]
1870
- def deconstruct: () -> Array[Node?]
1871
-
1872
- def copy: (**untyped) -> IndexAndWriteNode
1873
-
1874
- def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, receiver: Node?, call_operator_loc: Location?, opening_loc: Location, arguments: ArgumentsNode?, closing_loc: Location, block: Node?, operator_loc: Location, value: Node, location: Location }
1875
-
1876
- def safe_navigation?: () -> bool
1877
-
1878
- def variable_call?: () -> bool
1879
-
1880
- def attribute_write?: () -> bool
1881
-
1882
- def ignore_visibility?: () -> bool
1883
-
1884
- def call_operator: () -> String?
1885
-
1886
- def opening: () -> String
1887
-
1888
- def closing: () -> String
1889
-
1890
- def operator: () -> String
1891
-
1892
- def inspect: (?NodeInspector inspector) -> String
1893
- end
1894
- # Represents the use of an assignment operator on a call to `[]`.
1895
- #
1896
- # foo.bar[baz] += value
1897
- # ^^^^^^^^^^^^^^^^^^^^^
1898
- class IndexOperatorWriteNode < Node
1899
- private attr_reader flags: Integer
1900
- attr_reader receiver: Node?
1901
- attr_reader call_operator_loc: Location?
1902
- attr_reader opening_loc: Location
1903
- attr_reader arguments: ArgumentsNode?
1904
- attr_reader closing_loc: Location
1905
- attr_reader block: Node?
1906
- attr_reader operator: Symbol
1907
- attr_reader operator_loc: Location
1908
- attr_reader value: Node
1909
-
1910
- def initialize: (Integer flags, Node? receiver, Location? call_operator_loc, Location opening_loc, ArgumentsNode? arguments, Location closing_loc, Node? block, Symbol operator, Location operator_loc, Node value, Location location) -> void
1911
- def accept: (Visitor visitor) -> void
1912
- def set_newline_flag: (Array[bool] newline_marked) -> void
1913
- def child_nodes: () -> Array[Node?]
1914
- def deconstruct: () -> Array[Node?]
1915
-
1916
- def copy: (**untyped) -> IndexOperatorWriteNode
1917
-
1918
- def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, receiver: Node?, call_operator_loc: Location?, opening_loc: Location, arguments: ArgumentsNode?, closing_loc: Location, block: Node?, operator: Symbol, operator_loc: Location, value: Node, location: Location }
1919
-
1920
- def safe_navigation?: () -> bool
1921
-
1922
- def variable_call?: () -> bool
1923
-
1924
- def attribute_write?: () -> bool
1925
-
1926
- def ignore_visibility?: () -> bool
1927
-
1928
- def call_operator: () -> String?
1929
-
1930
- def opening: () -> String
1931
-
1932
- def closing: () -> String
1933
-
1934
- def inspect: (?NodeInspector inspector) -> String
1935
- end
1936
- # Represents the use of the `||=` operator on a call to `[]`.
1937
- #
1938
- # foo.bar[baz] ||= value
1939
- # ^^^^^^^^^^^^^^^^^^^^^^
1940
- class IndexOrWriteNode < Node
1941
- private attr_reader flags: Integer
1942
- attr_reader receiver: Node?
1943
- attr_reader call_operator_loc: Location?
1944
- attr_reader opening_loc: Location
1945
- attr_reader arguments: ArgumentsNode?
1946
- attr_reader closing_loc: Location
1947
- attr_reader block: Node?
1948
- attr_reader operator_loc: Location
1949
- attr_reader value: Node
1950
-
1951
- def initialize: (Integer flags, Node? receiver, Location? call_operator_loc, Location opening_loc, ArgumentsNode? arguments, Location closing_loc, Node? block, Location operator_loc, Node value, Location location) -> void
1952
- def accept: (Visitor visitor) -> void
1953
- def set_newline_flag: (Array[bool] newline_marked) -> void
1954
- def child_nodes: () -> Array[Node?]
1955
- def deconstruct: () -> Array[Node?]
1956
-
1957
- def copy: (**untyped) -> IndexOrWriteNode
1958
-
1959
- def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, receiver: Node?, call_operator_loc: Location?, opening_loc: Location, arguments: ArgumentsNode?, closing_loc: Location, block: Node?, operator_loc: Location, value: Node, location: Location }
1960
-
1961
- def safe_navigation?: () -> bool
1962
-
1963
- def variable_call?: () -> bool
1964
-
1965
- def attribute_write?: () -> bool
1966
-
1967
- def ignore_visibility?: () -> bool
1968
-
1969
- def call_operator: () -> String?
1970
-
1971
- def opening: () -> String
1972
-
1973
- def closing: () -> String
1974
-
1975
- def operator: () -> String
1976
-
1977
- def inspect: (?NodeInspector inspector) -> String
1978
- end
1979
- # Represents assigning to an index.
1980
- #
1981
- # foo[bar], = 1
1982
- # ^^^^^^^^
1983
- #
1984
- # begin
1985
- # rescue => foo[bar]
1986
- # ^^^^^^^^
1987
- # end
1988
- #
1989
- # for foo[bar] in baz do end
1990
- # ^^^^^^^^
1991
- class IndexTargetNode < Node
1992
- private attr_reader flags: Integer
1993
- attr_reader receiver: Node
1994
- attr_reader opening_loc: Location
1995
- attr_reader arguments: ArgumentsNode?
1996
- attr_reader closing_loc: Location
1997
- attr_reader block: Node?
1998
-
1999
- def initialize: (Integer flags, Node receiver, Location opening_loc, ArgumentsNode? arguments, Location closing_loc, Node? block, Location location) -> void
2000
- def accept: (Visitor visitor) -> void
2001
- def set_newline_flag: (Array[bool] newline_marked) -> void
2002
- def child_nodes: () -> Array[Node?]
2003
- def deconstruct: () -> Array[Node?]
2004
-
2005
- def copy: (**untyped) -> IndexTargetNode
2006
-
2007
- def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, receiver: Node, opening_loc: Location, arguments: ArgumentsNode?, closing_loc: Location, block: Node?, location: Location }
2008
-
2009
- def safe_navigation?: () -> bool
2010
-
2011
- def variable_call?: () -> bool
2012
-
2013
- def attribute_write?: () -> bool
2014
-
2015
- def ignore_visibility?: () -> bool
2016
-
2017
- def opening: () -> String
2018
-
2019
- def closing: () -> String
2020
-
2021
- def inspect: (?NodeInspector inspector) -> String
2022
- end
2023
- # Represents the use of the `&&=` operator for assignment to an instance variable.
2024
- #
2025
- # @target &&= value
2026
- # ^^^^^^^^^^^^^^^^^
2027
- class InstanceVariableAndWriteNode < Node
2028
- attr_reader name: Symbol
2029
- attr_reader name_loc: Location
2030
- attr_reader operator_loc: Location
2031
- attr_reader value: Node
2032
-
2033
- def initialize: (Symbol name, Location name_loc, Location operator_loc, Node value, Location location) -> void
2034
- def accept: (Visitor visitor) -> void
2035
- def set_newline_flag: (Array[bool] newline_marked) -> void
2036
- def child_nodes: () -> Array[Node?]
2037
- def deconstruct: () -> Array[Node?]
2038
-
2039
- def copy: (**untyped) -> InstanceVariableAndWriteNode
2040
-
2041
- def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, name_loc: Location, operator_loc: Location, value: Node, location: Location }
2042
-
2043
- def operator: () -> String
2044
-
2045
- def inspect: (?NodeInspector inspector) -> String
2046
- end
2047
- # Represents assigning to an instance variable using an operator that isn't `=`.
2048
- #
2049
- # @target += value
2050
- # ^^^^^^^^^^^^^^^^
2051
- class InstanceVariableOperatorWriteNode < Node
2052
- attr_reader name: Symbol
2053
- attr_reader name_loc: Location
2054
- attr_reader operator_loc: Location
2055
- attr_reader value: Node
2056
- attr_reader operator: Symbol
2057
-
2058
- def initialize: (Symbol name, Location name_loc, Location operator_loc, Node value, Symbol operator, Location location) -> void
2059
- def accept: (Visitor visitor) -> void
2060
- def set_newline_flag: (Array[bool] newline_marked) -> void
2061
- def child_nodes: () -> Array[Node?]
2062
- def deconstruct: () -> Array[Node?]
2063
-
2064
- def copy: (**untyped) -> InstanceVariableOperatorWriteNode
2065
-
2066
- def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, name_loc: Location, operator_loc: Location, value: Node, operator: Symbol, location: Location }
2067
-
2068
- def inspect: (?NodeInspector inspector) -> String
2069
- end
2070
- # Represents the use of the `||=` operator for assignment to an instance variable.
2071
- #
2072
- # @target ||= value
2073
- # ^^^^^^^^^^^^^^^^^
2074
- class InstanceVariableOrWriteNode < Node
2075
- attr_reader name: Symbol
2076
- attr_reader name_loc: Location
2077
- attr_reader operator_loc: Location
2078
- attr_reader value: Node
2079
-
2080
- def initialize: (Symbol name, Location name_loc, Location operator_loc, Node value, Location location) -> void
2081
- def accept: (Visitor visitor) -> void
2082
- def set_newline_flag: (Array[bool] newline_marked) -> void
2083
- def child_nodes: () -> Array[Node?]
2084
- def deconstruct: () -> Array[Node?]
2085
-
2086
- def copy: (**untyped) -> InstanceVariableOrWriteNode
2087
-
2088
- def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, name_loc: Location, operator_loc: Location, value: Node, location: Location }
2089
-
2090
- def operator: () -> String
2091
-
2092
- def inspect: (?NodeInspector inspector) -> String
2093
- end
2094
- # Represents referencing an instance variable.
2095
- #
2096
- # @foo
2097
- # ^^^^
2098
- class InstanceVariableReadNode < Node
2099
- attr_reader name: Symbol
2100
-
2101
- def initialize: (Symbol name, Location location) -> void
2102
- def accept: (Visitor visitor) -> void
2103
- def set_newline_flag: (Array[bool] newline_marked) -> void
2104
- def child_nodes: () -> Array[Node?]
2105
- def deconstruct: () -> Array[Node?]
2106
-
2107
- def copy: (**untyped) -> InstanceVariableReadNode
2108
-
2109
- def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, location: Location }
2110
-
2111
- def inspect: (?NodeInspector inspector) -> String
2112
- end
2113
- # Represents writing to an instance variable in a context that doesn't have an explicit value.
2114
- #
2115
- # @foo, @bar = baz
2116
- # ^^^^ ^^^^
2117
- class InstanceVariableTargetNode < Node
2118
- attr_reader name: Symbol
2119
-
2120
- def initialize: (Symbol name, Location location) -> void
2121
- def accept: (Visitor visitor) -> void
2122
- def set_newline_flag: (Array[bool] newline_marked) -> void
2123
- def child_nodes: () -> Array[Node?]
2124
- def deconstruct: () -> Array[Node?]
2125
-
2126
- def copy: (**untyped) -> InstanceVariableTargetNode
2127
-
2128
- def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, location: Location }
2129
-
2130
- def inspect: (?NodeInspector inspector) -> String
2131
- end
2132
- # Represents writing to an instance variable.
2133
- #
2134
- # @foo = 1
2135
- # ^^^^^^^^
2136
- class InstanceVariableWriteNode < Node
2137
- attr_reader name: Symbol
2138
- attr_reader name_loc: Location
2139
- attr_reader value: Node
2140
- attr_reader operator_loc: Location
2141
-
2142
- def initialize: (Symbol name, Location name_loc, Node value, Location operator_loc, Location location) -> void
2143
- def accept: (Visitor visitor) -> void
2144
- def set_newline_flag: (Array[bool] newline_marked) -> void
2145
- def child_nodes: () -> Array[Node?]
2146
- def deconstruct: () -> Array[Node?]
2147
-
2148
- def copy: (**untyped) -> InstanceVariableWriteNode
2149
-
2150
- def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, name_loc: Location, value: Node, operator_loc: Location, location: Location }
2151
-
2152
- def operator: () -> String
2153
-
2154
- def inspect: (?NodeInspector inspector) -> String
2155
- end
2156
- # Represents an integer number literal.
2157
- #
2158
- # 1
2159
- # ^
2160
- class IntegerNode < Node
2161
- private attr_reader flags: Integer
2162
-
2163
- def initialize: (Integer flags, Location location) -> void
2164
- def accept: (Visitor visitor) -> void
2165
- def set_newline_flag: (Array[bool] newline_marked) -> void
2166
- def child_nodes: () -> Array[Node?]
2167
- def deconstruct: () -> Array[Node?]
2168
-
2169
- def copy: (**untyped) -> IntegerNode
2170
-
2171
- def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, location: Location }
2172
-
2173
- def binary?: () -> bool
2174
-
2175
- def decimal?: () -> bool
2176
-
2177
- def octal?: () -> bool
2178
-
2179
- def hexadecimal?: () -> bool
2180
-
2181
- def inspect: (?NodeInspector inspector) -> String
2182
- end
2183
- # Represents a regular expression literal that contains interpolation that is being used in the predicate of a conditional to implicitly match against the last line read by an IO object.
2184
- #
2185
- # if /foo #{bar} baz/ then end
2186
- # ^^^^^^^^^^^^^^^^
2187
- class InterpolatedMatchLastLineNode < Node
2188
- private attr_reader flags: Integer
2189
- attr_reader opening_loc: Location
2190
- attr_reader parts: Array[Node]
2191
- attr_reader closing_loc: Location
2192
-
2193
- def initialize: (Integer flags, Location opening_loc, Array[Node] parts, Location closing_loc, Location location) -> void
2194
- def accept: (Visitor visitor) -> void
2195
- def set_newline_flag: (Array[bool] newline_marked) -> void
2196
- def child_nodes: () -> Array[Node?]
2197
- def deconstruct: () -> Array[Node?]
2198
-
2199
- def copy: (**untyped) -> InterpolatedMatchLastLineNode
2200
-
2201
- def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, opening_loc: Location, parts: Array[Node], closing_loc: Location, location: Location }
2202
-
2203
- def ignore_case?: () -> bool
2204
-
2205
- def extended?: () -> bool
2206
-
2207
- def multi_line?: () -> bool
2208
-
2209
- def once?: () -> bool
2210
-
2211
- def euc_jp?: () -> bool
2212
-
2213
- def ascii_8bit?: () -> bool
2214
-
2215
- def windows_31j?: () -> bool
2216
-
2217
- def utf_8?: () -> bool
2218
-
2219
- def forced_utf8_encoding?: () -> bool
2220
-
2221
- def forced_binary_encoding?: () -> bool
2222
-
2223
- def forced_us_ascii_encoding?: () -> bool
2224
-
2225
- def opening: () -> String
2226
-
2227
- def closing: () -> String
2228
-
2229
- def inspect: (?NodeInspector inspector) -> String
2230
- end
2231
- # Represents a regular expression literal that contains interpolation.
2232
- #
2233
- # /foo #{bar} baz/
2234
- # ^^^^^^^^^^^^^^^^
2235
- class InterpolatedRegularExpressionNode < Node
2236
- private attr_reader flags: Integer
2237
- attr_reader opening_loc: Location
2238
- attr_reader parts: Array[Node]
2239
- attr_reader closing_loc: Location
2240
-
2241
- def initialize: (Integer flags, Location opening_loc, Array[Node] parts, Location closing_loc, Location location) -> void
2242
- def accept: (Visitor visitor) -> void
2243
- def set_newline_flag: (Array[bool] newline_marked) -> void
2244
- def child_nodes: () -> Array[Node?]
2245
- def deconstruct: () -> Array[Node?]
2246
-
2247
- def copy: (**untyped) -> InterpolatedRegularExpressionNode
2248
-
2249
- def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, opening_loc: Location, parts: Array[Node], closing_loc: Location, location: Location }
2250
-
2251
- def ignore_case?: () -> bool
2252
-
2253
- def extended?: () -> bool
2254
-
2255
- def multi_line?: () -> bool
2256
-
2257
- def once?: () -> bool
2258
-
2259
- def euc_jp?: () -> bool
2260
-
2261
- def ascii_8bit?: () -> bool
2262
-
2263
- def windows_31j?: () -> bool
2264
-
2265
- def utf_8?: () -> bool
2266
-
2267
- def forced_utf8_encoding?: () -> bool
2268
-
2269
- def forced_binary_encoding?: () -> bool
2270
-
2271
- def forced_us_ascii_encoding?: () -> bool
2272
-
2273
- def opening: () -> String
2274
-
2275
- def closing: () -> String
2276
-
2277
- def inspect: (?NodeInspector inspector) -> String
2278
- end
2279
- # Represents a string literal that contains interpolation.
2280
- #
2281
- # "foo #{bar} baz"
2282
- # ^^^^^^^^^^^^^^^^
2283
- class InterpolatedStringNode < Node
2284
- attr_reader opening_loc: Location?
2285
- attr_reader parts: Array[Node]
2286
- attr_reader closing_loc: Location?
2287
-
2288
- def initialize: (Location? opening_loc, Array[Node] parts, Location? closing_loc, Location location) -> void
2289
- def accept: (Visitor visitor) -> void
2290
- def set_newline_flag: (Array[bool] newline_marked) -> void
2291
- def child_nodes: () -> Array[Node?]
2292
- def deconstruct: () -> Array[Node?]
2293
-
2294
- def copy: (**untyped) -> InterpolatedStringNode
2295
-
2296
- def deconstruct_keys: (Array[Symbol] keys) -> { opening_loc: Location?, parts: Array[Node], closing_loc: Location?, location: Location }
2297
-
2298
- def opening: () -> String?
2299
-
2300
- def closing: () -> String?
2301
-
2302
- def inspect: (?NodeInspector inspector) -> String
2303
- end
2304
- # Represents a symbol literal that contains interpolation.
2305
- #
2306
- # :"foo #{bar} baz"
2307
- # ^^^^^^^^^^^^^^^^^
2308
- class InterpolatedSymbolNode < Node
2309
- attr_reader opening_loc: Location?
2310
- attr_reader parts: Array[Node]
2311
- attr_reader closing_loc: Location?
2312
-
2313
- def initialize: (Location? opening_loc, Array[Node] parts, Location? closing_loc, Location location) -> void
2314
- def accept: (Visitor visitor) -> void
2315
- def set_newline_flag: (Array[bool] newline_marked) -> void
2316
- def child_nodes: () -> Array[Node?]
2317
- def deconstruct: () -> Array[Node?]
2318
-
2319
- def copy: (**untyped) -> InterpolatedSymbolNode
2320
-
2321
- def deconstruct_keys: (Array[Symbol] keys) -> { opening_loc: Location?, parts: Array[Node], closing_loc: Location?, location: Location }
2322
-
2323
- def opening: () -> String?
2324
-
2325
- def closing: () -> String?
2326
-
2327
- def inspect: (?NodeInspector inspector) -> String
2328
- end
2329
- # Represents an xstring literal that contains interpolation.
2330
- #
2331
- # `foo #{bar} baz`
2332
- # ^^^^^^^^^^^^^^^^
2333
- class InterpolatedXStringNode < Node
2334
- attr_reader opening_loc: Location
2335
- attr_reader parts: Array[Node]
2336
- attr_reader closing_loc: Location
2337
-
2338
- def initialize: (Location opening_loc, Array[Node] parts, Location closing_loc, Location location) -> void
2339
- def accept: (Visitor visitor) -> void
2340
- def set_newline_flag: (Array[bool] newline_marked) -> void
2341
- def child_nodes: () -> Array[Node?]
2342
- def deconstruct: () -> Array[Node?]
2343
-
2344
- def copy: (**untyped) -> InterpolatedXStringNode
2345
-
2346
- def deconstruct_keys: (Array[Symbol] keys) -> { opening_loc: Location, parts: Array[Node], closing_loc: Location, location: Location }
2347
-
2348
- def opening: () -> String
2349
-
2350
- def closing: () -> String
2351
-
2352
- def inspect: (?NodeInspector inspector) -> String
2353
- end
2354
- # Represents a hash literal without opening and closing braces.
2355
- #
2356
- # foo(a: b)
2357
- # ^^^^
2358
- class KeywordHashNode < Node
2359
- private attr_reader flags: Integer
2360
- attr_reader elements: Array[Node]
2361
-
2362
- def initialize: (Integer flags, Array[Node] elements, Location location) -> void
2363
- def accept: (Visitor visitor) -> void
2364
- def set_newline_flag: (Array[bool] newline_marked) -> void
2365
- def child_nodes: () -> Array[Node?]
2366
- def deconstruct: () -> Array[Node?]
2367
-
2368
- def copy: (**untyped) -> KeywordHashNode
2369
-
2370
- def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, elements: Array[Node], location: Location }
2371
-
2372
- def symbol_keys?: () -> bool
2373
-
2374
- def inspect: (?NodeInspector inspector) -> String
2375
- end
2376
- # Represents a keyword rest parameter to a method, block, or lambda definition.
2377
- #
2378
- # def a(**b)
2379
- # ^^^
2380
- # end
2381
- class KeywordRestParameterNode < Node
2382
- private attr_reader flags: Integer
2383
- attr_reader name: Symbol?
2384
- attr_reader name_loc: Location?
2385
- attr_reader operator_loc: Location
2386
-
2387
- def initialize: (Integer flags, Symbol? name, Location? name_loc, Location operator_loc, Location location) -> void
2388
- def accept: (Visitor visitor) -> void
2389
- def set_newline_flag: (Array[bool] newline_marked) -> void
2390
- def child_nodes: () -> Array[Node?]
2391
- def deconstruct: () -> Array[Node?]
2392
-
2393
- def copy: (**untyped) -> KeywordRestParameterNode
2394
-
2395
- def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, name: Symbol?, name_loc: Location?, operator_loc: Location, location: Location }
2396
-
2397
- def repeated_parameter?: () -> bool
2398
-
2399
- def operator: () -> String
2400
-
2401
- def inspect: (?NodeInspector inspector) -> String
2402
- end
2403
- # Represents using a lambda literal (not the lambda method call).
2404
- #
2405
- # ->(value) { value * 2 }
2406
- # ^^^^^^^^^^^^^^^^^^^^^^^
2407
- class LambdaNode < Node
2408
- attr_reader locals: Array[Symbol]
2409
- attr_reader operator_loc: Location
2410
- attr_reader opening_loc: Location
2411
- attr_reader closing_loc: Location
2412
- attr_reader parameters: Node?
2413
- attr_reader body: Node?
2414
-
2415
- def initialize: (Array[Symbol] locals, Location operator_loc, Location opening_loc, Location closing_loc, Node? parameters, Node? body, Location location) -> void
2416
- def accept: (Visitor visitor) -> void
2417
- def set_newline_flag: (Array[bool] newline_marked) -> void
2418
- def child_nodes: () -> Array[Node?]
2419
- def deconstruct: () -> Array[Node?]
2420
-
2421
- def copy: (**untyped) -> LambdaNode
2422
-
2423
- def deconstruct_keys: (Array[Symbol] keys) -> { locals: Array[Symbol], operator_loc: Location, opening_loc: Location, closing_loc: Location, parameters: Node?, body: Node?, location: Location }
2424
-
2425
- def operator: () -> String
2426
-
2427
- def opening: () -> String
2428
-
2429
- def closing: () -> String
2430
-
2431
- def inspect: (?NodeInspector inspector) -> String
2432
- end
2433
- # Represents the use of the `&&=` operator for assignment to a local variable.
2434
- #
2435
- # target &&= value
2436
- # ^^^^^^^^^^^^^^^^
2437
- class LocalVariableAndWriteNode < Node
2438
- attr_reader name_loc: Location
2439
- attr_reader operator_loc: Location
2440
- attr_reader value: Node
2441
- attr_reader name: Symbol
2442
- attr_reader depth: Integer
2443
-
2444
- def initialize: (Location name_loc, Location operator_loc, Node value, Symbol name, Integer depth, Location location) -> void
2445
- def accept: (Visitor visitor) -> void
2446
- def set_newline_flag: (Array[bool] newline_marked) -> void
2447
- def child_nodes: () -> Array[Node?]
2448
- def deconstruct: () -> Array[Node?]
2449
-
2450
- def copy: (**untyped) -> LocalVariableAndWriteNode
2451
-
2452
- def deconstruct_keys: (Array[Symbol] keys) -> { name_loc: Location, operator_loc: Location, value: Node, name: Symbol, depth: Integer, location: Location }
2453
-
2454
- def operator: () -> String
2455
-
2456
- def inspect: (?NodeInspector inspector) -> String
2457
- end
2458
- # Represents assigning to a local variable using an operator that isn't `=`.
2459
- #
2460
- # target += value
2461
- # ^^^^^^^^^^^^^^^
2462
- class LocalVariableOperatorWriteNode < Node
2463
- attr_reader name_loc: Location
2464
- attr_reader operator_loc: Location
2465
- attr_reader value: Node
2466
- attr_reader name: Symbol
2467
- attr_reader operator: Symbol
2468
- attr_reader depth: Integer
2469
-
2470
- def initialize: (Location name_loc, Location operator_loc, Node value, Symbol name, Symbol operator, Integer depth, Location location) -> void
2471
- def accept: (Visitor visitor) -> void
2472
- def set_newline_flag: (Array[bool] newline_marked) -> void
2473
- def child_nodes: () -> Array[Node?]
2474
- def deconstruct: () -> Array[Node?]
2475
-
2476
- def copy: (**untyped) -> LocalVariableOperatorWriteNode
2477
-
2478
- def deconstruct_keys: (Array[Symbol] keys) -> { name_loc: Location, operator_loc: Location, value: Node, name: Symbol, operator: Symbol, depth: Integer, location: Location }
2479
-
2480
- def inspect: (?NodeInspector inspector) -> String
2481
- end
2482
- # Represents the use of the `||=` operator for assignment to a local variable.
2483
- #
2484
- # target ||= value
2485
- # ^^^^^^^^^^^^^^^^
2486
- class LocalVariableOrWriteNode < Node
2487
- attr_reader name_loc: Location
2488
- attr_reader operator_loc: Location
2489
- attr_reader value: Node
2490
- attr_reader name: Symbol
2491
- attr_reader depth: Integer
2492
-
2493
- def initialize: (Location name_loc, Location operator_loc, Node value, Symbol name, Integer depth, Location location) -> void
2494
- def accept: (Visitor visitor) -> void
2495
- def set_newline_flag: (Array[bool] newline_marked) -> void
2496
- def child_nodes: () -> Array[Node?]
2497
- def deconstruct: () -> Array[Node?]
2498
-
2499
- def copy: (**untyped) -> LocalVariableOrWriteNode
2500
-
2501
- def deconstruct_keys: (Array[Symbol] keys) -> { name_loc: Location, operator_loc: Location, value: Node, name: Symbol, depth: Integer, location: Location }
2502
-
2503
- def operator: () -> String
2504
-
2505
- def inspect: (?NodeInspector inspector) -> String
2506
- end
2507
- # Represents reading a local variable. Note that this requires that a local variable of the same name has already been written to in the same scope, otherwise it is parsed as a method call.
2508
- #
2509
- # foo
2510
- # ^^^
2511
- class LocalVariableReadNode < Node
2512
- attr_reader name: Symbol
2513
- attr_reader depth: Integer
2514
-
2515
- def initialize: (Symbol name, Integer depth, Location location) -> void
2516
- def accept: (Visitor visitor) -> void
2517
- def set_newline_flag: (Array[bool] newline_marked) -> void
2518
- def child_nodes: () -> Array[Node?]
2519
- def deconstruct: () -> Array[Node?]
2520
-
2521
- def copy: (**untyped) -> LocalVariableReadNode
2522
-
2523
- def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, depth: Integer, location: Location }
2524
-
2525
- def inspect: (?NodeInspector inspector) -> String
2526
- end
2527
- # Represents writing to a local variable in a context that doesn't have an explicit value.
2528
- #
2529
- # foo, bar = baz
2530
- # ^^^ ^^^
2531
- class LocalVariableTargetNode < Node
2532
- attr_reader name: Symbol
2533
- attr_reader depth: Integer
2534
-
2535
- def initialize: (Symbol name, Integer depth, Location location) -> void
2536
- def accept: (Visitor visitor) -> void
2537
- def set_newline_flag: (Array[bool] newline_marked) -> void
2538
- def child_nodes: () -> Array[Node?]
2539
- def deconstruct: () -> Array[Node?]
2540
-
2541
- def copy: (**untyped) -> LocalVariableTargetNode
2542
-
2543
- def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, depth: Integer, location: Location }
2544
-
2545
- def inspect: (?NodeInspector inspector) -> String
2546
- end
2547
- # Represents writing to a local variable.
2548
- #
2549
- # foo = 1
2550
- # ^^^^^^^
2551
- class LocalVariableWriteNode < Node
2552
- attr_reader name: Symbol
2553
- attr_reader depth: Integer
2554
- attr_reader name_loc: Location
2555
- attr_reader value: Node
2556
- attr_reader operator_loc: Location
2557
-
2558
- def initialize: (Symbol name, Integer depth, Location name_loc, Node value, Location operator_loc, Location location) -> void
2559
- def accept: (Visitor visitor) -> void
2560
- def set_newline_flag: (Array[bool] newline_marked) -> void
2561
- def child_nodes: () -> Array[Node?]
2562
- def deconstruct: () -> Array[Node?]
2563
-
2564
- def copy: (**untyped) -> LocalVariableWriteNode
2565
-
2566
- def deconstruct_keys: (Array[Symbol] keys) -> { name: Symbol, depth: Integer, name_loc: Location, value: Node, operator_loc: Location, location: Location }
2567
-
2568
- def operator: () -> String
2569
-
2570
- def inspect: (?NodeInspector inspector) -> String
2571
- end
2572
- # Represents a regular expression literal used in the predicate of a conditional to implicitly match against the last line read by an IO object.
2573
- #
2574
- # if /foo/i then end
2575
- # ^^^^^^
2576
- class MatchLastLineNode < Node
2577
- private attr_reader flags: Integer
2578
- attr_reader opening_loc: Location
2579
- attr_reader content_loc: Location
2580
- attr_reader closing_loc: Location
2581
- attr_reader unescaped: String
2582
-
2583
- def initialize: (Integer flags, Location opening_loc, Location content_loc, Location closing_loc, String unescaped, Location location) -> void
2584
- def accept: (Visitor visitor) -> void
2585
- def set_newline_flag: (Array[bool] newline_marked) -> void
2586
- def child_nodes: () -> Array[Node?]
2587
- def deconstruct: () -> Array[Node?]
2588
-
2589
- def copy: (**untyped) -> MatchLastLineNode
2590
-
2591
- def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, opening_loc: Location, content_loc: Location, closing_loc: Location, unescaped: String, location: Location }
2592
-
2593
- def ignore_case?: () -> bool
2594
-
2595
- def extended?: () -> bool
2596
-
2597
- def multi_line?: () -> bool
2598
-
2599
- def once?: () -> bool
2600
-
2601
- def euc_jp?: () -> bool
2602
-
2603
- def ascii_8bit?: () -> bool
2604
-
2605
- def windows_31j?: () -> bool
2606
-
2607
- def utf_8?: () -> bool
2608
-
2609
- def forced_utf8_encoding?: () -> bool
2610
-
2611
- def forced_binary_encoding?: () -> bool
2612
-
2613
- def forced_us_ascii_encoding?: () -> bool
2614
-
2615
- def opening: () -> String
2616
-
2617
- def content: () -> String
2618
-
2619
- def closing: () -> String
2620
-
2621
- def inspect: (?NodeInspector inspector) -> String
2622
- end
2623
- # Represents the use of the modifier `in` operator.
2624
- #
2625
- # foo in bar
2626
- # ^^^^^^^^^^
2627
- class MatchPredicateNode < Node
2628
- attr_reader value: Node
2629
- attr_reader pattern: Node
2630
- attr_reader operator_loc: Location
2631
-
2632
- def initialize: (Node value, Node pattern, Location operator_loc, Location location) -> void
2633
- def accept: (Visitor visitor) -> void
2634
- def set_newline_flag: (Array[bool] newline_marked) -> void
2635
- def child_nodes: () -> Array[Node?]
2636
- def deconstruct: () -> Array[Node?]
2637
-
2638
- def copy: (**untyped) -> MatchPredicateNode
2639
-
2640
- def deconstruct_keys: (Array[Symbol] keys) -> { value: Node, pattern: Node, operator_loc: Location, location: Location }
2641
-
2642
- def operator: () -> String
2643
-
2644
- def inspect: (?NodeInspector inspector) -> String
2645
- end
2646
- # Represents the use of the `=>` operator.
2647
- #
2648
- # foo => bar
2649
- # ^^^^^^^^^^
2650
- class MatchRequiredNode < Node
2651
- attr_reader value: Node
2652
- attr_reader pattern: Node
2653
- attr_reader operator_loc: Location
2654
-
2655
- def initialize: (Node value, Node pattern, Location operator_loc, Location location) -> void
2656
- def accept: (Visitor visitor) -> void
2657
- def set_newline_flag: (Array[bool] newline_marked) -> void
2658
- def child_nodes: () -> Array[Node?]
2659
- def deconstruct: () -> Array[Node?]
2660
-
2661
- def copy: (**untyped) -> MatchRequiredNode
2662
-
2663
- def deconstruct_keys: (Array[Symbol] keys) -> { value: Node, pattern: Node, operator_loc: Location, location: Location }
2664
-
2665
- def operator: () -> String
2666
-
2667
- def inspect: (?NodeInspector inspector) -> String
2668
- end
2669
- # Represents writing local variables using a regular expression match with named capture groups.
2670
- #
2671
- # /(?<foo>bar)/ =~ baz
2672
- # ^^^^^^^^^^^^^^^^^^^^
2673
- class MatchWriteNode < Node
2674
- attr_reader call: CallNode
2675
- attr_reader targets: Array[Node]
2676
-
2677
- def initialize: (CallNode call, Array[Node] targets, Location location) -> void
2678
- def accept: (Visitor visitor) -> void
2679
- def set_newline_flag: (Array[bool] newline_marked) -> void
2680
- def child_nodes: () -> Array[Node?]
2681
- def deconstruct: () -> Array[Node?]
2682
-
2683
- def copy: (**untyped) -> MatchWriteNode
2684
-
2685
- def deconstruct_keys: (Array[Symbol] keys) -> { call: CallNode, targets: Array[Node], location: Location }
2686
-
2687
- def inspect: (?NodeInspector inspector) -> String
2688
- end
2689
- # Represents a node that is missing from the source and results in a syntax error.
2690
- class MissingNode < Node
2691
-
2692
- def initialize: (Location location) -> void
2693
- def accept: (Visitor visitor) -> void
2694
- def set_newline_flag: (Array[bool] newline_marked) -> void
2695
- def child_nodes: () -> Array[Node?]
2696
- def deconstruct: () -> Array[Node?]
2697
-
2698
- def copy: (**untyped) -> MissingNode
2699
-
2700
- def deconstruct_keys: (Array[Symbol] keys) -> { location: Location }
2701
-
2702
- def inspect: (?NodeInspector inspector) -> String
2703
- end
2704
- # Represents a module declaration involving the `module` keyword.
2705
- #
2706
- # module Foo end
2707
- # ^^^^^^^^^^^^^^
2708
- class ModuleNode < Node
2709
- attr_reader locals: Array[Symbol]
2710
- attr_reader module_keyword_loc: Location
2711
- attr_reader constant_path: Node
2712
- attr_reader body: Node?
2713
- attr_reader end_keyword_loc: Location
2714
- attr_reader name: Symbol
2715
-
2716
- def initialize: (Array[Symbol] locals, Location module_keyword_loc, Node constant_path, Node? body, Location end_keyword_loc, Symbol name, Location location) -> void
2717
- def accept: (Visitor visitor) -> void
2718
- def set_newline_flag: (Array[bool] newline_marked) -> void
2719
- def child_nodes: () -> Array[Node?]
2720
- def deconstruct: () -> Array[Node?]
2721
-
2722
- def copy: (**untyped) -> ModuleNode
2723
-
2724
- def deconstruct_keys: (Array[Symbol] keys) -> { locals: Array[Symbol], module_keyword_loc: Location, constant_path: Node, body: Node?, end_keyword_loc: Location, name: Symbol, location: Location }
2725
-
2726
- def module_keyword: () -> String
2727
-
2728
- def end_keyword: () -> String
2729
-
2730
- def inspect: (?NodeInspector inspector) -> String
2731
- end
2732
- # Represents a multi-target expression.
2733
- #
2734
- # a, (b, c) = 1, 2, 3
2735
- # ^^^^^^
2736
- class MultiTargetNode < Node
2737
- attr_reader lefts: Array[Node]
2738
- attr_reader rest: Node?
2739
- attr_reader rights: Array[Node]
2740
- attr_reader lparen_loc: Location?
2741
- attr_reader rparen_loc: Location?
2742
-
2743
- def initialize: (Array[Node] lefts, Node? rest, Array[Node] rights, Location? lparen_loc, Location? rparen_loc, Location location) -> void
2744
- def accept: (Visitor visitor) -> void
2745
- def set_newline_flag: (Array[bool] newline_marked) -> void
2746
- def child_nodes: () -> Array[Node?]
2747
- def deconstruct: () -> Array[Node?]
2748
-
2749
- def copy: (**untyped) -> MultiTargetNode
2750
-
2751
- def deconstruct_keys: (Array[Symbol] keys) -> { lefts: Array[Node], rest: Node?, rights: Array[Node], lparen_loc: Location?, rparen_loc: Location?, location: Location }
2752
-
2753
- def lparen: () -> String?
2754
-
2755
- def rparen: () -> String?
2756
-
2757
- def inspect: (?NodeInspector inspector) -> String
2758
- end
2759
- # Represents a write to a multi-target expression.
2760
- #
2761
- # a, b, c = 1, 2, 3
2762
- # ^^^^^^^^^^^^^^^^^
2763
- class MultiWriteNode < Node
2764
- attr_reader lefts: Array[Node]
2765
- attr_reader rest: Node?
2766
- attr_reader rights: Array[Node]
2767
- attr_reader lparen_loc: Location?
2768
- attr_reader rparen_loc: Location?
2769
- attr_reader operator_loc: Location
2770
- attr_reader value: Node
2771
-
2772
- def initialize: (Array[Node] lefts, Node? rest, Array[Node] rights, Location? lparen_loc, Location? rparen_loc, Location operator_loc, Node value, Location location) -> void
2773
- def accept: (Visitor visitor) -> void
2774
- def set_newline_flag: (Array[bool] newline_marked) -> void
2775
- def child_nodes: () -> Array[Node?]
2776
- def deconstruct: () -> Array[Node?]
2777
-
2778
- def copy: (**untyped) -> MultiWriteNode
2779
-
2780
- def deconstruct_keys: (Array[Symbol] keys) -> { lefts: Array[Node], rest: Node?, rights: Array[Node], lparen_loc: Location?, rparen_loc: Location?, operator_loc: Location, value: Node, location: Location }
2781
-
2782
- def lparen: () -> String?
2783
-
2784
- def rparen: () -> String?
2785
-
2786
- def operator: () -> String
2787
-
2788
- def inspect: (?NodeInspector inspector) -> String
2789
- end
2790
- # Represents the use of the `next` keyword.
2791
- #
2792
- # next 1
2793
- # ^^^^^^
2794
- class NextNode < Node
2795
- attr_reader arguments: ArgumentsNode?
2796
- attr_reader keyword_loc: Location
2797
-
2798
- def initialize: (ArgumentsNode? arguments, Location keyword_loc, Location location) -> void
2799
- def accept: (Visitor visitor) -> void
2800
- def set_newline_flag: (Array[bool] newline_marked) -> void
2801
- def child_nodes: () -> Array[Node?]
2802
- def deconstruct: () -> Array[Node?]
2803
-
2804
- def copy: (**untyped) -> NextNode
2805
-
2806
- def deconstruct_keys: (Array[Symbol] keys) -> { arguments: ArgumentsNode?, keyword_loc: Location, location: Location }
2807
-
2808
- def keyword: () -> String
2809
-
2810
- def inspect: (?NodeInspector inspector) -> String
2811
- end
2812
- # Represents the use of the `nil` keyword.
2813
- #
2814
- # nil
2815
- # ^^^
2816
- class NilNode < Node
2817
-
2818
- def initialize: (Location location) -> void
2819
- def accept: (Visitor visitor) -> void
2820
- def set_newline_flag: (Array[bool] newline_marked) -> void
2821
- def child_nodes: () -> Array[Node?]
2822
- def deconstruct: () -> Array[Node?]
2823
-
2824
- def copy: (**untyped) -> NilNode
2825
-
2826
- def deconstruct_keys: (Array[Symbol] keys) -> { location: Location }
2827
-
2828
- def inspect: (?NodeInspector inspector) -> String
2829
- end
2830
- # Represents the use of `**nil` inside method arguments.
2831
- #
2832
- # def a(**nil)
2833
- # ^^^^^
2834
- # end
2835
- class NoKeywordsParameterNode < Node
2836
- attr_reader operator_loc: Location
2837
- attr_reader keyword_loc: Location
2838
-
2839
- def initialize: (Location operator_loc, Location keyword_loc, Location location) -> void
2840
- def accept: (Visitor visitor) -> void
2841
- def set_newline_flag: (Array[bool] newline_marked) -> void
2842
- def child_nodes: () -> Array[Node?]
2843
- def deconstruct: () -> Array[Node?]
2844
-
2845
- def copy: (**untyped) -> NoKeywordsParameterNode
2846
-
2847
- def deconstruct_keys: (Array[Symbol] keys) -> { operator_loc: Location, keyword_loc: Location, location: Location }
2848
-
2849
- def operator: () -> String
2850
-
2851
- def keyword: () -> String
2852
-
2853
- def inspect: (?NodeInspector inspector) -> String
2854
- end
2855
- # Represents an implicit set of parameters through the use of numbered parameters within a block or lambda.
2856
- #
2857
- # -> { _1 + _2 }
2858
- # ^^^^^^^^^^^^^^
2859
- class NumberedParametersNode < Node
2860
- attr_reader maximum: Integer
2861
-
2862
- def initialize: (Integer maximum, Location location) -> void
2863
- def accept: (Visitor visitor) -> void
2864
- def set_newline_flag: (Array[bool] newline_marked) -> void
2865
- def child_nodes: () -> Array[Node?]
2866
- def deconstruct: () -> Array[Node?]
2867
-
2868
- def copy: (**untyped) -> NumberedParametersNode
2869
-
2870
- def deconstruct_keys: (Array[Symbol] keys) -> { maximum: Integer, location: Location }
2871
-
2872
- def inspect: (?NodeInspector inspector) -> String
2873
- end
2874
- # Represents reading a numbered reference to a capture in the previous match.
2875
- #
2876
- # $1
2877
- # ^^
2878
- class NumberedReferenceReadNode < Node
2879
- attr_reader number: Integer
2880
-
2881
- def initialize: (Integer number, Location location) -> void
2882
- def accept: (Visitor visitor) -> void
2883
- def set_newline_flag: (Array[bool] newline_marked) -> void
2884
- def child_nodes: () -> Array[Node?]
2885
- def deconstruct: () -> Array[Node?]
2886
-
2887
- def copy: (**untyped) -> NumberedReferenceReadNode
2888
-
2889
- def deconstruct_keys: (Array[Symbol] keys) -> { number: Integer, location: Location }
2890
-
2891
- def inspect: (?NodeInspector inspector) -> String
2892
- end
2893
- # Represents an optional keyword parameter to a method, block, or lambda definition.
2894
- #
2895
- # def a(b: 1)
2896
- # ^^^^
2897
- # end
2898
- class OptionalKeywordParameterNode < Node
2899
- private attr_reader flags: Integer
2900
- attr_reader name: Symbol
2901
- attr_reader name_loc: Location
2902
- attr_reader value: Node
2903
-
2904
- def initialize: (Integer flags, Symbol name, Location name_loc, Node value, Location location) -> void
2905
- def accept: (Visitor visitor) -> void
2906
- def set_newline_flag: (Array[bool] newline_marked) -> void
2907
- def child_nodes: () -> Array[Node?]
2908
- def deconstruct: () -> Array[Node?]
2909
-
2910
- def copy: (**untyped) -> OptionalKeywordParameterNode
2911
-
2912
- def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, name: Symbol, name_loc: Location, value: Node, location: Location }
2913
-
2914
- def repeated_parameter?: () -> bool
2915
-
2916
- def inspect: (?NodeInspector inspector) -> String
2917
- end
2918
- # Represents an optional parameter to a method, block, or lambda definition.
2919
- #
2920
- # def a(b = 1)
2921
- # ^^^^^
2922
- # end
2923
- class OptionalParameterNode < Node
2924
- private attr_reader flags: Integer
2925
- attr_reader name: Symbol
2926
- attr_reader name_loc: Location
2927
- attr_reader operator_loc: Location
2928
- attr_reader value: Node
2929
-
2930
- def initialize: (Integer flags, Symbol name, Location name_loc, Location operator_loc, Node value, Location location) -> void
2931
- def accept: (Visitor visitor) -> void
2932
- def set_newline_flag: (Array[bool] newline_marked) -> void
2933
- def child_nodes: () -> Array[Node?]
2934
- def deconstruct: () -> Array[Node?]
2935
-
2936
- def copy: (**untyped) -> OptionalParameterNode
2937
-
2938
- def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, name: Symbol, name_loc: Location, operator_loc: Location, value: Node, location: Location }
2939
-
2940
- def repeated_parameter?: () -> bool
2941
-
2942
- def operator: () -> String
2943
-
2944
- def inspect: (?NodeInspector inspector) -> String
2945
- end
2946
- # Represents the use of the `||` operator or the `or` keyword.
2947
- #
2948
- # left or right
2949
- # ^^^^^^^^^^^^^
2950
- class OrNode < Node
2951
- attr_reader left: Node
2952
- attr_reader right: Node
2953
- attr_reader operator_loc: Location
2954
-
2955
- def initialize: (Node left, Node right, Location operator_loc, Location location) -> void
2956
- def accept: (Visitor visitor) -> void
2957
- def set_newline_flag: (Array[bool] newline_marked) -> void
2958
- def child_nodes: () -> Array[Node?]
2959
- def deconstruct: () -> Array[Node?]
2960
-
2961
- def copy: (**untyped) -> OrNode
2962
-
2963
- def deconstruct_keys: (Array[Symbol] keys) -> { left: Node, right: Node, operator_loc: Location, location: Location }
2964
-
2965
- def operator: () -> String
2966
-
2967
- def inspect: (?NodeInspector inspector) -> String
2968
- end
2969
- # Represents the list of parameters on a method, block, or lambda definition.
2970
- #
2971
- # def a(b, c, d)
2972
- # ^^^^^^^
2973
- # end
2974
- class ParametersNode < Node
2975
- attr_reader requireds: Array[Node]
2976
- attr_reader optionals: Array[Node]
2977
- attr_reader rest: Node?
2978
- attr_reader posts: Array[Node]
2979
- attr_reader keywords: Array[Node]
2980
- attr_reader keyword_rest: Node?
2981
- attr_reader block: BlockParameterNode?
2982
-
2983
- def initialize: (Array[Node] requireds, Array[Node] optionals, Node? rest, Array[Node] posts, Array[Node] keywords, Node? keyword_rest, BlockParameterNode? block, Location location) -> void
2984
- def accept: (Visitor visitor) -> void
2985
- def set_newline_flag: (Array[bool] newline_marked) -> void
2986
- def child_nodes: () -> Array[Node?]
2987
- def deconstruct: () -> Array[Node?]
2988
-
2989
- def copy: (**untyped) -> ParametersNode
2990
-
2991
- def deconstruct_keys: (Array[Symbol] keys) -> { requireds: Array[Node], optionals: Array[Node], rest: Node?, posts: Array[Node], keywords: Array[Node], keyword_rest: Node?, block: BlockParameterNode?, location: Location }
2992
-
2993
- def inspect: (?NodeInspector inspector) -> String
2994
- end
2995
- # Represents a parenthesized expression
2996
- #
2997
- # (10 + 34)
2998
- # ^^^^^^^^^
2999
- class ParenthesesNode < Node
3000
- attr_reader body: Node?
3001
- attr_reader opening_loc: Location
3002
- attr_reader closing_loc: Location
3003
-
3004
- def initialize: (Node? body, Location opening_loc, Location closing_loc, Location location) -> void
3005
- def accept: (Visitor visitor) -> void
3006
- def set_newline_flag: (Array[bool] newline_marked) -> void
3007
- def child_nodes: () -> Array[Node?]
3008
- def deconstruct: () -> Array[Node?]
3009
-
3010
- def copy: (**untyped) -> ParenthesesNode
3011
-
3012
- def deconstruct_keys: (Array[Symbol] keys) -> { body: Node?, opening_loc: Location, closing_loc: Location, location: Location }
3013
-
3014
- def opening: () -> String
3015
-
3016
- def closing: () -> String
3017
-
3018
- def inspect: (?NodeInspector inspector) -> String
3019
- end
3020
- # Represents the use of the `^` operator for pinning an expression in a pattern matching expression.
3021
- #
3022
- # foo in ^(bar)
3023
- # ^^^^^^
3024
- class PinnedExpressionNode < Node
3025
- attr_reader expression: Node
3026
- attr_reader operator_loc: Location
3027
- attr_reader lparen_loc: Location
3028
- attr_reader rparen_loc: Location
3029
-
3030
- def initialize: (Node expression, Location operator_loc, Location lparen_loc, Location rparen_loc, Location location) -> void
3031
- def accept: (Visitor visitor) -> void
3032
- def set_newline_flag: (Array[bool] newline_marked) -> void
3033
- def child_nodes: () -> Array[Node?]
3034
- def deconstruct: () -> Array[Node?]
3035
-
3036
- def copy: (**untyped) -> PinnedExpressionNode
3037
-
3038
- def deconstruct_keys: (Array[Symbol] keys) -> { expression: Node, operator_loc: Location, lparen_loc: Location, rparen_loc: Location, location: Location }
3039
-
3040
- def operator: () -> String
3041
-
3042
- def lparen: () -> String
3043
-
3044
- def rparen: () -> String
3045
-
3046
- def inspect: (?NodeInspector inspector) -> String
3047
- end
3048
- # Represents the use of the `^` operator for pinning a variable in a pattern matching expression.
3049
- #
3050
- # foo in ^bar
3051
- # ^^^^
3052
- class PinnedVariableNode < Node
3053
- attr_reader variable: Node
3054
- attr_reader operator_loc: Location
3055
-
3056
- def initialize: (Node variable, Location operator_loc, Location location) -> void
3057
- def accept: (Visitor visitor) -> void
3058
- def set_newline_flag: (Array[bool] newline_marked) -> void
3059
- def child_nodes: () -> Array[Node?]
3060
- def deconstruct: () -> Array[Node?]
3061
-
3062
- def copy: (**untyped) -> PinnedVariableNode
3063
-
3064
- def deconstruct_keys: (Array[Symbol] keys) -> { variable: Node, operator_loc: Location, location: Location }
3065
-
3066
- def operator: () -> String
3067
-
3068
- def inspect: (?NodeInspector inspector) -> String
3069
- end
3070
- # Represents the use of the `END` keyword.
3071
- #
3072
- # END { foo }
3073
- # ^^^^^^^^^^^
3074
- class PostExecutionNode < Node
3075
- attr_reader statements: StatementsNode?
3076
- attr_reader keyword_loc: Location
3077
- attr_reader opening_loc: Location
3078
- attr_reader closing_loc: Location
3079
-
3080
- def initialize: (StatementsNode? statements, Location keyword_loc, Location opening_loc, Location closing_loc, Location location) -> void
3081
- def accept: (Visitor visitor) -> void
3082
- def set_newline_flag: (Array[bool] newline_marked) -> void
3083
- def child_nodes: () -> Array[Node?]
3084
- def deconstruct: () -> Array[Node?]
3085
-
3086
- def copy: (**untyped) -> PostExecutionNode
3087
-
3088
- def deconstruct_keys: (Array[Symbol] keys) -> { statements: StatementsNode?, keyword_loc: Location, opening_loc: Location, closing_loc: Location, location: Location }
3089
-
3090
- def keyword: () -> String
3091
-
3092
- def opening: () -> String
3093
-
3094
- def closing: () -> String
3095
-
3096
- def inspect: (?NodeInspector inspector) -> String
3097
- end
3098
- # Represents the use of the `BEGIN` keyword.
3099
- #
3100
- # BEGIN { foo }
3101
- # ^^^^^^^^^^^^^
3102
- class PreExecutionNode < Node
3103
- attr_reader statements: StatementsNode?
3104
- attr_reader keyword_loc: Location
3105
- attr_reader opening_loc: Location
3106
- attr_reader closing_loc: Location
3107
-
3108
- def initialize: (StatementsNode? statements, Location keyword_loc, Location opening_loc, Location closing_loc, Location location) -> void
3109
- def accept: (Visitor visitor) -> void
3110
- def set_newline_flag: (Array[bool] newline_marked) -> void
3111
- def child_nodes: () -> Array[Node?]
3112
- def deconstruct: () -> Array[Node?]
3113
-
3114
- def copy: (**untyped) -> PreExecutionNode
3115
-
3116
- def deconstruct_keys: (Array[Symbol] keys) -> { statements: StatementsNode?, keyword_loc: Location, opening_loc: Location, closing_loc: Location, location: Location }
3117
-
3118
- def keyword: () -> String
3119
-
3120
- def opening: () -> String
3121
-
3122
- def closing: () -> String
3123
-
3124
- def inspect: (?NodeInspector inspector) -> String
3125
- end
3126
- # The top level node of any parse tree.
3127
- class ProgramNode < Node
3128
- attr_reader locals: Array[Symbol]
3129
- attr_reader statements: StatementsNode
3130
-
3131
- def initialize: (Array[Symbol] locals, StatementsNode statements, Location location) -> void
3132
- def accept: (Visitor visitor) -> void
3133
- def set_newline_flag: (Array[bool] newline_marked) -> void
3134
- def child_nodes: () -> Array[Node?]
3135
- def deconstruct: () -> Array[Node?]
3136
-
3137
- def copy: (**untyped) -> ProgramNode
3138
-
3139
- def deconstruct_keys: (Array[Symbol] keys) -> { locals: Array[Symbol], statements: StatementsNode, location: Location }
3140
-
3141
- def inspect: (?NodeInspector inspector) -> String
3142
- end
3143
- # Represents the use of the `..` or `...` operators.
3144
- #
3145
- # 1..2
3146
- # ^^^^
3147
- #
3148
- # c if a =~ /left/ ... b =~ /right/
3149
- # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3150
- class RangeNode < Node
3151
- private attr_reader flags: Integer
3152
- attr_reader left: Node?
3153
- attr_reader right: Node?
3154
- attr_reader operator_loc: Location
3155
-
3156
- def initialize: (Integer flags, Node? left, Node? right, Location operator_loc, Location location) -> void
3157
- def accept: (Visitor visitor) -> void
3158
- def set_newline_flag: (Array[bool] newline_marked) -> void
3159
- def child_nodes: () -> Array[Node?]
3160
- def deconstruct: () -> Array[Node?]
3161
-
3162
- def copy: (**untyped) -> RangeNode
3163
-
3164
- def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, left: Node?, right: Node?, operator_loc: Location, location: Location }
3165
-
3166
- def exclude_end?: () -> bool
3167
-
3168
- def operator: () -> String
3169
-
3170
- def inspect: (?NodeInspector inspector) -> String
3171
- end
3172
- # Represents a rational number literal.
3173
- #
3174
- # 1.0r
3175
- # ^^^^
3176
- class RationalNode < Node
3177
- attr_reader numeric: Node
3178
-
3179
- def initialize: (Node numeric, Location location) -> void
3180
- def accept: (Visitor visitor) -> void
3181
- def set_newline_flag: (Array[bool] newline_marked) -> void
3182
- def child_nodes: () -> Array[Node?]
3183
- def deconstruct: () -> Array[Node?]
3184
-
3185
- def copy: (**untyped) -> RationalNode
3186
-
3187
- def deconstruct_keys: (Array[Symbol] keys) -> { numeric: Node, location: Location }
3188
-
3189
- def inspect: (?NodeInspector inspector) -> String
3190
- end
3191
- # Represents the use of the `redo` keyword.
3192
- #
3193
- # redo
3194
- # ^^^^
3195
- class RedoNode < Node
3196
-
3197
- def initialize: (Location location) -> void
3198
- def accept: (Visitor visitor) -> void
3199
- def set_newline_flag: (Array[bool] newline_marked) -> void
3200
- def child_nodes: () -> Array[Node?]
3201
- def deconstruct: () -> Array[Node?]
3202
-
3203
- def copy: (**untyped) -> RedoNode
3204
-
3205
- def deconstruct_keys: (Array[Symbol] keys) -> { location: Location }
3206
-
3207
- def inspect: (?NodeInspector inspector) -> String
3208
- end
3209
- # Represents a regular expression literal with no interpolation.
3210
- #
3211
- # /foo/i
3212
- # ^^^^^^
3213
- class RegularExpressionNode < Node
3214
- private attr_reader flags: Integer
3215
- attr_reader opening_loc: Location
3216
- attr_reader content_loc: Location
3217
- attr_reader closing_loc: Location
3218
- attr_reader unescaped: String
3219
-
3220
- def initialize: (Integer flags, Location opening_loc, Location content_loc, Location closing_loc, String unescaped, Location location) -> void
3221
- def accept: (Visitor visitor) -> void
3222
- def set_newline_flag: (Array[bool] newline_marked) -> void
3223
- def child_nodes: () -> Array[Node?]
3224
- def deconstruct: () -> Array[Node?]
3225
-
3226
- def copy: (**untyped) -> RegularExpressionNode
3227
-
3228
- def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, opening_loc: Location, content_loc: Location, closing_loc: Location, unescaped: String, location: Location }
3229
-
3230
- def ignore_case?: () -> bool
3231
-
3232
- def extended?: () -> bool
3233
-
3234
- def multi_line?: () -> bool
3235
-
3236
- def once?: () -> bool
3237
-
3238
- def euc_jp?: () -> bool
3239
-
3240
- def ascii_8bit?: () -> bool
3241
-
3242
- def windows_31j?: () -> bool
3243
-
3244
- def utf_8?: () -> bool
3245
-
3246
- def forced_utf8_encoding?: () -> bool
3247
-
3248
- def forced_binary_encoding?: () -> bool
3249
-
3250
- def forced_us_ascii_encoding?: () -> bool
3251
-
3252
- def opening: () -> String
3253
-
3254
- def content: () -> String
3255
-
3256
- def closing: () -> String
3257
-
3258
- def inspect: (?NodeInspector inspector) -> String
3259
- end
3260
- # Represents a required keyword parameter to a method, block, or lambda definition.
3261
- #
3262
- # def a(b: )
3263
- # ^^
3264
- # end
3265
- class RequiredKeywordParameterNode < Node
3266
- private attr_reader flags: Integer
3267
- attr_reader name: Symbol
3268
- attr_reader name_loc: Location
3269
-
3270
- def initialize: (Integer flags, Symbol name, Location name_loc, Location location) -> void
3271
- def accept: (Visitor visitor) -> void
3272
- def set_newline_flag: (Array[bool] newline_marked) -> void
3273
- def child_nodes: () -> Array[Node?]
3274
- def deconstruct: () -> Array[Node?]
3275
-
3276
- def copy: (**untyped) -> RequiredKeywordParameterNode
3277
-
3278
- def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, name: Symbol, name_loc: Location, location: Location }
3279
-
3280
- def repeated_parameter?: () -> bool
3281
-
3282
- def inspect: (?NodeInspector inspector) -> String
3283
- end
3284
- # Represents a required parameter to a method, block, or lambda definition.
3285
- #
3286
- # def a(b)
3287
- # ^
3288
- # end
3289
- class RequiredParameterNode < Node
3290
- private attr_reader flags: Integer
3291
- attr_reader name: Symbol
3292
-
3293
- def initialize: (Integer flags, Symbol name, Location location) -> void
3294
- def accept: (Visitor visitor) -> void
3295
- def set_newline_flag: (Array[bool] newline_marked) -> void
3296
- def child_nodes: () -> Array[Node?]
3297
- def deconstruct: () -> Array[Node?]
3298
-
3299
- def copy: (**untyped) -> RequiredParameterNode
3300
-
3301
- def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, name: Symbol, location: Location }
3302
-
3303
- def repeated_parameter?: () -> bool
3304
-
3305
- def inspect: (?NodeInspector inspector) -> String
3306
- end
3307
- # Represents an expression modified with a rescue.
3308
- #
3309
- # foo rescue nil
3310
- # ^^^^^^^^^^^^^^
3311
- class RescueModifierNode < Node
3312
- attr_reader expression: Node
3313
- attr_reader keyword_loc: Location
3314
- attr_reader rescue_expression: Node
3315
-
3316
- def initialize: (Node expression, Location keyword_loc, Node rescue_expression, Location location) -> void
3317
- def accept: (Visitor visitor) -> void
3318
- def set_newline_flag: (Array[bool] newline_marked) -> void
3319
- def child_nodes: () -> Array[Node?]
3320
- def deconstruct: () -> Array[Node?]
3321
-
3322
- def copy: (**untyped) -> RescueModifierNode
3323
-
3324
- def deconstruct_keys: (Array[Symbol] keys) -> { expression: Node, keyword_loc: Location, rescue_expression: Node, location: Location }
3325
-
3326
- def keyword: () -> String
3327
-
3328
- def inspect: (?NodeInspector inspector) -> String
3329
- end
3330
- # Represents a rescue statement.
3331
- #
3332
- # begin
3333
- # rescue Foo, *splat, Bar => ex
3334
- # foo
3335
- # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3336
- # end
3337
- #
3338
- # `Foo, *splat, Bar` are in the `exceptions` field. `ex` is in the `exception` field.
3339
- class RescueNode < Node
3340
- attr_reader keyword_loc: Location
3341
- attr_reader exceptions: Array[Node]
3342
- attr_reader operator_loc: Location?
3343
- attr_reader reference: Node?
3344
- attr_reader statements: StatementsNode?
3345
- attr_reader consequent: RescueNode?
3346
-
3347
- def initialize: (Location keyword_loc, Array[Node] exceptions, Location? operator_loc, Node? reference, StatementsNode? statements, RescueNode? consequent, Location location) -> void
3348
- def accept: (Visitor visitor) -> void
3349
- def set_newline_flag: (Array[bool] newline_marked) -> void
3350
- def child_nodes: () -> Array[Node?]
3351
- def deconstruct: () -> Array[Node?]
3352
-
3353
- def copy: (**untyped) -> RescueNode
3354
-
3355
- def deconstruct_keys: (Array[Symbol] keys) -> { keyword_loc: Location, exceptions: Array[Node], operator_loc: Location?, reference: Node?, statements: StatementsNode?, consequent: RescueNode?, location: Location }
3356
-
3357
- def keyword: () -> String
3358
-
3359
- def operator: () -> String?
3360
-
3361
- def inspect: (?NodeInspector inspector) -> String
3362
- end
3363
- # Represents a rest parameter to a method, block, or lambda definition.
3364
- #
3365
- # def a(*b)
3366
- # ^^
3367
- # end
3368
- class RestParameterNode < Node
3369
- private attr_reader flags: Integer
3370
- attr_reader name: Symbol?
3371
- attr_reader name_loc: Location?
3372
- attr_reader operator_loc: Location
3373
-
3374
- def initialize: (Integer flags, Symbol? name, Location? name_loc, Location operator_loc, Location location) -> void
3375
- def accept: (Visitor visitor) -> void
3376
- def set_newline_flag: (Array[bool] newline_marked) -> void
3377
- def child_nodes: () -> Array[Node?]
3378
- def deconstruct: () -> Array[Node?]
3379
-
3380
- def copy: (**untyped) -> RestParameterNode
3381
-
3382
- def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, name: Symbol?, name_loc: Location?, operator_loc: Location, location: Location }
3383
-
3384
- def repeated_parameter?: () -> bool
3385
-
3386
- def operator: () -> String
3387
-
3388
- def inspect: (?NodeInspector inspector) -> String
3389
- end
3390
- # Represents the use of the `retry` keyword.
3391
- #
3392
- # retry
3393
- # ^^^^^
3394
- class RetryNode < Node
3395
-
3396
- def initialize: (Location location) -> void
3397
- def accept: (Visitor visitor) -> void
3398
- def set_newline_flag: (Array[bool] newline_marked) -> void
3399
- def child_nodes: () -> Array[Node?]
3400
- def deconstruct: () -> Array[Node?]
3401
-
3402
- def copy: (**untyped) -> RetryNode
3403
-
3404
- def deconstruct_keys: (Array[Symbol] keys) -> { location: Location }
3405
-
3406
- def inspect: (?NodeInspector inspector) -> String
3407
- end
3408
- # Represents the use of the `return` keyword.
3409
- #
3410
- # return 1
3411
- # ^^^^^^^^
3412
- class ReturnNode < Node
3413
- attr_reader keyword_loc: Location
3414
- attr_reader arguments: ArgumentsNode?
3415
-
3416
- def initialize: (Location keyword_loc, ArgumentsNode? arguments, Location location) -> void
3417
- def accept: (Visitor visitor) -> void
3418
- def set_newline_flag: (Array[bool] newline_marked) -> void
3419
- def child_nodes: () -> Array[Node?]
3420
- def deconstruct: () -> Array[Node?]
3421
-
3422
- def copy: (**untyped) -> ReturnNode
3423
-
3424
- def deconstruct_keys: (Array[Symbol] keys) -> { keyword_loc: Location, arguments: ArgumentsNode?, location: Location }
3425
-
3426
- def keyword: () -> String
3427
-
3428
- def inspect: (?NodeInspector inspector) -> String
3429
- end
3430
- # Represents the `self` keyword.
3431
- #
3432
- # self
3433
- # ^^^^
3434
- class SelfNode < Node
3435
-
3436
- def initialize: (Location location) -> void
3437
- def accept: (Visitor visitor) -> void
3438
- def set_newline_flag: (Array[bool] newline_marked) -> void
3439
- def child_nodes: () -> Array[Node?]
3440
- def deconstruct: () -> Array[Node?]
3441
-
3442
- def copy: (**untyped) -> SelfNode
3443
-
3444
- def deconstruct_keys: (Array[Symbol] keys) -> { location: Location }
3445
-
3446
- def inspect: (?NodeInspector inspector) -> String
3447
- end
3448
- # Represents a singleton class declaration involving the `class` keyword.
3449
- #
3450
- # class << self end
3451
- # ^^^^^^^^^^^^^^^^^
3452
- class SingletonClassNode < Node
3453
- attr_reader locals: Array[Symbol]
3454
- attr_reader class_keyword_loc: Location
3455
- attr_reader operator_loc: Location
3456
- attr_reader expression: Node
3457
- attr_reader body: Node?
3458
- attr_reader end_keyword_loc: Location
3459
-
3460
- def initialize: (Array[Symbol] locals, Location class_keyword_loc, Location operator_loc, Node expression, Node? body, Location end_keyword_loc, Location location) -> void
3461
- def accept: (Visitor visitor) -> void
3462
- def set_newline_flag: (Array[bool] newline_marked) -> void
3463
- def child_nodes: () -> Array[Node?]
3464
- def deconstruct: () -> Array[Node?]
3465
-
3466
- def copy: (**untyped) -> SingletonClassNode
3467
-
3468
- def deconstruct_keys: (Array[Symbol] keys) -> { locals: Array[Symbol], class_keyword_loc: Location, operator_loc: Location, expression: Node, body: Node?, end_keyword_loc: Location, location: Location }
3469
-
3470
- def class_keyword: () -> String
3471
-
3472
- def operator: () -> String
3473
-
3474
- def end_keyword: () -> String
3475
-
3476
- def inspect: (?NodeInspector inspector) -> String
3477
- end
3478
- # Represents the use of the `__ENCODING__` keyword.
3479
- #
3480
- # __ENCODING__
3481
- # ^^^^^^^^^^^^
3482
- class SourceEncodingNode < Node
3483
-
3484
- def initialize: (Location location) -> void
3485
- def accept: (Visitor visitor) -> void
3486
- def set_newline_flag: (Array[bool] newline_marked) -> void
3487
- def child_nodes: () -> Array[Node?]
3488
- def deconstruct: () -> Array[Node?]
3489
-
3490
- def copy: (**untyped) -> SourceEncodingNode
3491
-
3492
- def deconstruct_keys: (Array[Symbol] keys) -> { location: Location }
3493
-
3494
- def inspect: (?NodeInspector inspector) -> String
3495
- end
3496
- # Represents the use of the `__FILE__` keyword.
3497
- #
3498
- # __FILE__
3499
- # ^^^^^^^^
3500
- class SourceFileNode < Node
3501
- attr_reader filepath: String
3502
-
3503
- def initialize: (String filepath, Location location) -> void
3504
- def accept: (Visitor visitor) -> void
3505
- def set_newline_flag: (Array[bool] newline_marked) -> void
3506
- def child_nodes: () -> Array[Node?]
3507
- def deconstruct: () -> Array[Node?]
3508
-
3509
- def copy: (**untyped) -> SourceFileNode
3510
-
3511
- def deconstruct_keys: (Array[Symbol] keys) -> { filepath: String, location: Location }
3512
-
3513
- def inspect: (?NodeInspector inspector) -> String
3514
- end
3515
- # Represents the use of the `__LINE__` keyword.
3516
- #
3517
- # __LINE__
3518
- # ^^^^^^^^
3519
- class SourceLineNode < Node
3520
-
3521
- def initialize: (Location location) -> void
3522
- def accept: (Visitor visitor) -> void
3523
- def set_newline_flag: (Array[bool] newline_marked) -> void
3524
- def child_nodes: () -> Array[Node?]
3525
- def deconstruct: () -> Array[Node?]
3526
-
3527
- def copy: (**untyped) -> SourceLineNode
3528
-
3529
- def deconstruct_keys: (Array[Symbol] keys) -> { location: Location }
3530
-
3531
- def inspect: (?NodeInspector inspector) -> String
3532
- end
3533
- # Represents the use of the splat operator.
3534
- #
3535
- # [*a]
3536
- # ^^
3537
- class SplatNode < Node
3538
- attr_reader operator_loc: Location
3539
- attr_reader expression: Node?
3540
-
3541
- def initialize: (Location operator_loc, Node? expression, Location location) -> void
3542
- def accept: (Visitor visitor) -> void
3543
- def set_newline_flag: (Array[bool] newline_marked) -> void
3544
- def child_nodes: () -> Array[Node?]
3545
- def deconstruct: () -> Array[Node?]
3546
-
3547
- def copy: (**untyped) -> SplatNode
3548
-
3549
- def deconstruct_keys: (Array[Symbol] keys) -> { operator_loc: Location, expression: Node?, location: Location }
3550
-
3551
- def operator: () -> String
3552
-
3553
- def inspect: (?NodeInspector inspector) -> String
3554
- end
3555
- # Represents a set of statements contained within some scope.
3556
- #
3557
- # foo; bar; baz
3558
- # ^^^^^^^^^^^^^
3559
- class StatementsNode < Node
3560
- attr_reader body: Array[Node]
3561
-
3562
- def initialize: (Array[Node] body, Location location) -> void
3563
- def accept: (Visitor visitor) -> void
3564
- def set_newline_flag: (Array[bool] newline_marked) -> void
3565
- def child_nodes: () -> Array[Node?]
3566
- def deconstruct: () -> Array[Node?]
3567
-
3568
- def copy: (**untyped) -> StatementsNode
3569
-
3570
- def deconstruct_keys: (Array[Symbol] keys) -> { body: Array[Node], location: Location }
3571
-
3572
- def inspect: (?NodeInspector inspector) -> String
3573
- end
3574
- # Represents a string literal, a string contained within a `%w` list, or plain string content within an interpolated string.
3575
- #
3576
- # "foo"
3577
- # ^^^^^
3578
- #
3579
- # %w[foo]
3580
- # ^^^
3581
- #
3582
- # "foo #{bar} baz"
3583
- # ^^^^ ^^^^
3584
- class StringNode < Node
3585
- private attr_reader flags: Integer
3586
- attr_reader opening_loc: Location?
3587
- attr_reader content_loc: Location
3588
- attr_reader closing_loc: Location?
3589
- attr_reader unescaped: String
3590
-
3591
- def initialize: (Integer flags, Location? opening_loc, Location content_loc, Location? closing_loc, String unescaped, Location location) -> void
3592
- def accept: (Visitor visitor) -> void
3593
- def set_newline_flag: (Array[bool] newline_marked) -> void
3594
- def child_nodes: () -> Array[Node?]
3595
- def deconstruct: () -> Array[Node?]
3596
-
3597
- def copy: (**untyped) -> StringNode
3598
-
3599
- def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, opening_loc: Location?, content_loc: Location, closing_loc: Location?, unescaped: String, location: Location }
3600
-
3601
- def forced_utf8_encoding?: () -> bool
3602
-
3603
- def forced_binary_encoding?: () -> bool
3604
-
3605
- def frozen?: () -> bool
3606
-
3607
- def opening: () -> String?
3608
-
3609
- def content: () -> String
3610
-
3611
- def closing: () -> String?
3612
-
3613
- def inspect: (?NodeInspector inspector) -> String
3614
- end
3615
- # Represents the use of the `super` keyword with parentheses or arguments.
3616
- #
3617
- # super()
3618
- # ^^^^^^^
3619
- #
3620
- # super foo, bar
3621
- # ^^^^^^^^^^^^^^
3622
- class SuperNode < Node
3623
- attr_reader keyword_loc: Location
3624
- attr_reader lparen_loc: Location?
3625
- attr_reader arguments: ArgumentsNode?
3626
- attr_reader rparen_loc: Location?
3627
- attr_reader block: Node?
3628
-
3629
- def initialize: (Location keyword_loc, Location? lparen_loc, ArgumentsNode? arguments, Location? rparen_loc, Node? block, Location location) -> void
3630
- def accept: (Visitor visitor) -> void
3631
- def set_newline_flag: (Array[bool] newline_marked) -> void
3632
- def child_nodes: () -> Array[Node?]
3633
- def deconstruct: () -> Array[Node?]
3634
-
3635
- def copy: (**untyped) -> SuperNode
3636
-
3637
- def deconstruct_keys: (Array[Symbol] keys) -> { keyword_loc: Location, lparen_loc: Location?, arguments: ArgumentsNode?, rparen_loc: Location?, block: Node?, location: Location }
3638
-
3639
- def keyword: () -> String
3640
-
3641
- def lparen: () -> String?
3642
-
3643
- def rparen: () -> String?
3644
-
3645
- def inspect: (?NodeInspector inspector) -> String
3646
- end
3647
- # Represents a symbol literal or a symbol contained within a `%i` list.
3648
- #
3649
- # :foo
3650
- # ^^^^
3651
- #
3652
- # %i[foo]
3653
- # ^^^
3654
- class SymbolNode < Node
3655
- private attr_reader flags: Integer
3656
- attr_reader opening_loc: Location?
3657
- attr_reader value_loc: Location?
3658
- attr_reader closing_loc: Location?
3659
- attr_reader unescaped: String
3660
-
3661
- def initialize: (Integer flags, Location? opening_loc, Location? value_loc, Location? closing_loc, String unescaped, Location location) -> void
3662
- def accept: (Visitor visitor) -> void
3663
- def set_newline_flag: (Array[bool] newline_marked) -> void
3664
- def child_nodes: () -> Array[Node?]
3665
- def deconstruct: () -> Array[Node?]
3666
-
3667
- def copy: (**untyped) -> SymbolNode
3668
-
3669
- def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, opening_loc: Location?, value_loc: Location?, closing_loc: Location?, unescaped: String, location: Location }
3670
-
3671
- def forced_utf8_encoding?: () -> bool
3672
-
3673
- def forced_binary_encoding?: () -> bool
3674
-
3675
- def forced_us_ascii_encoding?: () -> bool
3676
-
3677
- def opening: () -> String?
3678
-
3679
- def value: () -> String?
3680
-
3681
- def closing: () -> String?
3682
-
3683
- def inspect: (?NodeInspector inspector) -> String
3684
- end
3685
- # Represents the use of the literal `true` keyword.
3686
- #
3687
- # true
3688
- # ^^^^
3689
- class TrueNode < Node
3690
-
3691
- def initialize: (Location location) -> void
3692
- def accept: (Visitor visitor) -> void
3693
- def set_newline_flag: (Array[bool] newline_marked) -> void
3694
- def child_nodes: () -> Array[Node?]
3695
- def deconstruct: () -> Array[Node?]
3696
-
3697
- def copy: (**untyped) -> TrueNode
3698
-
3699
- def deconstruct_keys: (Array[Symbol] keys) -> { location: Location }
3700
-
3701
- def inspect: (?NodeInspector inspector) -> String
3702
- end
3703
- # Represents the use of the `undef` keyword.
3704
- #
3705
- # undef :foo, :bar, :baz
3706
- # ^^^^^^^^^^^^^^^^^^^^^^
3707
- class UndefNode < Node
3708
- attr_reader names: Array[Node]
3709
- attr_reader keyword_loc: Location
3710
-
3711
- def initialize: (Array[Node] names, Location keyword_loc, Location location) -> void
3712
- def accept: (Visitor visitor) -> void
3713
- def set_newline_flag: (Array[bool] newline_marked) -> void
3714
- def child_nodes: () -> Array[Node?]
3715
- def deconstruct: () -> Array[Node?]
3716
-
3717
- def copy: (**untyped) -> UndefNode
3718
-
3719
- def deconstruct_keys: (Array[Symbol] keys) -> { names: Array[Node], keyword_loc: Location, location: Location }
3720
-
3721
- def keyword: () -> String
3722
-
3723
- def inspect: (?NodeInspector inspector) -> String
3724
- end
3725
- # Represents the use of the `unless` keyword, either in the block form or the modifier form.
3726
- #
3727
- # bar unless foo
3728
- # ^^^^^^^^^^^^^^
3729
- #
3730
- # unless foo then bar end
3731
- # ^^^^^^^^^^^^^^^^^^^^^^^
3732
- class UnlessNode < Node
3733
- attr_reader keyword_loc: Location
3734
- attr_reader predicate: Node
3735
- attr_reader then_keyword_loc: Location?
3736
- attr_reader statements: StatementsNode?
3737
- attr_reader consequent: ElseNode?
3738
- attr_reader end_keyword_loc: Location?
3739
-
3740
- def initialize: (Location keyword_loc, Node predicate, Location? then_keyword_loc, StatementsNode? statements, ElseNode? consequent, Location? end_keyword_loc, Location location) -> void
3741
- def accept: (Visitor visitor) -> void
3742
- def set_newline_flag: (Array[bool] newline_marked) -> void
3743
- def child_nodes: () -> Array[Node?]
3744
- def deconstruct: () -> Array[Node?]
3745
-
3746
- def copy: (**untyped) -> UnlessNode
3747
-
3748
- def deconstruct_keys: (Array[Symbol] keys) -> { keyword_loc: Location, predicate: Node, then_keyword_loc: Location?, statements: StatementsNode?, consequent: ElseNode?, end_keyword_loc: Location?, location: Location }
3749
-
3750
- def keyword: () -> String
3751
-
3752
- def then_keyword: () -> String?
3753
-
3754
- def end_keyword: () -> String?
3755
-
3756
- def inspect: (?NodeInspector inspector) -> String
3757
- end
3758
- # Represents the use of the `until` keyword, either in the block form or the modifier form.
3759
- #
3760
- # bar until foo
3761
- # ^^^^^^^^^^^^^
3762
- #
3763
- # until foo do bar end
3764
- # ^^^^^^^^^^^^^^^^^^^^
3765
- class UntilNode < Node
3766
- private attr_reader flags: Integer
3767
- attr_reader keyword_loc: Location
3768
- attr_reader closing_loc: Location?
3769
- attr_reader predicate: Node
3770
- attr_reader statements: StatementsNode?
3771
-
3772
- def initialize: (Integer flags, Location keyword_loc, Location? closing_loc, Node predicate, StatementsNode? statements, Location location) -> void
3773
- def accept: (Visitor visitor) -> void
3774
- def set_newline_flag: (Array[bool] newline_marked) -> void
3775
- def child_nodes: () -> Array[Node?]
3776
- def deconstruct: () -> Array[Node?]
3777
-
3778
- def copy: (**untyped) -> UntilNode
3779
-
3780
- def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, keyword_loc: Location, closing_loc: Location?, predicate: Node, statements: StatementsNode?, location: Location }
3781
-
3782
- def begin_modifier?: () -> bool
3783
-
3784
- def keyword: () -> String
3785
-
3786
- def closing: () -> String?
3787
-
3788
- def inspect: (?NodeInspector inspector) -> String
3789
- end
3790
- # Represents the use of the `when` keyword within a case statement.
3791
- #
3792
- # case true
3793
- # when true
3794
- # ^^^^^^^^^
3795
- # end
3796
- class WhenNode < Node
3797
- attr_reader keyword_loc: Location
3798
- attr_reader conditions: Array[Node]
3799
- attr_reader statements: StatementsNode?
3800
-
3801
- def initialize: (Location keyword_loc, Array[Node] conditions, StatementsNode? statements, Location location) -> void
3802
- def accept: (Visitor visitor) -> void
3803
- def set_newline_flag: (Array[bool] newline_marked) -> void
3804
- def child_nodes: () -> Array[Node?]
3805
- def deconstruct: () -> Array[Node?]
3806
-
3807
- def copy: (**untyped) -> WhenNode
3808
-
3809
- def deconstruct_keys: (Array[Symbol] keys) -> { keyword_loc: Location, conditions: Array[Node], statements: StatementsNode?, location: Location }
3810
-
3811
- def keyword: () -> String
3812
-
3813
- def inspect: (?NodeInspector inspector) -> String
3814
- end
3815
- # Represents the use of the `while` keyword, either in the block form or the modifier form.
3816
- #
3817
- # bar while foo
3818
- # ^^^^^^^^^^^^^
3819
- #
3820
- # while foo do bar end
3821
- # ^^^^^^^^^^^^^^^^^^^^
3822
- class WhileNode < Node
3823
- private attr_reader flags: Integer
3824
- attr_reader keyword_loc: Location
3825
- attr_reader closing_loc: Location?
3826
- attr_reader predicate: Node
3827
- attr_reader statements: StatementsNode?
3828
-
3829
- def initialize: (Integer flags, Location keyword_loc, Location? closing_loc, Node predicate, StatementsNode? statements, Location location) -> void
3830
- def accept: (Visitor visitor) -> void
3831
- def set_newline_flag: (Array[bool] newline_marked) -> void
3832
- def child_nodes: () -> Array[Node?]
3833
- def deconstruct: () -> Array[Node?]
3834
-
3835
- def copy: (**untyped) -> WhileNode
3836
-
3837
- def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, keyword_loc: Location, closing_loc: Location?, predicate: Node, statements: StatementsNode?, location: Location }
3838
-
3839
- def begin_modifier?: () -> bool
3840
-
3841
- def keyword: () -> String
3842
-
3843
- def closing: () -> String?
3844
-
3845
- def inspect: (?NodeInspector inspector) -> String
3846
- end
3847
- # Represents an xstring literal with no interpolation.
3848
- #
3849
- # `foo`
3850
- # ^^^^^
3851
- class XStringNode < Node
3852
- private attr_reader flags: Integer
3853
- attr_reader opening_loc: Location
3854
- attr_reader content_loc: Location
3855
- attr_reader closing_loc: Location
3856
- attr_reader unescaped: String
3857
-
3858
- def initialize: (Integer flags, Location opening_loc, Location content_loc, Location closing_loc, String unescaped, Location location) -> void
3859
- def accept: (Visitor visitor) -> void
3860
- def set_newline_flag: (Array[bool] newline_marked) -> void
3861
- def child_nodes: () -> Array[Node?]
3862
- def deconstruct: () -> Array[Node?]
3863
-
3864
- def copy: (**untyped) -> XStringNode
3865
-
3866
- def deconstruct_keys: (Array[Symbol] keys) -> { flags: Integer, opening_loc: Location, content_loc: Location, closing_loc: Location, unescaped: String, location: Location }
3867
-
3868
- def forced_utf8_encoding?: () -> bool
3869
-
3870
- def forced_binary_encoding?: () -> bool
3871
-
3872
- def opening: () -> String
3873
-
3874
- def content: () -> String
3875
-
3876
- def closing: () -> String
3877
-
3878
- def inspect: (?NodeInspector inspector) -> String
3879
- end
3880
- # Represents the use of the `yield` keyword.
3881
- #
3882
- # yield 1
3883
- # ^^^^^^^
3884
- class YieldNode < Node
3885
- attr_reader keyword_loc: Location
3886
- attr_reader lparen_loc: Location?
3887
- attr_reader arguments: ArgumentsNode?
3888
- attr_reader rparen_loc: Location?
3889
-
3890
- def initialize: (Location keyword_loc, Location? lparen_loc, ArgumentsNode? arguments, Location? rparen_loc, Location location) -> void
3891
- def accept: (Visitor visitor) -> void
3892
- def set_newline_flag: (Array[bool] newline_marked) -> void
3893
- def child_nodes: () -> Array[Node?]
3894
- def deconstruct: () -> Array[Node?]
3895
-
3896
- def copy: (**untyped) -> YieldNode
3897
-
3898
- def deconstruct_keys: (Array[Symbol] keys) -> { keyword_loc: Location, lparen_loc: Location?, arguments: ArgumentsNode?, rparen_loc: Location?, location: Location }
3899
-
3900
- def keyword: () -> String
3901
-
3902
- def lparen: () -> String?
3903
-
3904
- def rparen: () -> String?
3905
-
3906
- def inspect: (?NodeInspector inspector) -> String
3907
- end
3908
-
3909
- # Flags for arguments nodes.
3910
- module ArgumentsNodeFlags
3911
- # if arguments contain keyword splat
3912
- CONTAINS_KEYWORD_SPLAT: Integer
3913
- end
3914
-
3915
- # Flags for array nodes.
3916
- module ArrayNodeFlags
3917
- # if array contains splat nodes
3918
- CONTAINS_SPLAT: Integer
3919
- end
3920
-
3921
- # Flags for call nodes.
3922
- module CallNodeFlags
3923
- # &. operator
3924
- SAFE_NAVIGATION: Integer
3925
- # a call that could have been a local variable
3926
- VARIABLE_CALL: Integer
3927
- # a call that is an attribute write, so the value being written should be returned
3928
- ATTRIBUTE_WRITE: Integer
3929
- # a call that ignores method visibility
3930
- IGNORE_VISIBILITY: Integer
3931
- end
3932
-
3933
- # Flags for nodes that have unescaped content.
3934
- module EncodingFlags
3935
- # internal bytes forced the encoding to UTF-8
3936
- FORCED_UTF8_ENCODING: Integer
3937
- # internal bytes forced the encoding to binary
3938
- FORCED_BINARY_ENCODING: Integer
3939
- end
3940
-
3941
- # Flags for integer nodes that correspond to the base of the integer.
3942
- module IntegerBaseFlags
3943
- # 0b prefix
3944
- BINARY: Integer
3945
- # 0d or no prefix
3946
- DECIMAL: Integer
3947
- # 0o or 0 prefix
3948
- OCTAL: Integer
3949
- # 0x prefix
3950
- HEXADECIMAL: Integer
3951
- end
3952
-
3953
- # Flags for keyword hash nodes.
3954
- module KeywordHashNodeFlags
3955
- # a keyword hash which only has `AssocNode` elements all with symbol keys, which means the elements can be treated as keyword arguments
3956
- SYMBOL_KEYS: Integer
3957
- end
3958
-
3959
- # Flags for while and until loop nodes.
3960
- module LoopFlags
3961
- # a loop after a begin statement, so the body is executed first before the condition
3962
- BEGIN_MODIFIER: Integer
3963
- end
3964
-
3965
- # Flags for parameter nodes.
3966
- module ParameterFlags
3967
- # a parameter name that has been repeated in the method signature
3968
- REPEATED_PARAMETER: Integer
3969
- end
3970
-
3971
- # Flags for range and flip-flop nodes.
3972
- module RangeFlags
3973
- # ... operator
3974
- EXCLUDE_END: Integer
3975
- end
3976
-
3977
- # Flags for regular expression and match last line nodes.
3978
- module RegularExpressionFlags
3979
- # i - ignores the case of characters when matching
3980
- IGNORE_CASE: Integer
3981
- # x - ignores whitespace and allows comments in regular expressions
3982
- EXTENDED: Integer
3983
- # m - allows $ to match the end of lines within strings
3984
- MULTI_LINE: Integer
3985
- # o - only interpolates values into the regular expression once
3986
- ONCE: Integer
3987
- # e - forces the EUC-JP encoding
3988
- EUC_JP: Integer
3989
- # n - forces the ASCII-8BIT encoding
3990
- ASCII_8BIT: Integer
3991
- # s - forces the Windows-31J encoding
3992
- WINDOWS_31J: Integer
3993
- # u - forces the UTF-8 encoding
3994
- UTF_8: Integer
3995
- # internal bytes forced the encoding to UTF-8
3996
- FORCED_UTF8_ENCODING: Integer
3997
- # internal bytes forced the encoding to binary
3998
- FORCED_BINARY_ENCODING: Integer
3999
- # internal bytes forced the encoding to US-ASCII
4000
- FORCED_US_ASCII_ENCODING: Integer
4001
- end
4002
-
4003
- # Flags for string nodes.
4004
- module StringFlags
4005
- # internal bytes forced the encoding to UTF-8
4006
- FORCED_UTF8_ENCODING: Integer
4007
- # internal bytes forced the encoding to binary
4008
- FORCED_BINARY_ENCODING: Integer
4009
- # frozen by virtue of a `frozen_string_literal` comment
4010
- FROZEN: Integer
4011
- end
4012
-
4013
- # Flags for symbol nodes.
4014
- module SymbolFlags
4015
- # internal bytes forced the encoding to UTF-8
4016
- FORCED_UTF8_ENCODING: Integer
4017
- # internal bytes forced the encoding to binary
4018
- FORCED_BINARY_ENCODING: Integer
4019
- # internal bytes forced the encoding to US-ASCII
4020
- FORCED_US_ASCII_ENCODING: Integer
4021
- end
4022
-
4023
-
4024
- class Visitor < BasicVisitor
4025
- # Visit a AliasGlobalVariableNode node
4026
- def visit_alias_global_variable_node: (AliasGlobalVariableNode node) -> void
4027
-
4028
- # Visit a AliasMethodNode node
4029
- def visit_alias_method_node: (AliasMethodNode node) -> void
4030
-
4031
- # Visit a AlternationPatternNode node
4032
- def visit_alternation_pattern_node: (AlternationPatternNode node) -> void
4033
-
4034
- # Visit a AndNode node
4035
- def visit_and_node: (AndNode node) -> void
4036
-
4037
- # Visit a ArgumentsNode node
4038
- def visit_arguments_node: (ArgumentsNode node) -> void
4039
-
4040
- # Visit a ArrayNode node
4041
- def visit_array_node: (ArrayNode node) -> void
4042
-
4043
- # Visit a ArrayPatternNode node
4044
- def visit_array_pattern_node: (ArrayPatternNode node) -> void
4045
-
4046
- # Visit a AssocNode node
4047
- def visit_assoc_node: (AssocNode node) -> void
4048
-
4049
- # Visit a AssocSplatNode node
4050
- def visit_assoc_splat_node: (AssocSplatNode node) -> void
4051
-
4052
- # Visit a BackReferenceReadNode node
4053
- def visit_back_reference_read_node: (BackReferenceReadNode node) -> void
4054
-
4055
- # Visit a BeginNode node
4056
- def visit_begin_node: (BeginNode node) -> void
4057
-
4058
- # Visit a BlockArgumentNode node
4059
- def visit_block_argument_node: (BlockArgumentNode node) -> void
4060
-
4061
- # Visit a BlockLocalVariableNode node
4062
- def visit_block_local_variable_node: (BlockLocalVariableNode node) -> void
4063
-
4064
- # Visit a BlockNode node
4065
- def visit_block_node: (BlockNode node) -> void
4066
-
4067
- # Visit a BlockParameterNode node
4068
- def visit_block_parameter_node: (BlockParameterNode node) -> void
4069
-
4070
- # Visit a BlockParametersNode node
4071
- def visit_block_parameters_node: (BlockParametersNode node) -> void
4072
-
4073
- # Visit a BreakNode node
4074
- def visit_break_node: (BreakNode node) -> void
4075
-
4076
- # Visit a CallAndWriteNode node
4077
- def visit_call_and_write_node: (CallAndWriteNode node) -> void
4078
-
4079
- # Visit a CallNode node
4080
- def visit_call_node: (CallNode node) -> void
4081
-
4082
- # Visit a CallOperatorWriteNode node
4083
- def visit_call_operator_write_node: (CallOperatorWriteNode node) -> void
4084
-
4085
- # Visit a CallOrWriteNode node
4086
- def visit_call_or_write_node: (CallOrWriteNode node) -> void
4087
-
4088
- # Visit a CallTargetNode node
4089
- def visit_call_target_node: (CallTargetNode node) -> void
4090
-
4091
- # Visit a CapturePatternNode node
4092
- def visit_capture_pattern_node: (CapturePatternNode node) -> void
4093
-
4094
- # Visit a CaseMatchNode node
4095
- def visit_case_match_node: (CaseMatchNode node) -> void
4096
-
4097
- # Visit a CaseNode node
4098
- def visit_case_node: (CaseNode node) -> void
4099
-
4100
- # Visit a ClassNode node
4101
- def visit_class_node: (ClassNode node) -> void
4102
-
4103
- # Visit a ClassVariableAndWriteNode node
4104
- def visit_class_variable_and_write_node: (ClassVariableAndWriteNode node) -> void
4105
-
4106
- # Visit a ClassVariableOperatorWriteNode node
4107
- def visit_class_variable_operator_write_node: (ClassVariableOperatorWriteNode node) -> void
4108
-
4109
- # Visit a ClassVariableOrWriteNode node
4110
- def visit_class_variable_or_write_node: (ClassVariableOrWriteNode node) -> void
4111
-
4112
- # Visit a ClassVariableReadNode node
4113
- def visit_class_variable_read_node: (ClassVariableReadNode node) -> void
4114
-
4115
- # Visit a ClassVariableTargetNode node
4116
- def visit_class_variable_target_node: (ClassVariableTargetNode node) -> void
4117
-
4118
- # Visit a ClassVariableWriteNode node
4119
- def visit_class_variable_write_node: (ClassVariableWriteNode node) -> void
4120
-
4121
- # Visit a ConstantAndWriteNode node
4122
- def visit_constant_and_write_node: (ConstantAndWriteNode node) -> void
4123
-
4124
- # Visit a ConstantOperatorWriteNode node
4125
- def visit_constant_operator_write_node: (ConstantOperatorWriteNode node) -> void
4126
-
4127
- # Visit a ConstantOrWriteNode node
4128
- def visit_constant_or_write_node: (ConstantOrWriteNode node) -> void
4129
-
4130
- # Visit a ConstantPathAndWriteNode node
4131
- def visit_constant_path_and_write_node: (ConstantPathAndWriteNode node) -> void
4132
-
4133
- # Visit a ConstantPathNode node
4134
- def visit_constant_path_node: (ConstantPathNode node) -> void
4135
-
4136
- # Visit a ConstantPathOperatorWriteNode node
4137
- def visit_constant_path_operator_write_node: (ConstantPathOperatorWriteNode node) -> void
4138
-
4139
- # Visit a ConstantPathOrWriteNode node
4140
- def visit_constant_path_or_write_node: (ConstantPathOrWriteNode node) -> void
4141
-
4142
- # Visit a ConstantPathTargetNode node
4143
- def visit_constant_path_target_node: (ConstantPathTargetNode node) -> void
4144
-
4145
- # Visit a ConstantPathWriteNode node
4146
- def visit_constant_path_write_node: (ConstantPathWriteNode node) -> void
4147
-
4148
- # Visit a ConstantReadNode node
4149
- def visit_constant_read_node: (ConstantReadNode node) -> void
4150
-
4151
- # Visit a ConstantTargetNode node
4152
- def visit_constant_target_node: (ConstantTargetNode node) -> void
4153
-
4154
- # Visit a ConstantWriteNode node
4155
- def visit_constant_write_node: (ConstantWriteNode node) -> void
4156
-
4157
- # Visit a DefNode node
4158
- def visit_def_node: (DefNode node) -> void
4159
-
4160
- # Visit a DefinedNode node
4161
- def visit_defined_node: (DefinedNode node) -> void
4162
-
4163
- # Visit a ElseNode node
4164
- def visit_else_node: (ElseNode node) -> void
4165
-
4166
- # Visit a EmbeddedStatementsNode node
4167
- def visit_embedded_statements_node: (EmbeddedStatementsNode node) -> void
4168
-
4169
- # Visit a EmbeddedVariableNode node
4170
- def visit_embedded_variable_node: (EmbeddedVariableNode node) -> void
4171
-
4172
- # Visit a EnsureNode node
4173
- def visit_ensure_node: (EnsureNode node) -> void
4174
-
4175
- # Visit a FalseNode node
4176
- def visit_false_node: (FalseNode node) -> void
4177
-
4178
- # Visit a FindPatternNode node
4179
- def visit_find_pattern_node: (FindPatternNode node) -> void
4180
-
4181
- # Visit a FlipFlopNode node
4182
- def visit_flip_flop_node: (FlipFlopNode node) -> void
4183
-
4184
- # Visit a FloatNode node
4185
- def visit_float_node: (FloatNode node) -> void
4186
-
4187
- # Visit a ForNode node
4188
- def visit_for_node: (ForNode node) -> void
4189
-
4190
- # Visit a ForwardingArgumentsNode node
4191
- def visit_forwarding_arguments_node: (ForwardingArgumentsNode node) -> void
4192
-
4193
- # Visit a ForwardingParameterNode node
4194
- def visit_forwarding_parameter_node: (ForwardingParameterNode node) -> void
4195
-
4196
- # Visit a ForwardingSuperNode node
4197
- def visit_forwarding_super_node: (ForwardingSuperNode node) -> void
4198
-
4199
- # Visit a GlobalVariableAndWriteNode node
4200
- def visit_global_variable_and_write_node: (GlobalVariableAndWriteNode node) -> void
4201
-
4202
- # Visit a GlobalVariableOperatorWriteNode node
4203
- def visit_global_variable_operator_write_node: (GlobalVariableOperatorWriteNode node) -> void
4204
-
4205
- # Visit a GlobalVariableOrWriteNode node
4206
- def visit_global_variable_or_write_node: (GlobalVariableOrWriteNode node) -> void
4207
-
4208
- # Visit a GlobalVariableReadNode node
4209
- def visit_global_variable_read_node: (GlobalVariableReadNode node) -> void
4210
-
4211
- # Visit a GlobalVariableTargetNode node
4212
- def visit_global_variable_target_node: (GlobalVariableTargetNode node) -> void
4213
-
4214
- # Visit a GlobalVariableWriteNode node
4215
- def visit_global_variable_write_node: (GlobalVariableWriteNode node) -> void
4216
-
4217
- # Visit a HashNode node
4218
- def visit_hash_node: (HashNode node) -> void
4219
-
4220
- # Visit a HashPatternNode node
4221
- def visit_hash_pattern_node: (HashPatternNode node) -> void
4222
-
4223
- # Visit a IfNode node
4224
- def visit_if_node: (IfNode node) -> void
4225
-
4226
- # Visit a ImaginaryNode node
4227
- def visit_imaginary_node: (ImaginaryNode node) -> void
4228
-
4229
- # Visit a ImplicitNode node
4230
- def visit_implicit_node: (ImplicitNode node) -> void
4231
-
4232
- # Visit a ImplicitRestNode node
4233
- def visit_implicit_rest_node: (ImplicitRestNode node) -> void
4234
-
4235
- # Visit a InNode node
4236
- def visit_in_node: (InNode node) -> void
4237
-
4238
- # Visit a IndexAndWriteNode node
4239
- def visit_index_and_write_node: (IndexAndWriteNode node) -> void
4240
-
4241
- # Visit a IndexOperatorWriteNode node
4242
- def visit_index_operator_write_node: (IndexOperatorWriteNode node) -> void
4243
-
4244
- # Visit a IndexOrWriteNode node
4245
- def visit_index_or_write_node: (IndexOrWriteNode node) -> void
4246
-
4247
- # Visit a IndexTargetNode node
4248
- def visit_index_target_node: (IndexTargetNode node) -> void
4249
-
4250
- # Visit a InstanceVariableAndWriteNode node
4251
- def visit_instance_variable_and_write_node: (InstanceVariableAndWriteNode node) -> void
4252
-
4253
- # Visit a InstanceVariableOperatorWriteNode node
4254
- def visit_instance_variable_operator_write_node: (InstanceVariableOperatorWriteNode node) -> void
4255
-
4256
- # Visit a InstanceVariableOrWriteNode node
4257
- def visit_instance_variable_or_write_node: (InstanceVariableOrWriteNode node) -> void
4258
-
4259
- # Visit a InstanceVariableReadNode node
4260
- def visit_instance_variable_read_node: (InstanceVariableReadNode node) -> void
4261
-
4262
- # Visit a InstanceVariableTargetNode node
4263
- def visit_instance_variable_target_node: (InstanceVariableTargetNode node) -> void
4264
-
4265
- # Visit a InstanceVariableWriteNode node
4266
- def visit_instance_variable_write_node: (InstanceVariableWriteNode node) -> void
4267
-
4268
- # Visit a IntegerNode node
4269
- def visit_integer_node: (IntegerNode node) -> void
4270
-
4271
- # Visit a InterpolatedMatchLastLineNode node
4272
- def visit_interpolated_match_last_line_node: (InterpolatedMatchLastLineNode node) -> void
4273
-
4274
- # Visit a InterpolatedRegularExpressionNode node
4275
- def visit_interpolated_regular_expression_node: (InterpolatedRegularExpressionNode node) -> void
4276
-
4277
- # Visit a InterpolatedStringNode node
4278
- def visit_interpolated_string_node: (InterpolatedStringNode node) -> void
4279
-
4280
- # Visit a InterpolatedSymbolNode node
4281
- def visit_interpolated_symbol_node: (InterpolatedSymbolNode node) -> void
4282
-
4283
- # Visit a InterpolatedXStringNode node
4284
- def visit_interpolated_x_string_node: (InterpolatedXStringNode node) -> void
4285
-
4286
- # Visit a KeywordHashNode node
4287
- def visit_keyword_hash_node: (KeywordHashNode node) -> void
4288
-
4289
- # Visit a KeywordRestParameterNode node
4290
- def visit_keyword_rest_parameter_node: (KeywordRestParameterNode node) -> void
4291
-
4292
- # Visit a LambdaNode node
4293
- def visit_lambda_node: (LambdaNode node) -> void
4294
-
4295
- # Visit a LocalVariableAndWriteNode node
4296
- def visit_local_variable_and_write_node: (LocalVariableAndWriteNode node) -> void
4297
-
4298
- # Visit a LocalVariableOperatorWriteNode node
4299
- def visit_local_variable_operator_write_node: (LocalVariableOperatorWriteNode node) -> void
4300
-
4301
- # Visit a LocalVariableOrWriteNode node
4302
- def visit_local_variable_or_write_node: (LocalVariableOrWriteNode node) -> void
4303
-
4304
- # Visit a LocalVariableReadNode node
4305
- def visit_local_variable_read_node: (LocalVariableReadNode node) -> void
4306
-
4307
- # Visit a LocalVariableTargetNode node
4308
- def visit_local_variable_target_node: (LocalVariableTargetNode node) -> void
4309
-
4310
- # Visit a LocalVariableWriteNode node
4311
- def visit_local_variable_write_node: (LocalVariableWriteNode node) -> void
4312
-
4313
- # Visit a MatchLastLineNode node
4314
- def visit_match_last_line_node: (MatchLastLineNode node) -> void
4315
-
4316
- # Visit a MatchPredicateNode node
4317
- def visit_match_predicate_node: (MatchPredicateNode node) -> void
4318
-
4319
- # Visit a MatchRequiredNode node
4320
- def visit_match_required_node: (MatchRequiredNode node) -> void
4321
-
4322
- # Visit a MatchWriteNode node
4323
- def visit_match_write_node: (MatchWriteNode node) -> void
4324
-
4325
- # Visit a MissingNode node
4326
- def visit_missing_node: (MissingNode node) -> void
4327
-
4328
- # Visit a ModuleNode node
4329
- def visit_module_node: (ModuleNode node) -> void
4330
-
4331
- # Visit a MultiTargetNode node
4332
- def visit_multi_target_node: (MultiTargetNode node) -> void
4333
-
4334
- # Visit a MultiWriteNode node
4335
- def visit_multi_write_node: (MultiWriteNode node) -> void
4336
-
4337
- # Visit a NextNode node
4338
- def visit_next_node: (NextNode node) -> void
4339
-
4340
- # Visit a NilNode node
4341
- def visit_nil_node: (NilNode node) -> void
4342
-
4343
- # Visit a NoKeywordsParameterNode node
4344
- def visit_no_keywords_parameter_node: (NoKeywordsParameterNode node) -> void
4345
-
4346
- # Visit a NumberedParametersNode node
4347
- def visit_numbered_parameters_node: (NumberedParametersNode node) -> void
4348
-
4349
- # Visit a NumberedReferenceReadNode node
4350
- def visit_numbered_reference_read_node: (NumberedReferenceReadNode node) -> void
4351
-
4352
- # Visit a OptionalKeywordParameterNode node
4353
- def visit_optional_keyword_parameter_node: (OptionalKeywordParameterNode node) -> void
4354
-
4355
- # Visit a OptionalParameterNode node
4356
- def visit_optional_parameter_node: (OptionalParameterNode node) -> void
4357
-
4358
- # Visit a OrNode node
4359
- def visit_or_node: (OrNode node) -> void
4360
-
4361
- # Visit a ParametersNode node
4362
- def visit_parameters_node: (ParametersNode node) -> void
4363
-
4364
- # Visit a ParenthesesNode node
4365
- def visit_parentheses_node: (ParenthesesNode node) -> void
4366
-
4367
- # Visit a PinnedExpressionNode node
4368
- def visit_pinned_expression_node: (PinnedExpressionNode node) -> void
4369
-
4370
- # Visit a PinnedVariableNode node
4371
- def visit_pinned_variable_node: (PinnedVariableNode node) -> void
4372
-
4373
- # Visit a PostExecutionNode node
4374
- def visit_post_execution_node: (PostExecutionNode node) -> void
4375
-
4376
- # Visit a PreExecutionNode node
4377
- def visit_pre_execution_node: (PreExecutionNode node) -> void
4378
-
4379
- # Visit a ProgramNode node
4380
- def visit_program_node: (ProgramNode node) -> void
4381
-
4382
- # Visit a RangeNode node
4383
- def visit_range_node: (RangeNode node) -> void
4384
-
4385
- # Visit a RationalNode node
4386
- def visit_rational_node: (RationalNode node) -> void
4387
-
4388
- # Visit a RedoNode node
4389
- def visit_redo_node: (RedoNode node) -> void
4390
-
4391
- # Visit a RegularExpressionNode node
4392
- def visit_regular_expression_node: (RegularExpressionNode node) -> void
4393
-
4394
- # Visit a RequiredKeywordParameterNode node
4395
- def visit_required_keyword_parameter_node: (RequiredKeywordParameterNode node) -> void
4396
-
4397
- # Visit a RequiredParameterNode node
4398
- def visit_required_parameter_node: (RequiredParameterNode node) -> void
4399
-
4400
- # Visit a RescueModifierNode node
4401
- def visit_rescue_modifier_node: (RescueModifierNode node) -> void
4402
-
4403
- # Visit a RescueNode node
4404
- def visit_rescue_node: (RescueNode node) -> void
4405
-
4406
- # Visit a RestParameterNode node
4407
- def visit_rest_parameter_node: (RestParameterNode node) -> void
4408
-
4409
- # Visit a RetryNode node
4410
- def visit_retry_node: (RetryNode node) -> void
4411
-
4412
- # Visit a ReturnNode node
4413
- def visit_return_node: (ReturnNode node) -> void
4414
-
4415
- # Visit a SelfNode node
4416
- def visit_self_node: (SelfNode node) -> void
4417
-
4418
- # Visit a SingletonClassNode node
4419
- def visit_singleton_class_node: (SingletonClassNode node) -> void
4420
-
4421
- # Visit a SourceEncodingNode node
4422
- def visit_source_encoding_node: (SourceEncodingNode node) -> void
4423
-
4424
- # Visit a SourceFileNode node
4425
- def visit_source_file_node: (SourceFileNode node) -> void
4426
-
4427
- # Visit a SourceLineNode node
4428
- def visit_source_line_node: (SourceLineNode node) -> void
4429
-
4430
- # Visit a SplatNode node
4431
- def visit_splat_node: (SplatNode node) -> void
4432
-
4433
- # Visit a StatementsNode node
4434
- def visit_statements_node: (StatementsNode node) -> void
4435
-
4436
- # Visit a StringNode node
4437
- def visit_string_node: (StringNode node) -> void
4438
-
4439
- # Visit a SuperNode node
4440
- def visit_super_node: (SuperNode node) -> void
4441
-
4442
- # Visit a SymbolNode node
4443
- def visit_symbol_node: (SymbolNode node) -> void
4444
-
4445
- # Visit a TrueNode node
4446
- def visit_true_node: (TrueNode node) -> void
4447
-
4448
- # Visit a UndefNode node
4449
- def visit_undef_node: (UndefNode node) -> void
4450
-
4451
- # Visit a UnlessNode node
4452
- def visit_unless_node: (UnlessNode node) -> void
4453
-
4454
- # Visit a UntilNode node
4455
- def visit_until_node: (UntilNode node) -> void
4456
-
4457
- # Visit a WhenNode node
4458
- def visit_when_node: (WhenNode node) -> void
4459
-
4460
- # Visit a WhileNode node
4461
- def visit_while_node: (WhileNode node) -> void
4462
-
4463
- # Visit a XStringNode node
4464
- def visit_x_string_node: (XStringNode node) -> void
4465
-
4466
- # Visit a YieldNode node
4467
- def visit_yield_node: (YieldNode node) -> void
4468
- end
4469
-
4470
- module DSL
4471
- private
4472
-
4473
- # Create a new Location object
4474
- def Location: (?Source? source, ?Integer start_offset, ?Integer length) -> Location
4475
-
4476
- # Create a new AliasGlobalVariableNode node
4477
- def AliasGlobalVariableNode: (new_name: Node, old_name: Node, keyword_loc: Location, location: Location) -> AliasGlobalVariableNode
4478
- # Create a new AliasMethodNode node
4479
- def AliasMethodNode: (new_name: Node, old_name: Node, keyword_loc: Location, location: Location) -> AliasMethodNode
4480
- # Create a new AlternationPatternNode node
4481
- def AlternationPatternNode: (left: Node, right: Node, operator_loc: Location, location: Location) -> AlternationPatternNode
4482
- # Create a new AndNode node
4483
- def AndNode: (left: Node, right: Node, operator_loc: Location, location: Location) -> AndNode
4484
- # Create a new ArgumentsNode node
4485
- def ArgumentsNode: (flags: Integer, arguments: Array[Node], location: Location) -> ArgumentsNode
4486
- # Create a new ArrayNode node
4487
- def ArrayNode: (flags: Integer, elements: Array[Node], opening_loc: Location?, closing_loc: Location?, location: Location) -> ArrayNode
4488
- # Create a new ArrayPatternNode node
4489
- def ArrayPatternNode: (constant: Node?, requireds: Array[Node], rest: Node?, posts: Array[Node], opening_loc: Location?, closing_loc: Location?, location: Location) -> ArrayPatternNode
4490
- # Create a new AssocNode node
4491
- def AssocNode: (key: Node, value: Node, operator_loc: Location?, location: Location) -> AssocNode
4492
- # Create a new AssocSplatNode node
4493
- def AssocSplatNode: (value: Node?, operator_loc: Location, location: Location) -> AssocSplatNode
4494
- # Create a new BackReferenceReadNode node
4495
- def BackReferenceReadNode: (name: Symbol, location: Location) -> BackReferenceReadNode
4496
- # Create a new BeginNode node
4497
- def BeginNode: (begin_keyword_loc: Location?, statements: StatementsNode?, rescue_clause: RescueNode?, else_clause: ElseNode?, ensure_clause: EnsureNode?, end_keyword_loc: Location?, location: Location) -> BeginNode
4498
- # Create a new BlockArgumentNode node
4499
- def BlockArgumentNode: (expression: Node?, operator_loc: Location, location: Location) -> BlockArgumentNode
4500
- # Create a new BlockLocalVariableNode node
4501
- def BlockLocalVariableNode: (flags: Integer, name: Symbol, location: Location) -> BlockLocalVariableNode
4502
- # Create a new BlockNode node
4503
- def BlockNode: (locals: Array[Symbol], parameters: Node?, body: Node?, opening_loc: Location, closing_loc: Location, location: Location) -> BlockNode
4504
- # Create a new BlockParameterNode node
4505
- def BlockParameterNode: (flags: Integer, name: Symbol?, name_loc: Location?, operator_loc: Location, location: Location) -> BlockParameterNode
4506
- # Create a new BlockParametersNode node
4507
- def BlockParametersNode: (parameters: ParametersNode?, locals: Array[Node], opening_loc: Location?, closing_loc: Location?, location: Location) -> BlockParametersNode
4508
- # Create a new BreakNode node
4509
- def BreakNode: (arguments: ArgumentsNode?, keyword_loc: Location, location: Location) -> BreakNode
4510
- # Create a new CallAndWriteNode node
4511
- def CallAndWriteNode: (flags: Integer, receiver: Node?, call_operator_loc: Location?, message_loc: Location?, read_name: Symbol, write_name: Symbol, operator_loc: Location, value: Node, location: Location) -> CallAndWriteNode
4512
- # Create a new CallNode node
4513
- def CallNode: (flags: Integer, receiver: Node?, call_operator_loc: Location?, name: Symbol, message_loc: Location?, opening_loc: Location?, arguments: ArgumentsNode?, closing_loc: Location?, block: Node?, location: Location) -> CallNode
4514
- # Create a new CallOperatorWriteNode node
4515
- def CallOperatorWriteNode: (flags: Integer, receiver: Node?, call_operator_loc: Location?, message_loc: Location?, read_name: Symbol, write_name: Symbol, operator: Symbol, operator_loc: Location, value: Node, location: Location) -> CallOperatorWriteNode
4516
- # Create a new CallOrWriteNode node
4517
- def CallOrWriteNode: (flags: Integer, receiver: Node?, call_operator_loc: Location?, message_loc: Location?, read_name: Symbol, write_name: Symbol, operator_loc: Location, value: Node, location: Location) -> CallOrWriteNode
4518
- # Create a new CallTargetNode node
4519
- def CallTargetNode: (flags: Integer, receiver: Node, call_operator_loc: Location, name: Symbol, message_loc: Location, location: Location) -> CallTargetNode
4520
- # Create a new CapturePatternNode node
4521
- def CapturePatternNode: (value: Node, target: Node, operator_loc: Location, location: Location) -> CapturePatternNode
4522
- # Create a new CaseMatchNode node
4523
- def CaseMatchNode: (predicate: Node?, conditions: Array[Node], consequent: ElseNode?, case_keyword_loc: Location, end_keyword_loc: Location, location: Location) -> CaseMatchNode
4524
- # Create a new CaseNode node
4525
- def CaseNode: (predicate: Node?, conditions: Array[Node], consequent: ElseNode?, case_keyword_loc: Location, end_keyword_loc: Location, location: Location) -> CaseNode
4526
- # Create a new ClassNode node
4527
- def ClassNode: (locals: Array[Symbol], class_keyword_loc: Location, constant_path: Node, inheritance_operator_loc: Location?, superclass: Node?, body: Node?, end_keyword_loc: Location, name: Symbol, location: Location) -> ClassNode
4528
- # Create a new ClassVariableAndWriteNode node
4529
- def ClassVariableAndWriteNode: (name: Symbol, name_loc: Location, operator_loc: Location, value: Node, location: Location) -> ClassVariableAndWriteNode
4530
- # Create a new ClassVariableOperatorWriteNode node
4531
- def ClassVariableOperatorWriteNode: (name: Symbol, name_loc: Location, operator_loc: Location, value: Node, operator: Symbol, location: Location) -> ClassVariableOperatorWriteNode
4532
- # Create a new ClassVariableOrWriteNode node
4533
- def ClassVariableOrWriteNode: (name: Symbol, name_loc: Location, operator_loc: Location, value: Node, location: Location) -> ClassVariableOrWriteNode
4534
- # Create a new ClassVariableReadNode node
4535
- def ClassVariableReadNode: (name: Symbol, location: Location) -> ClassVariableReadNode
4536
- # Create a new ClassVariableTargetNode node
4537
- def ClassVariableTargetNode: (name: Symbol, location: Location) -> ClassVariableTargetNode
4538
- # Create a new ClassVariableWriteNode node
4539
- def ClassVariableWriteNode: (name: Symbol, name_loc: Location, value: Node, operator_loc: Location?, location: Location) -> ClassVariableWriteNode
4540
- # Create a new ConstantAndWriteNode node
4541
- def ConstantAndWriteNode: (name: Symbol, name_loc: Location, operator_loc: Location, value: Node, location: Location) -> ConstantAndWriteNode
4542
- # Create a new ConstantOperatorWriteNode node
4543
- def ConstantOperatorWriteNode: (name: Symbol, name_loc: Location, operator_loc: Location, value: Node, operator: Symbol, location: Location) -> ConstantOperatorWriteNode
4544
- # Create a new ConstantOrWriteNode node
4545
- def ConstantOrWriteNode: (name: Symbol, name_loc: Location, operator_loc: Location, value: Node, location: Location) -> ConstantOrWriteNode
4546
- # Create a new ConstantPathAndWriteNode node
4547
- def ConstantPathAndWriteNode: (target: ConstantPathNode, operator_loc: Location, value: Node, location: Location) -> ConstantPathAndWriteNode
4548
- # Create a new ConstantPathNode node
4549
- def ConstantPathNode: (parent: Node?, child: Node, delimiter_loc: Location, location: Location) -> ConstantPathNode
4550
- # Create a new ConstantPathOperatorWriteNode node
4551
- def ConstantPathOperatorWriteNode: (target: ConstantPathNode, operator_loc: Location, value: Node, operator: Symbol, location: Location) -> ConstantPathOperatorWriteNode
4552
- # Create a new ConstantPathOrWriteNode node
4553
- def ConstantPathOrWriteNode: (target: ConstantPathNode, operator_loc: Location, value: Node, location: Location) -> ConstantPathOrWriteNode
4554
- # Create a new ConstantPathTargetNode node
4555
- def ConstantPathTargetNode: (parent: Node?, child: Node, delimiter_loc: Location, location: Location) -> ConstantPathTargetNode
4556
- # Create a new ConstantPathWriteNode node
4557
- def ConstantPathWriteNode: (target: ConstantPathNode, operator_loc: Location, value: Node, location: Location) -> ConstantPathWriteNode
4558
- # Create a new ConstantReadNode node
4559
- def ConstantReadNode: (name: Symbol, location: Location) -> ConstantReadNode
4560
- # Create a new ConstantTargetNode node
4561
- def ConstantTargetNode: (name: Symbol, location: Location) -> ConstantTargetNode
4562
- # Create a new ConstantWriteNode node
4563
- def ConstantWriteNode: (name: Symbol, name_loc: Location, value: Node, operator_loc: Location, location: Location) -> ConstantWriteNode
4564
- # Create a new DefNode node
4565
- def DefNode: (name: Symbol, name_loc: Location, receiver: Node?, parameters: ParametersNode?, body: Node?, locals: Array[Symbol], def_keyword_loc: Location, operator_loc: Location?, lparen_loc: Location?, rparen_loc: Location?, equal_loc: Location?, end_keyword_loc: Location?, location: Location) -> DefNode
4566
- # Create a new DefinedNode node
4567
- def DefinedNode: (lparen_loc: Location?, value: Node, rparen_loc: Location?, keyword_loc: Location, location: Location) -> DefinedNode
4568
- # Create a new ElseNode node
4569
- def ElseNode: (else_keyword_loc: Location, statements: StatementsNode?, end_keyword_loc: Location?, location: Location) -> ElseNode
4570
- # Create a new EmbeddedStatementsNode node
4571
- def EmbeddedStatementsNode: (opening_loc: Location, statements: StatementsNode?, closing_loc: Location, location: Location) -> EmbeddedStatementsNode
4572
- # Create a new EmbeddedVariableNode node
4573
- def EmbeddedVariableNode: (operator_loc: Location, variable: Node, location: Location) -> EmbeddedVariableNode
4574
- # Create a new EnsureNode node
4575
- def EnsureNode: (ensure_keyword_loc: Location, statements: StatementsNode?, end_keyword_loc: Location, location: Location) -> EnsureNode
4576
- # Create a new FalseNode node
4577
- def FalseNode: (location: Location) -> FalseNode
4578
- # Create a new FindPatternNode node
4579
- def FindPatternNode: (constant: Node?, left: Node, requireds: Array[Node], right: Node, opening_loc: Location?, closing_loc: Location?, location: Location) -> FindPatternNode
4580
- # Create a new FlipFlopNode node
4581
- def FlipFlopNode: (flags: Integer, left: Node?, right: Node?, operator_loc: Location, location: Location) -> FlipFlopNode
4582
- # Create a new FloatNode node
4583
- def FloatNode: (location: Location) -> FloatNode
4584
- # Create a new ForNode node
4585
- def ForNode: (index: Node, collection: Node, statements: StatementsNode?, for_keyword_loc: Location, in_keyword_loc: Location, do_keyword_loc: Location?, end_keyword_loc: Location, location: Location) -> ForNode
4586
- # Create a new ForwardingArgumentsNode node
4587
- def ForwardingArgumentsNode: (location: Location) -> ForwardingArgumentsNode
4588
- # Create a new ForwardingParameterNode node
4589
- def ForwardingParameterNode: (location: Location) -> ForwardingParameterNode
4590
- # Create a new ForwardingSuperNode node
4591
- def ForwardingSuperNode: (block: BlockNode?, location: Location) -> ForwardingSuperNode
4592
- # Create a new GlobalVariableAndWriteNode node
4593
- def GlobalVariableAndWriteNode: (name: Symbol, name_loc: Location, operator_loc: Location, value: Node, location: Location) -> GlobalVariableAndWriteNode
4594
- # Create a new GlobalVariableOperatorWriteNode node
4595
- def GlobalVariableOperatorWriteNode: (name: Symbol, name_loc: Location, operator_loc: Location, value: Node, operator: Symbol, location: Location) -> GlobalVariableOperatorWriteNode
4596
- # Create a new GlobalVariableOrWriteNode node
4597
- def GlobalVariableOrWriteNode: (name: Symbol, name_loc: Location, operator_loc: Location, value: Node, location: Location) -> GlobalVariableOrWriteNode
4598
- # Create a new GlobalVariableReadNode node
4599
- def GlobalVariableReadNode: (name: Symbol, location: Location) -> GlobalVariableReadNode
4600
- # Create a new GlobalVariableTargetNode node
4601
- def GlobalVariableTargetNode: (name: Symbol, location: Location) -> GlobalVariableTargetNode
4602
- # Create a new GlobalVariableWriteNode node
4603
- def GlobalVariableWriteNode: (name: Symbol, name_loc: Location, value: Node, operator_loc: Location, location: Location) -> GlobalVariableWriteNode
4604
- # Create a new HashNode node
4605
- def HashNode: (opening_loc: Location, elements: Array[Node], closing_loc: Location, location: Location) -> HashNode
4606
- # Create a new HashPatternNode node
4607
- def HashPatternNode: (constant: Node?, elements: Array[Node], rest: Node?, opening_loc: Location?, closing_loc: Location?, location: Location) -> HashPatternNode
4608
- # Create a new IfNode node
4609
- def IfNode: (if_keyword_loc: Location?, predicate: Node, then_keyword_loc: Location?, statements: StatementsNode?, consequent: Node?, end_keyword_loc: Location?, location: Location) -> IfNode
4610
- # Create a new ImaginaryNode node
4611
- def ImaginaryNode: (numeric: Node, location: Location) -> ImaginaryNode
4612
- # Create a new ImplicitNode node
4613
- def ImplicitNode: (value: Node, location: Location) -> ImplicitNode
4614
- # Create a new ImplicitRestNode node
4615
- def ImplicitRestNode: (location: Location) -> ImplicitRestNode
4616
- # Create a new InNode node
4617
- def InNode: (pattern: Node, statements: StatementsNode?, in_loc: Location, then_loc: Location?, location: Location) -> InNode
4618
- # Create a new IndexAndWriteNode node
4619
- def IndexAndWriteNode: (flags: Integer, receiver: Node?, call_operator_loc: Location?, opening_loc: Location, arguments: ArgumentsNode?, closing_loc: Location, block: Node?, operator_loc: Location, value: Node, location: Location) -> IndexAndWriteNode
4620
- # Create a new IndexOperatorWriteNode node
4621
- def IndexOperatorWriteNode: (flags: Integer, receiver: Node?, call_operator_loc: Location?, opening_loc: Location, arguments: ArgumentsNode?, closing_loc: Location, block: Node?, operator: Symbol, operator_loc: Location, value: Node, location: Location) -> IndexOperatorWriteNode
4622
- # Create a new IndexOrWriteNode node
4623
- def IndexOrWriteNode: (flags: Integer, receiver: Node?, call_operator_loc: Location?, opening_loc: Location, arguments: ArgumentsNode?, closing_loc: Location, block: Node?, operator_loc: Location, value: Node, location: Location) -> IndexOrWriteNode
4624
- # Create a new IndexTargetNode node
4625
- def IndexTargetNode: (flags: Integer, receiver: Node, opening_loc: Location, arguments: ArgumentsNode?, closing_loc: Location, block: Node?, location: Location) -> IndexTargetNode
4626
- # Create a new InstanceVariableAndWriteNode node
4627
- def InstanceVariableAndWriteNode: (name: Symbol, name_loc: Location, operator_loc: Location, value: Node, location: Location) -> InstanceVariableAndWriteNode
4628
- # Create a new InstanceVariableOperatorWriteNode node
4629
- def InstanceVariableOperatorWriteNode: (name: Symbol, name_loc: Location, operator_loc: Location, value: Node, operator: Symbol, location: Location) -> InstanceVariableOperatorWriteNode
4630
- # Create a new InstanceVariableOrWriteNode node
4631
- def InstanceVariableOrWriteNode: (name: Symbol, name_loc: Location, operator_loc: Location, value: Node, location: Location) -> InstanceVariableOrWriteNode
4632
- # Create a new InstanceVariableReadNode node
4633
- def InstanceVariableReadNode: (name: Symbol, location: Location) -> InstanceVariableReadNode
4634
- # Create a new InstanceVariableTargetNode node
4635
- def InstanceVariableTargetNode: (name: Symbol, location: Location) -> InstanceVariableTargetNode
4636
- # Create a new InstanceVariableWriteNode node
4637
- def InstanceVariableWriteNode: (name: Symbol, name_loc: Location, value: Node, operator_loc: Location, location: Location) -> InstanceVariableWriteNode
4638
- # Create a new IntegerNode node
4639
- def IntegerNode: (flags: Integer, location: Location) -> IntegerNode
4640
- # Create a new InterpolatedMatchLastLineNode node
4641
- def InterpolatedMatchLastLineNode: (flags: Integer, opening_loc: Location, parts: Array[Node], closing_loc: Location, location: Location) -> InterpolatedMatchLastLineNode
4642
- # Create a new InterpolatedRegularExpressionNode node
4643
- def InterpolatedRegularExpressionNode: (flags: Integer, opening_loc: Location, parts: Array[Node], closing_loc: Location, location: Location) -> InterpolatedRegularExpressionNode
4644
- # Create a new InterpolatedStringNode node
4645
- def InterpolatedStringNode: (opening_loc: Location?, parts: Array[Node], closing_loc: Location?, location: Location) -> InterpolatedStringNode
4646
- # Create a new InterpolatedSymbolNode node
4647
- def InterpolatedSymbolNode: (opening_loc: Location?, parts: Array[Node], closing_loc: Location?, location: Location) -> InterpolatedSymbolNode
4648
- # Create a new InterpolatedXStringNode node
4649
- def InterpolatedXStringNode: (opening_loc: Location, parts: Array[Node], closing_loc: Location, location: Location) -> InterpolatedXStringNode
4650
- # Create a new KeywordHashNode node
4651
- def KeywordHashNode: (flags: Integer, elements: Array[Node], location: Location) -> KeywordHashNode
4652
- # Create a new KeywordRestParameterNode node
4653
- def KeywordRestParameterNode: (flags: Integer, name: Symbol?, name_loc: Location?, operator_loc: Location, location: Location) -> KeywordRestParameterNode
4654
- # Create a new LambdaNode node
4655
- def LambdaNode: (locals: Array[Symbol], operator_loc: Location, opening_loc: Location, closing_loc: Location, parameters: Node?, body: Node?, location: Location) -> LambdaNode
4656
- # Create a new LocalVariableAndWriteNode node
4657
- def LocalVariableAndWriteNode: (name_loc: Location, operator_loc: Location, value: Node, name: Symbol, depth: Integer, location: Location) -> LocalVariableAndWriteNode
4658
- # Create a new LocalVariableOperatorWriteNode node
4659
- def LocalVariableOperatorWriteNode: (name_loc: Location, operator_loc: Location, value: Node, name: Symbol, operator: Symbol, depth: Integer, location: Location) -> LocalVariableOperatorWriteNode
4660
- # Create a new LocalVariableOrWriteNode node
4661
- def LocalVariableOrWriteNode: (name_loc: Location, operator_loc: Location, value: Node, name: Symbol, depth: Integer, location: Location) -> LocalVariableOrWriteNode
4662
- # Create a new LocalVariableReadNode node
4663
- def LocalVariableReadNode: (name: Symbol, depth: Integer, location: Location) -> LocalVariableReadNode
4664
- # Create a new LocalVariableTargetNode node
4665
- def LocalVariableTargetNode: (name: Symbol, depth: Integer, location: Location) -> LocalVariableTargetNode
4666
- # Create a new LocalVariableWriteNode node
4667
- def LocalVariableWriteNode: (name: Symbol, depth: Integer, name_loc: Location, value: Node, operator_loc: Location, location: Location) -> LocalVariableWriteNode
4668
- # Create a new MatchLastLineNode node
4669
- def MatchLastLineNode: (flags: Integer, opening_loc: Location, content_loc: Location, closing_loc: Location, unescaped: String, location: Location) -> MatchLastLineNode
4670
- # Create a new MatchPredicateNode node
4671
- def MatchPredicateNode: (value: Node, pattern: Node, operator_loc: Location, location: Location) -> MatchPredicateNode
4672
- # Create a new MatchRequiredNode node
4673
- def MatchRequiredNode: (value: Node, pattern: Node, operator_loc: Location, location: Location) -> MatchRequiredNode
4674
- # Create a new MatchWriteNode node
4675
- def MatchWriteNode: (call: CallNode, targets: Array[Node], location: Location) -> MatchWriteNode
4676
- # Create a new MissingNode node
4677
- def MissingNode: (location: Location) -> MissingNode
4678
- # Create a new ModuleNode node
4679
- def ModuleNode: (locals: Array[Symbol], module_keyword_loc: Location, constant_path: Node, body: Node?, end_keyword_loc: Location, name: Symbol, location: Location) -> ModuleNode
4680
- # Create a new MultiTargetNode node
4681
- def MultiTargetNode: (lefts: Array[Node], rest: Node?, rights: Array[Node], lparen_loc: Location?, rparen_loc: Location?, location: Location) -> MultiTargetNode
4682
- # Create a new MultiWriteNode node
4683
- def MultiWriteNode: (lefts: Array[Node], rest: Node?, rights: Array[Node], lparen_loc: Location?, rparen_loc: Location?, operator_loc: Location, value: Node, location: Location) -> MultiWriteNode
4684
- # Create a new NextNode node
4685
- def NextNode: (arguments: ArgumentsNode?, keyword_loc: Location, location: Location) -> NextNode
4686
- # Create a new NilNode node
4687
- def NilNode: (location: Location) -> NilNode
4688
- # Create a new NoKeywordsParameterNode node
4689
- def NoKeywordsParameterNode: (operator_loc: Location, keyword_loc: Location, location: Location) -> NoKeywordsParameterNode
4690
- # Create a new NumberedParametersNode node
4691
- def NumberedParametersNode: (maximum: Integer, location: Location) -> NumberedParametersNode
4692
- # Create a new NumberedReferenceReadNode node
4693
- def NumberedReferenceReadNode: (number: Integer, location: Location) -> NumberedReferenceReadNode
4694
- # Create a new OptionalKeywordParameterNode node
4695
- def OptionalKeywordParameterNode: (flags: Integer, name: Symbol, name_loc: Location, value: Node, location: Location) -> OptionalKeywordParameterNode
4696
- # Create a new OptionalParameterNode node
4697
- def OptionalParameterNode: (flags: Integer, name: Symbol, name_loc: Location, operator_loc: Location, value: Node, location: Location) -> OptionalParameterNode
4698
- # Create a new OrNode node
4699
- def OrNode: (left: Node, right: Node, operator_loc: Location, location: Location) -> OrNode
4700
- # Create a new ParametersNode node
4701
- def ParametersNode: (requireds: Array[Node], optionals: Array[Node], rest: Node?, posts: Array[Node], keywords: Array[Node], keyword_rest: Node?, block: BlockParameterNode?, location: Location) -> ParametersNode
4702
- # Create a new ParenthesesNode node
4703
- def ParenthesesNode: (body: Node?, opening_loc: Location, closing_loc: Location, location: Location) -> ParenthesesNode
4704
- # Create a new PinnedExpressionNode node
4705
- def PinnedExpressionNode: (expression: Node, operator_loc: Location, lparen_loc: Location, rparen_loc: Location, location: Location) -> PinnedExpressionNode
4706
- # Create a new PinnedVariableNode node
4707
- def PinnedVariableNode: (variable: Node, operator_loc: Location, location: Location) -> PinnedVariableNode
4708
- # Create a new PostExecutionNode node
4709
- def PostExecutionNode: (statements: StatementsNode?, keyword_loc: Location, opening_loc: Location, closing_loc: Location, location: Location) -> PostExecutionNode
4710
- # Create a new PreExecutionNode node
4711
- def PreExecutionNode: (statements: StatementsNode?, keyword_loc: Location, opening_loc: Location, closing_loc: Location, location: Location) -> PreExecutionNode
4712
- # Create a new ProgramNode node
4713
- def ProgramNode: (locals: Array[Symbol], statements: StatementsNode, location: Location) -> ProgramNode
4714
- # Create a new RangeNode node
4715
- def RangeNode: (flags: Integer, left: Node?, right: Node?, operator_loc: Location, location: Location) -> RangeNode
4716
- # Create a new RationalNode node
4717
- def RationalNode: (numeric: Node, location: Location) -> RationalNode
4718
- # Create a new RedoNode node
4719
- def RedoNode: (location: Location) -> RedoNode
4720
- # Create a new RegularExpressionNode node
4721
- def RegularExpressionNode: (flags: Integer, opening_loc: Location, content_loc: Location, closing_loc: Location, unescaped: String, location: Location) -> RegularExpressionNode
4722
- # Create a new RequiredKeywordParameterNode node
4723
- def RequiredKeywordParameterNode: (flags: Integer, name: Symbol, name_loc: Location, location: Location) -> RequiredKeywordParameterNode
4724
- # Create a new RequiredParameterNode node
4725
- def RequiredParameterNode: (flags: Integer, name: Symbol, location: Location) -> RequiredParameterNode
4726
- # Create a new RescueModifierNode node
4727
- def RescueModifierNode: (expression: Node, keyword_loc: Location, rescue_expression: Node, location: Location) -> RescueModifierNode
4728
- # Create a new RescueNode node
4729
- def RescueNode: (keyword_loc: Location, exceptions: Array[Node], operator_loc: Location?, reference: Node?, statements: StatementsNode?, consequent: RescueNode?, location: Location) -> RescueNode
4730
- # Create a new RestParameterNode node
4731
- def RestParameterNode: (flags: Integer, name: Symbol?, name_loc: Location?, operator_loc: Location, location: Location) -> RestParameterNode
4732
- # Create a new RetryNode node
4733
- def RetryNode: (location: Location) -> RetryNode
4734
- # Create a new ReturnNode node
4735
- def ReturnNode: (keyword_loc: Location, arguments: ArgumentsNode?, location: Location) -> ReturnNode
4736
- # Create a new SelfNode node
4737
- def SelfNode: (location: Location) -> SelfNode
4738
- # Create a new SingletonClassNode node
4739
- def SingletonClassNode: (locals: Array[Symbol], class_keyword_loc: Location, operator_loc: Location, expression: Node, body: Node?, end_keyword_loc: Location, location: Location) -> SingletonClassNode
4740
- # Create a new SourceEncodingNode node
4741
- def SourceEncodingNode: (location: Location) -> SourceEncodingNode
4742
- # Create a new SourceFileNode node
4743
- def SourceFileNode: (filepath: String, location: Location) -> SourceFileNode
4744
- # Create a new SourceLineNode node
4745
- def SourceLineNode: (location: Location) -> SourceLineNode
4746
- # Create a new SplatNode node
4747
- def SplatNode: (operator_loc: Location, expression: Node?, location: Location) -> SplatNode
4748
- # Create a new StatementsNode node
4749
- def StatementsNode: (body: Array[Node], location: Location) -> StatementsNode
4750
- # Create a new StringNode node
4751
- def StringNode: (flags: Integer, opening_loc: Location?, content_loc: Location, closing_loc: Location?, unescaped: String, location: Location) -> StringNode
4752
- # Create a new SuperNode node
4753
- def SuperNode: (keyword_loc: Location, lparen_loc: Location?, arguments: ArgumentsNode?, rparen_loc: Location?, block: Node?, location: Location) -> SuperNode
4754
- # Create a new SymbolNode node
4755
- def SymbolNode: (flags: Integer, opening_loc: Location?, value_loc: Location?, closing_loc: Location?, unescaped: String, location: Location) -> SymbolNode
4756
- # Create a new TrueNode node
4757
- def TrueNode: (location: Location) -> TrueNode
4758
- # Create a new UndefNode node
4759
- def UndefNode: (names: Array[Node], keyword_loc: Location, location: Location) -> UndefNode
4760
- # Create a new UnlessNode node
4761
- def UnlessNode: (keyword_loc: Location, predicate: Node, then_keyword_loc: Location?, statements: StatementsNode?, consequent: ElseNode?, end_keyword_loc: Location?, location: Location) -> UnlessNode
4762
- # Create a new UntilNode node
4763
- def UntilNode: (flags: Integer, keyword_loc: Location, closing_loc: Location?, predicate: Node, statements: StatementsNode?, location: Location) -> UntilNode
4764
- # Create a new WhenNode node
4765
- def WhenNode: (keyword_loc: Location, conditions: Array[Node], statements: StatementsNode?, location: Location) -> WhenNode
4766
- # Create a new WhileNode node
4767
- def WhileNode: (flags: Integer, keyword_loc: Location, closing_loc: Location?, predicate: Node, statements: StatementsNode?, location: Location) -> WhileNode
4768
- # Create a new XStringNode node
4769
- def XStringNode: (flags: Integer, opening_loc: Location, content_loc: Location, closing_loc: Location, unescaped: String, location: Location) -> XStringNode
4770
- # Create a new YieldNode node
4771
- def YieldNode: (keyword_loc: Location, lparen_loc: Location?, arguments: ArgumentsNode?, rparen_loc: Location?, location: Location) -> YieldNode
4772
- end
6
+ BACKEND: :CEXT | :FFI
7
+ VERSION: String
8
+
9
+ # Methods taking a Ruby source code string:
10
+
11
+ def self.parse: (
12
+ String source,
13
+ ?filepath: String,
14
+ ?line: Integer,
15
+ ?offset: Integer,
16
+ ?encoding: Encoding,
17
+ ?frozen_string_literal: bool,
18
+ ?verbose: bool,
19
+ ?scopes: Array[Array[Symbol]]
20
+ ) -> ParseResult[ProgramNode]
21
+
22
+ def self.lex: (
23
+ String source,
24
+ ?filepath: String,
25
+ ?line: Integer,
26
+ ?offset: Integer,
27
+ ?encoding: Encoding,
28
+ ?frozen_string_literal: bool,
29
+ ?verbose: bool,
30
+ ?scopes: Array[Array[Symbol]]
31
+ ) -> ParseResult[Array[[Token, Integer]]]
32
+
33
+ def self.lex_compat: (
34
+ String source,
35
+ ?filepath: String,
36
+ ?line: Integer,
37
+ ?offset: Integer,
38
+ ?encoding: Encoding,
39
+ ?frozen_string_literal: bool,
40
+ ?verbose: bool,
41
+ ?scopes: Array[Array[Symbol]]
42
+ ) -> ParseResult[Array[[[Integer, Integer], Symbol, String, untyped]]]
43
+
44
+ def self.parse_lex: (
45
+ String source,
46
+ ?filepath: String,
47
+ ?line: Integer,
48
+ ?offset: Integer,
49
+ ?encoding: Encoding,
50
+ ?frozen_string_literal: bool,
51
+ ?verbose: bool,
52
+ ?scopes: Array[Array[Symbol]]
53
+ ) -> ParseResult[[ProgramNode, Array[[Token, Integer]]]]
54
+
55
+ def self.dump: (
56
+ String source,
57
+ ?filepath: String,
58
+ ?line: Integer,
59
+ ?offset: Integer,
60
+ ?encoding: Encoding,
61
+ ?frozen_string_literal: bool,
62
+ ?verbose: bool,
63
+ ?scopes: Array[Array[Symbol]]
64
+ ) -> String
65
+
66
+ def self.parse_comments: (
67
+ String source,
68
+ ?filepath: String,
69
+ ?line: Integer,
70
+ ?offset: Integer,
71
+ ?encoding: Encoding,
72
+ ?frozen_string_literal: bool,
73
+ ?verbose: bool,
74
+ ?scopes: Array[Array[Symbol]]
75
+ ) -> Array[comment]
76
+
77
+ def self.parse_success?: (
78
+ String source,
79
+ ?filepath: String,
80
+ ?line: Integer,
81
+ ?offset: Integer,
82
+ ?encoding: Encoding,
83
+ ?frozen_string_literal: bool,
84
+ ?verbose: bool,
85
+ ?scopes: Array[Array[Symbol]]
86
+ ) -> bool
87
+
88
+ def self.parse_failure?: (
89
+ String source,
90
+ ?filepath: String,
91
+ ?line: Integer,
92
+ ?offset: Integer,
93
+ ?encoding: Encoding,
94
+ ?frozen_string_literal: bool,
95
+ ?verbose: bool,
96
+ ?scopes: Array[Array[Symbol]]
97
+ ) -> bool
98
+
99
+ def self.load: (
100
+ String source,
101
+ String serialized
102
+ ) -> ParseResult[ProgramNode]
103
+
104
+ def self.lex_ripper: (
105
+ String source
106
+ ) -> Array[[[Integer, Integer], Symbol, String, untyped]]
107
+
108
+ # Methods taking a path to a Ruby file:
109
+
110
+ def self.parse_file: (
111
+ String filepath,
112
+ ?line: Integer,
113
+ ?offset: Integer,
114
+ ?encoding: Encoding,
115
+ ?frozen_string_literal: bool,
116
+ ?verbose: bool,
117
+ ?scopes: Array[Array[Symbol]]
118
+ ) -> ParseResult[ProgramNode]
119
+
120
+ def self.lex_file: (
121
+ String filepath,
122
+ ?line: Integer,
123
+ ?offset: Integer,
124
+ ?encoding: Encoding,
125
+ ?frozen_string_literal: bool,
126
+ ?verbose: bool,
127
+ ?scopes: Array[Array[Symbol]]
128
+ ) -> ParseResult[Array[[Token, Integer]]]
129
+
130
+ def self.parse_lex_file: (
131
+ String filepath,
132
+ ?line: Integer,
133
+ ?offset: Integer,
134
+ ?encoding: Encoding,
135
+ ?frozen_string_literal: bool,
136
+ ?verbose: bool,
137
+ ?scopes: Array[Array[Symbol]]
138
+ ) -> ParseResult[[ProgramNode, Array[[Token, Integer]]]]
139
+
140
+ def self.dump_file: (
141
+ String filepath,
142
+ ?line: Integer,
143
+ ?offset: Integer,
144
+ ?encoding: Encoding,
145
+ ?frozen_string_literal: bool,
146
+ ?verbose: bool,
147
+ ?scopes: Array[Array[Symbol]]
148
+ ) -> String
149
+
150
+ def self.parse_file_comments: (
151
+ String filepath,
152
+ ?line: Integer,
153
+ ?offset: Integer,
154
+ ?encoding: Encoding,
155
+ ?frozen_string_literal: bool,
156
+ ?verbose: bool,
157
+ ?scopes: Array[Array[Symbol]]
158
+ ) -> Array[comment]
159
+
160
+ def self.parse_file_success?: (
161
+ String filepath,
162
+ ?line: Integer,
163
+ ?offset: Integer,
164
+ ?encoding: Encoding,
165
+ ?frozen_string_literal: bool,
166
+ ?verbose: bool,
167
+ ?scopes: Array[Array[Symbol]]
168
+ ) -> bool
169
+
170
+ def self.parse_file_failure?: (
171
+ String filepath,
172
+ ?line: Integer,
173
+ ?offset: Integer,
174
+ ?encoding: Encoding,
175
+ ?frozen_string_literal: bool,
176
+ ?verbose: bool,
177
+ ?scopes: Array[Array[Symbol]]
178
+ ) -> bool
179
+
180
+ interface _Stream
181
+ def gets: (?Integer integer) -> (String | nil)
182
+ end
183
+
184
+ def self.parse_stream: (
185
+ _Stream stream,
186
+ ?filepath: String,
187
+ ?line: Integer,
188
+ ?offset: Integer,
189
+ ?encoding: Encoding,
190
+ ?frozen_string_literal: bool,
191
+ ?verbose: bool,
192
+ ?scopes: Array[Array[Symbol]]
193
+ ) -> ParseResult[ProgramNode]
4773
194
  end