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